tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
jd-gui: convert to gradle setup hook
chayleaf
2 years ago
dcf6957b
346bfec1
+232
-61
2 changed files
expand all
collapse all
unified
split
pkgs
tools
security
jd-gui
default.nix
deps.json
+22
-61
pkgs/tools/security/jd-gui/default.nix
···
7
, gradle_6
8
, makeDesktopItem
9
, copyDesktopItems
10
-
, perl
11
-
, writeText
12
, runtimeShell
13
}:
14
···
16
pname = "jd-gui";
17
version = "1.6.6";
18
0
0
19
src = fetchFromGitHub {
20
owner = "java-decompiler";
21
repo = pname;
···
23
hash = "sha256-QHiZPYFwDQzbXVSuhwzQqBRXlkG9QVU+Jl6SKvBoCwQ=";
24
};
25
26
-
patches = [
27
-
# https://github.com/java-decompiler/jd-gui/pull/362
28
-
(fetchpatch {
29
-
name = "nebula-plugin-gradle-6-compatibility.patch";
30
-
url = "https://github.com/java-decompiler/jd-gui/commit/91f805f9dc8ce0097460e63c8095ccea870687e6.patch";
31
-
hash = "sha256-9eaM9Mx2FaKIhGSOHjATKN/CrtvJeXyrH8Mdx8LNtpE=";
32
-
})
33
-
];
34
-
35
-
deps = stdenv.mkDerivation {
36
-
name = "${pname}-deps";
37
-
inherit src patches;
38
-
39
-
nativeBuildInputs = [ jdk perl gradle_6 ];
40
-
41
-
buildPhase = ''
42
-
export GRADLE_USER_HOME=$(mktemp -d);
43
-
gradle --no-daemon jar
44
-
'';
45
-
46
-
# Mavenize dependency paths
47
-
# 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
48
-
installPhase = ''
49
-
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
50
-
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
51
-
| sh
52
-
'';
53
-
54
-
outputHashAlgo = "sha256";
55
-
outputHashMode = "recursive";
56
-
outputHash = "sha256-gqUyZE+MoZRYCcJx95Qc4dZIC3DZvxee6UQhpfveDI4=";
57
-
};
58
-
59
-
# Point to our local deps repo
60
-
gradleInit = writeText "init.gradle" ''
61
-
logger.lifecycle 'Replacing Maven repositories with ${deps}...'
62
-
63
-
gradle.projectsLoaded {
64
-
rootProject.allprojects {
65
-
buildscript {
66
-
repositories {
67
-
clear()
68
-
maven { url '${deps}' }
69
-
}
70
-
}
71
-
repositories {
72
-
clear()
73
-
maven { url '${deps}' }
74
-
}
75
-
}
76
-
}
77
-
'';
78
79
desktopItem = makeDesktopItem {
80
name = "jd-gui";
···
89
};
90
91
in stdenv.mkDerivation rec {
92
-
inherit pname version src patches;
93
-
name = "${pname}-${version}";
0
0
0
0
0
0
0
0
94
95
-
nativeBuildInputs = [ jdk gradle_6 copyDesktopItems ];
96
97
-
buildPhase = ''
98
-
export GRADLE_USER_HOME=$(mktemp -d)
99
-
gradle --offline --no-daemon --info --init-script ${gradleInit} jar
100
-
'';
0
0
0
0
101
102
installPhase = let
103
jar = "$out/share/jd-gui/${name}.jar";
···
7
, gradle_6
8
, makeDesktopItem
9
, copyDesktopItems
0
0
10
, runtimeShell
11
}:
12
···
14
pname = "jd-gui";
15
version = "1.6.6";
16
17
+
name = "${pname}-${version}";
18
+
19
src = fetchFromGitHub {
20
owner = "java-decompiler";
21
repo = pname;
···
23
hash = "sha256-QHiZPYFwDQzbXVSuhwzQqBRXlkG9QVU+Jl6SKvBoCwQ=";
24
};
25
26
+
gradle = gradle_6;
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
27
28
desktopItem = makeDesktopItem {
29
name = "jd-gui";
···
38
};
39
40
in stdenv.mkDerivation rec {
41
+
inherit pname version src;
42
+
43
+
patches = [
44
+
# https://github.com/java-decompiler/jd-gui/pull/362
45
+
(fetchpatch {
46
+
name = "nebula-plugin-gradle-6-compatibility.patch";
47
+
url = "https://github.com/java-decompiler/jd-gui/commit/91f805f9dc8ce0097460e63c8095ccea870687e6.patch";
48
+
hash = "sha256-9eaM9Mx2FaKIhGSOHjATKN/CrtvJeXyrH8Mdx8LNtpE=";
49
+
})
50
+
];
51
52
+
nativeBuildInputs = [ jdk gradle copyDesktopItems ];
53
54
+
mitmCache = gradle.fetchDeps {
55
+
inherit pname;
56
+
data = ./deps.json;
57
+
};
58
+
59
+
__darwinAllowLocalNetworking = true;
60
+
61
+
gradleBuildTask = "jar";
62
63
installPhase = let
64
jar = "$out/share/jd-gui/${name}.jar";
+210
pkgs/tools/security/jd-gui/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
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://jcenter.bintray.com": {
5
+
"com/bmuschko#gradle-docker-plugin/3.2.1": {
6
+
"jar": "sha256-BfgdS5EdMR7nrEhJ6/eLMD4HdDQY1OiaVZVCK/OAIxQ=",
7
+
"pom": "sha256-slOHkvEGJnUa9sjeAgdH/1E4kntOKfL69KjtOsFKzSE="
8
+
},
9
+
"com/fifesoft#rsyntaxtextarea/3.0.4": {
10
+
"jar": "sha256-76a7i/iJ6WnAwIGQ5AsolZbqDO3sA/7yNwGAdcsBSQU=",
11
+
"pom": "sha256-Dat8ku0cJsdYs0EjYsDXjQy4v2RB2i5q4FqGPAO3W64="
12
+
},
13
+
"com/netflix/nebula#gradle-ospackage-plugin/8.5.6": {
14
+
"jar": "sha256-sQK7oYx9F4OlcSgZj6/vNYr+/nIVufi783YpFCjvkGk=",
15
+
"module": "sha256-CQGrawL62gDjdBsDaCwdRtgDDQQ0aexWDIrl8jrwsYw=",
16
+
"pom": "sha256-zr2oKXDuN6bO9Ppzs81hOR+zFWseT5si55TrZ1yUdfs="
17
+
},
18
+
"com/thoughtworks/xstream#xstream-parent/1.4.10": {
19
+
"pom": "sha256-RncMfpQQkzv62s69yR5ekLAjxhoako27hXa2kh2DBsw="
20
+
},
21
+
"com/thoughtworks/xstream#xstream/1.4.10": {
22
+
"jar": "sha256-oVh/NfphdRNgfIbsnm5N5euKzfmjptf3RY+KjECwCFg=",
23
+
"pom": "sha256-pKn/aI9xPaPqwEQS5QoMml4XPmkh/kRt2wfUkB2aNBc="
24
+
},
25
+
"com/yuvimasory#orange-extensions/1.3.0": {
26
+
"jar": "sha256-M1gGPRjFV56evw/eRWQOqy1FJ9HummKDyTZ5zqRG3YY=",
27
+
"pom": "sha256-MBQbN96epg6iqwnPBCVAc4hHqKG8A1o7a9A2OsMvV7I="
28
+
},
29
+
"commons-beanutils#commons-beanutils/1.7.0": {
30
+
"jar": "sha256-JLyqIMy9x8hWzgwK6hRFZpQ0A+Lp8nvZd5zaHXaCPvQ=",
31
+
"pom": "sha256-tqymRloosCdobwJdV3AvkK0NEo4U0c/OygvYcfAIStk="
32
+
},
33
+
"commons-io#commons-io/2.6": {
34
+
"jar": "sha256-+HfTBGYKwqFC84ZbrfyXHex+1zx0fH+NXS9ROcpzZRM=",
35
+
"pom": "sha256-DCOGOJOiKR9aev29jRWSOzlIr9h+Vj+jQc3Pbq4zimA="
36
+
},
37
+
"commons-logging#commons-logging/1.2": {
38
+
"jar": "sha256-2t3qHqC+D1aXirMAa4rJKDSv7vvZt+TmMW/KV98PpjY=",
39
+
"pom": "sha256-yRq1qlcNhvb9B8wVjsa8LFAIBAKXLukXn+JBAHOfuyA="
40
+
},
41
+
"edu/sc/seis/gradle#launch4j/2.4.4": {
42
+
"jar": "sha256-Q3jZCBGaI9GKG9t0HAnL+KRhoNfFNSFo3PQHZmFC3FY=",
43
+
"pom": "sha256-Cfk0ecS6AgtilLVZvLVOHdRNsB+iLGDZLa0o0zHJFqs="
44
+
},
45
+
"junit#junit/4.12": {
46
+
"jar": "sha256-WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo=",
47
+
"pom": "sha256-kPFj944/+28cetl96efrpO6iWAcUG4XW0SvmfKJUScQ="
48
+
},
49
+
"net/sf/launch4j#launch4j/3.12": {
50
+
"pom": "sha256-rVGWVL75ed10qYwXKlR93sPNhWSAORnj296G05Srvpc="
51
+
},
52
+
"net/sf/launch4j#launch4j/3.12/core": {
53
+
"jar": "sha256-XUbxMJCI4cijjw9KV84ITUZBakNdG5OZW8OFKooysIU="
54
+
},
55
+
"net/sf/launch4j#launch4j/3.12/workdir-linux64": {
56
+
"jar": "sha256-XlgZsoDyUT9EfHBsXejU3OceVlxFMUv0+pv+0MXs57k="
57
+
},
58
+
"net/sf/proguard#proguard-base/6.1.0": {
59
+
"jar": "sha256-gdCEOhP5zuZehDy8c/Km8U/MeyfHxgEDyLxx3umFp24=",
60
+
"pom": "sha256-H39OO6GpBYFGL9Jn6eEWfiAcCk9h5pq1DUV/SMBQFXY="
61
+
},
62
+
"net/sf/proguard#proguard-gradle/6.1.0": {
63
+
"jar": "sha256-rQfrlm3lIewsMYLaYg0xpaNTTwXMjmDDlNG41EGCmvQ=",
64
+
"pom": "sha256-tEDYJgbG4nVImE2JcLeF8LWCJhvDhhecWS2VMKO6TzQ="
65
+
},
66
+
"net/sf/proguard#proguard-parent/6.1.0": {
67
+
"pom": "sha256-v7pHjLrr8KfIx139/iBxnls33nzAgA+iYjoFgOaJEXE="
68
+
},
69
+
"org/abego/treelayout#org.abego.treelayout.core/1.0.1": {
70
+
"jar": "sha256-grnjYxrMcIwRUhb6ePl3gNioHbt/FfjYIpGh3DqDsdA=",
71
+
"pom": "sha256-fIy/ymTpcEQNTyh/NRapbABpKgOU/KHVexKpepbw6hE="
72
+
},
73
+
"org/antlr#ST4/4.0.8": {
74
+
"jar": "sha256-WMqrxAyfdLC1mT/YaOD2SlDAdZCU5qJRqq+tmO38ejs=",
75
+
"pom": "sha256-PAiQ3scRdOs7o9QEyp40GQH/awQhgIsAcTsNuxMGwXw="
76
+
},
77
+
"org/antlr#antlr-master/3.5.2": {
78
+
"pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y="
79
+
},
80
+
"org/antlr#antlr-runtime/3.5.2": {
81
+
"jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=",
82
+
"pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU="
83
+
},
84
+
"org/antlr#antlr4-runtime/4.5": {
85
+
"jar": "sha256-tcQNVavm6kxWFPjxHoNy2YQ07TwRKNWLjuoduVWXN6s=",
86
+
"pom": "sha256-hRz5esL2utOZacMOx95PhBu2R1J/Rl7CDMur+yKHIpg="
87
+
},
88
+
"org/antlr#antlr4/4.5": {
89
+
"jar": "sha256-do7i3es2pP5kNMgFoTyVI41LZBPlL3ce0meKGEGOMNk=",
90
+
"pom": "sha256-4Mhs6hXMEO/K6UuvsOEADmv8xBgUK11ybNe8OyL+dwI="
91
+
},
92
+
"org/apache#apache/13": {
93
+
"pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0="
94
+
},
95
+
"org/apache#apache/18": {
96
+
"pom": "sha256-eDEwcoX9R1u8NrIK4454gvEcMVOx1ZMPhS1E7ajzPBc="
97
+
},
98
+
"org/apache#apache/19": {
99
+
"pom": "sha256-kfejMJbqabrCy69tAf65NMrAAsSNjIz6nCQLQPHsId8="
100
+
},
101
+
"org/apache#apache/21": {
102
+
"pom": "sha256-rxDBCNoBTxfK+se1KytLWjocGCZfoq+XoyXZFDU3s4A="
103
+
},
104
+
"org/apache/ant#ant-launcher/1.10.6": {
105
+
"jar": "sha256-wDqhjaSwHJ791kGYNkvC/PL7nqWElxYVup8aCaRoUCY=",
106
+
"pom": "sha256-CGuKg9hhebR7pgMeuGiOlGiKAz/qmW8ttwltSLIn6KY="
107
+
},
108
+
"org/apache/ant#ant-parent/1.10.6": {
109
+
"pom": "sha256-n+ReOBBPxGOdqFs4WdeUqT7oMkIrx57D5zfA/QvWmiA="
110
+
},
111
+
"org/apache/ant#ant-parent/1.9.1": {
112
+
"pom": "sha256-kQ71Ysi7ahrZAOGY9U2pG4bQ0o3wG8Eah9tlbZBv1us="
113
+
},
114
+
"org/apache/ant#ant/1.10.6": {
115
+
"jar": "sha256-bFy9iMELt61iTlY3oDdbAQ9AZ/ZJfNj85wtaXxDTtBo=",
116
+
"pom": "sha256-AEhxs7RrtMSGoyTlA3CgnKBY72zLhOp6Ceyks/Djx1c="
117
+
},
118
+
"org/apache/ant#ant/1.9.1": {
119
+
"pom": "sha256-wtNC6vx3d7G97/vmCp5NeRIOvV34/PwOY7TesMcOPFQ="
120
+
},
121
+
"org/apache/commons#commons-compress/1.18": {
122
+
"jar": "sha256-Xy3x5GeCXkysWZbUSJDEIBwAC0PAsjz/wHgtKKC+ubA=",
123
+
"pom": "sha256-Zyxf6SvT6rQ+jVMzjK1coHO2Up3k6ys4hZo+qmyegRk="
124
+
},
125
+
"org/apache/commons#commons-compress/1.8": {
126
+
"pom": "sha256-OPhEKHDCaR2YIlGfLP+46JxwQQBQt8RsuhdqiCGeRCk="
127
+
},
128
+
"org/apache/commons#commons-lang3/3.9": {
129
+
"jar": "sha256-3i4dzc8++ReozoWGYaBnJqmpRPKOM61/ngi+pE3DwjA=",
130
+
"pom": "sha256-pAIkKbmEJbQwGBkVchJ5pS9hDzRki9rEh9TKy76N/rU="
131
+
},
132
+
"org/apache/commons#commons-parent/33": {
133
+
"pom": "sha256-U9ABE1Li5RBvN52vzNrHdU7G8PeCQ8AwXklp9azd+Ps="
134
+
},
135
+
"org/apache/commons#commons-parent/34": {
136
+
"pom": "sha256-Oi5p0G1kHR87KTEm3J4uTqZWO/jDbIfgq2+kKS0Et5w="
137
+
},
138
+
"org/apache/commons#commons-parent/42": {
139
+
"pom": "sha256-zTE0lMZwtIPsJWlyrxaYszDlmPgHACNU63ZUefYEsJw="
140
+
},
141
+
"org/apache/commons#commons-parent/47": {
142
+
"pom": "sha256-io7LVwVTv58f+uIRqNTKnuYwwXr+WSkzaPunvZtC/Lc="
143
+
},
144
+
"org/apache/commons#commons-parent/48": {
145
+
"pom": "sha256-Hh996TcKe3kB8Sjx2s0UIr504/R/lViw954EwGN8oLQ="
146
+
},
147
+
"org/bouncycastle#bcpg-jdk15on/1.62": {
148
+
"jar": "sha256-+EduQ4RO2yAOoLL7OTWVLSI/O2syOmctcxYipLkpQ+A=",
149
+
"pom": "sha256-372CfVICQmFhq7AdlCOOakMDsvzWkp5sUpWPjW3wciY="
150
+
},
151
+
"org/bouncycastle#bcprov-jdk15on/1.62": {
152
+
"jar": "sha256-L6CrcbFU2imsE0CXvGu6zZCYfdTEAFUWFZ5klNHVLqI=",
153
+
"pom": "sha256-cA/nligsj+84xi/Cw974WM5EmrXzwiCINjYXVth5viY="
154
+
},
155
+
"org/hamcrest#hamcrest-core/1.3": {
156
+
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
157
+
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
158
+
},
159
+
"org/hamcrest#hamcrest-parent/1.3": {
160
+
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
161
+
},
162
+
"org/jd#jd-core/1.1.3": {
163
+
"jar": "sha256-M/YP91x33AiQXnZ2lKOPe2q3kr0uWDH0HitWNUu4Bvs=",
164
+
"pom": "sha256-n1Gs7cjKfNmu9LZ3nbLdOkFqcILMtO8Z67VHfBHG6wQ="
165
+
},
166
+
"org/ow2#ow2/1.5": {
167
+
"pom": "sha256-D4obEW52C4/mOJxRuE5LB6cPwRCC1Pk25FO1g91QtDs="
168
+
},
169
+
"org/ow2/asm#asm/7.1": {
170
+
"jar": "sha256-SrL6K20sycyx6qBeoynEB7R7E+0pFfYvjEuMyWJY1N4=",
171
+
"pom": "sha256-Dyl0Lq2mWIpGxnn0maZ1Xks5OXZwBPK9nAIBnP0dMYA="
172
+
},
173
+
"org/redline-rpm#redline/1.2.9": {
174
+
"jar": "sha256-zEe5s3Tr9DoPAmv4amdL9uNqVr04lqyIEcUIPTW79OE=",
175
+
"pom": "sha256-k94nVXykHsKx/LMHxAhtdDtYdig/41FRUi8oaJjmfGw="
176
+
},
177
+
"org/slf4j#slf4j-api/1.7.5": {
178
+
"jar": "sha256-/jCCUkXSM2yFncONYMD8XzZo2/Kc1YaCjStWZ+w1W5E=",
179
+
"pom": "sha256-r6+OdAGbIw0/Vv3XyT+xBwwNyjTz0tWrXeqfxha9XKQ="
180
+
},
181
+
"org/slf4j#slf4j-parent/1.7.5": {
182
+
"pom": "sha256-xDvFoCLb/Z3oK+Iy3/5GIIy8feEsFDhbXagk4zHlNbs="
183
+
},
184
+
"org/sonatype/oss#oss-parent/7": {
185
+
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
186
+
},
187
+
"org/sonatype/oss#oss-parent/9": {
188
+
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
189
+
},
190
+
"org/tukaani#xz/1.4": {
191
+
"pom": "sha256-/kqLT1R/okQ0L7r0pOgPDEg3HYXMQBtYUViRKENiWJI="
192
+
},
193
+
"org/tukaani#xz/1.8": {
194
+
"jar": "sha256-jHlks2/j8MvmRLBPy/+E5JHOgZF9svW/oMuo6VSK/10=",
195
+
"pom": "sha256-8p51y4jrSsv35apcCe1V6sLLrmAdY6nzdSMfRUUsEBM="
196
+
},
197
+
"org/vafer#jdeb/1.8": {
198
+
"jar": "sha256-N0/gKgkxTabsghngBVmOdgMjoavktxXMM84+KpvNqTI=",
199
+
"pom": "sha256-MQdFSRqXEzi0XcwhFMRt6GWvNOWLI96d2JJfEGFewBY="
200
+
},
201
+
"xmlpull#xmlpull/1.1.3.1": {
202
+
"jar": "sha256-NOCO5iEWBxy7acDtcNFaelsgjWJ5jFnyEgu4kpMky2M=",
203
+
"pom": "sha256-jxD/2N8NPpgZyMyEAnCcaySLxTqVTvbkVHDZrjpXNfs="
204
+
},
205
+
"xpp3#xpp3_min/1.1.4c": {
206
+
"jar": "sha256-v8kOnjLQ6rHzl/uXS18VCoFRiDgqxB83KnFJ1bwXgAg=",
207
+
"pom": "sha256-tbRqwMCdpBsE28dTRWtIkShWp/+7FJBnaRC1EMRx0T8="
208
+
}
209
+
}
210
+
}