123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- # Copyright 1999-2024 Gentoo Authors
- # Distributed under the terms of the GNU General Public License v2
- EAPI=8
- 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 plocale 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 iconsets? ( all-rights-reserved )"
- SLOT="0"
- #KEYWORDS=""
- IUSE="aspell dbus debug doc enchant extras +hunspell iconsets keyring qt6 webengine X"
- REQUIRED_USE="
- ?? ( aspell enchant hunspell )
- iconsets? ( extras )
- "
- BDEPEND="
- !qt6? ( dev-qt/linguist-tools:5 )
- qt6? ( dev-qt/qttools:6[linguist] )
- virtual/pkgconfig
- doc? ( app-text/doxygen )
- "
- DEPEND="
- net-libs/http-parser:=
- net-libs/usrsctp
- sys-libs/zlib[minizip]
- aspell? ( app-text/aspell )
- enchant? ( app-text/enchant:2 )
- hunspell? ( app-text/hunspell:= )
- !qt6? (
- 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
- dbus? ( dev-qt/qtdbus:5 )
- keyring? ( dev-libs/qtkeychain:=[qt5] )
- webengine? (
- dev-qt/qtwebchannel:5
- dev-qt/qtwebengine:5[widgets]
- )
- )
- qt6? (
- >=dev-qt/qtbase-6.6:6[concurrent,dbus?,gui,icu,network,sqlite,widgets,X?,xml]
- >=dev-qt/qtsvg-6.6:6
- >=dev-qt/qtimageformats-6.6:6
- keyring? ( dev-libs/qtkeychain:=[qt6] )
- webengine? (
- >=dev-qt/qtwebchannel-6.6:6
- >=dev-qt/qtwebengine-6.6:6[widgets]
- )
- )
- X? (
- x11-libs/libX11
- x11-libs/libxcb
- x11-libs/libXScrnSaver
- )
- "
- RDEPEND="${DEPEND}
- !qt6? ( dev-qt/qtimageformats:5 )
- qt6? ( dev-qt/qtimageformats:6 )
- "
- RESTRICT="test iconsets? ( bindist )"
- pkg_setup() {
- MY_PN=psi
- if use extras; then
- MY_PN=psi-plus
- einfo "You're about to build a branded version of Psi called Psi+."
- einfo "Psi+ patches were fully merged to Psi."
- einfo "The only difference is the name and some artwork."
- 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
- unset EGIT_BRANCH EGIT_COMMIT
- EGIT_CHECKOUT_DIR="${S}/iris/3rdparty/qca" \
- EGIT_REPO_URI="${PSI_URI}/qca.git" \
- 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 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=$(usex webengine webengine basic)
- -DUSE_XSS=$(usex X)
- -DUSE_X11=$(usex X)
- -DPSI_PLUS=$(usex extras)
- -DVERBOSE_PROGRAM_NAME=ON
- -DIRIS_BUNDLED_QCA=ON
- -DQT_DEFAULT_MAJOR_VERSION=$(usex qt6 6 5)
- )
- 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 qtbin=${EPREFIX}/usr/$(get_libdir)/qt$(usex qt6 6 5)/bin
- local mylrelease="$qtbin"/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"
- }
- plocale_for_each_locale install_locale
- }
|