diff --git a/pkgs/applications/networking/p2p/freenet/deps.json b/pkgs/by-name/fr/freenet/deps.json similarity index 100% rename from pkgs/applications/networking/p2p/freenet/deps.json rename to pkgs/by-name/fr/freenet/deps.json diff --git a/pkgs/applications/networking/p2p/freenet/freenetWrapper b/pkgs/by-name/fr/freenet/freenetWrapper similarity index 57% rename from pkgs/applications/networking/p2p/freenet/freenetWrapper rename to pkgs/by-name/fr/freenet/freenetWrapper index 74ff2c62961f..5e4e43d08a1b 100755 --- a/pkgs/applications/networking/p2p/freenet/freenetWrapper +++ b/pkgs/by-name/fr/freenet/freenetWrapper @@ -1,8 +1,7 @@ #! @bash@/bin/bash set -eo pipefail PATH=@coreutils@/bin:$PATH -export CLASSPATH=$(find @outFreenet@/deps/ -name "*.jar"|grep -v bcprov-jdk15on-1.48.jar|tr $'\n' :) -CLASSPATH=$CLASSPATH:@outFreenet@/share/freenet/freenet-ext.jar:@outFreenet@/share/freenet/freenet.jar +export CLASSPATH=@CLASSPATH@ export FREENET_HOME="$HOME/.local/share/freenet" if [ -n "$XDG_DATA_HOME" ] ; then @@ -11,7 +10,7 @@ fi mkdir -p -- $FREENET_HOME -cp -u -- @seednodes@ $FREENET_HOME/seednodes.fref +cp -u -- @seednodes@/seednodes.fref $FREENET_HOME/seednodes.fref chmod u+rw -- $FREENET_HOME/seednodes.fref cd -- $FREENET_HOME diff --git a/pkgs/applications/networking/p2p/freenet/default.nix b/pkgs/by-name/fr/freenet/package.nix similarity index 57% rename from pkgs/applications/networking/p2p/freenet/default.nix rename to pkgs/by-name/fr/freenet/package.nix index abcc69ec1240..3142baf9501b 100644 --- a/pkgs/applications/networking/p2p/freenet/default.nix +++ b/pkgs/by-name/fr/freenet/package.nix @@ -1,7 +1,35 @@ -{ lib, stdenv, fetchurl, fetchFromGitHub, jdk, jre, gradle, bash, coreutils -, substituteAll, nixosTests, fetchpatch, writeText }: +{ + lib, + stdenv, + fetchurl, + fetchFromGitHub, + jdk17_headless, + jre17_minimal, + gradle_7, + bash, + coreutils, + substituteAll, + nixosTests, + fetchpatch, + writeText, +}: let + gradle = gradle_7; + jdk = jdk17_headless; + # Reduce closure size + jre = jre17_minimal.override { + modules = [ + "java.base" + "java.logging" + "java.naming" + "java.sql" + "java.desktop" + "java.management" + ]; + jdk = jdk17_headless; + }; + version = "01497"; freenet_ext = fetchurl { @@ -9,9 +37,15 @@ let sha256 = "sha256-MvKz1r7t9UE36i+aPr72dmbXafCWawjNF/19tZuk158="; }; - seednodes = fetchurl { - url = "https://downloads.freenetproject.org/alpha/opennet/seednodes.fref"; - sha256 = "08awwr8n80b4cdzzb3y8hf2fzkr1f2ly4nlq779d6pvi5jymqdvv"; + seednodes = fetchFromGitHub { + name = "freenet-seednodes"; + owner = "hyphanet"; + repo = "seedrefs"; + rev = "9df1bf93ab64aba634bdfc5f4d0e960571ce4ba5"; + hash = "sha256-nvwJvKw5IPhItPe4k/jnOGaa8H4DtOi8XxKFOKFMAuY="; + postFetch = '' + cat $out/* > $out/seednodes.fref + ''; }; patches = [ @@ -23,7 +57,8 @@ let }) ]; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "freenet"; inherit version patches; @@ -38,11 +73,19 @@ in stdenv.mkDerivation rec { rm gradle/verification-{keyring.keys,metadata.xml} ''; - nativeBuildInputs = [ gradle jdk ]; + nativeBuildInputs = [ + gradle + jdk + ]; wrapper = substituteAll { src = ./freenetWrapper; - inherit bash coreutils jre seednodes; + inherit + bash + coreutils + jre + seednodes + ; }; mitmCache = gradle.fetchDeps { @@ -59,16 +102,21 @@ in stdenv.mkDerivation rec { installPhase = '' runHook preInstall - install -Dm444 build/libs/freenet.jar $out/share/freenet/freenet.jar + + install -Dm644 build/libs/freenet.jar $out/share/freenet/freenet.jar ln -s ${freenet_ext} $out/share/freenet/freenet-ext.jar mkdir -p $out/bin - install -Dm555 ${wrapper} $out/bin/freenet + install -Dm755 ${wrapper} $out/bin/freenet + export CLASSPATH="$(find ${mitmCache} -name "*.jar"| sort | grep -v bcprov-jdk15on-1.48.jar|tr $'\n' :):$out/share/freenet/freenet-ext.jar:$out/share/freenet/freenet.jar" substituteInPlace $out/bin/freenet \ - --subst-var-by outFreenet $out + --subst-var-by CLASSPATH "$CLASSPATH" + runHook postInstall ''; - passthru.tests = { inherit (nixosTests) freenet; }; + passthru.tests = { + inherit (nixosTests) freenet; + }; meta = { description = "Decentralised and censorship-resistant network"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7deff9c7b8c4..a2cab3581603 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30166,23 +30166,6 @@ with pkgs; jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 }; - freenet = callPackage ../applications/networking/p2p/freenet { - gradle = gradle_7; - jdk = jdk17_headless; - # Reduce closure size - jre = pkgs.jre17_minimal.override { - modules = [ - "java.base" - "java.logging" - "java.naming" - "java.sql" - "java.desktop" - "java.management" - ]; - jdk = jdk17_headless; - }; - }; - freeoffice = callPackage ../applications/office/softmaker/freeoffice.nix { }; freepv = callPackage ../applications/graphics/freepv { };