]> Pileus Git - ~andy/sunrise/blob - net-p2p/freenet/freenet-9999.ebuild
net-p2p/freenet: New upstream release + update live ebuild
[~andy/sunrise] / net-p2p / freenet / freenet-9999.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=20080422
7 DATE2=20080330
8 ESVN_REPO_URI="http://freenet.googlecode.com/svn/trunk/freenet"
9 ESVN_OPTIONS="--ignore-externals"
10 inherit eutils java-pkg-2 java-ant-2 subversion
11
12 DESCRIPTION="An encrypted network without censorship"
13 HOMEPAGE="http://www.freenetproject.org/"
14 SRC_URI="http://dev.gentooexperimental.org/~tommy/seednodes-${DATE}.fref
15         http://dev.gentooexperimental.org/~tommy/wrapper-${DATE2}.conf"
16
17 LICENSE="GPL-2"
18 SLOT="0"
19 KEYWORDS="~amd64 ~x86"
20 IUSE=""
21
22 CDEPEND="dev-java/db-je:3.2
23         dev-java/fec
24         dev-java/java-service-wrapper"
25 DEPEND="dev-util/subversion
26         >=dev-java/sun-jdk-1.4
27         dev-java/ant
28         dev-util/subversion
29         ${CDEPEND}"
30 RDEPEND="x86? ( >=virtual/jre-1.4 )
31         amd64? ( >=virtual/jre-1.5 )
32         x86? ( net-libs/fec )
33         net-libs/nativebiginteger
34         ${CDEPEND}"
35 PDEPEND="net-libs/NativeThread"
36 S="${WORKDIR}/freenet"
37
38 RESTRICT="userpriv"
39 EANT_BUILD_TARGET="dist"
40 MY_FREENET_LATEST="-trunk"
41
42 pkg_setup() {
43         enewgroup freenet
44         enewuser freenet -1 -1 /opt/freenet freenet
45 }
46
47 src_unpack() {
48         subversion_src_unpack
49         cd "${S}"
50         svn -N co http://freenet.googlecode.com/svn/trunk/apps/new_installer/res/unix/ .
51         cp "${DISTDIR}"/seednodes-${DATE}.fref seednodes.fref
52         cp "${DISTDIR}"/wrapper-${DATE2}.conf wrapper.conf
53         sed -i -e 's:./bin/wrapper:/opt/freenet/bin/wrapper:g' \
54         -e 's:./wrapper.conf:/opt/freenet/wrapper.conf:g' \
55         -e 's:PIDDIR=".":PIDDIR="/opt/freenet/":g' \
56         -e 's:#RUN_AS_USER=:RUN_AS_USER=freenet:g' run.sh || die "sed failed"
57         sed -ie "s:@custom@:${MY_FREENET_LATEST}:g" src/freenet/node/Version.java
58         epatch "${FILESDIR}"/wrapper.conf.patch
59         epatch "${FILESDIR}"/ext.patch
60         use amd64 && sed -i -e 's/=lib/=lib64/g' wrapper.conf
61         sed -i -e 's/=128/=2048/g' wrapper.conf
62         mkdir -p lib
63         cd lib
64         java-pkg_jar-from db-je-3.2
65         java-pkg_jar-from java-service-wrapper
66         java-pkg_jar-from fec
67 }
68
69 src_compile() {
70         #workaround for installed blackdown-jdk-1.4
71         #freenet does not compile with it
72         if has_version =dev-java/sun-jdk-1.4*; then
73                 GENTOO_VM="sun-jdk-1.4" java-pkg-2_src_compile
74         elif has_version =dev-java/sun-jdk-1.5*; then
75                 GENTOO_VM="sun-jdk-1.5" java-pkg-2_src_compile
76         elif has_version =dev-java/sun-jdk-1.6*; then
77                 GENTOO_VM="sun-jdk-1.6" java-pkg-2_src_compile
78         fi
79 }
80
81 src_install() {
82         mv lib/freenet-cvs-snapshot.jar freenet.jar
83         java-pkg_dojar freenet.jar
84         doinitd "${FILESDIR}"/freenet
85         insinto /opt/freenet
86         doins wrapper.conf run.sh seednodes.fref
87         dodir /opt/freenet/bin
88         dosym /usr/bin/wrapper /opt/freenet/bin/wrapper
89         dodir /opt/freenet/$(get_libdir)
90         dosym ../../../usr/$(get_libdir)/java-service-wrapper/libwrapper.so /opt/freenet/$(get_libdir)/libwrapper.so
91         fperms +x /opt/freenet/run.sh
92 }
93
94 pkg_postinst () {
95         elog "1. Start freenet with /etc/init.d/freenet start."
96         elog "2. Open localhost:8888 in your browser for the web interface."
97         elog
98         elog "If you dont know trusted people running freenet,"
99         elog "enable opennet (\"insecure mode\") on the config page to get started."
100         elog
101         if use amd64;then
102                 if has_version =dev-java/blackdown-jdk-1.4*;then
103                         elog "Freenet does not run with 64bit blackdown-jdk,"
104                         elog "please make sure that either system-vm or the"
105                         elog "user-vm for freenet uses sun-jdk or some other"
106                         elog "vm (other vms are untested)."
107                         elog
108                 fi
109         fi
110         chown freenet:freenet /opt/freenet
111 }
112
113 pkg_postrm() {
114         elog "If you dont want to use freenet any more"
115         elog "and dont want to keep your identity/other stuff"
116         elog "remember to do 'rm -rf /opt/freenet' to remove everything"
117 }