# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 26 Feb 2008; (Tommy[D]) tommy100@gmx.de -freenet-0.7_beta_pre1112.ebuild,
+ +freenet-0.7_beta_pre1114.ebuild,
+ +files/freenet-libNativeThreadpath.patch,
+ +files/freenet-libfec8path.patch:
+ New upstream release + moved some precompiled libs into their own ebuilds
+
19 Feb 2008; (Tommy[D]) tommy100@gmx.de -freenet-0.7_beta_pre1111.ebuild,
+freenet-0.7_beta_pre1112.ebuild:
New upstream release
AUX freenet 416 RMD160 95efeda98fe723027c74729b03fd293ca29bdc7a SHA1 796d336341796d081454ebcc45248e90fffaed91 SHA256 d3b665e8d619d995ef9cb67ed4006c96bc4fdf80e6b7923247e022268ab8bae5
-DIST freenet-sources-0.7_beta_pre1112.tar.bz2 19266249 RMD160 64d8f9ba6dde0bbf524017d6efe6688aa1e451b0 SHA1 6fcc9c1ad9974c2caa5e6260d65df0aa137a2359 SHA256 a3485ec781166b9939e243a101624006011a5b53eb51770693a330689bd19f60
-EBUILD freenet-0.7_beta_pre1112.ebuild 1389 RMD160 4b9b7c6be97feef7958e8f2cad7beadb1a986f2c SHA1 141e43094fd2822f77ad0111376434ea557e7d58 SHA256 23bfc9f87dc90559daaf38e1a4f37620f577d33e9dc6549a8110896bd99b7eb2
-MISC ChangeLog 4992 RMD160 5c7bf78ad4c5a6295a75c23f4838dd6920ff50e3 SHA1 4f6d63ef66b9568d2afb673efdbab898a0aa0f39 SHA256 8fa0a4506e5240e37455f4b4db712363357434e8addaefaf66c2c657b02bdfe3
+AUX freenet-libNativeThreadpath.patch 2186 RMD160 88d9cf4d41c4aa3002cbcd70a044ae1a999e6ba9 SHA1 a70cc47690982c34378f1125cdab61196e091d8e SHA256 46df56ccb00fe4a2730eef28f2a84bcb57415ea8cc9caea5d9949480ad2b3856
+AUX freenet-libfec8path.patch 1052 RMD160 9e54f57ea087b6b1d3c31b509c7e066c454d8d0f SHA1 2483e0bd6fff40443c4041e880dc8c20abf5b2ca SHA256 3d6ff32f4536549bcde462bf3814568687130a0858f2e610014b7b7f75568573
+DIST freenet-sources-0.7_beta_pre1114.tar.bz2 18991003 RMD160 b13b4de0ab4ca85dcfaff73db80fb58ee1e5762f SHA1 98dcb0981ee9025866453a7b855fb33fd35f0f35 SHA256 376d1e61f4902fa8ce0bf55b3c0eb6c6e849c1175615b44750e6ae7430ab61f3
+EBUILD freenet-0.7_beta_pre1114.ebuild 1759 RMD160 123fe0a2c0f865c2317974fd4b88b543781e8956 SHA1 915f87b73ecb1687c1870c6c18603a20951be183 SHA256 0d9b8f1853d33135b2d2a0498c5967a6e37ded93fc9ad80d38aff8207cb6098b
+MISC ChangeLog 5261 RMD160 5980b5269a582bd0bf88eea2003860646759c9a1 SHA1 661fb98e46297cf0b48212241e228e02dd561a65 SHA256 004e6424d6d89a3d776b795d530d2ed3f715991f817fbe97d3b2202e51112998
MISC metadata.xml 170 RMD160 645927a396fdc21cdeb089fe42c5397332420ea6 SHA1 ac7f48a14fec325926f9ce1be8fbf1f311b4f2e4 SHA256 d797a2ec6f9dc516c9f9c1a758ee87ad3e8c43101b5dc76c2f872d5bd4639b42
--- /dev/null
+--- freenet/src/freenet/support/LibraryLoader.java 2008-02-26 18:01:40.000000000 +0100
++++ freenet/src/freenet/support/LibraryLoader.java.new 2008-02-26 20:39:02.000000000 +0100
+@@ -18,50 +18,12 @@
+ */
+ public class LibraryLoader {
+
+- public static String getSimplifiedArchitecture() {
+- String arch;
+- if(System.getProperty("os.arch").toLowerCase().matches("(i?[x0-9]86_64|amd64)")) {
+- arch = "amd64";
+- } else if(System.getProperty("os.arch").toLowerCase().matches("(ppc)")) {
+- arch = "ppc";
+- } else {
+- arch = "i386";
+- }
+-
+- return arch;
+- }
+-
+ public static void loadNative(String path, String libraryName) {
+- final boolean isWindows = File.pathSeparatorChar == '\\';
+- final String libraryNameWithPrefix = (isWindows ? "" : "lib") + libraryName;
+- final String libraryNameWithPrefixAndArch = libraryNameWithPrefix + '-' + getSimplifiedArchitecture();
+- final String libraryNameWithPrefixAndArchAndSuffix = libraryNameWithPrefixAndArch + (isWindows ? ".dll" : ".so");
+- String resourceName = path + libraryNameWithPrefixAndArchAndSuffix;
+
+ try {
+- // Get the resource
+- URL resource = LibraryLoader.class.getResource(resourceName);
+-
+- // Get input stream from jar resource
+- InputStream inputStream = resource.openStream();
+-
+- // Copy resource to filesystem in a temp folder with a unique name
+- File temporaryLib = File.createTempFile(libraryNameWithPrefixAndArch, ".tmp");
+-
+- // Delete on exit the dll
+- temporaryLib.deleteOnExit();
+-
+- FileOutputStream outputStream = new FileOutputStream(temporaryLib);
+- byte[] array = new byte[2048];
+- int read = 0;
+- while((read = inputStream.read(array)) > 0) {
+- outputStream.write(array, 0, read);
+- }
+- outputStream.close();
+-
+- // Finally, load the dll
+- System.out.println("Attempting to load the "+libraryName+" library ["+resource+']');
+- System.load(temporaryLib.getPath());
++ File temporaryLib=new File("lib/lib"+libraryName+".so");
++ System.out.println("Attempting to load the NativeThread library ["+temporaryLib.getAbsolutePath()+']');
++ System.load(temporaryLib.getAbsolutePath());
+ } catch(Throwable e) {
+ e.printStackTrace();
+ }
--- /dev/null
+--- contrib/fec/fec_src/com/onionnetworks/fec/Native8Code.java.old 2008-02-21 19:46:43.000000000 +0100
++++ contrib/fec/fec_src/com/onionnetworks/fec/Native8Code.java 2008-02-21 19:27:10.000000000 +0100
+@@ -3,6 +3,7 @@
+ //import java.security.AccessController;
+ //import sun.security.action.*;
+ import com.onionnetworks.util.*;
++import java.io.File;
+
+ /**
+ * This class is the frontend for the JNI wrapper for the C implementation of
+@@ -21,14 +22,9 @@
+ private int code;
+
+ static {
+- String path = NativeDeployer.getLibraryPath
+- (Native8Code.class.getClassLoader(),"fec8");
+- if (path != null) {
+- System.load(path);
+- } else {
+- System.out.println("Unable to find native library for fec8 for platform "+NativeDeployer.OS_ARCH);
+- System.out.println(path);
+- }
++ File path = new File("lib/libfec8.so");
++ System.out.println("Loading FEC lib ["+path.getAbsolutePath()+']');
++ System.load(path.getAbsolutePath());
+ }
+
+ public Native8Code(int k, int n) {
# $Header: $
inherit eutils
-
DESCRIPTION="An encrypted network without censorship"
HOMEPAGE="http://www.freenetproject.org/"
SRC_URI="http://dev.gentooexperimental.org/~tommy/${PN}-sources-${PV}.tar.bz2"
DEPEND="dev-java/sun-jdk
dev-java/ant"
-RDEPEND="virtual/jre"
-
+RDEPEND="virtual/jre
+ net-p2p/fec
+ net-p2p/nativebiginteger"
+PDEPEND="net-p2p/NativeThread"
S="${WORKDIR}/${PN}"
QA_TEXTRELS="opt/freenet/lib/libwrapper-linux-x86-32.so"
enewuser freenet -1 -1 /opt/freenet freenet
}
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/freenet-libNativeThreadpath.patch "${FILESDIR}"/freenet-libfec8path.patch
+}
+
src_install() {
emake install || die "emake install failed"
doinitd "${FILESDIR}"/freenet
dodoc license/README license/LICENSE.Mantissa license/LICENSE.Freenet
+ rm "${D}"opt/freenet/{bin,lib}/*wrapper* "${D}"opt/freenet/wrapper.jar
+ into /opt/freenet
+ dobin bin/wrapper-linux-x86-32
+ dolib.so lib/libwrapper-linux-x86-32.so
}
pkg_postinst () {