]> Pileus Git - ~andy/sunrise/blob - net-p2p/freenet/freenet-9999-r1.ebuild
net-p2p/freenet: Use db-je:3.3
[~andy/sunrise] / net-p2p / freenet / freenet-9999-r1.ebuild
1 # Copyright 1999-2008 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: $
4
5 EAPI=1
6 DATE=20080820
7 ESVN_REPO_URI="http://freenet.googlecode.com/svn/trunk/freenet"
8 ESVN_OPTIONS="--ignore-externals"
9 inherit eutils java-pkg-2 java-ant-2 multilib subversion
10
11 DESCRIPTION="An encrypted network without censorship"
12 HOMEPAGE="http://www.freenetproject.org/"
13 SRC_URI="http://dev.gentooexperimental.org/~tommy/distfiles/seednodes-${DATE}.fref
14         http://dev.gentoo.org/~tommy/distfiles/seednodes-${DATE}.fref"
15
16 LICENSE="GPL-2"
17 SLOT="0"
18 KEYWORDS=""
19 IUSE=""
20
21 CDEPEND="dev-db/db-je:3.3
22         dev-java/fec
23         dev-java/java-service-wrapper"
24 DEPEND=">=virtual/jdk-1.5
25         ${CDEPEND}"
26 RDEPEND=">=virtual/jre-1.5
27         x86? ( net-libs/fec )
28         net-libs/nativebiginteger
29         ${CDEPEND}"
30 PDEPEND="net-libs/NativeThread"
31 S="${WORKDIR}/${PN}"
32
33 RESTRICT="userpriv"
34 EANT_BUILD_TARGET="dist"
35 MY_FREENET_LATEST="-trunk"
36
37 pkg_setup() {
38         java-pkg-2_pkg_setup
39         enewgroup freenet
40         grep /opt/freenet /etc/passwd >/dev/null
41         if [ $? == "0" ]; then
42                 ewarn " "
43                 ewarn "Changing freenet homedir from /opt/freenet to /var/freenet"
44                 ewarn " "
45                 usermod -d /var/freenet freenet || die "Was not able to change freenet homedir from /opt/freenet to /var/freenet"
46         else
47                 enewuser freenet -1 -1 /var/freenet freenet
48         fi
49 }
50
51 src_unpack() {
52         subversion_src_unpack
53         ESVN_REPO_URI="http://freenet.googlecode.com/svn/trunk/apps/new_installer/res/unix/"
54         ESVN_OPTIONS="-N"
55         subversion_src_unpack
56         cd "${S}"
57         cp "${DISTDIR}"/seednodes-${DATE}.fref seednodes.fref
58         cp "${FILESDIR}"/wrapper1.conf wrapper.conf
59         sed -i -e 's:./bin/wrapper:/var/freenet/bin/wrapper:g' \
60         -e 's:./wrapper.conf:/var/freenet/wrapper.conf:g' \
61         -e 's:PIDDIR=".":PIDDIR="/var/freenet/":g' \
62         -e 's:#RUN_AS_USER=:RUN_AS_USER=freenet:g' run.sh || die "sed failed"
63         sed -ie "s:@custom@:${MY_FREENET_LATEST}:g" src/freenet/node/Version.java
64         epatch "${FILESDIR}"/ext.patch
65         sed -i -e "s/=lib/=$(get_libdir)/g" wrapper.conf || die "sed failed"
66         mkdir -p lib
67         cd lib
68         java-pkg_jar-from db-je-3.3
69         java-pkg_jar-from java-service-wrapper
70         java-pkg_jar-from fec
71 }
72
73 src_install() {
74         mv lib/freenet-cvs-snapshot.jar freenet.jar
75         java-pkg_dojar freenet.jar
76         if has_version =sys-apps/baselayout-2*; then
77                 doinitd "${FILESDIR}"/freenet
78         else
79                 newinitd "${FILESDIR}"/freenet.old freenet
80         fi
81         insinto /var/freenet
82         doins wrapper.conf run.sh seednodes.fref
83         dodir /var/freenet/bin
84         dosym /usr/bin/wrapper /var/freenet/bin/wrapper
85         dodir /var/freenet/$(get_libdir)
86         dosym ../../../usr/$(get_libdir)/java-service-wrapper/libwrapper.so /var/freenet/$(get_libdir)/libwrapper.so
87         dosym ../../../usr/$(get_libdir)/libNativeThread.so /var/freenet/$(get_libdir)/libNativeThread.so
88         use x86 && dosym ../../../usr/$(get_libdir)/libfec8so /var/freenet/$(get_libdir)/libfec8.so
89         use x86 && dosym ../../../usr/$(get_libdir)/libfec16so /var/freenet/$(get_libdir)/libfec16.so
90         fperms +x /var/freenet/run.sh
91 }
92
93 pkg_postinst () {
94         elog "1. Start freenet with /etc/init.d/freenet start."
95         elog "2. Open localhost:8888 in your browser for the web interface."
96         elog " "
97         elog "If you dont know trusted people running freenet,"
98         elog "enable opennet (\"insecure mode\") on the config page to get started."
99         elog " "
100         chown freenet:freenet /var/freenet
101         if [[ -e /opt/freenet/freenet.ini ]] && ! [[ -e /var/freenet/freenet.ini ]]; then
102                 ewarn " "
103                 ewarn "Please move freenet to the new location with the following command:"
104                 ewarn "         mv /opt/freenet /var/freenet"
105                 ewarn " "
106         fi
107 }
108
109 pkg_postrm() {
110         if [ -z has_version ]; then
111                 elog "If you dont want to use freenet any more"
112                 elog "and dont want to keep your identity/other stuff"
113                 elog "remember to do 'rm -rf /opt/freenet' to remove everything"
114         fi
115 }