# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils DESCRIPTION="Retroshare is IM with encryption, filesharing and the possibility to exchange notes." HOMEPAGE="http://retroshare.sf.net/" SRC_URI="http://mesh.dl.sourceforge.net/sourceforge/retroshare/rs-core-v0.3.0-pr8-src.tgz\ http://www.lunamutt.com/retroshare/openssl-0.9.7g-xpgp-0.1c.tgz\ http://kadc.sourceforge.net/files/KadC-02Aug06.tgz\ !no-qtgui? ( http://puzzle.dl.sourceforge.net/sourceforge/retroshare/Qt-GUI-v107-rs0.3.0-pr8.tgz )" LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86" IUSE="no-qtgui" RESTRICT="strip" DEPEND="media-libs/freetype \ x11-libs/libXinerama \ dev-libs/libxml2 \ x11-libs/libXft \ x11-libs/libXdmcp \ x11-libs/libX11 \ x11-libs/libXrender \ dev-libs/expat \ sys-libs/zlib \ x11-libs/libXau \ x11-libs/libXext \ !no-qtgui? ( >=x11-libs/qt-4.2.2 )" RDEPEND="${DEPEND}" S="${WORKDIR}/rs-v0.3.0-pr8/src" src_unpack() { unpack ${A} #this assumes config chooses linux-elf!! cd ${WORKDIR}/openssl-0.9.7g-xpgp-0.1c sed -i "s|-O3 -fomit-frame-pointer -m486|${CFLAGS}|" Configure || die "sed failed" cd ${WORKDIR}/KadC sed -i "s:DEBUG = -g:DEBUG = ${CFLAGS}:" Makefile || die "sed failed" sed -i 's:PROF = -pg:PROF = :' Makefile || die "sed failed" cd ${S} sed -i 's:Win:Linux:' make.opt || die "sed failed" sed -i "s:#SSL_DIR=/home/xxx/prog/src/openssl-0.9.7g-xpgp-0.1c:SSL_DIR=${WORKDIR}/openssl-0.9.7g-xpgp-0.1c:" make.opt || die "sed failed" sed -i "s:#KADC_DIR=/home/xxx/prog/src/KadC:KADC_DIR=${WORKDIR}/KadC:" make.opt || die "sed failed" sed -i 's:-lfltk::' make.opt || die "sed failed" sed -i 's:-lKadC:-L$(KADC_DIR) -lKadC:' make.opt || die "sed failed" sed -i "s:CFLAGS = -Wall -g:CFLAGS = ${CFLAGS} -Wall:" make.opt || die "sed CFLAGS failed" if use !no-qtgui ; then einfo "Fix broken Generate button ;)" cd ${WORKDIR}/Qt-GUI-v107/src/gui sed -i 's:QSize(330, 501):QSize(330, 541):' StartDialog.cpp fi } src_compile() { einfo 1. build patched openssl cd ${WORKDIR}/openssl-0.9.7g-xpgp-0.1c #Usage: Configure [no- ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-engine] [no-hw-xxx|no-hw] # [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-dso] [no-krb5] [386] # [[no-]fips] [debug] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] # [--test-sanity] os/compiler[:flags] ./config || die "Config failed" make depend || die "make depend failed for SSL" emake || die "Emake failed for SSL" einfo 2. build KadC cd ${WORKDIR}/KadC make || die "Emake of KadC failed" ln -s KadC.a libKadC.a einfo 3. build RetroShare cd ${S}/pqi emake || die "make of partial libretroshare.a failed" cd .. emake || die "emake of retroshare failed" if use !no-qtgui ; then einfo 4. build Qt GUI cd ${WORKDIR}/Qt-GUI-v107/src/ qmake RetroShare.pro || die "qmake failed for qtgui" #qmake gives us the makefile, so wie cant patch in src_unpack cat Makefile| grep -v "CFLAGS =" | grep -v "CXXFLAGS ="| grep -v "LFLAGS =" > Makefile.tmp echo "CFLAGS = ${CFLAGS} -D_REENTRANT -Wall -W \$(DEFINES)" > Makefile echo "CXXFLAGS = ${CXXFLAGS} -D_REENTRANT -Wall -W \$(DEFINES)" >> Makefile echo "LFLAGS = ${LDFLAGS}" >> Makefile echo "RSLIBS = -L${S}/lib -lretroshare -L${WORKDIR}/KadC -lKadC" >> Makefile echo "SSLLIBS = -L${WORKDIR}/openssl-0.9.7g-xpgp-0.1c -lssl -lcrypto" >> Makefile cat Makefile.tmp >> Makefile sed -i "s:LIBS = \$(SUBLIBS):LIBS = \$(SUBLIBS) \$(RSLIBS) \$(SSLLIBS):" Makefile || die "sed failed" emake || die "emake of qtgui failed" fi } src_install() { cd ${S}/rsiface dobin retroshare-nogui einfo retroshare-nogui installed to /usr/bin/retroshare-nogui if use !no-qtgui; then cd ${WORKDIR}/Qt-GUI-v107/src/ dobin RetroShare insinto /usr/share/icons/hicolor/16x16/apps/ doins gui/images/RetroShare16.png einfo type RetroShare to start fi }