]> Pileus Git - ~andy/sunrise/blob - net-p2p/freenet/freenet-9999-r1.ebuild
9a8a2554e367151d4d54b95aba73a0704d0148ba
[~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=20080721
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="~amd64 ~x86"
19 IUSE=""
20
21 CDEPEND="dev-java/db-je:3.2
22         dev-java/fec
23         dev-java/java-service-wrapper"
24 DEPEND=">=virtual/jdk-1.5
25         dev-java/ant-core
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:/var/freenet/bin/wrapper:g' \
61         -e 's:./wrapper.conf:/var/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         sed -ie "s:@custom@:${MY_FREENET_LATEST}:g" src/freenet/node/Version.java
65         epatch "${FILESDIR}"/ext.patch
66         sed -i -e "s/=lib/=$(get_libdir)/g" wrapper.conf || die "sed failed"
67         mkdir -p lib
68         cd lib
69         java-pkg_jar-from db-je-3.2
70         java-pkg_jar-from java-service-wrapper
71         java-pkg_jar-from fec
72 }
73
74 src_install() {
75         mv lib/freenet-cvs-snapshot.jar freenet.jar
76         java-pkg_dojar freenet.jar
77         if has_version =sys-apps/baselayout-2*; then
78                 doinitd "${FILESDIR}"/freenet
79         else
80                 newinitd "${FILESDIR}"/freenet.old freenet
81         fi
82         insinto /var/freenet
83         doins wrapper.conf run.sh seednodes.fref
84         dodir /var/freenet/bin
85         dosym /usr/bin/wrapper /var/freenet/bin/wrapper
86         dodir /var/freenet/$(get_libdir)
87         dosym ../../../usr/$(get_libdir)/java-service-wrapper/libwrapper.so /var/freenet/$(get_libdir)/libwrapper.so
88         fperms +x /var/freenet/run.sh
89 }
90
91 pkg_postinst () {
92         elog "1. Start freenet with /etc/init.d/freenet start."
93         elog "2. Open localhost:8888 in your browser for the web interface."
94         elog " "
95         elog "If you dont know trusted people running freenet,"
96         elog "enable opennet (\"insecure mode\") on the config page to get started."
97         elog " "
98         chown freenet:freenet /var/freenet
99         if [[ -e /opt/freenet/freenet.ini ]] && ! [[ -e /var/freenet/freenet.ini ]]; then
100                 ewarn " "
101                 ewarn "Please move freenet to the new location with the following command:"
102                 ewarn "         mv /opt/freenet /var/freenet"
103                 ewarn " "
104         fi
105 }
106
107 pkg_postrm() {
108         if [ -z has_version ]; then
109                 elog "If you dont want to use freenet any more"
110                 elog "and dont want to keep your identity/other stuff"
111                 elog "remember to do 'rm -rf /opt/freenet' to remove everything"
112         fi
113 }