]> Pileus Git - ~andy/sunrise/blob - net-p2p/freenet/freenet-9999-r1.ebuild
net-p2p/freenet: New upstream release + update live ebuild
[~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=20080928
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         dev-java/db4o"
25 DEPEND=">=virtual/jdk-1.5
26         ${CDEPEND}"
27 RDEPEND=">=virtual/jre-1.5
28         x86? ( net-libs/fec )
29         net-libs/nativebiginteger
30         ${CDEPEND}"
31 PDEPEND="net-libs/NativeThread"
32 S="${WORKDIR}/${PN}"
33
34 RESTRICT="userpriv"
35 EANT_BUILD_TARGET="dist"
36 MY_FREENET_LATEST="-trunk"
37
38 pkg_setup() {
39         java-pkg-2_pkg_setup
40         enewgroup freenet
41         grep /opt/freenet /etc/passwd >/dev/null
42         if [ $? == "0" ]; then
43                 ewarn " "
44                 ewarn "Changing freenet homedir from /opt/freenet to /var/freenet"
45                 ewarn " "
46                 usermod -d /var/freenet freenet || die "Was not able to change freenet homedir from /opt/freenet to /var/freenet"
47         else
48                 enewuser freenet -1 -1 /var/freenet freenet
49         fi
50 }
51
52 src_unpack() {
53         subversion_src_unpack
54         ESVN_REPO_URI="http://freenet.googlecode.com/svn/trunk/apps/new_installer/res/unix/"
55         ESVN_OPTIONS="-N"
56         subversion_src_unpack
57         cd "${S}"
58         cp "${DISTDIR}"/seednodes-${DATE}.fref seednodes.fref
59         cp "${FILESDIR}"/wrapper1.conf wrapper.conf
60         sed -i -e 's:./bin/wrapper:/usr/bin/wrapper:g' \
61         -e 's:./wrapper.conf:/etc/freenet-wrapper.conf:g' \
62         -e 's:PIDDIR=".":PIDDIR="/var/freenet/":g' \
63         -e 's:#RUN_AS_USER=:RUN_AS_USER=freenet:g' run.sh || die "sed failed"
64         head -n 133 run.sh >run1.sh
65         tail -n 444 run.sh >>run1.sh
66         mv run1.sh run.sh
67         subversion_wc_info
68         sed -ie "s:@custom@:${ESVN_WC_REVISION}:g" src/freenet/node/Version.java
69         epatch "${FILESDIR}"/ext.patch
70         sed -i -e "s/=lib/=$(get_libdir)/g" wrapper.conf || die "sed failed"
71         mkdir -p lib
72         cd lib
73         java-pkg_jar-from db-je-3.3
74         java-pkg_jar-from java-service-wrapper
75         java-pkg_jar-from fec
76         java-pkg_jar-from db4o
77 }
78
79 src_install() {
80         mv lib/freenet-cvs-snapshot.jar freenet.jar
81         java-pkg_dojar freenet.jar
82         if has_version =sys-apps/baselayout-2*; then
83                 doinitd "${FILESDIR}"/freenet
84         else
85                 newinitd "${FILESDIR}"/freenet.old freenet
86         fi
87         insinto /etc
88         newins wrapper.conf freenet-wrapper.conf
89         insinto /var/freenet
90         doins run.sh seednodes.fref
91         dodir /var/freenet/bin
92         dodir /var/freenet/$(get_libdir)
93         dosym ../../../usr/$(get_libdir)/java-service-wrapper/libwrapper.so /var/freenet/$(get_libdir)/libwrapper.so
94         dosym ../../../usr/$(get_libdir)/libNativeThread.so /var/freenet/$(get_libdir)/libNativeThread.so
95         use x86 && dosym ../../../usr/$(get_libdir)/libfec8.so /var/freenet/$(get_libdir)/libfec8.so
96         use x86 && dosym ../../../usr/$(get_libdir)/libfec16.so /var/freenet/$(get_libdir)/libfec16.so
97         fperms +x /var/freenet/run.sh
98 }
99
100 pkg_postinst () {
101         elog "1. Start freenet with /etc/init.d/freenet start."
102         elog "2. Open localhost:8888 in your browser for the web interface."
103         elog " "
104         elog "If you dont know trusted people running freenet,"
105         elog "enable opennet (\"insecure mode\") on the config page to get started."
106         elog " "
107         ewarn "The wrapper config file wrapper.conf has been moved to /etc/freenet-wrapper.conf."
108         ewarn "You can now edit it without the next update overwriting it."
109         elog " "
110         chown freenet:freenet /var/freenet
111         if [[ -e /opt/freenet/freenet.ini ]] && ! [[ -e /var/freenet/freenet.ini ]]; then
112                 ewarn " "
113                 ewarn "Please move freenet to the new location with the following command:"
114                 ewarn "         mv /opt/freenet /var/freenet"
115                 ewarn " "
116         fi
117 }
118
119 pkg_postrm() {
120         if [ -z has_version ]; then
121                 elog "If you dont want to use freenet any more"
122                 elog "and dont want to keep your identity/other stuff"
123                 elog "remember to do 'rm -rf /opt/freenet' to remove everything"
124         fi
125 }