diff options
author | Shell Turner <cam.turn@gmail.com> | 2016-01-03 14:33:56 +0000 |
---|---|---|
committer | Shell Turner <cam.turn@gmail.com> | 2016-01-05 01:06:54 +0000 |
commit | f2297914540a7ce641cedaaeaba1817f4738b88f (patch) | |
tree | 6d86c884ad903950bc4e0c22be725d197151368f /pkgs/applications/networking | |
parent | 0d5542bc8574eb48fb397880ac85db9a0b6c603c (diff) | |
download | nixlib-f2297914540a7ce641cedaaeaba1817f4738b88f.tar nixlib-f2297914540a7ce641cedaaeaba1817f4738b88f.tar.gz nixlib-f2297914540a7ce641cedaaeaba1817f4738b88f.tar.bz2 nixlib-f2297914540a7ce641cedaaeaba1817f4738b88f.tar.lz nixlib-f2297914540a7ce641cedaaeaba1817f4738b88f.tar.xz nixlib-f2297914540a7ce641cedaaeaba1817f4738b88f.tar.zst nixlib-f2297914540a7ce641cedaaeaba1817f4738b88f.zip |
freenet: rewrite wrapper to not depend on PATH
Diffstat (limited to 'pkgs/applications/networking')
-rw-r--r-- | pkgs/applications/networking/p2p/freenet/default.nix | 74 | ||||
-rwxr-xr-x | pkgs/applications/networking/p2p/freenet/freenetWrapper | 8 |
2 files changed, 47 insertions, 35 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 = { diff --git a/pkgs/applications/networking/p2p/freenet/freenetWrapper b/pkgs/applications/networking/p2p/freenet/freenetWrapper index c1667f158b97..6df7f4924587 100755 --- a/pkgs/applications/networking/p2p/freenet/freenetWrapper +++ b/pkgs/applications/networking/p2p/freenet/freenetWrapper @@ -1,4 +1,6 @@ -#! /usr/bin/env bash +#! @bash@/bin/bash + +PATH=@coreutils@/bin:$PATH export FREENET_HOME="$HOME/.local/share/freenet" if [ -n "$XDG_DATA_HOME" ] @@ -9,8 +11,8 @@ if [ ! -d $FREENET_HOME ]; then mkdir -p $FREENET_HOME fi -cp -u $FREENET_SEEDNODES $FREENET_HOME/seednodes.fref +cp -u @seednodes@ $FREENET_HOME/seednodes.fref chmod u+rw $FREENET_HOME/seednodes.fref cd $FREENET_HOME -exec $FREENET_ROOT/bin/freenet.wrapped "$@" +@jre@/bin/java -cp @freenet@/share/freenet/bcprov-jdk15on-152.jar:@freenet@/share/freenet/freenet-ext.jar:@freenet@/share/freenet/freenet.jar -Xmx1024M freenet.node.NodeStarter |