net-p2p/retroshare: version bump
authorSergey Popov <pinkbyte@gentoo.org>
Tue, 6 Dec 2016 12:28:18 +0000 (15:28 +0300)
committerSergey Popov <pinkbyte@gentoo.org>
Tue, 6 Dec 2016 12:30:31 +0000 (15:30 +0300)
Implement optional(enabled by default) 'gui' USE-flag:
now it is possible to build only CLI version of RetroShare.
Rearrange dependencies, thanks to Gioacchino Mazzurco
and Amadeusz Żołnowski. Sync live ebuild with this changes.

Reported-by: Gioacchino Mazzurco <gio@eigenlab.org>
Gentoo-Bug: 593718

Package-Manager: portage-2.3.2

net-p2p/retroshare/Manifest
net-p2p/retroshare/metadata.xml
net-p2p/retroshare/retroshare-0.6.1.ebuild [new file with mode: 0644]
net-p2p/retroshare/retroshare-0.6.9999.ebuild

index 376f948fa083a0452b2a6a8b4bc3bda2886fcd35..b6198d91afd1118a65dcb3bc92983e350add2663 100644 (file)
@@ -1,2 +1,3 @@
 DIST retroshare-0.6.0.tar.gz 17436205 SHA256 50b9157bbe407aaefcbf9af1f29392e63148dc060bf78a3b200c9bc09998cf7c SHA512 794dacf1205a3c54973a7e34b6bd59fe88e9820677df182aaea37cfa90b90f548cd762b1243c25138f1b08ce67adf730c2f7b1cbfb1d97185eacabfd60f82374 WHIRLPOOL ef9b2222f84b4ecd4ef1f515b4cdce8362cb56f77e4d223ba1960d5131a1bed1bae816f4715a28f1b8ed36a969c89aad86ae32d95234bf54ad46b40b4e568902
+DIST retroshare-0.6.1.tar.gz 18002032 SHA256 4ffbb6c61538f80d0f667c2a155c5eac38b0722a3e8d4f1dc1487d10087cfe42 SHA512 911c57a8c4bb8963043988e4aef626b3b411f74f3258a938fe893b96e43aedaf880dc7de1a5efda4a447e4857075ba10f5030f7d83f63b62fed1b1fddcfdfe80 WHIRLPOOL 000737cfa3e7568a5984d9a3bbde9d772b965c1be183e9d510e9114f3212e0499c8383ee1cc040b4ccf2e33d28b2b06ac63f7851a38c7447b6d97f5cec81649f
 DIST retroshare_0.5.5-0.7068.tar.gz 11899395 SHA256 772b0d7916137e81fc0f5ea14f0a8fa70d3d7acb701ca0b0c1c66018f2255650 SHA512 51caeca54c6b6ce6ec049d3004301a74db5bb5dc2390c769486429ca0db4e45e2d8eba98c3f9ea99628c1a2452d71c8460ea4d3b3c103e321d3459211767bc1d WHIRLPOOL f6c8a7323be84d79975e970629f5bd457487cac6a061bc6817da328ff1de03a8d3fab98ab3cf4fba0628f239e09d8f8da4c14587764689a23193bbda22419e88
index 0ced479450c929cd986812757efac55bc065629b..52a262e550ba91e7fc790c908237f21b40f122c3 100644 (file)
@@ -17,6 +17,7 @@
        <use>
                <flag name="cli">Enables the CLI version of RetroShare</flag>
                <flag name="feedreader">Enables the Feedreader plugin</flag>
+               <flag name="gui">Enables the GUI version of RetroShare</flag>
                <flag name="qt4">Enables the GUI using qt4</flag>
                <flag name="links-cloud">Enables LinkClouds plugin</flag>
                <flag name="voip">Enables VOIP plugin</flag>
