lol
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 22.05-pre 117 lines 3.7 kB view raw
1{ stdenv, lib, fetchpatch, fetchFromGitHub, makeWrapper, writeText, runtimeShell, jdk11, perl, gradle_5, which }: 2 3let 4 pname = "freeplane"; 5 version = "1.9.5"; 6 7 src = fetchFromGitHub { 8 owner = pname; 9 repo = pname; 10 rev = "release-${version}"; 11 sha256 = "qfhhmF3mePxcL4U8izkEmWaiaOLi4slsaymVnDoO3sY="; 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 = "xphTzaSXTGpP7vI/t4oIiv1ZpbekG2dFRzyl3ub6qnA="; 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 86in stdenv.mkDerivation rec { 87 inherit pname version src; 88 89 nativeBuildInputs = [ makeWrapper jdk11 gradle_5 ]; 90 91 buildPhase = '' 92 mkdir -p -- ./freeplane/build/emoji/{txt,resources/images} 93 cp ${emoji}/emoji/txt/emojilist.txt ./freeplane/build/emoji/txt/emojilist.txt 94 cp -r ${emoji}/resources/images/emoji ./freeplane/build/emoji/resources/images/emoji 95 GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk11} --no-daemon --offline --init-script ${gradleInit} -x test -x :freeplane:downloadEmoji build 96 ''; 97 98 installPhase = '' 99 runHook preInstall 100 mkdir -p $out/bin $out/share 101 102 cp -a ./BIN/. $out/share/${pname} 103 makeWrapper $out/share/${pname}/${pname}.sh $out/bin/${pname} \ 104 --set FREEPLANE_BASE_DIR $out/share/${pname} \ 105 --set JAVA_HOME ${jdk11} \ 106 --prefix PATH : ${lib.makeBinPath [ jdk11 which ]} 107 runHook postInstall 108 ''; 109 110 meta = with lib; { 111 description = "Mind-mapping software"; 112 homepage = "https://freeplane.org/"; 113 license = licenses.gpl2Plus; 114 platforms = platforms.linux; 115 maintainers = with maintainers; [ chaduffy ]; 116 }; 117}