From c2805bddc16492a516e2bc0c875adf1217d67164 Mon Sep 17 00:00:00 2001 From: Charles Duffy Date: Sat, 22 Jul 2023 19:12:09 -0500 Subject: [PATCH 1/2] freeplane: 1.9.14 -> 1.11.4 Thanks to @yuuyins for the desktop items and JVM configuration tweaks. --- pkgs/applications/misc/freeplane/default.nix | 137 +++++++++++-------- 1 file changed, 83 insertions(+), 54 deletions(-) diff --git a/pkgs/applications/misc/freeplane/default.nix b/pkgs/applications/misc/freeplane/default.nix index e2931698d1ac..dd778fbc247a 100644 --- a/pkgs/applications/misc/freeplane/default.nix +++ b/pkgs/applications/misc/freeplane/default.nix @@ -1,31 +1,46 @@ -{ stdenv, lib, fetchpatch, fetchFromGitHub, makeWrapper, writeText, runtimeShell, jdk11, perl, gradle_6, which }: +{ stdenv +, lib +, fetchpatch +, fetchFromGitHub +, makeWrapper +, makeDesktopItem +, writeText +, runtimeShell +, jdk17 +, perl +, gradle_7 +, which +}: let pname = "freeplane"; - version = "1.9.14"; + version = "1.11.4"; - src_sha256 = "UiXtGJs+hibB63BaDDLXgjt3INBs+NfMsKcX2Q/kxKw="; - deps_outputHash = "tHhRaMIQK8ERuzm+qB9tRe2XSesL0bN3rComB9/qWgg="; - emoji_outputHash = "w96or4lpKCRK8A5HaB4Eakr7oVSiQALJ9tCJvKZaM34="; + src_hash = "sha256-LuXvGNpnkinHuukZEYZjo5l7TiwumEFd2H06JcC9Qd8="; + deps_outputHash = "sha256-exiP37gFcJfxzcS2bNjVntb0Wthy8kPSgaHJF9cvmRU="; - jdk = jdk11; - gradle = gradle_6; + jdk = jdk17; + gradle = gradle_7; src = fetchFromGitHub { owner = pname; repo = pname; rev = "release-${version}"; - sha256 = src_sha256; + hash = src_hash; }; deps = stdenv.mkDerivation { name = "${pname}-deps"; inherit src; - nativeBuildInputs = [ jdk perl gradle ]; + nativeBuildInputs = [ + jdk + perl + gradle + ]; buildPhase = '' - GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon jar + GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon build ''; # Mavenize dependency paths @@ -34,6 +49,12 @@ let 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 + while IFS="" read -r -d "" path; do + dir=''${path%/*}; file=''${path##*/}; dest=''${file//-jvm-/-} + [[ -e $dir/$dest ]] && continue + ln -s "$dir/$file" "$dir/$dest" + done < <(find "$out" -type f -name 'okio-jvm-*.jar' -print0) ''; outputHashAlgo = "sha256"; @@ -43,72 +64,78 @@ let # Point to our local deps repo gradleInit = writeText "init.gradle" '' - logger.lifecycle 'Replacing Maven repositories with ${deps}...' - gradle.projectsLoaded { - rootProject.allprojects { - buildscript { - repositories { - clear() - maven { url '${deps}' } - } - } + settingsEvaluated { settings -> + settings.pluginManagement { repositories { clear() maven { url '${deps}' } } } } - settingsEvaluated { settings -> - settings.pluginManagement { + gradle.projectsLoaded { + rootProject.allprojects { repositories { + clear() maven { url '${deps}' } } } } ''; - emoji = stdenv.mkDerivation rec { - name = "${pname}-emoji"; - inherit src; - - nativeBuildInputs = [ jdk gradle ]; - - buildPhase = '' - GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon --offline --init-script ${gradleInit} :freeplane:downloadEmoji - ''; - - installPhase = '' - mkdir -p $out/emoji/txt $out/resources/images - cp freeplane/build/emoji/txt/emojilist.txt $out/emoji/txt - cp -r freeplane/build/emoji/resources/images/emoji/. $out/resources/images/emoji - ''; - - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = emoji_outputHash; - }; - in stdenv.mkDerivation rec { inherit pname version src; - nativeBuildInputs = [ makeWrapper jdk gradle ]; + nativeBuildInputs = [ + makeWrapper + jdk + gradle + ]; buildPhase = '' - mkdir -p -- ./freeplane/build/emoji/{txt,resources/images} - cp ${emoji}/emoji/txt/emojilist.txt ./freeplane/build/emoji/txt/emojilist.txt - cp -r ${emoji}/resources/images/emoji ./freeplane/build/emoji/resources/images/emoji - GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon --offline --init-script ${gradleInit} -x test -x :freeplane:downloadEmoji build + mkdir -p -- ./freeplane/build + + GRADLE_USER_HOME=$PWD \ + gradle -Dorg.gradle.java.home=${jdk} \ + --no-daemon --offline --init-script ${gradleInit} \ + -x test \ + build ''; + desktopItems = [ + (makeDesktopItem { + name = "freeplane"; + desktopName = "freeplane"; + genericName = "Mind-mapper"; + exec = "freeplane"; + icon = "freeplane"; + comment = meta.description; + mimeTypes = [ + "application/x-freemind" + "application/x-freeplane" + "text/x-troff-mm" + ]; + categories = [ + "2DGraphics" + "Chart" + "Graphics" + "Office" + ]; + }) + ]; + installPhase = '' runHook preInstall - mkdir -p $out/bin $out/share - cp -a ./BIN/. $out/share/${pname} - makeWrapper $out/share/${pname}/${pname}.sh $out/bin/${pname} \ - --set FREEPLANE_BASE_DIR $out/share/${pname} \ + mkdir -p $out/bin $out/share + cp -a ./BIN/. $out/share/freeplane + + 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 ''; @@ -116,7 +143,9 @@ in stdenv.mkDerivation rec { description = "Mind-mapping software"; homepage = "https://freeplane.org/"; license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ chaduffy ]; + # platforms = platforms.linux; + maintainers = with maintainers; [ + chaduffy + ]; }; } From ba7a904f9f284f944e65f608302c982df3fe454f Mon Sep 17 00:00:00 2001 From: Maximilian Huber Date: Tue, 19 Dec 2023 14:37:42 +0100 Subject: [PATCH 2/2] freeplane: 1.11.4 -> 1.11.8 Signed-off-by: Maximilian Huber --- pkgs/applications/misc/freeplane/default.nix | 32 ++++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/pkgs/applications/misc/freeplane/default.nix b/pkgs/applications/misc/freeplane/default.nix index dd778fbc247a..4c790c5e814f 100644 --- a/pkgs/applications/misc/freeplane/default.nix +++ b/pkgs/applications/misc/freeplane/default.nix @@ -14,10 +14,10 @@ let pname = "freeplane"; - version = "1.11.4"; + version = "1.11.8"; - src_hash = "sha256-LuXvGNpnkinHuukZEYZjo5l7TiwumEFd2H06JcC9Qd8="; - deps_outputHash = "sha256-exiP37gFcJfxzcS2bNjVntb0Wthy8kPSgaHJF9cvmRU="; + src_hash = "sha256-Qh2V265FvQpqGKmPsiswnC5yECwIcNwMI3/Ka9sBqXE="; + deps_outputHash = "sha256-2Zaw4FW12dThdr082dEB1EYkGwNiayz501wIPGXUfBw="; jdk = jdk17; gradle = gradle_7; @@ -30,8 +30,8 @@ let }; deps = stdenv.mkDerivation { - name = "${pname}-deps"; - inherit src; + pname = "${pname}-deps"; + inherit src version; nativeBuildInputs = [ jdk @@ -49,13 +49,15 @@ let 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 - while IFS="" read -r -d "" path; do - dir=''${path%/*}; file=''${path##*/}; dest=''${file//-jvm-/-} - [[ -e $dir/$dest ]] && continue - ln -s "$dir/$file" "$dir/$dest" - done < <(find "$out" -type f -name 'okio-jvm-*.jar' -print0) + # com/squareup/okio/okio/2.10.0/okio-jvm-2.10.0.jar expected to exist under name okio-2.10.0.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" + done < <(find "$out" -type f -name 'okio-jvm-*.jar' -print0) ''; + # otherwise the package with a namespace starting with info/... gets moved to share/info/... + forceShare = [ "dummy" ]; outputHashAlgo = "sha256"; outputHashMode = "recursive"; @@ -92,7 +94,7 @@ in stdenv.mkDerivation rec { ]; buildPhase = '' - mkdir -p -- ./freeplane/build + mkdir -p freeplane/build GRADLE_USER_HOME=$PWD \ gradle -Dorg.gradle.java.home=${jdk} \ @@ -143,9 +145,7 @@ in stdenv.mkDerivation rec { description = "Mind-mapping software"; homepage = "https://freeplane.org/"; license = licenses.gpl2Plus; - # platforms = platforms.linux; - maintainers = with maintainers; [ - chaduffy - ]; + platforms = platforms.linux; + maintainers = with maintainers; [ chaduffy ]; }; }