diff --git a/pkgs/applications/misc/freeplane/default.nix b/pkgs/by-name/fr/freeplane/package.nix similarity index 72% rename from pkgs/applications/misc/freeplane/default.nix rename to pkgs/by-name/fr/freeplane/package.nix index 77918baff376..5ce7cebac098 100644 --- a/pkgs/applications/misc/freeplane/default.nix +++ b/pkgs/by-name/fr/freeplane/package.nix @@ -1,35 +1,31 @@ -{ stdenv -, lib -, fetchpatch -, fetchFromGitHub -, makeWrapper -, makeDesktopItem -, writeText -, runtimeShell -, jdk17 -, perl -, gradle_7 -, which +{ + stdenvNoCC, + lib, + fetchFromGitHub, + makeBinaryWrapper, + makeDesktopItem, + writeText, + jdk17, + perl, + gradle_7, + which, }: let pname = "freeplane"; - version = "1.11.8"; - - src_hash = "sha256-Qh2V265FvQpqGKmPsiswnC5yECwIcNwMI3/Ka9sBqXE="; - deps_outputHash = "sha256-2Zaw4FW12dThdr082dEB1EYkGwNiayz501wIPGXUfBw="; + version = "1.11.14"; jdk = jdk17; gradle = gradle_7; src = fetchFromGitHub { - owner = pname; - repo = pname; + owner = "freeplane"; + repo = "freeplane"; rev = "release-${version}"; - hash = src_hash; + hash = "sha256-zEQjB57iiKVQnH8VtynpEGKNAa2e+WpqnGt6fnv5Rjs="; }; - deps = stdenv.mkDerivation { + deps = stdenvNoCC.mkDerivation { pname = "${pname}-deps"; inherit src version; @@ -40,28 +36,30 @@ let ]; buildPhase = '' + runHook preBuild GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon build + runHook postBuild ''; # Mavenize dependency paths # e.g. org.codehaus.groovy/groovy/2.4.0/{hash}/groovy-2.4.0.jar -> org/codehaus/groovy/groovy/2.4.0/groovy-2.4.0.jar installPhase = '' + runHook preInstall find ./caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \ | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \ | sh - # com/squareup/okio/okio/2.10.0/okio-jvm-2.10.0.jar expected to exist under name okio-2.10.0.jar + # com/squareup/okio/okio-jvm/x.y.z/okio-jvm-x.y.z.jar is expected to exist under com/squareup/okio/okio/x.y.z/okio-x.y.z.jar while IFS="" read -r -d "" path; do - dir=''${path%/*}; file=''${path##*/}; dest=''${file//-jvm-/-} - [[ -e $dir/$dest ]] && continue - ln -s "$dir/$file" "$dir/$dest" + ln -s "$path" ''${path//okio-jvm/okio} done < <(find "$out" -type f -name 'okio-jvm-*.jar' -print0) + runHook postInstall ''; # otherwise the package with a namespace starting with info/... gets moved to share/info/... forceShare = [ "dummy" ]; outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = deps_outputHash; + outputHash = "sha256-mWQTe/hOWGwWtsUPCZ7gle2FtskcEmJwsGQZITEc/Uc="; }; # Point to our local deps repo @@ -83,17 +81,18 @@ let } } ''; - -in stdenv.mkDerivation rec { +in +stdenvNoCC.mkDerivation (finalAttrs: { inherit pname version src; nativeBuildInputs = [ - makeWrapper + makeBinaryWrapper jdk gradle ]; buildPhase = '' + runHook preBuild mkdir -p freeplane/build GRADLE_USER_HOME=$PWD \ @@ -101,6 +100,7 @@ in stdenv.mkDerivation rec { --no-daemon --offline --init-script ${gradleInit} \ -x test \ build + runHook postBuild ''; desktopItems = [ @@ -110,7 +110,7 @@ in stdenv.mkDerivation rec { genericName = "Mind-mapper"; exec = "freeplane"; icon = "freeplane"; - comment = meta.description; + comment = finalAttrs.meta.description; mimeTypes = [ "application/x-freemind" "application/x-freeplane" @@ -134,19 +134,24 @@ in stdenv.mkDerivation rec { makeWrapper $out/share/freeplane/freeplane.sh $out/bin/freeplane \ --set FREEPLANE_BASE_DIR $out/share/freeplane \ --set JAVA_HOME ${jdk} \ - --prefix PATH : ${lib.makeBinPath [ jdk which ]} \ + --prefix PATH : ${ + lib.makeBinPath [ + jdk + which + ] + } \ --prefix _JAVA_AWT_WM_NONREPARENTING : 1 \ --prefix _JAVA_OPTIONS : "-Dawt.useSystemAAFontSettings=on" runHook postInstall ''; - meta = with lib; { + meta = { description = "Mind-mapping software"; homepage = "https://freeplane.org/"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ chaduffy ]; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ chaduffy ]; mainProgram = "freeplane"; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4c083c26dcb6..679ba02cd7f0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31158,8 +31158,6 @@ with pkgs; freeoffice = callPackage ../applications/office/softmaker/freeoffice.nix { }; - freeplane = callPackage ../applications/misc/freeplane { }; - freepv = callPackage ../applications/graphics/freepv { }; xfontsel = callPackage ../applications/misc/xfontsel { };