Pārlūkot izejas kodu

Added psi with added cmake flag to draw detailed version

Sergey Ilinykh 5 gadi atpakaļ
vecāks
revīzija
a866043050
2 mainītis faili ar 198 papildinājumiem un 0 dzēšanām
  1. 31 0
      net-im/psi/metadata.xml
  2. 167 0
      net-im/psi/psi-9999.ebuild

+ 31 - 0
net-im/psi/metadata.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>rion4ik@gmail.com</email>
+		<name>Sergey Ilinykh</name>
+	</maintainer>
+	<maintainer type="project">
+		<email>proxy-maint@gentoo.org</email>
+		<name>Proxy Maintainers</name>
+	</maintainer>
+	<longdescription>
+		Psi is a multi-platform XMPP client based on Qt and supports a wide range of XMPP extensions. It is extremely configurable and extendable with plugins.
+	</longdescription>
+	<use>
+		<flag name="aspell">Enable spellchecking using <pkg>app-text/aspell</pkg></flag>
+		<flag name="enchant">Enable spellchecking using <pkg>app-text/enchant</pkg></flag>
+		<flag name="extras">Enable Psi+ patchset</flag>
+		<flag name="hunspell">Enable spellchecking using <pkg>app-text/hunspell</pkg></flag>
+		<flag name="iconsets">Install additional iconsets, some of them have no clear licensing</flag>
+		<flag name="keyring">Enable storing password in system keyring manager</flag>
+		<flag name="webengine">Enable themed, html-based chatlogs using <pkg>dev-qt/qtwebengine</pkg></flag>
+		<flag name="webkit">Enable themed, html-based chatlogs using <pkg>dev-qt/qtwebkit</pkg></flag>
+		<flag name="whiteboarding">Enable experimental interactive SVG drawing</flag>
+		<flag name="xscreensaver">Use X screensaver protocol extension to monitor idle/active status based on mouse/keyboard events</flag>
+	</use>
+	<upstream>
+		<remote-id type="github">psi-im/psi</remote-id>
+		<remote-id type="sourceforge">psi</remote-id>
+	</upstream>
+</pkgmetadata>

+ 167 - 0
net-im/psi/psi-9999.ebuild

