tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
scenic-view: convert to gradle setup hook
chayleaf
2 years ago
9b470f38
9b877fd5
+185
-59
2 changed files
expand all
collapse all
unified
split
pkgs
development
tools
scenic-view
default.nix
deps.json
+8
-59
pkgs/development/tools/scenic-view/default.nix
···
1
-
{ lib, stdenv, fetchFromGitHub, openjdk, openjfx, gradle_7, makeDesktopItem, perl, writeText, makeWrapper }:
2
let
3
jdk = openjdk.override (lib.optionalAttrs stdenv.isLinux {
4
enableJavaFX = true;
···
17
18
gradle = gradle_7;
19
20
-
deps = stdenv.mkDerivation {
21
-
name = "${pname}-deps";
22
-
inherit src;
23
-
24
-
nativeBuildInputs = [ jdk perl gradle ];
25
-
26
-
buildPhase = ''
27
-
export GRADLE_USER_HOME=$(mktemp -d);
28
-
gradle --no-daemon build
29
-
'';
30
-
31
-
# Mavenize dependency paths
32
-
# 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
33
-
installPhase = ''
34
-
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
35
-
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
36
-
| sh
37
-
'';
38
-
39
-
outputHashAlgo = "sha256";
40
-
outputHashMode = "recursive";
41
-
outputHash = "0d6qs0wg2nfxyq85q46a8dcdqknz9pypb2qmvc8k2w8vcdac1y7n";
42
-
};
43
-
44
-
# Point to our local deps repo
45
-
gradleInit = writeText "init.gradle" ''
46
-
settingsEvaluated { settings ->
47
-
settings.pluginManagement {
48
-
repositories {
49
-
clear()
50
-
maven { url '${deps}' }
51
-
}
52
-
}
53
-
}
54
-
logger.lifecycle 'Replacing Maven repositories with ${deps}...'
55
-
gradle.projectsLoaded {
56
-
rootProject.allprojects {
57
-
buildscript {
58
-
repositories {
59
-
clear()
60
-
maven { url '${deps}' }
61
-
}
62
-
}
63
-
repositories {
64
-
clear()
65
-
maven { url '${deps}' }
66
-
}
67
-
}
68
-
}
69
-
'';
70
-
71
desktopItem = makeDesktopItem {
72
name = pname;
73
desktopName = pname;
···
79
80
in stdenv.mkDerivation rec {
81
inherit pname version src;
82
-
nativeBuildInputs = [ jdk gradle makeWrapper ];
83
84
-
buildPhase = ''
85
-
runHook preBuild
0
0
86
87
-
export GRADLE_USER_HOME=$(mktemp -d)
88
-
gradle --offline --no-daemon --info --init-script ${gradleInit} build
89
90
-
runHook postBuild
91
-
'';
92
93
installPhase = ''
94
runHook preInstall
···
1
+
{ lib, stdenv, fetchFromGitHub, openjdk, openjfx, gradle_7, makeDesktopItem, makeWrapper }:
2
let
3
jdk = openjdk.override (lib.optionalAttrs stdenv.isLinux {
4
enableJavaFX = true;
···
17
18
gradle = gradle_7;
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
desktopItem = makeDesktopItem {
21
name = pname;
22
desktopName = pname;
···
28
29
in stdenv.mkDerivation rec {
30
inherit pname version src;
31
+
nativeBuildInputs = [ gradle makeWrapper ];
32
33
+
mitmCache = gradle.fetchDeps {
34
+
inherit pname;
35
+
data = ./deps.json;
36
+
};
37
38
+
__darwinAllowLocalNetworking = true;
0
39
40
+
doCheck = true;
0
41
42
installPhase = ''
43
runHook preInstall
+177
pkgs/development/tools/scenic-view/deps.json
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
1
+
{
2
+
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
3
+
"!version": 1,
4
+
"https://plugins.gradle.org/m2": {
5
+
"com/github/javaparser#javaparser-core/3.6.23": {
6
+
"jar": "sha256-Jd6Y4JulJ3cBiHFxQWx1BmsMkK4QyER5wIy62OwC2ko=",
7
+
"pom": "sha256-uS4cfUmFkaRUByoI4abESgjvT5YyH772jlPnQagyO84="
8
+
},
9
+
"com/github/javaparser#javaparser-parent/3.6.23": {
10
+
"pom": "sha256-RrplfMwXfcIrmXLTDq3vB+pK2Y7C2ZJ4mi2pyMaOEMY="
11
+
},
12
+
"com/github/javaparser#javaparser-symbol-solver-core/3.6.23": {
13
+
"jar": "sha256-xgZHY43ddl13bN0jDhzWlmT5BYVrnTUgHcpZFcHhhLM=",
14
+
"pom": "sha256-IxlhRqtmo5sFxOIsoQ3rcpbBvmPuI5Vpax21wO7ayiQ="
15
+
},
16
+
"com/github/javaparser#javaparser-symbol-solver-logic/3.6.23": {
17
+
"jar": "sha256-iUKL5AoLtSXiC5BwTUzmhE/Min2ePxCaSmIckIICKSo=",
18
+
"pom": "sha256-+c70XJwzh7J95a0unepGR18S5nLrMTuo2hl9n5KTuUs="
19
+
},
20
+
"com/github/javaparser#javaparser-symbol-solver-model/3.6.23": {
21
+
"jar": "sha256-Oyot02mnKEgZJIkaRC7gHztEFr9a84kGv+CXAEEHbRs=",
22
+
"pom": "sha256-l9XodywQqD1zerqsIXaufDIYN2FzS1Nshd66kOdsfV0="
23
+
},
24
+
"com/google/code/findbugs#jsr305/3.0.2": {
25
+
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
26
+
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
27
+
},
28
+
"com/google/errorprone#error_prone_annotations/2.0.18": {
29
+
"jar": "sha256-y0z62HC/VjoHGZ8+vqV2Pw3sRA/NoLMYZAsf6qeIZWs=",
30
+
"pom": "sha256-kUQScZLW9hLCNmgl3OrrI7DVMTC4Pgvx/+EH0UcKhIc="
31
+
},
32
+
"com/google/errorprone#error_prone_parent/2.0.18": {
33
+
"pom": "sha256-zxSZVSebB9TxHoF5hcEWSmnpMNc9t0QbQ6bvU7vShsQ="
34
+
},
35
+
"com/google/gradle#osdetector-gradle-plugin/1.6.1": {
36
+
"jar": "sha256-N/Sm2S8lh2Ls9i/XcYZSK77LXaGyDevHj4NhuFbfDac=",
37
+
"pom": "sha256-i4MRE6lOCXvEnh7KTTJ/0iNAVwRU1Ey7ccJSuZ5sTD8="
38
+
},
39
+
"com/google/guava#guava-parent/23.4-jre": {
40
+
"pom": "sha256-EO8XbFPNj5Wd7Wr3QFFumbX8IKogHjqRmLuSGUpqOTQ="
41
+
},
42
+
"com/google/guava#guava/23.4-jre": {
43
+
"jar": "sha256-JmKjPwn+urUCPdv1J4DLjSpuDEmiTbgJStwOlEgBqBA=",
44
+
"pom": "sha256-Iuu7g72VwApr6oeMtbm7imAuoSpmRnsM+k+XtBTqXQ4="
45
+
},
46
+
"com/google/j2objc#j2objc-annotations/1.1": {
47
+
"jar": "sha256-KZSn63jycQvT07+2ObLJTiGc7awNTQhNUW54wW3d7PY=",
48
+
"pom": "sha256-8MmMVx6Tp8tN0Y3w+jCPCWPnoGIKwtQkTmHnCdA61r4="
49
+
},
50
+
"kr/motd/maven#os-maven-plugin/1.6.0": {
51
+
"jar": "sha256-HNnWwIn5ZnEbx9lWSXaz/+ZRAmFqUkdoHMIwlc+90aw=",
52
+
"pom": "sha256-zRUfUQeKRnd7UPgoO4gqis4MCLu+F0RrP56mPIEi/Kg="
53
+
},
54
+
"org/beryx#badass-jlink-plugin/2.6.5": {
55
+
"jar": "sha256-WXeNmHfVtqkDyRN2ZfzzSoHFprSdPDpxt70FDJVSWrA=",
56
+
"pom": "sha256-ytOd1e29JuGnOxYHCShfkLTAjwmT85n2Qsley3Bs4LQ="
57
+
},
58
+
"org/beryx/jlink#org.beryx.jlink.gradle.plugin/2.6.5": {
59
+
"pom": "sha256-n3jKnoCItgThUQZCBW3b+WsQZ+zn/SZuZwc/y/dsW/Y="
60
+
},
61
+
"org/codehaus#codehaus-parent/4": {
62
+
"pom": "sha256-a4cjfejC4XQM+AYnx/POPhXeGTC7JQxVoeypT6PgFN8="
63
+
},
64
+
"org/codehaus/mojo#animal-sniffer-annotations/1.14": {
65
+
"jar": "sha256-IGgyC9a610TDZzqwSPZ+ML749RiZb6OAAzVWYAZpkF0=",
66
+
"pom": "sha256-GHnxmgWZHj7ZWRC5ZokzM5awxGeiFdxNH5ABhAS3KiY="
67
+
},
68
+
"org/codehaus/mojo#animal-sniffer-parent/1.14": {
69
+
"pom": "sha256-9RVQoGsUEL1JYssOcd8Lkhpgp+9Hv6nEgloUvnIxbuo="
70
+
},
71
+
"org/codehaus/mojo#mojo-parent/34": {
72
+
"pom": "sha256-Pjldb7xDwJo3dMrIaUzlJzmDBeo/1UktgOJa8n04Kpw="
73
+
},
74
+
"org/javamodularity#moduleplugin/1.4.0": {
75
+
"jar": "sha256-DsRpRPMp5s7qu+4mT39lW3VOz+qXti1zeROvm/cnWkk=",
76
+
"pom": "sha256-ys6MmZmVjsvuHC00/yZVxHvgOrtlFInDustCNl+e33s="
77
+
},
78
+
"org/javassist#javassist/3.23.1-GA": {
79
+
"jar": "sha256-0rFMCXY1IzdGJPMqCdbjH8sXQIKpet21ri1YC0dP2AY=",
80
+
"pom": "sha256-TBjLCfVKXn3uusVCUbXsZaXgSuRgZ/Mb3OMzwvDujJk="
81
+
},
82
+
"org/openjfx#javafx-plugin/0.0.7": {
83
+
"jar": "sha256-cMNMLi/MFLDiEkJuYhbX7xktB+i4fw3O8y1drZ+6tK0=",
84
+
"pom": "sha256-JVTXrl0EsYMJcp5LkHmy8iQKXTfr1GxrC97HZ8q/svk="
85
+
},
86
+
"org/openjfx/javafxplugin#org.openjfx.javafxplugin.gradle.plugin/0.0.7": {
87
+
"pom": "sha256-SybdZ/HqOekf+cyybnONJwR1DlhFYYajVz9QadOIe1U="
88
+
},
89
+
"org/ow2#ow2/1.5": {
90
+
"pom": "sha256-D4obEW52C4/mOJxRuE5LB6cPwRCC1Pk25FO1g91QtDs="
91
+
},
92
+
"org/ow2/asm#asm-analysis/7.0": {
93
+
"jar": "sha256-6YH49lDE2QC7AzZQsY4SL6axYerdX4iXjQh1H3LuhHQ=",
94
+
"pom": "sha256-xrVEd+nVuuHnrd/y4ky/kqr/L/CP1rwFlsOTPD+twss="
95
+
},
96
+
"org/ow2/asm#asm-commons/7.0": {
97
+
"jar": "sha256-/tNI7wWVjj6EajrAdKEq9feTbvPSHORKYsT6CKdxkn0=",
98
+
"pom": "sha256-9MaXiGzbSlskcgVKC140Nx6bSOYgvkDD7Ujh9LbVHrQ="
99
+
},
100
+
"org/ow2/asm#asm-tree/7.0": {
101
+
"jar": "sha256-z9egh0+d42qZnBJ/7q37/m4E1Kce6VTXrz2FPwvkimw=",
102
+
"pom": "sha256-05590S9P9TWgg50ZScOcdkQ1WkRwIgyUt2pcFoxXoGg="
103
+
},
104
+
"org/ow2/asm#asm-util/7.0": {
105
+
"jar": "sha256-dfu8pEDvRj9BwrCrGoCr5n6RCsSG2mCnhjy8tbrn4UU=",
106
+
"pom": "sha256-4HvOS7VdWgb0wQ2RL8ne6Km5wE7FSbu4208g2zRwb3U="
107
+
},
108
+
"org/ow2/asm#asm/7.0": {
109
+
"jar": "sha256-uI72ZGizyXitDJf9bpCXnlYVW0rGkIm6ekTpqn/+ms8=",
110
+
"pom": "sha256-g/ZbEIPVzk+Lp/lUXP6f8XgkWJyafMgsOkaVgB5PX2g="
111
+
},
112
+
"org/slf4j#slf4j-api/1.7.25": {
113
+
"jar": "sha256-GMSgCV1cHaa4F1kudnuyPSndL1YK1033X/OWHb3iW3k=",
114
+
"pom": "sha256-fNnXoLXZPf1GGhSIkbQ1Cc9AOpx/n7SQYNNVTfHIHh4="
115
+
},
116
+
"org/slf4j#slf4j-parent/1.7.25": {
117
+
"pom": "sha256-GPXFISDbA26I1hNviDnIMtB0vdqVx1bG9CkknS21SsY="
118
+
},
119
+
"org/sonatype/oss#oss-parent/7": {
120
+
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
121
+
},
122
+
"org/sonatype/oss#oss-parent/9": {
123
+
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
124
+
}
125
+
},
126
+
"https://repo.maven.apache.org/maven2/org": {
127
+
"openjfx#javafx-base/11.0.2": {
128
+
"jar": "sha256-Hy+IiY9U8aKeK1jKrrChEFBZigdSTyls2a72wAu5PQ8=",
129
+
"pom": "sha256-F/QWaIULgDukqDp+LZYDm2nwcniLvbqI4J/sgVegMpw="
130
+
},
131
+
"openjfx#javafx-base/11.0.2/linux": {
132
+
"jar": "sha256-hMNW8TRL/TqnS1WiOgzgeLTF5qm+iFPajeQV5ez81Bs="
133
+
},
134
+
"openjfx#javafx-controls/11.0.2": {
135
+
"jar": "sha256-YBBsLPUqfzHsobjQipUs9Lk7Wx2FSSp1XpeggIpp/5o=",
136
+
"pom": "sha256-WI5hxbroHQl2C2DYz7E7ERtC09RwwKCpnaBqtq/XjQM="
137
+
},
138
+
"openjfx#javafx-controls/11.0.2/linux": {
139
+
"jar": "sha256-wXIELPTOd/xon61lWSVrEbmcb7ic5f0bM9/DRLhqCpc="
140
+
},
141
+
"openjfx#javafx-fxml/11.0.2": {
142
+
"pom": "sha256-hqY8PXMIR6kmAEQ3YosWH88GXj0vrzSjwTjK4j3FDxg="
143
+
},
144
+
"openjfx#javafx-fxml/11.0.2/linux": {
145
+
"jar": "sha256-IsRLJbxYjfZiPgT6EnuLyCQj8flI6a/ySFr0pokOL5Q="
146
+
},
147
+
"openjfx#javafx-graphics/11.0.2": {
148
+
"jar": "sha256-3ukAoYanC66CZoRcVrA62aJOaXy1K6PaQhxgSQibNjg=",
149
+
"pom": "sha256-5O3+os2WNa3JLTqbp81ew6VqsbF+pKJWDRIr+97gU8g="
150
+
},
151
+
"openjfx#javafx-graphics/11.0.2/linux": {
152
+
"jar": "sha256-+yCVZOUN49jQVdmzzWnUahbT7xjsVRYvwTANFAip1QI="
153
+
},
154
+
"openjfx#javafx-media/11.0.2": {
155
+
"jar": "sha256-buLos8kx27mNmLuVqoIDP9tvQ839Vp5gYT21g0Yp0CU=",
156
+
"pom": "sha256-ea0fX/vvejwnrd8jvXYICIN23mLl1w/tQRKKMu0f0Ps="
157
+
},
158
+
"openjfx#javafx-media/11.0.2/linux": {
159
+
"jar": "sha256-SQgWhhxhQ6jpPDBRreX/ZcJ8h5zE0lSZmBQ3RnZDF9Y="
160
+
},
161
+
"openjfx#javafx-swing/11.0.2": {
162
+
"pom": "sha256-huvlJlgb5jeG3hJxPMFL23wVAwzPacjJ7lluwyUtB7M="
163
+
},
164
+
"openjfx#javafx-swing/11.0.2/linux": {
165
+
"jar": "sha256-5WLb2tBbKGTo3F75chsMmiyxcxWdpElqJ4K4zR5lsUw="
166
+
},
167
+
"openjfx#javafx-web/11.0.2": {
168
+
"pom": "sha256-VPT4QZplXM2lGzDG+canNTR6h9myctpnwMndXps/UcU="
169
+
},
170
+
"openjfx#javafx-web/11.0.2/linux": {
171
+
"jar": "sha256-FWUzbTr1okARbBPkPepcPZpnSWMnuCj6EL9n6unlsa8="
172
+
},
173
+
"openjfx#javafx/11.0.2": {
174
+
"pom": "sha256-vGfwPQ2VsXURSpjv/7E+RORq2eOsGe/w6OBjpudnWtg="
175
+
}
176
+
}
177
+
}