Merge pull request #108092 from charles-dyfis-net/freeplane-1.8.10

freeplane: init at 1.8.11

authored by

Sandro and committed by
GitHub
eede8180 f84b4b9d

+120
+118
pkgs/applications/misc/freeplane/default.nix
···
··· 1 + { stdenv, lib, fetchpatch, fetchFromGitHub, makeWrapper, writeText, runtimeShell, jdk11, perl, gradle_5, which }: 2 + 3 + let 4 + pname = "freeplane"; 5 + version = "1.8.11"; 6 + 7 + src = fetchFromGitHub { 8 + owner = pname; 9 + repo = pname; 10 + rev = "release-${version}"; 11 + sha256 = "07xjx9pf62dvy8lx6vnbwwcn1zqy89cmdmwy792k7gb12wz81nnc"; 12 + }; 13 + 14 + deps = stdenv.mkDerivation { 15 + name = "${pname}-deps"; 16 + inherit src; 17 + 18 + nativeBuildInputs = [ jdk11 perl gradle_5 ]; 19 + 20 + buildPhase = '' 21 + GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk11} --no-daemon jar 22 + ''; 23 + 24 + # Mavenize dependency paths 25 + # 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 26 + installPhase = '' 27 + find ./caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \ 28 + | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \ 29 + | sh 30 + ''; 31 + 32 + outputHashAlgo = "sha256"; 33 + outputHashMode = "recursive"; 34 + outputHash = "0r7f6713m0whh5hlk1id7z9j5v9494r41sivn9fzl63q70kzz92g"; 35 + }; 36 + 37 + # Point to our local deps repo 38 + gradleInit = writeText "init.gradle" '' 39 + logger.lifecycle 'Replacing Maven repositories with ${deps}...' 40 + gradle.projectsLoaded { 41 + rootProject.allprojects { 42 + buildscript { 43 + repositories { 44 + clear() 45 + maven { url '${deps}' } 46 + } 47 + } 48 + repositories { 49 + clear() 50 + maven { url '${deps}' } 51 + } 52 + } 53 + } 54 + settingsEvaluated { settings -> 55 + settings.pluginManagement { 56 + repositories { 57 + maven { url '${deps}' } 58 + } 59 + } 60 + } 61 + ''; 62 + 63 + # downloaded from unicode.org and twemoji.maxcdn.com by code in freeplane/emoji.gradle 64 + # the below hash is for versions of freeplane that use twemoji 12.1.4, and emoji 12.1 65 + emoji = stdenv.mkDerivation rec { 66 + name = "${pname}-emoji"; 67 + inherit src; 68 + 69 + nativeBuildInputs = [ jdk11 gradle_5 ]; 70 + 71 + buildPhase = '' 72 + GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk11} --no-daemon --offline --init-script ${gradleInit} emojiGraphicsClasses emojiListClasses 73 + ''; 74 + 75 + installPhase = '' 76 + mkdir -p $out/emoji/txt $out/resources/images 77 + cp freeplane/build/emoji/txt/emojilist.txt $out/emoji/txt 78 + cp -r freeplane/build/emoji/resources/images/emoji/. $out/resources/images/emoji 79 + ''; 80 + 81 + outputHashAlgo = "sha256"; 82 + outputHashMode = "recursive"; 83 + outputHash = "0zikbakbr2fhyv4h4h52ajhznjka0hg6hiqfy1528a39i6psipn3"; 84 + }; 85 + 86 + in stdenv.mkDerivation rec { 87 + inherit pname version src; 88 + 89 + buildInputs = [ makeWrapper ]; 90 + nativeBuildInputs = [ jdk11 gradle_5 ]; 91 + 92 + buildPhase = '' 93 + mkdir -p -- ./freeplane/build/emoji/{txt,resources/images} 94 + cp ${emoji}/emoji/txt/emojilist.txt ./freeplane/build/emoji/txt/emojilist.txt 95 + cp -r ${emoji}/resources/images/emoji ./freeplane/build/emoji/resources/images/emoji 96 + GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk11} --no-daemon --offline --init-script ${gradleInit} -x test -x :freeplane:downloadEmoji build 97 + ''; 98 + 99 + installPhase = '' 100 + runHook preInstall 101 + mkdir -p $out/bin $out/share 102 + 103 + cp -a ./BIN/. $out/share/${pname} 104 + makeWrapper $out/share/${pname}/${pname}.sh $out/bin/${pname} \ 105 + --set FREEPLANE_BASE_DIR $out/share/${pname} \ 106 + --set JAVA_HOME ${jdk11} \ 107 + --prefix PATH : ${lib.makeBinPath [ jdk11 which ]} 108 + runHook postInstall 109 + ''; 110 + 111 + meta = with lib; { 112 + description = "Mind-mapping software"; 113 + homepage = "https://freeplane.org/"; 114 + license = licenses.gpl2Plus; 115 + platforms = platforms.linux; 116 + maintainers = with maintainers; [ chaduffy ]; 117 + }; 118 + }
+2
pkgs/top-level/all-packages.nix
··· 22724 22725 freeoffice = callPackage ../applications/office/softmaker/freeoffice.nix {}; 22726 22727 freepv = callPackage ../applications/graphics/freepv { }; 22728 22729 xfontsel = callPackage ../applications/misc/xfontsel { };
··· 22724 22725 freeoffice = callPackage ../applications/office/softmaker/freeoffice.nix {}; 22726 22727 + freeplane = callPackage ../applications/misc/freeplane { }; 22728 + 22729 freepv = callPackage ../applications/graphics/freepv { }; 22730 22731 xfontsel = callPackage ../applications/misc/xfontsel { };