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