diff options
Diffstat (limited to 'pkgs/applications/networking/p2p/freenet/default.nix')
-rw-r--r-- | pkgs/applications/networking/p2p/freenet/default.nix | 74 |
1 files changed, 42 insertions, 32 deletions
diff --git a/pkgs/applications/networking/p2p/freenet/default.nix b/pkgs/applications/networking/p2p/freenet/default.nix index 80f8eb840f13..51d7a49cac79 100644 --- a/pkgs/applications/networking/p2p/freenet/default.nix +++ b/pkgs/applications/networking/p2p/freenet/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchgit, ant, jdk, makeWrapper }: +{ stdenv, fetchurl, fetchgit, ant, jdk, bash, coreutils, substituteAll }: let freenet_ext = fetchurl { @@ -15,46 +15,56 @@ let sha256 = "109zn9w8axdkjwhkkcm2s8dvib0mq0n8imjgs3r8hvi128cjsmg9"; }; version = "build01470"; -in -stdenv.mkDerivation { - name = "freenet-${version}"; + freenet-jars = stdenv.mkDerivation { + name = "freenet-jars-${version}"; - src = fetchgit { - url = https://github.com/freenet/fred; - rev = "refs/tags/${version}"; - sha256 = "1b6e6fec2b9a729d4a25605fa142df9ea42e59b379ff665f580e32c6178c9746"; - }; + src = fetchgit { + url = https://github.com/freenet/fred; + rev = "refs/tags/${version}"; + sha256 = "1b6e6fec2b9a729d4a25605fa142df9ea42e59b379ff665f580e32c6178c9746"; + }; - patchPhase = '' - cp ${freenet_ext} lib/freenet/freenet-ext.jar - cp ${bcprov} lib/bcprov-jdk15on-152.jar + patchPhase = '' + cp ${freenet_ext} lib/freenet/freenet-ext.jar + cp ${bcprov} lib/bcprov-jdk15on-152.jar - sed '/antcall.*-ext/d' -i build.xml - sed 's/@unknown@/${version}/g' -i build-clean.xml - ''; + sed '/antcall.*-ext/d' -i build.xml + sed 's/@unknown@/${version}/g' -i build-clean.xml + ''; - buildInputs = [ ant jdk makeWrapper ]; + buildInputs = [ ant jdk ]; - buildPhase = "ant package-only"; + buildPhase = "ant package-only"; - freenetWrapper = ./freenetWrapper; + installPhase = '' + mkdir -p $out/share/freenet + cp lib/bcprov-jdk15on-152.jar $out/share/freenet + cp lib/freenet/freenet-ext.jar $out/share/freenet + cp dist/freenet.jar $out/share/freenet + ''; + }; - installPhase = '' - mkdir -p $out/share/freenet $out/bin - cp lib/bcprov-jdk15on-152.jar $out/share/freenet - cp lib/freenet/freenet-ext.jar $out/share/freenet - cp dist/freenet.jar $out/share/freenet +in stdenv.mkDerivation { + name = "freenet-${version}"; + inherit version; - cat <<EOF > $out/bin/freenet.wrapped - #!${stdenv.shell} - ${jdk.jre}/bin/java -cp $out/share/freenet/bcprov-jdk15on-152.jar:$out/share/freenet/freenet-ext.jar:$out/share/freenet/freenet.jar \\ - -Xmx1024M freenet.node.NodeStarter - EOF - chmod +x $out/bin/freenet.wrapped - makeWrapper $freenetWrapper $out/bin/freenet \ - --set FREENET_ROOT "$out" \ - --set FREENET_SEEDNODES "${seednodes}" + src = substituteAll { + src = ./freenetWrapper; + inherit bash coreutils seednodes; + freenet = freenet-jars; + jre = jdk.jre; + }; + + jars = freenet-jars; + + phases = [ "installPhase" ]; + + installPhase = '' + mkdir -p $out/bin + cp $src $out/bin/freenet + chmod +x $out/bin/freenet + ln -s ${freenet-jars}/share $out/share ''; meta = { |