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