@@ -0,0 +1,167 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PLOCALES="be bg ca cs de el en eo es et fa fi fr he hu it ja kk mk nl pl pt_BR pt ru sk sl sr@latin sv sw uk ur_PK vi zh_CN zh_TW"
+PLOCALE_BACKUP="en"
+
+inherit git-r3 cmake l10n qmake-utils xdg
+
+DESCRIPTION="Qt XMPP client"
+HOMEPAGE="https://psi-im.org"
+
+PSI_URI="https://github.com/psi-im"
+PSI_PLUS_URI="https://github.com/psi-plus"
+EGIT_REPO_URI="${PSI_URI}/${PN}.git"
+PSI_LANGS_URI="${PSI_URI}/psi-l10n.git"
+PSI_PLUS_LANGS_URI="${PSI_PLUS_URI}/psi-plus-l10n.git"
+EGIT_MIN_CLONE_TYPE="single"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="aspell crypt dbus debug doc enchant extras +hunspell iconsets keyring webengine webkit xscreensaver"
+
+REQUIRED_USE="
+	?? ( aspell enchant hunspell )
+	iconsets? ( extras )
+"
+
+BDEPEND="
+	dev-qt/linguist-tools:5
+	virtual/pkgconfig
+	doc? ( app-doc/doxygen )
+	extras? ( >=sys-devel/qconf-2.4 )
+"
+DEPEND="
+	app-crypt/qca:2[ssl]
+	dev-qt/qtconcurrent:5
+	dev-qt/qtcore:5
+	dev-qt/qtgui:5
+	dev-qt/qtmultimedia:5
+	dev-qt/qtnetwork:5
+	dev-qt/qtsql:5[sqlite]
+	dev-qt/qtsvg:5
+	dev-qt/qtwidgets:5
+	dev-qt/qtx11extras:5
+	dev-qt/qtxml:5
+	net-dns/libidn:0
+	net-libs/http-parser:=
+	sys-libs/zlib[minizip]
+	x11-libs/libX11
+	x11-libs/libxcb
+	aspell? ( app-text/aspell )
+	dbus? ( dev-qt/qtdbus:5 )
+	enchant? ( app-text/enchant:2 )
+	hunspell? ( app-text/hunspell:= )
+	keyring? ( dev-libs/qtkeychain:= )
+	webengine? (
+		dev-qt/qtwebchannel:5
+		dev-qt/qtwebengine:5[widgets]
+		net-libs/http-parser
+	)
+	webkit? ( dev-qt/qtwebkit:5 )
+"
+RDEPEND="${DEPEND}
+	dev-qt/qtimageformats
+	crypt? ( app-crypt/qca[gpg] )
+"
+
+RESTRICT="test iconsets? ( bindist )"
+
+pkg_setup() {
+	MY_PN=psi
+	if use extras; then
+		MY_PN=psi-plus
+		ewarn "You're about to build patched version of Psi called Psi+."
+		ewarn "It has new nice features not yet included to Psi."
+		ewarn "Take a look at homepage for more info: http://psi-plus.com/"
+
+		if use iconsets; then
+			ewarn
+			ewarn "Some artwork is from open source projects, but some is provided 'as-is'"
+			ewarn "and has not clear licensing."
+			ewarn "Possibly this build is not redistributable in some countries."
+		fi
+
+		EGIT_REPO_URI="${PSI_PLUS_URI}/${MY_PN}-snapshots.git"
+	fi
+}
+
+src_unpack() {
+	git-r3_src_unpack
+
+	# fetch translations
+	unset EGIT_BRANCH EGIT_COMMIT
+	EGIT_REPO_URI=$(usex extras "${PSI_PLUS_LANGS_URI}" "${PSI_LANGS_URI}")
+	EGIT_CHECKOUT_DIR="${WORKDIR}/psi-l10n"
+	git-r3_src_unpack
+
+	if use iconsets; then
+		unset EGIT_BRANCH EGIT_COMMIT
+		EGIT_CHECKOUT_DIR="${WORKDIR}/resources" \
+		EGIT_REPO_URI="${PSI_URI}/resources.git" \
+		git-r3_src_unpack
+	fi
+}
+
+src_prepare() {
+	cmake_src_prepare
+	if use iconsets; then
+		cp -a "${WORKDIR}/resources/iconsets" "${S}" || die "failed to copy additional iconsets"
+	fi
+}
+
+src_configure() {
+	local chattype=basic
+	use webengine && chattype=webengine
+	use webkit && chattype=webkit
+
+	local mycmakeargs=(
+		-DPRODUCTION=OFF
+		-DUSE_ASPELL=$(usex aspell)
+		-DUSE_ENCHANT=$(usex enchant)
+		-DUSE_HUNSPELL=$(usex hunspell)
+		-DUSE_DBUS=$(usex dbus)
+		-DINSTALL_PLUGINS_SDK=1
+		-DUSE_KEYCHAIN=$(usex keyring)
+		-DCHAT_TYPE=$chattype
+		-DUSE_XSS=$(usex xscreensaver)
+		-DPSI_PLUS=$(usex extras)
+	)
+	cmake_src_configure
+}
+
+src_compile() {
+	cmake_src_compile
+	use doc && emake -C doc api_public
+}
+
+src_install() {
+	cmake_src_install
+
+	# this way the docs will be installed in the standard gentoo dir
+	rm "${ED}"/usr/share/${MY_PN}/{COPYING,README.html} || die "doc files set seems to have changed"
+	newdoc iconsets/roster/README README.roster
+	newdoc iconsets/system/README README.system
+	newdoc certs/README README.certs
+	dodoc README.html
+
+	use doc && HTML_DOCS=( doc/api/. )
+	einstalldocs
+
+	# install translations
+	local mylrelease="$(qt5_get_bindir)"/lrelease
+	cd "${WORKDIR}/psi-l10n" || die
+	insinto /usr/share/${MY_PN}
+	install_locale() {
+		"${mylrelease}" "translations/${PN}_${1}.ts" || die "lrelease ${1} failed"
+		doins "translations/${PN}_${1}.qm"
+	}
+	l10n_for_each_locale_do install_locale
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+	einfo "For GPG support make sure app-crypt/qca is compiled with gpg USE flag."
+}