diff --git a/net-p2p/retroshare/retroshare-0.6.1.ebuild b/net-p2p/retroshare/retroshare-0.6.1.ebuild
new file mode 100644 (file)
index 0000000..aadf420
--- /dev/null
@@ -0,0 +1,168 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit eutils gnome2-utils qmake-utils versionator
+
+DESCRIPTION="P2P private sharing application"
+HOMEPAGE="http://retroshare.net"
+SRC_URI="https://github.com/RetroShare/RetroShare/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+# pegmarkdown can also be used with MIT
+LICENSE="GPL-2 GPL-3 Apache-2.0 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="cli feedreader +gui qt4 +qt5 voip"
+REQUIRED_USE="
+       || ( cli gui )
+       gui? ( ^^ ( qt4 qt5 ) )
+       cli? ( ^^ ( qt4 qt5 ) )
+       feedreader? ( gui )
+       voip? ( gui )"
+
+RDEPEND="
+       app-arch/bzip2
+       dev-db/sqlcipher
+       dev-libs/openssl:0
+       gnome-base/libgnome-keyring
+       net-libs/libmicrohttpd
+       net-libs/libupnp
+       sys-libs/zlib
+       feedreader? (
+               dev-libs/libxml2
+               dev-libs/libxslt
+               net-misc/curl
+       )
+       qt4? (
+               gui? (
+                       dev-qt/qtgui:4
+                       x11-libs/libX11
+                       x11-libs/libXScrnSaver
+               )
+               dev-qt/qtcore:4
+       )
+       qt5? (
+               gui? (
+                       dev-qt/qtwidgets:5
+                       x11-libs/libX11
+                       x11-libs/libXScrnSaver
+               )
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtmultimedia:5
+               dev-qt/qtnetwork:5
+               dev-qt/qtprintsupport:5
+               dev-qt/qtscript:5
+               dev-qt/qtx11extras:5
+               dev-qt/qtxml:5
+       )
+       voip? (
+               qt5? (
+                       <media-libs/opencv-3.0.0[-qt4]
+               )
+               qt4? (
+                       <media-libs/opencv-3.0.0
+                       dev-qt/qt-mobility[multimedia]
+               )
+               media-libs/speex
+               virtual/ffmpeg[encode]
+       )"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+"
+
+S="${WORKDIR}/RetroShare-${PV}"
+
+src_prepare() {
+       local dir
+
+       sed -i \
+               -e "s|/usr/lib/retroshare/extensions6/|/usr/$(get_libdir)/${PN}/extensions6/|" \
+               libretroshare/src/rsserver/rsinit.cc \
+               || die "sed on libretroshare/src/rsserver/rsinit.cc failed"
+
+       rs_src_dirs="libbitdht/src openpgpsdk/src libresapi/src libretroshare/src supportlibs/pegmarkdown"
+       use cli && rs_src_dirs="${rs_src_dirs} retroshare-nogui/src"
+       use feedreader && rs_src_dirs="${rs_src_dirs} plugins/FeedReader"
+       use gui && rs_src_dirs="${rs_src_dirs} retroshare-gui/src"
+       use voip && rs_src_dirs="${rs_src_dirs} plugins/VOIP"
+
+       # Force linking to sqlcipher ONLY
+       sed -i \
+               -e '/isEmpty(SQLCIPHER_OK) {/aerror(libsqlcipher not found)' \
+               retroshare-gui/src/retroshare-gui.pro \
+               retroshare-nogui/src/retroshare-nogui.pro || die 'sed on retroshare-gui/src/retroshare-gui.pro failed'
+
+       # Avoid openpgpsdk false dependency on qtgui
+       sed -i '2iQT -= gui' openpgpsdk/src/openpgpsdk.pro
+
+       eapply_user
+}
+
+src_configure() {
+       for dir in ${rs_src_dirs} ; do
+               pushd "${S}/${dir}" >/dev/null || die
+               use qt4 && eqmake4
+               use qt5 && eqmake5
+               popd >/dev/null || die
+       done
+}
+
+src_compile() {
+       local dir
+
+       for dir in ${rs_src_dirs} ; do
+               emake -C "${dir}"
+       done
+
+       unset rs_src_dirs
+}
+
+src_install() {
+       local i
+       local extension_dir="/usr/$(get_libdir)/${PN}/extensions6/"
+
+       use cli && dobin retroshare-nogui/src/RetroShare06-nogui
+       use gui && dobin retroshare-gui/src/RetroShare06
+
+       exeinto "${extension_dir}"
+       use feedreader && doexe plugins/FeedReader/*.so*
+       use voip && doexe plugins/VOIP/*.so*
+
+       insinto /usr/share/RetroShare06
+       doins libbitdht/src/bitdht/bdboot.txt
+
+       doins -r libresapi/src/webui
+
+       dodoc README.md
+       make_desktop_entry RetroShare06
+       for i in 24 48 64 128 ; do
+               doicon -s ${i} "data/${i}x${i}/apps/retroshare06.png"
+       done
+}
+
+pkg_preinst() {
+       local ver
+       for ver in ${REPLACING_VERSIONS}; do
+               if ! version_is_at_least 0.5.9999 ${ver}; then
+                       elog "You are upgrading from Retroshare 0.5.* to ${PV}"
+                       elog "Version 0.6.* is backward-incompatible with 0.5 branch"
+                       elog "and clients with 0.6.* can not connect to clients that have 0.5.*"
+                       elog "It's recommended to drop all your configuration and either"
+                       elog "generate a new certificate or import existing from a backup"
+                       break
+               fi
+       done
+       gnome2_icon_savelist
+}
+
+pkg_postinst() {
+       gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+       gnome2_icon_cache_update
+}
index 053fb7063ceb8ae10cd1d46483e4bcb13909be18..7137ccbdc803c8bc55b890d745a562786b694c38 100644 (file)
@@ -8,18 +8,20 @@ EGIT_REPO_URI="https://github.com/RetroShare/RetroShare.git"
 inherit eutils git-r3 gnome2-utils qmake-utils versionator
 
 DESCRIPTION="P2P private sharing application"
-HOMEPAGE="http://retroshare.sourceforge.net"
+HOMEPAGE="http://retroshare.net"
 
 # pegmarkdown can also be used with MIT
 LICENSE="GPL-2 GPL-3 Apache-2.0 LGPL-2.1"
 SLOT="0"
 KEYWORDS=""
 
-IUSE="cli feedreader qt4 +qt5 voip"
-REQUIRED_USE="^^ ( qt4 qt5 )
-       || ( cli qt4 qt5 )
-       feedreader? ( || ( qt4 qt5 ) )
-       voip? ( || ( qt4 qt5 ) )"
+IUSE="cli feedreader +gui qt4 +qt5 voip"
+REQUIRED_USE="
+       || ( cli gui )
+       gui? ( ^^ ( qt4 qt5 ) )
+       cli? ( ^^ ( qt4 qt5 ) )
+       feedreader? ( gui )
+       voip? ( gui )"
 
 RDEPEND="
        app-arch/bzip2
@@ -29,33 +31,31 @@ RDEPEND="
        net-libs/libmicrohttpd
        net-libs/libupnp
        sys-libs/zlib
-       cli? (
-               dev-libs/protobuf
-               net-libs/libssh[server]
-       )
        feedreader? (
                dev-libs/libxml2
                dev-libs/libxslt
                net-misc/curl
        )
        qt4? (
-               x11-libs/libX11
-               x11-libs/libXScrnSaver
-               dev-qt/designer:4
+               gui? (
+                       dev-qt/qtgui:4
+                       x11-libs/libX11
+                       x11-libs/libXScrnSaver
+               )
                dev-qt/qtcore:4
-               dev-qt/qtgui:4
        )
        qt5? (
-               x11-libs/libX11
-               x11-libs/libXScrnSaver
-               dev-qt/designer:5
+               gui? (
+                       dev-qt/qtwidgets:5
+                       x11-libs/libX11
+                       x11-libs/libXScrnSaver
+               )
                dev-qt/qtcore:5
                dev-qt/qtgui:5
                dev-qt/qtmultimedia:5
                dev-qt/qtnetwork:5
                dev-qt/qtprintsupport:5
                dev-qt/qtscript:5
-               dev-qt/qtwidgets:5
                dev-qt/qtx11extras:5
                dev-qt/qtxml:5
        )
@@ -65,15 +65,12 @@ RDEPEND="
                )
                qt4? (
                        <media-libs/opencv-3.0.0
-                       dev-qt/qtmultimedia:4
                        dev-qt/qt-mobility[multimedia]
                )
                media-libs/speex
                virtual/ffmpeg[encode]
        )"
 DEPEND="${RDEPEND}
-       qt4? ( dev-qt/qtcore:4 )
-       qt5? ( dev-qt/qtcore:5 )
        virtual/pkgconfig"
 
 src_prepare() {
@@ -87,8 +84,7 @@ src_prepare() {
        rs_src_dirs="libbitdht/src openpgpsdk/src libresapi/src libretroshare/src supportlibs/pegmarkdown"
        use cli && rs_src_dirs="${rs_src_dirs} retroshare-nogui/src"
        use feedreader && rs_src_dirs="${rs_src_dirs} plugins/FeedReader"
-       use qt4 && rs_src_dirs="${rs_src_dirs} retroshare-gui/src"
-       use qt5 && rs_src_dirs="${rs_src_dirs} retroshare-gui/src"
+       use gui && rs_src_dirs="${rs_src_dirs} retroshare-gui/src"
        use voip && rs_src_dirs="${rs_src_dirs} plugins/VOIP"
 
        # Force linking to sqlcipher ONLY
@@ -97,15 +93,18 @@ src_prepare() {
                retroshare-gui/src/retroshare-gui.pro \
                retroshare-nogui/src/retroshare-nogui.pro || die 'sed on retroshare-gui/src/retroshare-gui.pro failed'
 
+       # Avoid openpgpsdk false dependency on qtgui
+       sed -i '2iQT -= gui' openpgpsdk/src/openpgpsdk.pro
+
        eapply_user
 }
 
 src_configure() {
        for dir in ${rs_src_dirs} ; do
-               pushd "${S}/${dir}" 2>/dev/null || die
+               pushd "${S}/${dir}" >/dev/null || die
                use qt4 && eqmake4
                use qt5 && eqmake5
-               popd 2>/dev/null || die
+               popd >/dev/null || die
        done
 }
 
@@ -124,8 +123,7 @@ src_install() {
        local extension_dir="/usr/$(get_libdir)/${PN}/extensions6/"
 
        use cli && dobin retroshare-nogui/src/RetroShare06-nogui
-       use qt4 && dobin retroshare-gui/src/RetroShare06
-       use qt5 && dobin retroshare-gui/src/RetroShare06
+       use gui && dobin retroshare-gui/src/RetroShare06
 
        exeinto "${extension_dir}"
        use feedreader && doexe plugins/FeedReader/*.so*
@@ -144,6 +142,7 @@ src_install() {
 }
 
 pkg_preinst() {
+       local ver
        for ver in ${REPLACING_VERSIONS}; do
                if ! version_is_at_least 0.5.9999 ${ver}; then
                        elog "You are upgrading from Retroshare 0.5.* to ${PV}"