Merge pull request #272380 from chayleaf/gradle2
gradle: add setup hook
This commit is contained in:
@@ -0,0 +1,189 @@
|
||||
# Gradle {#gradle}
|
||||
|
||||
Gradle is a popular build tool for Java/Kotlin. Gradle itself doesn't
|
||||
currently provide tools to make dependency resolution reproducible, so
|
||||
nixpkgs has a proxy designed for intercepting Gradle web requests to
|
||||
record dependencies so they can be restored in a reproducible fashion.
|
||||
|
||||
## Building a Gradle package {#building-a-gradle-package}
|
||||
|
||||
Here's how a typical derivation will look like:
|
||||
|
||||
```nix
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pdftk";
|
||||
version = "3.3.3";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "pdftk-java";
|
||||
repo = "pdftk";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-ciKotTHSEcITfQYKFZ6sY2LZnXGChBJy0+eno8B3YHY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gradle ];
|
||||
|
||||
# if the package has dependencies, mitmCache must be set
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit (finalAttrs) pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
# this is required for using mitm-cache on Darwin
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
gradleFlags = [ "-Dfile.encoding=utf-8" ];
|
||||
|
||||
# defaults to "assemble"
|
||||
gradleBuildTask = "shadowJar";
|
||||
|
||||
# will run the gradleCheckTask (defaults to "test")
|
||||
doCheck = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,share/pdftk}
|
||||
cp build/libs/pdftk-all.jar $out/share/pdftk
|
||||
|
||||
makeWrapper ${jre}/bin/java $out/bin/pdftk \
|
||||
--add-flags "-jar $out/share/pdftk/pdftk-all.jar"
|
||||
|
||||
cp ${finalAttrs.src}/pdftk.1 $out/share/man/man1
|
||||
'';
|
||||
|
||||
meta.sourceProvenance = with lib.sourceTypes; [
|
||||
fromSource
|
||||
binaryBytecode # mitm cache
|
||||
];
|
||||
})
|
||||
```
|
||||
|
||||
To update (or initialize) dependencies, run the update script via
|
||||
something like `$(nix-build -A <pname>.mitmCache.updateScript)`
|
||||
(`nix-build` builds the `updateScript`, `$(...)` runs the script at the
|
||||
path printed by `nix-build`).
|
||||
|
||||
If your package can't be evaluated using a simple `pkgs.<pname>`
|
||||
expression (for example, if your package isn't located in nixpkgs, or if
|
||||
you want to override some of its attributes), you will usually have to
|
||||
pass `pkg` instead of `pname` to `gradle.fetchDeps`. There are two ways
|
||||
of doing it.
|
||||
|
||||
The first is to add the derivation arguments required for getting the
|
||||
package. Using the pdftk example above:
|
||||
|
||||
```nix
|
||||
{ lib
|
||||
, stdenv
|
||||
# ...
|
||||
, pdftk
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
# ...
|
||||
mitmCache = gradle.fetchDeps {
|
||||
pkg = pdftk;
|
||||
data = ./deps.json;
|
||||
};
|
||||
})
|
||||
```
|
||||
|
||||
This allows you to `override` any arguments of the `pkg` used for
|
||||
the update script (for example, `pkg = pdftk.override { enableSomeFlag =
|
||||
true };`), so this is the preferred way.
|
||||
|
||||
The second is to create a `let` binding for the package, like this:
|
||||
|
||||
```nix
|
||||
let self = stdenv.mkDerivation {
|
||||
# ...
|
||||
mitmCache = gradle.fetchDeps {
|
||||
pkg = self;
|
||||
data = ./deps.json;
|
||||
};
|
||||
}; in self
|
||||
```
|
||||
|
||||
This is useful if you can't easily pass the derivation as its own
|
||||
argument, or if your `mkDerivation` call is responsible for building
|
||||
multiple packages.
|
||||
|
||||
In the former case, the update script will stay the same even if the
|
||||
derivation is called with different arguments. In the latter case, the
|
||||
update script will change depending on the derivation arguments. It's up
|
||||
to you to decide which one would work best for your derivation.
|
||||
|
||||
## Update Script {#gradle-update-script}
|
||||
|
||||
The update script does the following:
|
||||
|
||||
- Build the derivation's source via `pkgs.srcOnly`
|
||||
- Enter a `nix-shell` for the derivation in a `bwrap` sandbox (the
|
||||
sandbox is only used on Linux)
|
||||
- Set the `IN_GRADLE_UPDATE_DEPS` environment variable to `1`
|
||||
- Run the derivation's `unpackPhase`, `patchPhase`, `configurePhase`
|
||||
- Run the derivation's `gradleUpdateScript` (the Gradle setup hook sets
|
||||
a default value for it, which runs `preBuild`, `preGradleUpdate`
|
||||
hooks, fetches the dependencies using `gradleUpdateTask`, and finally
|
||||
runs the `postGradleUpdate` hook)
|
||||
- Finally, store all of the fetched files' hashes in the lockfile. They
|
||||
may be `.jar`/`.pom` files from Maven repositories, or they may be
|
||||
files otherwise used for building the package.
|
||||
|
||||
`fetchDeps` takes the following arguments:
|
||||
|
||||
- `attrPath` - the path to the package in nixpkgs (for example,
|
||||
`"javaPackages.openjfx22"`). Used for update script metadata.
|
||||
- `pname` - an alias for `attrPath` for convenience. This is what you
|
||||
will generally use instead of `pkg` or `attrPath`.
|
||||
- `pkg` - the package to be used for fetching the dependencies. Defaults
|
||||
to `getAttrFromPath (splitString "." attrPath) pkgs`.
|
||||
- `bwrapFlags` - allows you to override bwrap flags (only relevant for
|
||||
downstream, non-nixpkgs projects)
|
||||
- `data` - path to the dependencies lockfile (can be relative to the
|
||||
package, can be absolute). In nixpkgs, it's discouraged to have the
|
||||
lockfiles be named anything other `deps.json`, consider creating
|
||||
subdirectories if your package requires multiple `deps.json` files.
|
||||
|
||||
## Environment {#gradle-environment}
|
||||
|
||||
The Gradle setup hook accepts the following environment variables:
|
||||
|
||||
- `mitmCache` - the MITM proxy cache imported using `gradle.fetchDeps`
|
||||
- `gradleFlags` - command-line flags to be used for every Gradle
|
||||
invocation (this simply registers a function that uses the necessary
|
||||
flags).
|
||||
- You can't use `gradleFlags` for flags that contain spaces, in that
|
||||
case you must add `gradleFlagsArray+=("-flag with spaces")` to the
|
||||
derivation's bash code instead.
|
||||
- If you want to build the package using a specific Java version, you
|
||||
can pass `"-Dorg.gradle.java.home=${jdk}"` as one of the flags.
|
||||
- `gradleBuildTask` - the Gradle task (or tasks) to be used for building
|
||||
the package. Defaults to `assemble`.
|
||||
- `gradleCheckTask` - the Gradle task (or tasks) to be used for checking
|
||||
the package if `doCheck` is set to `true`. Defaults to `test`.
|
||||
- `gradleUpdateTask` - the Gradle task (or tasks) to be used for
|
||||
fetching all of the package's dependencies in
|
||||
`mitmCache.updateScript`. Defaults to `nixDownloadDeps`.
|
||||
- `gradleUpdateScript` - the code to run for fetching all of the
|
||||
package's dependencies in `mitmCache.updateScript`. Defaults to
|
||||
running the `preBuild` and `preGradleUpdate` hooks, running the
|
||||
`gradleUpdateTask`, and finally running the `postGradleUpdate` hook.
|
||||
- `gradleInitScript` - path to the `--init-script` to pass to Gradle. By
|
||||
default, a simple init script that enables reproducible archive
|
||||
creation is used.
|
||||
- Note that reproducible archives might break some builds. One example
|
||||
of an error caused by it is `Could not create task ':jar'. Replacing
|
||||
an existing task that may have already been used by other plugins is
|
||||
not supported`. If you get such an error, the easiest "fix" is
|
||||
disabling reproducible archives altogether by setting
|
||||
`gradleInitScript` to something like `writeText
|
||||
"empty-init-script.gradle" ""`
|
||||
- `enableParallelBuilding` / `enableParallelChecking` /
|
||||
`enableParallelUpdating` - pass `--parallel` to Gradle in the
|
||||
build/check phase or in the update script. Defaults to true. If the
|
||||
build fails for mysterious reasons, consider setting this to false.
|
||||
- `dontUseGradleConfigure` / `dontUseGradleBuild` / `dontUseGradleCheck`
|
||||
\- force disable the Gradle setup hook for certain phases.
|
||||
- Note that if you disable the configure hook, you may face issues
|
||||
such as `Failed to load native library 'libnative-platform.so'`,
|
||||
because the configure hook is responsible for initializing Gradle.
|
||||
@@ -2,20 +2,22 @@
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, gradle_7
|
||||
, perl
|
||||
, makeWrapper
|
||||
, writeText
|
||||
, jdk
|
||||
, gsettings-desktop-schemas
|
||||
}:
|
||||
|
||||
let
|
||||
gradle = gradle_7;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mucommander";
|
||||
version = "1.3.0-1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mucommander";
|
||||
repo = "mucommander";
|
||||
rev = version;
|
||||
rev = finalAttrs.version;
|
||||
sha256 = "sha256-rSHHv96L2EHQuKBSAdpfi1XGP2u9o2y4g1+65FHWFMw=";
|
||||
};
|
||||
|
||||
@@ -23,72 +25,19 @@ let
|
||||
# there is no .git anyway
|
||||
substituteInPlace build.gradle \
|
||||
--replace "git = grgit.open(dir: project.rootDir)" "" \
|
||||
--replace "id 'org.ajoberstar.grgit' version '3.1.1'" "" \
|
||||
--replace "revision = git.head().id" "revision = '${version}'"
|
||||
--replace "revision = git.head().id" "revision = '${finalAttrs.version}'"
|
||||
'';
|
||||
|
||||
# fake build to pre-download deps into fixed-output derivation
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "mucommander-deps";
|
||||
inherit version src postPatch;
|
||||
nativeBuildInputs = [ gradle_7 perl ];
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --no-daemon tgz
|
||||
'';
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
# reproducible by sorting
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
|
||||
| LC_ALL=C sort \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
# copy maven-metadata.xml for commons-codec
|
||||
# thankfully there is only one xml
|
||||
cp $GRADLE_USER_HOME/caches/modules-2/resources-2.1/*/*/maven-metadata.xml $out/commons-codec/commons-codec/maven-metadata.xml
|
||||
'';
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-9tCcUg7hDNbkZiQEWtVRsUUfms73aU+vt5tQsfknM+E=";
|
||||
nativeBuildInputs = [ gradle makeWrapper ];
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit (finalAttrs) pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mucommander";
|
||||
inherit version src postPatch;
|
||||
nativeBuildInputs = [ gradle_7 perl makeWrapper ];
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
# 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}' }
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
settingsEvaluated { settings ->
|
||||
settings.pluginManagement {
|
||||
repositories {
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
|
||||
gradle --offline --init-script ${gradleInit} --no-daemon tgz
|
||||
'';
|
||||
gradleBuildTask = "tgz";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/mucommander
|
||||
@@ -107,4 +56,4 @@ stdenv.mkDerivation rec {
|
||||
platforms = platforms.all;
|
||||
mainProgram = "mucommander";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
+1064
File diff suppressed because it is too large
Load Diff
-42
@@ -1,42 +0,0 @@
|
||||
From 33d8de9ccce7eecb12542e0fc11131b5101e1aa8 Mon Sep 17 00:00:00 2001
|
||||
From: Maximilian Bosch <maximilian@mbosch.me>
|
||||
Date: Sat, 26 Feb 2022 12:33:13 +0100
|
||||
Subject: [PATCH] Fetch buildconfig during gradle build inside Nix FOD
|
||||
|
||||
---
|
||||
build.gradle | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index ea3fea1..01e444d 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -82,6 +82,9 @@ static String getVersion() {
|
||||
|
||||
repositories {
|
||||
maven {url "https://gitlab.com/api/v4/groups/6853927/-/packages/maven"} // https://gitlab.com/groups/signald/-/packages
|
||||
+ maven {
|
||||
+ url "https://plugins.gradle.org/m2/"
|
||||
+ }
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
@@ -101,6 +104,8 @@ dependencies {
|
||||
implementation 'io.prometheus:simpleclient:0.16.0'
|
||||
implementation 'io.prometheus:simpleclient_hotspot:0.16.0'
|
||||
implementation 'io.prometheus:simpleclient_httpserver:0.16.0'
|
||||
+ implementation 'com.github.gmazzo.buildconfig:com.github.gmazzo.buildconfig.gradle.plugin:3.0.3'
|
||||
+ implementation 'org.jetbrains.kotlin:kotlin-scripting-jvm:1.7.10'
|
||||
implementation 'com.squareup.okhttp3:logging-interceptor:4.10.0'
|
||||
implementation 'io.sentry:sentry:6.11.0'
|
||||
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.0'
|
||||
@@ -170,4 +175,4 @@ allprojects {
|
||||
runtime {
|
||||
options = ['--strip-java-debug-attributes', '--compress', '2', '--no-header-files', '--no-man-pages']
|
||||
modules = ['java.base', 'java.management', 'java.naming', 'java.sql', 'java.xml', 'jdk.crypto.ec', 'jdk.httpserver', 'java.desktop', 'jdk.unsupported']
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
--
|
||||
2.38.3
|
||||
|
||||
-71
@@ -1,71 +0,0 @@
|
||||
From 4bf0aef4003f7494103a93ae1c2957b2cd32bb59 Mon Sep 17 00:00:00 2001
|
||||
From: Maximilian Bosch <maximilian@mbosch.me>
|
||||
Date: Sat, 26 Feb 2022 12:36:15 +0100
|
||||
Subject: [PATCH 2/2] buildconfig/local deps fixes
|
||||
|
||||
---
|
||||
build.gradle | 26 ++++++++++++++++++--------
|
||||
1 file changed, 18 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index ea3fea1..24415d8 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -10,11 +10,21 @@ import org.gradle.nativeplatform.platform.internal.ArchitectureInternal
|
||||
import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
|
||||
import org.gradle.nativeplatform.platform.internal.OperatingSystemInternal
|
||||
|
||||
+buildscript {
|
||||
+ repositories {
|
||||
+ maven {
|
||||
+ url(uri("@deps@"))
|
||||
+ }
|
||||
+ }
|
||||
+ dependencies {
|
||||
+ classpath "com.github.gmazzo:gradle-buildconfig-plugin:3.0.3"
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
plugins {
|
||||
- id 'com.github.gmazzo.buildconfig' version '3.0.3'
|
||||
- id 'org.beryx.runtime' version '1.12.7'
|
||||
id 'application'
|
||||
}
|
||||
+apply plugin: "com.github.gmazzo.buildconfig"
|
||||
|
||||
compileJava.options.encoding = 'UTF-8'
|
||||
|
||||
@@ -82,7 +92,10 @@ static String getVersion() {
|
||||
|
||||
repositories {
|
||||
maven {url "https://gitlab.com/api/v4/groups/6853927/-/packages/maven"} // https://gitlab.com/groups/signald/-/packages
|
||||
- mavenCentral()
|
||||
+ mavenLocal()
|
||||
+ maven {
|
||||
+ url uri("@deps@")
|
||||
+ }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -101,6 +114,8 @@ dependencies {
|
||||
implementation 'io.prometheus:simpleclient:0.16.0'
|
||||
implementation 'io.prometheus:simpleclient_hotspot:0.16.0'
|
||||
implementation 'io.prometheus:simpleclient_httpserver:0.16.0'
|
||||
+ implementation 'com.github.gmazzo.buildconfig:com.github.gmazzo.buildconfig.gradle.plugin:3.0.3'
|
||||
+ implementation 'org.jetbrains.kotlin:kotlin-scripting-jvm:1.7.10'
|
||||
implementation 'com.squareup.okhttp3:logging-interceptor:4.10.0'
|
||||
implementation 'io.sentry:sentry:6.11.0'
|
||||
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.0'
|
||||
@@ -166,8 +181,3 @@ allprojects {
|
||||
}
|
||||
}
|
||||
}
|
||||
-
|
||||
-runtime {
|
||||
- options = ['--strip-java-debug-attributes', '--compress', '2', '--no-header-files', '--no-man-pages']
|
||||
- modules = ['java.base', 'java.management', 'java.naming', 'java.sql', 'java.xml', 'jdk.crypto.ec', 'jdk.httpserver', 'java.desktop', 'jdk.unsupported']
|
||||
-}
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.38.3
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
{ lib, stdenv, fetchFromGitLab, jdk17_headless, coreutils, findutils, gnused,
|
||||
gradle, git, perl, makeWrapper, substituteAll, jre_minimal
|
||||
gradle, git, makeWrapper, jre_minimal
|
||||
}:
|
||||
|
||||
# NOTE: when updating the package, please check if some of the hacks in `deps.installPhase`
|
||||
# can be removed again!
|
||||
|
||||
let
|
||||
pname = "signald";
|
||||
version = "0.23.2";
|
||||
@@ -16,8 +13,6 @@ let
|
||||
hash = "sha256-EofgwZSDp2ZFhlKL2tHfzMr3EsidzuY4pkRZrV2+1bA=";
|
||||
};
|
||||
|
||||
gradleWithJdk = gradle.override { java = jdk17_headless; };
|
||||
|
||||
jre' = jre_minimal.override {
|
||||
jdk = jdk17_headless;
|
||||
# from https://gitlab.com/signald/signald/-/blob/0.23.0/build.gradle#L173
|
||||
@@ -37,76 +32,19 @@ let
|
||||
];
|
||||
};
|
||||
|
||||
# fake build to pre-download deps into fixed-output derivation
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit src version;
|
||||
nativeBuildInputs = [ gradleWithJdk perl ];
|
||||
patches = [ ./0001-Fetch-buildconfig-during-gradle-build-inside-Nix-FOD.patch ];
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --no-daemon build
|
||||
'';
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/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 -x
|
||||
|
||||
# WARNING: don't try this at home and wear safety-goggles while working with this!
|
||||
# We patch around in the dependency tree to resolve some spurious dependency resolution errors.
|
||||
# Whenever this package gets updated, please check if some of these hacks are obsolete!
|
||||
|
||||
# Mimic existence of okio-3.2.0.jar. Originally known as okio-jvm-3.2.0 (and renamed),
|
||||
# but gradle doesn't detect such renames, only fetches the latter and then fails
|
||||
# in `signald.buildPhase` because it cannot find `okio-3.2.0.jar`.
|
||||
pushd $out/com/squareup/okio/okio/3.2.0 &>/dev/null
|
||||
cp -v ../../okio-jvm/3.2.0/okio-jvm-3.2.0.jar okio-3.2.0.jar
|
||||
popd &>/dev/null
|
||||
|
||||
# For some reason gradle fetches 2.14.1 instead of 2.14.0 here even though 2.14.0 is required
|
||||
# according to `./gradlew -q dependencies`, so we pretend to have 2.14.0 available here.
|
||||
# According to the diff in https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.14.0...jackson-dataformats-text-2.14.1
|
||||
# the only relevant change is in the code itself (and in the tests/docs), so this seems
|
||||
# binary-compatible.
|
||||
cp -v \
|
||||
$out/com/fasterxml/jackson/dataformat/jackson-dataformat-toml/2.14.1/jackson-dataformat-toml-2.14.1.jar \
|
||||
$out/com/fasterxml/jackson/dataformat/jackson-dataformat-toml/2.14.0/jackson-dataformat-toml-2.14.0.jar
|
||||
'';
|
||||
# Don't move info to share/
|
||||
forceShare = [ "dummy" ];
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
# Downloaded jars differ by platform
|
||||
outputHash = {
|
||||
x86_64-linux = "sha256-9DHykkvazVBN2kfw1Pbejizk/R18v5w8lRBHZ4aXL5Q=";
|
||||
aarch64-linux = "sha256-RgAiRbUojBc+9RN/HpAzzpTjkjZ6q+jebDsqvah5XBw=";
|
||||
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
inherit pname src version;
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./0002-buildconfig-local-deps-fixes.patch;
|
||||
inherit deps;
|
||||
})
|
||||
];
|
||||
|
||||
passthru = {
|
||||
# Mostly for debugging purposes.
|
||||
inherit deps;
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradleFlags = [ "-Dorg.gradle.java.home=${jdk17_headless}" ];
|
||||
|
||||
gradle --offline --no-daemon distTar
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
gradleBuildTask = "distTar";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
@@ -120,10 +58,19 @@ in stdenv.mkDerivation {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ git gradleWithJdk makeWrapper ];
|
||||
nativeBuildInputs = [ git gradle makeWrapper ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
gradleUpdateScript = ''
|
||||
runHook preBuild
|
||||
|
||||
SIGNALD_TARGET=x86_64-unknown-linux-gnu gradle nixDownloadDeps
|
||||
SIGNALD_TARGET=aarch64-unknown-linux-gnu gradle nixDownloadDeps
|
||||
SIGNALD_TARGET=x86_64-apple-darwin gradle nixDownloadDeps
|
||||
SIGNALD_TARGET=aarch64-apple-darwin gradle nixDownloadDeps
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Unofficial daemon for interacting with Signal";
|
||||
longDescription = ''
|
||||
@@ -138,6 +85,6 @@ in stdenv.mkDerivation {
|
||||
];
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ expipiplus1 ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,528 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://gitlab.com/api/v4/groups/6853927/-/packages/maven/org": {
|
||||
"signald#libsignal-client-aarch64-apple-darwin/0.21.1": {
|
||||
"jar": "sha256-GZyZBUokXraIAXXRoGMFoU48FzUym80J0XU2o/fbEgE=",
|
||||
"module": "sha256-Z6k9Pt5ac5il2uK2ngQn0Mc8utSRChIl+pO7UeOmbJs=",
|
||||
"pom": "sha256-b2SOa4rB+2SGAohZpsv7ZNUKPrcCBIONBiflsaLJA7A="
|
||||
},
|
||||
"signald#libsignal-client-aarch64-unknown-linux-gnu/0.21.1": {
|
||||
"jar": "sha256-qkF5S7OwiRTABFoAWsXn2WsRCKe+GIcDeX+ENFjbhQg=",
|
||||
"module": "sha256-Y/ir3VC1oORyDy19ZOctnIcDxgm+tbZSbKKz9VcBh3E=",
|
||||
"pom": "sha256-E5pDb3MphJnKuE6xfizHrJ4qWXu4Tfv1hWPzynRkx+g="
|
||||
},
|
||||
"signald#libsignal-client-x86_64-apple-darwin/0.21.1": {
|
||||
"jar": "sha256-Xc+eIRMlTTReDigOlcPxD4sIm44cwKoJ63tGBxx10pk=",
|
||||
"module": "sha256-g2GHQh5ThVjmHn7Fiq4j0cPQDpZWl4Lx8kNq8E754fQ=",
|
||||
"pom": "sha256-AHphg71FAR4tLhOXJP0TfHtSRothQmXL9h6/Vy2fg2I="
|
||||
},
|
||||
"signald#libsignal-client-x86_64-unknown-linux-gnu/0.21.1": {
|
||||
"jar": "sha256-b9C1XUATmYS+QyZZT0twxY8e5VBYPX4PGc4KwMuz3MY=",
|
||||
"module": "sha256-LdJQ1bGMcVuW5gMxwXNfco0fk9EqKUR3/dcXK9/f+uI=",
|
||||
"pom": "sha256-vQvRDMrMPzs26mkIGyWealXU9n+F1zUsYi+0mGmB4Pc="
|
||||
},
|
||||
"signald#signal-service-java-aarch64-apple-darwin/2.15.3_unofficial_65": {
|
||||
"jar": "sha256-AWLSsBwoo2bA95cX7cUZr8djin+pzrg7uQklKB5HaX8=",
|
||||
"module": "sha256-Kx4rUnEcn7UqES53q7SBDzM1SrPYRW9hLyy8bTUpGqE=",
|
||||
"pom": "sha256-lIWISMl3ZO1DTH0UvwrFWsWNvTT2T/l8XMnbVu64b90="
|
||||
},
|
||||
"signald#signal-service-java-aarch64-unknown-linux-gnu/2.15.3_unofficial_65": {
|
||||
"jar": "sha256-rnh3En9Apq4zZPNCWCpat3bJwjegnWmfKclyWq9WV38=",
|
||||
"module": "sha256-+ul/buZ1z6UMjhTWY4wrhz9sYrOOiOvbuLg3qSpxJKI=",
|
||||
"pom": "sha256-4Bt4nts4B+MZJMVAjrxB5b85TaHhEfcslDDegkCVy7Y="
|
||||
},
|
||||
"signald#signal-service-java-x86_64-apple-darwin/2.15.3_unofficial_65": {
|
||||
"jar": "sha256-Hkig/2S8txhBKyyzRcloqwc5rMhDELTbRSzy4XGg7Sw=",
|
||||
"module": "sha256-e/U5v2nGOG3VbIHh0GDFBdIRo+qp3SyiTcsrum9T7gk=",
|
||||
"pom": "sha256-B+8twiic8oQYWENG9d9ETv4eyYfdEuT6U0aNj87rB48="
|
||||
},
|
||||
"signald#signal-service-java-x86_64-unknown-linux-gnu/2.15.3_unofficial_65": {
|
||||
"jar": "sha256-+p3jm8+Bg96BUIQdGT6LHczAhMfSqQVm5OlP5g+bEEs=",
|
||||
"module": "sha256-GKfQ5h9vzUQL+1pNejIPyb1yjhtVn8CkkAGyaUr5RBM=",
|
||||
"pom": "sha256-MCAEHWahZHEhR7FP7tDKII+FZM41e3Sc3fVuWwN8GhI="
|
||||
}
|
||||
},
|
||||
"https://plugins.gradle.org/m2": {
|
||||
"com/github/gmazzo#gradle-buildconfig-plugin/3.0.3": {
|
||||
"jar": "sha256-ql6AIOvktizdRYn07XFhq1wkSlIJ5eWey7lFOP312to=",
|
||||
"pom": "sha256-EVUqzLXaH59nxdNJoUjwxAP6MJKT85Vcc1qOvY1XH8I="
|
||||
},
|
||||
"com/github/gmazzo/buildconfig#com.github.gmazzo.buildconfig.gradle.plugin/3.0.3": {
|
||||
"pom": "sha256-U2RlL3aMVri6eXtNL2AEDerbGlzB6lvG0gfFF88d7W4="
|
||||
},
|
||||
"com/github/gundy#semver4j/0.16.4": {
|
||||
"jar": "sha256-3vm0Il+jchnhj4HQHw5S1z3KElejj1R1vp3Vj4dzZRA=",
|
||||
"pom": "sha256-MgAdskQ7M53SH1t5/ynRreci0boIDCFL3oGfD3LRYE0="
|
||||
},
|
||||
"com/google/code/gson#gson-parent/2.8.6": {
|
||||
"pom": "sha256-NzZGOFnsGSZyleiUlAroKo9oRBMDESL+Nc58/34wp3Q="
|
||||
},
|
||||
"com/google/code/gson#gson/2.8.6": {
|
||||
"jar": "sha256-yPtIOQVNKAswM/gA0fWpfeLwKOuLoutFitKH5Tbz8l8=",
|
||||
"pom": "sha256-IXRBWmRzMtMP2gS9HPxwij7MhOr3UX9ZYYjYJE4QORE="
|
||||
},
|
||||
"com/squareup#javapoet/1.11.1": {
|
||||
"jar": "sha256-nL8hB75JnsbpWv02tY48oSKiQWbN03VzLlEmfWQFjpA=",
|
||||
"pom": "sha256-+fP8Lz85koufe74oEXW3R9O1Wgkh8wLi4g0J7o5Bw+w="
|
||||
},
|
||||
"com/squareup#kotlinpoet/1.0.1": {
|
||||
"jar": "sha256-vqGIRbA8fGXPkfc5iLoBlQuuZ5nDxRgrVo/nHN2JSqE=",
|
||||
"pom": "sha256-R0rbJYzTlWjOYNanxzBoFzo6BhZ25AGBBVKnXiPuxdU="
|
||||
},
|
||||
"de/undercouch#gradle-download-task/4.0.2": {
|
||||
"jar": "sha256-lSy/zF8hvuzLWSXMW6ZIrwmDklhEHdRNCH1kpX006Ho=",
|
||||
"pom": "sha256-YvKRaNwv+1gMRKpgIfZVBRqcsKSN/Ue8fk6MpvljrbA="
|
||||
},
|
||||
"org/antlr#antlr4-master/4.5.2-1": {
|
||||
"pom": "sha256-U1i0eNglVatXr9f8cjHWA7QPl3vnyjn0DF7FTnZ+tnQ="
|
||||
},
|
||||
"org/antlr#antlr4-runtime/4.5.2-1": {
|
||||
"jar": "sha256-6DFBMAS87tfZFcOhdZJ7Haq8SXS3uKb4e7zohtNVA5g=",
|
||||
"pom": "sha256-k7rJtrxxTVWZBO1DJCeCqMvlQ86/AQS7PswXhqnLZh4="
|
||||
},
|
||||
"org/apache#apache/19": {
|
||||
"pom": "sha256-kfejMJbqabrCy69tAf65NMrAAsSNjIz6nCQLQPHsId8="
|
||||
},
|
||||
"org/apache/commons#commons-lang3/3.8.1": {
|
||||
"jar": "sha256-2sgH9lsHaY/zmxsHv+89h64/1G2Ru/iivAKyqDFhb2g=",
|
||||
"pom": "sha256-7I4J91QRaFIFvQ2deHLMNiLmfHbfRKCiJ7J4vqBEWNU="
|
||||
},
|
||||
"org/apache/commons#commons-parent/47": {
|
||||
"pom": "sha256-io7LVwVTv58f+uIRqNTKnuYwwXr+WSkzaPunvZtC/Lc="
|
||||
},
|
||||
"org/beryx#badass-runtime-plugin/1.12.7": {
|
||||
"jar": "sha256-N3Mx2VyxIFb6U6Qt9/RfF4svqG1sWF9w74TRIz0RB0U=",
|
||||
"pom": "sha256-9vIy9OpH3sXV5y4jWaQG+pMd8/M2fiVdMmkkCAPBtkk="
|
||||
},
|
||||
"org/beryx/runtime#org.beryx.runtime.gradle.plugin/1.12.7": {
|
||||
"pom": "sha256-95lWpL5pLmiBvaBnA0zUDOOqFX8ti9VWS5wAKWxrK3M="
|
||||
},
|
||||
"org/jetbrains#annotations/13.0": {
|
||||
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
|
||||
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
|
||||
},
|
||||
"org/jetbrains/intellij/deps#trove4j/1.0.20181211": {
|
||||
"jar": "sha256-r/t8haPIe9z2n/HbuE3hH2PckxKTk0vAjNerGN4INgE=",
|
||||
"pom": "sha256-MQpqotkFNMMrj0bx/JjNDtrpXc38oj4oR+Xvqa4MAZo="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-android-extensions/1.4.31": {
|
||||
"jar": "sha256-SNfgjtYPscadJ/VyBaihHEcdaBM55nlEpL0L8sLht5A=",
|
||||
"pom": "sha256-6ezdB6SaaAPWXoSb5064ff36iLtElaSDK1zJJbvv2BY="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-annotation-processing-gradle/1.4.31": {
|
||||
"jar": "sha256-E11Hgji/ecK6L8FKIgRG3uj3TmiyP5ELwuTRmBorcG0=",
|
||||
"pom": "sha256-GkmFH2YJ3/XRCK5UUb76mNEcNYUsz7XZiOmqeBiUw4I="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-common/1.4.31": {
|
||||
"jar": "sha256-2AXnlC+1fSIUHUODV8TAIv8bIa78+yRd3SLqa3SGKrQ=",
|
||||
"pom": "sha256-DIaSpl7cpUpc/Pp9s+9OLx9nafNTf4jrMwWvw4PBwhw="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-embeddable/1.4.31": {
|
||||
"jar": "sha256-X0oOX3T+lrzUzRQxfISlbnsGpqwW2z2+cMOwaAdzOZ4=",
|
||||
"pom": "sha256-DWc4Z/LPQirjQPVloRWgPrtcdVxVe9bZyiiGTcw4iyQ="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-runner/1.4.31": {
|
||||
"jar": "sha256-Ybrn0tzI82KaPrIUkKmsVTU8Io+iPdfids7u3jeHisE=",
|
||||
"pom": "sha256-Yhlloc7kdCcFwWEjv1oN7mTkLZohXrDEvHMj40tEWxs="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-client/1.4.31": {
|
||||
"jar": "sha256-fQJ+9Vrx3JC8BiRn8sjBbAwMlhZ2JdtAnyEhCSjtZAk=",
|
||||
"pom": "sha256-edI2i+n6TYGBCdixMynI1WMVJSzTV69R9YzgT6f0izw="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-embeddable/1.4.31": {
|
||||
"jar": "sha256-l9xXBLT9JbFamx7X/9hJiqWAeHf7ar5Ni2bW0Qs5zzY=",
|
||||
"pom": "sha256-L94ntYnr0Y2EFnb7sh4/pi2ZD25eqqbKq1K0vgDj5+s="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/1.4.31": {
|
||||
"jar": "sha256-fAuO07UHXmM0/+rpg6Io9LFEUmMenUl9FhwMKiMN4mI=",
|
||||
"pom": "sha256-MggUaX5sg1nwXU46eBVdL3MetImMyyXfUCKz+VT1vMc="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-model/1.4.31": {
|
||||
"jar": "sha256-9ATALOZ7ahMo2s4i2TW+/cZmBdzdziaVEBvkZshZJqk=",
|
||||
"pom": "sha256-6EvVpsF+h0q9cIlbQcWI9I/mmzcq6rQTTVW8V2Dzp8s="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin/1.4.31": {
|
||||
"jar": "sha256-/MsDW9vopXkf6e2zvUknrFByoMf9/UzFWDukRv8dfc8=",
|
||||
"pom": "sha256-UQ2wwA85guaiBXihK97GuNB7d8Mdag2amJJw1Jl71kQ="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-reflect/1.4.31": {
|
||||
"jar": "sha256-kfrQtCl0p9WBHjCmHwVwbhdrFEI1cXxt5+geOngQKPI=",
|
||||
"pom": "sha256-jkm6uEPdhV8xXIfjkMUpqcojkSHYv/uFs6z6L2BgNpc="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-script-runtime/1.4.31": {
|
||||
"jar": "sha256-t/j6k4MVJ2wTV7xr+VUDTUZ+20JCuxKjlscPNqxI0/k=",
|
||||
"pom": "sha256-BnvN9hLIGnhfkdeSR4VpM6ulX9gUEAk8US6Qp+VOs4c="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-common/1.4.31": {
|
||||
"jar": "sha256-7Gb0SktBsyUsvAkcnXwJa8i7WaIRGCt913xmlPCXfzw=",
|
||||
"pom": "sha256-SZt/nSwkShmt9lDZOmOKIUYYm555w57W2jok/N1EQOU="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/1.4.31": {
|
||||
"jar": "sha256-0t+NwkUxRqwnvOwBiQxM9rBNGIZbFtnTFWYcqoc4c5I=",
|
||||
"pom": "sha256-08xMx05y+9GrwJI5/eU/y2DkqAiZqokUfHIqzjN3MRY="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/1.4.31": {
|
||||
"jar": "sha256-oWYNbJIDA+MEgTI51PjKD/gB8iQl1C3454+twFe6fAY=",
|
||||
"pom": "sha256-v1odNDN3icu4zbwipO9OGBnUod+yoRdRjnRc+PrrBVE="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-jvm/1.4.31": {
|
||||
"jar": "sha256-/A0P+l0IOsnJS8f4aUmgV+L5cRISs/xyt0X2eLPM/6o=",
|
||||
"pom": "sha256-ZwY1ME+KCaH0smigpfb/klIwc7DNootBdASK6tfLHyk="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-common/1.4.31": {
|
||||
"jar": "sha256-V5YvRDcadGtnghiggCqHEsYlUgbemmnt4hXjqksERwg=",
|
||||
"pom": "sha256-FYKrEwto/LuJsukVVzwfmfi6O8aP3UUfazYtbFM1MYc="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/1.4.31": {
|
||||
"jar": "sha256-dqWZ2IsWforJCHm22qcixq00UrpxTJq6Gb0ZZUS5fxw=",
|
||||
"pom": "sha256-hRnj56xe5wBSfuEEiOtDLxqhBtzN3nwGw7qyWKHdvU4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-util-io/1.4.31": {
|
||||
"jar": "sha256-742OP5+fXt4dcNPcIXRsiQySCi9APVaeHNW1KIE6XMA=",
|
||||
"pom": "sha256-0JWe1skYAwhX/3VMyTLA44GDawd4IsoChO5uftTyItY="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-util-klib/1.4.31": {
|
||||
"jar": "sha256-K8ihVTz6jLbeitaN50bY+thxQbF3SfCLpQcMaUxr2W0=",
|
||||
"pom": "sha256-4VfHncwf0BzZaSstV21gbs9q8hGHhv6gTa/IBLpm93c="
|
||||
},
|
||||
"org/jetbrains/kotlinx#kotlinx-coroutines-core/1.3.8": {
|
||||
"jar": "sha256-+Mi3SF1KV1445elJRVOdHU7M0yKKGZ4amqCU6MJhdO4=",
|
||||
"pom": "sha256-JP+mW9+32JM0nLLnj7NxSkkN0KnAc3V0S7E26YBIB/0="
|
||||
},
|
||||
"org/ow2#ow2/1.5": {
|
||||
"pom": "sha256-D4obEW52C4/mOJxRuE5LB6cPwRCC1Pk25FO1g91QtDs="
|
||||
},
|
||||
"org/ow2/asm#asm-analysis/9.1": {
|
||||
"jar": "sha256-gaiAQbG4vtpaiplkYJgEbEhwlTgnDEne9oq/8lrDvjQ=",
|
||||
"pom": "sha256-rFRUwRsDQxypUd9x+06GyMTIDfaXn5W3V8rtOrD0cVY="
|
||||
},
|
||||
"org/ow2/asm#asm-commons/9.1": {
|
||||
"jar": "sha256-r8sm3B/BLAxKma2mcJCN2C4Y38SIyvXuklRplrRwwAw=",
|
||||
"pom": "sha256-oPZRsnuK/pwOYS16Ambqy197HHh7xLWsgkXz16EYG38="
|
||||
},
|
||||
"org/ow2/asm#asm-tree/9.1": {
|
||||
"jar": "sha256-/QCvpJ6VlddkYgWwnOy0p3ao/wugby1ZuPe/nHBLSnM=",
|
||||
"pom": "sha256-tqANkgfANUYPgcfXDtQSU/DSFmUr7UX6GjBS/81QuUw="
|
||||
},
|
||||
"org/ow2/asm#asm-util/9.1": {
|
||||
"jar": "sha256-OA4uzRb3zA8adrqboEkXm1dgpXsoKoekxlPK7/LNW9Y=",
|
||||
"pom": "sha256-jd108aHiuTxwnZdtAgXnT7850AVwPJYmpe1cxXTK+88="
|
||||
},
|
||||
"org/ow2/asm#asm/9.1": {
|
||||
"jar": "sha256-zaTeRV+rSP8Ly3xItGOUR9TehZp6/DCglKmG8JNr66I=",
|
||||
"pom": "sha256-xoOpDdaPKxeIy9/EZH6pQF71kls3HBmfj9OdRNPO3o0="
|
||||
},
|
||||
"org/slf4j#slf4j-api/1.7.25": {
|
||||
"jar": "sha256-GMSgCV1cHaa4F1kudnuyPSndL1YK1033X/OWHb3iW3k=",
|
||||
"pom": "sha256-fNnXoLXZPf1GGhSIkbQ1Cc9AOpx/n7SQYNNVTfHIHh4="
|
||||
},
|
||||
"org/slf4j#slf4j-parent/1.7.25": {
|
||||
"pom": "sha256-GPXFISDbA26I1hNviDnIMtB0vdqVx1bG9CkknS21SsY="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/fasterxml#oss-parent/48": {
|
||||
"pom": "sha256-EbuiLYYxgW4JtiOiAHR0U9ZJGmbqyPXAicc9ordJAU8="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-base/2.14.0": {
|
||||
"pom": "sha256-tZryboho1AOOURYUvXa7t0A2NXOVGWAvEOfaCTFYKw8="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-base/2.14.1": {
|
||||
"pom": "sha256-GAFdG6y6mhRiWovxlBH1v62C0AYN83snvQLngTLEZ24="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-bom/2.14.0": {
|
||||
"pom": "sha256-SfD44IeIL07MwxErYBt91RKZRyOklDo3oQ7LgHMiZso="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-bom/2.14.1": {
|
||||
"pom": "sha256-eP35nlBQ/EhfQRfauMzL+2+mxoOF6184oJtlU3HUpsw="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-parent/2.14": {
|
||||
"pom": "sha256-CQat2FWuOfkjV9Y/SFiJsI/KTEOl/kM1ItdTROB1exk="
|
||||
},
|
||||
"com/fasterxml/jackson/core#jackson-annotations/2.14.1": {
|
||||
"jar": "sha256-0lW0uGP/jscUqPlvpVw0Yh1D27grgtP1dHZJakwJ4ec=",
|
||||
"module": "sha256-JnpoC7csvXUsdreeuQiuDAq+sRT8scIKlnjwN4iYues=",
|
||||
"pom": "sha256-id8WI4ax7eg6iATpCDlw0aYr310caenpkUdhtGf4CIM="
|
||||
},
|
||||
"com/fasterxml/jackson/core#jackson-core/2.14.1": {
|
||||
"jar": "sha256-ARQYfilrNMkxwb+eWoQVK2K/q30YL1Yj85gtwto15SY=",
|
||||
"module": "sha256-fIuANfkA8/HL2wa4x53CsYsR9q+hOwt0cZzuNJ/0wyk=",
|
||||
"pom": "sha256-dHse68uLbe8o+u7cCSN0jxwVP8aksNjjsLyo3l/aY38="
|
||||
},
|
||||
"com/fasterxml/jackson/core#jackson-databind/2.14.1": {
|
||||
"jar": "sha256-QjoMgG3ks/petKKGmDBeOjd3xzHhvPobLzo3YMe253M=",
|
||||
"module": "sha256-2BeXfIprCq7aUZ+yp7jcugKzjDwnICT62jLFzOfj08s=",
|
||||
"pom": "sha256-etsj1tdG7c+UbRwGKxmP+aAmwOIrMHuNXXnB4IU4xjU="
|
||||
},
|
||||
"com/fasterxml/jackson/dataformat#jackson-dataformat-toml/2.14.0": {
|
||||
"module": "sha256-CsCosk9G8UO74qeQCyh914XgMRuf7s92MG2Is1aJBl0=",
|
||||
"pom": "sha256-UbvlEh00Ij7Yc8nN6DWTvDl+mCSkknNvv7wuA65QrhA="
|
||||
},
|
||||
"com/fasterxml/jackson/dataformat#jackson-dataformat-toml/2.14.1": {
|
||||
"jar": "sha256-EwRbLsSlXKVS8JF5N83Qt7rp1a5AnJVfbw0We5HIYkE=",
|
||||
"module": "sha256-fYt0DCgjZAjWkDDdCewOQgy08dBIZEhM/muNxnJro8g=",
|
||||
"pom": "sha256-k3qvGFoaW0g5TmkQusBVM+iPu8ICREy5aZ2D4BpNprc="
|
||||
},
|
||||
"com/fasterxml/jackson/dataformat#jackson-dataformats-text/2.14.0": {
|
||||
"pom": "sha256-6tGzXPQ8iianI2wDCKi/w+5InCkyiOBRPqvLXnIyS4o="
|
||||
},
|
||||
"com/fasterxml/jackson/dataformat#jackson-dataformats-text/2.14.1": {
|
||||
"pom": "sha256-+jI/nD8sJtfMzU4hNgkQRRVNRdwcFmHU+HakcfVix1k="
|
||||
},
|
||||
"com/google/code/findbugs#jsr305/3.0.2": {
|
||||
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
|
||||
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
|
||||
},
|
||||
"com/google/protobuf#protobuf-bom/3.21.11": {
|
||||
"pom": "sha256-b8t65uskGL00Pp3E4ED3nFk+9W957j0NKiEZzk/nr7Q="
|
||||
},
|
||||
"com/google/protobuf#protobuf-bom/3.21.12": {
|
||||
"pom": "sha256-O72GqUBXpnHmPVX532EsZBlz1ecNba4qtFYk/xrfUcU="
|
||||
},
|
||||
"com/google/protobuf#protobuf-javalite/3.21.11": {
|
||||
"jar": "sha256-2HsppVT9lD3WH0lPJjeyDeKI27EsS87oXp/k4q2JRFM=",
|
||||
"pom": "sha256-RnCf68zs39yLZXU+9Bs5E7cPC2Ipu7U5XYCYXtziW/U="
|
||||
},
|
||||
"com/google/protobuf#protobuf-javalite/3.21.12": {
|
||||
"jar": "sha256-z2eKs/vJkvS0ZUqGwDVXwhkE1jUgK2doj8suykQsLUA=",
|
||||
"pom": "sha256-JX9QiTSYkVb912RUQ9uf4lbX06pEx93oMCfYHW6MutQ="
|
||||
},
|
||||
"com/google/protobuf#protobuf-parent/3.21.11": {
|
||||
"pom": "sha256-kZpCn8dl43GYT5jpgoEcn6jMTqxgt0tEJM/NgMruCG8="
|
||||
},
|
||||
"com/google/protobuf#protobuf-parent/3.21.12": {
|
||||
"pom": "sha256-fj44jW/7fyDmb/JfRbk3i0Igt7L9Jh9rO8IGs9/4u8g="
|
||||
},
|
||||
"com/googlecode/libphonenumber#libphonenumber-parent/8.12.54": {
|
||||
"pom": "sha256-MzfHf0YxCWHoxuXPv4zgRDIXpDNqhqRneipt5U8mqHo="
|
||||
},
|
||||
"com/googlecode/libphonenumber#libphonenumber/8.12.54": {
|
||||
"jar": "sha256-sjeB0pk7ailmUzsvWOEfM5L8FB+J6NVYNdo4Nl3guuk=",
|
||||
"pom": "sha256-/SZ9HcfjYSkf+MEAbrBvTv2isfEt/jhTXZVf/sDBl/E="
|
||||
},
|
||||
"com/kohlschutter#kohlschutter-parent-multirelease/1.5.1": {
|
||||
"pom": "sha256-m8IGSgNZlu+KoTo39gEtr+wrj7Ixf0gK0vYOcUu/BTM="
|
||||
},
|
||||
"com/kohlschutter#kohlschutter-parent/1.5.1": {
|
||||
"pom": "sha256-QOM4M3T7g/qqpHW7scFy920D5DLYbpgsnfTO+ZQDh40="
|
||||
},
|
||||
"com/kohlschutter/junixsocket#junixsocket-common/2.6.1": {
|
||||
"jar": "sha256-k9Eg4tSd31v97oJYdi/IdLJsZX8Cf41szBoFUVa/zeE=",
|
||||
"pom": "sha256-RRjCFVtlyk9jbQJRRBK1kIFdbAsYKMsV8vUlXcA2Qzo="
|
||||
},
|
||||
"com/kohlschutter/junixsocket#junixsocket-native-common/2.6.1": {
|
||||
"jar": "sha256-Yfu9bP0rbfZcDnsZsW/091XWyx0zO1ZvQoZAfxLxhnA=",
|
||||
"pom": "sha256-t4zAQTztX2+M2jYiG5Yg0Bq4PPJMlwN2vEqH31S4jAQ="
|
||||
},
|
||||
"com/kohlschutter/junixsocket#junixsocket/2.6.1": {
|
||||
"pom": "sha256-crOETfvf8/Nc6WPPHBro4cxJa/SoJMYFYb6QQvVHtfQ="
|
||||
},
|
||||
"com/squareup/okhttp3#logging-interceptor/4.10.0": {
|
||||
"jar": "sha256-JzuiGGNsNPegkcBZ0VlgBUPgPqi+7yxfxWUltHOWFg4=",
|
||||
"module": "sha256-/MsMrtTFnKXjEketzz+Zu9FeWn8NI8me4UbeMd0BhSI=",
|
||||
"pom": "sha256-t/v3nfpIMFDEygZTdhoh0A1YWBkVUHo9nVGctmJgv98="
|
||||
},
|
||||
"com/squareup/okhttp3#okhttp/4.10.0": {
|
||||
"jar": "sha256-dYDxT6FpEgbjcIGtP5IGOxYDsyjaC7MW8v7wLgVi5+w=",
|
||||
"module": "sha256-bDBwggtZH17IwpSEl7Wmt0L0krcVvKz0t1EVs6j/qxU=",
|
||||
"pom": "sha256-x/kgsofIOOHYHipj+Gd7svqZE3BYorEeZTWv3pyBoOU="
|
||||
},
|
||||
"com/squareup/okio#okio-jvm/3.2.0": {
|
||||
"jar": "sha256-tkK670xXAFXeTLPRZnsrFtztkB/4BmNFoGNpGqBgJaQ=",
|
||||
"module": "sha256-p3jzkIXtar/NaHESmGxjhapXrC2IQLIdlGs8IJXzDqQ=",
|
||||
"pom": "sha256-XEUflKdr6oYbbvK/hOj1cgBUWWjIZVWr3+0Tx8otSJ0="
|
||||
},
|
||||
"com/squareup/okio#okio/3.2.0": {
|
||||
"module": "sha256-aB9c7BcN5FuVST6e5wWGjrNa34mO4G+W4i0ZclDBsQQ=",
|
||||
"pom": "sha256-i0b1jZua6xF4Nh1YpoZfTa1mWTDF/3tV4LqmHvOpcqE="
|
||||
},
|
||||
"info/picocli#picocli/4.7.0": {
|
||||
"jar": "sha256-P2/7EM6FPvL2+TS0Z8zBPJwXCLTYOhpWZP2wfgeOjhw=",
|
||||
"pom": "sha256-TeCd0zhFd9Vzo9lP85jNe4SUbEJkDzhSva2X9yl0YXQ="
|
||||
},
|
||||
"io/prometheus#parent/0.16.0": {
|
||||
"pom": "sha256-citVEZCXsE1xFHnftg3VSye1kgoa63cCAnxEohX/xZY="
|
||||
},
|
||||
"io/prometheus#simpleclient/0.16.0": {
|
||||
"jar": "sha256-IsN08jf3vE/bHw7C2jecC6AOaa0v/otq3lQ9cwYtN38=",
|
||||
"pom": "sha256-/sCA0HqxWHXZccSugflR2mG1z/mZHPUOUwuo/KR3CXM="
|
||||
},
|
||||
"io/prometheus#simpleclient_common/0.16.0": {
|
||||
"jar": "sha256-66bsJs5+QMu4cl4F+4Mkep9PRJRbnnUi4zdd3me58Fk=",
|
||||
"pom": "sha256-d/ARCc4VB710Q+InJzdnSydST6rLDcuW47jt4LarnrY="
|
||||
},
|
||||
"io/prometheus#simpleclient_hotspot/0.16.0": {
|
||||
"jar": "sha256-E08VbP60TL04ZAZYBu9dtVQ8aK9XjR1+5ZKD4umFP3M=",
|
||||
"pom": "sha256-0haTfecjEg+3pMiLksW+oZEa+4i6dtDUjxdprYW2dek="
|
||||
},
|
||||
"io/prometheus#simpleclient_httpserver/0.16.0": {
|
||||
"jar": "sha256-yrh94QtqR0FRzO68O2NDKalz/7YCzm7+8sD9l6kDZcg=",
|
||||
"pom": "sha256-PGR/1vVhohsZ7ZcdBBn9Ri2fg/k0e8ChBaHCie6qqsQ="
|
||||
},
|
||||
"io/prometheus#simpleclient_tracer/0.16.0": {
|
||||
"pom": "sha256-OBK7IrlfgbTDRg6eTnXDunL6ReRDqfzlMghCqr0OmcI="
|
||||
},
|
||||
"io/prometheus#simpleclient_tracer_common/0.16.0": {
|
||||
"jar": "sha256-6Ep4SsjiTxgu5i2oC2tcgUB3S3W/pL+cw9O4OQ22JfY=",
|
||||
"pom": "sha256-X5AHXOz80RKB3pzLSJaNEhKyRnDWhP/IQEQaUq6HXv8="
|
||||
},
|
||||
"io/prometheus#simpleclient_tracer_otel/0.16.0": {
|
||||
"jar": "sha256-oqhMWb7zeWu3+cbyrot96LkFMT7ygYCsPef/Yd1o3z8=",
|
||||
"pom": "sha256-frl58dwz6L5OWtFDDlQJcYpBeDwmd5qzEFJg9rQ20EY="
|
||||
},
|
||||
"io/prometheus#simpleclient_tracer_otel_agent/0.16.0": {
|
||||
"jar": "sha256-etK7QN90p3LZ9URaPQNXm0nWs3pH1ekPbPP1ns9BrQY=",
|
||||
"pom": "sha256-VSj4WIQ1SulNm8BnR+f1iS0JLAtVBVrnBWZo6gyhznw="
|
||||
},
|
||||
"io/reactivex/rxjava3#rxjava/3.0.13": {
|
||||
"jar": "sha256-WYq69x28lw3Qcn5tX094bcmZ31uXLL8mExajLhVbLGk=",
|
||||
"module": "sha256-khiPWj8bL7xUkxB3AKetrnAsHXc8TO02auitkjj2q+g=",
|
||||
"pom": "sha256-yZCmX0c2tGOe0X1nhMqUdtPClRuGUqAKVnbAKHw24OQ="
|
||||
},
|
||||
"io/sentry#sentry/6.11.0": {
|
||||
"jar": "sha256-77Huk5ks2xQSGMB71siYkzkvwzzcAaqHZjOuJNc8Wa4=",
|
||||
"pom": "sha256-gOTkmRGslV0gUJp3OFODNyge4TUUFCIslXFpoyfWIfc="
|
||||
},
|
||||
"org/apache#apache/24": {
|
||||
"pom": "sha256-LpO7q+NBOviaDDv7nmv3Hbyej5+xTMux14vQJ13xxSU="
|
||||
},
|
||||
"org/apache/logging#logging-parent/5": {
|
||||
"pom": "sha256-3HYwz4LLMfTUdiFgVCIa/9UldG7pZUEkD0UvcyNwMCI="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j-api/2.19.0": {
|
||||
"jar": "sha256-XMskrZ+S52jQvEVtMGGnN5USYt+APgBNLK0Ja3WojWA=",
|
||||
"pom": "sha256-DKkiQ2MurHxkRF8mO+UDBLdaerv7eIXNbIH1cRJ01KU="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j-bom/2.19.0": {
|
||||
"pom": "sha256-jGp6wVCpGKIpBzNf1VZpFHMe14E2l3DVJfZMDQf+h+c="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j-core/2.19.0": {
|
||||
"jar": "sha256-tKF5b6t7/DbfAVwbQFJFkUeZfo0hWnGZ1x0F+edH5PQ=",
|
||||
"pom": "sha256-c1r8+2E2GCqidn62RZdhr9MrgleR1OCJXqGpSyrbmzk="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j/2.19.0": {
|
||||
"pom": "sha256-FWJLoaVtv4ZGBgdFMlM2GPoytGQvcoUfy+kuE2vq7JQ="
|
||||
},
|
||||
"org/apiguardian#apiguardian-api/1.1.2": {
|
||||
"jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=",
|
||||
"module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=",
|
||||
"pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA="
|
||||
},
|
||||
"org/bouncycastle#bcprov-jdk15on/1.70": {
|
||||
"jar": "sha256-jzwg4+LVZdJvM+jUhXo30Nf4rDm2KnAmSW/Ksb2sMNQ=",
|
||||
"pom": "sha256-bfS1t22QYgF2ZK0MooXlcVSugDYHy4nJcLOcwOAWq7A="
|
||||
},
|
||||
"org/checkerframework#checker-qual/3.5.0": {
|
||||
"jar": "sha256-cpmQs/GKlWBvwlc4NraVi820TLUr+9G3qpwznP81paQ=",
|
||||
"pom": "sha256-KDazuKeO2zGhgDWS5g/HZ7IfLRkHZGMbpu+gg3uzVyE="
|
||||
},
|
||||
"org/flywaydb#flyway-core/9.10.2": {
|
||||
"jar": "sha256-OAf+3K2+ykuLiUCW0R2+zX8qosfO2QrDmM9/fgWzhT4=",
|
||||
"pom": "sha256-2xICRB2Ebg6wWLppHmJbvq4p7Dj7HgmRtdsbhrxoeSE="
|
||||
},
|
||||
"org/flywaydb#flyway-parent/9.10.2": {
|
||||
"pom": "sha256-HPI2yGyMqSFnUC8Fjw/IUagPpXG5UvEWUGhAqcIbOHg="
|
||||
},
|
||||
"org/jetbrains#annotations/13.0": {
|
||||
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
|
||||
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-common/1.6.20": {
|
||||
"jar": "sha256-jaQKJSDTDcsQEhdv6T0k6C0Io+NGw34DQ7D7b2T2vgE=",
|
||||
"pom": "sha256-PgTMk1HVzsQqRcBg+HM/bpTrx+NZExClGOBuiFB4mcg="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.6.10": {
|
||||
"pom": "sha256-YSIR/5MPW1LHJP92NBfVqigd1+AyXDs1yNGBIKao300="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.6.20": {
|
||||
"jar": "sha256-qi+i6BNVxNmN2X2iFpv0AfhCJhN49bHL6hqhGFXWdiA=",
|
||||
"pom": "sha256-iBveiiNwhuKOA0KLTvMmj0SspfoajHb4lUdIRVyuvSE="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.6.10": {
|
||||
"pom": "sha256-Q6ZJ+nN7+zX6SvTm3jPi8IpdGRBNdYLqQNvNK2N5Csw="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.6.20": {
|
||||
"jar": "sha256-/asb8SDiteerbXiI6evAJOxrjKcpNhKWOV2rY0shNpU=",
|
||||
"pom": "sha256-GEap+GBLC+HHGiEovb2diQJyAnlCf2ItK5pECsmjwwk="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/1.6.20": {
|
||||
"jar": "sha256-7rUcK2eyYjP9gdC8T4BE7ISXGIkJBXY87/2Eox4st5k=",
|
||||
"pom": "sha256-oI6D3LDymFCYd94i1SZEZHbdsx6hx3Uw8sgfJNsWb5k="
|
||||
},
|
||||
"org/junit#junit-bom/5.9.0": {
|
||||
"module": "sha256-oFTq9QFrWLvN6GZgREp8DdPiyvhNKhrV/Ey1JZecGbk=",
|
||||
"pom": "sha256-2D6H8Wds3kQZHuxc2mkEkjkvJpI7HkmBSMpznf7XUpU="
|
||||
},
|
||||
"org/junit#junit-bom/5.9.1": {
|
||||
"module": "sha256-kCbBZWaQ+hRa117Og2dCEaoSrYkwqRsQfC9c3s4vGxw=",
|
||||
"pom": "sha256-sWPBz8j8H9WLRXoA1YbATEbphtdZBOnKVMA6l9ZbSWw="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-api/5.9.0": {
|
||||
"jar": "sha256-PjcLy7HoV/2l8LIDckEW0CsF54j6oeslGIFKzPnPtbE=",
|
||||
"module": "sha256-n5LPF5V1xN9pgpRwTRDxLozHFdaC+yDtzYrbxB/H8PQ=",
|
||||
"pom": "sha256-ap2MRpjcjGkE1qwfXRMBiqf4KESbxbjO94/BQxzgghc="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-engine/5.9.0": {
|
||||
"jar": "sha256-24bLszUnGfoKl4AO39CcIEY8fyq0oEaZJEQwvYlUWDs=",
|
||||
"module": "sha256-sVnltbYmIiOP1v0oZPigEsHfbbK7JvEMqA4dIqzOLx0=",
|
||||
"pom": "sha256-qLfR7QMvuStDJY140jmwGcX1g02swIT5l4PjTD7hLL8="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-params/5.9.0": {
|
||||
"jar": "sha256-uM73mC3VPfhMlXpumsie3pZ88ubZNA70xReG4gVIxBs=",
|
||||
"module": "sha256-QUkSewrR3JKJdqY4WIer3wpD9oNlRLK614OUh2kJenE=",
|
||||
"pom": "sha256-DDOljPiR2vvGIfPG2cyCMnCDHrOxib3juIbMMDmQ/Ww="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter/5.9.0": {
|
||||
"jar": "sha256-LbLkqitegv78vxjQryDICVpD6UrZq50WvYdVfNqjl90=",
|
||||
"module": "sha256-a1AJDfWdSZ4ycr41ULiBJdXJGojhzbSaEsLwi+p6hds=",
|
||||
"pom": "sha256-Imsy40Pt4WvSls+36xXhmaFOQBxUJulUOsUDrM1E3JI="
|
||||
},
|
||||
"org/junit/platform#junit-platform-commons/1.9.0": {
|
||||
"jar": "sha256-5YlLcQCUtMqvxigLiCmkOft2SQHqCuGNBu2AOIswm3o=",
|
||||
"module": "sha256-SyAzP4ruVOgwRY2B0EXrjRfcBCTTEzKNtQmpzCSZsXo=",
|
||||
"pom": "sha256-MJp9efG/577WChoXCKqovXGGHBKdIWhNaO305NnILCA="
|
||||
},
|
||||
"org/junit/platform#junit-platform-engine/1.9.0": {
|
||||
"jar": "sha256-quxzX3REqfwFXiBlmN49gpwk6ceo7qbv3usZYgh/6BE=",
|
||||
"module": "sha256-/3Xx1hE/RdWyXyUpUE3tiDmGoBLJtD0hrUI5jknXEGM=",
|
||||
"pom": "sha256-G2rN+hUNaWYlIHYAAcaONlhl1o7xMNGZblK5SD7IYWE="
|
||||
},
|
||||
"org/opentest4j#opentest4j/1.2.0": {
|
||||
"jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=",
|
||||
"pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ="
|
||||
},
|
||||
"org/postgresql#postgresql/42.5.1": {
|
||||
"jar": "sha256-iei/+os3uUh5RgEsaQzwTzEDlTBRwcGT2I7ja2jTZa4=",
|
||||
"pom": "sha256-R8t/RdAe0XyJ5mNlrU4v8anBR5AX35QhAPSgjLYyIRw="
|
||||
},
|
||||
"org/reactivestreams#reactive-streams/1.0.3": {
|
||||
"jar": "sha256-He4EgQctGckptiPhVeFNL2CF3AEVKaCg2+/ITPVx2GU=",
|
||||
"pom": "sha256-zO1GcXX0JXgz9ssHUQ/5ezx1oG4aWNiCo515hT1RxgI="
|
||||
},
|
||||
"org/slf4j#slf4j-api/2.0.5": {
|
||||
"jar": "sha256-9KKXRQkpGsxJ/aSnmw1Z4V4rUkCV1kIcZjkbkjh69Mk=",
|
||||
"pom": "sha256-nvLaYxSfXZ7M9608lTzfwSTrbRR79444YA9Z9gXF1G4="
|
||||
},
|
||||
"org/slf4j#slf4j-nop/2.0.5": {
|
||||
"jar": "sha256-qY7YTal6RbnblFVrKH4vWW6h3qz4j4qw0ivRt+jvANk=",
|
||||
"pom": "sha256-uCIqkKiTH/PY63GgELA8JGCqBWfKaWQvUCXulWd/Ga4="
|
||||
},
|
||||
"org/slf4j#slf4j-parent/2.0.5": {
|
||||
"pom": "sha256-FwsRsEgVAFw7TMbfeckYQ+C5UPhbWP++jUg+0hkTuYs="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/xerial#sqlite-jdbc/3.40.0.0": {
|
||||
"jar": "sha256-46G5CXh7M7s34E8lLzfkq0ekieHB1FqAmgmCw3lEXBA=",
|
||||
"pom": "sha256-fI0dETimo05pNXbQe29U4h840iC4YtnhQFyy4KqIpDo="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{ lib, stdenv, fetchurl, fetchFromGitHub, jdk, jre, gradle, bash, coreutils
|
||||
, substituteAll, nixosTests, perl, fetchpatch, writeText }:
|
||||
, substituteAll, nixosTests, fetchpatch, writeText }:
|
||||
|
||||
let
|
||||
version = "01497";
|
||||
@@ -45,60 +45,17 @@ in stdenv.mkDerivation rec {
|
||||
inherit bash coreutils jre seednodes;
|
||||
};
|
||||
|
||||
# https://github.com/freenet/fred/blob/next/build-offline.sh
|
||||
# fake build to pre-download deps into fixed-output derivation
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit src version patches;
|
||||
|
||||
nativeBuildInputs = [ gradle perl ];
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --no-daemon build
|
||||
'';
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/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 =~ s/okio-jvm/okio/r)}" #e' \
|
||||
| sh
|
||||
'';
|
||||
# Don't move info to share/
|
||||
forceShare = [ "dummy" ];
|
||||
outputHashMode = "recursive";
|
||||
# Downloaded jars differ by platform
|
||||
outputHash = "sha256-CZf5M3lI7Lz9Pl8U/lNoQ6V6Jxbmkxau8L273XFFS2E=";
|
||||
outputHashAlgo = "sha256";
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
# Point to our local deps repo
|
||||
gradleInit = writeText "init.gradle" ''
|
||||
gradle.projectsLoaded {
|
||||
rootProject.allprojects {
|
||||
buildscript {
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}/'; metadataSources {mavenPom(); artifact()} }
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}/'; metadataSources {mavenPom(); artifact()} }
|
||||
}
|
||||
}
|
||||
}
|
||||
# using reproducible archives breaks the build
|
||||
gradleInitScript = writeText "empty-init-script.gradle" "";
|
||||
|
||||
settingsEvaluated { settings ->
|
||||
settings.pluginManagement {
|
||||
repositories {
|
||||
maven { url '${deps}/'; metadataSources {mavenPom(); artifact()} }
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
gradleFlags = [ "-Dorg.gradle.java.home=${jdk}" ];
|
||||
|
||||
buildPhase = ''
|
||||
gradle jar -Dorg.gradle.java.home=${jdk} --offline --no-daemon --info --init-script $gradleInit
|
||||
'';
|
||||
gradleBuildTask = "jar";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
@@ -108,7 +65,6 @@ in stdenv.mkDerivation rec {
|
||||
install -Dm555 ${wrapper} $out/bin/freenet
|
||||
substituteInPlace $out/bin/freenet \
|
||||
--subst-var-by outFreenet $out
|
||||
ln -s ${deps} $out/deps
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
|
||||
+240
@@ -0,0 +1,240 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://jcenter.bintray.com": {
|
||||
"io/pebbletemplates#pebble-project/3.1.5": {
|
||||
"pom": "sha256-TSnFtsOFqJp3c0S4sPjcKe/j+q06e5f4faJfAnOnOJM="
|
||||
},
|
||||
"io/pebbletemplates#pebble/3.1.5": {
|
||||
"jar": "sha256-0lOm3eWeE4aYqqruVGRh0vH2yL0qo47N00ffF8+Q1vA=",
|
||||
"pom": "sha256-kGnsr9XZc4ey9mNXp1X5Ghv4kZC0yHZ6zyCJDlFAuzc="
|
||||
},
|
||||
"junit#junit/4.12": {
|
||||
"jar": "sha256-WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo=",
|
||||
"pom": "sha256-kPFj944/+28cetl96efrpO6iWAcUG4XW0SvmfKJUScQ="
|
||||
},
|
||||
"net/java/dev/jna#jna-platform/4.5.2": {
|
||||
"jar": "sha256-8dAMFn2JIcbiPGJu+fHDrgvkc8lcaP+gErx65VqH4tY=",
|
||||
"pom": "sha256-+mLh78vRkHG+SzftEFPa3AymCICzmA9Yq9SX8qnxPQU="
|
||||
},
|
||||
"net/java/dev/jna#jna/4.5.2": {
|
||||
"jar": "sha256-DI63rPZyYWVteQBRkd66ujtr9d1gpDc1okVCk4Hb7P8=",
|
||||
"pom": "sha256-nfQrTM73BF1uT7ZLg3bdCS3XTZc3zGSVx2mO7MvTxE8="
|
||||
},
|
||||
"org/bouncycastle#bcprov-jdk15on/1.59": {
|
||||
"jar": "sha256-HDHkTjMdJeRtKTs+juLQcCimfbAR50yyRDKFrtHVnIU=",
|
||||
"pom": "sha256-QeZGb3GwjQXw0+tdhFXATl42hpxjXhFq4Nt04oAD7OU="
|
||||
},
|
||||
"org/hamcrest#hamcrest-core/1.3": {
|
||||
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
|
||||
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
|
||||
},
|
||||
"org/hamcrest#hamcrest-library/1.3": {
|
||||
"jar": "sha256-cR1kUi+exBCYO9MQk0KW2hNL5CVKElCAoEFuwXjfrRw=",
|
||||
"pom": "sha256-HOtL+w8JiuKbk1BEsjY+ETIzE/4+0gVd+LeXN9UFYnc="
|
||||
},
|
||||
"org/hamcrest#hamcrest-parent/1.3": {
|
||||
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
|
||||
},
|
||||
"org/mockito#mockito-core/1.9.5": {
|
||||
"jar": "sha256-+XSDuglEufoTOqKWOHZN2+rbUew9vAIHTFj6LK7NB/o=",
|
||||
"pom": "sha256-9DIR3AoX/PzVBDCr1bx0e2/SOu9FaWgrZc8rrw8gcnw="
|
||||
},
|
||||
"org/objenesis#objenesis/1.0": {
|
||||
"jar": "sha256-xWlLVdklJ0eTgvJUGZs8ax2HgPZSrWHpylmRmIf0kag=",
|
||||
"pom": "sha256-JInYiwSZ9V5173Xw8lBUV8cSxc+oR8maRvjes+fqPOs="
|
||||
},
|
||||
"org/slf4j#slf4j-api/1.7.25": {
|
||||
"jar": "sha256-GMSgCV1cHaa4F1kudnuyPSndL1YK1033X/OWHb3iW3k=",
|
||||
"pom": "sha256-fNnXoLXZPf1GGhSIkbQ1Cc9AOpx/n7SQYNNVTfHIHh4="
|
||||
},
|
||||
"org/slf4j#slf4j-parent/1.7.25": {
|
||||
"pom": "sha256-GPXFISDbA26I1hNviDnIMtB0vdqVx1bG9CkknS21SsY="
|
||||
},
|
||||
"org/unbescape#unbescape/1.1.6.RELEASE": {
|
||||
"jar": "sha256-WXz4fVsaTzhbnRzsl0t7SDq7PuhfxbP4tir45L7JXCw=",
|
||||
"pom": "sha256-AgOVYrsyfVQcDwUHZ+kYmPo4l0eSZojMITvRG8dRJ9E="
|
||||
}
|
||||
},
|
||||
"https://mvn.freenetproject.org": {
|
||||
"org/freenetproject#freenet-ext/29": {
|
||||
"jar": "sha256-MvKz1r7t9UE36i+aPr72dmbXafCWawjNF/19tZuk158="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/android/tools#common/22.7.2": {
|
||||
"jar": "sha256-6ttGKrkD+J2cPRFUxxHwRni3mSHGgmjTQYuba/NEMk4=",
|
||||
"pom": "sha256-8zhO5T3Z3fYzOUMDUs3/+WY225ZP0mzxaNvVOt8fSQg="
|
||||
},
|
||||
"com/android/tools#dvlib/22.7.2": {
|
||||
"jar": "sha256-/a4X4WbglSc1P37HGgt/PZPMBhxkf8p73ZZjJjO7Z+s=",
|
||||
"pom": "sha256-Q1HWW5dIC0kjSGhulIFI7Hp/AOVXbZjC9DHPIBxDSpw="
|
||||
},
|
||||
"com/android/tools#sdk-common/22.7.2": {
|
||||
"jar": "sha256-l/7SZpQEdLQTNBcmSalIWvV6Qqmsmrcm2S27X6SjPpU=",
|
||||
"pom": "sha256-Ln4pJV6PBhvVs706Vj7/nqu2xqmLSIHwlpzklOkrhD4="
|
||||
},
|
||||
"com/android/tools#sdklib/22.7.2": {
|
||||
"jar": "sha256-qFsaBA/dxaWEWjBuaOK4qx/+LFMS4buyoosTvxOE7RU=",
|
||||
"pom": "sha256-mGlFT4xtSEwnyYC4eIETnMx/7/Q+7g+MGkhtsbXUPSM="
|
||||
},
|
||||
"com/android/tools/build#builder-model/0.9.2": {
|
||||
"jar": "sha256-Utfe2Ho/LgcOOyj3IdFPXtik4s6cVFlT2C3cp0XQ/pU=",
|
||||
"pom": "sha256-8F2KJ7WoFcgydCbzj7DeW6zpgmAAtE4iR+vTxtcnw28="
|
||||
},
|
||||
"com/android/tools/build#builder-test-api/0.9.2": {
|
||||
"jar": "sha256-+i52Ho1fu3bUsVJVeE2nx89qaGW03e1IDXpCxvjqbgo=",
|
||||
"pom": "sha256-c2xEI3eXn7+LDkxMnGSI6Gg7In6VIXekA6LH+4SB2Fg="
|
||||
},
|
||||
"com/android/tools/build#builder/0.9.2": {
|
||||
"jar": "sha256-Vbz5bMADnI7bU9GRVeq+1NfgGgkbZv6zrbb/acJ59Bk=",
|
||||
"pom": "sha256-UaLeg+swvMwBEbTd3mkxvswC5HwpuqNgm9ErCm7kvvg="
|
||||
},
|
||||
"com/android/tools/build#gradle/0.9.2": {
|
||||
"jar": "sha256-gX/QEcuyw4yF/39EWHwTsUCoRUrfk3/Do/KKZggULII=",
|
||||
"pom": "sha256-DCk9CiNuuQYLtf32UJGE98BPy2xFGXbKkS0LysbBt7Y="
|
||||
},
|
||||
"com/android/tools/build#manifest-merger/22.7.2": {
|
||||
"jar": "sha256-KUCCoJLJeibyMtC+EhCamQj7pI/dOfdkWTI2nONiD5Q=",
|
||||
"pom": "sha256-yTWvDWMw7Lk41paAn7mIG5hMz07owjDEUP8nqVNIFv0="
|
||||
},
|
||||
"com/android/tools/build/gradle/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "com.android.tools.build",
|
||||
"lastUpdated": "20170306221012",
|
||||
"release": "2.3.0"
|
||||
}
|
||||
},
|
||||
"com/android/tools/ddms#ddmlib/22.7.2": {
|
||||
"jar": "sha256-NZ5F7s1IkUbifaIimc7nOzYL1Ox/wCfb2zXKys5BOfk=",
|
||||
"pom": "sha256-YrMjYBcQ4UiBuJ/LDEJ/DfnNbewtmiY+F17jMt8iMXY="
|
||||
},
|
||||
"com/android/tools/external/lombok#lombok-ast/0.2.2": {
|
||||
"jar": "sha256-Ww2J1DBMXGFGDkijsPMTf3EitDOBuLtQWr9HzF/bmoE=",
|
||||
"pom": "sha256-iuaeannJXNEvRP80ak/B1wrnLTlkqnk3cTbGPIv0074="
|
||||
},
|
||||
"com/android/tools/layoutlib#layoutlib-api/22.7.2": {
|
||||
"jar": "sha256-X/eOSXu1N9Hi9toYoVGvyQZ7Cj6Q6KQvHJldOxd0kSw=",
|
||||
"pom": "sha256-dyDIj0DkMDb+tWMd2uEnO8XSwURDnqGK3/p0J3LzHnM="
|
||||
},
|
||||
"com/android/tools/lint#lint-api/22.7.2": {
|
||||
"jar": "sha256-1faoCgpY1ycOFmiZGr+akAkteBBqy1qDRGddCv71Tv4=",
|
||||
"pom": "sha256-gs32TSJflZ0SMJzK4k21b17zmJzn27TrE/oEW01RaQM="
|
||||
},
|
||||
"com/android/tools/lint#lint-checks/22.7.2": {
|
||||
"jar": "sha256-Hrp9wZ3RAhpR3BkT5obPwe4yrP3e26H3NZf2X6ghXzM=",
|
||||
"pom": "sha256-5/n3/kXskHm5S/kCh6xSbyGQ6/vJyU3LJsGhsG2+uM8="
|
||||
},
|
||||
"com/android/tools/lint#lint/22.7.2": {
|
||||
"jar": "sha256-vyzGoCzhz2/wdqBBo6GC8G8chqZfU/vR69VK/cxqjrg=",
|
||||
"pom": "sha256-PPoEnyzLSe5u7n55c5WjqGrpizxkIIINKEb+B6bqKlc="
|
||||
},
|
||||
"com/google/guava#guava-parent/15.0": {
|
||||
"pom": "sha256-9RllyaeD1msuchhUmHcfYJsJcQik/g9xfPwzCBWV2js="
|
||||
},
|
||||
"com/google/guava#guava/15.0": {
|
||||
"jar": "sha256-ejRXV3DuvGClR2YW42dqbLbyl1x4xBXipgFKxyS6V4M=",
|
||||
"pom": "sha256-lxBXG7i0qZL0X/gKSOL+Ws7cdD6/iD1M/cuSBgIruFs="
|
||||
},
|
||||
"com/squareup#javawriter/2.2.1": {
|
||||
"jar": "sha256-HIIW3l9u2UaerpQhAybEt/5hFmvlAnaOkCd5xqe6vOo=",
|
||||
"pom": "sha256-XNmnCSuBlmCSc4cBpL28LkoDm/r8E6NcfKCYEc+7MPA="
|
||||
},
|
||||
"commons-codec#commons-codec/1.4": {
|
||||
"jar": "sha256-aqQjTHTzoQNXUaJYIlRYZ8jDcnElpkK24ElmXRhjYxs=",
|
||||
"pom": "sha256-9fMAaUIboBPna+znYEB9zIACJGHclVXcvXX9sG2aQI8="
|
||||
},
|
||||
"commons-logging#commons-logging/1.1.1": {
|
||||
"jar": "sha256-zm+RPK0fDbOq1wGG1lxbx//Mmpnj/o4LE3MSgZ98Ni8=",
|
||||
"pom": "sha256-0PLhbQVOi7l63ZyiZSXrI0b2koCfzSooeH2ozrPDXug="
|
||||
},
|
||||
"kxml2#kxml2/2.3.0": {
|
||||
"pom": "sha256-CVvyT0be2d4LZsqdZx3PVPj2FbqVFQsaMTw0dcVf1qU="
|
||||
},
|
||||
"net/sf/kxml#kxml2/2.3.0": {
|
||||
"jar": "sha256-8mTdn3mh/eEM5ezFMiHv8kvkyTMcgwt9UvLwintjPeI=",
|
||||
"pom": "sha256-Mc5gb06VGJNimbsNJ8l4+mHhhf0d58mHT+lZpT40poU="
|
||||
},
|
||||
"net/sf/proguard#proguard-base/4.10": {
|
||||
"jar": "sha256-pCU0cXeR5+2oMDYTNzWP4siLCRmAEfnu0epVkfNUTyQ=",
|
||||
"pom": "sha256-iYTsEfuzfC9fj1aDRT2mLVtGYU8VxVBxJUH9isYqnWs="
|
||||
},
|
||||
"net/sf/proguard#proguard-gradle/4.10": {
|
||||
"jar": "sha256-ijb/GXYIYcPPWijb4aadk+aEfi5aadg5PQhkQv8R0Ms=",
|
||||
"pom": "sha256-kZNouji8XuG6t3YYOqf2HKBaDg1syDbiOhByk59mK5E="
|
||||
},
|
||||
"net/sf/proguard#proguard-parent/4.10": {
|
||||
"pom": "sha256-31W088lOxk4iyZFZ/VmWktA9VNdaFRMXMqovUDOeLGM="
|
||||
},
|
||||
"org/apache#apache/4": {
|
||||
"pom": "sha256-npMjomuo6yOU7+8MltMbcN9XCAhjDcFHyrHnNUHMUZQ="
|
||||
},
|
||||
"org/apache/commons#commons-compress/1.0": {
|
||||
"jar": "sha256-CehOeXeMoboVtzNll6MhRX/CJb1dQfe0aTXSeSL8KnQ=",
|
||||
"pom": "sha256-O4swzTU6QIV7IEMRzGQVBLATSET8lhOMIkMlniAo/5E="
|
||||
},
|
||||
"org/apache/commons#commons-parent/11": {
|
||||
"pom": "sha256-ueAwbzk0YBBbij+lEFJQxSkbHvqpmVSs4OwceDEJoCo="
|
||||
},
|
||||
"org/apache/commons#commons-parent/5": {
|
||||
"pom": "sha256-i9YywAvfgKfeNsIrYPEkUsFH2Oyi8A151maZ6+faoCo="
|
||||
},
|
||||
"org/apache/httpcomponents#httpclient/4.1.1": {
|
||||
"jar": "sha256-6uUm0Ipmeb9soTjUWgAFsgum7EpAJ4i+gQlwcTyOR1E=",
|
||||
"pom": "sha256-rboX2TSKl9TOBfKCZ5cP2BlcYaVssG1eDdFfr/YP4qc="
|
||||
},
|
||||
"org/apache/httpcomponents#httpcomponents-client/4.1": {
|
||||
"pom": "sha256-UhW2SHmMbI2bnN42QtO/taTMiUt8hBEAQ1Ln3l0RmCc="
|
||||
},
|
||||
"org/apache/httpcomponents#httpcomponents-client/4.1.1": {
|
||||
"pom": "sha256-R1KE5emVUm1+dxUTSgdBLOctWYUEY0I4P13kGIoCKlM="
|
||||
},
|
||||
"org/apache/httpcomponents#httpcomponents-core/4.1": {
|
||||
"pom": "sha256-T3l//Zw9FW3g2+wf0eY+n9hYSpPHBDV2VT38twb2TeQ="
|
||||
},
|
||||
"org/apache/httpcomponents#httpcore/4.1": {
|
||||
"jar": "sha256-POON5R9OJGaMbRhAV6jQhUH56BXS0xnQ9GLwgwkrKc8=",
|
||||
"pom": "sha256-T8hq+jjpyfqwmcz0XCvHQ9RT5qsiJJCr/oZxl1w8cyc="
|
||||
},
|
||||
"org/apache/httpcomponents#httpmime/4.1": {
|
||||
"jar": "sha256-MWKVZhSOikdoiuQ7Qgq8Ps14PtFbM768AIJL8kybFao=",
|
||||
"pom": "sha256-2zzZW+wQAWBeFlPyhD6FQucS+iu2cv2cjBrOhsV2c9E="
|
||||
},
|
||||
"org/apache/httpcomponents#project/4.1.1": {
|
||||
"pom": "sha256-IbtNRN/1TjOjfBGvaYWacUICrgCWmqtUU+unJ2aI+Ow="
|
||||
},
|
||||
"org/bouncycastle#bcpkix-jdk15on/1.48": {
|
||||
"jar": "sha256-U0czNrTlqtd5aKGLFsVNFc28Q/Plehh4eZ7faUHQujc=",
|
||||
"pom": "sha256-v3z/mqxILUKuuKFVHQDrZ81DbsjNThJuyKHgnITdIX0="
|
||||
},
|
||||
"org/bouncycastle#bcprov-jdk15on/1.48": {
|
||||
"jar": "sha256-gEt+Ljuax3Hf07Q94WZmrGAI+GAPSPKN3JTjmhFOIog=",
|
||||
"pom": "sha256-KRIr50qOwbT8VB49opmL62Irw4wEuovx9Vk4aReCeYI="
|
||||
},
|
||||
"org/eclipse/jdt/core/compiler#ecj/4.2.2": {
|
||||
"jar": "sha256-THTfiGENZzssdL9bSLYoS65C+biA8K2JqK2mn+hKDXA=",
|
||||
"pom": "sha256-sh7YTnfE/FhyYqADSzUx+vt+WxGlMWqbjKo/47fqYj0="
|
||||
},
|
||||
"org/ow2#ow2/1.3": {
|
||||
"pom": "sha256-USFcZ9LAaNi30vb4D1E3KgmAdd7MxEjUvde5h7qDKPs="
|
||||
},
|
||||
"org/ow2/asm#asm-analysis/4.0": {
|
||||
"jar": "sha256-3VOXq69XIxBJrLEBxFHlmKlHpd0YKYMneVNc/cK68U4=",
|
||||
"pom": "sha256-7U8zeG58CrtuaOYcK047V7WLFOqu/ewxtwkCXja3/Hg="
|
||||
},
|
||||
"org/ow2/asm#asm-parent/4.0": {
|
||||
"pom": "sha256-QFr+Cu5AfJEcXkqoCpSdtVOS8XleE8oCrnKdFV30rBg="
|
||||
},
|
||||
"org/ow2/asm#asm-tree/4.0": {
|
||||
"jar": "sha256-2LAWoiBbLhQdtCbAQdKubQ1ButBQBioqUXWiWdNkF9o=",
|
||||
"pom": "sha256-eskVIWBDQDSQMyuS1unIoqd5QIyy1kgdqdOjXtGKLvw="
|
||||
},
|
||||
"org/ow2/asm#asm/4.0": {
|
||||
"jar": "sha256-+y3ekCCke7AkxD2d4KlOc6vveTvwjwE1TMl8stLiqVc=",
|
||||
"pom": "sha256-5jzvroWeRrEtOd1Yh3oZ+JN0pM6xvLE2Fz+nbUfXhtc="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,18 +9,9 @@
|
||||
, gtk3
|
||||
, jdk
|
||||
, gradle
|
||||
, perl
|
||||
, python3
|
||||
}:
|
||||
|
||||
let
|
||||
versionReplace = {
|
||||
easybind = {
|
||||
snapshot = "2.2.1-SNAPSHOT";
|
||||
pin = "2.2.1-20230117.075740-16";
|
||||
};
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
version = "5.13";
|
||||
pname = "jabref";
|
||||
@@ -47,36 +38,12 @@ stdenv.mkDerivation rec {
|
||||
})
|
||||
];
|
||||
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit src version postPatch;
|
||||
|
||||
nativeBuildInputs = [ gradle perl ];
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --no-daemon downloadDependencies -Dos.arch=amd64
|
||||
gradle --no-daemon downloadDependencies -Dos.arch=aarch64
|
||||
'';
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/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 =~ s/-jvm//r)}" #e' \
|
||||
| sh
|
||||
mv $out/com/tobiasdiez/easybind/${versionReplace.easybind.pin} \
|
||||
$out/com/tobiasdiez/easybind/${versionReplace.easybind.snapshot}
|
||||
'';
|
||||
# Don't move info to share/
|
||||
forceShare = [ "dummy" ];
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-lpFIhvPgkzIsHR6IVnn+oPhdSjo0yOIw7USo2+SJCVQ=";
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# Pin the version
|
||||
substituteInPlace build.gradle \
|
||||
--replace 'com.tobiasdiez:easybind:${versionReplace.easybind.snapshot}' \
|
||||
'com.tobiasdiez:easybind:${versionReplace.easybind.pin}'
|
||||
|
||||
# Disable update check
|
||||
substituteInPlace src/main/java/org/jabref/preferences/JabRefPreferences.java \
|
||||
--replace 'VERSION_CHECK_ENABLED, Boolean.TRUE' \
|
||||
@@ -85,30 +52,6 @@ stdenv.mkDerivation rec {
|
||||
# Find OpenOffice/LibreOffice binary
|
||||
substituteInPlace src/main/java/org/jabref/logic/openoffice/OpenOfficePreferences.java \
|
||||
--replace '/usr' '/run/current-system/sw'
|
||||
|
||||
# Add back downloadDependencies task for deps download which is removed upstream in https://github.com/JabRef/jabref/pull/10326
|
||||
cat <<EOF >> build.gradle
|
||||
task downloadDependencies {
|
||||
description "Pre-downloads *most* dependencies"
|
||||
doLast {
|
||||
configurations.getAsMap().each { name, config ->
|
||||
println "Retrieving dependencies for $name"
|
||||
try {
|
||||
config.files
|
||||
} catch (e) {
|
||||
// some cannot be resolved, just log them
|
||||
project.logger.info e.message
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
# Use the local packages from -deps
|
||||
sed -i -e '/repositories {/a maven { url uri("${deps}") }' build.gradle
|
||||
sed -i -e '1i pluginManagement { repositories { maven { url uri("${deps}") } } }' settings.gradle
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -124,19 +67,13 @@ stdenv.mkDerivation rec {
|
||||
python3
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
gradleFlags = [
|
||||
"-PprojVersion=${version}"
|
||||
"-Dorg.gradle.java.home=${jdk}"
|
||||
];
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle \
|
||||
--offline \
|
||||
--no-daemon \
|
||||
-PprojVersion="${version}" \
|
||||
-PprojVersionInfo="${version} NixOS" \
|
||||
-Dorg.gradle.java.home=${jdk} \
|
||||
assemble
|
||||
|
||||
runHook postBuild
|
||||
preBuild = ''
|
||||
gradleFlagsArray+=(-PprojVersionInfo="${version} NixOS")
|
||||
'';
|
||||
|
||||
dontWrapGApps = true;
|
||||
@@ -178,6 +115,13 @@ stdenv.mkDerivation rec {
|
||||
ln -sf $out/bin/JabRef $out/bin/jabref
|
||||
'';
|
||||
|
||||
gradleUpdateScript = ''
|
||||
runHook preBuild
|
||||
|
||||
gradle nixDownloadDeps -Dos.arch=amd64
|
||||
gradle nixDownloadDeps -Dos.arch=aarch64
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Open source bibliography reference manager";
|
||||
homepage = "https://www.jabref.org";
|
||||
|
||||
+2143
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,6 @@
|
||||
, fetchurl
|
||||
, jdk
|
||||
, gradle_7
|
||||
, perl
|
||||
, jre
|
||||
, makeWrapper
|
||||
, makeDesktopItem
|
||||
@@ -12,6 +11,9 @@
|
||||
}:
|
||||
|
||||
let
|
||||
gradle = gradle_7;
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "key";
|
||||
version = "2.10.0";
|
||||
src = fetchurl {
|
||||
@@ -20,30 +22,6 @@ let
|
||||
};
|
||||
sourceRoot = "key-${version}/key";
|
||||
|
||||
# fake build to pre-download deps into fixed-output derivation
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit version src sourceRoot;
|
||||
nativeBuildInputs = [ gradle_7 perl ];
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
# https://github.com/gradle/gradle/issues/4426
|
||||
${lib.optionalString stdenv.isDarwin "export TERM=dumb"}
|
||||
gradle --no-daemon classes testClasses
|
||||
'';
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/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
|
||||
'';
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = "sha256-GjBUwJxeyJA6vGrPQVtNpcHb4CJlNlY4kHt1PT21xjo=";
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
inherit pname version src sourceRoot;
|
||||
|
||||
nativeBuildInputs = [
|
||||
jdk
|
||||
gradle_7
|
||||
@@ -65,23 +43,15 @@ in stdenv.mkDerivation rec {
|
||||
})
|
||||
];
|
||||
|
||||
# disable tests (broken on darwin)
|
||||
gradleAction = if stdenv.isDarwin then "assemble" else "build";
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
# https://github.com/gradle/gradle/issues/4426
|
||||
${lib.optionalString stdenv.isDarwin "export TERM=dumb"}
|
||||
# point to offline repo
|
||||
sed -ie "s#repositories {#repositories { maven { url '${deps}' }#g" build.gradle
|
||||
cat <(echo "pluginManagement { repositories { maven { url '${deps}' } } }") settings.gradle > settings_new.gradle
|
||||
mv settings_new.gradle settings.gradle
|
||||
gradle --offline --no-daemon ${gradleAction}
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
# tests are broken on darwin
|
||||
doCheck = !stdenv.isDarwin;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
+387
@@ -0,0 +1,387 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://plugins.gradle.org/m2": {
|
||||
"ca/coglinc#javacc-gradle-plugin/2.4.0": {
|
||||
"jar": "sha256-RsMHTru+ENUOzWkQpiYxCkE5FlZ5Ct0JF+kBp9afidw=",
|
||||
"pom": "sha256-NTSsuHwtwH2hAqOP1wn1oANHgSkM+gcjPZTLXMOiyrA="
|
||||
},
|
||||
"ca/coglinc/javacc#ca.coglinc.javacc.gradle.plugin/2.4.0": {
|
||||
"pom": "sha256-zmWjvt7VamHG21s6/cHApVuH6mvAewTxamaqn8DP2jw="
|
||||
},
|
||||
"com/github/hierynomus/license-base#com.github.hierynomus.license-base.gradle.plugin/0.15.0": {
|
||||
"pom": "sha256-jWmQF6e7GyViPR4EGOKapRwtUYEHkgNaR8PG+hgMSXU="
|
||||
},
|
||||
"com/github/hierynomus/license-report#com.github.hierynomus.license-report.gradle.plugin/0.15.0": {
|
||||
"pom": "sha256-OIRMJK0goaid41C254nDEz3FeeD51kZSyQi9uCgwAxM="
|
||||
},
|
||||
"com/github/johnrengelman/shadow#com.github.johnrengelman.shadow.gradle.plugin/7.1.0": {
|
||||
"pom": "sha256-mh4hygODDXleq/uKbALOM4QuvCPGd+xqqZ50W1FPKt4="
|
||||
},
|
||||
"com/google/guava#guava-jdk5/17.0": {
|
||||
"jar": "sha256-Wb9FZUe23aPO2WjLVvfy0+FEdOLeKWCjLEfjHB5FbGE=",
|
||||
"pom": "sha256-+MFSYngT1FvE58wXrW7WpkmgIxroGf+44F0ZsgWj22Y="
|
||||
},
|
||||
"com/google/guava#guava-parent-jdk5/17.0": {
|
||||
"pom": "sha256-WpYGvCdjKVazwR34h+mz54WFQGiqpOCAjtVmD2Cx+28="
|
||||
},
|
||||
"com/mycila#license-maven-plugin-parent/3.0": {
|
||||
"pom": "sha256-DR8XPOud8hKSZ2Z8EMiR5eXXJm2C46hQcGaNtW2wy/o="
|
||||
},
|
||||
"com/mycila#license-maven-plugin/3.0": {
|
||||
"jar": "sha256-Ul/o866FI9Be7ac2ZFxB6cMw8CV4K1s95u8Lqs8teMw=",
|
||||
"pom": "sha256-kmJwjckIctcrvmfLFVITU6feJkgJzh6zLflfvqR2/IM="
|
||||
},
|
||||
"com/mycila#mycila-pom/3": {
|
||||
"pom": "sha256-QCd6OyVlPuZDPEaFLacOlzbBmNlLyvbSw0cIqHOjGyY="
|
||||
},
|
||||
"com/mycila#mycila-xmltool/4.4.ga": {
|
||||
"jar": "sha256-ddeyvpOBpl9vrDLzEIIhEvgFVm6fipekXY8Tz1UEnOA=",
|
||||
"pom": "sha256-wMaee7roquvUQOFnjOn1AotD07ToHNQ26Y+BOkvDIrI="
|
||||
},
|
||||
"com/mycila/xmltool#xmltool/3.3": {
|
||||
"jar": "sha256-hw+TlnieL0inuPso38BwwvjnSyAHJ0ziPmm2WBEP0pQ=",
|
||||
"pom": "sha256-64P2FpRcjH37TYDm+QnnKG9SO7EQd4ArzSFr1w6ccXo="
|
||||
},
|
||||
"commons-io#commons-io/2.11.0": {
|
||||
"jar": "sha256-lhsvbYfbrMXVSr9Fq3puJJX4m3VZiWLYxyPOqbwhCQg=",
|
||||
"pom": "sha256-LgFv1+MkS18sIKytg02TqkeQSG7h5FZGQTYaPoMe71k="
|
||||
},
|
||||
"commons-io#commons-io/2.4": {
|
||||
"jar": "sha256-zGpB3D6qzJ5ECmvQ0okLINNrTuQI/i1nEi8yi7bgFYE=",
|
||||
"pom": "sha256-srXdRs+Zj6Ym62+KHBFPYWfI05JpQWTmJTPliY6bMfI="
|
||||
},
|
||||
"commons-logging#commons-logging/1.1.1": {
|
||||
"jar": "sha256-zm+RPK0fDbOq1wGG1lxbx//Mmpnj/o4LE3MSgZ98Ni8=",
|
||||
"pom": "sha256-0PLhbQVOi7l63ZyiZSXrI0b2koCfzSooeH2ozrPDXug="
|
||||
},
|
||||
"gradle/plugin/com/github/johnrengelman#shadow/7.1.0": {
|
||||
"jar": "sha256-Bar4oiGwbGeS7hmZYZPolH7zv3Il6nWOUYsywoNxCJA=",
|
||||
"pom": "sha256-q7tz6sHPSyR/wBbmyohafaFjNk/vyYDICvjTy+jRSQI="
|
||||
},
|
||||
"gradle/plugin/com/hierynomus/gradle/plugins#license-gradle-plugin/0.15.0": {
|
||||
"jar": "sha256-gpLVOVy+k7lGe/p64JgC70z9316oNexy6jxKahfw9ZY=",
|
||||
"pom": "sha256-IAmy13nhNo/tPGzHVwS58EVRv+3tFpk4F0ltrbtDyiw="
|
||||
},
|
||||
"org/apache#apache/10": {
|
||||
"pom": "sha256-gC/uznKFLa/L0KQlpgNnxyxcubbqWq5ZSBEoVpGJ2vk="
|
||||
},
|
||||
"org/apache#apache/13": {
|
||||
"pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0="
|
||||
},
|
||||
"org/apache#apache/16": {
|
||||
"pom": "sha256-n4X/L9fWyzCXqkf7QZ7n8OvoaRCfmKup9Oyj9J50pA4="
|
||||
},
|
||||
"org/apache#apache/23": {
|
||||
"pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw="
|
||||
},
|
||||
"org/apache#apache/4": {
|
||||
"pom": "sha256-npMjomuo6yOU7+8MltMbcN9XCAhjDcFHyrHnNUHMUZQ="
|
||||
},
|
||||
"org/apache#apache/9": {
|
||||
"pom": "sha256-SUbmClR8jtpp87wjxbbw2tz4Rp6kmx0dp940rs/PGN0="
|
||||
},
|
||||
"org/apache/ant#ant-launcher/1.10.11": {
|
||||
"jar": "sha256-2rUw33qYC1rI/X6NIIJDrg0+vW3gmxqiznVjYMwu0lY=",
|
||||
"pom": "sha256-7SoGiCYb624I7FSzgxLx1ILM8aO4Y8R9KNW5CkRtHB4="
|
||||
},
|
||||
"org/apache/ant#ant-parent/1.10.11": {
|
||||
"pom": "sha256-V6BTJoLzD6MHQWoiWSnVcQrNpy17Je4IyvmNyCzTXbY="
|
||||
},
|
||||
"org/apache/ant#ant/1.10.11": {
|
||||
"jar": "sha256-iMC4m7uq4B4Nn8rpO+eS9au+NAkQb47uhY/fNl28B1Q=",
|
||||
"pom": "sha256-wiiU2ctGq/XOv27rK8z+TXjhju6jEaDqat3VnftLH+M="
|
||||
},
|
||||
"org/apache/commons#commons-collections4/4.1": {
|
||||
"jar": "sha256-sf6LWWi1fYRlQlNX7S2dxpVQRRi+0t9bVlxLjmjByKU=",
|
||||
"pom": "sha256-wK1C6RA1N5YNmnTaWOzCTdGjehPR5MSPCWm+k+QBg2k="
|
||||
},
|
||||
"org/apache/commons#commons-lang3/3.4": {
|
||||
"jar": "sha256-c0yDVkIMyOMMeV1k/R/NXUTqnZA0KizDJixRWPvG2Ys=",
|
||||
"pom": "sha256-aG51tWGhPBAx1Dp2R6Nk4u0+RWRnBQ6sRSe5SwbXP9E="
|
||||
},
|
||||
"org/apache/commons#commons-parent/25": {
|
||||
"pom": "sha256-RnrmUEQuh2hnN5CU51GN/dZ9IsU1Lr05gIyEJZ6XkLo="
|
||||
},
|
||||
"org/apache/commons#commons-parent/33": {
|
||||
"pom": "sha256-U9ABE1Li5RBvN52vzNrHdU7G8PeCQ8AwXklp9azd+Ps="
|
||||
},
|
||||
"org/apache/commons#commons-parent/37": {
|
||||
"pom": "sha256-7nBaTdaNjc2cyNEknVeQhh6xRc57DG1sBVW6lEidAUs="
|
||||
},
|
||||
"org/apache/commons#commons-parent/38": {
|
||||
"pom": "sha256-VY2WF0Xrrcxdw5HP3n1HQIbUyq7iTdPm35Me2fa1tJU="
|
||||
},
|
||||
"org/apache/commons#commons-parent/5": {
|
||||
"pom": "sha256-i9YywAvfgKfeNsIrYPEkUsFH2Oyi8A151maZ6+faoCo="
|
||||
},
|
||||
"org/apache/commons#commons-parent/52": {
|
||||
"pom": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4="
|
||||
},
|
||||
"org/apache/commons#commons-pool2/2.2": {
|
||||
"jar": "sha256-h4Czu7Mah5fnTp8wIvBD3a3Crui+Y9lPgIKmoWVGxBs=",
|
||||
"pom": "sha256-SPll6CQtvwF4bQqS0K1j4gogHUpTbgMh0DsQ0uDJgVM="
|
||||
},
|
||||
"org/apache/logging#logging-parent/3": {
|
||||
"pom": "sha256-djouwrgJTUFh3rbCZLEmIIW5vjC/OjHCzhNyQuV3Iqc="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j-api/2.17.1": {
|
||||
"jar": "sha256-sNikyKtPuLGIjQCVgicDsObUeTxBlVAgPanmkZYWHeQ=",
|
||||
"pom": "sha256-HirO8yILKb4QrgmXKLFYsY2UP5Ghk8xFAbtC+SnB6Io="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j-core/2.17.1": {
|
||||
"jar": "sha256-yWfyI0h5gLk2TpSnx/mooB/T7nwZvb8LD5+MuFEfPUE=",
|
||||
"pom": "sha256-C7s79tTSKhv6PDwJJ8KUEK8UoPsm47Ark3JvXH6Yqv0="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j/2.17.1": {
|
||||
"pom": "sha256-lnq8AkRDqcsJaTVVmvXprW8P9hN1+Esn1EDS+nCAawk="
|
||||
},
|
||||
"org/apache/maven#maven-parent/21": {
|
||||
"pom": "sha256-/EWviRHqMH0bV1ZO7x94tpgB6cEaVhnn61jV0Arp244="
|
||||
},
|
||||
"org/apache/maven#maven-settings-builder/3.0.4": {
|
||||
"jar": "sha256-o4pU7B5pow3fwUQ04K7Cdk/CaGaKvMDhMthmkqXc4+Q=",
|
||||
"pom": "sha256-Pgs/YCZ7YHCnQbFdtbQPvYJMYdsSofTxZu1li59i7OA="
|
||||
},
|
||||
"org/apache/maven#maven-settings/3.0.4": {
|
||||
"jar": "sha256-Pj3xf1315M4ee38gEcV9YdMo5lZ4VCreIEjw0PopXwk=",
|
||||
"pom": "sha256-vu3/18fkmtNe+UXDQT8YGfBOQ+opSjGARxTIy7DzcrM="
|
||||
},
|
||||
"org/apache/maven#maven/3.0.4": {
|
||||
"pom": "sha256-TSI+AaZWnWZVwfT86Elp1FFCzbq9sRjqCMXIwz7GMvY="
|
||||
},
|
||||
"org/codehaus/plexus#plexus-component-annotations/1.5.5": {
|
||||
"jar": "sha256-Tfemp75ks1u8z2C1wRVpf56jQh0iZ0rmcTXd43X8yh8=",
|
||||
"pom": "sha256-gV8+wxa4xfpwE4X99ACb+1HgfXgOj2puKv5yDFLX4pI="
|
||||
},
|
||||
"org/codehaus/plexus#plexus-components/1.1.18": {
|
||||
"pom": "sha256-7128f6kYttu6cdJ+Wz16AN9iS8+iVJpyl/Nv4nX2NNc="
|
||||
},
|
||||
"org/codehaus/plexus#plexus-containers/1.5.5": {
|
||||
"pom": "sha256-G8Jkgk7IdrDKb09YOBdcVBxjjLxDMmomi5rufUd4te8="
|
||||
},
|
||||
"org/codehaus/plexus#plexus-interpolation/1.14": {
|
||||
"jar": "sha256-f8YzeNPoRmNhm5vtrOn5/niydsK+PGLKIkVEkpTIQXY=",
|
||||
"pom": "sha256-0IFVxJffN7LD2bWw39sC7AUlsgcLW+Nzn//elC/Kya8="
|
||||
},
|
||||
"org/codehaus/plexus#plexus-utils/2.0.5": {
|
||||
"pom": "sha256-Nbx9EhNhYjZXEHKyxW2hj3pXZY3otKQQBkW3BUorJzs="
|
||||
},
|
||||
"org/codehaus/plexus#plexus-utils/2.0.6": {
|
||||
"jar": "sha256-i5CfTKl4hkeUL4g9TlWbzGQhI/fGvNOEaYOi5GVGnDM=",
|
||||
"pom": "sha256-/drU+mLIIxCuxDUl5RnNWfJ9BMdWn+IbGwPKIQiHgQw="
|
||||
},
|
||||
"org/codehaus/plexus#plexus-utils/3.4.1": {
|
||||
"jar": "sha256-UtheBLORhyKvEdEoVbSoJX35ag52yPTjhS5vqoUfNXs=",
|
||||
"pom": "sha256-sUTP+bHGJZ/sT+5b38DzYNacI6vU6m5URTOpSbaeNYI="
|
||||
},
|
||||
"org/codehaus/plexus#plexus/2.0.6": {
|
||||
"pom": "sha256-vqEudHcI0l5zQQyhxzHr36EC6L227H2BvUUiWDsjS8w="
|
||||
},
|
||||
"org/codehaus/plexus#plexus/2.0.7": {
|
||||
"pom": "sha256-K1kGIDCrChXF0Jd7oiQhcGNokmSIc5pl8leT5xXMinQ="
|
||||
},
|
||||
"org/codehaus/plexus#plexus/8": {
|
||||
"pom": "sha256-/6NJ2wTnq/ZYhb3FogYvQZfA/50/H04qpXILdyM/dCw="
|
||||
},
|
||||
"org/jdom#jdom2/2.0.6": {
|
||||
"jar": "sha256-E0XxG6YG0VYD1nQFUajCGUfAIVZAdw7GcnH+eL6pfPU=",
|
||||
"pom": "sha256-R7I6ef4za3QbgkNMbgSdaBZSVuQF51wQkh/XL6imXY0="
|
||||
},
|
||||
"org/junit#junit-bom/5.7.2": {
|
||||
"module": "sha256-87zrHFndT2mT9DBN/6WAFyuN9lp2zTb6T9ksBXjSitg=",
|
||||
"pom": "sha256-zRSqqGmZH4ICHFhdVw0x/zQry6WLtEIztwGTdxuWSHs="
|
||||
},
|
||||
"org/ow2#ow2/1.5": {
|
||||
"pom": "sha256-D4obEW52C4/mOJxRuE5LB6cPwRCC1Pk25FO1g91QtDs="
|
||||
},
|
||||
"org/ow2/asm#asm-analysis/9.2": {
|
||||
"jar": "sha256-h4++UhcxwHLRTS1luYOxvq5q0G/aAAe2qLroH3P0M8Q=",
|
||||
"pom": "sha256-dzzBor/BTGxKl5xRoHXAI0oL9pT8Or5PrPRU83oUXxs="
|
||||
},
|
||||
"org/ow2/asm#asm-commons/9.2": {
|
||||
"jar": "sha256-vkzlMTiiOLtSLNeBz5Hzulzi9sqT7GLUahYqEnIl4KY=",
|
||||
"pom": "sha256-AoJOg58qLw5ylZ/dMLSJckDwWvxD3kLXugsYQ3YBwHA="
|
||||
},
|
||||
"org/ow2/asm#asm-tree/9.2": {
|
||||
"jar": "sha256-qr+b0jCRpOv8EJwfPufPPkuJ9rotP1HFJD8Ws8/64BE=",
|
||||
"pom": "sha256-9h8+vqVSDd8Z9FKwPEJscjG92KgdesKHZctScSJaw3g="
|
||||
},
|
||||
"org/ow2/asm#asm/9.2": {
|
||||
"jar": "sha256-udT+TXGTjfOIOfDspCqqpkz4sxPWeNoDbwyzyhmbR/U=",
|
||||
"pom": "sha256-37EqGyJL8Bvh/WBAIEZviUJBvLZF3M45Xt2M1vilDfQ="
|
||||
},
|
||||
"org/sonarqube#org.sonarqube.gradle.plugin/3.0": {
|
||||
"pom": "sha256-1Pg7ynlN6ZPv/gtqt/HO572zNJgWc4BVkHgvv6Mj420="
|
||||
},
|
||||
"org/sonarsource/parent#parent/54": {
|
||||
"pom": "sha256-QVl5Y/x9ObDgJArLTYT1dbQCQtbhR9xQsCbUzvwFMV8="
|
||||
},
|
||||
"org/sonarsource/scanner/api#sonar-scanner-api-parent/2.15.0.2182": {
|
||||
"pom": "sha256-JcR02YT0wD5P147u53D0Pqks+5Xrixf3+qyFVpNgFoY="
|
||||
},
|
||||
"org/sonarsource/scanner/api#sonar-scanner-api/2.15.0.2182": {
|
||||
"jar": "sha256-h+foNKu97912pce/pM7ztxUhsfVQ/Iu+qLCphVPjNeg=",
|
||||
"pom": "sha256-H+gEKIHd2qgREtNNv0k30OM+TQFYYIJ7/R/fb0YLH9U="
|
||||
},
|
||||
"org/sonarsource/scanner/gradle#sonarqube-gradle-plugin/3.0": {
|
||||
"jar": "sha256-KLTNnuKtiAHAxeXJhPNtLizGDRkhwC61jujORTpejb8=",
|
||||
"pom": "sha256-2jJNuKvT65d8B0lY/9E4vdVTWwYojfN7WiRv53Uad7Y="
|
||||
},
|
||||
"org/sonatype/forge#forge-parent/4": {
|
||||
"pom": "sha256-GDjRMkeQBbS3RZt5jp2ZFVFQkMKICC/c2G2wsQmDokw="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/plexus#plexus-cipher/1.4": {
|
||||
"jar": "sha256-WhX9uiJmng/dBuENzOYyCHnh9zmPvJEM0Gd7UGcqeMQ=",
|
||||
"pom": "sha256-pjouI5iMyn+sbJOIbW8FBv0m2I1+jMDLibnG4NbJlK0="
|
||||
},
|
||||
"org/sonatype/plexus#plexus-sec-dispatcher/1.3": {
|
||||
"jar": "sha256-OwVZu4Qy8ok37+bKGT71SoUG0Addc/10BrmxFsahEGM=",
|
||||
"pom": "sha256-1eZQxQ72lYwCjtAktZrwTPPTjhRTp31UK2tIS8D0ygs="
|
||||
},
|
||||
"org/sonatype/spice#spice-parent/12": {
|
||||
"pom": "sha256-IaGbJtvlw43bURTPTq2/XMtBG8axKP3VlJscyxLzaD4="
|
||||
},
|
||||
"org/springframework#spring-asm/3.1.3.RELEASE": {
|
||||
"jar": "sha256-za8dBwQOdREzok+Zesp9mOrL/mfhsoddzoynOCUngTA=",
|
||||
"pom": "sha256-f7b7uYdEDEjGc9sVsIdwqcLWySBSBEIZl5z0j0ZvcSM="
|
||||
},
|
||||
"org/springframework#spring-core/3.1.3.RELEASE": {
|
||||
"jar": "sha256-AUp7IdtoD9iGfgJrGMO/idME3sWyEJCotqezy1z8d9I=",
|
||||
"pom": "sha256-8xqLb1m2oBgOOMnBKboGB7rnoNShC5U3V3DIFKtMx1M="
|
||||
},
|
||||
"org/springframework#spring-parent/3.1.3.RELEASE": {
|
||||
"pom": "sha256-ZOkRARj4KhQnWaMW0J09jY1xfV2VB51/aziO5Hn6eC8="
|
||||
},
|
||||
"org/vafer#jdependency/2.7.0": {
|
||||
"jar": "sha256-1j79V0b/QIlDp91++Frp8Jqn+2O7KxaRFCfObEW1n9A=",
|
||||
"pom": "sha256-6yRCKwo+nofVrG6oCHeG+1HEsbvg0iXvdSFSxzaiBNA="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"antlr#antlr/2.7.7": {
|
||||
"jar": "sha256-iPvaS5Ellrn1bo4S5YDMlUus+1F3bs/d0+GPwc9W3Ew=",
|
||||
"pom": "sha256-EA95O6J/i05CBO20YXHr825U4PlM/AJSf+oHoLsfzrc="
|
||||
},
|
||||
"com/atlassian/commonmark#commonmark-ext-gfm-tables/0.15.2": {
|
||||
"jar": "sha256-Wn3BAWFAwPHGnFV21kvjcYJcWlStc1sMaZuWLMTgpPo=",
|
||||
"pom": "sha256-rRZxS5MgMZDpRiSFMrWCkDdBQkg7RhdrsD3CrijycN0="
|
||||
},
|
||||
"com/atlassian/commonmark#commonmark-parent/0.15.2": {
|
||||
"pom": "sha256-PhTratCeeq+Uow5I3kexFm+QCz6Ncm+UfMWkD3HkfCU="
|
||||
},
|
||||
"com/atlassian/commonmark#commonmark/0.15.2": {
|
||||
"jar": "sha256-/UmFBUzWYXaB9smSH/yTq2uGQraeV3T48InZc9HGbmo=",
|
||||
"pom": "sha256-3ZVTaHcyCDS90YRnvtbgKE7UhXKdU8LcLfWEE2vmGaI="
|
||||
},
|
||||
"com/atlassian/pom#base-pom/5.0.13": {
|
||||
"pom": "sha256-CN0hBF/fYQSL7zj/7FbiHuslxuLYRPwJ9rlW4JNzdUM="
|
||||
},
|
||||
"com/atlassian/pom#central-pom/5.0.13": {
|
||||
"pom": "sha256-zihFbTZlB8oPkQIpQqBeOI/Zj4YqbY2zEFxcRJenTOU="
|
||||
},
|
||||
"com/google/code/findbugs#jsr305/3.0.2": {
|
||||
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
|
||||
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
|
||||
},
|
||||
"com/ibm/icu#icu4j/58.2": {
|
||||
"jar": "sha256-lT4eg7K+fD6i+I2obBNhT0fp5x01eMhSHX8Yd1a2OWI=",
|
||||
"pom": "sha256-R7Zq1yxypJmlRL57ixEzX2xz/bcyFxfRGBHfs+k0FGo="
|
||||
},
|
||||
"com/miglayout#miglayout-core/5.2": {
|
||||
"jar": "sha256-Zp8NqP12vlPXX1lA9IFibym1RM2ZJbfaJhEYfSaEvHo=",
|
||||
"pom": "sha256-scvva6qqt3IaCLKlAZtpajfV4+wKfQzXmRo4MOJrfGA="
|
||||
},
|
||||
"com/miglayout#miglayout-parent/5.2": {
|
||||
"pom": "sha256-+STS0Cl2vIQu0u/4sx4Hp2Zb/NJUY9TXmtvkEFis6Zs="
|
||||
},
|
||||
"com/miglayout#miglayout-swing/5.2": {
|
||||
"jar": "sha256-g2n2guoVPvtoGj9YKsxIjoKpfub0fSU1LwgOl38TjIY=",
|
||||
"pom": "sha256-52Q1kq9JpxIUc+OUOzdO3Xw/u5zJBdDGq5DOcCvkQqE="
|
||||
},
|
||||
"com/sun/activation#all/1.2.0": {
|
||||
"pom": "sha256-HYUY46x1MqEE5Pe+d97zfJguUwcjxr2z1ncIzOKwwsQ="
|
||||
},
|
||||
"javax/activation#javax.activation-api/1.2.0": {
|
||||
"jar": "sha256-Q/3vC1ts6zGwQksgi5MMdKtY+sLO63s/b9OuuLXKQ5M=",
|
||||
"pom": "sha256-2ikm88i+iYZDzBCs3sbeCwNRpX+yc1dw+gF3sGrecbk="
|
||||
},
|
||||
"javax/xml/bind#jaxb-api-parent/2.4.0-b180830.0359": {
|
||||
"pom": "sha256-ctEy4shY0iMPFdBI8ek6J5xAxOnshLxW+fLz61r0tLg="
|
||||
},
|
||||
"javax/xml/bind#jaxb-api/2.4.0-b180830.0359": {
|
||||
"jar": "sha256-VrnpcCdTdjAHQ1Fi6niAVe/P78hquSDwMsBBHcVHuDY=",
|
||||
"pom": "sha256-sck/wwHX9f5M3hPRlTKZJR2jfv/8kfUjg1UEw/+HNwc="
|
||||
},
|
||||
"junit#junit/4.12": {
|
||||
"jar": "sha256-WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo=",
|
||||
"pom": "sha256-kPFj944/+28cetl96efrpO6iWAcUG4XW0SvmfKJUScQ="
|
||||
},
|
||||
"net/java#jvnet-parent/1": {
|
||||
"pom": "sha256-KBRAgRJo5l2eJms8yJgpfiFOBPCXQNA4bO60qJI9Y78="
|
||||
},
|
||||
"net/java#jvnet-parent/3": {
|
||||
"pom": "sha256-MPV4nvo53b+WCVqto/wSYMRWH68vcUaGcXyy3FBJR1o="
|
||||
},
|
||||
"net/java#jvnet-parent/5": {
|
||||
"pom": "sha256-GvaZ+Nndq2f5oNIC+9eRXrA2Klpt/V/8VMr6NGXJywo="
|
||||
},
|
||||
"net/java/dev/javacc#javacc/4.0": {
|
||||
"jar": "sha256-z7qy1qzbN2TivLXAhCpZ9YPLXoui61wTqNuYNoqtzC8=",
|
||||
"pom": "sha256-EBLeGTH+yhXhvQEomKaJBOXTO7TD6IhY+oagD7ePUDg="
|
||||
},
|
||||
"org/abego/treelayout#org.abego.treelayout.core/1.0.3": {
|
||||
"jar": "sha256-+l4xOVw5wufUasoPgfcgYJMWB7L6Qb02A46yy2+5MyY=",
|
||||
"pom": "sha256-o7KyI3lDcDVeeSQzrwEvyZNmfAMxviusrYTbwJrOSgw="
|
||||
},
|
||||
"org/antlr#ST4/4.0.8": {
|
||||
"jar": "sha256-WMqrxAyfdLC1mT/YaOD2SlDAdZCU5qJRqq+tmO38ejs=",
|
||||
"pom": "sha256-PAiQ3scRdOs7o9QEyp40GQH/awQhgIsAcTsNuxMGwXw="
|
||||
},
|
||||
"org/antlr#antlr-master/3.5.2": {
|
||||
"pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y="
|
||||
},
|
||||
"org/antlr#antlr-runtime/3.5.2": {
|
||||
"jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=",
|
||||
"pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU="
|
||||
},
|
||||
"org/antlr#antlr/3.5.2": {
|
||||
"jar": "sha256-WsNsKs+woPPTfa/iC1tXDyZD4tAAxkjURQPCc4vmQ98=",
|
||||
"pom": "sha256-Bl5egGYv64WHldPAH3cUJHvdMZRZcF7hOxpLGWj6IuQ="
|
||||
},
|
||||
"org/antlr#antlr4-master/4.7.1": {
|
||||
"pom": "sha256-QSb2e/QT9si8wbGdh7mnJWdCz6ccJQxKmVMNrt6ghow="
|
||||
},
|
||||
"org/antlr#antlr4-runtime/4.7.1": {
|
||||
"jar": "sha256-Q1FtGb6uNZCeBNBq9sDFjBe8lOAHDIXo3JkpymQNyR0=",
|
||||
"pom": "sha256-zhOGobkOUSy3oli1Ih1C8RJh/9qaElkBzdhs3ypZ/5E="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.1": {
|
||||
"jar": "sha256-os3C8vjriTcogyVo3FTQgOtaFJXts7ZuUblxIqYKDYc=",
|
||||
"pom": "sha256-k+AkX5wHQx6tBunpyPmO7IJUQb9PbtZr3aboypxoR5Y="
|
||||
},
|
||||
"org/glassfish#javax.json/1.0.4": {
|
||||
"jar": "sha256-Dh3sQKHt6WWUElHtqWiu7gUsxPUDeLwxbMSOgVm9vrQ=",
|
||||
"pom": "sha256-a6+Dg/+pi2bqls1b/B7H8teUY7uYrJgFKWSxIcIhLVQ="
|
||||
},
|
||||
"org/glassfish#json/1.0.4": {
|
||||
"pom": "sha256-bXxoQjEV+SFxjZRPhZkktMaFIX7AOkn3BFWossqpcuY="
|
||||
},
|
||||
"org/hamcrest#hamcrest-core/1.3": {
|
||||
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
|
||||
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
|
||||
},
|
||||
"org/hamcrest#hamcrest-parent/1.3": {
|
||||
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, callPackage
|
||||
, rustPlatform
|
||||
, substituteAll
|
||||
, openssl
|
||||
, Security
|
||||
, python3Packages
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mitm-cache";
|
||||
version = "0.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chayleaf";
|
||||
repo = "mitm-cache";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-l9dnyA4Zo4jlbiCMRzUqW3NkiploVpmvxz9i896JkXU=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
Security
|
||||
];
|
||||
|
||||
cargoHash = "sha256-6eYOSSlswJGR2IrFo17qVnwI+h2FkyTjLFvwf62nG2c=";
|
||||
|
||||
setupHook = substituteAll {
|
||||
src = ./setup-hook.sh;
|
||||
inherit openssl;
|
||||
ephemeral_port_reserve = python3Packages.ephemeral-port-reserve;
|
||||
};
|
||||
|
||||
passthru.fetch = callPackage ./fetch.nix { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "A MITM caching proxy for use in nixpkgs";
|
||||
homepage = "https://github.com/chayleaf/mitm-cache#readme";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ chayleaf ];
|
||||
mainProgram = "mitm-cache";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
{ lib
|
||||
, fetchurl
|
||||
, runCommand
|
||||
, writeText
|
||||
}:
|
||||
|
||||
{ name ? "deps"
|
||||
, data
|
||||
, dontFixup ? true
|
||||
, ...
|
||||
}
|
||||
@ attrs:
|
||||
|
||||
let
|
||||
data' = builtins.removeAttrs
|
||||
(if builtins.isPath data then lib.importJSON data else data)
|
||||
[ "!version" ];
|
||||
|
||||
urlToPath = url:
|
||||
if lib.hasPrefix "https://" url then (
|
||||
let
|
||||
url' = lib.drop 2 (lib.splitString "/" url);
|
||||
in "https/${builtins.concatStringsSep "/" url'}"
|
||||
)
|
||||
else builtins.replaceStrings ["://"] ["/"] url;
|
||||
code = ''
|
||||
mkdir -p "$out"
|
||||
cd "$out"
|
||||
'' + builtins.concatStringsSep "" (lib.mapAttrsToList (url: info:
|
||||
let
|
||||
key = builtins.head (builtins.attrNames info);
|
||||
val = info.${key};
|
||||
path = urlToPath url;
|
||||
name = baseNameOf path;
|
||||
source = {
|
||||
redirect = "$out/${urlToPath val}";
|
||||
hash = fetchurl { inherit url; hash = val; };
|
||||
text = writeText name val;
|
||||
}.${key} or (throw "Unknown key: ${url}");
|
||||
in ''
|
||||
mkdir -p "${dirOf path}"
|
||||
ln -s "${source}" "${path}"
|
||||
'') data');
|
||||
in
|
||||
runCommand name (builtins.removeAttrs attrs [ "name" "data" ] // {
|
||||
passthru = (attrs.passthru or {}) // {
|
||||
data = writeText "deps.json" (builtins.toJSON data);
|
||||
};
|
||||
}) code
|
||||
@@ -0,0 +1,21 @@
|
||||
mitmCacheConfigureHook() {
|
||||
if [ -d "$mitmCache" ] && [ -z "$MITM_CACHE_CERT_DIR" ]; then
|
||||
MITM_CACHE_CERT_DIR="$(mktemp -d)"
|
||||
pushd "$MITM_CACHE_CERT_DIR"
|
||||
MITM_CACHE_CA="$MITM_CACHE_CERT_DIR/ca.cer"
|
||||
@openssl@/bin/openssl genrsa -out ca.key 2048
|
||||
@openssl@/bin/openssl req -x509 -new -nodes -key ca.key -sha256 -days 1 -out ca.cer -subj "/C=AL/ST=a/L=a/O=a/OU=a/CN=example.org"
|
||||
MITM_CACHE_HOST="127.0.0.1"
|
||||
MITM_CACHE_PORT="${mitmCachePort:-$(@ephemeral_port_reserve@/bin/ephemeral-port-reserve "$MITM_CACHE_HOST")}"
|
||||
MITM_CACHE_ADDRESS="$MITM_CACHE_HOST:$MITM_CACHE_PORT"
|
||||
export http_proxy="$MITM_CACHE_ADDRESS"
|
||||
export https_proxy="$MITM_CACHE_ADDRESS"
|
||||
export SSL_CERT_FILE="$MITM_CACHE_CA"
|
||||
export NIX_SSL_CERT_FILE="$MITM_CACHE_CA"
|
||||
mitm-cache -l"$MITM_CACHE_ADDRESS" replay "$mitmCache" >/dev/null 2>/dev/null &
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
# prepend it so any other configure hooks can use the generated root CA
|
||||
preConfigureHooks=(mitmCacheConfigureHook "${preConfigureHooks[@]}")
|
||||
Generated
+73
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/googlecode/json-simple#json-simple/1.1.1": {
|
||||
"jar": "sha256-TmlpaJK4i0HFXUmrL9zCHurZK/VKzFiMAFBZbDt1GZw=",
|
||||
"pom": "sha256-Zl9jWQ3vtj1irdIdNSU2LPk3z2ocBeSwFFuujailf4M="
|
||||
},
|
||||
"org/apiguardian#apiguardian-api/1.1.0": {
|
||||
"jar": "sha256-qarp/4rj4XoqGPeRdegrFiZ8JG+708qd+7spCwjc/dQ=",
|
||||
"pom": "sha256-qUW5y1zZt3sscRhE5lnEPsBw71nZ9Qn6n0wYYbSGJxE="
|
||||
},
|
||||
"org/javassist#javassist/3.28.0-GA": {
|
||||
"jar": "sha256-V9Cp6ShvgvTqqFESUYaZf4Eb784OIGD/ChWnf1qd2ac=",
|
||||
"pom": "sha256-w2p8E9o6SFKqiBvfnbYLnk0a8UbsKvtTmPltWYP21d0="
|
||||
},
|
||||
"org/junit#junit-bom/5.7.0": {
|
||||
"module": "sha256-Jd5FSzrdZ2VNZpG1PedZO1ApZ7X/VJVHsQTXlh8aUr0=",
|
||||
"pom": "sha256-NfsV+NC+4rWQCiKDJ2I2ZVL5o0nFbO1guhI85Hc4/wA="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-api/5.7.0": {
|
||||
"jar": "sha256-sD944Nru0td6Cvm81mK0zblpP37nLgGlObUIuExj0YI=",
|
||||
"module": "sha256-0ae65s1ErW2WcVJhQQ7vIziklENtZnKA0Tc6R8F+JBw=",
|
||||
"pom": "sha256-oPgj1RPI1GkpNfJML+bnfMSnthR6nopRj3IuULv4YTg="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-engine/5.7.0": {
|
||||
"jar": "sha256-36Jq+UZErCYS3eZiWFL8tVCg0hyqJDJX3lTLpzi6h68=",
|
||||
"module": "sha256-w2vaSCKO71xAzcmp1jA7uEg4LNsIhLNnfUkYK07HoaQ=",
|
||||
"pom": "sha256-twLiUIddMx7jxriPNymfvpUfQ5kvSy5KjxROLkzyx+g="
|
||||
},
|
||||
"org/junit/platform#junit-platform-commons/1.7.0": {
|
||||
"jar": "sha256-UzDuh8x1hubiUXWjTpJRYk/xL/UlJp00FdC0ylGbb+o=",
|
||||
"module": "sha256-sKXHobfkCdH1zJY9muocd8NLkOFj1oQqRInGqgf/juI=",
|
||||
"pom": "sha256-DNfE+b7mWZEqwdzkbxI80G9Au7c6sxa9lBHHkuPGgKI="
|
||||
},
|
||||
"org/junit/platform#junit-platform-engine/1.7.0": {
|
||||
"jar": "sha256-dfIaINxZSv3IdXNnJbQIzsbQNEh00p80st0wdVACNvI=",
|
||||
"module": "sha256-ZRCp+ogc70LUFIVTjbxUdJQm2x4LFOxDORXqXyRIB5o=",
|
||||
"pom": "sha256-IluZxQMv0cuM7Noui1p1Jtal+B+5iimldVf39czanRI="
|
||||
},
|
||||
"org/msgpack#msgpack/0.6.12": {
|
||||
"jar": "sha256-4JymXYUgSI6ApdxCaEior8z9QPSi6zuWRgQlldO9m14=",
|
||||
"pom": "sha256-lEl9jwL43oFZpbfVE24BD1f12axliGES7O2GlcUFbe4="
|
||||
},
|
||||
"org/opentest4j#opentest4j/1.2.0": {
|
||||
"jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=",
|
||||
"pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ="
|
||||
},
|
||||
"org/postgresql#pgjdbc-core-parent/1.1.2": {
|
||||
"pom": "sha256-K5B1vOVrI8vfRwy80/7rwgivBf1XfNxcmjbadTRsZ50="
|
||||
},
|
||||
"org/postgresql#pgjdbc-core-parent/1.1.5": {
|
||||
"pom": "sha256-XtK0rdiF6e4eY3opfLNHlPT/LtVCb/zStL3N1uJiPrc="
|
||||
},
|
||||
"org/postgresql#pgjdbc-versions/1.1.2": {
|
||||
"pom": "sha256-FJIccV6cNLFOpOtn1O6cPUGtxYj1639F01f89xgv3P4="
|
||||
},
|
||||
"org/postgresql#pgjdbc-versions/1.1.5": {
|
||||
"pom": "sha256-fktof5IZOQGPdV6TUwtvO/pkOH9zJIiTXAsFo2PEkFw="
|
||||
},
|
||||
"org/postgresql#postgresql/42.2.5": {
|
||||
"jar": "sha256-f/pG+MYZN3zevNF3IbayHs9mWYUBeflv7D0QNc9aDNw=",
|
||||
"pom": "sha256-QeLEYQz6+o+46jOfZeUECMDzGDV6eKP0hOKi8bUq0ew="
|
||||
},
|
||||
"org/postgresql#postgresql/9.4.1212": {
|
||||
"jar": "sha256-DLKhWL4xrPIY4KThjI89usaKO8NIBkaHc/xECUsMNl0=",
|
||||
"pom": "sha256-3WEi1R5mRIHFMgl7hzPLJAW6oqrhsgqOrr6jlLErb1A="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,6 @@
|
||||
, fetchFromGitHub
|
||||
, jdk11
|
||||
, gradle_6
|
||||
, perl
|
||||
, metasploit
|
||||
, makeWrapper
|
||||
, makeDesktopItem
|
||||
@@ -16,6 +15,8 @@ let
|
||||
pname = "armitage";
|
||||
version = "unstable-2022-12-05";
|
||||
|
||||
gradle = gradle_6;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "r00t0v3rr1d3";
|
||||
repo = "armitage";
|
||||
@@ -46,31 +47,10 @@ let
|
||||
})
|
||||
];
|
||||
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit version src patches;
|
||||
nativeBuildInputs = [ gradle_6 perl ];
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --no-daemon assemble
|
||||
'';
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME -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
|
||||
rm -rf $out/tmp
|
||||
'';
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-6o3HlBfmpjpmMeiRydOme6fJc8caq8EBRVf3nJq9vqo=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
inherit pname version src patches;
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "armitage";
|
||||
@@ -85,25 +65,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [
|
||||
jdk11
|
||||
gradle_6
|
||||
gradle
|
||||
makeWrapper
|
||||
copyDesktopItems
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
writeDarwinBundle
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
substituteInPlace armitage/build.gradle \
|
||||
--replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }'
|
||||
substituteInPlace cortana/build.gradle \
|
||||
--replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }'
|
||||
gradle --offline --no-daemon assemble
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
Generated
+1335
File diff suppressed because it is too large
Load Diff
@@ -4,9 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
makeBinaryWrapper,
|
||||
makeDesktopItem,
|
||||
writeText,
|
||||
jdk17,
|
||||
perl,
|
||||
gradle_7,
|
||||
which,
|
||||
}:
|
||||
@@ -25,62 +23,6 @@ let
|
||||
hash = "sha256-zEQjB57iiKVQnH8VtynpEGKNAa2e+WpqnGt6fnv5Rjs=";
|
||||
};
|
||||
|
||||
deps = stdenvNoCC.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit src version;
|
||||
|
||||
nativeBuildInputs = [
|
||||
jdk
|
||||
perl
|
||||
gradle
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon build
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
# Mavenize dependency paths
|
||||
# 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
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
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-jvm/x.y.z/okio-jvm-x.y.z.jar is expected to exist under com/squareup/okio/okio/x.y.z/okio-x.y.z.jar
|
||||
while IFS="" read -r -d "" path; do
|
||||
ln -s "$path" ''${path//okio-jvm/okio}
|
||||
done < <(find "$out" -type f -name 'okio-jvm-*.jar' -print0)
|
||||
runHook postInstall
|
||||
'';
|
||||
# otherwise the package with a namespace starting with info/... gets moved to share/info/...
|
||||
forceShare = [ "dummy" ];
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-mWQTe/hOWGwWtsUPCZ7gle2FtskcEmJwsGQZITEc/Uc=";
|
||||
};
|
||||
|
||||
# Point to our local deps repo
|
||||
gradleInit = writeText "init.gradle" ''
|
||||
settingsEvaluated { settings ->
|
||||
settings.pluginManagement {
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
gradle.projectsLoaded {
|
||||
rootProject.allprojects {
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
inherit pname version src;
|
||||
@@ -91,17 +33,16 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
gradle
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
mkdir -p freeplane/build
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
GRADLE_USER_HOME=$PWD \
|
||||
gradle -Dorg.gradle.java.home=${jdk} \
|
||||
--no-daemon --offline --init-script ${gradleInit} \
|
||||
-x test \
|
||||
build
|
||||
runHook postBuild
|
||||
'';
|
||||
gradleFlags = [ "-Dorg.gradle.java.home=${jdk}" "-x" "test" ];
|
||||
|
||||
preBuild = "mkdir -p freeplane/build";
|
||||
|
||||
gradleBuildTask = "build";
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
|
||||
@@ -1,41 +1,12 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, emptyDirectory
|
||||
, writeText
|
||||
, makeBinaryWrapper
|
||||
, gradle
|
||||
, jdk21
|
||||
, llvmPackages
|
||||
}:
|
||||
|
||||
let
|
||||
gradleInit = writeText "init.gradle" ''
|
||||
logger.lifecycle 'Replacing Maven repositories with empty directory...'
|
||||
gradle.projectsLoaded {
|
||||
rootProject.allprojects {
|
||||
buildscript {
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${emptyDirectory}' }
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${emptyDirectory}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
settingsEvaluated { settings ->
|
||||
settings.pluginManagement {
|
||||
repositories {
|
||||
maven { url '${emptyDirectory}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "jextract";
|
||||
version = "unstable-2023-11-27";
|
||||
@@ -52,27 +23,14 @@ stdenv.mkDerivation {
|
||||
makeBinaryWrapper
|
||||
];
|
||||
|
||||
env = {
|
||||
ORG_GRADLE_PROJECT_llvm_home = llvmPackages.libclang.lib;
|
||||
ORG_GRADLE_PROJECT_jdk21_home = jdk21;
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --console plain --init-script "${gradleInit}" assemble
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
gradleFlags = [
|
||||
"-Pllvm_home=${llvmPackages.libclang.lib}"
|
||||
"-Pjdk21_home=${jdk21}"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
gradle --console plain --init-script "${gradleInit}" verify
|
||||
runHook postCheck
|
||||
'';
|
||||
gradleCheckTask = "verify";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
@@ -1,41 +1,12 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, emptyDirectory
|
||||
, writeText
|
||||
, makeBinaryWrapper
|
||||
, gradle
|
||||
, jdk22
|
||||
, llvmPackages
|
||||
}:
|
||||
|
||||
let
|
||||
gradleInit = writeText "init.gradle" ''
|
||||
logger.lifecycle 'Replacing Maven repositories with empty directory...'
|
||||
gradle.projectsLoaded {
|
||||
rootProject.allprojects {
|
||||
buildscript {
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${emptyDirectory}' }
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${emptyDirectory}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
settingsEvaluated { settings ->
|
||||
settings.pluginManagement {
|
||||
repositories {
|
||||
maven { url '${emptyDirectory}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "jextract";
|
||||
version = "unstable-2024-03-13";
|
||||
@@ -52,27 +23,14 @@ stdenv.mkDerivation {
|
||||
makeBinaryWrapper
|
||||
];
|
||||
|
||||
env = {
|
||||
ORG_GRADLE_PROJECT_llvm_home = llvmPackages.libclang.lib;
|
||||
ORG_GRADLE_PROJECT_jdk22_home = jdk22;
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --console plain --init-script "${gradleInit}" assemble
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
gradleFlags = [
|
||||
"-Pllvm_home=${llvmPackages.libclang.lib}"
|
||||
"-Pjdk22_home=${jdk22}"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
gradle --console plain --init-script "${gradleInit}" verify
|
||||
runHook postCheck
|
||||
'';
|
||||
gradleCheckTask = "verify";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
Generated
+1823
File diff suppressed because it is too large
Load Diff
@@ -1,34 +0,0 @@
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index c206e2f..b1fda33 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -69,19 +69,7 @@ launch4j {
|
||||
messagesInstanceAlreadyExists="Stirling-PDF is already running."
|
||||
}
|
||||
|
||||
-spotless {
|
||||
- java {
|
||||
- target project.fileTree('src/main/java')
|
||||
|
||||
- googleJavaFormat('1.19.1').aosp().reorderImports(false)
|
||||
-
|
||||
- importOrder('java', 'javax', 'org', 'com', 'net', 'io')
|
||||
- toggleOffOn()
|
||||
- trimTrailingWhitespace()
|
||||
- indentWithSpaces()
|
||||
- endWithNewline()
|
||||
- }
|
||||
-}
|
||||
|
||||
dependencies {
|
||||
//security updates
|
||||
@@ -163,9 +151,6 @@ dependencies {
|
||||
annotationProcessor 'org.projectlombok:lombok:1.18.28'
|
||||
}
|
||||
|
||||
-tasks.withType(JavaCompile) {
|
||||
- dependsOn 'spotlessApply'
|
||||
-}
|
||||
compileJava {
|
||||
options.compilerArgs << '-parameters'
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index 7025b2b..d063da3 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -20,6 +20,11 @@ repositories {
|
||||
}
|
||||
|
||||
|
||||
+tasks.withType(AbstractArchiveTask) {
|
||||
+ preserveFileTimestamps = false
|
||||
+ reproducibleFileOrder = true
|
||||
+}
|
||||
+
|
||||
|
||||
licenseReport {
|
||||
renderers = [new JsonReportRenderer()]
|
||||
@@ -2,13 +2,14 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
substituteAll,
|
||||
gradle_7,
|
||||
perl,
|
||||
makeWrapper,
|
||||
jre,
|
||||
}:
|
||||
|
||||
let
|
||||
gradle = gradle_7;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "stirling-pdf";
|
||||
version = "0.25.1";
|
||||
@@ -21,77 +22,28 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
|
||||
patches = [
|
||||
# disable spotless because it tries to fetch files not in the FOD
|
||||
# and also because it slows down the build process
|
||||
./disable-spotless.patch
|
||||
# remove timestamp from the header of a generated .properties file
|
||||
./remove-props-file-timestamp.patch
|
||||
# use gradle's built-in method of zeroing out timestamps,
|
||||
# because stripJavaArchivesHook can't patch signed JAR files
|
||||
./fix-jar-timestamp.patch
|
||||
# set the FOD as the only repository gradle can resolve from
|
||||
(substituteAll {
|
||||
src = ./use-fod-maven-repo.patch;
|
||||
inherit (finalAttrs) deps;
|
||||
})
|
||||
];
|
||||
|
||||
# fake build to pre-download deps into fixed-output derivation
|
||||
deps = stdenv.mkDerivation {
|
||||
name = "${finalAttrs.pname}-${finalAttrs.version}-deps";
|
||||
inherit (finalAttrs) src;
|
||||
|
||||
patches = [ ./disable-spotless.patch ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
gradle_7
|
||||
perl
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --no-daemon --console=plain build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
find $GRADLE_USER_HOME/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
|
||||
|
||||
# Mimic existence of okio-3.6.0.jar, originally known as okio-jvm-3.6.0 (and renamed).
|
||||
# Gradle doesn't detect such renames and only fetches the latter.
|
||||
# Whenever this package gets updated, please check if this hack is obsolete.
|
||||
ln -s $out/com/squareup/okio/okio-jvm/3.6.0/okio-jvm-3.6.0.jar $out/com/squareup/okio/okio/3.6.0/okio-3.6.0.jar
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-JaTL6/DyBAqXkIQOkbi8MYoIZrhWqc3MpJ7DDB4h+ok=";
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit (finalAttrs) pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
# disable spotless because it tries to fetch files not in deps.json
|
||||
# and also because it slows down the build process
|
||||
gradleFlags = [ "-x" "spotlessApply" ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
gradle_7
|
||||
gradle
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --offline --no-daemon --console=plain build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index c206e2f..cdaddf7 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -16,7 +16,7 @@ version = '0.22.3'
|
||||
sourceCompatibility = '17'
|
||||
|
||||
repositories {
|
||||
- mavenCentral()
|
||||
+ maven { url '@deps@' }
|
||||
}
|
||||
|
||||
|
||||
diff --git a/settings.gradle b/settings.gradle
|
||||
index f813993..2c87f3c 100644
|
||||
--- a/settings.gradle
|
||||
+++ b/settings.gradle
|
||||
@@ -1 +1,7 @@
|
||||
+pluginManagement {
|
||||
+ repositories {
|
||||
+ maven { url '@deps@' }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
rootProject.name = 'Stirling-PDF'
|
||||
@@ -31,7 +31,9 @@ jdk.overrideAttrs (finalAttrs: oldAttrs: {
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
postPatch = ''
|
||||
postPatch = let
|
||||
extra_config = builtins.concatStringsSep " " extraConfig;
|
||||
in ''
|
||||
# The rpm/deb task definitions require a Gradle plugin which we don't
|
||||
# have and so the build fails. We'll simply remove them here because
|
||||
# they are not needed anyways.
|
||||
@@ -41,35 +43,29 @@ jdk.overrideAttrs (finalAttrs: oldAttrs: {
|
||||
for file in $(find installers -name "build.gradle"); do
|
||||
substituteInPlace $file --replace-warn "workingDir '/usr/bin'" "workingDir '.'"
|
||||
done
|
||||
|
||||
gradleFlagsArray+=(-Pcorretto.extra_config="${extra_config}")
|
||||
'';
|
||||
|
||||
# since we dontConfigure, we must run this manually
|
||||
preBuild = "gradleConfigureHook";
|
||||
|
||||
buildPhase =
|
||||
let
|
||||
# The Linux installer is placed at linux/universal/tar whereas the MacOS
|
||||
# one is at mac/tar.
|
||||
task =
|
||||
if stdenv.isDarwin then
|
||||
":installers:mac:tar:packageBuildResults"
|
||||
else ":installers:linux:universal:tar:packageBuildResults";
|
||||
extra_config = builtins.concatStringsSep " " extraConfig;
|
||||
in
|
||||
''
|
||||
runHook preBuild
|
||||
# The Linux installer is placed at linux/universal/tar whereas the MacOS
|
||||
# one is at mac/tar.
|
||||
gradleBuildTask =
|
||||
if stdenv.isDarwin then
|
||||
":installers:mac:tar:build"
|
||||
else ":installers:linux:universal:tar:packageBuildResults";
|
||||
|
||||
# Corretto's actual built is triggered via `gradle`.
|
||||
gradle -Pcorretto.extra_config="${extra_config}" --console=plain --no-daemon ${task}
|
||||
|
||||
# Prepare for the installPhase so that it looks like if a normal
|
||||
# OpenJDK had been built.
|
||||
dir=build/jdkImageName/images
|
||||
mkdir -p $dir
|
||||
file=$(find ./installers -name 'amazon-corretto-${version}*.tar.gz')
|
||||
tar -xzf $file -C $dir
|
||||
mv $dir/amazon-corretto-* $dir/jdk
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
postBuild = ''
|
||||
# Prepare for the installPhase so that it looks like if a normal
|
||||
# OpenJDK had been built.
|
||||
dir=build/jdkImageName/images
|
||||
mkdir -p $dir
|
||||
file=$(find ./installers -name 'amazon-corretto-${version}*.tar.gz')
|
||||
tar -xzf $file -C $dir
|
||||
mv $dir/amazon-corretto-* $dir/jdk
|
||||
'' + oldAttrs.postBuild or "";
|
||||
|
||||
installPhase = oldAttrs.installPhase + ''
|
||||
# The installPhase will place everything in $out/lib/openjdk and
|
||||
|
||||
@@ -1,136 +0,0 @@
|
||||
{ stdenv, lib, fetchFromGitHub, writeText, gradle_7, pkg-config, perl, cmake
|
||||
, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg_4-headless, python3, ruby, fetchurl, runCommand
|
||||
, openjdk11-bootstrap
|
||||
, withMedia ? true
|
||||
, withWebKit ? false
|
||||
}:
|
||||
|
||||
let
|
||||
major = "11";
|
||||
update = ".0.20";
|
||||
build = "1";
|
||||
repover = "${major}${update}+${build}";
|
||||
gradle_ = (gradle_7.override {
|
||||
java = openjdk11-bootstrap;
|
||||
});
|
||||
|
||||
icuVersionWithSep = s: "71${s}1";
|
||||
icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "_"}-data-bin-l.zip";
|
||||
icuData = fetchurl {
|
||||
url = "https://github.com/unicode-org/icu/releases/${icuPath}";
|
||||
hash = "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM=";
|
||||
};
|
||||
icuFakeRepository = runCommand "icu-data-repository" {} ''
|
||||
install -Dm644 ${icuData} $out/${icuPath}
|
||||
'';
|
||||
|
||||
makePackage = args: stdenv.mkDerivation ({
|
||||
version = "${major}${update}-${build}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openjdk";
|
||||
repo = "jfx${major}u";
|
||||
rev = repover;
|
||||
sha256 = "sha256-BbBP2DiPZTSn1SBYMCgyiNdF9GD+NqR6YjeVNOQHHn4=";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ];
|
||||
nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace buildSrc/linux.gradle \
|
||||
--replace ', "-Werror=implicit-function-declaration"' ""
|
||||
|
||||
# Add missing includes for gcc-13 for webkit build:
|
||||
sed -e '1i #include <cstdio>' \
|
||||
-i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
|
||||
modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
|
||||
'';
|
||||
|
||||
config = writeText "gradle.properties" (''
|
||||
CONF = Release
|
||||
JDK_HOME = ${openjdk11-bootstrap.home}
|
||||
'' + args.gradleProperties or "");
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
ln -s $config gradle.properties
|
||||
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
|
||||
gradle --no-daemon --console=plain $gradleFlags sdk
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
} // args);
|
||||
|
||||
# Fake build to pre-download deps into fixed-output derivation.
|
||||
# We run nearly full build because I see no other way to download everything that's needed.
|
||||
# Anyone who knows a better way?
|
||||
deps = makePackage {
|
||||
pname = "openjfx-deps";
|
||||
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME -type f -regex '.*/modules.*\.\(jar\|pom\)' \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
rm -rf $out/tmp
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-syceJMUEknBDCHK8eGs6rUU3IQn+HnQfURfCrDxYPa9=";
|
||||
};
|
||||
|
||||
in makePackage {
|
||||
pname = "openjfx-modular-sdk";
|
||||
|
||||
gradleProperties = ''
|
||||
COMPILE_MEDIA = ${lib.boolToString withMedia}
|
||||
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
|
||||
${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
swtJar="$(find ${deps} -name org.eclipse.swt\*.jar)"
|
||||
substituteInPlace build.gradle \
|
||||
--replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }' \
|
||||
--replace 'name: SWT_FILE_NAME' "files('$swtJar')"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/modular-sdk $out
|
||||
'';
|
||||
|
||||
stripDebugList = [ "." ];
|
||||
|
||||
postFixup = ''
|
||||
# Remove references to bootstrap.
|
||||
find "$out" -name \*.so | while read lib; do
|
||||
new_refs="$(patchelf --print-rpath "$lib" | sed -E 's,:?${openjdk11-bootstrap}[^:]*,,')"
|
||||
patchelf --set-rpath "$new_refs" "$lib"
|
||||
done
|
||||
|
||||
# Remove licenses, otherwise they may conflict with the ones included in the openjdk
|
||||
rm -rf $out/modules_legal/*
|
||||
'';
|
||||
|
||||
disallowedReferences = [ openjdk11-bootstrap ];
|
||||
|
||||
passthru.deps = deps;
|
||||
|
||||
# Uses a lot of RAM, OOMs otherwise
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://openjdk.java.net/projects/openjfx/";
|
||||
license = licenses.gpl2;
|
||||
description = "Next-generation Java client toolkit";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
{ stdenv, lib, pkgs, fetchFromGitHub, writeText, gradle_7, pkg-config, perl, cmake
|
||||
, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg_4-headless, python3, ruby
|
||||
, openjdk11-bootstrap
|
||||
, withMedia ? true
|
||||
, withWebKit ? false
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "openjfx-modular-sdk";
|
||||
major = "11";
|
||||
update = ".0.20";
|
||||
build = "1";
|
||||
repover = "${major}${update}+${build}";
|
||||
jdk = openjdk11-bootstrap;
|
||||
gradle = gradle_7;
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
inherit pname;
|
||||
version = "${major}${update}-${build}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openjdk";
|
||||
repo = "jfx${major}u";
|
||||
rev = repover;
|
||||
sha256 = "sha256-BbBP2DiPZTSn1SBYMCgyiNdF9GD+NqR6YjeVNOQHHn4=";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ];
|
||||
nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
config = writeText "gradle.properties" ''
|
||||
CONF = Release
|
||||
JDK_HOME = ${jdk.home}
|
||||
COMPILE_MEDIA = ${lib.boolToString withMedia}
|
||||
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace buildSrc/linux.gradle \
|
||||
--replace ', "-Werror=implicit-function-declaration"' ""
|
||||
|
||||
# Add missing includes for gcc-13 for webkit build:
|
||||
sed -e '1i #include <cstdio>' \
|
||||
-i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
|
||||
modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
|
||||
|
||||
ln -s $config gradle.properties
|
||||
'';
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
attrPath = "openjfx${major}";
|
||||
pkg = pkgs."openjfx${major}".override { withWebKit = true; };
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
preBuild = ''
|
||||
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
|
||||
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = false;
|
||||
|
||||
gradleBuildTask = "sdk";
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/modular-sdk $out
|
||||
'';
|
||||
|
||||
stripDebugList = [ "." ];
|
||||
|
||||
postFixup = ''
|
||||
# Remove references to bootstrap.
|
||||
export openjdkOutPath='${jdk.outPath}'
|
||||
find "$out" -name \*.so | while read lib; do
|
||||
new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
|
||||
patchelf --set-rpath "$new_refs" "$lib"
|
||||
done
|
||||
# Remove licenses, otherwise they may conflict with the ones included in the openjdk
|
||||
rm -rf $out/modules_legal/*
|
||||
'';
|
||||
|
||||
disallowedReferences = [ jdk gradle.jdk ];
|
||||
|
||||
# Uses a lot of RAM, OOMs otherwise
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://openjdk.java.net/projects/openjfx/";
|
||||
license = licenses.gpl2;
|
||||
description = "Next-generation Java client toolkit";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
+152
@@ -0,0 +1,152 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://download.eclipse.org": {
|
||||
"eclipse/updates/4.6/R-4.6.3-201703010400/plugins/org.eclipse.swt.gtk.linux.x86_64_3.105.3.v20170228-0512": {
|
||||
"jar": "sha256-qWM1HV97griQxJlOFY2AVV2uOLAK87jXPzh1wh/zmLw="
|
||||
}
|
||||
},
|
||||
"https://github.com": {
|
||||
"unicode-org/icu/releases/download/release-71-1/icu4c-71_1-data-bin-l": {
|
||||
"zip": "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/ibm/icu#icu4j/61.1": {
|
||||
"jar": "sha256-VcmOsYOLKku5oH3Da9N4Uy1k0M3LfO7pFCNoZqfeRGQ=",
|
||||
"pom": "sha256-E7h6QHnOsFUVsZrHoVIDlHB1YB1JQj9xk1ikmACYBWs="
|
||||
},
|
||||
"junit#junit/4.13.2": {
|
||||
"jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=",
|
||||
"pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ="
|
||||
},
|
||||
"net/java#jvnet-parent/3": {
|
||||
"pom": "sha256-MPV4nvo53b+WCVqto/wSYMRWH68vcUaGcXyy3FBJR1o="
|
||||
},
|
||||
"org/abego/treelayout#org.abego.treelayout.core/1.0.3": {
|
||||
"jar": "sha256-+l4xOVw5wufUasoPgfcgYJMWB7L6Qb02A46yy2+5MyY=",
|
||||
"pom": "sha256-o7KyI3lDcDVeeSQzrwEvyZNmfAMxviusrYTbwJrOSgw="
|
||||
},
|
||||
"org/antlr#ST4/4.1": {
|
||||
"jar": "sha256-ixzK7Z7cVc0lXZwZxNjaR1bZtvy0NWcSkrQ0cLFtddg=",
|
||||
"pom": "sha256-cz5r2XyjTMbfk6QkPlEeVnPLm4jHSxiETgQqRdUWmHw="
|
||||
},
|
||||
"org/antlr#antlr-master/3.5.2": {
|
||||
"pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y="
|
||||
},
|
||||
"org/antlr#antlr-runtime/3.5.2": {
|
||||
"jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=",
|
||||
"pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU="
|
||||
},
|
||||
"org/antlr#antlr4-master/4.7.2": {
|
||||
"pom": "sha256-upnLJdI5DzhoDHUChCoO4JWdHmQD4BPM/2mP1YVu6tE="
|
||||
},
|
||||
"org/antlr#antlr4-runtime/4.7.2": {
|
||||
"jar": "sha256-TFGLh9S9/4tEzYy8GvgW6US2Kj/luAt4FQHPH0dZu8Q=",
|
||||
"pom": "sha256-3AnLqYwl08BuSuxRaIXUw68DBiulX0/mKD/JzxdqYPs="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.2": {
|
||||
"pom": "sha256-z56zaUD6xEiBA4wb4/LFjgbmjRq/v9SmjTS72LrFV3E="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.2/complete": {
|
||||
"jar": "sha256-aFI4bXl17/KRcdrgAswiMlFRDTXyka4neUjzgaezgLQ="
|
||||
},
|
||||
"org/apache#apache/13": {
|
||||
"pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0="
|
||||
},
|
||||
"org/apache/lucene#lucene-core/7.1.0": {
|
||||
"jar": "sha256-vG3+7tCrp0MCqSCBH/1snkVlvviTzMOvg2Iz36s8UTo=",
|
||||
"pom": "sha256-d7ysnMSDKiKSGJgng2ASB8yYvldcyIRDNtWuBzkbPuE="
|
||||
},
|
||||
"org/apache/lucene#lucene-grouping/7.1.0": {
|
||||
"jar": "sha256-5wh/sGDRWa1xvW7p6W8BYGpaM1OgxJofHQ49oPUaTlo=",
|
||||
"pom": "sha256-738k/3YjlZSfxMiDl1npJhD8mx8Nifmbtw+haHNh2Ec="
|
||||
},
|
||||
"org/apache/lucene#lucene-parent/7.1.0": {
|
||||
"pom": "sha256-l7M9mcedTRIoIuWDY0cGvGmfRCvp3tksZiKdEn+WoAc="
|
||||
},
|
||||
"org/apache/lucene#lucene-queries/7.1.0": {
|
||||
"jar": "sha256-qamOR/ueclsDerV+wZts4QVBIoTLXl2aGs99Xv8TSTY=",
|
||||
"pom": "sha256-pvMWrRvMdKy3f3mP/AIKy9aD3nx5OUrFNgAdE6vktVY="
|
||||
},
|
||||
"org/apache/lucene#lucene-queryparser/7.1.0": {
|
||||
"jar": "sha256-HNuCsiqq3bGJW9OjSVinyaOgb/0NZ6sskNvDegRshlQ=",
|
||||
"pom": "sha256-K7m67AcL6g3a5aj1rrDOZlJpBeA4THS+18OrIJ52hdM="
|
||||
},
|
||||
"org/apache/lucene#lucene-sandbox/7.1.0": {
|
||||
"jar": "sha256-wZA9Xag+IIZp2NkzdJeeFAIUNYsq32c1sa488kkJW+E=",
|
||||
"pom": "sha256-WL5E6wSMD0If6eul+30xhr7gk7g72F4w5EKbbctVZMU="
|
||||
},
|
||||
"org/apache/lucene#lucene-solr-grandparent/7.1.0": {
|
||||
"pom": "sha256-3NW0Q/KK2QPk/wfTMigGxTF4BWuctNQU+2gMyArhGsU="
|
||||
},
|
||||
"org/apiguardian#apiguardian-api/1.1.2": {
|
||||
"jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=",
|
||||
"module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=",
|
||||
"pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA="
|
||||
},
|
||||
"org/glassfish#javax.json/1.0.4": {
|
||||
"jar": "sha256-Dh3sQKHt6WWUElHtqWiu7gUsxPUDeLwxbMSOgVm9vrQ=",
|
||||
"pom": "sha256-a6+Dg/+pi2bqls1b/B7H8teUY7uYrJgFKWSxIcIhLVQ="
|
||||
},
|
||||
"org/glassfish#json/1.0.4": {
|
||||
"pom": "sha256-bXxoQjEV+SFxjZRPhZkktMaFIX7AOkn3BFWossqpcuY="
|
||||
},
|
||||
"org/hamcrest#hamcrest-core/1.3": {
|
||||
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
|
||||
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
|
||||
},
|
||||
"org/hamcrest#hamcrest-parent/1.3": {
|
||||
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
|
||||
},
|
||||
"org/junit#junit-bom/5.8.1": {
|
||||
"module": "sha256-a4LLpSoTSxPBmC8M+WIsbUhTcdQLmJJG8xJOOwpbGFQ=",
|
||||
"pom": "sha256-733Ef45KFoZPR3lyjofteFOYGeT7iSdoqdprjvkD+GM="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-api/5.8.1": {
|
||||
"jar": "sha256-zjN0p++6YF4tK2mj/vkBNAMrqz7MPthXmkhxscLEcpw=",
|
||||
"module": "sha256-DWnbwja33Kq0ynNpqlYOmwqbvvf5WIgv+0hTPLunwJ0=",
|
||||
"pom": "sha256-d61+1KYwutH8h0agpuZ1wj+2lAsnq2LMyzTk/Pz+Ob8="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-engine/5.8.1": {
|
||||
"jar": "sha256-Rom8kCJVoZ/pgndoO6MjHAlNEHxUyNNfK2+cl9ImQY4=",
|
||||
"module": "sha256-aHkP7DP5ew7IQM9HrEDuDHLgVvEiyg88ZkZ0M0mTdpk=",
|
||||
"pom": "sha256-qjIKMYpyceMyYsSA/POZZbmobap2Zm63dTQrgOnN1F4="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-params/5.8.1": {
|
||||
"jar": "sha256-OJuNE6jYhy/L1PDrp7LEavxihBn5obKjqfkyQaBqchg=",
|
||||
"module": "sha256-Ek1gPG2AMzZtjKRxY2tEbji5zBvQEPMpVCNYGHr6hl4=",
|
||||
"pom": "sha256-OrrKWfvfJTMg9yRCwQPjnOQDjcEf6MSJ28ScwjoHHws="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter/5.8.1": {
|
||||
"jar": "sha256-jxBJ7iSzShC2DNgQBICZ94HCZYzeIYHoMUlqswqYKYU=",
|
||||
"module": "sha256-LjS6TIWMOM0KNlr//syTKnGWzpOF4utUBZQuWBwV/1w=",
|
||||
"pom": "sha256-rssFDSMtOT9Az/EfjMMPUrZslQpB+IOSXIEULt7l9PU="
|
||||
},
|
||||
"org/junit/platform#junit-platform-commons/1.8.1": {
|
||||
"jar": "sha256-+k+mjIvVTdDLScP8vpsuQvTaa+2+fnzPKgXxoeYJtZM=",
|
||||
"module": "sha256-aY/QVBrLfv/GZZhI/Qx91QEKSfFfDBy6Q+U1gH+Q9ms=",
|
||||
"pom": "sha256-4ZcoLlLnANEriJie3FSJh0aTUC5KqJB6zwgpgBq6bUQ="
|
||||
},
|
||||
"org/junit/platform#junit-platform-engine/1.8.1": {
|
||||
"jar": "sha256-cCho7X6GubRnLt4PHhhekFusqa+rV3RqfGUL48e8oEc=",
|
||||
"module": "sha256-2fQgpkU5o+32D4DfDG/XIrdQcldEx5ykD30lrlbKS6Q=",
|
||||
"pom": "sha256-hqrU5ld1TkOgDfIm3VTIrsHsarZTP1ASGQfkZi3i5fI="
|
||||
},
|
||||
"org/junit/vintage#junit-vintage-engine/5.8.1": {
|
||||
"jar": "sha256-F2tTzRvb+SM+lsiwx6nluGQoL7veukO1zq/e2ymkkVY=",
|
||||
"module": "sha256-nOn6Lk7mp0DWEBAlMEYqcc4PqdLxQYUi5LK9tgcvZ5o=",
|
||||
"pom": "sha256-Ndc3M08dvouMVnZ/oVCKwbVEsB1P5cmXl76QA+5YGxI="
|
||||
},
|
||||
"org/opentest4j#opentest4j/1.2.0": {
|
||||
"jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=",
|
||||
"pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,129 +0,0 @@
|
||||
{ stdenv, lib, fetchFromGitHub, writeText, openjdk11_headless, gradle_6
|
||||
, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib
|
||||
, ffmpeg_4-headless, python3, ruby
|
||||
, withMedia ? true
|
||||
, withWebKit ? false
|
||||
}:
|
||||
|
||||
let
|
||||
major = "15";
|
||||
update = ".0.1";
|
||||
build = "+1";
|
||||
repover = "${major}${update}${build}";
|
||||
gradle_ = (gradle_6.override {
|
||||
java = openjdk11_headless;
|
||||
});
|
||||
|
||||
makePackage = args: stdenv.mkDerivation ({
|
||||
version = "${major}${update}${build}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openjdk";
|
||||
repo = "jfx";
|
||||
rev = repover;
|
||||
sha256 = "019glq8rhn6amy3n5jc17vi2wpf1pxpmmywvyz1ga8n09w7xscq1";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ];
|
||||
nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
config = writeText "gradle.properties" (''
|
||||
CONF = Release
|
||||
JDK_HOME = ${openjdk11_headless.home}
|
||||
'' + args.gradleProperties or "");
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString [
|
||||
#avoids errors about deprecation of GTypeDebugFlags, GTimeVal, etc.
|
||||
"-DGLIB_DISABLE_DEPRECATION_WARNINGS"
|
||||
|
||||
# gstreamer workaround for -fno-common toolchains:
|
||||
# ld: gsttypefindelement.o:(.bss._gst_disable_registry_cache+0x0): multiple definition of
|
||||
# `_gst_disable_registry_cache'; gst.o:(.bss._gst_disable_registry_cache+0x0): first defined here
|
||||
"-fcommon"
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
ln -s $config gradle.properties
|
||||
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
|
||||
gradle --no-daemon $gradleFlags sdk
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
} // args);
|
||||
|
||||
# Fake build to pre-download deps into fixed-output derivation.
|
||||
# We run nearly full build because I see no other way to download everything that's needed.
|
||||
# Anyone who knows a better way?
|
||||
deps = makePackage {
|
||||
pname = "openjfx-deps";
|
||||
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME -type f -regex '.*/modules.*\.\(jar\|pom\)' \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
rm -rf $out/tmp
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-fGLTMM9s/Vn7eMzn6OQR3tL0cGbAYc7c4J4/aW3JvkI=";
|
||||
};
|
||||
|
||||
in makePackage {
|
||||
pname = "openjfx-modular-sdk";
|
||||
|
||||
gradleProperties = ''
|
||||
COMPILE_MEDIA = ${lib.boolToString withMedia}
|
||||
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
swtJar="$(find ${deps} -name org.eclipse.swt\*.jar)"
|
||||
substituteInPlace build.gradle \
|
||||
--replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }' \
|
||||
--replace 'name: SWT_FILE_NAME' "files('$swtJar')"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/modular-sdk $out
|
||||
'';
|
||||
|
||||
# glib-2.62 deprecations
|
||||
# -fcommon: gstreamer workaround for -fno-common toolchains:
|
||||
# ld: gsttypefindelement.o:(.bss._gst_disable_registry_cache+0x0): multiple definition of
|
||||
# `_gst_disable_registry_cache'; gst.o:(.bss._gst_disable_registry_cache+0x0): first defined here
|
||||
env.NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS -fcommon";
|
||||
|
||||
stripDebugList = [ "." ];
|
||||
|
||||
postFixup = ''
|
||||
# Remove references to bootstrap.
|
||||
export openjdkOutPath='${openjdk11_headless.outPath}'
|
||||
find "$out" -name \*.so | while read lib; do
|
||||
new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
|
||||
patchelf --set-rpath "$new_refs" "$lib"
|
||||
done
|
||||
'';
|
||||
|
||||
disallowedReferences = [ openjdk11_headless ];
|
||||
|
||||
passthru.deps = deps;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://openjdk.java.net/projects/openjfx/";
|
||||
license = licenses.gpl2;
|
||||
description = "Next-generation Java client toolkit";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
knownVulnerabilities = [
|
||||
"This OpenJFX version has reached its end of life."
|
||||
];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
{ stdenv, lib, pkgs, fetchFromGitHub, writeText, openjdk11_headless, gradle_6
|
||||
, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib
|
||||
, ffmpeg_4-headless, python3, ruby
|
||||
, withMedia ? true
|
||||
, withWebKit ? false
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "openjfx-modular-sdk";
|
||||
major = "15";
|
||||
update = ".0.1";
|
||||
build = "+1";
|
||||
repover = "${major}${update}${build}";
|
||||
jdk = openjdk11_headless;
|
||||
gradle = gradle_6;
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
inherit pname;
|
||||
version = "${major}${update}${build}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openjdk";
|
||||
repo = "jfx";
|
||||
rev = repover;
|
||||
sha256 = "019glq8rhn6amy3n5jc17vi2wpf1pxpmmywvyz1ga8n09w7xscq1";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ];
|
||||
nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
config = writeText "gradle.properties" ''
|
||||
CONF = Release
|
||||
JDK_HOME = ${jdk.home}
|
||||
COMPILE_MEDIA = ${lib.boolToString withMedia}
|
||||
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
ln -s $config gradle.properties
|
||||
'';
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
attrPath = "openjfx${major}";
|
||||
pkg = pkgs."openjfx${major}".override { withWebKit = true; };
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
preBuild = ''
|
||||
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
|
||||
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
|
||||
# avoids errors about deprecation of GTypeDebugFlags, GTimeVal, etc.
|
||||
export NIX_CFLAGS_COMPILE="-DGLIB_DISABLE_DEPRECATION_WARNINGS $NIX_CFLAGS_COMPILE"
|
||||
# gstreamer workaround for -fno-common toolchains:
|
||||
# ld: gsttypefindelement.o:(.bss._gst_disable_registry_cache+0x0): multiple definition of
|
||||
# `_gst_disable_registry_cache'; gst.o:(.bss._gst_disable_registry_cache+0x0): first defined here
|
||||
export NIX_CFLAGS_COMPILE="-fcommon $NIX_CFLAGS_COMPILE"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = false;
|
||||
|
||||
gradleBuildTask = "sdk";
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/modular-sdk $out
|
||||
'';
|
||||
|
||||
stripDebugList = [ "." ];
|
||||
|
||||
postFixup = ''
|
||||
# Remove references to bootstrap.
|
||||
export openjdkOutPath='${jdk.outPath}'
|
||||
find "$out" -name \*.so | while read lib; do
|
||||
new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
|
||||
patchelf --set-rpath "$new_refs" "$lib"
|
||||
done
|
||||
'';
|
||||
|
||||
disallowedReferences = [ jdk gradle.jdk ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://openjdk.java.net/projects/openjfx/";
|
||||
license = licenses.gpl2;
|
||||
description = "Next-generation Java client toolkit";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
knownVulnerabilities = [
|
||||
"This OpenJFX version has reached its end of life."
|
||||
];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://download.eclipse.org": {
|
||||
"eclipse/updates/4.6/R-4.6.3-201703010400/plugins/org.eclipse.swt.gtk.linux.x86_64_3.105.3.v20170228-0512": {
|
||||
"jar": "sha256-qWM1HV97griQxJlOFY2AVV2uOLAK87jXPzh1wh/zmLw="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/ibm/icu#icu4j/61.1": {
|
||||
"jar": "sha256-VcmOsYOLKku5oH3Da9N4Uy1k0M3LfO7pFCNoZqfeRGQ=",
|
||||
"pom": "sha256-E7h6QHnOsFUVsZrHoVIDlHB1YB1JQj9xk1ikmACYBWs="
|
||||
},
|
||||
"junit#junit/4.8.2": {
|
||||
"jar": "sha256-oqosO7K3LadsPmpxUx8e79w1BJSBm68rHYDXFG4CD54=",
|
||||
"pom": "sha256-3znTTR9YMLLYqSeQxmtXmDWLCz4BRS3IWzciqIGtkj4="
|
||||
},
|
||||
"net/java#jvnet-parent/3": {
|
||||
"pom": "sha256-MPV4nvo53b+WCVqto/wSYMRWH68vcUaGcXyy3FBJR1o="
|
||||
},
|
||||
"org/abego/treelayout#org.abego.treelayout.core/1.0.3": {
|
||||
"jar": "sha256-+l4xOVw5wufUasoPgfcgYJMWB7L6Qb02A46yy2+5MyY=",
|
||||
"pom": "sha256-o7KyI3lDcDVeeSQzrwEvyZNmfAMxviusrYTbwJrOSgw="
|
||||
},
|
||||
"org/antlr#ST4/4.1": {
|
||||
"jar": "sha256-ixzK7Z7cVc0lXZwZxNjaR1bZtvy0NWcSkrQ0cLFtddg=",
|
||||
"pom": "sha256-cz5r2XyjTMbfk6QkPlEeVnPLm4jHSxiETgQqRdUWmHw="
|
||||
},
|
||||
"org/antlr#antlr-master/3.5.2": {
|
||||
"pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y="
|
||||
},
|
||||
"org/antlr#antlr-runtime/3.5.2": {
|
||||
"jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=",
|
||||
"pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU="
|
||||
},
|
||||
"org/antlr#antlr4-master/4.7.2": {
|
||||
"pom": "sha256-upnLJdI5DzhoDHUChCoO4JWdHmQD4BPM/2mP1YVu6tE="
|
||||
},
|
||||
"org/antlr#antlr4-runtime/4.7.2": {
|
||||
"jar": "sha256-TFGLh9S9/4tEzYy8GvgW6US2Kj/luAt4FQHPH0dZu8Q=",
|
||||
"pom": "sha256-3AnLqYwl08BuSuxRaIXUw68DBiulX0/mKD/JzxdqYPs="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.2": {
|
||||
"pom": "sha256-z56zaUD6xEiBA4wb4/LFjgbmjRq/v9SmjTS72LrFV3E="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.2/complete": {
|
||||
"jar": "sha256-aFI4bXl17/KRcdrgAswiMlFRDTXyka4neUjzgaezgLQ="
|
||||
},
|
||||
"org/apache#apache/13": {
|
||||
"pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0="
|
||||
},
|
||||
"org/apache/lucene#lucene-core/7.7.2": {
|
||||
"jar": "sha256-gUOKydZ4BQxUbSqEEsxyg6XSD9hcNxQhhEfHWBZZT10=",
|
||||
"pom": "sha256-MPuqRu1exVS+3nILqReeEqTnQVHh+IaSBJbYREuwVZE="
|
||||
},
|
||||
"org/apache/lucene#lucene-grouping/7.7.2": {
|
||||
"jar": "sha256-nKhrWw/YSbq50xpk7RvP8cdTGrHP1z/E/tJDBmX7rUo=",
|
||||
"pom": "sha256-UezgO9APIm2uObABf5OZPPfXbSju8LQl+MzborrBs3w="
|
||||
},
|
||||
"org/apache/lucene#lucene-parent/7.7.2": {
|
||||
"pom": "sha256-fXiTJSgZw4Sx0lvUA6Go85DYUF+VQOHigRcZymjP7zQ="
|
||||
},
|
||||
"org/apache/lucene#lucene-queries/7.7.2": {
|
||||
"jar": "sha256-n8XsO17OwtKV0/xM+Dc5LfuWntYegaMr0/3SH4DbfHk=",
|
||||
"pom": "sha256-D4rAB9QDQb6gD3/s7m1Ewu7ZXQTi66KEf2CBJJLOcoQ="
|
||||
},
|
||||
"org/apache/lucene#lucene-queryparser/7.7.2": {
|
||||
"jar": "sha256-v9lKUL8FAf0H5prk9J28FJzjaUoFZrsWTXxui+VeK9Q=",
|
||||
"pom": "sha256-DmVV70KT9yjEqJhOuuNUK+N7KThK/gcQjPy+R/AS3Us="
|
||||
},
|
||||
"org/apache/lucene#lucene-sandbox/7.7.2": {
|
||||
"jar": "sha256-dqY72JMAjr7tJJeePyUIXIkJ/0vEEv33iAJfntoKvhE=",
|
||||
"pom": "sha256-zwJCiBB2rdYRwEPZZPtrduPRnAQn7/r/Qhc6ZQ+Bk5s="
|
||||
},
|
||||
"org/apache/lucene#lucene-solr-grandparent/7.7.2": {
|
||||
"pom": "sha256-a0oZeEo3uKoSdf5mCEZKHZvSlLVv6WgRIgfkDEKETqc="
|
||||
},
|
||||
"org/glassfish#javax.json/1.0.4": {
|
||||
"jar": "sha256-Dh3sQKHt6WWUElHtqWiu7gUsxPUDeLwxbMSOgVm9vrQ=",
|
||||
"pom": "sha256-a6+Dg/+pi2bqls1b/B7H8teUY7uYrJgFKWSxIcIhLVQ="
|
||||
},
|
||||
"org/glassfish#json/1.0.4": {
|
||||
"pom": "sha256-bXxoQjEV+SFxjZRPhZkktMaFIX7AOkn3BFWossqpcuY="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,128 +0,0 @@
|
||||
{ stdenv, lib, fetchFromGitHub, writeText, openjdk17_headless, gradle_7
|
||||
, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib
|
||||
, ffmpeg_4-headless, python3, ruby, fetchurl, runCommand
|
||||
, withMedia ? true
|
||||
, withWebKit ? false
|
||||
}:
|
||||
|
||||
let
|
||||
major = "17";
|
||||
update = ".0.11";
|
||||
build = "-ga";
|
||||
repover = "${major}${update}${build}";
|
||||
gradle_ = (gradle_7.override {
|
||||
java = openjdk17_headless;
|
||||
});
|
||||
|
||||
icuVersionWithSep = s: "71${s}1";
|
||||
icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "_"}-data-bin-l.zip";
|
||||
icuData = fetchurl {
|
||||
url = "https://github.com/unicode-org/icu/releases/${icuPath}";
|
||||
hash = "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM=";
|
||||
};
|
||||
icuFakeRepository = runCommand "icu-data-repository" {} ''
|
||||
install -Dm644 ${icuData} $out/${icuPath}
|
||||
'';
|
||||
|
||||
makePackage = args: stdenv.mkDerivation ({
|
||||
version = "${major}${update}${build}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openjdk";
|
||||
repo = "jfx${major}u";
|
||||
rev = repover;
|
||||
sha256 = "sha256-WV8NHlYlt7buGbirLSorLnS2TnyBD17zUquFfwSL3xE=";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ];
|
||||
nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
postPatch = ''
|
||||
# Add missing includes for gcc-13 for webkit build:
|
||||
sed -e '1i #include <cstdio>' \
|
||||
-i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
|
||||
modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
|
||||
'';
|
||||
|
||||
config = writeText "gradle.properties" (''
|
||||
CONF = Release
|
||||
JDK_HOME = ${openjdk17_headless.home}
|
||||
'' + args.gradleProperties or "");
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
ln -s $config gradle.properties
|
||||
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
|
||||
gradle --no-daemon --console=plain $gradleFlags sdk
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
} // args);
|
||||
|
||||
# Fake build to pre-download deps into fixed-output derivation.
|
||||
# We run nearly full build because I see no other way to download everything that's needed.
|
||||
# Anyone who knows a better way?
|
||||
deps = makePackage {
|
||||
pname = "openjfx-deps";
|
||||
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME -type f -regex '.*/modules.*\.\(jar\|pom\)' \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
rm -rf $out/tmp
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-dV7/U5GpFxhI13smZ587C6cVE4FRNPY0zexZkYK4Yqo=";
|
||||
};
|
||||
|
||||
in makePackage {
|
||||
pname = "openjfx-modular-sdk";
|
||||
|
||||
gradleProperties = ''
|
||||
COMPILE_MEDIA = ${lib.boolToString withMedia}
|
||||
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
|
||||
${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
swtJar="$(find ${deps} -name org.eclipse.swt\*.jar)"
|
||||
substituteInPlace build.gradle \
|
||||
--replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }' \
|
||||
--replace 'name: SWT_FILE_NAME' "files('$swtJar')"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/modular-sdk $out
|
||||
'';
|
||||
|
||||
stripDebugList = [ "." ];
|
||||
|
||||
postFixup = ''
|
||||
# Remove references to bootstrap.
|
||||
export openjdkOutPath='${openjdk17_headless.outPath}'
|
||||
find "$out" -name \*.so | while read lib; do
|
||||
new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
|
||||
patchelf --set-rpath "$new_refs" "$lib"
|
||||
done
|
||||
'';
|
||||
|
||||
disallowedReferences = [ openjdk17_headless ];
|
||||
|
||||
passthru.deps = deps;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://openjdk.java.net/projects/openjfx/";
|
||||
license = licenses.gpl2;
|
||||
description = "Next-generation Java client toolkit";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
{ stdenv, lib, pkgs, fetchFromGitHub, writeText, openjdk17_headless, gradle_7
|
||||
, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib
|
||||
, ffmpeg_4-headless, python3, ruby
|
||||
, withMedia ? true
|
||||
, withWebKit ? false
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "openjfx-modular-sdk";
|
||||
major = "17";
|
||||
update = ".0.11";
|
||||
build = "-ga";
|
||||
repover = "${major}${update}${build}";
|
||||
jdk = openjdk17_headless;
|
||||
gradle = gradle_7;
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
inherit pname;
|
||||
version = "${major}${update}${build}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openjdk";
|
||||
repo = "jfx${major}u";
|
||||
rev = repover;
|
||||
sha256 = "sha256-9VfXk2EfMebMyVKPohPRP2QXRFf8XemUtfY0JtBCHyw=";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ];
|
||||
nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
config = writeText "gradle.properties" ''
|
||||
CONF = Release
|
||||
JDK_HOME = ${jdk.home}
|
||||
COMPILE_MEDIA = ${lib.boolToString withMedia}
|
||||
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
# Add missing includes for gcc-13 for webkit build:
|
||||
sed -e '1i #include <cstdio>' \
|
||||
-i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
|
||||
modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
|
||||
|
||||
ln -s $config gradle.properties
|
||||
'';
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
attrPath = "openjfx${major}";
|
||||
pkg = pkgs."openjfx${major}".override { withWebKit = true; };
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
preBuild = ''
|
||||
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
|
||||
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = false;
|
||||
|
||||
gradleBuildTask = "sdk";
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/modular-sdk $out
|
||||
'';
|
||||
|
||||
stripDebugList = [ "." ];
|
||||
|
||||
postFixup = ''
|
||||
# Remove references to bootstrap.
|
||||
export openjdkOutPath='${jdk.outPath}'
|
||||
find "$out" -name \*.so | while read lib; do
|
||||
new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
|
||||
patchelf --set-rpath "$new_refs" "$lib"
|
||||
done
|
||||
'';
|
||||
|
||||
disallowedReferences = [ jdk gradle.jdk ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://openjdk.java.net/projects/openjfx/";
|
||||
license = licenses.gpl2;
|
||||
description = "Next-generation Java client toolkit";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
+152
@@ -0,0 +1,152 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://download.eclipse.org": {
|
||||
"eclipse/updates/4.6/R-4.6.3-201703010400/plugins/org.eclipse.swt.gtk.linux.x86_64_3.105.3.v20170228-0512": {
|
||||
"jar": "sha256-qWM1HV97griQxJlOFY2AVV2uOLAK87jXPzh1wh/zmLw="
|
||||
}
|
||||
},
|
||||
"https://github.com": {
|
||||
"unicode-org/icu/releases/download/release-71-1/icu4c-71_1-data-bin-l": {
|
||||
"zip": "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/ibm/icu#icu4j/61.1": {
|
||||
"jar": "sha256-VcmOsYOLKku5oH3Da9N4Uy1k0M3LfO7pFCNoZqfeRGQ=",
|
||||
"pom": "sha256-E7h6QHnOsFUVsZrHoVIDlHB1YB1JQj9xk1ikmACYBWs="
|
||||
},
|
||||
"junit#junit/4.13.2": {
|
||||
"jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=",
|
||||
"pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ="
|
||||
},
|
||||
"net/java#jvnet-parent/3": {
|
||||
"pom": "sha256-MPV4nvo53b+WCVqto/wSYMRWH68vcUaGcXyy3FBJR1o="
|
||||
},
|
||||
"org/abego/treelayout#org.abego.treelayout.core/1.0.3": {
|
||||
"jar": "sha256-+l4xOVw5wufUasoPgfcgYJMWB7L6Qb02A46yy2+5MyY=",
|
||||
"pom": "sha256-o7KyI3lDcDVeeSQzrwEvyZNmfAMxviusrYTbwJrOSgw="
|
||||
},
|
||||
"org/antlr#ST4/4.1": {
|
||||
"jar": "sha256-ixzK7Z7cVc0lXZwZxNjaR1bZtvy0NWcSkrQ0cLFtddg=",
|
||||
"pom": "sha256-cz5r2XyjTMbfk6QkPlEeVnPLm4jHSxiETgQqRdUWmHw="
|
||||
},
|
||||
"org/antlr#antlr-master/3.5.2": {
|
||||
"pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y="
|
||||
},
|
||||
"org/antlr#antlr-runtime/3.5.2": {
|
||||
"jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=",
|
||||
"pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU="
|
||||
},
|
||||
"org/antlr#antlr4-master/4.7.2": {
|
||||
"pom": "sha256-upnLJdI5DzhoDHUChCoO4JWdHmQD4BPM/2mP1YVu6tE="
|
||||
},
|
||||
"org/antlr#antlr4-runtime/4.7.2": {
|
||||
"jar": "sha256-TFGLh9S9/4tEzYy8GvgW6US2Kj/luAt4FQHPH0dZu8Q=",
|
||||
"pom": "sha256-3AnLqYwl08BuSuxRaIXUw68DBiulX0/mKD/JzxdqYPs="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.2": {
|
||||
"pom": "sha256-z56zaUD6xEiBA4wb4/LFjgbmjRq/v9SmjTS72LrFV3E="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.2/complete": {
|
||||
"jar": "sha256-aFI4bXl17/KRcdrgAswiMlFRDTXyka4neUjzgaezgLQ="
|
||||
},
|
||||
"org/apache#apache/13": {
|
||||
"pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0="
|
||||
},
|
||||
"org/apache/lucene#lucene-core/7.7.3": {
|
||||
"jar": "sha256-jrAzNcGjxqixiN9012G6qDVplTWCq0QLU0yIRJ6o4N4=",
|
||||
"pom": "sha256-gvilIoHGyLp5dKy6rESzLXbiYAgvP0u+FlwPbkuJFCo="
|
||||
},
|
||||
"org/apache/lucene#lucene-grouping/7.7.3": {
|
||||
"jar": "sha256-L1vNY7JXQ9MMMTmGIk0Qf3XFKThxSVQlNRDFfT9nvrg=",
|
||||
"pom": "sha256-HwStk+IETUCP2SXu4K6ktKHvjAdXe0Jme7U2BgKCImU="
|
||||
},
|
||||
"org/apache/lucene#lucene-parent/7.7.3": {
|
||||
"pom": "sha256-6PrdU9XwBMQN3SNdQ4ZI5yxyVZn+4VQ+ViTV+1AQcwU="
|
||||
},
|
||||
"org/apache/lucene#lucene-queries/7.7.3": {
|
||||
"jar": "sha256-PLWS2wpulWnGrMvbiKmtex2nQo28p5Ia0cWlhl1bQiY=",
|
||||
"pom": "sha256-rkBsiiuw12SllERCefRiihl2vQlB551CzmTgmHxYnFA="
|
||||
},
|
||||
"org/apache/lucene#lucene-queryparser/7.7.3": {
|
||||
"jar": "sha256-F3XJ/o7dlobTt6ZHd4+kTqqW8cwMSZMVCHEz4amDnoQ=",
|
||||
"pom": "sha256-z2klkhWscjC5+tYKXInKDp9bm6rM7dFGlY/76Q9OsNI="
|
||||
},
|
||||
"org/apache/lucene#lucene-sandbox/7.7.3": {
|
||||
"jar": "sha256-VfG38J2uKwytMhw00Vw8/FmgIRviM/Yp0EbEK/FwErc=",
|
||||
"pom": "sha256-1vbdxsz1xvymRH1HD1BJ4WN6xje/HbWuDV8WaP34EiI="
|
||||
},
|
||||
"org/apache/lucene#lucene-solr-grandparent/7.7.3": {
|
||||
"pom": "sha256-Oig3WAynavNq99/i3B0zT8b/XybRDySJnbd3CtfP2f4="
|
||||
},
|
||||
"org/apiguardian#apiguardian-api/1.1.2": {
|
||||
"jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=",
|
||||
"module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=",
|
||||
"pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA="
|
||||
},
|
||||
"org/glassfish#javax.json/1.0.4": {
|
||||
"jar": "sha256-Dh3sQKHt6WWUElHtqWiu7gUsxPUDeLwxbMSOgVm9vrQ=",
|
||||
"pom": "sha256-a6+Dg/+pi2bqls1b/B7H8teUY7uYrJgFKWSxIcIhLVQ="
|
||||
},
|
||||
"org/glassfish#json/1.0.4": {
|
||||
"pom": "sha256-bXxoQjEV+SFxjZRPhZkktMaFIX7AOkn3BFWossqpcuY="
|
||||
},
|
||||
"org/hamcrest#hamcrest-core/1.3": {
|
||||
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
|
||||
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
|
||||
},
|
||||
"org/hamcrest#hamcrest-parent/1.3": {
|
||||
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
|
||||
},
|
||||
"org/junit#junit-bom/5.8.1": {
|
||||
"module": "sha256-a4LLpSoTSxPBmC8M+WIsbUhTcdQLmJJG8xJOOwpbGFQ=",
|
||||
"pom": "sha256-733Ef45KFoZPR3lyjofteFOYGeT7iSdoqdprjvkD+GM="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-api/5.8.1": {
|
||||
"jar": "sha256-zjN0p++6YF4tK2mj/vkBNAMrqz7MPthXmkhxscLEcpw=",
|
||||
"module": "sha256-DWnbwja33Kq0ynNpqlYOmwqbvvf5WIgv+0hTPLunwJ0=",
|
||||
"pom": "sha256-d61+1KYwutH8h0agpuZ1wj+2lAsnq2LMyzTk/Pz+Ob8="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-engine/5.8.1": {
|
||||
"jar": "sha256-Rom8kCJVoZ/pgndoO6MjHAlNEHxUyNNfK2+cl9ImQY4=",
|
||||
"module": "sha256-aHkP7DP5ew7IQM9HrEDuDHLgVvEiyg88ZkZ0M0mTdpk=",
|
||||
"pom": "sha256-qjIKMYpyceMyYsSA/POZZbmobap2Zm63dTQrgOnN1F4="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-params/5.8.1": {
|
||||
"jar": "sha256-OJuNE6jYhy/L1PDrp7LEavxihBn5obKjqfkyQaBqchg=",
|
||||
"module": "sha256-Ek1gPG2AMzZtjKRxY2tEbji5zBvQEPMpVCNYGHr6hl4=",
|
||||
"pom": "sha256-OrrKWfvfJTMg9yRCwQPjnOQDjcEf6MSJ28ScwjoHHws="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter/5.8.1": {
|
||||
"jar": "sha256-jxBJ7iSzShC2DNgQBICZ94HCZYzeIYHoMUlqswqYKYU=",
|
||||
"module": "sha256-LjS6TIWMOM0KNlr//syTKnGWzpOF4utUBZQuWBwV/1w=",
|
||||
"pom": "sha256-rssFDSMtOT9Az/EfjMMPUrZslQpB+IOSXIEULt7l9PU="
|
||||
},
|
||||
"org/junit/platform#junit-platform-commons/1.8.1": {
|
||||
"jar": "sha256-+k+mjIvVTdDLScP8vpsuQvTaa+2+fnzPKgXxoeYJtZM=",
|
||||
"module": "sha256-aY/QVBrLfv/GZZhI/Qx91QEKSfFfDBy6Q+U1gH+Q9ms=",
|
||||
"pom": "sha256-4ZcoLlLnANEriJie3FSJh0aTUC5KqJB6zwgpgBq6bUQ="
|
||||
},
|
||||
"org/junit/platform#junit-platform-engine/1.8.1": {
|
||||
"jar": "sha256-cCho7X6GubRnLt4PHhhekFusqa+rV3RqfGUL48e8oEc=",
|
||||
"module": "sha256-2fQgpkU5o+32D4DfDG/XIrdQcldEx5ykD30lrlbKS6Q=",
|
||||
"pom": "sha256-hqrU5ld1TkOgDfIm3VTIrsHsarZTP1ASGQfkZi3i5fI="
|
||||
},
|
||||
"org/junit/vintage#junit-vintage-engine/5.8.1": {
|
||||
"jar": "sha256-F2tTzRvb+SM+lsiwx6nluGQoL7veukO1zq/e2ymkkVY=",
|
||||
"module": "sha256-nOn6Lk7mp0DWEBAlMEYqcc4PqdLxQYUi5LK9tgcvZ5o=",
|
||||
"pom": "sha256-Ndc3M08dvouMVnZ/oVCKwbVEsB1P5cmXl76QA+5YGxI="
|
||||
},
|
||||
"org/opentest4j#opentest4j/1.2.0": {
|
||||
"jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=",
|
||||
"pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,148 +0,0 @@
|
||||
{ stdenv, lib, fetchFromGitHub, fetchpatch, writeText, openjdk17_headless
|
||||
, openjdk19_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst
|
||||
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, fetchurl, runCommand
|
||||
, withMedia ? true
|
||||
, withWebKit ? false
|
||||
}:
|
||||
|
||||
let
|
||||
major = "19";
|
||||
update = ".0.2.1";
|
||||
build = "+1";
|
||||
repover = "${major}${update}${build}";
|
||||
gradle_ = (gradle_7.override {
|
||||
# note: gradle does not yet support running on 19
|
||||
java = openjdk17_headless;
|
||||
});
|
||||
|
||||
icuVersionWithSep = s: "68${s}2";
|
||||
icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "."}-data-bin-l.zip";
|
||||
icuData = fetchurl {
|
||||
url = "https://github.com/unicode-org/icu/releases/${icuPath}";
|
||||
hash = "sha256-ieQCLBTNrskuf8j3IUQS3QLIAQzLom/O58muMP363Lw=";
|
||||
};
|
||||
icuFakeRepository = runCommand "icu-data-repository" {} ''
|
||||
install -Dm644 ${icuData} $out/${icuPath}
|
||||
'';
|
||||
|
||||
makePackage = args: stdenv.mkDerivation ({
|
||||
version = "${major}${update}${build}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openjdk";
|
||||
repo = "jfx";
|
||||
rev = repover;
|
||||
hash = "sha256-A08GhCGpzWlUG1+f6mcjvkJmMNaOReacQKPEmNpUvLs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# 8295962: Reference to State in Task.java is ambiguous when building with JDK 19
|
||||
(fetchpatch {
|
||||
url = "https://github.com/openjdk/jfx/pull/933/commits/cfaee2a52350eff39dd4352484c892716076d3de.patch";
|
||||
hash = "sha256-hzJMenhvtmHs/6BJj8GfaLp14myV8VCXCLLC8n32yEw=";
|
||||
})
|
||||
# ditto
|
||||
(fetchpatch {
|
||||
url = "https://github.com/openjdk/jfx/pull/933/commits/bd46ce12df0a93a56fe0d58d3653d08e58409b7f.patch";
|
||||
hash = "sha256-o9908uw9vYvULmAh/lbfyHhgxz6jpgPq2fcAltWsYoU=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Add missing includes for gcc-13 for webkit build:
|
||||
sed -e '1i #include <cstdio>' \
|
||||
-i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
|
||||
modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
|
||||
'';
|
||||
|
||||
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
|
||||
nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
config = writeText "gradle.properties" (''
|
||||
CONF = Release
|
||||
JDK_HOME = ${openjdk19_headless.home}
|
||||
'' + args.gradleProperties or "");
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
ln -s $config gradle.properties
|
||||
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
|
||||
gradle --no-daemon --console=plain $gradleFlags sdk
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
} // args);
|
||||
|
||||
# Fake build to pre-download deps into fixed-output derivation.
|
||||
# We run nearly full build because I see no other way to download everything that's needed.
|
||||
# Anyone who knows a better way?
|
||||
deps = makePackage {
|
||||
pname = "openjfx-deps";
|
||||
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME -type f -regex '.*/modules.*\.\(jar\|pom\)' \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
rm -rf $out/tmp
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
# suspiciously the same as for openjfx 17 ...
|
||||
# could they really not have changed any of their dependencies?
|
||||
# or did we miss changing another upstream hash when copy-pasting?
|
||||
outputHash = "sha256-dV7/U5GpFxhI13smZ587C6cVE4FRNPY0zexZkYK4Yqo=";
|
||||
};
|
||||
|
||||
in makePackage {
|
||||
pname = "openjfx-modular-sdk";
|
||||
|
||||
gradleProperties = ''
|
||||
COMPILE_MEDIA = ${lib.boolToString withMedia}
|
||||
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
|
||||
${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
swtJar="$(find ${deps} -name org.eclipse.swt\*.jar)"
|
||||
substituteInPlace build.gradle \
|
||||
--replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }' \
|
||||
--replace 'name: SWT_FILE_NAME' "files('$swtJar')"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/modular-sdk $out
|
||||
'';
|
||||
|
||||
stripDebugList = [ "." ];
|
||||
|
||||
postFixup = ''
|
||||
# Remove references to bootstrap.
|
||||
export openjdkOutPath='${openjdk19_headless.outPath}'
|
||||
find "$out" -name \*.so | while read lib; do
|
||||
new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
|
||||
patchelf --set-rpath "$new_refs" "$lib"
|
||||
done
|
||||
'';
|
||||
|
||||
disallowedReferences = [ openjdk17_headless openjdk19_headless ];
|
||||
|
||||
passthru.deps = deps;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://openjdk.org/projects/openjfx/";
|
||||
license = licenses.gpl2Classpath;
|
||||
description = "Next-generation Java client toolkit";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
platforms = platforms.unix;
|
||||
knownVulnerabilities = [
|
||||
"This OpenJFX version has reached its end of life."
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
{ stdenv, lib, pkgs, fetchFromGitHub, fetchpatch, writeText
|
||||
, openjdk19_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst
|
||||
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby
|
||||
, withMedia ? true
|
||||
, withWebKit ? false
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "openjfx-modular-sdk";
|
||||
major = "19";
|
||||
update = ".0.2.1";
|
||||
build = "+1";
|
||||
repover = "${major}${update}${build}";
|
||||
jdk = openjdk19_headless;
|
||||
gradle = gradle_7;
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
inherit pname;
|
||||
version = "${major}${update}${build}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openjdk";
|
||||
repo = "jfx";
|
||||
rev = repover;
|
||||
hash = "sha256-A08GhCGpzWlUG1+f6mcjvkJmMNaOReacQKPEmNpUvLs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# 8295962: Reference to State in Task.java is ambiguous when building with JDK 19
|
||||
(fetchpatch {
|
||||
url = "https://github.com/openjdk/jfx/pull/933/commits/cfaee2a52350eff39dd4352484c892716076d3de.patch";
|
||||
hash = "sha256-hzJMenhvtmHs/6BJj8GfaLp14myV8VCXCLLC8n32yEw=";
|
||||
})
|
||||
# ditto
|
||||
(fetchpatch {
|
||||
url = "https://github.com/openjdk/jfx/pull/933/commits/bd46ce12df0a93a56fe0d58d3653d08e58409b7f.patch";
|
||||
hash = "sha256-o9908uw9vYvULmAh/lbfyHhgxz6jpgPq2fcAltWsYoU=";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
|
||||
nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
config = writeText "gradle.properties" ''
|
||||
CONF = Release
|
||||
JDK_HOME = ${jdk.home}
|
||||
COMPILE_MEDIA = ${lib.boolToString withMedia}
|
||||
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
# Add missing includes for gcc-13 for webkit build:
|
||||
sed -e '1i #include <cstdio>' \
|
||||
-i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
|
||||
modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
|
||||
|
||||
ln -s $config gradle.properties
|
||||
'';
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
attrPath = "openjfx${major}";
|
||||
pkg = pkgs."openjfx${major}".override { withWebKit = true; };
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
preBuild = ''
|
||||
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
|
||||
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = false;
|
||||
|
||||
gradleBuildTask = "sdk";
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/modular-sdk $out
|
||||
'';
|
||||
|
||||
stripDebugList = [ "." ];
|
||||
|
||||
postFixup = ''
|
||||
# Remove references to bootstrap.
|
||||
export openjdkOutPath='${jdk.outPath}'
|
||||
find "$out" -name \*.so | while read lib; do
|
||||
new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
|
||||
patchelf --set-rpath "$new_refs" "$lib"
|
||||
done
|
||||
'';
|
||||
|
||||
disallowedReferences = [ jdk gradle.jdk ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://openjdk.org/projects/openjfx/";
|
||||
license = licenses.gpl2Classpath;
|
||||
description = "Next-generation Java client toolkit";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
platforms = platforms.unix;
|
||||
knownVulnerabilities = [
|
||||
"This OpenJFX version has reached its end of life."
|
||||
];
|
||||
};
|
||||
}
|
||||
+152
@@ -0,0 +1,152 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://download.eclipse.org": {
|
||||
"eclipse/updates/4.6/R-4.6.3-201703010400/plugins/org.eclipse.swt.gtk.linux.x86_64_3.105.3.v20170228-0512": {
|
||||
"jar": "sha256-qWM1HV97griQxJlOFY2AVV2uOLAK87jXPzh1wh/zmLw="
|
||||
}
|
||||
},
|
||||
"https://github.com": {
|
||||
"unicode-org/icu/releases/download/release-68-2/icu4c-68.2-data-bin-l": {
|
||||
"zip": "sha256-ieQCLBTNrskuf8j3IUQS3QLIAQzLom/O58muMP363Lw="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/ibm/icu#icu4j/61.1": {
|
||||
"jar": "sha256-VcmOsYOLKku5oH3Da9N4Uy1k0M3LfO7pFCNoZqfeRGQ=",
|
||||
"pom": "sha256-E7h6QHnOsFUVsZrHoVIDlHB1YB1JQj9xk1ikmACYBWs="
|
||||
},
|
||||
"junit#junit/4.13.2": {
|
||||
"jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=",
|
||||
"pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ="
|
||||
},
|
||||
"net/java#jvnet-parent/3": {
|
||||
"pom": "sha256-MPV4nvo53b+WCVqto/wSYMRWH68vcUaGcXyy3FBJR1o="
|
||||
},
|
||||
"org/abego/treelayout#org.abego.treelayout.core/1.0.3": {
|
||||
"jar": "sha256-+l4xOVw5wufUasoPgfcgYJMWB7L6Qb02A46yy2+5MyY=",
|
||||
"pom": "sha256-o7KyI3lDcDVeeSQzrwEvyZNmfAMxviusrYTbwJrOSgw="
|
||||
},
|
||||
"org/antlr#ST4/4.1": {
|
||||
"jar": "sha256-ixzK7Z7cVc0lXZwZxNjaR1bZtvy0NWcSkrQ0cLFtddg=",
|
||||
"pom": "sha256-cz5r2XyjTMbfk6QkPlEeVnPLm4jHSxiETgQqRdUWmHw="
|
||||
},
|
||||
"org/antlr#antlr-master/3.5.2": {
|
||||
"pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y="
|
||||
},
|
||||
"org/antlr#antlr-runtime/3.5.2": {
|
||||
"jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=",
|
||||
"pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU="
|
||||
},
|
||||
"org/antlr#antlr4-master/4.7.2": {
|
||||
"pom": "sha256-upnLJdI5DzhoDHUChCoO4JWdHmQD4BPM/2mP1YVu6tE="
|
||||
},
|
||||
"org/antlr#antlr4-runtime/4.7.2": {
|
||||
"jar": "sha256-TFGLh9S9/4tEzYy8GvgW6US2Kj/luAt4FQHPH0dZu8Q=",
|
||||
"pom": "sha256-3AnLqYwl08BuSuxRaIXUw68DBiulX0/mKD/JzxdqYPs="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.2": {
|
||||
"pom": "sha256-z56zaUD6xEiBA4wb4/LFjgbmjRq/v9SmjTS72LrFV3E="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.2/complete": {
|
||||
"jar": "sha256-aFI4bXl17/KRcdrgAswiMlFRDTXyka4neUjzgaezgLQ="
|
||||
},
|
||||
"org/apache#apache/13": {
|
||||
"pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0="
|
||||
},
|
||||
"org/apache/lucene#lucene-core/7.7.3": {
|
||||
"jar": "sha256-jrAzNcGjxqixiN9012G6qDVplTWCq0QLU0yIRJ6o4N4=",
|
||||
"pom": "sha256-gvilIoHGyLp5dKy6rESzLXbiYAgvP0u+FlwPbkuJFCo="
|
||||
},
|
||||
"org/apache/lucene#lucene-grouping/7.7.3": {
|
||||
"jar": "sha256-L1vNY7JXQ9MMMTmGIk0Qf3XFKThxSVQlNRDFfT9nvrg=",
|
||||
"pom": "sha256-HwStk+IETUCP2SXu4K6ktKHvjAdXe0Jme7U2BgKCImU="
|
||||
},
|
||||
"org/apache/lucene#lucene-parent/7.7.3": {
|
||||
"pom": "sha256-6PrdU9XwBMQN3SNdQ4ZI5yxyVZn+4VQ+ViTV+1AQcwU="
|
||||
},
|
||||
"org/apache/lucene#lucene-queries/7.7.3": {
|
||||
"jar": "sha256-PLWS2wpulWnGrMvbiKmtex2nQo28p5Ia0cWlhl1bQiY=",
|
||||
"pom": "sha256-rkBsiiuw12SllERCefRiihl2vQlB551CzmTgmHxYnFA="
|
||||
},
|
||||
"org/apache/lucene#lucene-queryparser/7.7.3": {
|
||||
"jar": "sha256-F3XJ/o7dlobTt6ZHd4+kTqqW8cwMSZMVCHEz4amDnoQ=",
|
||||
"pom": "sha256-z2klkhWscjC5+tYKXInKDp9bm6rM7dFGlY/76Q9OsNI="
|
||||
},
|
||||
"org/apache/lucene#lucene-sandbox/7.7.3": {
|
||||
"jar": "sha256-VfG38J2uKwytMhw00Vw8/FmgIRviM/Yp0EbEK/FwErc=",
|
||||
"pom": "sha256-1vbdxsz1xvymRH1HD1BJ4WN6xje/HbWuDV8WaP34EiI="
|
||||
},
|
||||
"org/apache/lucene#lucene-solr-grandparent/7.7.3": {
|
||||
"pom": "sha256-Oig3WAynavNq99/i3B0zT8b/XybRDySJnbd3CtfP2f4="
|
||||
},
|
||||
"org/apiguardian#apiguardian-api/1.1.2": {
|
||||
"jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=",
|
||||
"module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=",
|
||||
"pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA="
|
||||
},
|
||||
"org/glassfish#javax.json/1.0.4": {
|
||||
"jar": "sha256-Dh3sQKHt6WWUElHtqWiu7gUsxPUDeLwxbMSOgVm9vrQ=",
|
||||
"pom": "sha256-a6+Dg/+pi2bqls1b/B7H8teUY7uYrJgFKWSxIcIhLVQ="
|
||||
},
|
||||
"org/glassfish#json/1.0.4": {
|
||||
"pom": "sha256-bXxoQjEV+SFxjZRPhZkktMaFIX7AOkn3BFWossqpcuY="
|
||||
},
|
||||
"org/hamcrest#hamcrest-core/1.3": {
|
||||
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
|
||||
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
|
||||
},
|
||||
"org/hamcrest#hamcrest-parent/1.3": {
|
||||
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
|
||||
},
|
||||
"org/junit#junit-bom/5.8.1": {
|
||||
"module": "sha256-a4LLpSoTSxPBmC8M+WIsbUhTcdQLmJJG8xJOOwpbGFQ=",
|
||||
"pom": "sha256-733Ef45KFoZPR3lyjofteFOYGeT7iSdoqdprjvkD+GM="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-api/5.8.1": {
|
||||
"jar": "sha256-zjN0p++6YF4tK2mj/vkBNAMrqz7MPthXmkhxscLEcpw=",
|
||||
"module": "sha256-DWnbwja33Kq0ynNpqlYOmwqbvvf5WIgv+0hTPLunwJ0=",
|
||||
"pom": "sha256-d61+1KYwutH8h0agpuZ1wj+2lAsnq2LMyzTk/Pz+Ob8="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-engine/5.8.1": {
|
||||
"jar": "sha256-Rom8kCJVoZ/pgndoO6MjHAlNEHxUyNNfK2+cl9ImQY4=",
|
||||
"module": "sha256-aHkP7DP5ew7IQM9HrEDuDHLgVvEiyg88ZkZ0M0mTdpk=",
|
||||
"pom": "sha256-qjIKMYpyceMyYsSA/POZZbmobap2Zm63dTQrgOnN1F4="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-params/5.8.1": {
|
||||
"jar": "sha256-OJuNE6jYhy/L1PDrp7LEavxihBn5obKjqfkyQaBqchg=",
|
||||
"module": "sha256-Ek1gPG2AMzZtjKRxY2tEbji5zBvQEPMpVCNYGHr6hl4=",
|
||||
"pom": "sha256-OrrKWfvfJTMg9yRCwQPjnOQDjcEf6MSJ28ScwjoHHws="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter/5.8.1": {
|
||||
"jar": "sha256-jxBJ7iSzShC2DNgQBICZ94HCZYzeIYHoMUlqswqYKYU=",
|
||||
"module": "sha256-LjS6TIWMOM0KNlr//syTKnGWzpOF4utUBZQuWBwV/1w=",
|
||||
"pom": "sha256-rssFDSMtOT9Az/EfjMMPUrZslQpB+IOSXIEULt7l9PU="
|
||||
},
|
||||
"org/junit/platform#junit-platform-commons/1.8.1": {
|
||||
"jar": "sha256-+k+mjIvVTdDLScP8vpsuQvTaa+2+fnzPKgXxoeYJtZM=",
|
||||
"module": "sha256-aY/QVBrLfv/GZZhI/Qx91QEKSfFfDBy6Q+U1gH+Q9ms=",
|
||||
"pom": "sha256-4ZcoLlLnANEriJie3FSJh0aTUC5KqJB6zwgpgBq6bUQ="
|
||||
},
|
||||
"org/junit/platform#junit-platform-engine/1.8.1": {
|
||||
"jar": "sha256-cCho7X6GubRnLt4PHhhekFusqa+rV3RqfGUL48e8oEc=",
|
||||
"module": "sha256-2fQgpkU5o+32D4DfDG/XIrdQcldEx5ykD30lrlbKS6Q=",
|
||||
"pom": "sha256-hqrU5ld1TkOgDfIm3VTIrsHsarZTP1ASGQfkZi3i5fI="
|
||||
},
|
||||
"org/junit/vintage#junit-vintage-engine/5.8.1": {
|
||||
"jar": "sha256-F2tTzRvb+SM+lsiwx6nluGQoL7veukO1zq/e2ymkkVY=",
|
||||
"module": "sha256-nOn6Lk7mp0DWEBAlMEYqcc4PqdLxQYUi5LK9tgcvZ5o=",
|
||||
"pom": "sha256-Ndc3M08dvouMVnZ/oVCKwbVEsB1P5cmXl76QA+5YGxI="
|
||||
},
|
||||
"org/opentest4j#opentest4j/1.2.0": {
|
||||
"jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=",
|
||||
"pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,135 +0,0 @@
|
||||
{ stdenv, lib, fetchFromGitHub, writeText, openjdk17_headless
|
||||
, openjdk20_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst
|
||||
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, fetchurl, runCommand
|
||||
, withMedia ? true
|
||||
, withWebKit ? false
|
||||
}:
|
||||
|
||||
let
|
||||
major = "20";
|
||||
update = ".0.2";
|
||||
build = "-ga";
|
||||
repover = "${major}${update}${build}";
|
||||
gradle_ = (gradle_7.override {
|
||||
# note: gradle does not yet support running on 19
|
||||
java = openjdk17_headless;
|
||||
});
|
||||
|
||||
icuVersionWithSep = s: "71${s}1";
|
||||
icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "_"}-data-bin-l.zip";
|
||||
icuData = fetchurl {
|
||||
url = "https://github.com/unicode-org/icu/releases/${icuPath}";
|
||||
hash = "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM=";
|
||||
};
|
||||
icuFakeRepository = runCommand "icu-data-repository" {} ''
|
||||
install -Dm644 ${icuData} $out/${icuPath}
|
||||
'';
|
||||
|
||||
makePackage = args: stdenv.mkDerivation ({
|
||||
version = "${major}${update}${build}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openjdk";
|
||||
repo = "jfx20u";
|
||||
rev = repover;
|
||||
hash = "sha256-3Hhz4i8fPU2yowb4roylCXzuO9HkW7ZWF9TMA3HIH9o=";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
|
||||
nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
postPatch = ''
|
||||
# Add missing includes for gcc-13 for webkit build:
|
||||
sed -e '1i #include <cstdio>' \
|
||||
-i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
|
||||
modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
|
||||
'';
|
||||
|
||||
config = writeText "gradle.properties" (''
|
||||
CONF = Release
|
||||
JDK_HOME = ${openjdk20_headless.home}
|
||||
'' + args.gradleProperties or "");
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
ln -s $config gradle.properties
|
||||
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
|
||||
gradle --no-daemon --console=plain $gradleFlags sdk
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
} // args);
|
||||
|
||||
# Fake build to pre-download deps into fixed-output derivation.
|
||||
# We run nearly full build because I see no other way to download everything that's needed.
|
||||
# Anyone who knows a better way?
|
||||
deps = makePackage {
|
||||
pname = "openjfx-deps";
|
||||
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME -type f -regex '.*/modules.*\.\(jar\|pom\)' \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
rm -rf $out/tmp
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
# suspiciously the same as for openjfx 17 ...
|
||||
# could they really not have changed any of their dependencies?
|
||||
# or did we miss changing another upstream hash when copy-pasting?
|
||||
outputHash = "sha256-dV7/U5GpFxhI13smZ587C6cVE4FRNPY0zexZkYK4Yqo=";
|
||||
};
|
||||
|
||||
in makePackage {
|
||||
pname = "openjfx-modular-sdk";
|
||||
|
||||
gradleProperties = ''
|
||||
COMPILE_MEDIA = ${lib.boolToString withMedia}
|
||||
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
|
||||
${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
swtJar="$(find ${deps} -name org.eclipse.swt\*.jar)"
|
||||
substituteInPlace build.gradle \
|
||||
--replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }' \
|
||||
--replace 'name: SWT_FILE_NAME' "files('$swtJar')"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/modular-sdk $out
|
||||
'';
|
||||
|
||||
stripDebugList = [ "." ];
|
||||
|
||||
postFixup = ''
|
||||
# Remove references to bootstrap.
|
||||
export openjdkOutPath='${openjdk20_headless.outPath}'
|
||||
find "$out" -name \*.so | while read lib; do
|
||||
new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
|
||||
patchelf --set-rpath "$new_refs" "$lib"
|
||||
done
|
||||
'';
|
||||
|
||||
disallowedReferences = [ openjdk17_headless openjdk20_headless ];
|
||||
|
||||
passthru.deps = deps;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://openjdk.org/projects/openjfx/";
|
||||
license = licenses.gpl2Classpath;
|
||||
description = "Next-generation Java client toolkit";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
platforms = platforms.unix;
|
||||
knownVulnerabilities = [
|
||||
"This OpenJFX version has reached its end of life."
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
{ stdenv, lib, pkgs, fetchFromGitHub, writeText
|
||||
, openjdk20_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst
|
||||
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby
|
||||
, withMedia ? true
|
||||
, withWebKit ? false
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "openjfx-modular-sdk";
|
||||
major = "20";
|
||||
update = ".0.2";
|
||||
build = "-ga";
|
||||
repover = "${major}${update}${build}";
|
||||
jdk = openjdk20_headless;
|
||||
gradle = gradle_7;
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
inherit pname;
|
||||
version = "${major}${update}${build}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openjdk";
|
||||
repo = "jfx20u";
|
||||
rev = repover;
|
||||
hash = "sha256-3Hhz4i8fPU2yowb4roylCXzuO9HkW7ZWF9TMA3HIH9o=";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
|
||||
nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
config = writeText "gradle.properties" ''
|
||||
CONF = Release
|
||||
JDK_HOME = ${jdk.home}
|
||||
COMPILE_MEDIA = ${lib.boolToString withMedia}
|
||||
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
# Add missing includes for gcc-13 for webkit build:
|
||||
sed -e '1i #include <cstdio>' \
|
||||
-i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
|
||||
modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
|
||||
|
||||
ln -s $config gradle.properties
|
||||
'';
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
attrPath = "openjfx${major}";
|
||||
pkg = pkgs."openjfx${major}".override { withWebKit = true; };
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
preBuild = ''
|
||||
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
|
||||
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = false;
|
||||
|
||||
gradleBuildTask = "sdk";
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/modular-sdk $out
|
||||
'';
|
||||
|
||||
stripDebugList = [ "." ];
|
||||
|
||||
postFixup = ''
|
||||
# Remove references to bootstrap.
|
||||
export openjdkOutPath='${jdk.outPath}'
|
||||
find "$out" -name \*.so | while read lib; do
|
||||
new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
|
||||
patchelf --set-rpath "$new_refs" "$lib"
|
||||
done
|
||||
'';
|
||||
|
||||
disallowedReferences = [ jdk gradle.jdk ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://openjdk.org/projects/openjfx/";
|
||||
license = licenses.gpl2Classpath;
|
||||
description = "Next-generation Java client toolkit";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
platforms = platforms.unix;
|
||||
knownVulnerabilities = [
|
||||
"This OpenJFX version has reached its end of life."
|
||||
];
|
||||
};
|
||||
}
|
||||
+152
@@ -0,0 +1,152 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://download.eclipse.org": {
|
||||
"eclipse/updates/4.6/R-4.6.3-201703010400/plugins/org.eclipse.swt.gtk.linux.x86_64_3.105.3.v20170228-0512": {
|
||||
"jar": "sha256-qWM1HV97griQxJlOFY2AVV2uOLAK87jXPzh1wh/zmLw="
|
||||
}
|
||||
},
|
||||
"https://github.com": {
|
||||
"unicode-org/icu/releases/download/release-71-1/icu4c-71_1-data-bin-l": {
|
||||
"zip": "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/ibm/icu#icu4j/61.1": {
|
||||
"jar": "sha256-VcmOsYOLKku5oH3Da9N4Uy1k0M3LfO7pFCNoZqfeRGQ=",
|
||||
"pom": "sha256-E7h6QHnOsFUVsZrHoVIDlHB1YB1JQj9xk1ikmACYBWs="
|
||||
},
|
||||
"junit#junit/4.13.2": {
|
||||
"jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=",
|
||||
"pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ="
|
||||
},
|
||||
"net/java#jvnet-parent/3": {
|
||||
"pom": "sha256-MPV4nvo53b+WCVqto/wSYMRWH68vcUaGcXyy3FBJR1o="
|
||||
},
|
||||
"org/abego/treelayout#org.abego.treelayout.core/1.0.3": {
|
||||
"jar": "sha256-+l4xOVw5wufUasoPgfcgYJMWB7L6Qb02A46yy2+5MyY=",
|
||||
"pom": "sha256-o7KyI3lDcDVeeSQzrwEvyZNmfAMxviusrYTbwJrOSgw="
|
||||
},
|
||||
"org/antlr#ST4/4.1": {
|
||||
"jar": "sha256-ixzK7Z7cVc0lXZwZxNjaR1bZtvy0NWcSkrQ0cLFtddg=",
|
||||
"pom": "sha256-cz5r2XyjTMbfk6QkPlEeVnPLm4jHSxiETgQqRdUWmHw="
|
||||
},
|
||||
"org/antlr#antlr-master/3.5.2": {
|
||||
"pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y="
|
||||
},
|
||||
"org/antlr#antlr-runtime/3.5.2": {
|
||||
"jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=",
|
||||
"pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU="
|
||||
},
|
||||
"org/antlr#antlr4-master/4.7.2": {
|
||||
"pom": "sha256-upnLJdI5DzhoDHUChCoO4JWdHmQD4BPM/2mP1YVu6tE="
|
||||
},
|
||||
"org/antlr#antlr4-runtime/4.7.2": {
|
||||
"jar": "sha256-TFGLh9S9/4tEzYy8GvgW6US2Kj/luAt4FQHPH0dZu8Q=",
|
||||
"pom": "sha256-3AnLqYwl08BuSuxRaIXUw68DBiulX0/mKD/JzxdqYPs="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.2": {
|
||||
"pom": "sha256-z56zaUD6xEiBA4wb4/LFjgbmjRq/v9SmjTS72LrFV3E="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.2/complete": {
|
||||
"jar": "sha256-aFI4bXl17/KRcdrgAswiMlFRDTXyka4neUjzgaezgLQ="
|
||||
},
|
||||
"org/apache#apache/13": {
|
||||
"pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0="
|
||||
},
|
||||
"org/apache/lucene#lucene-core/7.7.3": {
|
||||
"jar": "sha256-jrAzNcGjxqixiN9012G6qDVplTWCq0QLU0yIRJ6o4N4=",
|
||||
"pom": "sha256-gvilIoHGyLp5dKy6rESzLXbiYAgvP0u+FlwPbkuJFCo="
|
||||
},
|
||||
"org/apache/lucene#lucene-grouping/7.7.3": {
|
||||
"jar": "sha256-L1vNY7JXQ9MMMTmGIk0Qf3XFKThxSVQlNRDFfT9nvrg=",
|
||||
"pom": "sha256-HwStk+IETUCP2SXu4K6ktKHvjAdXe0Jme7U2BgKCImU="
|
||||
},
|
||||
"org/apache/lucene#lucene-parent/7.7.3": {
|
||||
"pom": "sha256-6PrdU9XwBMQN3SNdQ4ZI5yxyVZn+4VQ+ViTV+1AQcwU="
|
||||
},
|
||||
"org/apache/lucene#lucene-queries/7.7.3": {
|
||||
"jar": "sha256-PLWS2wpulWnGrMvbiKmtex2nQo28p5Ia0cWlhl1bQiY=",
|
||||
"pom": "sha256-rkBsiiuw12SllERCefRiihl2vQlB551CzmTgmHxYnFA="
|
||||
},
|
||||
"org/apache/lucene#lucene-queryparser/7.7.3": {
|
||||
"jar": "sha256-F3XJ/o7dlobTt6ZHd4+kTqqW8cwMSZMVCHEz4amDnoQ=",
|
||||
"pom": "sha256-z2klkhWscjC5+tYKXInKDp9bm6rM7dFGlY/76Q9OsNI="
|
||||
},
|
||||
"org/apache/lucene#lucene-sandbox/7.7.3": {
|
||||
"jar": "sha256-VfG38J2uKwytMhw00Vw8/FmgIRviM/Yp0EbEK/FwErc=",
|
||||
"pom": "sha256-1vbdxsz1xvymRH1HD1BJ4WN6xje/HbWuDV8WaP34EiI="
|
||||
},
|
||||
"org/apache/lucene#lucene-solr-grandparent/7.7.3": {
|
||||
"pom": "sha256-Oig3WAynavNq99/i3B0zT8b/XybRDySJnbd3CtfP2f4="
|
||||
},
|
||||
"org/apiguardian#apiguardian-api/1.1.2": {
|
||||
"jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=",
|
||||
"module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=",
|
||||
"pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA="
|
||||
},
|
||||
"org/glassfish#javax.json/1.0.4": {
|
||||
"jar": "sha256-Dh3sQKHt6WWUElHtqWiu7gUsxPUDeLwxbMSOgVm9vrQ=",
|
||||
"pom": "sha256-a6+Dg/+pi2bqls1b/B7H8teUY7uYrJgFKWSxIcIhLVQ="
|
||||
},
|
||||
"org/glassfish#json/1.0.4": {
|
||||
"pom": "sha256-bXxoQjEV+SFxjZRPhZkktMaFIX7AOkn3BFWossqpcuY="
|
||||
},
|
||||
"org/hamcrest#hamcrest-core/1.3": {
|
||||
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
|
||||
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
|
||||
},
|
||||
"org/hamcrest#hamcrest-parent/1.3": {
|
||||
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
|
||||
},
|
||||
"org/junit#junit-bom/5.8.1": {
|
||||
"module": "sha256-a4LLpSoTSxPBmC8M+WIsbUhTcdQLmJJG8xJOOwpbGFQ=",
|
||||
"pom": "sha256-733Ef45KFoZPR3lyjofteFOYGeT7iSdoqdprjvkD+GM="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-api/5.8.1": {
|
||||
"jar": "sha256-zjN0p++6YF4tK2mj/vkBNAMrqz7MPthXmkhxscLEcpw=",
|
||||
"module": "sha256-DWnbwja33Kq0ynNpqlYOmwqbvvf5WIgv+0hTPLunwJ0=",
|
||||
"pom": "sha256-d61+1KYwutH8h0agpuZ1wj+2lAsnq2LMyzTk/Pz+Ob8="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-engine/5.8.1": {
|
||||
"jar": "sha256-Rom8kCJVoZ/pgndoO6MjHAlNEHxUyNNfK2+cl9ImQY4=",
|
||||
"module": "sha256-aHkP7DP5ew7IQM9HrEDuDHLgVvEiyg88ZkZ0M0mTdpk=",
|
||||
"pom": "sha256-qjIKMYpyceMyYsSA/POZZbmobap2Zm63dTQrgOnN1F4="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-params/5.8.1": {
|
||||
"jar": "sha256-OJuNE6jYhy/L1PDrp7LEavxihBn5obKjqfkyQaBqchg=",
|
||||
"module": "sha256-Ek1gPG2AMzZtjKRxY2tEbji5zBvQEPMpVCNYGHr6hl4=",
|
||||
"pom": "sha256-OrrKWfvfJTMg9yRCwQPjnOQDjcEf6MSJ28ScwjoHHws="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter/5.8.1": {
|
||||
"jar": "sha256-jxBJ7iSzShC2DNgQBICZ94HCZYzeIYHoMUlqswqYKYU=",
|
||||
"module": "sha256-LjS6TIWMOM0KNlr//syTKnGWzpOF4utUBZQuWBwV/1w=",
|
||||
"pom": "sha256-rssFDSMtOT9Az/EfjMMPUrZslQpB+IOSXIEULt7l9PU="
|
||||
},
|
||||
"org/junit/platform#junit-platform-commons/1.8.1": {
|
||||
"jar": "sha256-+k+mjIvVTdDLScP8vpsuQvTaa+2+fnzPKgXxoeYJtZM=",
|
||||
"module": "sha256-aY/QVBrLfv/GZZhI/Qx91QEKSfFfDBy6Q+U1gH+Q9ms=",
|
||||
"pom": "sha256-4ZcoLlLnANEriJie3FSJh0aTUC5KqJB6zwgpgBq6bUQ="
|
||||
},
|
||||
"org/junit/platform#junit-platform-engine/1.8.1": {
|
||||
"jar": "sha256-cCho7X6GubRnLt4PHhhekFusqa+rV3RqfGUL48e8oEc=",
|
||||
"module": "sha256-2fQgpkU5o+32D4DfDG/XIrdQcldEx5ykD30lrlbKS6Q=",
|
||||
"pom": "sha256-hqrU5ld1TkOgDfIm3VTIrsHsarZTP1ASGQfkZi3i5fI="
|
||||
},
|
||||
"org/junit/vintage#junit-vintage-engine/5.8.1": {
|
||||
"jar": "sha256-F2tTzRvb+SM+lsiwx6nluGQoL7veukO1zq/e2ymkkVY=",
|
||||
"module": "sha256-nOn6Lk7mp0DWEBAlMEYqcc4PqdLxQYUi5LK9tgcvZ5o=",
|
||||
"pom": "sha256-Ndc3M08dvouMVnZ/oVCKwbVEsB1P5cmXl76QA+5YGxI="
|
||||
},
|
||||
"org/opentest4j#opentest4j/1.2.0": {
|
||||
"jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=",
|
||||
"pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,132 +0,0 @@
|
||||
{ stdenv, lib, fetchFromGitHub, writeText, openjdk17_headless
|
||||
, openjdk21_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst
|
||||
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, fetchurl, runCommand
|
||||
, withMedia ? true
|
||||
, withWebKit ? false
|
||||
}:
|
||||
|
||||
let
|
||||
major = "21";
|
||||
update = ".0.3";
|
||||
build = "-ga";
|
||||
repover = "${major}${update}${build}";
|
||||
gradle_ = (gradle_7.override {
|
||||
# note: gradle does not yet support running on 19
|
||||
java = openjdk17_headless;
|
||||
});
|
||||
|
||||
icuVersionWithSep = s: "73${s}1";
|
||||
icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "_"}-data-bin-l.zip";
|
||||
icuData = fetchurl {
|
||||
url = "https://github.com/unicode-org/icu/releases/${icuPath}";
|
||||
hash = "sha256-QDgpjuAqDDiRcYXvj/Tr3pyLVSx3f9A+TfbGtLGCXiA=";
|
||||
};
|
||||
icuFakeRepository = runCommand "icu-data-repository" {} ''
|
||||
install -Dm644 ${icuData} $out/${icuPath}
|
||||
'';
|
||||
|
||||
makePackage = args: stdenv.mkDerivation ({
|
||||
version = "${major}${update}${build}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openjdk";
|
||||
repo = "jfx21u";
|
||||
rev = repover;
|
||||
hash = "sha256-7z0GIbkQwG9mXY9dssaicqaKpMo3FkNEpyAvkswoQQ4=";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
|
||||
nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
postPatch = ''
|
||||
# Add missing includes for gcc-13 for webkit build:
|
||||
sed -e '1i #include <cstdio>' \
|
||||
-i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
|
||||
modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
|
||||
'';
|
||||
|
||||
config = writeText "gradle.properties" (''
|
||||
CONF = Release
|
||||
JDK_HOME = ${openjdk21_headless.home}
|
||||
'' + args.gradleProperties or "");
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
ln -s $config gradle.properties
|
||||
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
|
||||
gradle --no-daemon --console=plain $gradleFlags sdk
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
} // args);
|
||||
|
||||
# Fake build to pre-download deps into fixed-output derivation.
|
||||
# We run nearly full build because I see no other way to download everything that's needed.
|
||||
# Anyone who knows a better way?
|
||||
deps = makePackage {
|
||||
pname = "openjfx-deps";
|
||||
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME -type f -regex '.*/modules.*\.\(jar\|pom\)' \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
rm -rf $out/tmp
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
# suspiciously the same as for openjfx 17 ...
|
||||
# could they really not have changed any of their dependencies?
|
||||
# or did we miss changing another upstream hash when copy-pasting?
|
||||
outputHash = "sha256-dV7/U5GpFxhI13smZ587C6cVE4FRNPY0zexZkYK4Yqo=";
|
||||
};
|
||||
|
||||
in makePackage {
|
||||
pname = "openjfx-modular-sdk";
|
||||
|
||||
gradleProperties = ''
|
||||
COMPILE_MEDIA = ${lib.boolToString withMedia}
|
||||
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
|
||||
${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
swtJar="$(find ${deps} -name org.eclipse.swt\*.jar)"
|
||||
substituteInPlace build.gradle \
|
||||
--replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }' \
|
||||
--replace 'name: SWT_FILE_NAME' "files('$swtJar')"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/modular-sdk $out
|
||||
'';
|
||||
|
||||
stripDebugList = [ "." ];
|
||||
|
||||
postFixup = ''
|
||||
# Remove references to bootstrap.
|
||||
export openjdkOutPath='${openjdk21_headless.outPath}'
|
||||
find "$out" -name \*.so | while read lib; do
|
||||
new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
|
||||
patchelf --set-rpath "$new_refs" "$lib"
|
||||
done
|
||||
'';
|
||||
|
||||
disallowedReferences = [ openjdk17_headless openjdk21_headless ];
|
||||
|
||||
passthru.deps = deps;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://openjdk.org/projects/openjfx/";
|
||||
license = licenses.gpl2Classpath;
|
||||
description = "Next-generation Java client toolkit";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
{ stdenv, lib, pkgs, fetchFromGitHub, writeText
|
||||
, openjdk21_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst
|
||||
, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby
|
||||
, withMedia ? true
|
||||
, withWebKit ? false
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "openjfx-modular-sdk";
|
||||
major = "21";
|
||||
update = ".0.3";
|
||||
build = "-ga";
|
||||
repover = "${major}${update}${build}";
|
||||
jdk = openjdk21_headless;
|
||||
gradle = gradle_7;
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
inherit pname;
|
||||
version = "${major}${update}${build}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openjdk";
|
||||
repo = "jfx21u";
|
||||
rev = repover;
|
||||
hash = "sha256-7z0GIbkQwG9mXY9dssaicqaKpMo3FkNEpyAvkswoQQ4=";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
|
||||
nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
config = writeText "gradle.properties" ''
|
||||
CONF = Release
|
||||
JDK_HOME = ${jdk.home}
|
||||
COMPILE_MEDIA = ${lib.boolToString withMedia}
|
||||
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
# Add missing includes for gcc-13 for webkit build:
|
||||
sed -e '1i #include <cstdio>' \
|
||||
-i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \
|
||||
modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h
|
||||
|
||||
ln -s $config gradle.properties
|
||||
'';
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
attrPath = "openjfx${major}";
|
||||
pkg = pkgs."openjfx${major}".override { withWebKit = true; };
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
preBuild = ''
|
||||
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
|
||||
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = false;
|
||||
|
||||
gradleBuildTask = "sdk";
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/modular-sdk $out
|
||||
'';
|
||||
|
||||
stripDebugList = [ "." ];
|
||||
|
||||
postFixup = ''
|
||||
# Remove references to bootstrap.
|
||||
export openjdkOutPath='${jdk.outPath}'
|
||||
find "$out" -name \*.so | while read lib; do
|
||||
new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
|
||||
patchelf --set-rpath "$new_refs" "$lib"
|
||||
done
|
||||
'';
|
||||
|
||||
disallowedReferences = [ jdk gradle.jdk ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://openjdk.org/projects/openjfx/";
|
||||
license = licenses.gpl2Classpath;
|
||||
description = "Next-generation Java client toolkit";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
+152
@@ -0,0 +1,152 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://download.eclipse.org": {
|
||||
"eclipse/updates/4.6/R-4.6.3-201703010400/plugins/org.eclipse.swt.gtk.linux.x86_64_3.105.3.v20170228-0512": {
|
||||
"jar": "sha256-qWM1HV97griQxJlOFY2AVV2uOLAK87jXPzh1wh/zmLw="
|
||||
}
|
||||
},
|
||||
"https://github.com": {
|
||||
"unicode-org/icu/releases/download/release-73-1/icu4c-73_1-data-bin-l": {
|
||||
"zip": "sha256-QDgpjuAqDDiRcYXvj/Tr3pyLVSx3f9A+TfbGtLGCXiA="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/ibm/icu#icu4j/61.1": {
|
||||
"jar": "sha256-VcmOsYOLKku5oH3Da9N4Uy1k0M3LfO7pFCNoZqfeRGQ=",
|
||||
"pom": "sha256-E7h6QHnOsFUVsZrHoVIDlHB1YB1JQj9xk1ikmACYBWs="
|
||||
},
|
||||
"junit#junit/4.13.2": {
|
||||
"jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=",
|
||||
"pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ="
|
||||
},
|
||||
"net/java#jvnet-parent/3": {
|
||||
"pom": "sha256-MPV4nvo53b+WCVqto/wSYMRWH68vcUaGcXyy3FBJR1o="
|
||||
},
|
||||
"org/abego/treelayout#org.abego.treelayout.core/1.0.3": {
|
||||
"jar": "sha256-+l4xOVw5wufUasoPgfcgYJMWB7L6Qb02A46yy2+5MyY=",
|
||||
"pom": "sha256-o7KyI3lDcDVeeSQzrwEvyZNmfAMxviusrYTbwJrOSgw="
|
||||
},
|
||||
"org/antlr#ST4/4.1": {
|
||||
"jar": "sha256-ixzK7Z7cVc0lXZwZxNjaR1bZtvy0NWcSkrQ0cLFtddg=",
|
||||
"pom": "sha256-cz5r2XyjTMbfk6QkPlEeVnPLm4jHSxiETgQqRdUWmHw="
|
||||
},
|
||||
"org/antlr#antlr-master/3.5.2": {
|
||||
"pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y="
|
||||
},
|
||||
"org/antlr#antlr-runtime/3.5.2": {
|
||||
"jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=",
|
||||
"pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU="
|
||||
},
|
||||
"org/antlr#antlr4-master/4.7.2": {
|
||||
"pom": "sha256-upnLJdI5DzhoDHUChCoO4JWdHmQD4BPM/2mP1YVu6tE="
|
||||
},
|
||||
"org/antlr#antlr4-runtime/4.7.2": {
|
||||
"jar": "sha256-TFGLh9S9/4tEzYy8GvgW6US2Kj/luAt4FQHPH0dZu8Q=",
|
||||
"pom": "sha256-3AnLqYwl08BuSuxRaIXUw68DBiulX0/mKD/JzxdqYPs="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.2": {
|
||||
"pom": "sha256-z56zaUD6xEiBA4wb4/LFjgbmjRq/v9SmjTS72LrFV3E="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.2/complete": {
|
||||
"jar": "sha256-aFI4bXl17/KRcdrgAswiMlFRDTXyka4neUjzgaezgLQ="
|
||||
},
|
||||
"org/apache#apache/13": {
|
||||
"pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0="
|
||||
},
|
||||
"org/apache/lucene#lucene-core/7.7.3": {
|
||||
"jar": "sha256-jrAzNcGjxqixiN9012G6qDVplTWCq0QLU0yIRJ6o4N4=",
|
||||
"pom": "sha256-gvilIoHGyLp5dKy6rESzLXbiYAgvP0u+FlwPbkuJFCo="
|
||||
},
|
||||
"org/apache/lucene#lucene-grouping/7.7.3": {
|
||||
"jar": "sha256-L1vNY7JXQ9MMMTmGIk0Qf3XFKThxSVQlNRDFfT9nvrg=",
|
||||
"pom": "sha256-HwStk+IETUCP2SXu4K6ktKHvjAdXe0Jme7U2BgKCImU="
|
||||
},
|
||||
"org/apache/lucene#lucene-parent/7.7.3": {
|
||||
"pom": "sha256-6PrdU9XwBMQN3SNdQ4ZI5yxyVZn+4VQ+ViTV+1AQcwU="
|
||||
},
|
||||
"org/apache/lucene#lucene-queries/7.7.3": {
|
||||
"jar": "sha256-PLWS2wpulWnGrMvbiKmtex2nQo28p5Ia0cWlhl1bQiY=",
|
||||
"pom": "sha256-rkBsiiuw12SllERCefRiihl2vQlB551CzmTgmHxYnFA="
|
||||
},
|
||||
"org/apache/lucene#lucene-queryparser/7.7.3": {
|
||||
"jar": "sha256-F3XJ/o7dlobTt6ZHd4+kTqqW8cwMSZMVCHEz4amDnoQ=",
|
||||
"pom": "sha256-z2klkhWscjC5+tYKXInKDp9bm6rM7dFGlY/76Q9OsNI="
|
||||
},
|
||||
"org/apache/lucene#lucene-sandbox/7.7.3": {
|
||||
"jar": "sha256-VfG38J2uKwytMhw00Vw8/FmgIRviM/Yp0EbEK/FwErc=",
|
||||
"pom": "sha256-1vbdxsz1xvymRH1HD1BJ4WN6xje/HbWuDV8WaP34EiI="
|
||||
},
|
||||
"org/apache/lucene#lucene-solr-grandparent/7.7.3": {
|
||||
"pom": "sha256-Oig3WAynavNq99/i3B0zT8b/XybRDySJnbd3CtfP2f4="
|
||||
},
|
||||
"org/apiguardian#apiguardian-api/1.1.2": {
|
||||
"jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=",
|
||||
"module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=",
|
||||
"pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA="
|
||||
},
|
||||
"org/glassfish#javax.json/1.0.4": {
|
||||
"jar": "sha256-Dh3sQKHt6WWUElHtqWiu7gUsxPUDeLwxbMSOgVm9vrQ=",
|
||||
"pom": "sha256-a6+Dg/+pi2bqls1b/B7H8teUY7uYrJgFKWSxIcIhLVQ="
|
||||
},
|
||||
"org/glassfish#json/1.0.4": {
|
||||
"pom": "sha256-bXxoQjEV+SFxjZRPhZkktMaFIX7AOkn3BFWossqpcuY="
|
||||
},
|
||||
"org/hamcrest#hamcrest-core/1.3": {
|
||||
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
|
||||
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
|
||||
},
|
||||
"org/hamcrest#hamcrest-parent/1.3": {
|
||||
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
|
||||
},
|
||||
"org/junit#junit-bom/5.8.1": {
|
||||
"module": "sha256-a4LLpSoTSxPBmC8M+WIsbUhTcdQLmJJG8xJOOwpbGFQ=",
|
||||
"pom": "sha256-733Ef45KFoZPR3lyjofteFOYGeT7iSdoqdprjvkD+GM="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-api/5.8.1": {
|
||||
"jar": "sha256-zjN0p++6YF4tK2mj/vkBNAMrqz7MPthXmkhxscLEcpw=",
|
||||
"module": "sha256-DWnbwja33Kq0ynNpqlYOmwqbvvf5WIgv+0hTPLunwJ0=",
|
||||
"pom": "sha256-d61+1KYwutH8h0agpuZ1wj+2lAsnq2LMyzTk/Pz+Ob8="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-engine/5.8.1": {
|
||||
"jar": "sha256-Rom8kCJVoZ/pgndoO6MjHAlNEHxUyNNfK2+cl9ImQY4=",
|
||||
"module": "sha256-aHkP7DP5ew7IQM9HrEDuDHLgVvEiyg88ZkZ0M0mTdpk=",
|
||||
"pom": "sha256-qjIKMYpyceMyYsSA/POZZbmobap2Zm63dTQrgOnN1F4="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-params/5.8.1": {
|
||||
"jar": "sha256-OJuNE6jYhy/L1PDrp7LEavxihBn5obKjqfkyQaBqchg=",
|
||||
"module": "sha256-Ek1gPG2AMzZtjKRxY2tEbji5zBvQEPMpVCNYGHr6hl4=",
|
||||
"pom": "sha256-OrrKWfvfJTMg9yRCwQPjnOQDjcEf6MSJ28ScwjoHHws="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter/5.8.1": {
|
||||
"jar": "sha256-jxBJ7iSzShC2DNgQBICZ94HCZYzeIYHoMUlqswqYKYU=",
|
||||
"module": "sha256-LjS6TIWMOM0KNlr//syTKnGWzpOF4utUBZQuWBwV/1w=",
|
||||
"pom": "sha256-rssFDSMtOT9Az/EfjMMPUrZslQpB+IOSXIEULt7l9PU="
|
||||
},
|
||||
"org/junit/platform#junit-platform-commons/1.8.1": {
|
||||
"jar": "sha256-+k+mjIvVTdDLScP8vpsuQvTaa+2+fnzPKgXxoeYJtZM=",
|
||||
"module": "sha256-aY/QVBrLfv/GZZhI/Qx91QEKSfFfDBy6Q+U1gH+Q9ms=",
|
||||
"pom": "sha256-4ZcoLlLnANEriJie3FSJh0aTUC5KqJB6zwgpgBq6bUQ="
|
||||
},
|
||||
"org/junit/platform#junit-platform-engine/1.8.1": {
|
||||
"jar": "sha256-cCho7X6GubRnLt4PHhhekFusqa+rV3RqfGUL48e8oEc=",
|
||||
"module": "sha256-2fQgpkU5o+32D4DfDG/XIrdQcldEx5ykD30lrlbKS6Q=",
|
||||
"pom": "sha256-hqrU5ld1TkOgDfIm3VTIrsHsarZTP1ASGQfkZi3i5fI="
|
||||
},
|
||||
"org/junit/vintage#junit-vintage-engine/5.8.1": {
|
||||
"jar": "sha256-F2tTzRvb+SM+lsiwx6nluGQoL7veukO1zq/e2ymkkVY=",
|
||||
"module": "sha256-nOn6Lk7mp0DWEBAlMEYqcc4PqdLxQYUi5LK9tgcvZ5o=",
|
||||
"pom": "sha256-Ndc3M08dvouMVnZ/oVCKwbVEsB1P5cmXl76QA+5YGxI="
|
||||
},
|
||||
"org/opentest4j#opentest4j/1.2.0": {
|
||||
"jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=",
|
||||
"pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,137 +0,0 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, runCommand
|
||||
, writeText
|
||||
, openjdk21_headless
|
||||
, gradle
|
||||
, pkg-config
|
||||
, perl
|
||||
, cmake
|
||||
, gperf
|
||||
, gtk2
|
||||
, gtk3
|
||||
, libXtst
|
||||
, libXxf86vm
|
||||
, glib
|
||||
, alsa-lib
|
||||
, ffmpeg_4
|
||||
, python3
|
||||
, ruby
|
||||
, withMedia ? true
|
||||
, withWebKit ? false
|
||||
}:
|
||||
|
||||
let
|
||||
major = "22";
|
||||
update = ".0.1";
|
||||
build = "-ga";
|
||||
repover = "${major}${update}${build}";
|
||||
|
||||
icuVersionWithSep = s: "73${s}1";
|
||||
icuPath = "download/release-${icuVersionWithSep "-"}/icu4c-${icuVersionWithSep "_"}-data-bin-l.zip";
|
||||
icuData = fetchurl {
|
||||
url = "https://github.com/unicode-org/icu/releases/${icuPath}";
|
||||
hash = "sha256-QDgpjuAqDDiRcYXvj/Tr3pyLVSx3f9A+TfbGtLGCXiA=";
|
||||
};
|
||||
icuFakeRepository = runCommand "icu-data-repository" {} ''
|
||||
install -Dm644 ${icuData} $out/${icuPath}
|
||||
'';
|
||||
|
||||
makePackage = args: stdenv.mkDerivation ({
|
||||
version = "${major}${update}${build}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openjdk";
|
||||
repo = "jfx22u";
|
||||
rev = repover;
|
||||
hash = "sha256-VoEufSO+LciUCvoAM86MG1iMjCA3FSb60Ik4OP2Rk/Q=";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
|
||||
nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
config = writeText "gradle.properties" (''
|
||||
CONF = Release
|
||||
JDK_HOME = ${openjdk21_headless.home}
|
||||
'' + args.gradleProperties or "");
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
ln -s $config gradle.properties
|
||||
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
|
||||
gradle --no-daemon --console=plain $gradleFlags sdk
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
} // args);
|
||||
|
||||
# Fake build to pre-download deps into fixed-output derivation.
|
||||
# We run nearly full build because I see no other way to download everything that's needed.
|
||||
# Anyone who knows a better way?
|
||||
deps = makePackage {
|
||||
pname = "openjfx-deps";
|
||||
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME -type f -regex '.*/modules.*\.\(jar\|pom\)' \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
rm -rf $out/tmp
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-2I7LvYcudlB4DKJ/wEiTjY6nICUxUY52euosUqOA+Bs=";
|
||||
};
|
||||
|
||||
in
|
||||
makePackage {
|
||||
pname = "openjfx-modular-sdk";
|
||||
|
||||
gradleProperties = ''
|
||||
COMPILE_MEDIA = ${lib.boolToString withMedia}
|
||||
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
|
||||
${lib.optionalString withWebKit "icuRepositoryURL = file://${icuFakeRepository}"}
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
swtJar="$(find ${deps} -name org.eclipse.swt\*.jar)"
|
||||
substituteInPlace build.gradle \
|
||||
--replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }' \
|
||||
--replace 'name: SWT_FILE_NAME' "files('$swtJar')"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/modular-sdk $out
|
||||
'';
|
||||
|
||||
stripDebugList = [ "." ];
|
||||
|
||||
postFixup = ''
|
||||
# Remove references to bootstrap.
|
||||
export openjdkOutPath='${openjdk21_headless.outPath}'
|
||||
find "$out" -name \*.so | while read lib; do
|
||||
new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
|
||||
patchelf --set-rpath "$new_refs" "$lib"
|
||||
done
|
||||
'';
|
||||
|
||||
disallowedReferences = [ openjdk21_headless openjdk21_headless ];
|
||||
|
||||
passthru.deps = deps;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://openjdk.org/projects/openjfx/";
|
||||
license = licenses.gpl2Classpath;
|
||||
description = "Next-generation Java client toolkit";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, pkgs
|
||||
, fetchFromGitHub
|
||||
, writeText
|
||||
, openjdk21_headless
|
||||
, gradle
|
||||
, pkg-config
|
||||
, perl
|
||||
, cmake
|
||||
, gperf
|
||||
, gtk2
|
||||
, gtk3
|
||||
, libXtst
|
||||
, libXxf86vm
|
||||
, glib
|
||||
, alsa-lib
|
||||
, ffmpeg_4
|
||||
, python3
|
||||
, ruby
|
||||
, withMedia ? true
|
||||
, withWebKit ? false
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "openjfx-modular-sdk";
|
||||
major = "22";
|
||||
update = ".0.1";
|
||||
build = "-ga";
|
||||
repover = "${major}${update}${build}";
|
||||
jdk = openjdk21_headless;
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
inherit pname;
|
||||
version = "${major}${update}${build}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openjdk";
|
||||
repo = "jfx22u";
|
||||
rev = repover;
|
||||
hash = "sha256-VoEufSO+LciUCvoAM86MG1iMjCA3FSb60Ik4OP2Rk/Q=";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
|
||||
nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
config = writeText "gradle.properties" ''
|
||||
CONF = Release
|
||||
JDK_HOME = ${jdk.home}
|
||||
COMPILE_MEDIA = ${lib.boolToString withMedia}
|
||||
COMPILE_WEBKIT = ${lib.boolToString withWebKit}
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
ln -s $config gradle.properties
|
||||
'';
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
attrPath = "openjfx${major}";
|
||||
pkg = pkgs."openjfx${major}".override { withWebKit = true; };
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
preBuild = ''
|
||||
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
|
||||
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = false;
|
||||
|
||||
gradleBuildTask = "sdk";
|
||||
|
||||
installPhase = ''
|
||||
cp -r build/modular-sdk $out
|
||||
'';
|
||||
|
||||
stripDebugList = [ "." ];
|
||||
|
||||
postFixup = ''
|
||||
# Remove references to bootstrap.
|
||||
export openjdkOutPath='${jdk.outPath}'
|
||||
find "$out" -name \*.so | while read lib; do
|
||||
new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
|
||||
patchelf --set-rpath "$new_refs" "$lib"
|
||||
done
|
||||
'';
|
||||
|
||||
disallowedReferences = [ jdk gradle.jdk ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://openjdk.org/projects/openjfx/";
|
||||
license = licenses.gpl2Classpath;
|
||||
description = "Next-generation Java client toolkit";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
+152
@@ -0,0 +1,152 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://download.eclipse.org": {
|
||||
"eclipse/updates/4.30/R-4.30-202312010110/plugins/org.eclipse.swt.gtk.linux.x86_64_3.124.200.v20231113-1355": {
|
||||
"jar": "sha256-Q048o4oWnZ9Y33AxXiSxbxEeayfbWOf1HoxtoLS4SIs="
|
||||
}
|
||||
},
|
||||
"https://github.com": {
|
||||
"unicode-org/icu/releases/download/release-73-1/icu4c-73_1-data-bin-l": {
|
||||
"zip": "sha256-QDgpjuAqDDiRcYXvj/Tr3pyLVSx3f9A+TfbGtLGCXiA="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/ibm/icu#icu4j/61.1": {
|
||||
"jar": "sha256-VcmOsYOLKku5oH3Da9N4Uy1k0M3LfO7pFCNoZqfeRGQ=",
|
||||
"pom": "sha256-E7h6QHnOsFUVsZrHoVIDlHB1YB1JQj9xk1ikmACYBWs="
|
||||
},
|
||||
"junit#junit/4.13.2": {
|
||||
"jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=",
|
||||
"pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ="
|
||||
},
|
||||
"net/java#jvnet-parent/3": {
|
||||
"pom": "sha256-MPV4nvo53b+WCVqto/wSYMRWH68vcUaGcXyy3FBJR1o="
|
||||
},
|
||||
"org/abego/treelayout#org.abego.treelayout.core/1.0.3": {
|
||||
"jar": "sha256-+l4xOVw5wufUasoPgfcgYJMWB7L6Qb02A46yy2+5MyY=",
|
||||
"pom": "sha256-o7KyI3lDcDVeeSQzrwEvyZNmfAMxviusrYTbwJrOSgw="
|
||||
},
|
||||
"org/antlr#ST4/4.1": {
|
||||
"jar": "sha256-ixzK7Z7cVc0lXZwZxNjaR1bZtvy0NWcSkrQ0cLFtddg=",
|
||||
"pom": "sha256-cz5r2XyjTMbfk6QkPlEeVnPLm4jHSxiETgQqRdUWmHw="
|
||||
},
|
||||
"org/antlr#antlr-master/3.5.2": {
|
||||
"pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y="
|
||||
},
|
||||
"org/antlr#antlr-runtime/3.5.2": {
|
||||
"jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=",
|
||||
"pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU="
|
||||
},
|
||||
"org/antlr#antlr4-master/4.7.2": {
|
||||
"pom": "sha256-upnLJdI5DzhoDHUChCoO4JWdHmQD4BPM/2mP1YVu6tE="
|
||||
},
|
||||
"org/antlr#antlr4-runtime/4.7.2": {
|
||||
"jar": "sha256-TFGLh9S9/4tEzYy8GvgW6US2Kj/luAt4FQHPH0dZu8Q=",
|
||||
"pom": "sha256-3AnLqYwl08BuSuxRaIXUw68DBiulX0/mKD/JzxdqYPs="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.2": {
|
||||
"pom": "sha256-z56zaUD6xEiBA4wb4/LFjgbmjRq/v9SmjTS72LrFV3E="
|
||||
},
|
||||
"org/antlr#antlr4/4.7.2/complete": {
|
||||
"jar": "sha256-aFI4bXl17/KRcdrgAswiMlFRDTXyka4neUjzgaezgLQ="
|
||||
},
|
||||
"org/apache#apache/13": {
|
||||
"pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0="
|
||||
},
|
||||
"org/apache/lucene#lucene-core/7.7.3": {
|
||||
"jar": "sha256-jrAzNcGjxqixiN9012G6qDVplTWCq0QLU0yIRJ6o4N4=",
|
||||
"pom": "sha256-gvilIoHGyLp5dKy6rESzLXbiYAgvP0u+FlwPbkuJFCo="
|
||||
},
|
||||
"org/apache/lucene#lucene-grouping/7.7.3": {
|
||||
"jar": "sha256-L1vNY7JXQ9MMMTmGIk0Qf3XFKThxSVQlNRDFfT9nvrg=",
|
||||
"pom": "sha256-HwStk+IETUCP2SXu4K6ktKHvjAdXe0Jme7U2BgKCImU="
|
||||
},
|
||||
"org/apache/lucene#lucene-parent/7.7.3": {
|
||||
"pom": "sha256-6PrdU9XwBMQN3SNdQ4ZI5yxyVZn+4VQ+ViTV+1AQcwU="
|
||||
},
|
||||
"org/apache/lucene#lucene-queries/7.7.3": {
|
||||
"jar": "sha256-PLWS2wpulWnGrMvbiKmtex2nQo28p5Ia0cWlhl1bQiY=",
|
||||
"pom": "sha256-rkBsiiuw12SllERCefRiihl2vQlB551CzmTgmHxYnFA="
|
||||
},
|
||||
"org/apache/lucene#lucene-queryparser/7.7.3": {
|
||||
"jar": "sha256-F3XJ/o7dlobTt6ZHd4+kTqqW8cwMSZMVCHEz4amDnoQ=",
|
||||
"pom": "sha256-z2klkhWscjC5+tYKXInKDp9bm6rM7dFGlY/76Q9OsNI="
|
||||
},
|
||||
"org/apache/lucene#lucene-sandbox/7.7.3": {
|
||||
"jar": "sha256-VfG38J2uKwytMhw00Vw8/FmgIRviM/Yp0EbEK/FwErc=",
|
||||
"pom": "sha256-1vbdxsz1xvymRH1HD1BJ4WN6xje/HbWuDV8WaP34EiI="
|
||||
},
|
||||
"org/apache/lucene#lucene-solr-grandparent/7.7.3": {
|
||||
"pom": "sha256-Oig3WAynavNq99/i3B0zT8b/XybRDySJnbd3CtfP2f4="
|
||||
},
|
||||
"org/apiguardian#apiguardian-api/1.1.2": {
|
||||
"jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=",
|
||||
"module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=",
|
||||
"pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA="
|
||||
},
|
||||
"org/glassfish#javax.json/1.0.4": {
|
||||
"jar": "sha256-Dh3sQKHt6WWUElHtqWiu7gUsxPUDeLwxbMSOgVm9vrQ=",
|
||||
"pom": "sha256-a6+Dg/+pi2bqls1b/B7H8teUY7uYrJgFKWSxIcIhLVQ="
|
||||
},
|
||||
"org/glassfish#json/1.0.4": {
|
||||
"pom": "sha256-bXxoQjEV+SFxjZRPhZkktMaFIX7AOkn3BFWossqpcuY="
|
||||
},
|
||||
"org/hamcrest#hamcrest-core/1.3": {
|
||||
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
|
||||
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
|
||||
},
|
||||
"org/hamcrest#hamcrest-parent/1.3": {
|
||||
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
|
||||
},
|
||||
"org/junit#junit-bom/5.8.1": {
|
||||
"module": "sha256-a4LLpSoTSxPBmC8M+WIsbUhTcdQLmJJG8xJOOwpbGFQ=",
|
||||
"pom": "sha256-733Ef45KFoZPR3lyjofteFOYGeT7iSdoqdprjvkD+GM="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-api/5.8.1": {
|
||||
"jar": "sha256-zjN0p++6YF4tK2mj/vkBNAMrqz7MPthXmkhxscLEcpw=",
|
||||
"module": "sha256-DWnbwja33Kq0ynNpqlYOmwqbvvf5WIgv+0hTPLunwJ0=",
|
||||
"pom": "sha256-d61+1KYwutH8h0agpuZ1wj+2lAsnq2LMyzTk/Pz+Ob8="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-engine/5.8.1": {
|
||||
"jar": "sha256-Rom8kCJVoZ/pgndoO6MjHAlNEHxUyNNfK2+cl9ImQY4=",
|
||||
"module": "sha256-aHkP7DP5ew7IQM9HrEDuDHLgVvEiyg88ZkZ0M0mTdpk=",
|
||||
"pom": "sha256-qjIKMYpyceMyYsSA/POZZbmobap2Zm63dTQrgOnN1F4="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-params/5.8.1": {
|
||||
"jar": "sha256-OJuNE6jYhy/L1PDrp7LEavxihBn5obKjqfkyQaBqchg=",
|
||||
"module": "sha256-Ek1gPG2AMzZtjKRxY2tEbji5zBvQEPMpVCNYGHr6hl4=",
|
||||
"pom": "sha256-OrrKWfvfJTMg9yRCwQPjnOQDjcEf6MSJ28ScwjoHHws="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter/5.8.1": {
|
||||
"jar": "sha256-jxBJ7iSzShC2DNgQBICZ94HCZYzeIYHoMUlqswqYKYU=",
|
||||
"module": "sha256-LjS6TIWMOM0KNlr//syTKnGWzpOF4utUBZQuWBwV/1w=",
|
||||
"pom": "sha256-rssFDSMtOT9Az/EfjMMPUrZslQpB+IOSXIEULt7l9PU="
|
||||
},
|
||||
"org/junit/platform#junit-platform-commons/1.8.1": {
|
||||
"jar": "sha256-+k+mjIvVTdDLScP8vpsuQvTaa+2+fnzPKgXxoeYJtZM=",
|
||||
"module": "sha256-aY/QVBrLfv/GZZhI/Qx91QEKSfFfDBy6Q+U1gH+Q9ms=",
|
||||
"pom": "sha256-4ZcoLlLnANEriJie3FSJh0aTUC5KqJB6zwgpgBq6bUQ="
|
||||
},
|
||||
"org/junit/platform#junit-platform-engine/1.8.1": {
|
||||
"jar": "sha256-cCho7X6GubRnLt4PHhhekFusqa+rV3RqfGUL48e8oEc=",
|
||||
"module": "sha256-2fQgpkU5o+32D4DfDG/XIrdQcldEx5ykD30lrlbKS6Q=",
|
||||
"pom": "sha256-hqrU5ld1TkOgDfIm3VTIrsHsarZTP1ASGQfkZi3i5fI="
|
||||
},
|
||||
"org/junit/vintage#junit-vintage-engine/5.8.1": {
|
||||
"jar": "sha256-F2tTzRvb+SM+lsiwx6nluGQoL7veukO1zq/e2ymkkVY=",
|
||||
"module": "sha256-nOn6Lk7mp0DWEBAlMEYqcc4PqdLxQYUi5LK9tgcvZ5o=",
|
||||
"pom": "sha256-Ndc3M08dvouMVnZ/oVCKwbVEsB1P5cmXl76QA+5YGxI="
|
||||
},
|
||||
"org/opentest4j#opentest4j/1.2.0": {
|
||||
"jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=",
|
||||
"pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,6 @@
|
||||
, fetchgit
|
||||
, jdk_headless
|
||||
, gradle
|
||||
, perl
|
||||
, makeWrapper
|
||||
}:
|
||||
|
||||
@@ -39,41 +38,14 @@ stdenv.mkDerivation rec {
|
||||
sed -i -e '/conscrypt/s/testImplementation/implementation/' build.gradle
|
||||
'';
|
||||
|
||||
# fake build to pre-download deps into fixed-output derivation
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit src version postPatch;
|
||||
nativeBuildInputs = [ gradle perl ];
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --no-daemon build
|
||||
'';
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/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 =~ s/okio-jvm/okio/r)}" #e' \
|
||||
| sh
|
||||
'';
|
||||
# Don't move info to share/
|
||||
forceShare = [ "dummy" ];
|
||||
outputHashMode = "recursive";
|
||||
# Downloaded jars differ by platform
|
||||
outputHash = "sha256-cs95YI0SpvzCo5x5trMXlVUGepNKIH9oZ95AfLErKIU=";
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
# Use the local packages from -deps
|
||||
sed -i -e '/repositories {/a maven { url uri("${deps}") }' build.gradle
|
||||
'';
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --offline --no-daemon build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
doCheck = true;
|
||||
|
||||
nativeBuildInputs = [ gradle makeWrapper ];
|
||||
|
||||
@@ -83,8 +55,6 @@ stdenv.mkDerivation rec {
|
||||
--add-flags "-jar $out/lib/apksigner.jar"
|
||||
'';
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command line tool to sign and verify Android APKs";
|
||||
mainProgram = "apksigner";
|
||||
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://jcenter.bintray.com": {
|
||||
"com/google#google/1": {
|
||||
"pom": "sha256-zW2xehGjHt55TMvR3w5Nl1D2QCNHMfIc/4hamZcnfoE="
|
||||
},
|
||||
"com/google/code/findbugs#jsr305/3.0.2": {
|
||||
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
|
||||
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
|
||||
},
|
||||
"com/google/errorprone#error_prone_annotations/2.2.0": {
|
||||
"jar": "sha256-br0iyhudjsBtQd6NZOBZaYHZYHtCA1+e03T53icaSBo=",
|
||||
"pom": "sha256-XgJY6huk5RoTN0JoC8IkSPerIUvkBz6GGfZF7xvkLdU="
|
||||
},
|
||||
"com/google/errorprone#error_prone_parent/2.2.0": {
|
||||
"pom": "sha256-xGCQLd9ezmiDLGsnHOUqCSiwXPOmrIGo9UjHPL1UETg="
|
||||
},
|
||||
"com/google/gradle#osdetector-gradle-plugin/1.6.2": {
|
||||
"jar": "sha256-hFw+/OY70j2WLyELE77rqwXE1YOJihsaf/uMez7X1dQ=",
|
||||
"pom": "sha256-W/T2le0Rd+gFJFJbbloECl1+pLFhlrERCILGLmmlVeg="
|
||||
},
|
||||
"com/google/guava#failureaccess/1.0.1": {
|
||||
"jar": "sha256-oXHuTHNN0tqDfksWvp30Zhr6typBra8x64Tf2vk2yiY=",
|
||||
"pom": "sha256-6WBCznj+y6DaK+lkUilHyHtAopG1/TzWcqQ0kkEDxLk="
|
||||
},
|
||||
"com/google/guava#guava-parent/26.0-android": {
|
||||
"pom": "sha256-+GmKtGypls6InBr8jKTyXrisawNNyJjUWDdCNgAWzAQ="
|
||||
},
|
||||
"com/google/guava#guava-parent/27.0.1-jre": {
|
||||
"pom": "sha256-MX6IKRJi4M8oBelWwYhQ8dRWXIXC4REvXZ0Iqxcy5pY="
|
||||
},
|
||||
"com/google/guava#guava/27.0.1-jre": {
|
||||
"jar": "sha256-4cgU/QRJKifDjgMX6r6qGz6VDsgBAjnkAP6QrWyRB7Q=",
|
||||
"pom": "sha256-ao3QQfI6a7FKhuRA/MuZNTe2InE1eg2sCjyw/zkVjzY="
|
||||
},
|
||||
"com/google/guava#listenablefuture/9999.0-empty-to-avoid-conflict-with-guava": {
|
||||
"jar": "sha256-s3KgN9QjCqV/vv/e8w/WEj+cDC24XQrO0AyRuXTzP5k=",
|
||||
"pom": "sha256-GNSx2yYVPU5VB5zh92ux/gXNuGLvmVSojLzE/zi4Z5s="
|
||||
},
|
||||
"com/google/j2objc#j2objc-annotations/1.1": {
|
||||
"jar": "sha256-KZSn63jycQvT07+2ObLJTiGc7awNTQhNUW54wW3d7PY=",
|
||||
"pom": "sha256-8MmMVx6Tp8tN0Y3w+jCPCWPnoGIKwtQkTmHnCdA61r4="
|
||||
},
|
||||
"com/google/protobuf#protobuf-bom/3.8.0": {
|
||||
"pom": "sha256-WjrGCFOIDEORPNXLY7Np626WRuHtDEgGnsmpMTd700c="
|
||||
},
|
||||
"com/google/protobuf#protobuf-gradle-plugin/0.8.11": {
|
||||
"jar": "sha256-gFr+/pf6AYFXpWvxQtvuStIo0RSyq3s97le5fD4teHk=",
|
||||
"pom": "sha256-RBeVBVv4AjSXKcjFWdrVcmi4C4tk6KPePK2lQmo45aA="
|
||||
},
|
||||
"com/google/protobuf#protobuf-javalite/3.8.0": {
|
||||
"jar": "sha256-HSWDsgkvIdvCnJCabwV+u4bYTkxU/LHXvAAmO4AaM/g=",
|
||||
"pom": "sha256-4EnZCbCH/zokFi4H0KgIFE7BnnwK6Z1Ee0dZZ83361s="
|
||||
},
|
||||
"com/google/protobuf#protobuf-parent/3.8.0": {
|
||||
"pom": "sha256-cGPoFu/yyZcFW9KmbuLJtObNEvhcj8lW5UhweQmAHEU="
|
||||
},
|
||||
"com/google/protobuf#protoc/3.8.0": {
|
||||
"pom": "sha256-0bqQU0Wx2o1GXQ0DCkzgiuVX0nz8krZiMvEN3ks4V9I="
|
||||
},
|
||||
"com/google/protobuf/protoc/3.8.0/protoc-3.8.0-linux-x86_64": {
|
||||
"exe": "sha256-eeGGIvawJqOETt7d5Fzw4M98+8emLCho2dgtvtYSZeQ="
|
||||
},
|
||||
"commons-lang#commons-lang/2.6": {
|
||||
"jar": "sha256-UPEbCfh3wpTVbyRGP0fSj5Kc9QRPZIZhwPDPuumi9Jw=",
|
||||
"pom": "sha256-7Xa4iRwwtWYonHQ2Vvik1DWYaYJDjUDFZ8YmIzJH5xE="
|
||||
},
|
||||
"junit#junit/4.13": {
|
||||
"jar": "sha256-S4Uy9jvcDgZhUH+UfrMkqVTR26xjGtGciqmgD+7R2GM=",
|
||||
"pom": "sha256-mg3Ew/orCG5wgiZzfvS7N4R8PLHOTiA1F8CfYwWyJn4="
|
||||
},
|
||||
"kr/motd/maven#os-maven-plugin/1.6.2": {
|
||||
"jar": "sha256-OgxJXeHOvIP2e+qhd2p5NvAvEfKt3Th5WWp4sqhryqM=",
|
||||
"pom": "sha256-bXDR8vJydzDXedMqH9L7seoI51pnpQotjn0P2zoqSvM="
|
||||
},
|
||||
"org/apache#apache/7": {
|
||||
"pom": "sha256-E5fOHbQzrcnyI9vwdJbRM2gUSHUfSuKeWPaOePtLbCU="
|
||||
},
|
||||
"org/apache/commons#commons-parent/17": {
|
||||
"pom": "sha256-lucYuvU0h07mLOTULeJl8t2s2IORpUDgMNWdmPp8RAg="
|
||||
},
|
||||
"org/bouncycastle#bcprov-jdk15on/1.68": {
|
||||
"jar": "sha256-9zKkbI3n4iMvIAfGgqIdH0zIqKAUm2t71qoa/cZaD40=",
|
||||
"pom": "sha256-2QfezWhfnNlx5xvfbOWXzzqVt8j/ajSCNRv9irwXz+A="
|
||||
},
|
||||
"org/checkerframework#checker-qual/2.5.2": {
|
||||
"jar": "sha256-ZLAmkci51OdwD47i50Lc5+osboHmYrdSLJ7jv1aMBAo=",
|
||||
"pom": "sha256-3EzUOKNkYtATwjOMjiBtECoyKgDzNynolV7iGYWcnt4="
|
||||
},
|
||||
"org/codehaus/mojo#animal-sniffer-annotations/1.17": {
|
||||
"jar": "sha256-kmVPST7P7FIILnY1Tw6/h2SNw9XOwuPDzblHwBZ0elM=",
|
||||
"pom": "sha256-6VarXS60j6uuEjANDNLTKU1KKkGrwgaMI8tNYK12y+U="
|
||||
},
|
||||
"org/codehaus/mojo#animal-sniffer-parent/1.17": {
|
||||
"pom": "sha256-GKA98W4qGExYLbexJWM8Fft3FAJ6hMG1MtcpM9wIuB8="
|
||||
},
|
||||
"org/codehaus/mojo#mojo-parent/40": {
|
||||
"pom": "sha256-/GSNzcQE+L9m4Fg5FOz5gBdmGCASJ76hFProUEPLdV4="
|
||||
},
|
||||
"org/conscrypt#conscrypt-openjdk-uber/2.5.1": {
|
||||
"jar": "sha256-AfnHQstZKhUeLmK9U5eomAYoqWcAH82s1KpHRGeGhfM=",
|
||||
"pom": "sha256-XivA41GARnUwxVpnqvq+XvmOBg7raY6a9tCw3N26lc0="
|
||||
},
|
||||
"org/hamcrest#hamcrest-core/1.3": {
|
||||
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
|
||||
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
|
||||
},
|
||||
"org/hamcrest#hamcrest-parent/1.3": {
|
||||
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,245 @@
|
||||
# Gradle Setup Hook
|
||||
|
||||
## Introduction
|
||||
|
||||
Gradle build scripts are written in a DSL, computing the list of Gradle
|
||||
dependencies is a turing-complete task, not just in theory but in
|
||||
practice. Fetching all of the dependencies often requires building some
|
||||
native code, running some commands to check the host platform, or just
|
||||
fetching some files using either JVM code or commands like `curl` or
|
||||
`wget`.
|
||||
|
||||
This practice is widespread and isn't considered a bad practice in the
|
||||
Java world, so all we can do is run Gradle to check what dependencies
|
||||
end up being fetched, and allow derivation authors to apply workarounds
|
||||
so they can run the code necessary for fetching the dependencies our
|
||||
script doesn't fetch.
|
||||
|
||||
"Run Gradle to check what dependencies end up being fetched" isn't a
|
||||
straightforward task. For example, Gradle usually uses Maven
|
||||
repositories, which have features such as "snapshots", a way to always
|
||||
use the latest version of a dependency as opposed to a fixed version.
|
||||
Obviously, this is horrible for reproducibility. Additionally, Gradle
|
||||
doesn't offer a way to export the list of dependency URLs and hashes (it
|
||||
does in a way, but it's far from being complete, and as such is useless
|
||||
for nixpkgs). Even if did, it would be annoying to use considering
|
||||
fetching non-Gradle dependendencies in Gradle scripts is commonplace.
|
||||
|
||||
That's why the setup hook uses mitm-cache, a program designed for
|
||||
intercepting all HTTP requests, recording all the files that were
|
||||
accessed, creating a Nix derivation with all of them, and then allowing
|
||||
the Gradle derivation to access these files.
|
||||
|
||||
## Maven Repositories
|
||||
|
||||
(Reference: [Repository
|
||||
Layout](https://cwiki.apache.org/confluence/display/MAVENOLD/Repository+Layout+-+Final))
|
||||
|
||||
Most of Gradle dependencies are fetched from Maven repositories. For
|
||||
each dependency, Gradle finds the first repo where it can successfully
|
||||
fetch that dependency, and uses that repo for it. Different repos might
|
||||
actually return different files for the same artifact because of e.g.
|
||||
pom normalization. Different repos may be used for the same artifact
|
||||
even across a single package (for example, if two build scripts define
|
||||
repositories in a different order).
|
||||
|
||||
The artifact metadata is specified in a .pom file, and the artifacts
|
||||
themselves are typically .jar files. The URL format is as follows:
|
||||
|
||||
`<repo>/<group-id>/<artifact-id>/<base-version>/<artifact-id>-<version>[-<classifier>].<ext>`
|
||||
|
||||
For example:
|
||||
|
||||
- `https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/2.0.9/slf4j-api-2.0.9.pom`
|
||||
- `https://oss.sonatype.org/content/groups/public/com/tobiasdiez/easybind/2.2.1-SNAPSHOT/easybind-2.2.1-20230117.075740-16.pom`
|
||||
|
||||
Where:
|
||||
|
||||
- `<repo>` is the repo base (`https://repo.maven.apache.org/maven2`)
|
||||
- `<group-id>` is the group ID with dots replaced with slashes
|
||||
(`org.slf4j` -> `org/slf4j`)
|
||||
- `<artifact-id>` is the artifact ID (`slf4j-api`)
|
||||
- `<base-version>` is the artifact version (`2.0.9` for normal
|
||||
artifacts, `2.2.1-SNAPSHOT` for snapshots)
|
||||
- `<version>` is the artifact version - can be either `<base-version>`
|
||||
or `<version-base>-<timestamp>-<build-num>` (`2.0.9` for normal
|
||||
artifacts, and either `2.2.1-SNAPSHOT` or `2.2.1-20230117.075740-16`
|
||||
for snapshots)
|
||||
- `<version-base>` - `<base-version>` without the `-SNAPSHOT` suffix
|
||||
- `<timestamp>` - artifact build timestamp in the `YYYYMMDD.HHMMSS`
|
||||
format (UTC)
|
||||
- `<build-num>` - a counter that's incremented by 1 for each new
|
||||
snapshot build
|
||||
- `<classifier>` is an optional classifier for allowing a single .pom to
|
||||
refer to multiple .jar files. .pom files don't have classifiers, as
|
||||
they describe metadata.
|
||||
- `<ext>` is the extension. .pom
|
||||
|
||||
Note that the artifact ID can contain `-`, so you can't extract the
|
||||
artifact ID and version from just the file name.
|
||||
|
||||
Additionally, the files in the repository may have associated signature
|
||||
files, formed by appending `.asc` to the filename, and hashsum files,
|
||||
formed by appending `.md5` or `.sha1` to the filename. The signatures
|
||||
are harmless, but the `.md5`/`.sha1` files are rejected.
|
||||
|
||||
The reasoning is as follows - consider two files `a.jar` and `b.jar`,
|
||||
that have the same hash. Gradle will fetch `a.jar.sha1`, find out that
|
||||
it hasn't yet downloaded a file with this hash, and then fetch `a.jar`,
|
||||
and finally download `b.jar.sha1`, locate it in its cache, and then
|
||||
*not* download `b.jar`. This means `b.jar` won't be stored in the MITM
|
||||
cache. Then, consider that on a later invocation, the fetching order
|
||||
changed, whether it was because of a running on different system,
|
||||
changed behavior after a Gradle update, or any other source of
|
||||
nondeterminism - `b.jar` is fetched before `a.jar`. Gradle will first
|
||||
fetch `b.jar.sha1`, not find it in its cache, attempt to fetch `b.jar`,
|
||||
and fail, as the cache doesn't have that file.
|
||||
|
||||
For the same reason, the proxy strips all checksum/etag headers. An
|
||||
alternative would be to make the proxy remember previous checksums and
|
||||
etags, but that would complicate the implementation - however, such a
|
||||
feature can be implemented if necessary. Note that checksum/etag header
|
||||
stripping is hardcoded, but `.md5/.sha1` file rejection is configured
|
||||
via CLI arguments.
|
||||
|
||||
**Caveat**: Gradle .module files also contain file hashes, in md5, sha1,
|
||||
sha256, sha512 formats. It posed no problem as of yet, but it might in
|
||||
the future. If it does pose problems, the deps derivation code can be
|
||||
extended to find all checksums in .module files and copy existing files
|
||||
there if their hash matches.
|
||||
|
||||
## Snapshots
|
||||
|
||||
Snapshots are a way to publish the very latest, unstable version of a
|
||||
dependency that constantly changes. Any project that depends on a
|
||||
snapshot will depend on this rolling version, rather than a fixed
|
||||
version. It's easy to understand why this is a bad idea for reproducible
|
||||
builds. Still, they can be dealt with by the logic in `gradle.fetchDeps`
|
||||
and `gradle.updateDeps`.
|
||||
|
||||
First, as you can see above, while normal artifacts have the same
|
||||
`base-version` and `version`, for snapshots it usually (but not
|
||||
necessarily) differs.
|
||||
|
||||
Second, for figuring out where to download the snapshot, Gradle consults
|
||||
`maven-metadata.xml`. With that in mind...
|
||||
|
||||
## Maven Metadata
|
||||
|
||||
(Reference: [Maven
|
||||
Metadata](https://maven.apache.org/repositories/metadata.html),
|
||||
[Metadata](https://maven.apache.org/ref/3.9.8/maven-repository-metadata/repository-metadata.html)
|
||||
|
||||
Maven metadata files are called `maven-metadata.xml`.
|
||||
|
||||
There are three levels of metadata: "G level", "A level", "V level",
|
||||
representing group, artifact, or version metadata.
|
||||
|
||||
G level metadata is currently unsupported. It's only used for Maven
|
||||
plugins, which Gradle presumably doesn't use.
|
||||
|
||||
A level metadata is used for getting the version list for an artifact.
|
||||
It's an xml with the following items:
|
||||
|
||||
- `<groupId>` - group ID
|
||||
- `<artifactId>` - artifact ID
|
||||
- `<versioning>`
|
||||
- `<latest>` - the very latest base version (e.g. `2.2.1-SNAPSHOT`)
|
||||
- `<release>` - the latest non-snapshot version
|
||||
- `<versions>` - the version list, each in a `<version>` tag
|
||||
- `<lastUpdated>` - the metadata update timestamp (UTC,
|
||||
`YYYYMMDDHHMMSS`)
|
||||
|
||||
V level metadata is used for listing the snapshot versions. It has the
|
||||
following items:
|
||||
|
||||
- `<groupId>` - group ID
|
||||
- `<artifactId>` - artifact ID
|
||||
- `<versioning>`
|
||||
- `<lastUpdated>` - the metadata update timestamp (UTC,
|
||||
`YYYYMMDDHHMMSS`)
|
||||
- `<snapshot>` - info about the latest snapshot version
|
||||
- `<timestamp>` - build timestamp (UTC, `YYYYMMDD.HHMMSS`)
|
||||
- `<buildNumber>` - build number
|
||||
- `<snapshotVersions>` - the list of all available snapshot file info,
|
||||
each info is enclosed in a `<snapshotVersion>`
|
||||
- `<classifier>` - classifier (optional)
|
||||
- `<extension>` - file extension
|
||||
- `<value>` - snapshot version (as opposed to base version)
|
||||
- `<updated>` - snapshot build timestamp (UTC, `YYYYMMDDHHMMSS`)
|
||||
|
||||
## Lockfile Format
|
||||
|
||||
The mitm-cache lockfile format is described in the [mitm-cache
|
||||
README](https://github.com/chayleaf/mitm-cache#readme).
|
||||
|
||||
The nixpkgs Gradle lockfile format is more complicated:
|
||||
|
||||
```json
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://oss.sonatype.org/content/repositories/snapshots/com/badlogicgames/gdx-controllers": {
|
||||
"gdx-controllers#gdx-controllers-core/2.2.4-20231021.200112-6/SNAPSHOT": {
|
||||
|
||||
"jar": "sha256-Gdz2J1IvDJFktUD2XeGNS0SIrOyym19X/+dCbbbe3/U=",
|
||||
"pom": "sha256-90QW/Mtz1jbDUhKjdJ88ekhulZR2a7eCaEJoswmeny4="
|
||||
},
|
||||
"gdx-controllers-core/2.2.4-SNAPSHOT/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "com.badlogicgames.gdx-controllers"
|
||||
}
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/badlogicgames/gdx#gdx-backend-lwjgl3/1.12.1": {
|
||||
"jar": "sha256-B3OwjHfBoHcJPFlyy4u2WJuRe4ZF/+tKh7gKsDg41o0=",
|
||||
"module": "sha256-9O7d2ip5+E6OiwN47WWxC8XqSX/mT+b0iDioCRTTyqc=",
|
||||
"pom": "sha256-IRSihaCUPC2d0QzB0MVDoOWM1DXjcisTYtnaaxR9SRo="
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`!comment` is a human-readable description explaining what the file is,
|
||||
`!version` is the lockfile version (note that while it shares the name
|
||||
with mitm-cache's `!version`, they don't actually have to be in sync and
|
||||
can be bumped separately).
|
||||
|
||||
The other keys are parts of a URL. Each URL is split into three parts.
|
||||
They are joined like this: `<part1>/<part2>.<part3>`.
|
||||
|
||||
Some URLs may have a `#` in them. In that case, the part after `#` is
|
||||
parsed as `#<artifact-id>/<version>[/SNAPSHOT][/<classifier>].<ext>` and
|
||||
expanded into
|
||||
`<artifact-id>/<base-version>/<artifact-id>-<version>[-<classifier>].<ext>`.
|
||||
|
||||
Each URL has a value associated with it. The value may be:
|
||||
|
||||
- an SRI hash (string)
|
||||
- for `maven-metadata.xml` - an attrset containing the parts of the
|
||||
metadata that can't be generated in Nix code (e.g. `groupId`, which is
|
||||
challenging to parse from a URL because it's not always possible to
|
||||
discern where the repo base ends and the group ID begins).
|
||||
|
||||
`compress-deps-json.py` converts the JSON from mitm-cache format into
|
||||
nixpkgs Gradle lockfile format. `fetch.nix` does the opposite.
|
||||
|
||||
## Security Considerations
|
||||
|
||||
Lockfiles won't be human-reviewed. They must be tampering-resistant.
|
||||
That's why it's imperative that nobody can inject their own contents
|
||||
into the lockfiles.
|
||||
|
||||
This is achieved in a very simple way - the `deps.json` only contains
|
||||
the following:
|
||||
|
||||
- `maven-metadata.xml` URLs and small pieces of the contained metadata
|
||||
(most of it will be generated in Nix, i.e. the area of injection is
|
||||
minimal, and the parts that aren't generated in Nix are validated).
|
||||
- artifact/other file URLs and associated hashes (Nix will complain if
|
||||
the hash doesn't match, and Gradle won't even access the URL if it
|
||||
doesn't match)
|
||||
|
||||
Please be mindful of the above when working on Gradle support for
|
||||
nixpkgs.
|
||||
@@ -0,0 +1,163 @@
|
||||
import json
|
||||
import sys
|
||||
|
||||
from typing import Dict, Set
|
||||
|
||||
# this compresses MITM URL lists with Gradle-specific optimizations
|
||||
# specifically, it splits each url into up to 3 parts - they will be
|
||||
# concatenated like part1/part2.part3 or part1.part2
|
||||
# part3 is simply always the file extension, but part1 and part2 is
|
||||
# optimized using special heuristics
|
||||
# additionally, if part2 ends with /a/b/{a}-{b}, the all occurences of
|
||||
# /{a}/{b}/ are replaced with #
|
||||
# finally, anything that ends with = is considered SHA256, anything that
|
||||
# starts with http is considered a redirect URL, anything else is
|
||||
# considered text
|
||||
|
||||
with open(sys.argv[1], "rt") as f:
|
||||
data: dict = json.load(f)
|
||||
|
||||
new_data: Dict[str, Dict[str, Dict[str, dict]]] = {}
|
||||
|
||||
for url, info in data.items():
|
||||
if url == "!version":
|
||||
continue
|
||||
ext, base = map(lambda x: x[::-1], url[::-1].split(".", 1))
|
||||
if base.endswith(".tar"):
|
||||
base = base[:-4]
|
||||
ext = "tar." + ext
|
||||
# special logic for Maven repos
|
||||
if ext in ["jar", "pom", "module"]:
|
||||
comps = base.split("/")
|
||||
if "-" in comps[-1]:
|
||||
# convert base/name/ver/name-ver into base#name/ver
|
||||
|
||||
filename = comps[-1]
|
||||
name = comps[-3]
|
||||
basever = comps[-2]
|
||||
ver = basever
|
||||
is_snapshot = ver.endswith("-SNAPSHOT")
|
||||
if is_snapshot:
|
||||
ver = ver.removesuffix("-SNAPSHOT")
|
||||
if filename.startswith(f"{name}-{ver}"):
|
||||
if is_snapshot:
|
||||
if filename.startswith(f"{name}-{ver}-SNAPSHOT"):
|
||||
ver += "-SNAPSHOT"
|
||||
else:
|
||||
ver += "-".join(
|
||||
filename.removeprefix(f"{name}-{ver}").split("-")[:3]
|
||||
)
|
||||
comp_end = comps[-1].removeprefix(f"{name}-{ver}")
|
||||
else:
|
||||
ver, name, comp_end = None, None, None
|
||||
if name and ver and (not comp_end or comp_end.startswith("-")):
|
||||
base = "/".join(comps[:-1]) + "/"
|
||||
base = base.replace(f"/{name}/{basever}/", "#")
|
||||
base += f"{name}/{ver}"
|
||||
if is_snapshot:
|
||||
base += "/SNAPSHOT"
|
||||
if comp_end:
|
||||
base += "/" + comp_end[1:]
|
||||
scheme, rest = base.split("/", 1)
|
||||
if scheme not in new_data.keys():
|
||||
new_data[scheme] = {}
|
||||
if rest not in new_data[scheme].keys():
|
||||
new_data[scheme][rest] = {}
|
||||
if "hash" in info.keys():
|
||||
new_data[scheme][rest][ext] = info["hash"]
|
||||
elif "text" in info.keys() and ext == "xml":
|
||||
# nix code in fetch-deps.nix will autogenerate metadata xml files groupId
|
||||
# is part of the URL, but it can be tricky to parse as we don't know the
|
||||
# exact repo base, so take it from the xml and pass it to nix
|
||||
xml = "".join(info["text"].split())
|
||||
new_data[scheme][rest][ext] = {
|
||||
"groupId": xml.split("<groupId>")[1].split("</groupId>")[0],
|
||||
}
|
||||
if "<release>" in xml:
|
||||
new_data[scheme][rest][ext]["release"] = xml.split("<release>")[1].split(
|
||||
"</release>"
|
||||
)[0]
|
||||
if "<latest>" in xml:
|
||||
latest = xml.split("<latest>")[1].split("</latest>")[0]
|
||||
if latest != new_data[scheme][rest][ext].get("release"):
|
||||
new_data[scheme][rest][ext]["latest"] = latest
|
||||
if "<lastUpdated>" in xml:
|
||||
new_data[scheme][rest][ext]["lastUpdated"] = xml.split("<lastUpdated>")[
|
||||
1
|
||||
].split("</lastUpdated>")[0]
|
||||
else:
|
||||
raise Exception("Unsupported key: " + repr(info))
|
||||
|
||||
# At this point, we have a map by part1 (initially the scheme), part2 (initially a
|
||||
# slash-separated string without the scheme and with potential # substitution as
|
||||
# seen above), extension.
|
||||
# Now, push some segments from "part2" into "part1" like this:
|
||||
# https # part1
|
||||
# domain1/b # part2
|
||||
# domain1/c
|
||||
# domain2/a
|
||||
# domain2/c
|
||||
# ->
|
||||
# https/domain1 # part1
|
||||
# b # part2
|
||||
# c
|
||||
# https/domain2 # part1
|
||||
# a # part2
|
||||
# c
|
||||
# This helps reduce the lockfile size because a Gradle project will usually use lots
|
||||
# of files from a single Maven repo
|
||||
|
||||
data = new_data
|
||||
changed = True
|
||||
while changed:
|
||||
changed = False
|
||||
new_data = {}
|
||||
for part1, info1 in data.items():
|
||||
starts: Set[str] = set()
|
||||
# by how many bytes the file size will be increased (roughly)
|
||||
lose = 0
|
||||
# by how many bytes the file size will be reduced (roughly)
|
||||
win = 0
|
||||
# how many different initial part2 segments there are
|
||||
count = 0
|
||||
for part2, info2 in info1.items():
|
||||
if "/" not in part2:
|
||||
# can't push a segment from part2 into part1
|
||||
count = 0
|
||||
break
|
||||
st = part2.split("/", 1)[0]
|
||||
if st not in starts:
|
||||
lose += len(st) + 1
|
||||
count += 1
|
||||
starts.add(st)
|
||||
win += len(st) + 1
|
||||
if count == 0:
|
||||
new_data[part1] = info1
|
||||
continue
|
||||
# only allow pushing part2 segments into path1 if *either*:
|
||||
# - the domain isn't yet part of part1
|
||||
# - the initial part2 segment is always the same
|
||||
if count != 1 and "." in part1:
|
||||
new_data[part1] = info1
|
||||
continue
|
||||
# some heuristics that may or may not work well (originally this was
|
||||
# used when the above if wasn't here, but perhaps it's useless now)
|
||||
lose += (count - 1) * max(0, len(part1) - 4)
|
||||
if win > lose or ("." not in part1 and win >= lose):
|
||||
changed = True
|
||||
for part2, info2 in info1.items():
|
||||
st, part3 = part2.split("/", 1)
|
||||
new_part1 = part1 + "/" + st
|
||||
if new_part1 not in new_data.keys():
|
||||
new_data[new_part1] = {}
|
||||
new_data[new_part1][part3] = info2
|
||||
else:
|
||||
new_data[part1] = info1
|
||||
data = new_data
|
||||
|
||||
new_data["!comment"] = "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual." # type: ignore
|
||||
new_data["!version"] = 1 # type: ignore
|
||||
|
||||
with open(sys.argv[2], "wt") as f:
|
||||
json.dump(new_data, f, sort_keys=True, indent=1)
|
||||
f.write("\n")
|
||||
@@ -130,6 +130,7 @@ rec {
|
||||
'';
|
||||
};
|
||||
};
|
||||
passthru.jdk = defaultJava;
|
||||
|
||||
meta = with lib; {
|
||||
inherit platforms;
|
||||
@@ -179,4 +180,43 @@ rec {
|
||||
hash = "sha256-PiQCKFON6fGHcqV06ZoLqVnoPW7zUQFDgazZYxeBOJo=";
|
||||
defaultJava = jdk11;
|
||||
};
|
||||
|
||||
wrapGradle = {
|
||||
lib, callPackage, mitm-cache, substituteAll, symlinkJoin, concatTextFile, makeSetupHook
|
||||
}:
|
||||
gradle-unwrapped:
|
||||
lib.makeOverridable (args:
|
||||
let
|
||||
gradle = gradle-unwrapped.override args;
|
||||
in symlinkJoin {
|
||||
name = "gradle-${gradle.version}";
|
||||
|
||||
paths = [
|
||||
(makeSetupHook { name = "gradle-setup-hook"; } (concatTextFile {
|
||||
name = "setup-hook.sh";
|
||||
files = [
|
||||
(mitm-cache.setupHook)
|
||||
(substituteAll {
|
||||
src = ./setup-hook.sh;
|
||||
# jdk used for keytool
|
||||
inherit (gradle) jdk;
|
||||
init_script = ./init-build.gradle;
|
||||
})
|
||||
];
|
||||
}))
|
||||
gradle
|
||||
mitm-cache
|
||||
];
|
||||
|
||||
passthru = {
|
||||
fetchDeps = callPackage ./fetch-deps.nix { inherit mitm-cache; };
|
||||
inherit (gradle) jdk;
|
||||
};
|
||||
|
||||
meta = gradle.meta // {
|
||||
# prefer normal gradle/mitm-cache over this wrapper, this wrapper only provides the setup hook
|
||||
# and passthru
|
||||
priority = (gradle.meta.priority or 0) + 1;
|
||||
};
|
||||
}) { };
|
||||
}
|
||||
|
||||
@@ -0,0 +1,222 @@
|
||||
{ mitm-cache
|
||||
, lib
|
||||
, pkgs
|
||||
, stdenv
|
||||
, callPackage
|
||||
}:
|
||||
|
||||
let
|
||||
getPkg = attrPath:
|
||||
lib.getAttrFromPath
|
||||
(lib.splitString "." (toString attrPath))
|
||||
pkgs;
|
||||
in
|
||||
# the derivation to fetch/update deps for
|
||||
{ pkg ? getPkg attrPath
|
||||
, pname ? null
|
||||
, attrPath ? pname
|
||||
# bwrap flags for the update script (this will be put in bash as-is)
|
||||
# this is relevant for downstream users
|
||||
, bwrapFlags ? "--ro-bind \"$PWD\" \"$PWD\""
|
||||
# deps path (relative to the package directory, or absolute)
|
||||
, data
|
||||
# redirect stdout to stderr to allow the update script to be used with update script combinators
|
||||
, silent ? true
|
||||
, useBwrap ? stdenv.isLinux
|
||||
} @ attrs:
|
||||
|
||||
let
|
||||
data' = builtins.removeAttrs
|
||||
(if builtins.isPath data then lib.importJSON data
|
||||
else if builtins.isString data then lib.importJSON "${dirOf pkg.meta.position}/${data}"
|
||||
else data)
|
||||
[ "!comment" "!version" ];
|
||||
|
||||
parseArtifactUrl = url: let
|
||||
extension = lib.last (lib.splitString "." url);
|
||||
splitUrl = lib.splitString "/" url;
|
||||
artifactId = builtins.elemAt splitUrl (builtins.length splitUrl - 3);
|
||||
baseVer = builtins.elemAt splitUrl (builtins.length splitUrl - 2);
|
||||
filename = builtins.elemAt splitUrl (builtins.length splitUrl - 1);
|
||||
filenameNoExt = lib.removeSuffix ".${extension}" filename;
|
||||
verCls = lib.removePrefix "${artifactId}-" filenameNoExt;
|
||||
in rec {
|
||||
inherit artifactId baseVer filename extension;
|
||||
isSnapshot = lib.hasSuffix "-SNAPSHOT" baseVer;
|
||||
version =
|
||||
if isSnapshot && !lib.hasPrefix "SNAPSHOT" verCls
|
||||
then builtins.concatStringsSep "-" (lib.take 3 (lib.splitString "-" verCls))
|
||||
else baseVer;
|
||||
classifier =
|
||||
if verCls == version then null
|
||||
else lib.removePrefix "${version}-" verCls;
|
||||
# for snapshots
|
||||
timestamp = builtins.elemAt (lib.splitString "-" version) 1;
|
||||
buildNum = builtins.elemAt (lib.splitString "-" version) 2;
|
||||
};
|
||||
|
||||
parseMetadataUrl = url: let
|
||||
xmlBase = lib.removeSuffix "/maven-metadata.xml" url;
|
||||
vMeta = lib.hasSuffix "-SNAPSHOT" xmlBase;
|
||||
splitBase = lib.splitString "/" xmlBase;
|
||||
in
|
||||
if vMeta then {
|
||||
vMeta = true;
|
||||
baseVer = builtins.elemAt splitBase (builtins.length splitBase - 1);
|
||||
artifactId = builtins.elemAt splitBase (builtins.length splitBase - 2);
|
||||
} else {
|
||||
vMeta = false;
|
||||
baseVer = null;
|
||||
artifactId = builtins.elemAt splitBase (builtins.length splitBase - 1);
|
||||
};
|
||||
|
||||
extractHashArtifact = afterHash: let
|
||||
nameVer = builtins.match "([^/]*)/([^/]*)(/SNAPSHOT)?(/.*)?" afterHash;
|
||||
artifactId = builtins.elemAt nameVer 0;
|
||||
version = builtins.elemAt nameVer 1;
|
||||
isSnapshot = builtins.elemAt nameVer 2 != null;
|
||||
cls = builtins.elemAt nameVer 3;
|
||||
in rec {
|
||||
inherit artifactId version isSnapshot;
|
||||
baseVer =
|
||||
if !isSnapshot then version
|
||||
else builtins.head (builtins.match "(.*)-([^-]*)-([^-]*)" version) + "-SNAPSHOT";
|
||||
classifier =
|
||||
if cls == null then null
|
||||
else lib.removePrefix "/" cls;
|
||||
clsSuf =
|
||||
if classifier == null then ""
|
||||
else "-${classifier}";
|
||||
};
|
||||
|
||||
# replace base#name/ver with base/name/ver/name-ver
|
||||
decompressNameVer = prefix: let
|
||||
splitHash = lib.splitString "#" (builtins.concatStringsSep "/" prefix);
|
||||
inherit (extractHashArtifact (lib.last splitHash)) artifactId baseVer version clsSuf;
|
||||
in
|
||||
if builtins.length splitHash == 1 then builtins.head splitHash
|
||||
else builtins.concatStringsSep "/${artifactId}/${baseVer}/" (lib.init splitHash ++ [ "${artifactId}-${version}${clsSuf}" ]);
|
||||
|
||||
# `visit` all elements in attrs and merge into a set
|
||||
# attrs will be passed as parent1, parent1 will be passed as parent2
|
||||
visitAttrs = parent1: prefix: attrs:
|
||||
builtins.foldl'
|
||||
(a: b: a // b)
|
||||
{}
|
||||
(lib.mapAttrsToList (visit parent1 attrs prefix) attrs);
|
||||
|
||||
# convert a compressed deps.json into an uncompressed json used for mitm-cache.fetch
|
||||
visit = parent2: parent1: prefix: k: v:
|
||||
# groupId being present means this is a metadata xml "leaf" and we shouldn't descend further
|
||||
if builtins.isAttrs v && !v?groupId
|
||||
then visitAttrs parent1 (prefix ++ [k]) v
|
||||
else let
|
||||
url = "${decompressNameVer prefix}.${k}";
|
||||
in {
|
||||
${url} =
|
||||
if builtins.isString v then { hash = v; }
|
||||
else {
|
||||
text = let
|
||||
xmlBase = lib.removeSuffix "/maven-metadata.xml" url;
|
||||
meta = parseMetadataUrl url // v;
|
||||
inherit (meta) groupId vMeta artifactId baseVer;
|
||||
|
||||
fileList = builtins.filter (x: lib.hasPrefix xmlBase x && x != url) (builtins.attrNames finalData);
|
||||
jarPomList = map parseArtifactUrl fileList;
|
||||
sortedJarPomList =
|
||||
lib.sort
|
||||
(a: b: lib.splitVersion a.version < lib.splitVersion b.version)
|
||||
jarPomList;
|
||||
|
||||
uniqueVersionFiles =
|
||||
builtins.map ({ i, x }: x)
|
||||
(builtins.filter ({ i, x }: i == 0 || (builtins.elemAt sortedJarPomList (i - 1)).version != x.version)
|
||||
(lib.imap0 (i: x: { inherit i x; }) sortedJarPomList));
|
||||
uniqueVersions' = map (x: x.version) uniqueVersionFiles;
|
||||
releaseVersions = map (x: x.version) (builtins.filter (x: !x.isSnapshot) uniqueVersionFiles);
|
||||
latestVer = v.latest or v.release or (lib.last uniqueVersions');
|
||||
releaseVer = v.release or (lib.last releaseVersions);
|
||||
|
||||
# The very latest version isn't necessarily used by Gradle, so it may not be present in the MITM data.
|
||||
# In order to generate better metadata xml, if the latest version is known but wasn't fetched by Gradle,
|
||||
# add it anyway.
|
||||
uniqueVersions =
|
||||
uniqueVersions'
|
||||
++ lib.optional (!builtins.elem releaseVer uniqueVersions') releaseVer
|
||||
++ lib.optional (!builtins.elem latestVer uniqueVersions' && releaseVer != latestVer) latestVer;
|
||||
|
||||
lastUpdated = v.lastUpdated or
|
||||
(if vMeta then builtins.replaceStrings ["."] [""] snapshotTs
|
||||
else "20240101123456");
|
||||
|
||||
# the following are only used for snapshots
|
||||
snapshotTsAndNum = lib.splitString "-" latestVer;
|
||||
snapshotTs = builtins.elemAt snapshotTsAndNum 1;
|
||||
snapshotNum = lib.last snapshotTsAndNum;
|
||||
|
||||
indent = x: s: builtins.concatStringsSep "\n" (map (s: x + s) (lib.splitString "\n" s));
|
||||
containsSpecialXmlChars = s: builtins.match ''.*[<>"'&].*'' s != null;
|
||||
in
|
||||
# make sure all user-provided data is safe
|
||||
assert lib.hasInfix "${builtins.replaceStrings ["."] ["/"] groupId}/${artifactId}" url;
|
||||
assert !containsSpecialXmlChars groupId;
|
||||
assert !containsSpecialXmlChars lastUpdated;
|
||||
if vMeta then ''
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<metadata modelVersion="1.1.0">
|
||||
<groupId>${groupId}</groupId>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<version>${baseVer}</version>
|
||||
<versioning>
|
||||
<snapshot>
|
||||
<timestamp>${snapshotTs}</timestamp>
|
||||
<buildNumber>${snapshotNum}</buildNumber>
|
||||
</snapshot>
|
||||
<lastUpdated>${lastUpdated}</lastUpdated>
|
||||
<snapshotVersions>
|
||||
${builtins.concatStringsSep "\n" (map (x: indent " " ''
|
||||
<snapshotVersion>${
|
||||
lib.optionalString
|
||||
(x.classifier != null)
|
||||
"\n <classifier>${x.classifier}</classifier>"
|
||||
}
|
||||
<extension>${x.extension}</extension>
|
||||
<value>${x.version}</value>
|
||||
<updated>${builtins.replaceStrings ["."] [""] x.timestamp}</updated>
|
||||
</snapshotVersion>'') sortedJarPomList)}
|
||||
</snapshotVersions>
|
||||
</versioning>
|
||||
</metadata>
|
||||
''
|
||||
else
|
||||
assert !containsSpecialXmlChars latestVer;
|
||||
assert !containsSpecialXmlChars releaseVer;
|
||||
''
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<metadata modelVersion="1.1.0">
|
||||
<groupId>${groupId}</groupId>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<versioning>
|
||||
<latest>${latestVer}</latest>
|
||||
<release>${releaseVer}</release>
|
||||
<versions>
|
||||
${builtins.concatStringsSep "\n" (map (x: " <version>${x}</version>") uniqueVersions)}
|
||||
</versions>
|
||||
<lastUpdated>${lastUpdated}</lastUpdated>
|
||||
</versioning>
|
||||
</metadata>
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
finalData = visitAttrs {} [] data';
|
||||
in
|
||||
mitm-cache.fetch {
|
||||
name = "${pkg.pname or pkg.name}-deps";
|
||||
data = finalData // { "!version" = 1; };
|
||||
passthru = lib.optionalAttrs (!builtins.isAttrs data) {
|
||||
updateScript = callPackage ./update-deps.nix { } {
|
||||
inherit pkg pname attrPath bwrapFlags data silent useBwrap;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
gradle.projectsLoaded {
|
||||
rootProject.allprojects {
|
||||
tasks.withType(AbstractArchiveTask) {
|
||||
preserveFileTimestamps = false
|
||||
reproducibleFileOrder = true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
gradle.projectsLoaded {
|
||||
rootProject.allprojects {
|
||||
task nixDownloadDeps {
|
||||
doLast {
|
||||
configurations.findAll{it.canBeResolved}.each{it.resolve()}
|
||||
buildscript.configurations.findAll{it.canBeResolved}.each{it.resolve()}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
gradleConfigureHook() {
|
||||
if [ -z "${GRADLE_USER_HOME-}" ]; then
|
||||
GRADLE_USER_HOME="$(mktemp -d)"
|
||||
fi
|
||||
export GRADLE_USER_HOME
|
||||
export TERM=dumb
|
||||
gradleFlagsArray+=(--no-daemon --console plain --init-script "${gradleInitScript:-@init_script@}")
|
||||
if [ -n "${MITM_CACHE_CA-}" ]; then
|
||||
if [ -z "${MITM_CACHE_KEYSTORE-}" ]; then
|
||||
MITM_CACHE_KEYSTORE="$MITM_CACHE_CERT_DIR/keystore"
|
||||
MITM_CACHE_KS_PWD="$(head -c10 /dev/random | base32)"
|
||||
echo y | @jdk@/bin/keytool -importcert -file "$MITM_CACHE_CA" -alias alias -keystore "$MITM_CACHE_KEYSTORE" -storepass "$MITM_CACHE_KS_PWD"
|
||||
fi
|
||||
gradleFlagsArray+=(-Dhttp.proxyHost="$MITM_CACHE_HOST" -Dhttp.proxyPort="$MITM_CACHE_PORT")
|
||||
gradleFlagsArray+=(-Dhttps.proxyHost="$MITM_CACHE_HOST" -Dhttps.proxyPort="$MITM_CACHE_PORT")
|
||||
gradleFlagsArray+=(-Djavax.net.ssl.trustStore="$MITM_CACHE_KEYSTORE" -Djavax.net.ssl.trustStorePassword="$MITM_CACHE_KS_PWD")
|
||||
else
|
||||
gradleFlagsArray+=(--offline)
|
||||
fi
|
||||
if ! [[ -v enableParallelBuilding ]]; then
|
||||
enableParallelBuilding=1
|
||||
fi
|
||||
if ! [[ -v enableParallelChecking ]]; then
|
||||
enableParallelChecking=1
|
||||
fi
|
||||
if ! [[ -v enableParallelUpdating ]]; then
|
||||
enableParallelUpdating=1
|
||||
fi
|
||||
}
|
||||
|
||||
gradle() {
|
||||
command gradle $gradleFlags "${gradleFlagsArray[@]}" "$@"
|
||||
}
|
||||
|
||||
gradleBuildPhase() {
|
||||
runHook preBuild
|
||||
|
||||
gradle ${enableParallelBuilding:+--parallel} ${gradleBuildTask:-assemble}
|
||||
|
||||
runHook postBuild
|
||||
}
|
||||
|
||||
gradleCheckPhase() {
|
||||
runHook preCheck
|
||||
|
||||
gradle ${enableParallelChecking:+--parallel} ${gradleCheckTask:-test}
|
||||
|
||||
runHook postCheck
|
||||
}
|
||||
|
||||
gradleUpdateScript() {
|
||||
runHook preBuild
|
||||
runHook preGradleUpdate
|
||||
|
||||
gradle ${enableParallelUpdating:+--parallel} ${gradleUpdateTask:-nixDownloadDeps}
|
||||
|
||||
runHook postGradleUpdate
|
||||
}
|
||||
|
||||
if [ -z "${dontUseGradleConfigure-}" ]; then
|
||||
preConfigureHooks+=(gradleConfigureHook)
|
||||
fi
|
||||
|
||||
if [ -z "${dontUseGradleBuild-}" ] && [ -z "${buildPhase-}" ]; then
|
||||
buildPhase=gradleBuildPhase
|
||||
fi
|
||||
|
||||
if [ -z "${dontUseGradleCheck-}" ] && [ -z "${checkPhase-}" ]; then
|
||||
checkPhase=gradleCheckPhase
|
||||
fi
|
||||
@@ -0,0 +1,122 @@
|
||||
{ lib
|
||||
, runtimeShell
|
||||
, srcOnly
|
||||
, writeTextFile
|
||||
, writeShellScript
|
||||
, path
|
||||
, bubblewrap
|
||||
, coreutils
|
||||
, curl
|
||||
, jq
|
||||
, mitm-cache
|
||||
, nix
|
||||
, openssl
|
||||
, procps
|
||||
, python3
|
||||
}:
|
||||
|
||||
lib.makeOverridable
|
||||
({ pkg, pname, attrPath, bwrapFlags, data, silent, useBwrap }:
|
||||
let
|
||||
keep = [ "MITM_CACHE_HOST" "MITM_CACHE_PORT" "MITM_CACHE_ADDRESS" "MITM_CACHE_CA" "MITM_CACHE_CERT_DIR" ];
|
||||
gradleScript = writeShellScript "gradle-commands.sh" ''
|
||||
set -eo pipefail
|
||||
export http_proxy="$MITM_CACHE_ADDRESS"
|
||||
export https_proxy="$MITM_CACHE_ADDRESS"
|
||||
export SSL_CERT_FILE="$MITM_CACHE_CA"
|
||||
export NIX_SSL_CERT_FILE="$MITM_CACHE_CA"
|
||||
export GRADLE_USER_HOME="$(${coreutils}/bin/mktemp -d)"
|
||||
export IN_GRADLE_UPDATE_DEPS=1
|
||||
trap "${coreutils}/bin/rm -rf '$GRADLE_USER_HOME'" SIGINT SIGTERM ERR EXIT
|
||||
cd "$(${coreutils}/bin/mktemp -d)"
|
||||
${coreutils}/bin/mkdir out
|
||||
export out="$PWD/out"
|
||||
trap "${coreutils}/bin/rm -rf '$PWD'" SIGINT SIGTERM ERR EXIT
|
||||
source "$stdenv/setup"
|
||||
phases="''${prePhases[*]:-} unpackPhase patchPhase ''${preConfigurePhases[*]:-} configurePhase gradleUpdateScript" genericBuild
|
||||
'';
|
||||
source = srcOnly (pkg.overrideAttrs (old: {
|
||||
mitmCache = "";
|
||||
gradleInitScript = ./init-deps.gradle;
|
||||
}));
|
||||
sourceDrvPath = builtins.unsafeDiscardOutputDependency source.drvPath;
|
||||
nixShellKeep = lib.concatMapStringsSep " " (x: "--keep ${x}") keep;
|
||||
in
|
||||
writeTextFile {
|
||||
name = "fetch-deps.sh";
|
||||
executable = true;
|
||||
# see pkgs/common-updater/combinators.nix
|
||||
derivationArgs.passthru =
|
||||
{ supportedFeatures = lib.optional silent "silent"; }
|
||||
// lib.optionalAttrs (attrPath != null) { inherit attrPath; };
|
||||
text = ''
|
||||
#!${runtimeShell}
|
||||
set -eo pipefail
|
||||
export PATH="${lib.makeBinPath [
|
||||
bubblewrap coreutils curl jq mitm-cache openssl
|
||||
procps python3.pkgs.ephemeral-port-reserve
|
||||
]}:$PATH"
|
||||
outPath="${
|
||||
# if this is an absolute path in nix store, use path relative to the store path
|
||||
if lib.hasPrefix "${builtins.storeDir}/" (toString data)
|
||||
then builtins.concatStringsSep "/" (lib.drop 1 (lib.splitString "/" (lib.removePrefix "${builtins.storeDir}/" (toString data))))
|
||||
# if this is an absolute path anywhere else, just use that path
|
||||
else if lib.hasPrefix "/" (toString data)
|
||||
then toString data
|
||||
# otherwise, use a path relative to the package
|
||||
else "${dirOf pkg.meta.position}/${data}"
|
||||
}"
|
||||
|
||||
pushd "$(mktemp -d)" >/dev/null
|
||||
MITM_CACHE_DIR="$PWD"
|
||||
trap "rm -rf '$MITM_CACHE_DIR'" SIGINT SIGTERM ERR EXIT
|
||||
openssl genrsa -out ca.key 2048
|
||||
openssl req -x509 -new -nodes -key ca.key -sha256 -days 1 -out ca.cer -subj "/C=AL/ST=a/L=a/O=a/OU=a/CN=example.org"
|
||||
export MITM_CACHE_HOST=127.0.0.1
|
||||
export MITM_CACHE_PORT="''${mitmCachePort:-$(ephemeral-port-reserve "$MITM_CACHE_HOST")}"
|
||||
export MITM_CACHE_ADDRESS="$MITM_CACHE_HOST:$MITM_CACHE_PORT"
|
||||
# forget all redirects - this makes the lockfiles predictable
|
||||
# not only does this strip CDN URLs, but it also improves security - since the redirects aren't
|
||||
# stored in the lockfile, a malicious actor can't change the redirect URL stored in the lockfile
|
||||
mitm-cache \
|
||||
-l"$MITM_CACHE_ADDRESS" \
|
||||
record \
|
||||
--reject '\.(md5|sha(1|256|512:?):?)$' \
|
||||
--forget-redirects-from '.*' \
|
||||
--record-text '/maven-metadata\.xml$' >/dev/null 2>/dev/null &
|
||||
MITM_CACHE_PID="$!"
|
||||
# wait for mitm-cache to fully start
|
||||
for i in {0..20}; do
|
||||
ps -p "$MITM_CACHE_PID" >/dev/null || (echo "Failed to start mitm-cache" && exit 1)
|
||||
curl -so/dev/null "$MITM_CACHE_ADDRESS" && break
|
||||
[[ "$i" -eq 20 ]] && (echo "Failed to start mitm-cache" && exit 1)
|
||||
sleep 0.5
|
||||
done
|
||||
trap "kill '$MITM_CACHE_PID'" SIGINT SIGTERM ERR EXIT
|
||||
export MITM_CACHE_CERT_DIR="$PWD"
|
||||
export MITM_CACHE_CA="$MITM_CACHE_CERT_DIR/ca.cer"
|
||||
popd >/dev/null
|
||||
useBwrap="''${USE_BWRAP:-${toString useBwrap}}"
|
||||
if [ -n "$useBwrap" ]; then
|
||||
# bwrap isn't necessary, it's only used to prevent messy build scripts from touching ~
|
||||
bwrap \
|
||||
--unshare-all --share-net --clearenv --chdir / --setenv HOME /homeless-shelter \
|
||||
--tmpfs /home --bind /tmp /tmp --ro-bind /nix /nix --ro-bind /run /run --proc /proc --dev /dev \
|
||||
--ro-bind ${toString path} ${toString path} --bind "$MITM_CACHE_CERT_DIR" "$MITM_CACHE_CERT_DIR" \
|
||||
${builtins.concatStringsSep " " (map (x: "--setenv ${x} \"\$${x}\"") keep)} \
|
||||
--setenv NIX_BUILD_SHELL bash ${bwrapFlags} ''${BWRAP_FLAGS:-} \
|
||||
-- ${nix}/bin/nix-shell --pure --run ${gradleScript} ${nixShellKeep} ${sourceDrvPath}
|
||||
else
|
||||
NIX_BUILD_SHELL=bash nix-shell --pure --run ${gradleScript} ${nixShellKeep} ${sourceDrvPath}
|
||||
fi${lib.optionalString silent " >&2"}
|
||||
kill -s SIGINT "$MITM_CACHE_PID"
|
||||
for i in {0..20}; do
|
||||
# check for valid json
|
||||
if jq -e 1 "$MITM_CACHE_DIR/out.json" >/dev/null 2>/dev/null; then
|
||||
exec ${python3.interpreter} ${./compress-deps-json.py} "$MITM_CACHE_DIR/out.json" "$outPath"
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
exit 1
|
||||
'';
|
||||
})
|
||||
@@ -1,8 +1,14 @@
|
||||
{ lib, stdenv, runtimeShell, writeText, fetchFromGitHub, gradle_7, openjdk17, git, perl, cmake }:
|
||||
{ lib, stdenv, runtimeShell, fetchFromGitHub, gradle_7, openjdk17 }:
|
||||
let
|
||||
pname = "fastddsgen";
|
||||
version = "3.3.0";
|
||||
|
||||
gradle = gradle_7;
|
||||
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eProsima";
|
||||
repo = "Fast-DDS-Gen";
|
||||
@@ -11,65 +17,21 @@ let
|
||||
hash = "sha256-oqbSIzsYUwD8bTqGKZ9he9d18EDq9mHZFoNUp0RK0qU=";
|
||||
};
|
||||
|
||||
gradle = gradle_7;
|
||||
|
||||
# fake build to pre-download deps into fixed-output derivation
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit src version;
|
||||
nativeBuildInputs = [ gradle openjdk17 perl ];
|
||||
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d);
|
||||
gradle --no-daemon -x submodulesUpdate assemble
|
||||
'';
|
||||
|
||||
# perl code mavenizes paths (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/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
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-YkVRp6TXI7/5O+u0DDYiCq7DITfGJ4lT/L4hT90JOL8=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname src version;
|
||||
|
||||
nativeBuildInputs = [ gradle openjdk17 ];
|
||||
|
||||
# use our offline deps
|
||||
postPatch = ''
|
||||
sed -ie '1i\
|
||||
pluginManagement {\
|
||||
repositories {\
|
||||
maven { url "${deps}" }\
|
||||
}\
|
||||
}' thirdparty/idl-parser/settings.gradle
|
||||
sed -ie "s#mavenCentral()#maven { url '${deps}' }#g" build.gradle
|
||||
sed -ie "s#mavenCentral()#maven { url '${deps}' }#g" thirdparty/idl-parser/build.gradle
|
||||
'';
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
|
||||
# Run gradle with daemon to make installPhase faster
|
||||
gradle --offline -x submodulesUpdate assemble
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
gradleFlags = [ "-x" "submodulesUpdate" ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
gradle --offline -x submodulesUpdate install --install_path=$out
|
||||
gradle install --install_path=$out
|
||||
|
||||
# Override the default start script to use absolute java path
|
||||
cat <<EOF >$out/bin/fastddsgen
|
||||
@@ -81,6 +43,13 @@ stdenv.mkDerivation {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postGradleUpdate = ''
|
||||
cd thirdparty/idl-parser
|
||||
# fix "Task 'submodulesUpdate' not found"
|
||||
gradleFlags=
|
||||
gradle nixDownloadDeps
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fast-DDS IDL code generator tool";
|
||||
mainProgram = "fastddsgen";
|
||||
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/ibm/icu#icu4j/72.1": {
|
||||
"jar": "sha256-PfVyskCmjRO1zXeK0jk+iF0mQRQ0zY8JisWYfqLmTOM=",
|
||||
"pom": "sha256-Pe8rKa9KGa2AXLFTBWklqJqQP5L77hre4S7S/BTETug="
|
||||
},
|
||||
"org/abego/treelayout#org.abego.treelayout.core/1.0.3": {
|
||||
"jar": "sha256-+l4xOVw5wufUasoPgfcgYJMWB7L6Qb02A46yy2+5MyY=",
|
||||
"pom": "sha256-o7KyI3lDcDVeeSQzrwEvyZNmfAMxviusrYTbwJrOSgw="
|
||||
},
|
||||
"org/antlr#ST4/4.3.4": {
|
||||
"jar": "sha256-+SesOExG10n4texolypTrtIeADE1CSmWFu23O/oV/zM=",
|
||||
"pom": "sha256-nnwfPkiZGUQOjBMInlljcp1bf4D3AjO/uuMJxkmryj4="
|
||||
},
|
||||
"org/antlr#antlr-master/3.5.3": {
|
||||
"pom": "sha256-6p43JQ9cTC52tlOL6XtX8zSb2lhe31PzypfiB7OFuJU="
|
||||
},
|
||||
"org/antlr#antlr-runtime/3.5.3": {
|
||||
"jar": "sha256-aL+fWjPfyzQDNJXFh+Yja+9ON6pmEpGfWx6EO5Bmn7k=",
|
||||
"pom": "sha256-EymODgqvr0FP99RAZCfKtuxPv6NkJ/bXEDxDLzLAfSU="
|
||||
},
|
||||
"org/antlr#antlr4-master/4.13.0": {
|
||||
"pom": "sha256-IiBv17pJUVLlJvUO/sn8j03QX8tD38+PJk6Dffa2Qk8="
|
||||
},
|
||||
"org/antlr#antlr4-runtime/4.13.0": {
|
||||
"jar": "sha256-vX97XQe8CwR/EJFbMspLsd6eV9gEkJiILkRTyIwHal0=",
|
||||
"pom": "sha256-GY40+1rHWXsaPDGTAwHgjOlB5cpQQRbdVKOnU3iRSn8="
|
||||
},
|
||||
"org/antlr#antlr4/4.13.0": {
|
||||
"jar": "sha256-HA3rJpklFJIvuLmWGRmPCcMveYQkbcatHDu8SYPeHTU=",
|
||||
"pom": "sha256-OdLSWEk8QnvL1EAGP34PQqt4j6wVp4wP73RK5hk2d8k="
|
||||
},
|
||||
"org/apiguardian#apiguardian-api/1.1.0": {
|
||||
"jar": "sha256-qarp/4rj4XoqGPeRdegrFiZ8JG+708qd+7spCwjc/dQ=",
|
||||
"pom": "sha256-qUW5y1zZt3sscRhE5lnEPsBw71nZ9Qn6n0wYYbSGJxE="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-api/5.5.2": {
|
||||
"jar": "sha256-JJov29OTGYfAKY0AygjtJISW4PwR4EY8CMT4LgzHmxw=",
|
||||
"pom": "sha256-dqFdgNhYehpaOlsULSzrNzBPvZEZi6QlSG5X920IiGA="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-engine/5.5.2": {
|
||||
"jar": "sha256-bXd9qYduLvegM26PCY+NdKWmT4EKo6Si9fO3Zs6Xg3s=",
|
||||
"pom": "sha256-Ay/vTiVjCE05fq5IGjiAEPRDQBr2JSv9N312MH9vi/4="
|
||||
},
|
||||
"org/junit/platform#junit-platform-commons/1.5.2": {
|
||||
"jar": "sha256-/ESv38DyDIXnGmbnlDKBrvO8Hg/WLS1po2y2kB5oLBA=",
|
||||
"pom": "sha256-O9DU3tYyqK+MpYf7Z2QBnedxsda8uJrNViQ1oQCfqto="
|
||||
},
|
||||
"org/junit/platform#junit-platform-engine/1.5.2": {
|
||||
"jar": "sha256-/yC6StjADvF7rvnFVRL5wC2aaHQPfxrAGppqoCOZMfg=",
|
||||
"pom": "sha256-LUuVVVwh4IXrwd299C156x1VZA3Bk7G35hACQP0vGJ8="
|
||||
},
|
||||
"org/openjdk/nashorn#nashorn-core/15.4": {
|
||||
"jar": "sha256-b4FuhN/WOoHU6qeCnAgze7r/PsaD/zv2u9kNAXoA3G8=",
|
||||
"pom": "sha256-aan3ueR+zPR7vO5yGtT7A5yn2bZQF05thgKq23flrCM="
|
||||
},
|
||||
"org/opentest4j#opentest4j/1.2.0": {
|
||||
"jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=",
|
||||
"pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ="
|
||||
},
|
||||
"org/ow2#ow2/1.5": {
|
||||
"pom": "sha256-D4obEW52C4/mOJxRuE5LB6cPwRCC1Pk25FO1g91QtDs="
|
||||
},
|
||||
"org/ow2/asm#asm-analysis/7.3.1": {
|
||||
"jar": "sha256-Rrio79S5T6y1q0s1r+MO4FRq56Q9LGTm3vVsLxaP76U=",
|
||||
"pom": "sha256-be7rsjbIAyhFrcO3XuWrEiPr1T5M8+hTQsMTvaBtVH8="
|
||||
},
|
||||
"org/ow2/asm#asm-commons/7.3.1": {
|
||||
"jar": "sha256-h82Ls8a/a8uzP8pIBgxQZfZuv2o9fem/GL/1G88Vbrw=",
|
||||
"pom": "sha256-2jEe/3FqEUJ8JCS1iFvR+0lC2QNml2zW1aVae6DfWkA="
|
||||
},
|
||||
"org/ow2/asm#asm-tree/7.3.1": {
|
||||
"jar": "sha256-+RpKiqhoxcRmW7T9E0AZqR+fi5IWUn+6KV48i1Qit4s=",
|
||||
"pom": "sha256-yrFmzVNdMJgzasVcG2du7WYxZbWG+gPXmWBSO+0f8Ew="
|
||||
},
|
||||
"org/ow2/asm#asm-util/7.3.1": {
|
||||
"jar": "sha256-GCEoWSdC7UiDrIK/IF8Te2v74SNMaOb+sTdZ51qFtyk=",
|
||||
"pom": "sha256-DzYMMOEoeTfh1C/txvrWmCT9Vl5P//7RQS7I2HMD+8o="
|
||||
},
|
||||
"org/ow2/asm#asm/7.3.1": {
|
||||
"jar": "sha256-L2fhHO7IGevYjd7lMAq6aZscurLiDCLpfPAn076TlZs=",
|
||||
"pom": "sha256-6s3NUA1lJ+ljiI2u2jGSPkvCQaJUJNzDisyi5gHn/eI="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, openjdk, openjfx, gradle_7, makeDesktopItem, perl, writeText, makeWrapper }:
|
||||
{ lib, stdenv, fetchFromGitHub, openjdk, openjfx, gradle_7, makeDesktopItem, makeWrapper }:
|
||||
let
|
||||
jdk = openjdk.override (lib.optionalAttrs stdenv.isLinux {
|
||||
enableJavaFX = true;
|
||||
@@ -17,57 +17,6 @@ let
|
||||
|
||||
gradle = gradle_7;
|
||||
|
||||
deps = stdenv.mkDerivation {
|
||||
name = "${pname}-deps";
|
||||
inherit src;
|
||||
|
||||
nativeBuildInputs = [ jdk perl gradle ];
|
||||
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d);
|
||||
gradle --no-daemon build
|
||||
'';
|
||||
|
||||
# Mavenize dependency paths
|
||||
# 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
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/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
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "0d6qs0wg2nfxyq85q46a8dcdqknz9pypb2qmvc8k2w8vcdac1y7n";
|
||||
};
|
||||
|
||||
# Point to our local deps repo
|
||||
gradleInit = writeText "init.gradle" ''
|
||||
settingsEvaluated { settings ->
|
||||
settings.pluginManagement {
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
logger.lifecycle 'Replacing Maven repositories with ${deps}...'
|
||||
gradle.projectsLoaded {
|
||||
rootProject.allprojects {
|
||||
buildscript {
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = pname;
|
||||
desktopName = pname;
|
||||
@@ -79,16 +28,16 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
inherit pname version src;
|
||||
nativeBuildInputs = [ jdk gradle makeWrapper ];
|
||||
nativeBuildInputs = [ gradle makeWrapper ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --offline --no-daemon --info --init-script ${gradleInit} build
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
doCheck = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
+177
@@ -0,0 +1,177 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://plugins.gradle.org/m2": {
|
||||
"com/github/javaparser#javaparser-core/3.6.23": {
|
||||
"jar": "sha256-Jd6Y4JulJ3cBiHFxQWx1BmsMkK4QyER5wIy62OwC2ko=",
|
||||
"pom": "sha256-uS4cfUmFkaRUByoI4abESgjvT5YyH772jlPnQagyO84="
|
||||
},
|
||||
"com/github/javaparser#javaparser-parent/3.6.23": {
|
||||
"pom": "sha256-RrplfMwXfcIrmXLTDq3vB+pK2Y7C2ZJ4mi2pyMaOEMY="
|
||||
},
|
||||
"com/github/javaparser#javaparser-symbol-solver-core/3.6.23": {
|
||||
"jar": "sha256-xgZHY43ddl13bN0jDhzWlmT5BYVrnTUgHcpZFcHhhLM=",
|
||||
"pom": "sha256-IxlhRqtmo5sFxOIsoQ3rcpbBvmPuI5Vpax21wO7ayiQ="
|
||||
},
|
||||
"com/github/javaparser#javaparser-symbol-solver-logic/3.6.23": {
|
||||
"jar": "sha256-iUKL5AoLtSXiC5BwTUzmhE/Min2ePxCaSmIckIICKSo=",
|
||||
"pom": "sha256-+c70XJwzh7J95a0unepGR18S5nLrMTuo2hl9n5KTuUs="
|
||||
},
|
||||
"com/github/javaparser#javaparser-symbol-solver-model/3.6.23": {
|
||||
"jar": "sha256-Oyot02mnKEgZJIkaRC7gHztEFr9a84kGv+CXAEEHbRs=",
|
||||
"pom": "sha256-l9XodywQqD1zerqsIXaufDIYN2FzS1Nshd66kOdsfV0="
|
||||
},
|
||||
"com/google/code/findbugs#jsr305/3.0.2": {
|
||||
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
|
||||
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
|
||||
},
|
||||
"com/google/errorprone#error_prone_annotations/2.0.18": {
|
||||
"jar": "sha256-y0z62HC/VjoHGZ8+vqV2Pw3sRA/NoLMYZAsf6qeIZWs=",
|
||||
"pom": "sha256-kUQScZLW9hLCNmgl3OrrI7DVMTC4Pgvx/+EH0UcKhIc="
|
||||
},
|
||||
"com/google/errorprone#error_prone_parent/2.0.18": {
|
||||
"pom": "sha256-zxSZVSebB9TxHoF5hcEWSmnpMNc9t0QbQ6bvU7vShsQ="
|
||||
},
|
||||
"com/google/gradle#osdetector-gradle-plugin/1.6.1": {
|
||||
"jar": "sha256-N/Sm2S8lh2Ls9i/XcYZSK77LXaGyDevHj4NhuFbfDac=",
|
||||
"pom": "sha256-i4MRE6lOCXvEnh7KTTJ/0iNAVwRU1Ey7ccJSuZ5sTD8="
|
||||
},
|
||||
"com/google/guava#guava-parent/23.4-jre": {
|
||||
"pom": "sha256-EO8XbFPNj5Wd7Wr3QFFumbX8IKogHjqRmLuSGUpqOTQ="
|
||||
},
|
||||
"com/google/guava#guava/23.4-jre": {
|
||||
"jar": "sha256-JmKjPwn+urUCPdv1J4DLjSpuDEmiTbgJStwOlEgBqBA=",
|
||||
"pom": "sha256-Iuu7g72VwApr6oeMtbm7imAuoSpmRnsM+k+XtBTqXQ4="
|
||||
},
|
||||
"com/google/j2objc#j2objc-annotations/1.1": {
|
||||
"jar": "sha256-KZSn63jycQvT07+2ObLJTiGc7awNTQhNUW54wW3d7PY=",
|
||||
"pom": "sha256-8MmMVx6Tp8tN0Y3w+jCPCWPnoGIKwtQkTmHnCdA61r4="
|
||||
},
|
||||
"kr/motd/maven#os-maven-plugin/1.6.0": {
|
||||
"jar": "sha256-HNnWwIn5ZnEbx9lWSXaz/+ZRAmFqUkdoHMIwlc+90aw=",
|
||||
"pom": "sha256-zRUfUQeKRnd7UPgoO4gqis4MCLu+F0RrP56mPIEi/Kg="
|
||||
},
|
||||
"org/beryx#badass-jlink-plugin/2.6.5": {
|
||||
"jar": "sha256-WXeNmHfVtqkDyRN2ZfzzSoHFprSdPDpxt70FDJVSWrA=",
|
||||
"pom": "sha256-ytOd1e29JuGnOxYHCShfkLTAjwmT85n2Qsley3Bs4LQ="
|
||||
},
|
||||
"org/beryx/jlink#org.beryx.jlink.gradle.plugin/2.6.5": {
|
||||
"pom": "sha256-n3jKnoCItgThUQZCBW3b+WsQZ+zn/SZuZwc/y/dsW/Y="
|
||||
},
|
||||
"org/codehaus#codehaus-parent/4": {
|
||||
"pom": "sha256-a4cjfejC4XQM+AYnx/POPhXeGTC7JQxVoeypT6PgFN8="
|
||||
},
|
||||
"org/codehaus/mojo#animal-sniffer-annotations/1.14": {
|
||||
"jar": "sha256-IGgyC9a610TDZzqwSPZ+ML749RiZb6OAAzVWYAZpkF0=",
|
||||
"pom": "sha256-GHnxmgWZHj7ZWRC5ZokzM5awxGeiFdxNH5ABhAS3KiY="
|
||||
},
|
||||
"org/codehaus/mojo#animal-sniffer-parent/1.14": {
|
||||
"pom": "sha256-9RVQoGsUEL1JYssOcd8Lkhpgp+9Hv6nEgloUvnIxbuo="
|
||||
},
|
||||
"org/codehaus/mojo#mojo-parent/34": {
|
||||
"pom": "sha256-Pjldb7xDwJo3dMrIaUzlJzmDBeo/1UktgOJa8n04Kpw="
|
||||
},
|
||||
"org/javamodularity#moduleplugin/1.4.0": {
|
||||
"jar": "sha256-DsRpRPMp5s7qu+4mT39lW3VOz+qXti1zeROvm/cnWkk=",
|
||||
"pom": "sha256-ys6MmZmVjsvuHC00/yZVxHvgOrtlFInDustCNl+e33s="
|
||||
},
|
||||
"org/javassist#javassist/3.23.1-GA": {
|
||||
"jar": "sha256-0rFMCXY1IzdGJPMqCdbjH8sXQIKpet21ri1YC0dP2AY=",
|
||||
"pom": "sha256-TBjLCfVKXn3uusVCUbXsZaXgSuRgZ/Mb3OMzwvDujJk="
|
||||
},
|
||||
"org/openjfx#javafx-plugin/0.0.7": {
|
||||
"jar": "sha256-cMNMLi/MFLDiEkJuYhbX7xktB+i4fw3O8y1drZ+6tK0=",
|
||||
"pom": "sha256-JVTXrl0EsYMJcp5LkHmy8iQKXTfr1GxrC97HZ8q/svk="
|
||||
},
|
||||
"org/openjfx/javafxplugin#org.openjfx.javafxplugin.gradle.plugin/0.0.7": {
|
||||
"pom": "sha256-SybdZ/HqOekf+cyybnONJwR1DlhFYYajVz9QadOIe1U="
|
||||
},
|
||||
"org/ow2#ow2/1.5": {
|
||||
"pom": "sha256-D4obEW52C4/mOJxRuE5LB6cPwRCC1Pk25FO1g91QtDs="
|
||||
},
|
||||
"org/ow2/asm#asm-analysis/7.0": {
|
||||
"jar": "sha256-6YH49lDE2QC7AzZQsY4SL6axYerdX4iXjQh1H3LuhHQ=",
|
||||
"pom": "sha256-xrVEd+nVuuHnrd/y4ky/kqr/L/CP1rwFlsOTPD+twss="
|
||||
},
|
||||
"org/ow2/asm#asm-commons/7.0": {
|
||||
"jar": "sha256-/tNI7wWVjj6EajrAdKEq9feTbvPSHORKYsT6CKdxkn0=",
|
||||
"pom": "sha256-9MaXiGzbSlskcgVKC140Nx6bSOYgvkDD7Ujh9LbVHrQ="
|
||||
},
|
||||
"org/ow2/asm#asm-tree/7.0": {
|
||||
"jar": "sha256-z9egh0+d42qZnBJ/7q37/m4E1Kce6VTXrz2FPwvkimw=",
|
||||
"pom": "sha256-05590S9P9TWgg50ZScOcdkQ1WkRwIgyUt2pcFoxXoGg="
|
||||
},
|
||||
"org/ow2/asm#asm-util/7.0": {
|
||||
"jar": "sha256-dfu8pEDvRj9BwrCrGoCr5n6RCsSG2mCnhjy8tbrn4UU=",
|
||||
"pom": "sha256-4HvOS7VdWgb0wQ2RL8ne6Km5wE7FSbu4208g2zRwb3U="
|
||||
},
|
||||
"org/ow2/asm#asm/7.0": {
|
||||
"jar": "sha256-uI72ZGizyXitDJf9bpCXnlYVW0rGkIm6ekTpqn/+ms8=",
|
||||
"pom": "sha256-g/ZbEIPVzk+Lp/lUXP6f8XgkWJyafMgsOkaVgB5PX2g="
|
||||
},
|
||||
"org/slf4j#slf4j-api/1.7.25": {
|
||||
"jar": "sha256-GMSgCV1cHaa4F1kudnuyPSndL1YK1033X/OWHb3iW3k=",
|
||||
"pom": "sha256-fNnXoLXZPf1GGhSIkbQ1Cc9AOpx/n7SQYNNVTfHIHh4="
|
||||
},
|
||||
"org/slf4j#slf4j-parent/1.7.25": {
|
||||
"pom": "sha256-GPXFISDbA26I1hNviDnIMtB0vdqVx1bG9CkknS21SsY="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2/org": {
|
||||
"openjfx#javafx-base/11.0.2": {
|
||||
"jar": "sha256-Hy+IiY9U8aKeK1jKrrChEFBZigdSTyls2a72wAu5PQ8=",
|
||||
"pom": "sha256-F/QWaIULgDukqDp+LZYDm2nwcniLvbqI4J/sgVegMpw="
|
||||
},
|
||||
"openjfx#javafx-base/11.0.2/linux": {
|
||||
"jar": "sha256-hMNW8TRL/TqnS1WiOgzgeLTF5qm+iFPajeQV5ez81Bs="
|
||||
},
|
||||
"openjfx#javafx-controls/11.0.2": {
|
||||
"jar": "sha256-YBBsLPUqfzHsobjQipUs9Lk7Wx2FSSp1XpeggIpp/5o=",
|
||||
"pom": "sha256-WI5hxbroHQl2C2DYz7E7ERtC09RwwKCpnaBqtq/XjQM="
|
||||
},
|
||||
"openjfx#javafx-controls/11.0.2/linux": {
|
||||
"jar": "sha256-wXIELPTOd/xon61lWSVrEbmcb7ic5f0bM9/DRLhqCpc="
|
||||
},
|
||||
"openjfx#javafx-fxml/11.0.2": {
|
||||
"pom": "sha256-hqY8PXMIR6kmAEQ3YosWH88GXj0vrzSjwTjK4j3FDxg="
|
||||
},
|
||||
"openjfx#javafx-fxml/11.0.2/linux": {
|
||||
"jar": "sha256-IsRLJbxYjfZiPgT6EnuLyCQj8flI6a/ySFr0pokOL5Q="
|
||||
},
|
||||
"openjfx#javafx-graphics/11.0.2": {
|
||||
"jar": "sha256-3ukAoYanC66CZoRcVrA62aJOaXy1K6PaQhxgSQibNjg=",
|
||||
"pom": "sha256-5O3+os2WNa3JLTqbp81ew6VqsbF+pKJWDRIr+97gU8g="
|
||||
},
|
||||
"openjfx#javafx-graphics/11.0.2/linux": {
|
||||
"jar": "sha256-+yCVZOUN49jQVdmzzWnUahbT7xjsVRYvwTANFAip1QI="
|
||||
},
|
||||
"openjfx#javafx-media/11.0.2": {
|
||||
"jar": "sha256-buLos8kx27mNmLuVqoIDP9tvQ839Vp5gYT21g0Yp0CU=",
|
||||
"pom": "sha256-ea0fX/vvejwnrd8jvXYICIN23mLl1w/tQRKKMu0f0Ps="
|
||||
},
|
||||
"openjfx#javafx-media/11.0.2/linux": {
|
||||
"jar": "sha256-SQgWhhxhQ6jpPDBRreX/ZcJ8h5zE0lSZmBQ3RnZDF9Y="
|
||||
},
|
||||
"openjfx#javafx-swing/11.0.2": {
|
||||
"pom": "sha256-huvlJlgb5jeG3hJxPMFL23wVAwzPacjJ7lluwyUtB7M="
|
||||
},
|
||||
"openjfx#javafx-swing/11.0.2/linux": {
|
||||
"jar": "sha256-5WLb2tBbKGTo3F75chsMmiyxcxWdpElqJ4K4zR5lsUw="
|
||||
},
|
||||
"openjfx#javafx-web/11.0.2": {
|
||||
"pom": "sha256-VPT4QZplXM2lGzDG+canNTR6h9myctpnwMndXps/UcU="
|
||||
},
|
||||
"openjfx#javafx-web/11.0.2/linux": {
|
||||
"jar": "sha256-FWUzbTr1okARbBPkPepcPZpnSWMnuCj6EL9n6unlsa8="
|
||||
},
|
||||
"openjfx#javafx/11.0.2": {
|
||||
"pom": "sha256-vGfwPQ2VsXURSpjv/7E+RORq2eOsGe/w6OBjpudnWtg="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
{ lib, stdenv, fetchurl
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchpatch
|
||||
, makeWrapper
|
||||
, makeDesktopItem
|
||||
@@ -6,13 +7,13 @@
|
||||
, fetchFromGitHub
|
||||
, gradle
|
||||
, jdk17
|
||||
, perl
|
||||
|
||||
# for arc
|
||||
, SDL2
|
||||
, pkg-config
|
||||
, stb
|
||||
, ant
|
||||
, curl
|
||||
, wget
|
||||
, alsa-lib
|
||||
, alsa-plugins
|
||||
, glew
|
||||
@@ -42,7 +43,6 @@ let
|
||||
buildVersion = makeBuildVersion version;
|
||||
|
||||
jdk = jdk17;
|
||||
gradleWithJdk = gradle.override { java = jdk; };
|
||||
|
||||
selectedGlew = if enableWayland then glew-egl else glew;
|
||||
|
||||
@@ -65,22 +65,29 @@ let
|
||||
rev = "v0.9";
|
||||
hash = "sha256-6KlqOtA19MxeqZttNyNrMU7pKqzlNiA4rBZKp9ekanc=";
|
||||
};
|
||||
freetypeSource = fetchurl {
|
||||
# This is pinned in Arc's extensions/freetype/build.gradle
|
||||
url = "https://download.savannah.gnu.org/releases/freetype/freetype-2.10.4.tar.gz";
|
||||
hash = "sha256-Xqt5XrsjrHcAHPtot9TVC11sdGkkewsBsslTJp9ljaw=";
|
||||
};
|
||||
glewSource = fetchurl {
|
||||
# This is pinned in Arc's backends/backend-sdl/build.gradle
|
||||
url = "https://github.com/nigels-com/glew/releases/download/glew-2.2.0/glew-2.2.0.zip";
|
||||
hash = "sha256-qQRqkTd0OVoJXtzAsKwtgcOqzKYXh7OYOblB6b4U4NQ=";
|
||||
};
|
||||
SDLmingwSource = fetchurl {
|
||||
# This is pinned in Arc's backends/backend-sdl/build.gradle
|
||||
url = "https://www.libsdl.org/release/SDL2-devel-2.0.20-mingw.tar.gz";
|
||||
hash = "sha256-OAlNgqhX1sYjUuXFzex0lIxbTSXFnL0pjW0jNWiXa9E=";
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "Mindustry";
|
||||
desktopName = "Mindustry";
|
||||
exec = "mindustry";
|
||||
icon = "mindustry";
|
||||
categories = [ "Game" ];
|
||||
};
|
||||
|
||||
in
|
||||
assert lib.assertMsg (enableClient || enableServer)
|
||||
"mindustry: at least one of 'enableClient' and 'enableServer' must be true";
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
unpackPhase = ''
|
||||
cp -r ${Mindustry} Mindustry
|
||||
cp -r ${Arc} Arc
|
||||
chmod -R u+w -- Mindustry Arc
|
||||
cp -r ${soloud} Arc/arc-core/csrc/soloud
|
||||
chmod -R u+w -- Arc/arc-core/csrc/soloud
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./0001-fix-include-path-for-SDL2-on-linux.patch
|
||||
# Fix build with gradle 8.8, remove on next Arc release
|
||||
@@ -96,69 +103,45 @@ let
|
||||
extraPrefix = "Arc/";
|
||||
stripLen = 1;
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/Anuken/Mindustry/commit/695dad201fb4c2b4252f2ee5abde32e968169ba5.patch";
|
||||
hash = "sha256-bbTjyfUl+XFG/dgD1XPddVKD/ImOP5ARAP3q0FPnt58=";
|
||||
name = "always-use-local-arc-1.patch";
|
||||
stripLen = 1; extraPrefix = "Mindustry/";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/Anuken/Mindustry/commit/f6082225e859c759c8d9c944250b6ecd490151ed.patch";
|
||||
hash = "sha256-xFHdAUTS1EiHNQqw6qfzYk2LMr/DjeHoEzQfcfOUcFs=";
|
||||
name = "always-use-local-arc-2.patch";
|
||||
stripLen = 1; extraPrefix = "Mindustry/";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/Anuken/Mindustry/commit/e4eadbbb7f35db3093a0a3d13272bdfbedfaead3.patch";
|
||||
hash = "sha256-L/XQAxh6UgKsTVTgQKDXNRIAdtVtaY4ameT/Yb/+1p8=";
|
||||
name = "always-use-local-arc-3.patch";
|
||||
stripLen = 1; extraPrefix = "Mindustry/";
|
||||
})
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
cp -r ${Mindustry} Mindustry
|
||||
cp -r ${Arc} Arc
|
||||
chmod -R u+w -- Mindustry Arc
|
||||
cp ${stb.src}/stb_image.h Arc/arc-core/csrc/
|
||||
cp -r ${soloud} Arc/arc-core/csrc/soloud
|
||||
chmod -R u+w -- Arc
|
||||
'';
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "Mindustry";
|
||||
desktopName = "Mindustry";
|
||||
exec = "mindustry";
|
||||
icon = "mindustry";
|
||||
categories = [ "Game" ];
|
||||
};
|
||||
|
||||
cleanupMindustrySrc = ''
|
||||
postPatch = ''
|
||||
# Ensure the prebuilt shared objects don't accidentally get shipped
|
||||
rm -r Arc/natives/natives-*/libs/*
|
||||
rm -r Arc/backends/backend-*/libs/*
|
||||
|
||||
cd Mindustry
|
||||
|
||||
# Remove unbuildable iOS stuff
|
||||
sed -i '/^project(":ios"){/,/^}/d' Mindustry/build.gradle
|
||||
sed -i '/robo(vm|VM)/d' Mindustry/build.gradle
|
||||
rm Mindustry/ios/build.gradle
|
||||
sed -i '/^project(":ios"){/,/^}/d' build.gradle
|
||||
sed -i '/robo(vm|VM)/d' build.gradle
|
||||
rm ios/build.gradle
|
||||
'';
|
||||
|
||||
# fake build to pre-download deps into fixed-output derivation
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit version unpackPhase patches;
|
||||
postPatch = cleanupMindustrySrc;
|
||||
|
||||
nativeBuildInputs = [ gradleWithJdk perl ];
|
||||
# Here we download dependencies for both the server and the client so
|
||||
# we only have to specify one hash for 'deps'. Deps can be garbage
|
||||
# collected after the build, so this is not really an issue.
|
||||
buildPhase = ''
|
||||
pushd Mindustry
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --no-daemon resolveDependencies
|
||||
popd
|
||||
'';
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/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
|
||||
'';
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-hbWLsWorEo+1BBURvrFMXpxvZjJBZ1p7HVlJN5e5JZc=";
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
in
|
||||
assert lib.assertMsg (enableClient || enableServer)
|
||||
"mindustry: at least one of 'enableClient' and 'enableServer' must be true";
|
||||
stdenv.mkDerivation rec {
|
||||
inherit pname version unpackPhase patches;
|
||||
|
||||
postPatch = cleanupMindustrySrc;
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
buildInputs = lib.optionals enableClient [
|
||||
SDL2
|
||||
@@ -167,33 +150,26 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
gradleWithJdk
|
||||
gradle
|
||||
makeWrapper
|
||||
jdk
|
||||
] ++ lib.optionals enableClient [
|
||||
ant
|
||||
copyDesktopItems
|
||||
curl
|
||||
wget
|
||||
];
|
||||
|
||||
desktopItems = lib.optional enableClient desktopItem;
|
||||
|
||||
buildPhase = with lib; ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradleFlags = [ "-Pbuildversion=${buildVersion}" "-Dorg.gradle.java.home=${jdk}" ];
|
||||
|
||||
# point to offline repo
|
||||
sed -ie "1ipluginManagement { repositories { maven { url '${deps}' } } }; " Mindustry/settings.gradle
|
||||
sed -ie "s#mavenLocal()#mavenLocal(); maven { url '${deps}' }#g" Mindustry/build.gradle
|
||||
sed -ie "s#mavenCentral()#mavenCentral(); maven { url '${deps}' }#g" Arc/build.gradle
|
||||
sed -ie "s#wget.*freetype.* -O #cp ${freetypeSource} #" Arc/extensions/freetype/build.gradle
|
||||
sed -ie "/curl.*glew/{;s#curl -o #cp ${glewSource} #;s# -L http.*\.zip##;}" Arc/backends/backend-sdl/build.gradle
|
||||
sed -ie "/curl.*sdlmingw/{;s#curl -o #cp ${SDLmingwSource} #;s# -L http.*\.tar.gz##;}" Arc/backends/backend-sdl/build.gradle
|
||||
|
||||
pushd Mindustry
|
||||
buildPhase = with lib; optionalString enableServer ''
|
||||
gradle server:dist
|
||||
'' + optionalString enableClient ''
|
||||
|
||||
pushd ../Arc
|
||||
gradle --offline --no-daemon jnigenBuild -Pbuildversion=${buildVersion}
|
||||
gradle --offline --no-daemon jnigenJarNativesDesktop -Pbuildversion=${buildVersion}
|
||||
gradle jnigenBuild
|
||||
gradle jnigenJarNativesDesktop
|
||||
glewlib=${lib.getLib selectedGlew}/lib/libGLEW.so
|
||||
sdllib=${lib.getLib SDL2}/lib/libSDL2.so
|
||||
patchelf backends/backend-sdl/libs/linux64/libsdl-arc*.so \
|
||||
@@ -204,9 +180,7 @@ stdenv.mkDerivation rec {
|
||||
cp extensions/freetype/libs/*/* natives/natives-freetype-desktop/libs/
|
||||
popd
|
||||
|
||||
gradle --offline --no-daemon desktop:dist -Pbuildversion=${buildVersion}
|
||||
'' + optionalString enableServer ''
|
||||
gradle --offline --no-daemon server:dist -Pbuildversion=${buildVersion}
|
||||
gradle desktop:dist
|
||||
'';
|
||||
|
||||
installPhase = with lib; let
|
||||
@@ -247,9 +221,13 @@ stdenv.mkDerivation rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
nixosTest = nixosTests.mindustry;
|
||||
};
|
||||
postGradleUpdate = ''
|
||||
# this fetches non-gradle dependencies
|
||||
cd ../Arc
|
||||
gradle preJni
|
||||
'';
|
||||
|
||||
passthru.tests.nixosTest = nixosTests.mindustry;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://mindustrygame.github.io/";
|
||||
@@ -261,9 +239,8 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ chkno fgaz thekostins ];
|
||||
platforms = if enableClient then platforms.x86_64 else platforms.linux;
|
||||
# Hash mismatch on darwin:
|
||||
# https://github.com/NixOS/nixpkgs/pull/105590#issuecomment-737120293
|
||||
broken = stdenv.isDarwin;
|
||||
platforms = platforms.all;
|
||||
# TODO alsa-lib is linux-only, figure out what dependencies are required on Darwin
|
||||
broken = enableClient && stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
|
||||
Generated
+294
@@ -0,0 +1,294 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://download.savannah.gnu.org": {
|
||||
"releases/freetype/freetype-2.10.4": {
|
||||
"tar.gz": "sha256-Xqt5XrsjrHcAHPtot9TVC11sdGkkewsBsslTJp9ljaw="
|
||||
}
|
||||
},
|
||||
"https://github.com": {
|
||||
"nigels-com/glew/releases/download/glew-2.2.0/glew-2.2.0": {
|
||||
"zip": "sha256-qQRqkTd0OVoJXtzAsKwtgcOqzKYXh7OYOblB6b4U4NQ="
|
||||
}
|
||||
},
|
||||
"https://jitpack.io/com/github": {
|
||||
"Anuken#jabel/0.9.0": {
|
||||
"jar": "sha256-uFYvq/P7dVZNH8xfSZPmm57JI+h47A7YqOaN3bsFLuo=",
|
||||
"module": "sha256-r0Hiyh4MXzQkBudNhixHcXf1QOr4GWU841ypzRa0w/g=",
|
||||
"pom": "sha256-2Zp//AsIqW7/+5ybmtConz5ykh3ZYrFBi6SzLuKTz8A="
|
||||
},
|
||||
"Anuken#rhino/73a812444ac388ac2d94013b5cadc8f70b7ea027": {
|
||||
"jar": "sha256-g2+szbtgsHvalu5F4kygVDN89kk0zvzVSw3EOcAL11I=",
|
||||
"module": "sha256-BbXoWzXoJGKhH6kA6EiluDHhfs3th9X+ojLLZuGISOg=",
|
||||
"pom": "sha256-ngLvPqdMq7ayWlDHf7qr8MGYsDh+uMK6OYcDX9y5bXk="
|
||||
},
|
||||
"Anuken#steamworks4j/0b86023401880bb5e586bc404bedbaae9b1f1c94": {
|
||||
"jar": "sha256-YbaPhCjWtlExwQ1dFNA6JrkiAfQYWxJ0VRV9rLnoYhY=",
|
||||
"pom": "sha256-ktvhk8s3T1zswrYWuXz+cWHRyK3YbkikD5Sv/gjcfz4="
|
||||
},
|
||||
"libgdx/gdx-jnigen#gdx-jnigen-gradle/dffc32eecbf77aad264991ea44f1767a58cbee9d": {
|
||||
"jar": "sha256-nuUxM4zDV48+8Z+Rsn2dhEhkH4wOcfG62lz84BUhDH0=",
|
||||
"module": "sha256-OU9DEb3A9A7OtnJ6jQkS32KImMlNn9NX7eKMX4YVh5E=",
|
||||
"pom": "sha256-0THLPDNZDZe9PbIEPl71pGwL7E6Oq2Y5LiVevltdbP8="
|
||||
},
|
||||
"libgdx/gdx-jnigen#gdx-jnigen/28dd11fa4c33a7ae9e58897912b52ba7d53d54fe": {
|
||||
"jar": "sha256-fPszziBPrTDACbBuL6OxJ2oK1iA4izBk4TMHK53b+GQ=",
|
||||
"module": "sha256-0RR9vgSqD1ISADHSO5OV7rxi+6HM9h0ZO4kEYw/Ao4Y=",
|
||||
"pom": "sha256-vnz59i+3/wY9RizYWGMOuebfrZO4HrpOYV73ShIFH2g="
|
||||
},
|
||||
"libgdx/gdx-jnigen#gdx-jnigen/dffc32eecbf77aad264991ea44f1767a58cbee9d": {
|
||||
"jar": "sha256-bd8xr4/YgvQbvdFkayXdJKpMvYwE9XlISof20vsfcSU=",
|
||||
"module": "sha256-zQ1DewRtrsdTgxXINq7pOa+UJwnDNrGsVKnX0K/AWRQ=",
|
||||
"pom": "sha256-HWFvvs+x6DyJioqkRDDVvf0GCKfxPTjhdec8JC2PZvA="
|
||||
}
|
||||
},
|
||||
"https://plugins.gradle.org/m2/org/jetbrains/kotlin": {
|
||||
"jvm#org.jetbrains.kotlin.jvm.gradle.plugin/1.6.0": {
|
||||
"pom": "sha256-FeMDwR4tRlKdxOmvd853pFyge29WJvHjkFslMyVlJAg="
|
||||
},
|
||||
"kapt#org.jetbrains.kotlin.kapt.gradle.plugin/1.6.0": {
|
||||
"pom": "sha256-EPl8xsN9xufqKiw5ptVSBLiMrZkniaiGvLSaH/RURV8="
|
||||
}
|
||||
},
|
||||
"https://raw.githubusercontent.com": {
|
||||
"nothings/stb/e140649ccf40818781b7e408f6228a486f6d254b/stb_image": {
|
||||
"h": "sha256-jlsNcX38ioNMl+8gLSDnjQg9AJWG4XMcmFgX0BVdVow="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/github/gundy#semver4j/0.16.4": {
|
||||
"pom": "sha256-MgAdskQ7M53SH1t5/ynRreci0boIDCFL3oGfD3LRYE0="
|
||||
},
|
||||
"com/github/gundy#semver4j/0.16.4/nodeps": {
|
||||
"jar": "sha256-P1nspRY3TM1P01UWJb9Q+KSxkfcAUI985IZkYKYSivA="
|
||||
},
|
||||
"com/github/javaparser#javaparser-core/3.14.14": {
|
||||
"jar": "sha256-Z4GYXisXFCvQfhp75Zt5NIXLAms3ZnN30WYQrpgUi24=",
|
||||
"pom": "sha256-70ERyN/Uh+Zp5w1Qzz2z8O3YuTLKvjXmYzuzzuuGpIo="
|
||||
},
|
||||
"com/github/javaparser#javaparser-parent/3.14.14": {
|
||||
"pom": "sha256-RwgtW3eLzkmjEnRtUWHJ48yhfYwh2eO+MTF68Io2FDc="
|
||||
},
|
||||
"com/google/code/findbugs#jsr305/3.0.2": {
|
||||
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
|
||||
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
|
||||
},
|
||||
"com/google/code/gson#gson-parent/2.8.6": {
|
||||
"pom": "sha256-NzZGOFnsGSZyleiUlAroKo9oRBMDESL+Nc58/34wp3Q="
|
||||
},
|
||||
"com/google/code/gson#gson/2.8.6": {
|
||||
"jar": "sha256-yPtIOQVNKAswM/gA0fWpfeLwKOuLoutFitKH5Tbz8l8=",
|
||||
"pom": "sha256-IXRBWmRzMtMP2gS9HPxwij7MhOr3UX9ZYYjYJE4QORE="
|
||||
},
|
||||
"com/google/errorprone#error_prone_annotations/2.3.4": {
|
||||
"jar": "sha256-uvfW6pfOYGxT4RtoVLpfLOfvXCTd3wr6GNEmC9JbACw=",
|
||||
"pom": "sha256-EyZziktPfMrPYHuGahH7hRk+9g9qWUYRh85yZfm+W+0="
|
||||
},
|
||||
"com/google/errorprone#error_prone_parent/2.3.4": {
|
||||
"pom": "sha256-QElbQ3pg0jmPD9/AVLidnDlKgjR6J0oHIcLpUKQwIYY="
|
||||
},
|
||||
"com/google/guava#failureaccess/1.0.1": {
|
||||
"jar": "sha256-oXHuTHNN0tqDfksWvp30Zhr6typBra8x64Tf2vk2yiY=",
|
||||
"pom": "sha256-6WBCznj+y6DaK+lkUilHyHtAopG1/TzWcqQ0kkEDxLk="
|
||||
},
|
||||
"com/google/guava#guava-parent/26.0-android": {
|
||||
"pom": "sha256-+GmKtGypls6InBr8jKTyXrisawNNyJjUWDdCNgAWzAQ="
|
||||
},
|
||||
"com/google/guava#guava-parent/29.0-jre": {
|
||||
"pom": "sha256-alf54C9436L0vaNBYGWmRCauG2beIoz24Zbi4ZElU78="
|
||||
},
|
||||
"com/google/guava#guava/29.0-jre": {
|
||||
"jar": "sha256-sixftm1h57lSJTHQSy+RW1FY6AqgtA7nKCyL+wew2iU=",
|
||||
"pom": "sha256-kCfpNAmJA9KH8bphyLZfAdHR4dp6b7zAS/PeBUQBRCY="
|
||||
},
|
||||
"com/google/guava#listenablefuture/9999.0-empty-to-avoid-conflict-with-guava": {
|
||||
"jar": "sha256-s3KgN9QjCqV/vv/e8w/WEj+cDC24XQrO0AyRuXTzP5k=",
|
||||
"pom": "sha256-GNSx2yYVPU5VB5zh92ux/gXNuGLvmVSojLzE/zi4Z5s="
|
||||
},
|
||||
"com/google/j2objc#j2objc-annotations/1.3": {
|
||||
"jar": "sha256-Ia8wySJnvWEiwOC00gzMtmQaN+r5VsZUDsRx1YTmSns=",
|
||||
"pom": "sha256-X6yoJLoRW+5FhzAzff2y/OpGui/XdNQwTtvzD6aj8FU="
|
||||
},
|
||||
"com/squareup#javapoet/1.12.1": {
|
||||
"jar": "sha256-g/D9S66+w78p7jrSwCSzBl3e+CWlqin33PXBifn6KWI=",
|
||||
"pom": "sha256-pxrD2PJ8ua0yyHtdiVnyLWca60YMejVdCfV35MV+TF8="
|
||||
},
|
||||
"de/undercouch#gradle-download-task/4.1.1": {
|
||||
"jar": "sha256-6wi1cOQI1GRnBecKlJYU1DnqKxFFXxZSqwMw3olU2rk=",
|
||||
"pom": "sha256-heZgcmDbvbXoXxmIhAsNmsS+kRnd6QobrKjqd1ZGQVo="
|
||||
},
|
||||
"net/java/dev/jna#jna/5.6.0": {
|
||||
"jar": "sha256-VVfiNaiqL5dm1dxgnWeUjyqIMsLXls6p7x1svgs7fq8=",
|
||||
"pom": "sha256-X+gbAlWXjyRhbTexBgi3lJil8wc+HZsgONhzaoMfJgg="
|
||||
},
|
||||
"org/apiguardian#apiguardian-api/1.1.0": {
|
||||
"jar": "sha256-qarp/4rj4XoqGPeRdegrFiZ8JG+708qd+7spCwjc/dQ=",
|
||||
"pom": "sha256-qUW5y1zZt3sscRhE5lnEPsBw71nZ9Qn6n0wYYbSGJxE="
|
||||
},
|
||||
"org/checkerframework#checker-qual/2.11.1": {
|
||||
"jar": "sha256-AVIkpLHcbebaBTJz1Np9Oc/qIOYwOBafxFrA0dycWTg=",
|
||||
"pom": "sha256-zy4MkNj3V0VfSiWOpglzkFNmO9XaannZvVP5NaR955w="
|
||||
},
|
||||
"org/jetbrains#annotations/13.0": {
|
||||
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
|
||||
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
|
||||
},
|
||||
"org/jetbrains/intellij/deps#trove4j/1.0.20181211": {
|
||||
"jar": "sha256-r/t8haPIe9z2n/HbuE3hH2PckxKTk0vAjNerGN4INgE=",
|
||||
"pom": "sha256-MQpqotkFNMMrj0bx/JjNDtrpXc38oj4oR+Xvqa4MAZo="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-android-extensions/1.6.0": {
|
||||
"jar": "sha256-TPrz8BIFF78dbY07r8+uHomMZ9P3yLdocIG/uBk8ftQ=",
|
||||
"pom": "sha256-hlMj+0VThiKBTO4p4gN1AamL/eUwVzg2+gCBPvSVcR4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-annotation-processing-gradle/1.6.0": {
|
||||
"jar": "sha256-hnP///sAqxYDPZD2x/7BC10xDKQPvkNRmrQRi/yEF5w=",
|
||||
"pom": "sha256-G0C/0FxYRRS55Z1YnjPCZb456Z6gRvhHxe411uUFjiM="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-build-common/1.6.0": {
|
||||
"jar": "sha256-4kp7cGukVhi07kOWa2JQETbQBgsDL46fGNGD2gWxv0M=",
|
||||
"pom": "sha256-93xRil6Ux4dnVflhEApdtQuSQFTH8GQqSIMeJagk8pE="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-embeddable/1.6.0": {
|
||||
"jar": "sha256-A2aEPNLe/dWDxrFrELwyuF8oxb+VEPEORMiG9b0kw4g=",
|
||||
"pom": "sha256-KlWcBwvS5YxY2x5/z2T7t92+hHciXec9Zu4AAQiocCQ="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-compiler-runner/1.6.0": {
|
||||
"jar": "sha256-avdSCvhKRCxqvxvXKFunG6xzZWYLLQj9BMhOw1NjPUk=",
|
||||
"pom": "sha256-Oc+l/Aqzv3VwSfj9Dx6bNbYrebnTJdLPlwLVqaDY/jc="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-client/1.6.0": {
|
||||
"jar": "sha256-bBsv3jMVh50Ml35fJRU5fngpvQrfiSHkxf262DLrwqE=",
|
||||
"pom": "sha256-gatFLaX29bavP6ggpywNKNCfVUTU7EXafxFDG6Xtkhg="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-daemon-embeddable/1.6.0": {
|
||||
"jar": "sha256-INCHBqoXdi/lqwOpFtYsm37iEdIIRKiqvg24PZ2QKEo=",
|
||||
"pom": "sha256-dTHQzBNuWUgjMpvMExxPHv4XP8OVr4Lus4/SZhbckfY="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/1.6.0": {
|
||||
"jar": "sha256-yGksM4gmxIQlv8h/q2nLef4tT1+B/wWMkpQYvw2pfRU=",
|
||||
"pom": "sha256-HP5CdZvSCiU6S36NvQ5yll5nReE1Duzd6lOZsjy40Wg="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin-model/1.6.0": {
|
||||
"jar": "sha256-ne9NHPDZV3pRGiqk9/MQ7MwkJDsFwCpxelExxMj5ll4=",
|
||||
"pom": "sha256-aZyyu6C03O/rmbelzYHM8MLOPWi8AVgZCAli7mflbUs="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-gradle-plugin/1.6.0": {
|
||||
"jar": "sha256-twN61m6wybWbrcqiONHFQmcVt5eqdwk0cwe3XBrawWo=",
|
||||
"pom": "sha256-G6PfHEnY5ZBuWyGdFyCRd7nnb4M9xPFuwbjPjRA/qN4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-klib-commonizer-api/1.6.0": {
|
||||
"jar": "sha256-/GqznpDYIibZuLzOAYdhZOW6/RrAogPz8DB4yxtIMB8=",
|
||||
"pom": "sha256-elUGa/rRTIyZqq8GCHV+uKfl7LzODzC9J+56qWtWoAk="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-klib-commonizer-embeddable/1.6.0": {
|
||||
"jar": "sha256-x8gRYmPShf5TjnwZaEHiNaqPe52fasNhP4jeU7Jh2MM=",
|
||||
"pom": "sha256-htOIK0/IKs3DheQpnn76HaZQvzUG/lqg+F5FzNwmmss="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-native-utils/1.6.0": {
|
||||
"jar": "sha256-oLD9fer0/hCwZxNVJYvGN1nj0kpxFc7/h7x0G/p86ew=",
|
||||
"pom": "sha256-a9fh1Kc7At/mYvqDdkrikRPrWqItrdGKVn8cfpdCQhs="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-project-model/1.6.0": {
|
||||
"jar": "sha256-OBNdP5lfxQXWBK7S6CrFuoWLKmo+R2iZw7i+R/0iK2g=",
|
||||
"pom": "sha256-sMn75G5kDHVwJEMc9+p5PdmN2nbRFe9K5OXz1B9nH9Q="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-reflect/1.6.0": {
|
||||
"jar": "sha256-xhYYhCCSIdt/XdsDG7SAo8RruQ1bZdfMAWexSaqpxJQ=",
|
||||
"pom": "sha256-hcz47mWEylEpbV8yn+zAIerbRbxqLDu9qMrmAvWO4lQ="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-script-runtime/1.6.0": {
|
||||
"jar": "sha256-3coPdlxBbnek2IFvPS327alT9hr4EXN4RqIgMyJaDlc=",
|
||||
"pom": "sha256-GsP9ZI4oCa3h+13heKISaNPXurUYNV7dTEmAXMsx1c4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-common/1.6.0": {
|
||||
"jar": "sha256-FmmbBwr8RCIwDJ7WboHpi2X3xpH6qFK41EGV5QndbSI=",
|
||||
"pom": "sha256-9l4xIUhL0lNnX9BqxOiCkuDk8zV7kBKjRYKlc02OOVA="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/1.6.0": {
|
||||
"jar": "sha256-LNHG9q9pwWt5NNfY1nwYM0m0NPRQSC1yKalgcTb6BEc=",
|
||||
"pom": "sha256-4jtqC3HdlDRIRzwooThIk8LMx6tK9hMwCVuFEmBYMvo="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/1.6.0": {
|
||||
"jar": "sha256-5L1IkGdG5M0Z4BZEVZncomg6mU2gasOMrTg6rEgzjag=",
|
||||
"pom": "sha256-ZX90rM8Q8WYXJBIvDgLIBkMFyuLSgAxZQmqIQG80cPE="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-scripting-jvm/1.6.0": {
|
||||
"jar": "sha256-X2p+onTLbGxDcglKNXLfKjkqpTifFVO4JIc9YtYANlI=",
|
||||
"pom": "sha256-nzZY4pTKV2EytPaUIOpJsp3twftsDl0HqygOq75tCzY="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-common/1.6.0": {
|
||||
"jar": "sha256-ZEpyV8I7UaH9UGiWDkCSLj5SwhnxHs4+BAo6vHSCPyI=",
|
||||
"pom": "sha256-iZ6XwgKLX3or2vZ1H6KgG2h+PuKngXZ8iiJ8v/tsAYQ="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/1.6.0": {
|
||||
"jar": "sha256-EV2uowsNSEr88jYCN7nZU39IpKLwPzzCoWV338bpA0I=",
|
||||
"pom": "sha256-cSpt3XF8zVsNUOdMM16TqbGRBSzXu4KWBSAJu4XJRBI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-tooling-metadata/1.6.0": {
|
||||
"jar": "sha256-X3m1R/gM66SC1vcYRLI0ReEJ9oXrdEgQRGeM11worXc=",
|
||||
"pom": "sha256-yYlWnKkvPwTPHmuhScQ8SVao2dyXk5vkmPHfUvQMwsU="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-util-io/1.6.0": {
|
||||
"jar": "sha256-rbeHTvdxKKs7CVP/SeyAEjnIN/5xMcMUfO+duLvfVzk=",
|
||||
"pom": "sha256-PGMhnFxVPRyfo2HTbtzZsDXL6QzpS86hqhR4F3IvY5w="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-util-klib/1.6.0": {
|
||||
"jar": "sha256-qWMcC3gjxpuNM1AqKGPnV0MI2fnBLj8o9LW79sKkH3Q=",
|
||||
"pom": "sha256-YJjHylRvWZ35UdQOKaAdqT9NepB1l5Uy7hSSmzjE42g="
|
||||
},
|
||||
"org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.5.0": {
|
||||
"jar": "sha256-eNbMcTX4TWkv83Uvz9H6G74JQNffcGUuTx6u7Ax4r7s=",
|
||||
"module": "sha256-yIXdAoEHbFhDgm3jF+PLzcPYhZ2+71OuHPrNG5xg+W4=",
|
||||
"pom": "sha256-U2IuA3eN+EQPwBIgGjW7S9/kAWTv7GErvvze7LL/wqs="
|
||||
},
|
||||
"org/junit#junit-bom/5.7.1": {
|
||||
"module": "sha256-mFTjiU1kskhSB+AEa8oHs9QtFp54L0+oyc4imnj67gQ=",
|
||||
"pom": "sha256-C5sUo9YhBvr+jGinF7h7h60YaFiZRRt1PAT6QbaFd4Q="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-api/5.7.1": {
|
||||
"jar": "sha256-znuYW8Rp4mJXWaTrxFUzxwWBoFo0gnjB1kCOmy414xQ=",
|
||||
"module": "sha256-AiFvaghBm7NdVHeGPZ0hpoxXWRqol7qYGmHFVFZWzX4=",
|
||||
"pom": "sha256-1Vvisj13FDKXB3IEMgey5mpnJK4CvVGStyFuS3AbxiM="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-engine/5.7.1": {
|
||||
"jar": "sha256-VmFsk1CzYk92z/72skznuyIpFb/VaI+W089M7zTwd8s=",
|
||||
"module": "sha256-2A5S75X2XNxQT8Mb4KArJYnJ78JzpCVcs2NyPOVMr/8=",
|
||||
"pom": "sha256-gRF+OjoCDf3W8wkcXseU0stJhAcxrPQogxxWmQEvTLs="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-params/5.7.1": {
|
||||
"jar": "sha256-jv/df4pLpVWLVoGE3uCACLJEPIbGc++B3lhh+8fvBhM=",
|
||||
"module": "sha256-TUOYtYCpnIVNnxF6bk44o9GOZSJ2obzmeaDDx5nGFL0=",
|
||||
"pom": "sha256-UIPD5bw9OhjVY6M0fVPi3f35ONdh60TbsL9PQgX+6Sw="
|
||||
},
|
||||
"org/junit/platform#junit-platform-commons/1.7.1": {
|
||||
"jar": "sha256-fFRr6GhkcY+6zrefqE/x06UWUA/EKPGyHQYcLg+8Wks=",
|
||||
"module": "sha256-5abLDsz80tAuaGvyt2OnBCTQiB2/+uvjp/kxShhT+TE=",
|
||||
"pom": "sha256-t8GENMTUsn5yO9SKr5ercK7IwMra1MFTkvvdFEykpQo="
|
||||
},
|
||||
"org/junit/platform#junit-platform-engine/1.7.1": {
|
||||
"jar": "sha256-N99anNbbwfdUuitG+WuIdKg2YOF5a/OMc48CLc+Gwj8=",
|
||||
"module": "sha256-S2knc2Ouooq1DFpnYZ++q/jAgk5JOOYmC6wEjlvrga8=",
|
||||
"pom": "sha256-dmAvWZVKo9+mjjHIDKibb7ouoAG0+wbLUfoV6tfIWjA="
|
||||
},
|
||||
"org/lz4#lz4-java/1.8.0": {
|
||||
"jar": "sha256-10ozNPs1GVAJszipUfkYID1rvKPR01kDPcM+3Rytye8=",
|
||||
"pom": "sha256-DbittR4TJFSlxAbeuy8aDfgfk91Z++IMuUcQKZRokDQ="
|
||||
},
|
||||
"org/opentest4j#opentest4j/1.2.0": {
|
||||
"jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=",
|
||||
"pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
},
|
||||
"https://www.libsdl.org": {
|
||||
"release/SDL2-devel-2.0.20-mingw": {
|
||||
"tar.gz": "sha256-OAlNgqhX1sYjUuXFzex0lIxbTSXFnL0pjW0jNWiXa9E="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ callPackage ./generic.nix rec {
|
||||
hash = "sha256-1msmjKDEd/pFMqLB4vJgR6GPC9z4CnNew2hlemLw2d0=";
|
||||
};
|
||||
|
||||
depsHash = "sha256-vihoR0bPh7590sRxeYJ1uuynNRxtRBuiFUrdmsRNUJc=";
|
||||
depsPath = ./deps.json;
|
||||
|
||||
passthru.tests = {
|
||||
shattered-pixel-dungeon-starts = nixosTests.shattered-pixel-dungeon;
|
||||
|
||||
+252
@@ -0,0 +1,252 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://oss.sonatype.org/content/repositories/snapshots/com/badlogicgames": {
|
||||
"gdx-controllers#gdx-controllers-core/2.2.4-20231021.200112-6/SNAPSHOT": {
|
||||
"jar": "sha256-Gdz2J1IvDJFktUD2XeGNS0SIrOyym19X/+dCbbbe3/U=",
|
||||
"pom": "sha256-90QW/Mtz1jbDUhKjdJ88ekhulZR2a7eCaEJoswmeny4="
|
||||
},
|
||||
"gdx-controllers#gdx-controllers-desktop/2.2.4-20231021.200114-6/SNAPSHOT": {
|
||||
"jar": "sha256-4mhLijZwQHk2pP5qXIIzrsO9CwNC3CDti/5szclkVa8=",
|
||||
"pom": "sha256-10+zD8flpKIPzji5NFgtYcwE5O74hSzzvvqBh84wLf4="
|
||||
},
|
||||
"gdx-controllers/gdx-controllers-core/2.2.4-SNAPSHOT/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "com.badlogicgames.gdx-controllers",
|
||||
"lastUpdated": "20231021200112"
|
||||
}
|
||||
},
|
||||
"gdx-controllers/gdx-controllers-desktop/2.2.4-SNAPSHOT/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "com.badlogicgames.gdx-controllers",
|
||||
"lastUpdated": "20231021200114"
|
||||
}
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/badlogicgames/gdx#gdx-backend-lwjgl3/1.12.1": {
|
||||
"jar": "sha256-B3OwjHfBoHcJPFlyy4u2WJuRe4ZF/+tKh7gKsDg41o0=",
|
||||
"module": "sha256-9O7d2ip5+E6OiwN47WWxC8XqSX/mT+b0iDioCRTTyqc=",
|
||||
"pom": "sha256-IRSihaCUPC2d0QzB0MVDoOWM1DXjcisTYtnaaxR9SRo="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype-platform/1.12.1": {
|
||||
"pom": "sha256-cAGFUunqi4o21kDX8V86OT6aMmXjJUqyMHLHhUWLBm4="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype-platform/1.12.1/natives-desktop": {
|
||||
"jar": "sha256-1g5ZN21QWpk+yLogowR3rwaQKx4pJ/8uN17/2/Ql2UE="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype/1.12.1": {
|
||||
"jar": "sha256-rbjskAa7YdrW0pdslaHeGN5eGmUULRilgH0OUkyL8WU=",
|
||||
"module": "sha256-HG9UGDxQFjSvGqLrKEkE7YnVvqtURs7FyqWwunHdXKE=",
|
||||
"pom": "sha256-pLaMZBcEufzo+xszIlcUPJSYJJQg1uY6rm7tb6fHyT8="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-jnigen-loader/2.3.1": {
|
||||
"jar": "sha256-ZJDdoiWmHHYCwnu+xOSBE3/1lfjOCy3bpBTww0Bq7mA=",
|
||||
"module": "sha256-nNWFK9nlHTbRJxrypGzZfOwk5XEHblQTbsmtNxhGua8=",
|
||||
"pom": "sha256-7e2XZPzSpbw8peeAUEHppiAZ+ovkNLWZ8D1JR+KkQng="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-platform/1.12.1": {
|
||||
"pom": "sha256-bZhlcVVYfr/+qIAG20v12CgcyUetGduKZP28TnOzkZc="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-platform/1.12.1/natives-desktop": {
|
||||
"jar": "sha256-P+utqUwiNjYQkXufuMJLD55h4+bGnHO9DTUDhYTA4e0="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx/1.12.1": {
|
||||
"jar": "sha256-jTIJ6UghH96c2swrAfrO0yPlSKpS73jlx2CEWoh0aXA=",
|
||||
"module": "sha256-7Th6fCSDcEBGAyOsXYZIZwKAPw88K1h448x4If03n6o=",
|
||||
"pom": "sha256-Qg9vfLMYtQsglKsHYme67w6bBlI0yHqWCqkvtCEYpZY="
|
||||
},
|
||||
"com/badlogicgames/jamepad#jamepad/2.26.5.0": {
|
||||
"jar": "sha256-sO+RC6Uxyt/gQYSWow2Hy6xGAhsGJUf1tZR+A1Q1cRo=",
|
||||
"module": "sha256-KGmFPVwJdU2vuY9u6veZLc2Q6K3uFxL/bgjmUgBKflA=",
|
||||
"pom": "sha256-Up7mQ8lbw+6SfuSnRqwFaOQSnbb5dscD82IjN9/6Inc="
|
||||
},
|
||||
"com/badlogicgames/jlayer#jlayer/1.0.1-gdx": {
|
||||
"jar": "sha256-qrze3C4/pBxOE4hwUj10MzfxiZMQgGMLoaIoVTjNAPs=",
|
||||
"pom": "sha256-nGCRe2JnOIvFeWpSDswPF8ed2hVGUM0FQdTEE4ghv0k="
|
||||
},
|
||||
"org/jcraft#jorbis/0.0.17": {
|
||||
"jar": "sha256-4GfymjcBQmtn7ZcwNpScbljKW7U+73JAsuceKG0lKp4=",
|
||||
"pom": "sha256-GN47DZMq+Zgy202DL2g1B/vdWgsMJN1oDoTOb1cYLiQ="
|
||||
},
|
||||
"org/json#json/20170516": {
|
||||
"jar": "sha256-gT835IIPGFTopOtPgN+UvxsfLsbDtyaS8jq5pVYlavY=",
|
||||
"pom": "sha256-ZMFVQ6PV2yeaIK6w36A0oqecIVn4zUAd6kj/DyNMGN0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3": {
|
||||
"jar": "sha256-vtx1f9KxslUUbbJrdLnL0fz1ZEuJtHsQT6chx0FgQlk=",
|
||||
"pom": "sha256-fJuPWGrEz36esvNnrphUzK7i2Nf2LiOHxJ0sGvrtirM="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-linux": {
|
||||
"jar": "sha256-uDBgYrF3QfNCaQiHUUIfGsIaWXv7vQxsYSJjAc3nRLg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-3Z1NZxT8k1nUfdoNR8HYyLvkmQG393wj/Kepyb/CmFg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-zGE5yD95nQ4UhOpMIByM5tV8jHokSlIXEWqAax60F5s="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-macos": {
|
||||
"jar": "sha256-qJtVNirsnlo7vRNkYBu4WxR9trrmiJHKmiMtbPstVew="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-uUUdZ7wXyQb7goKlUi8liwIvMFaeC2LaAB1ZChe0Xhk="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-windows": {
|
||||
"jar": "sha256-mBVbRR38b1hQid7HehL5wFeJxNzrjaRy+dMIFgEBpw0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-lkZVXUBfDSo6lXa1BvV8FjKvZPaaiuWMsESK4EqceCQ="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3": {
|
||||
"jar": "sha256-6Z4xJp5meKS/xi7yTFCkgcAcvdAEhh7Omlm6EnaMZRY=",
|
||||
"pom": "sha256-IJuMfX+cGXLVyNX5zhmjUW/5BxRD0N+Khm2hNDvS46k="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-linux": {
|
||||
"jar": "sha256-TkoT1wFdQmBbvPfvn66tRt6sZAnkN3qO1K6oFfFGNLM="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-5IM/wmIeLnMCBXPmKZcJIPHNHfmE/hyc7bszSNzDeG8="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-44PVJBwNR/QBKnU+C//+Ra/DDQBiGbm9iQN1ahA3ibU="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-macos": {
|
||||
"jar": "sha256-ICTapcaqQHhmQUi3OQ+4sjHyNw6g4X1AeJTbp+nlZOw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-Y5Vuokb/ZKqpzg4dbjzK1obPv5N9H81suNX0T2OCFgw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-windows": {
|
||||
"jar": "sha256-mUnI5JmYvQyHjYQohAEfE4PihRAFCR4LK897dnG4SOs="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-2bTgbiqEIFWD+wVEDSI4OFqRywGgYN2x03YiOuIl8Uo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3": {
|
||||
"jar": "sha256-rg6Cdnys8Ikh9Xj7qdhHU93rAM6toFEKK0qIK+KPv5U=",
|
||||
"pom": "sha256-f6aiEbvk5FuCmHU31kN6e1KUM07TrBbLhElV70PV5w8="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-linux": {
|
||||
"jar": "sha256-kDD+2SinHqwv30zhZDzE7HJNhxDjtDe9znUL3J6YKyo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-xyXRfh5GJsf0O29NCKRnSW4JECXnHxn0+x8xN8Tabmc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-q/OSSHs1h9qJtlUlAAjfSjYKL9Xh7gCr1h9/UpFSBaE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-macos": {
|
||||
"jar": "sha256-gmSuMqyfQTxPRQGGPF9udXam/avcXQUtMoG7rMM3fx0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-OZJGOhao3xn2MRewiD6tDtko3U3wF/VbXk4St6JwSJo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-windows": {
|
||||
"jar": "sha256-49p8PbJcgduNQl7x49v6FQALBA1mnwCLCBPJQzOslsg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-hSyk42sf390++2zkLwi30PlXsExLz714BXsMeZ85kjE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3": {
|
||||
"jar": "sha256-UGLadQ5ffsieJ+i2e31A+oxLFokBWeNfgoEWzmyOyh4=",
|
||||
"pom": "sha256-RDkltWQq0xjUnfrpe66c3QnkkCWzAqlLAQf8iIm+bN0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-linux": {
|
||||
"jar": "sha256-2COpLGooELURLaME3MarzUyxAnBvdPfpNKIjzqIFElA="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-BbGiXD+3Ipdao78siIQ3I9puEFmhktVo3e/AGkV/qkc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-Cyt1Mn1HRRY0EjNI1VUDrgPlFVGwyIea6QyOS04aT5w="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-macos": {
|
||||
"jar": "sha256-TBBz0OWumZZtDvHWp3lXWEdtJH2TD9xewYZeOMuEfM4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-8bPx3oP5c6uuOkvDLbWyKa5dVcyA27xffIQYEv4gtf4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-windows": {
|
||||
"jar": "sha256-9F5fYFlrA7Lj2LmKEjyFXr0LUVTIFV3CpWuJDMyQdHc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-nZnSA95OMShsrnU6HfuYE2fJNzTxlEZEunG+Uhs68sw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3": {
|
||||
"jar": "sha256-DP96pG6p1w/MIIVwFSk+qA+/Ia3Kw0YAyE2puBpEypM=",
|
||||
"pom": "sha256-jR2kP3mIdcV5yokH95rk/D6tFVQl6pVVxvqqsT1Q5J0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-linux": {
|
||||
"jar": "sha256-xEiQaN3G3ESxAwcZQ/gBotB2Y01LdNtHCSf4SjCCGeE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-/WYDpBauUJJiAxV7ajQOiPX60GyAjvQcsDUBcTn+Lzw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-F/DPG45SLuprS5fBkHCznlT1+H7YT7iVhXR+QPkF4ds="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-macos": {
|
||||
"jar": "sha256-MpN6NS20usPpKqG72uKYipWOS5B6tbVXdky6gtsgupc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-sfZYdf2d3SgJe+YHYCniuPq168FibiHO92FhHfynFcI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-windows": {
|
||||
"jar": "sha256-0Sq4Zv4RaekkrFtNa7d2eueEKp/IZSeYaCwAabtz/PI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-RkJORUWXM7JsSnsN0mlSCctpONr6OpASxqVoLJSixA4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3": {
|
||||
"jar": "sha256-7gUVBU7hmj9AiEJv7p2HnrLuZXsH5QZOTiyFH2rc8Us=",
|
||||
"pom": "sha256-LBvRGfQeZaVEYT+R5xYOAGuBkW5zpu919UkkLMTzvvI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-linux": {
|
||||
"jar": "sha256-oHb6BaTRdHYuq1hS7nLCnRSrEKVlTyf7AGZO8bUsDAU="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-gNNOdtFcBJUXRBSIMpCDkdqLFPaKAwtksLQHAqNzkdc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-macos": {
|
||||
"jar": "sha256-RGXdRv35MJwM5kw1KaDaZ5L7ZxHDKB6MXbqTXmqb/Dw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-b32XlBRlHjQ9yLiz+q3g4tnk/fmdVl1WI+EtQNuuSiI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-windows": {
|
||||
"jar": "sha256-AihZEfHIgXNfpNDrFB/+qv2aK7k0nZj3wfuKnLScD1g="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3": {
|
||||
"jar": "sha256-3Jx7LUjoOW1oiV+JAv+gHkYlPeRN/pJ1M/8JRX6/7sQ=",
|
||||
"pom": "sha256-gx1Gb8AWKUUrRhNzEeFYI8CWx9b66VKYxke5+/XWgfQ="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-linux": {
|
||||
"jar": "sha256-5mNzjFGaBvbWWYgvqOTgmvfxDpIZKe5cxUp1h/Yu1Mk="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-cNP3SNRawTWDKplV6lGcpv7Tqn0dR+tnR8uHk2hGyUE="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-OXp5pdiQcobUAY0CbLw3NYxTu7aqvDoVNPGf8jt/hVg="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-macos": {
|
||||
"jar": "sha256-ApTuTi3X72vvr/r8C7maKom3YHC1zYMC89dWJLZ4bQM="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-UKycoJ5Z8FHcrPTcCyFF6ekW5qsUYzt1aUIxv+WTFKg="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-windows": {
|
||||
"jar": "sha256-XuY6GRh+/lu4dH/ST3sTJX2zSN9a1kEROjaV5D8hOVk="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-IqIjOCYlVOteEzyEQd7u2shNoILrO6yE0DLaT682l0k="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-8
@@ -2,7 +2,7 @@
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
callPackage ./generic.nix rec {
|
||||
callPackage ../generic.nix rec {
|
||||
pname = "experienced-pixel-dungeon";
|
||||
version = "2.18";
|
||||
|
||||
@@ -13,13 +13,6 @@ callPackage ./generic.nix rec {
|
||||
hash = "sha256-jOKHBd9LaDn3oqLdQWqAcJnicktlbkDGw00nT8JveoI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace build.gradle \
|
||||
--replace-fail "gdxControllersVersion = '2.2.4-SNAPSHOT'" "gdxControllersVersion = '2.2.3'"
|
||||
'';
|
||||
|
||||
depsHash = "sha256-PyBEhlOOVD3/YH4SWs1yMkdg3U96znk1/VV6SAr8S30=";
|
||||
|
||||
desktopName = "Experienced Pixel Dungeon";
|
||||
|
||||
meta = {
|
||||
@@ -0,0 +1,252 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://oss.sonatype.org/content/repositories/snapshots/com/badlogicgames": {
|
||||
"gdx-controllers#gdx-controllers-core/2.2.4-20231021.200112-6/SNAPSHOT": {
|
||||
"jar": "sha256-Gdz2J1IvDJFktUD2XeGNS0SIrOyym19X/+dCbbbe3/U=",
|
||||
"pom": "sha256-90QW/Mtz1jbDUhKjdJ88ekhulZR2a7eCaEJoswmeny4="
|
||||
},
|
||||
"gdx-controllers#gdx-controllers-desktop/2.2.4-20231021.200114-6/SNAPSHOT": {
|
||||
"jar": "sha256-4mhLijZwQHk2pP5qXIIzrsO9CwNC3CDti/5szclkVa8=",
|
||||
"pom": "sha256-10+zD8flpKIPzji5NFgtYcwE5O74hSzzvvqBh84wLf4="
|
||||
},
|
||||
"gdx-controllers/gdx-controllers-core/2.2.4-SNAPSHOT/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "com.badlogicgames.gdx-controllers",
|
||||
"lastUpdated": "20231021200112"
|
||||
}
|
||||
},
|
||||
"gdx-controllers/gdx-controllers-desktop/2.2.4-SNAPSHOT/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "com.badlogicgames.gdx-controllers",
|
||||
"lastUpdated": "20231021200114"
|
||||
}
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/badlogicgames/gdx#gdx-backend-lwjgl3/1.12.1": {
|
||||
"jar": "sha256-B3OwjHfBoHcJPFlyy4u2WJuRe4ZF/+tKh7gKsDg41o0=",
|
||||
"module": "sha256-9O7d2ip5+E6OiwN47WWxC8XqSX/mT+b0iDioCRTTyqc=",
|
||||
"pom": "sha256-IRSihaCUPC2d0QzB0MVDoOWM1DXjcisTYtnaaxR9SRo="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype-platform/1.12.1": {
|
||||
"pom": "sha256-cAGFUunqi4o21kDX8V86OT6aMmXjJUqyMHLHhUWLBm4="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype-platform/1.12.1/natives-desktop": {
|
||||
"jar": "sha256-1g5ZN21QWpk+yLogowR3rwaQKx4pJ/8uN17/2/Ql2UE="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype/1.12.1": {
|
||||
"jar": "sha256-rbjskAa7YdrW0pdslaHeGN5eGmUULRilgH0OUkyL8WU=",
|
||||
"module": "sha256-HG9UGDxQFjSvGqLrKEkE7YnVvqtURs7FyqWwunHdXKE=",
|
||||
"pom": "sha256-pLaMZBcEufzo+xszIlcUPJSYJJQg1uY6rm7tb6fHyT8="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-jnigen-loader/2.3.1": {
|
||||
"jar": "sha256-ZJDdoiWmHHYCwnu+xOSBE3/1lfjOCy3bpBTww0Bq7mA=",
|
||||
"module": "sha256-nNWFK9nlHTbRJxrypGzZfOwk5XEHblQTbsmtNxhGua8=",
|
||||
"pom": "sha256-7e2XZPzSpbw8peeAUEHppiAZ+ovkNLWZ8D1JR+KkQng="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-platform/1.12.1": {
|
||||
"pom": "sha256-bZhlcVVYfr/+qIAG20v12CgcyUetGduKZP28TnOzkZc="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-platform/1.12.1/natives-desktop": {
|
||||
"jar": "sha256-P+utqUwiNjYQkXufuMJLD55h4+bGnHO9DTUDhYTA4e0="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx/1.12.1": {
|
||||
"jar": "sha256-jTIJ6UghH96c2swrAfrO0yPlSKpS73jlx2CEWoh0aXA=",
|
||||
"module": "sha256-7Th6fCSDcEBGAyOsXYZIZwKAPw88K1h448x4If03n6o=",
|
||||
"pom": "sha256-Qg9vfLMYtQsglKsHYme67w6bBlI0yHqWCqkvtCEYpZY="
|
||||
},
|
||||
"com/badlogicgames/jamepad#jamepad/2.26.5.0": {
|
||||
"jar": "sha256-sO+RC6Uxyt/gQYSWow2Hy6xGAhsGJUf1tZR+A1Q1cRo=",
|
||||
"module": "sha256-KGmFPVwJdU2vuY9u6veZLc2Q6K3uFxL/bgjmUgBKflA=",
|
||||
"pom": "sha256-Up7mQ8lbw+6SfuSnRqwFaOQSnbb5dscD82IjN9/6Inc="
|
||||
},
|
||||
"com/badlogicgames/jlayer#jlayer/1.0.1-gdx": {
|
||||
"jar": "sha256-qrze3C4/pBxOE4hwUj10MzfxiZMQgGMLoaIoVTjNAPs=",
|
||||
"pom": "sha256-nGCRe2JnOIvFeWpSDswPF8ed2hVGUM0FQdTEE4ghv0k="
|
||||
},
|
||||
"org/jcraft#jorbis/0.0.17": {
|
||||
"jar": "sha256-4GfymjcBQmtn7ZcwNpScbljKW7U+73JAsuceKG0lKp4=",
|
||||
"pom": "sha256-GN47DZMq+Zgy202DL2g1B/vdWgsMJN1oDoTOb1cYLiQ="
|
||||
},
|
||||
"org/json#json/20170516": {
|
||||
"jar": "sha256-gT835IIPGFTopOtPgN+UvxsfLsbDtyaS8jq5pVYlavY=",
|
||||
"pom": "sha256-ZMFVQ6PV2yeaIK6w36A0oqecIVn4zUAd6kj/DyNMGN0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3": {
|
||||
"jar": "sha256-vtx1f9KxslUUbbJrdLnL0fz1ZEuJtHsQT6chx0FgQlk=",
|
||||
"pom": "sha256-fJuPWGrEz36esvNnrphUzK7i2Nf2LiOHxJ0sGvrtirM="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-linux": {
|
||||
"jar": "sha256-uDBgYrF3QfNCaQiHUUIfGsIaWXv7vQxsYSJjAc3nRLg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-3Z1NZxT8k1nUfdoNR8HYyLvkmQG393wj/Kepyb/CmFg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-zGE5yD95nQ4UhOpMIByM5tV8jHokSlIXEWqAax60F5s="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-macos": {
|
||||
"jar": "sha256-qJtVNirsnlo7vRNkYBu4WxR9trrmiJHKmiMtbPstVew="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-uUUdZ7wXyQb7goKlUi8liwIvMFaeC2LaAB1ZChe0Xhk="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-windows": {
|
||||
"jar": "sha256-mBVbRR38b1hQid7HehL5wFeJxNzrjaRy+dMIFgEBpw0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-lkZVXUBfDSo6lXa1BvV8FjKvZPaaiuWMsESK4EqceCQ="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3": {
|
||||
"jar": "sha256-6Z4xJp5meKS/xi7yTFCkgcAcvdAEhh7Omlm6EnaMZRY=",
|
||||
"pom": "sha256-IJuMfX+cGXLVyNX5zhmjUW/5BxRD0N+Khm2hNDvS46k="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-linux": {
|
||||
"jar": "sha256-TkoT1wFdQmBbvPfvn66tRt6sZAnkN3qO1K6oFfFGNLM="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-5IM/wmIeLnMCBXPmKZcJIPHNHfmE/hyc7bszSNzDeG8="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-44PVJBwNR/QBKnU+C//+Ra/DDQBiGbm9iQN1ahA3ibU="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-macos": {
|
||||
"jar": "sha256-ICTapcaqQHhmQUi3OQ+4sjHyNw6g4X1AeJTbp+nlZOw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-Y5Vuokb/ZKqpzg4dbjzK1obPv5N9H81suNX0T2OCFgw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-windows": {
|
||||
"jar": "sha256-mUnI5JmYvQyHjYQohAEfE4PihRAFCR4LK897dnG4SOs="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-2bTgbiqEIFWD+wVEDSI4OFqRywGgYN2x03YiOuIl8Uo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3": {
|
||||
"jar": "sha256-rg6Cdnys8Ikh9Xj7qdhHU93rAM6toFEKK0qIK+KPv5U=",
|
||||
"pom": "sha256-f6aiEbvk5FuCmHU31kN6e1KUM07TrBbLhElV70PV5w8="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-linux": {
|
||||
"jar": "sha256-kDD+2SinHqwv30zhZDzE7HJNhxDjtDe9znUL3J6YKyo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-xyXRfh5GJsf0O29NCKRnSW4JECXnHxn0+x8xN8Tabmc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-q/OSSHs1h9qJtlUlAAjfSjYKL9Xh7gCr1h9/UpFSBaE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-macos": {
|
||||
"jar": "sha256-gmSuMqyfQTxPRQGGPF9udXam/avcXQUtMoG7rMM3fx0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-OZJGOhao3xn2MRewiD6tDtko3U3wF/VbXk4St6JwSJo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-windows": {
|
||||
"jar": "sha256-49p8PbJcgduNQl7x49v6FQALBA1mnwCLCBPJQzOslsg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-hSyk42sf390++2zkLwi30PlXsExLz714BXsMeZ85kjE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3": {
|
||||
"jar": "sha256-UGLadQ5ffsieJ+i2e31A+oxLFokBWeNfgoEWzmyOyh4=",
|
||||
"pom": "sha256-RDkltWQq0xjUnfrpe66c3QnkkCWzAqlLAQf8iIm+bN0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-linux": {
|
||||
"jar": "sha256-2COpLGooELURLaME3MarzUyxAnBvdPfpNKIjzqIFElA="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-BbGiXD+3Ipdao78siIQ3I9puEFmhktVo3e/AGkV/qkc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-Cyt1Mn1HRRY0EjNI1VUDrgPlFVGwyIea6QyOS04aT5w="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-macos": {
|
||||
"jar": "sha256-TBBz0OWumZZtDvHWp3lXWEdtJH2TD9xewYZeOMuEfM4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-8bPx3oP5c6uuOkvDLbWyKa5dVcyA27xffIQYEv4gtf4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-windows": {
|
||||
"jar": "sha256-9F5fYFlrA7Lj2LmKEjyFXr0LUVTIFV3CpWuJDMyQdHc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-nZnSA95OMShsrnU6HfuYE2fJNzTxlEZEunG+Uhs68sw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3": {
|
||||
"jar": "sha256-DP96pG6p1w/MIIVwFSk+qA+/Ia3Kw0YAyE2puBpEypM=",
|
||||
"pom": "sha256-jR2kP3mIdcV5yokH95rk/D6tFVQl6pVVxvqqsT1Q5J0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-linux": {
|
||||
"jar": "sha256-xEiQaN3G3ESxAwcZQ/gBotB2Y01LdNtHCSf4SjCCGeE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-/WYDpBauUJJiAxV7ajQOiPX60GyAjvQcsDUBcTn+Lzw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-F/DPG45SLuprS5fBkHCznlT1+H7YT7iVhXR+QPkF4ds="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-macos": {
|
||||
"jar": "sha256-MpN6NS20usPpKqG72uKYipWOS5B6tbVXdky6gtsgupc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-sfZYdf2d3SgJe+YHYCniuPq168FibiHO92FhHfynFcI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-windows": {
|
||||
"jar": "sha256-0Sq4Zv4RaekkrFtNa7d2eueEKp/IZSeYaCwAabtz/PI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-RkJORUWXM7JsSnsN0mlSCctpONr6OpASxqVoLJSixA4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3": {
|
||||
"jar": "sha256-7gUVBU7hmj9AiEJv7p2HnrLuZXsH5QZOTiyFH2rc8Us=",
|
||||
"pom": "sha256-LBvRGfQeZaVEYT+R5xYOAGuBkW5zpu919UkkLMTzvvI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-linux": {
|
||||
"jar": "sha256-oHb6BaTRdHYuq1hS7nLCnRSrEKVlTyf7AGZO8bUsDAU="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-gNNOdtFcBJUXRBSIMpCDkdqLFPaKAwtksLQHAqNzkdc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-macos": {
|
||||
"jar": "sha256-RGXdRv35MJwM5kw1KaDaZ5L7ZxHDKB6MXbqTXmqb/Dw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-b32XlBRlHjQ9yLiz+q3g4tnk/fmdVl1WI+EtQNuuSiI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-windows": {
|
||||
"jar": "sha256-AihZEfHIgXNfpNDrFB/+qv2aK7k0nZj3wfuKnLScD1g="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3": {
|
||||
"jar": "sha256-3Jx7LUjoOW1oiV+JAv+gHkYlPeRN/pJ1M/8JRX6/7sQ=",
|
||||
"pom": "sha256-gx1Gb8AWKUUrRhNzEeFYI8CWx9b66VKYxke5+/XWgfQ="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-linux": {
|
||||
"jar": "sha256-5mNzjFGaBvbWWYgvqOTgmvfxDpIZKe5cxUp1h/Yu1Mk="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-cNP3SNRawTWDKplV6lGcpv7Tqn0dR+tnR8uHk2hGyUE="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-OXp5pdiQcobUAY0CbLw3NYxTu7aqvDoVNPGf8jt/hVg="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-macos": {
|
||||
"jar": "sha256-ApTuTi3X72vvr/r8C7maKom3YHC1zYMC89dWJLZ4bQM="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-UKycoJ5Z8FHcrPTcCyFF6ekW5qsUYzt1aUIxv+WTFKg="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-windows": {
|
||||
"jar": "sha256-XuY6GRh+/lu4dH/ST3sTJX2zSN9a1kEROjaV5D8hOVk="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-IqIjOCYlVOteEzyEQd7u2shNoILrO6yE0DLaT682l0k="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,10 +2,10 @@
|
||||
{ pname
|
||||
, version
|
||||
, src
|
||||
, depsHash
|
||||
, meta
|
||||
, desktopName
|
||||
, patches ? [ ./disable-beryx.patch ]
|
||||
, depsPath ? null
|
||||
|
||||
, lib
|
||||
, stdenv
|
||||
@@ -53,30 +53,18 @@ let
|
||||
keywords = [ "roguelike" "dungeon" "crawler" ];
|
||||
};
|
||||
|
||||
# fake build to pre-download deps into fixed-output derivation
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit version src patches postPatch;
|
||||
nativeBuildInputs = [ gradle perl ] ++ attrs.nativeBuildInputs or [];
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
# https://github.com/gradle/gradle/issues/4426
|
||||
${lib.optionalString stdenv.isDarwin "export TERM=dumb"}
|
||||
gradle --no-daemon desktop:release
|
||||
'';
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/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
|
||||
'';
|
||||
outputHashMode = "recursive";
|
||||
outputHash = depsHash;
|
||||
};
|
||||
depsPath' = if depsPath != null then depsPath else ./${pname}/deps.json;
|
||||
|
||||
in stdenv.mkDerivation (cleanAttrs // {
|
||||
inherit pname version src patches postPatch;
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = depsPath';
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
gradle
|
||||
perl
|
||||
@@ -86,18 +74,7 @@ in stdenv.mkDerivation (cleanAttrs // {
|
||||
|
||||
desktopItems = [ desktopItem ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
# https://github.com/gradle/gradle/issues/4426
|
||||
${lib.optionalString stdenv.isDarwin "export TERM=dumb"}
|
||||
# point to offline repo
|
||||
sed -ie "s#repositories {#repositories { maven { url '${deps}' };#g" build.gradle
|
||||
gradle --offline --no-daemon desktop:release
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
gradleBuildTask = "desktop:release";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
@@ -131,8 +108,6 @@ in stdenv.mkDerivation (cleanAttrs // {
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ fgaz ];
|
||||
platforms = platforms.all;
|
||||
# https://github.com/NixOS/nixpkgs/pull/99885#issuecomment-740065005
|
||||
broken = stdenv.isDarwin;
|
||||
mainProgram = pname;
|
||||
} // meta;
|
||||
})
|
||||
|
||||
+1
-3
@@ -2,7 +2,7 @@
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
callPackage ./generic.nix rec {
|
||||
callPackage ../generic.nix rec {
|
||||
pname = "rat-king-adventure";
|
||||
version = "1.5.3";
|
||||
|
||||
@@ -13,8 +13,6 @@ callPackage ./generic.nix rec {
|
||||
hash = "sha256-Q/smIObu7khcRnwdT8m7+WstpPE1tbDFJcZ4OGYJ338=";
|
||||
};
|
||||
|
||||
depsHash = "sha256-yE6zuLnFLtNq76AhtyE+giGLF2vcCqF7sfIvcY8W6Lg=";
|
||||
|
||||
desktopName = "Rat King Adventure";
|
||||
|
||||
meta = {
|
||||
@@ -0,0 +1,238 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/badlogicgames/gdx#gdx-backend-lwjgl3/1.11.0": {
|
||||
"jar": "sha256-my0CJorGB5QwSi4E5ep1H62fX5bsyvFdgCOm4LF6994=",
|
||||
"module": "sha256-o7gpPFXSp2lb60LCcKrfKpQcK4NqQL8Ob4W6OOY0VwY=",
|
||||
"pom": "sha256-wa55d83hp9muWlhfDe8Ap2d4LzcR5/+RYTX2UPA2HOo="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype-platform/1.11.0": {
|
||||
"pom": "sha256-a5PHPPIyrqNpnueP5GEkJ14KwbsROJkXUcz96l8Au9c="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype-platform/1.11.0/natives-desktop": {
|
||||
"jar": "sha256-9GCzmqhP9bnWC4mT4j/zKtpWellmThTrfha7VcWk9yE="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype/1.11.0": {
|
||||
"jar": "sha256-u5hP1RQ13YCN0HaSWOqzJikXG19OnkPzmvRUPh7E3yI=",
|
||||
"module": "sha256-n5oGuAY9dyn7H94+ippXm3vuPUqevY+xrDubsj78b/M=",
|
||||
"pom": "sha256-xkjQNIE46uOtYmScUTA8R5rr5czpsbXQeLX3rkVQG+0="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-jnigen-loader/2.3.1": {
|
||||
"jar": "sha256-ZJDdoiWmHHYCwnu+xOSBE3/1lfjOCy3bpBTww0Bq7mA=",
|
||||
"module": "sha256-nNWFK9nlHTbRJxrypGzZfOwk5XEHblQTbsmtNxhGua8=",
|
||||
"pom": "sha256-7e2XZPzSpbw8peeAUEHppiAZ+ovkNLWZ8D1JR+KkQng="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-platform/1.11.0": {
|
||||
"pom": "sha256-8cBBk8LQnXP8lVNQL05ZFMIOgDWrdpoZ0z4bxJJ0AkA="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-platform/1.11.0/natives-desktop": {
|
||||
"jar": "sha256-yUFpxwl25LGMCL1qKWtETqiLtUlF67EtHy5DK5L4OTA="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx/1.11.0": {
|
||||
"jar": "sha256-IxU8Z+GVYGROD6EjUjK12F7kHPKJKBwtp+yMKONXULk=",
|
||||
"module": "sha256-twUVE1CLWninINOZQrsifRvrOrzgBpskstIAA2TPbbM=",
|
||||
"pom": "sha256-2W6H3BZixRugifIY1Cy3/U3b3sZQiytosvCsZ5dvJSU="
|
||||
},
|
||||
"com/badlogicgames/gdx-controllers#gdx-controllers-core/2.2.2": {
|
||||
"jar": "sha256-DKa7jeeMTIY2ycrjhvrAU4LdMp9y1xCU+62wL89aEAQ=",
|
||||
"pom": "sha256-Y0QV6aRkzGOr46Gb6+AYM2OdS95sUt2zIoaOQduz724="
|
||||
},
|
||||
"com/badlogicgames/gdx-controllers#gdx-controllers-desktop/2.2.2": {
|
||||
"jar": "sha256-oJnxlAyrkj1QtnHH4uK6HkXq44+mxdzq6piktPUqTl0=",
|
||||
"pom": "sha256-ZAhAV2hHVAbq8aLVysozRiKXIYdZmkssHWSOf+rarn8="
|
||||
},
|
||||
"com/badlogicgames/jamepad#jamepad/2.0.20.0": {
|
||||
"jar": "sha256-6fFqB9SpRCSs0DiOw6P+TsZLfhiWxlgUwv9rRisTs2Y=",
|
||||
"module": "sha256-vXFX36GUJsdj2VgYbnHR3+lKnBRgBeEI9pwUameDrmY=",
|
||||
"pom": "sha256-+gwaoDndosNqw/VslH3vLEOptLnkbCPhrqddHQaZ3eQ="
|
||||
},
|
||||
"com/badlogicgames/jlayer#jlayer/1.0.1-gdx": {
|
||||
"jar": "sha256-qrze3C4/pBxOE4hwUj10MzfxiZMQgGMLoaIoVTjNAPs=",
|
||||
"pom": "sha256-nGCRe2JnOIvFeWpSDswPF8ed2hVGUM0FQdTEE4ghv0k="
|
||||
},
|
||||
"org/jcraft#jorbis/0.0.17": {
|
||||
"jar": "sha256-4GfymjcBQmtn7ZcwNpScbljKW7U+73JAsuceKG0lKp4=",
|
||||
"pom": "sha256-GN47DZMq+Zgy202DL2g1B/vdWgsMJN1oDoTOb1cYLiQ="
|
||||
},
|
||||
"org/json#json/20170516": {
|
||||
"jar": "sha256-gT835IIPGFTopOtPgN+UvxsfLsbDtyaS8jq5pVYlavY=",
|
||||
"pom": "sha256-ZMFVQ6PV2yeaIK6w36A0oqecIVn4zUAd6kj/DyNMGN0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.1": {
|
||||
"jar": "sha256-CLvDTrdS+GPjf4OrHHsMIvfLJtD4+wpKSoxgKKxFs4U=",
|
||||
"pom": "sha256-TKQrQ8iqDodIWWB0d0C5lFqqH99+QTTm+iTo+d8cF2A="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.1/natives-linux": {
|
||||
"jar": "sha256-Ze0Ev/fQf+ybf958OxHEBShsjWbk609Mm3kuJn7OWwY="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.1/natives-linux-arm32": {
|
||||
"jar": "sha256-hOvo8klGPrF84PrpnYsto8G/kcjUEHOjtYNFd7dS4/s="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.1/natives-linux-arm64": {
|
||||
"jar": "sha256-IgDyzcENHaZ215o+oFybpVnaCZUFwbdWtu0iL2FagSA="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.1/natives-macos": {
|
||||
"jar": "sha256-G2z/nmSKci7gzBRmlhIFKqW6gJRp+os/sh8kw6vnDek="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.1/natives-macos-arm64": {
|
||||
"jar": "sha256-nHlVeHSNWPQtXUcu2A0ulpk71Psf/ABYztosYx7zmJo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.1/natives-windows": {
|
||||
"jar": "sha256-nnROy4QCnXrO2uh24lV2WRhKKa/uVeRT9KslZzSb+Ek="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.1/natives-windows-x86": {
|
||||
"jar": "sha256-pYAgBm4ePVP/xMf7ShWMDLP/tPM6rrPlTSVScyGUxBI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.1": {
|
||||
"jar": "sha256-7kn8Co2UVkUuVM1vd3gj7aZm4sY/wU1lsv0sws/tXb4=",
|
||||
"pom": "sha256-+ZSGEVVV8RPaHOOs1f7LyWk7X9o1P/era9Lj1//dsn4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.1/natives-linux": {
|
||||
"jar": "sha256-m3mvXH/Q2UkG7h0qU6NCCidQfWYiS0/0a59ncmRd7TQ="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.1/natives-linux-arm32": {
|
||||
"jar": "sha256-Bj8Lsu2V5d4q0G4Q0xJ/hJDdviBKyj5qOc5C3pF4TF8="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.1/natives-linux-arm64": {
|
||||
"jar": "sha256-X4nVRq4fr1Gv+/sMZBR60swze/ajLwv4fEbTTDQvxdU="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.1/natives-macos": {
|
||||
"jar": "sha256-B6qwMJQFjjiph2upM54IoiQDlO+Ii35/z9R2I1j22Wg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.1/natives-macos-arm64": {
|
||||
"jar": "sha256-500OE6wC9BAsIMF/DUFmCK2FNDSV7K4wAp32VousLSc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.1/natives-windows": {
|
||||
"jar": "sha256-Il8331UAYUZ1vprLYnjLbJyAo0kmR5iyz8fsQ08e1HI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.1/natives-windows-x86": {
|
||||
"jar": "sha256-Y5uy113z3Vnqewv4uEfgr1cHRpTXk5ILoclTeJeyw9g="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.1": {
|
||||
"jar": "sha256-cyXuG5GooQwGJsabVXqI8t9qwb3KDlLiqS0yQknyytA=",
|
||||
"pom": "sha256-+ZzowctqhyXSbdyzNFxAPNu8x8qO6WYIu/PCxP2WaiE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.1/natives-linux": {
|
||||
"jar": "sha256-C3OB9R7cYQy2ByRdw0p2LSsht0R4FARAaKGmADu4eDg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.1/natives-linux-arm32": {
|
||||
"jar": "sha256-PQ39lwowYdM7FdvxjT7u/PB83EFx6skgUU8DhkY4mmI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.1/natives-linux-arm64": {
|
||||
"jar": "sha256-RPO9inlEGNtNU+51Rtkdl9nK9/QuE+ojU2PMM18u9ig="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.1/natives-macos": {
|
||||
"jar": "sha256-UYTKJLjf6XJVtstVjFKb1qOImBu+VeITcY4/0r2ehuQ="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.1/natives-macos-arm64": {
|
||||
"jar": "sha256-wi7Lzvj+5K7q+YEDLfPiy8MKkRqQJS7awfFJeX1YdXU="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.1/natives-windows": {
|
||||
"jar": "sha256-X35maqJMqLP7dY5ywD/7nYCbMEicantH6tZ8aXf/ZU4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.1/natives-windows-x86": {
|
||||
"jar": "sha256-fVtbb61e+7Lowk80dgDHy8bv3RNh/TewtaEzGSMehR4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.1": {
|
||||
"jar": "sha256-5DbSFE86Nv/3cv1kIzMWgJt5XzkN79TVVmD8aG58KDQ=",
|
||||
"pom": "sha256-LL9XxnqNBGatgI4aJ/4908EQ6KwC3IqyushKhRl3VUE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.1/natives-linux": {
|
||||
"jar": "sha256-vPzZ+N/SKUiK2ew1PUjHsC3lyiG63UCS8ZAiOaHtBpA="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.1/natives-linux-arm32": {
|
||||
"jar": "sha256-IDPJfXY+YL2sAX/bsI06Q7vlwXqjZ7QsU3ycw6tAYY8="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.1/natives-linux-arm64": {
|
||||
"jar": "sha256-EFjEunNUzavz75NZUeKT91tJYedT13/XU13ccy4oPyg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.1/natives-macos": {
|
||||
"jar": "sha256-cR8plyiIUJJiqVfxsxOL+ptQVRnRHfbldj0cmj+LPF0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.1/natives-macos-arm64": {
|
||||
"jar": "sha256-29EQBE6uitvKjjx6cwUpo1FVnnTOqIe7PNbvDcAW8pU="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.1/natives-windows": {
|
||||
"jar": "sha256-hRubWTysIeOvUd1MMD6N8/5qNEo/gda5vMGG5+VAv9o="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.1/natives-windows-x86": {
|
||||
"jar": "sha256-aD2K09DQl3puoYuIpMvn6P1PBsGrIbq+2riDCXQLzGA="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.1": {
|
||||
"jar": "sha256-ZOXMzi/Hy88Mg0pb6GQtniSYzj/jHBT/HfdBh4o/gSE=",
|
||||
"pom": "sha256-dKgsbPvqhNIxAk2f2FgO2VumPCAafUeqsmO6hofDCVk="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.1/natives-linux": {
|
||||
"jar": "sha256-+BuZjoxdYj1XHi/NRvy4e30w7SXfd95jrsjP7bNMSnA="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.1/natives-linux-arm32": {
|
||||
"jar": "sha256-6xnGjFt5MUjKOT24bzHQ3pVALZ9MFOUADjkYSA9iKkc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.1/natives-linux-arm64": {
|
||||
"jar": "sha256-XOyb0h8xIAJaLIOB3BCax+yI5o5xX9fK27kPXVVfZZs="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.1/natives-macos": {
|
||||
"jar": "sha256-oXjWYDA5nGmJeN/kqVALdVep2vTAYeg8iHAzfpsL0+c="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.1/natives-macos-arm64": {
|
||||
"jar": "sha256-DXoP8tto86vkFpFn4vSJ3/d72igvQvhuQelEvnxDbdg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.1/natives-windows": {
|
||||
"jar": "sha256-/W/3om6GRa95oNIcpz6NyeRz80AtEzPlRKgdIcpQd+c="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.1/natives-windows-x86": {
|
||||
"jar": "sha256-v3PjtRu0MOWIvRWOlsyimOmMoS8p3FzxRFwfDFw5uhs="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.1": {
|
||||
"jar": "sha256-SI9R7ZXw+sSNHYfLDjusCMAS3L9u88FohoXXCM28zVY=",
|
||||
"pom": "sha256-78RtVita7rFRzJnBhn5KUeVLzwWs+2EwOtZUh45Nyq8="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.1/natives-linux": {
|
||||
"jar": "sha256-e9cLKCM/RiGdoZiaw+n27vcuvyEc43Uv8eZFzqQYpM8="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.1/natives-linux-arm64": {
|
||||
"jar": "sha256-pLai7OGbhNkzyXmwx1+46BgCpoLVJEmWXDP0xaH+cAw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.1/natives-macos": {
|
||||
"jar": "sha256-H1yGorLASVqlahKnTHwvwsk1PMOKoAzBOjJAR2QcMk0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.1/natives-macos-arm64": {
|
||||
"jar": "sha256-EY1ViXZdZobUeDcZwt6MpmWiSX2LncKK00/RDtU0P6o="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.1/natives-windows": {
|
||||
"jar": "sha256-7McVIQloBZdWnZsyIEXynBp93uxxgs9pGJ2uFUE4ucg="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.1": {
|
||||
"jar": "sha256-z4P5DjL7lz/17fyk7zX1XKUbtwpXm2ofKQdE9VLo5IQ=",
|
||||
"pom": "sha256-xMXHr6uOt4JTZqIwhsPf7droMIwRXF1iF6gm7DJLN+M="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.1/natives-linux": {
|
||||
"jar": "sha256-Iu8q+jGhdAozfsnGgGxrjZfpMaY+LEMnDLrxT7P2/E4="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.1/natives-linux-arm32": {
|
||||
"jar": "sha256-9rVYGOx25ewBfiW8OvbsTbe3ol56KhdW+i/6uojIZWQ="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.1/natives-linux-arm64": {
|
||||
"jar": "sha256-T9lq94+cKTsXAAEcfbGg7AI3xNGIPjf6vgj3To0uAiQ="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.1/natives-macos": {
|
||||
"jar": "sha256-9I5hCpgdylFbm75zRcx240UME0BLBS2Kw1fvCvjpCr8="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.1/natives-macos-arm64": {
|
||||
"jar": "sha256-cZfomrgKKiGDtO6SXMtE5XLwy3V6kndq34JlJpIAo2o="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.1/natives-windows": {
|
||||
"jar": "sha256-CT0T1ipkNLxla/EKOzfiUw/ZrzsLwg+OlUW+WGWdFEM="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.1/natives-windows-x86": {
|
||||
"jar": "sha256-6QwfnPVwGu7ymC6/CQWiuZH0YiuKf4JQ6vCHO1oKAiM="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-3
@@ -2,7 +2,7 @@
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
callPackage ./generic.nix rec {
|
||||
callPackage ../generic.nix rec {
|
||||
pname = "rkpd2";
|
||||
version = "2.0.6";
|
||||
|
||||
@@ -13,8 +13,6 @@ callPackage ./generic.nix rec {
|
||||
hash = "sha256-jwH0nEsv3agUCZt5Mhuv1JSeELOKfrsj3cnmAJsV9sM=";
|
||||
};
|
||||
|
||||
depsHash = "sha256-vihoR0bPh7590sRxeYJ1uuynNRxtRBuiFUrdmsRNUJc=";
|
||||
|
||||
desktopName = "Rat King Pixel Dungeon 2";
|
||||
|
||||
meta = {
|
||||
+252
@@ -0,0 +1,252 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://oss.sonatype.org/content/repositories/snapshots/com/badlogicgames": {
|
||||
"gdx-controllers#gdx-controllers-core/2.2.4-20231021.200112-6/SNAPSHOT": {
|
||||
"jar": "sha256-Gdz2J1IvDJFktUD2XeGNS0SIrOyym19X/+dCbbbe3/U=",
|
||||
"pom": "sha256-90QW/Mtz1jbDUhKjdJ88ekhulZR2a7eCaEJoswmeny4="
|
||||
},
|
||||
"gdx-controllers#gdx-controllers-desktop/2.2.4-20231021.200114-6/SNAPSHOT": {
|
||||
"jar": "sha256-4mhLijZwQHk2pP5qXIIzrsO9CwNC3CDti/5szclkVa8=",
|
||||
"pom": "sha256-10+zD8flpKIPzji5NFgtYcwE5O74hSzzvvqBh84wLf4="
|
||||
},
|
||||
"gdx-controllers/gdx-controllers-core/2.2.4-SNAPSHOT/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "com.badlogicgames.gdx-controllers",
|
||||
"lastUpdated": "20231021200112"
|
||||
}
|
||||
},
|
||||
"gdx-controllers/gdx-controllers-desktop/2.2.4-SNAPSHOT/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "com.badlogicgames.gdx-controllers",
|
||||
"lastUpdated": "20231021200114"
|
||||
}
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/badlogicgames/gdx#gdx-backend-lwjgl3/1.12.1": {
|
||||
"jar": "sha256-B3OwjHfBoHcJPFlyy4u2WJuRe4ZF/+tKh7gKsDg41o0=",
|
||||
"module": "sha256-9O7d2ip5+E6OiwN47WWxC8XqSX/mT+b0iDioCRTTyqc=",
|
||||
"pom": "sha256-IRSihaCUPC2d0QzB0MVDoOWM1DXjcisTYtnaaxR9SRo="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype-platform/1.12.1": {
|
||||
"pom": "sha256-cAGFUunqi4o21kDX8V86OT6aMmXjJUqyMHLHhUWLBm4="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype-platform/1.12.1/natives-desktop": {
|
||||
"jar": "sha256-1g5ZN21QWpk+yLogowR3rwaQKx4pJ/8uN17/2/Ql2UE="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype/1.12.1": {
|
||||
"jar": "sha256-rbjskAa7YdrW0pdslaHeGN5eGmUULRilgH0OUkyL8WU=",
|
||||
"module": "sha256-HG9UGDxQFjSvGqLrKEkE7YnVvqtURs7FyqWwunHdXKE=",
|
||||
"pom": "sha256-pLaMZBcEufzo+xszIlcUPJSYJJQg1uY6rm7tb6fHyT8="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-jnigen-loader/2.3.1": {
|
||||
"jar": "sha256-ZJDdoiWmHHYCwnu+xOSBE3/1lfjOCy3bpBTww0Bq7mA=",
|
||||
"module": "sha256-nNWFK9nlHTbRJxrypGzZfOwk5XEHblQTbsmtNxhGua8=",
|
||||
"pom": "sha256-7e2XZPzSpbw8peeAUEHppiAZ+ovkNLWZ8D1JR+KkQng="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-platform/1.12.1": {
|
||||
"pom": "sha256-bZhlcVVYfr/+qIAG20v12CgcyUetGduKZP28TnOzkZc="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-platform/1.12.1/natives-desktop": {
|
||||
"jar": "sha256-P+utqUwiNjYQkXufuMJLD55h4+bGnHO9DTUDhYTA4e0="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx/1.12.1": {
|
||||
"jar": "sha256-jTIJ6UghH96c2swrAfrO0yPlSKpS73jlx2CEWoh0aXA=",
|
||||
"module": "sha256-7Th6fCSDcEBGAyOsXYZIZwKAPw88K1h448x4If03n6o=",
|
||||
"pom": "sha256-Qg9vfLMYtQsglKsHYme67w6bBlI0yHqWCqkvtCEYpZY="
|
||||
},
|
||||
"com/badlogicgames/jamepad#jamepad/2.26.5.0": {
|
||||
"jar": "sha256-sO+RC6Uxyt/gQYSWow2Hy6xGAhsGJUf1tZR+A1Q1cRo=",
|
||||
"module": "sha256-KGmFPVwJdU2vuY9u6veZLc2Q6K3uFxL/bgjmUgBKflA=",
|
||||
"pom": "sha256-Up7mQ8lbw+6SfuSnRqwFaOQSnbb5dscD82IjN9/6Inc="
|
||||
},
|
||||
"com/badlogicgames/jlayer#jlayer/1.0.1-gdx": {
|
||||
"jar": "sha256-qrze3C4/pBxOE4hwUj10MzfxiZMQgGMLoaIoVTjNAPs=",
|
||||
"pom": "sha256-nGCRe2JnOIvFeWpSDswPF8ed2hVGUM0FQdTEE4ghv0k="
|
||||
},
|
||||
"org/jcraft#jorbis/0.0.17": {
|
||||
"jar": "sha256-4GfymjcBQmtn7ZcwNpScbljKW7U+73JAsuceKG0lKp4=",
|
||||
"pom": "sha256-GN47DZMq+Zgy202DL2g1B/vdWgsMJN1oDoTOb1cYLiQ="
|
||||
},
|
||||
"org/json#json/20170516": {
|
||||
"jar": "sha256-gT835IIPGFTopOtPgN+UvxsfLsbDtyaS8jq5pVYlavY=",
|
||||
"pom": "sha256-ZMFVQ6PV2yeaIK6w36A0oqecIVn4zUAd6kj/DyNMGN0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3": {
|
||||
"jar": "sha256-vtx1f9KxslUUbbJrdLnL0fz1ZEuJtHsQT6chx0FgQlk=",
|
||||
"pom": "sha256-fJuPWGrEz36esvNnrphUzK7i2Nf2LiOHxJ0sGvrtirM="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-linux": {
|
||||
"jar": "sha256-uDBgYrF3QfNCaQiHUUIfGsIaWXv7vQxsYSJjAc3nRLg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-3Z1NZxT8k1nUfdoNR8HYyLvkmQG393wj/Kepyb/CmFg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-zGE5yD95nQ4UhOpMIByM5tV8jHokSlIXEWqAax60F5s="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-macos": {
|
||||
"jar": "sha256-qJtVNirsnlo7vRNkYBu4WxR9trrmiJHKmiMtbPstVew="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-uUUdZ7wXyQb7goKlUi8liwIvMFaeC2LaAB1ZChe0Xhk="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-windows": {
|
||||
"jar": "sha256-mBVbRR38b1hQid7HehL5wFeJxNzrjaRy+dMIFgEBpw0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-lkZVXUBfDSo6lXa1BvV8FjKvZPaaiuWMsESK4EqceCQ="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3": {
|
||||
"jar": "sha256-6Z4xJp5meKS/xi7yTFCkgcAcvdAEhh7Omlm6EnaMZRY=",
|
||||
"pom": "sha256-IJuMfX+cGXLVyNX5zhmjUW/5BxRD0N+Khm2hNDvS46k="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-linux": {
|
||||
"jar": "sha256-TkoT1wFdQmBbvPfvn66tRt6sZAnkN3qO1K6oFfFGNLM="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-5IM/wmIeLnMCBXPmKZcJIPHNHfmE/hyc7bszSNzDeG8="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-44PVJBwNR/QBKnU+C//+Ra/DDQBiGbm9iQN1ahA3ibU="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-macos": {
|
||||
"jar": "sha256-ICTapcaqQHhmQUi3OQ+4sjHyNw6g4X1AeJTbp+nlZOw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-Y5Vuokb/ZKqpzg4dbjzK1obPv5N9H81suNX0T2OCFgw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-windows": {
|
||||
"jar": "sha256-mUnI5JmYvQyHjYQohAEfE4PihRAFCR4LK897dnG4SOs="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-2bTgbiqEIFWD+wVEDSI4OFqRywGgYN2x03YiOuIl8Uo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3": {
|
||||
"jar": "sha256-rg6Cdnys8Ikh9Xj7qdhHU93rAM6toFEKK0qIK+KPv5U=",
|
||||
"pom": "sha256-f6aiEbvk5FuCmHU31kN6e1KUM07TrBbLhElV70PV5w8="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-linux": {
|
||||
"jar": "sha256-kDD+2SinHqwv30zhZDzE7HJNhxDjtDe9znUL3J6YKyo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-xyXRfh5GJsf0O29NCKRnSW4JECXnHxn0+x8xN8Tabmc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-q/OSSHs1h9qJtlUlAAjfSjYKL9Xh7gCr1h9/UpFSBaE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-macos": {
|
||||
"jar": "sha256-gmSuMqyfQTxPRQGGPF9udXam/avcXQUtMoG7rMM3fx0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-OZJGOhao3xn2MRewiD6tDtko3U3wF/VbXk4St6JwSJo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-windows": {
|
||||
"jar": "sha256-49p8PbJcgduNQl7x49v6FQALBA1mnwCLCBPJQzOslsg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-hSyk42sf390++2zkLwi30PlXsExLz714BXsMeZ85kjE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3": {
|
||||
"jar": "sha256-UGLadQ5ffsieJ+i2e31A+oxLFokBWeNfgoEWzmyOyh4=",
|
||||
"pom": "sha256-RDkltWQq0xjUnfrpe66c3QnkkCWzAqlLAQf8iIm+bN0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-linux": {
|
||||
"jar": "sha256-2COpLGooELURLaME3MarzUyxAnBvdPfpNKIjzqIFElA="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-BbGiXD+3Ipdao78siIQ3I9puEFmhktVo3e/AGkV/qkc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-Cyt1Mn1HRRY0EjNI1VUDrgPlFVGwyIea6QyOS04aT5w="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-macos": {
|
||||
"jar": "sha256-TBBz0OWumZZtDvHWp3lXWEdtJH2TD9xewYZeOMuEfM4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-8bPx3oP5c6uuOkvDLbWyKa5dVcyA27xffIQYEv4gtf4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-windows": {
|
||||
"jar": "sha256-9F5fYFlrA7Lj2LmKEjyFXr0LUVTIFV3CpWuJDMyQdHc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-nZnSA95OMShsrnU6HfuYE2fJNzTxlEZEunG+Uhs68sw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3": {
|
||||
"jar": "sha256-DP96pG6p1w/MIIVwFSk+qA+/Ia3Kw0YAyE2puBpEypM=",
|
||||
"pom": "sha256-jR2kP3mIdcV5yokH95rk/D6tFVQl6pVVxvqqsT1Q5J0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-linux": {
|
||||
"jar": "sha256-xEiQaN3G3ESxAwcZQ/gBotB2Y01LdNtHCSf4SjCCGeE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-/WYDpBauUJJiAxV7ajQOiPX60GyAjvQcsDUBcTn+Lzw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-F/DPG45SLuprS5fBkHCznlT1+H7YT7iVhXR+QPkF4ds="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-macos": {
|
||||
"jar": "sha256-MpN6NS20usPpKqG72uKYipWOS5B6tbVXdky6gtsgupc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-sfZYdf2d3SgJe+YHYCniuPq168FibiHO92FhHfynFcI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-windows": {
|
||||
"jar": "sha256-0Sq4Zv4RaekkrFtNa7d2eueEKp/IZSeYaCwAabtz/PI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-RkJORUWXM7JsSnsN0mlSCctpONr6OpASxqVoLJSixA4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3": {
|
||||
"jar": "sha256-7gUVBU7hmj9AiEJv7p2HnrLuZXsH5QZOTiyFH2rc8Us=",
|
||||
"pom": "sha256-LBvRGfQeZaVEYT+R5xYOAGuBkW5zpu919UkkLMTzvvI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-linux": {
|
||||
"jar": "sha256-oHb6BaTRdHYuq1hS7nLCnRSrEKVlTyf7AGZO8bUsDAU="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-gNNOdtFcBJUXRBSIMpCDkdqLFPaKAwtksLQHAqNzkdc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-macos": {
|
||||
"jar": "sha256-RGXdRv35MJwM5kw1KaDaZ5L7ZxHDKB6MXbqTXmqb/Dw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-b32XlBRlHjQ9yLiz+q3g4tnk/fmdVl1WI+EtQNuuSiI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-windows": {
|
||||
"jar": "sha256-AihZEfHIgXNfpNDrFB/+qv2aK7k0nZj3wfuKnLScD1g="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3": {
|
||||
"jar": "sha256-3Jx7LUjoOW1oiV+JAv+gHkYlPeRN/pJ1M/8JRX6/7sQ=",
|
||||
"pom": "sha256-gx1Gb8AWKUUrRhNzEeFYI8CWx9b66VKYxke5+/XWgfQ="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-linux": {
|
||||
"jar": "sha256-5mNzjFGaBvbWWYgvqOTgmvfxDpIZKe5cxUp1h/Yu1Mk="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-cNP3SNRawTWDKplV6lGcpv7Tqn0dR+tnR8uHk2hGyUE="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-OXp5pdiQcobUAY0CbLw3NYxTu7aqvDoVNPGf8jt/hVg="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-macos": {
|
||||
"jar": "sha256-ApTuTi3X72vvr/r8C7maKom3YHC1zYMC89dWJLZ4bQM="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-UKycoJ5Z8FHcrPTcCyFF6ekW5qsUYzt1aUIxv+WTFKg="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-windows": {
|
||||
"jar": "sha256-XuY6GRh+/lu4dH/ST3sTJX2zSN9a1kEROjaV5D8hOVk="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-IqIjOCYlVOteEzyEQd7u2shNoILrO6yE0DLaT682l0k="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-8
@@ -2,7 +2,7 @@
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
callPackage ./generic.nix rec {
|
||||
callPackage ../generic.nix rec {
|
||||
pname = "shorter-pixel-dungeon";
|
||||
version = "1.4.0";
|
||||
|
||||
@@ -13,13 +13,6 @@ callPackage ./generic.nix rec {
|
||||
hash = "sha256-iG90T/Ho8/JY3HgkACiBnGdbUGsVRlfxXbcNFHhzZi4=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace build.gradle \
|
||||
--replace-fail "gdxControllersVersion = '2.2.4-SNAPSHOT'" "gdxControllersVersion = '2.2.3'"
|
||||
'';
|
||||
|
||||
depsHash = "sha256-PyBEhlOOVD3/YH4SWs1yMkdg3U96znk1/VV6SAr8S30=";
|
||||
|
||||
desktopName = "Shorter Pixel Dungeon";
|
||||
|
||||
meta = {
|
||||
@@ -0,0 +1,252 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://oss.sonatype.org/content/repositories/snapshots/com/badlogicgames": {
|
||||
"gdx-controllers#gdx-controllers-core/2.2.4-20231021.200112-6/SNAPSHOT": {
|
||||
"jar": "sha256-Gdz2J1IvDJFktUD2XeGNS0SIrOyym19X/+dCbbbe3/U=",
|
||||
"pom": "sha256-90QW/Mtz1jbDUhKjdJ88ekhulZR2a7eCaEJoswmeny4="
|
||||
},
|
||||
"gdx-controllers#gdx-controllers-desktop/2.2.4-20231021.200114-6/SNAPSHOT": {
|
||||
"jar": "sha256-4mhLijZwQHk2pP5qXIIzrsO9CwNC3CDti/5szclkVa8=",
|
||||
"pom": "sha256-10+zD8flpKIPzji5NFgtYcwE5O74hSzzvvqBh84wLf4="
|
||||
},
|
||||
"gdx-controllers/gdx-controllers-core/2.2.4-SNAPSHOT/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "com.badlogicgames.gdx-controllers",
|
||||
"lastUpdated": "20231021200112"
|
||||
}
|
||||
},
|
||||
"gdx-controllers/gdx-controllers-desktop/2.2.4-SNAPSHOT/maven-metadata": {
|
||||
"xml": {
|
||||
"groupId": "com.badlogicgames.gdx-controllers",
|
||||
"lastUpdated": "20231021200114"
|
||||
}
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/badlogicgames/gdx#gdx-backend-lwjgl3/1.12.1": {
|
||||
"jar": "sha256-B3OwjHfBoHcJPFlyy4u2WJuRe4ZF/+tKh7gKsDg41o0=",
|
||||
"module": "sha256-9O7d2ip5+E6OiwN47WWxC8XqSX/mT+b0iDioCRTTyqc=",
|
||||
"pom": "sha256-IRSihaCUPC2d0QzB0MVDoOWM1DXjcisTYtnaaxR9SRo="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype-platform/1.12.1": {
|
||||
"pom": "sha256-cAGFUunqi4o21kDX8V86OT6aMmXjJUqyMHLHhUWLBm4="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype-platform/1.12.1/natives-desktop": {
|
||||
"jar": "sha256-1g5ZN21QWpk+yLogowR3rwaQKx4pJ/8uN17/2/Ql2UE="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype/1.12.1": {
|
||||
"jar": "sha256-rbjskAa7YdrW0pdslaHeGN5eGmUULRilgH0OUkyL8WU=",
|
||||
"module": "sha256-HG9UGDxQFjSvGqLrKEkE7YnVvqtURs7FyqWwunHdXKE=",
|
||||
"pom": "sha256-pLaMZBcEufzo+xszIlcUPJSYJJQg1uY6rm7tb6fHyT8="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-jnigen-loader/2.3.1": {
|
||||
"jar": "sha256-ZJDdoiWmHHYCwnu+xOSBE3/1lfjOCy3bpBTww0Bq7mA=",
|
||||
"module": "sha256-nNWFK9nlHTbRJxrypGzZfOwk5XEHblQTbsmtNxhGua8=",
|
||||
"pom": "sha256-7e2XZPzSpbw8peeAUEHppiAZ+ovkNLWZ8D1JR+KkQng="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-platform/1.12.1": {
|
||||
"pom": "sha256-bZhlcVVYfr/+qIAG20v12CgcyUetGduKZP28TnOzkZc="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-platform/1.12.1/natives-desktop": {
|
||||
"jar": "sha256-P+utqUwiNjYQkXufuMJLD55h4+bGnHO9DTUDhYTA4e0="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx/1.12.1": {
|
||||
"jar": "sha256-jTIJ6UghH96c2swrAfrO0yPlSKpS73jlx2CEWoh0aXA=",
|
||||
"module": "sha256-7Th6fCSDcEBGAyOsXYZIZwKAPw88K1h448x4If03n6o=",
|
||||
"pom": "sha256-Qg9vfLMYtQsglKsHYme67w6bBlI0yHqWCqkvtCEYpZY="
|
||||
},
|
||||
"com/badlogicgames/jamepad#jamepad/2.26.5.0": {
|
||||
"jar": "sha256-sO+RC6Uxyt/gQYSWow2Hy6xGAhsGJUf1tZR+A1Q1cRo=",
|
||||
"module": "sha256-KGmFPVwJdU2vuY9u6veZLc2Q6K3uFxL/bgjmUgBKflA=",
|
||||
"pom": "sha256-Up7mQ8lbw+6SfuSnRqwFaOQSnbb5dscD82IjN9/6Inc="
|
||||
},
|
||||
"com/badlogicgames/jlayer#jlayer/1.0.1-gdx": {
|
||||
"jar": "sha256-qrze3C4/pBxOE4hwUj10MzfxiZMQgGMLoaIoVTjNAPs=",
|
||||
"pom": "sha256-nGCRe2JnOIvFeWpSDswPF8ed2hVGUM0FQdTEE4ghv0k="
|
||||
},
|
||||
"org/jcraft#jorbis/0.0.17": {
|
||||
"jar": "sha256-4GfymjcBQmtn7ZcwNpScbljKW7U+73JAsuceKG0lKp4=",
|
||||
"pom": "sha256-GN47DZMq+Zgy202DL2g1B/vdWgsMJN1oDoTOb1cYLiQ="
|
||||
},
|
||||
"org/json#json/20170516": {
|
||||
"jar": "sha256-gT835IIPGFTopOtPgN+UvxsfLsbDtyaS8jq5pVYlavY=",
|
||||
"pom": "sha256-ZMFVQ6PV2yeaIK6w36A0oqecIVn4zUAd6kj/DyNMGN0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3": {
|
||||
"jar": "sha256-vtx1f9KxslUUbbJrdLnL0fz1ZEuJtHsQT6chx0FgQlk=",
|
||||
"pom": "sha256-fJuPWGrEz36esvNnrphUzK7i2Nf2LiOHxJ0sGvrtirM="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-linux": {
|
||||
"jar": "sha256-uDBgYrF3QfNCaQiHUUIfGsIaWXv7vQxsYSJjAc3nRLg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-3Z1NZxT8k1nUfdoNR8HYyLvkmQG393wj/Kepyb/CmFg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-zGE5yD95nQ4UhOpMIByM5tV8jHokSlIXEWqAax60F5s="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-macos": {
|
||||
"jar": "sha256-qJtVNirsnlo7vRNkYBu4WxR9trrmiJHKmiMtbPstVew="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-uUUdZ7wXyQb7goKlUi8liwIvMFaeC2LaAB1ZChe0Xhk="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-windows": {
|
||||
"jar": "sha256-mBVbRR38b1hQid7HehL5wFeJxNzrjaRy+dMIFgEBpw0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-lkZVXUBfDSo6lXa1BvV8FjKvZPaaiuWMsESK4EqceCQ="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3": {
|
||||
"jar": "sha256-6Z4xJp5meKS/xi7yTFCkgcAcvdAEhh7Omlm6EnaMZRY=",
|
||||
"pom": "sha256-IJuMfX+cGXLVyNX5zhmjUW/5BxRD0N+Khm2hNDvS46k="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-linux": {
|
||||
"jar": "sha256-TkoT1wFdQmBbvPfvn66tRt6sZAnkN3qO1K6oFfFGNLM="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-5IM/wmIeLnMCBXPmKZcJIPHNHfmE/hyc7bszSNzDeG8="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-44PVJBwNR/QBKnU+C//+Ra/DDQBiGbm9iQN1ahA3ibU="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-macos": {
|
||||
"jar": "sha256-ICTapcaqQHhmQUi3OQ+4sjHyNw6g4X1AeJTbp+nlZOw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-Y5Vuokb/ZKqpzg4dbjzK1obPv5N9H81suNX0T2OCFgw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-windows": {
|
||||
"jar": "sha256-mUnI5JmYvQyHjYQohAEfE4PihRAFCR4LK897dnG4SOs="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-2bTgbiqEIFWD+wVEDSI4OFqRywGgYN2x03YiOuIl8Uo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3": {
|
||||
"jar": "sha256-rg6Cdnys8Ikh9Xj7qdhHU93rAM6toFEKK0qIK+KPv5U=",
|
||||
"pom": "sha256-f6aiEbvk5FuCmHU31kN6e1KUM07TrBbLhElV70PV5w8="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-linux": {
|
||||
"jar": "sha256-kDD+2SinHqwv30zhZDzE7HJNhxDjtDe9znUL3J6YKyo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-xyXRfh5GJsf0O29NCKRnSW4JECXnHxn0+x8xN8Tabmc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-q/OSSHs1h9qJtlUlAAjfSjYKL9Xh7gCr1h9/UpFSBaE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-macos": {
|
||||
"jar": "sha256-gmSuMqyfQTxPRQGGPF9udXam/avcXQUtMoG7rMM3fx0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-OZJGOhao3xn2MRewiD6tDtko3U3wF/VbXk4St6JwSJo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-windows": {
|
||||
"jar": "sha256-49p8PbJcgduNQl7x49v6FQALBA1mnwCLCBPJQzOslsg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-hSyk42sf390++2zkLwi30PlXsExLz714BXsMeZ85kjE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3": {
|
||||
"jar": "sha256-UGLadQ5ffsieJ+i2e31A+oxLFokBWeNfgoEWzmyOyh4=",
|
||||
"pom": "sha256-RDkltWQq0xjUnfrpe66c3QnkkCWzAqlLAQf8iIm+bN0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-linux": {
|
||||
"jar": "sha256-2COpLGooELURLaME3MarzUyxAnBvdPfpNKIjzqIFElA="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-BbGiXD+3Ipdao78siIQ3I9puEFmhktVo3e/AGkV/qkc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-Cyt1Mn1HRRY0EjNI1VUDrgPlFVGwyIea6QyOS04aT5w="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-macos": {
|
||||
"jar": "sha256-TBBz0OWumZZtDvHWp3lXWEdtJH2TD9xewYZeOMuEfM4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-8bPx3oP5c6uuOkvDLbWyKa5dVcyA27xffIQYEv4gtf4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-windows": {
|
||||
"jar": "sha256-9F5fYFlrA7Lj2LmKEjyFXr0LUVTIFV3CpWuJDMyQdHc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-nZnSA95OMShsrnU6HfuYE2fJNzTxlEZEunG+Uhs68sw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3": {
|
||||
"jar": "sha256-DP96pG6p1w/MIIVwFSk+qA+/Ia3Kw0YAyE2puBpEypM=",
|
||||
"pom": "sha256-jR2kP3mIdcV5yokH95rk/D6tFVQl6pVVxvqqsT1Q5J0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-linux": {
|
||||
"jar": "sha256-xEiQaN3G3ESxAwcZQ/gBotB2Y01LdNtHCSf4SjCCGeE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-/WYDpBauUJJiAxV7ajQOiPX60GyAjvQcsDUBcTn+Lzw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-F/DPG45SLuprS5fBkHCznlT1+H7YT7iVhXR+QPkF4ds="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-macos": {
|
||||
"jar": "sha256-MpN6NS20usPpKqG72uKYipWOS5B6tbVXdky6gtsgupc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-sfZYdf2d3SgJe+YHYCniuPq168FibiHO92FhHfynFcI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-windows": {
|
||||
"jar": "sha256-0Sq4Zv4RaekkrFtNa7d2eueEKp/IZSeYaCwAabtz/PI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-stb/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-RkJORUWXM7JsSnsN0mlSCctpONr6OpASxqVoLJSixA4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3": {
|
||||
"jar": "sha256-7gUVBU7hmj9AiEJv7p2HnrLuZXsH5QZOTiyFH2rc8Us=",
|
||||
"pom": "sha256-LBvRGfQeZaVEYT+R5xYOAGuBkW5zpu919UkkLMTzvvI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-linux": {
|
||||
"jar": "sha256-oHb6BaTRdHYuq1hS7nLCnRSrEKVlTyf7AGZO8bUsDAU="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-gNNOdtFcBJUXRBSIMpCDkdqLFPaKAwtksLQHAqNzkdc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-macos": {
|
||||
"jar": "sha256-RGXdRv35MJwM5kw1KaDaZ5L7ZxHDKB6MXbqTXmqb/Dw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-b32XlBRlHjQ9yLiz+q3g4tnk/fmdVl1WI+EtQNuuSiI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.3.3/natives-windows": {
|
||||
"jar": "sha256-AihZEfHIgXNfpNDrFB/+qv2aK7k0nZj3wfuKnLScD1g="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3": {
|
||||
"jar": "sha256-3Jx7LUjoOW1oiV+JAv+gHkYlPeRN/pJ1M/8JRX6/7sQ=",
|
||||
"pom": "sha256-gx1Gb8AWKUUrRhNzEeFYI8CWx9b66VKYxke5+/XWgfQ="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-linux": {
|
||||
"jar": "sha256-5mNzjFGaBvbWWYgvqOTgmvfxDpIZKe5cxUp1h/Yu1Mk="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-linux-arm32": {
|
||||
"jar": "sha256-cNP3SNRawTWDKplV6lGcpv7Tqn0dR+tnR8uHk2hGyUE="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-linux-arm64": {
|
||||
"jar": "sha256-OXp5pdiQcobUAY0CbLw3NYxTu7aqvDoVNPGf8jt/hVg="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-macos": {
|
||||
"jar": "sha256-ApTuTi3X72vvr/r8C7maKom3YHC1zYMC89dWJLZ4bQM="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-macos-arm64": {
|
||||
"jar": "sha256-UKycoJ5Z8FHcrPTcCyFF6ekW5qsUYzt1aUIxv+WTFKg="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-windows": {
|
||||
"jar": "sha256-XuY6GRh+/lu4dH/ST3sTJX2zSN9a1kEROjaV5D8hOVk="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.3.3/natives-windows-x86": {
|
||||
"jar": "sha256-IqIjOCYlVOteEzyEQd7u2shNoILrO6yE0DLaT682l0k="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-3
@@ -4,7 +4,7 @@
|
||||
, substitute
|
||||
}:
|
||||
|
||||
callPackage ./generic.nix rec {
|
||||
callPackage ../generic.nix rec {
|
||||
pname = "summoning-pixel-dungeon";
|
||||
version = "1.2.5a";
|
||||
|
||||
@@ -21,8 +21,6 @@ callPackage ./generic.nix rec {
|
||||
substitutions = [ "--subst-var-by" "version" version ];
|
||||
})];
|
||||
|
||||
depsHash = "sha256-0P/BcjNnbDN25DguRcCyzPuUG7bouxEx1ySodIbSwvg=";
|
||||
|
||||
desktopName = "Summoning Pixel Dungeon";
|
||||
|
||||
meta = {
|
||||
@@ -0,0 +1,177 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/badlogicgames/gdx#gdx-backend-lwjgl3/1.10.0": {
|
||||
"jar": "sha256-d++ydeqgB5DWDTfjfoOywrohsQc+9HWIoNytlE2wQPA=",
|
||||
"pom": "sha256-uMxeWteXeontAQkrkwVjHaMmig33+nOtRB+p+98MMR0="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype-platform/1.10.0": {
|
||||
"pom": "sha256-IwJUobNWR3huT995tgEnT1WlvDUHweu5MNQLnYQtHmI="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype-platform/1.10.0/natives-desktop": {
|
||||
"jar": "sha256-seXxOGFJ8yzo5P0nArn9cefzkiXnhthi9HJRSw1u7UM="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-freetype/1.10.0": {
|
||||
"jar": "sha256-/w9zEsBjV6vsBm1JKWuPZVS0D6HMPla5wgiVdBaWoSU=",
|
||||
"pom": "sha256-U8Gwv4iBQJv5t6rf5NBhZEUbfChBfKhJECjEj36UtHU="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-parent/1.10.0": {
|
||||
"pom": "sha256-AYAdm3Dejy2nDDIhir83qOiJLpQBa/LUOzq5vzMVM4A="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-platform/1.10.0": {
|
||||
"pom": "sha256-3jAHeUCQqrP43j+EUMT8baNr3cdnl9E+8r+RsiQzPQw="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx-platform/1.10.0/natives-desktop": {
|
||||
"jar": "sha256-CUvIkr+UISzmdLtaO+sUyYUwwf9vac1OQ4uTpvVWask="
|
||||
},
|
||||
"com/badlogicgames/gdx#gdx/1.10.0": {
|
||||
"jar": "sha256-/7SbBnEeNLGhdd8XMRsPOuDoW/RsVpoTfsANKRuyyuE=",
|
||||
"pom": "sha256-vhyhtPolCV13nAxCdpMKDe/64+lYsnhuycZtx/LxN9Y="
|
||||
},
|
||||
"com/badlogicgames/jlayer#jlayer/1.0.1-gdx": {
|
||||
"jar": "sha256-qrze3C4/pBxOE4hwUj10MzfxiZMQgGMLoaIoVTjNAPs=",
|
||||
"pom": "sha256-nGCRe2JnOIvFeWpSDswPF8ed2hVGUM0FQdTEE4ghv0k="
|
||||
},
|
||||
"org/jcraft#jorbis/0.0.17": {
|
||||
"jar": "sha256-4GfymjcBQmtn7ZcwNpScbljKW7U+73JAsuceKG0lKp4=",
|
||||
"pom": "sha256-GN47DZMq+Zgy202DL2g1B/vdWgsMJN1oDoTOb1cYLiQ="
|
||||
},
|
||||
"org/json#json/20170516": {
|
||||
"jar": "sha256-gT835IIPGFTopOtPgN+UvxsfLsbDtyaS8jq5pVYlavY=",
|
||||
"pom": "sha256-ZMFVQ6PV2yeaIK6w36A0oqecIVn4zUAd6kj/DyNMGN0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.2.3": {
|
||||
"jar": "sha256-7yec2u7eTKNE51alb4WoXL0Dn3kxARl1Zy3BuQC1nI8=",
|
||||
"pom": "sha256-DY2qM/0T4KBNt+H+299oliGWkx/20Y4giZN9r5Fx7y4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.2.3/natives-linux": {
|
||||
"jar": "sha256-Y99GHednfhZY0TcK5wUBqGx6Qv9H9mkpKNTVvNHmxYk="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.2.3/natives-linux-arm32": {
|
||||
"jar": "sha256-E9pTVkPR4RvpMcdKDDa5hdoIJuF2ckSu140IdxwSa3M="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.2.3/natives-linux-arm64": {
|
||||
"jar": "sha256-5IkX7vQXhQb20mbEUowS+vlhs3nyN/d3lhTPXc9R0jM="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.2.3/natives-macos": {
|
||||
"jar": "sha256-ZOZIODO8lNp/Oc9x75lo/7/zSE8FS+Mz8Cc34eMUidA="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.2.3/natives-windows": {
|
||||
"jar": "sha256-GSct3hyelmZGtmayqmtZXr9Zj+dRnNtKsGwbM9jga6w="
|
||||
},
|
||||
"org/lwjgl#lwjgl-glfw/3.2.3/natives-windows-x86": {
|
||||
"jar": "sha256-tva+jC2llyvp41zzlr7sRnXoudkYPBVHXEb8lnKgTU4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.2.3": {
|
||||
"jar": "sha256-b3kNvndetWvmOOnZezVTE8DK83TxNUWZZnB1ahXL/m8=",
|
||||
"pom": "sha256-rl4zlsr8aV3BVRgNcIGkkFAlYUlBzd8Iz5llXvG02bI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.2.3/natives-linux": {
|
||||
"jar": "sha256-kET+UTHXjN63S7ezybOhsVX6dTDjtMK5HLMC7rTCnS0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.2.3/natives-linux-arm32": {
|
||||
"jar": "sha256-UAuvqQH46bc9lep28RfStuf9fc7YjiqISgCrIf9NlqI="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.2.3/natives-linux-arm64": {
|
||||
"jar": "sha256-gPCtzfusC3iQexpywu2A1BW2uGWvrd2qTBA3Rymys98="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.2.3/natives-macos": {
|
||||
"jar": "sha256-b/7STgWbCRdgdU1rCrWuWUkNBMIJ+EuEpXHxy9ZS5EE="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.2.3/natives-windows": {
|
||||
"jar": "sha256-y9QXTlytKkDRJpMrA9jTlrmzJIQTXV4/KoofNKpLIiQ="
|
||||
},
|
||||
"org/lwjgl#lwjgl-jemalloc/3.2.3/natives-windows-x86": {
|
||||
"jar": "sha256-y/Qtr6UVizabe8U01zYEw5VQdbRI9yMAT/P7HpAd4Qo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.2.3": {
|
||||
"jar": "sha256-mxv99go/57psSJdkEdMRV1+yt6fnRX5VidFYhxmCD7A=",
|
||||
"pom": "sha256-E9O+StiSkp6SE78rHUkMbrY3JLjehQ6zrntaKjdmG+8="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.2.3/natives-linux": {
|
||||
"jar": "sha256-7d0+6RfFkO0g/JssVGO3PRI7LhUCwvlNb3NU7OVT7Xc="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.2.3/natives-linux-arm32": {
|
||||
"jar": "sha256-oZyXuR9FBUx+7DrViWz/qhIekPD4j3H8X3lo5aL5Hns="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.2.3/natives-linux-arm64": {
|
||||
"jar": "sha256-YX4XOLZsxZEqmE2shuCDVnuPUHCADFQgsGW2Fk0fyvY="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.2.3/natives-macos": {
|
||||
"jar": "sha256-1tCCMsvvMw3llL6cQZmpY0q1vsagUTXQt20ygnR/yS0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.2.3/natives-windows": {
|
||||
"jar": "sha256-PePin8ODpITjfpIYrezKb6EqNUZV3bu4y+ryuMT2FA4="
|
||||
},
|
||||
"org/lwjgl#lwjgl-openal/3.2.3/natives-windows-x86": {
|
||||
"jar": "sha256-mY6z6IVtwnHCNL5lCh/Urqr/CIFl2Q9SEgURSODtHxw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.2.3": {
|
||||
"jar": "sha256-ELzDdQbgHRR31l8fzwqmcslet4UmWyi38yHIOBCT7aI=",
|
||||
"pom": "sha256-hQ+jXJN9DPfjsxVKW1ujkDFWF1Cino0aoBNphk0wLLA="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.2.3/natives-linux": {
|
||||
"jar": "sha256-Rm6LrhgYxMWEdx7gk8inNeJvVvslqB3eVnUWCqovoEU="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.2.3/natives-linux-arm32": {
|
||||
"jar": "sha256-FsLVHzvUR4FzhcdTByx4YIsrMCpsZASW1WH93+d1ZAw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.2.3/natives-linux-arm64": {
|
||||
"jar": "sha256-2OMYjUTPv4k33/CcuPClU/hwHw635mSjzKcLcGFtVOw="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.2.3/natives-macos": {
|
||||
"jar": "sha256-5LTQzZE41SJxwdXBjkPJrF020acnxH5e5AMctFznMMo="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.2.3/natives-windows": {
|
||||
"jar": "sha256-wI494xYyFjrF90b6lF8ZJBQuCFIL2cgbfdG129GwuLs="
|
||||
},
|
||||
"org/lwjgl#lwjgl-opengl/3.2.3/natives-windows-x86": {
|
||||
"jar": "sha256-POzFHWcd92u2DMmu95hM9EVAoKc1i4brAXy7gNj3G3s="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.2.3": {
|
||||
"jar": "sha256-eklNyHUeXvjLec5xaMfbVmZIE3grkZK7ETDkMpuRQBE=",
|
||||
"pom": "sha256-9JHY/FlAu9WYtNNtbchR///Ugeqj6pE80de/GCJoLI0="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.2.3/natives-linux": {
|
||||
"jar": "sha256-s9m98zg+6BfMJ5VcWGTYC6NuhtjvSqLH+G3NL6c96Rg="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.2.3/natives-macos": {
|
||||
"jar": "sha256-Oq75QsQaT+7i1rdrzurx/2vd3/AxWm3domCvBvjrHUQ="
|
||||
},
|
||||
"org/lwjgl#lwjgl-tinyfd/3.2.3/natives-windows": {
|
||||
"jar": "sha256-Q/M1D+EtGrpiB6b28cq72ujoB110OqCcz2hQ8kh6MTo="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.2.3": {
|
||||
"jar": "sha256-+ZKMO0tUBkOhu9WShtPHF15HCEkmGgwpqBOJ9SJlrYs=",
|
||||
"pom": "sha256-IL2EdryHg3IwMY1rmvYuN1cL2qIqEqJAwwIs0k+t/W0="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.2.3/natives-linux": {
|
||||
"jar": "sha256-ACgQEp/GrEzfzfGQ4YpkOlAhtjAPSJwQJrvF0AFAyi4="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.2.3/natives-linux-arm32": {
|
||||
"jar": "sha256-RrY5yizuoll7Z8yeAEgz0OgnEd92q15SzenGTwGdRNY="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.2.3/natives-linux-arm64": {
|
||||
"jar": "sha256-Pbazlfu2icsYvSetIAVfS8aV7pNZHXHR6kXzEoHG8AM="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.2.3/natives-macos": {
|
||||
"jar": "sha256-XFIMRlqEA0uLwj4dfs1iG7mcQ3zSVOpGtTGXRI0bgSg="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.2.3/natives-windows": {
|
||||
"jar": "sha256-vfUZuaqQ95mVQROhXfqEsnPuR4GHaz7N6/GSzk+Iomw="
|
||||
},
|
||||
"org/lwjgl#lwjgl/3.2.3/natives-windows-x86": {
|
||||
"jar": "sha256-Trduz48tvJzT+iexpL+XhOqRxK/DhpEHRhPVv3o03I8="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/5": {
|
||||
"pom": "sha256-FnjUEgpYXYpjATGu7ExSTZKDmFg7fqthbufVqH9SDT0="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -34,35 +34,6 @@ let
|
||||
# Shared libraries needed by the Java application
|
||||
libraries = lib.makeLibraryPath [ ghostscript ];
|
||||
|
||||
# Fixed-output derivation that fetches the Java dependencies
|
||||
javaDeps = stdenv.mkDerivation {
|
||||
pname = "cie-java-deps";
|
||||
inherit src version;
|
||||
|
||||
nativeBuildInputs = [ gradle ];
|
||||
|
||||
buildPhase = ''
|
||||
# Run the fetchDeps task
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --no-daemon -b cie-java/build.gradle fetchDeps
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
# Build a tree compatible with the maven repository format
|
||||
pushd "$GRADLE_USER_HOME/caches/modules-2/files-2.1"
|
||||
find -type f | awk -F/ -v OFS=/ -v out="$out" '{
|
||||
infile = $0
|
||||
gsub(/\./, "/", $2)
|
||||
system("install -m644 -D "infile" "out"/"$2"/"$3"/"$4"/"$6)
|
||||
}'
|
||||
popd
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-fxrjo4iduXzTgMqmQGwdI1vLMA4EZLObsHyKGZ6b14I=";
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
@@ -101,26 +72,40 @@ stdenv.mkDerivation {
|
||||
# libraries and the Java application builds.
|
||||
preConfigure = "pushd libs";
|
||||
|
||||
postBuild = ''
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
gradleFlags = [
|
||||
"-Dorg.gradle.java.home=${jre}"
|
||||
"--build-file" "cie-java/build.gradle"
|
||||
];
|
||||
|
||||
gradleBuildTask = "standalone";
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
ninjaBuildPhase
|
||||
pushd ../..
|
||||
gradleBuildPhase
|
||||
popd
|
||||
|
||||
# Use the packages in javaDeps for both plugins and dependencies
|
||||
localRepo="maven { url uri('${javaDeps}') }"
|
||||
sed -i cie-java/settings.gradle -e "1i \
|
||||
pluginManagement { repositories { $localRepo } }"
|
||||
substituteInPlace cie-java/build.gradle \
|
||||
--replace 'mavenCentral()' "$localRepo"
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
# Build the Java application
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle standalone \
|
||||
--no-daemon \
|
||||
--offline \
|
||||
--parallel \
|
||||
--info -Dorg.gradle.java.home=${jre} \
|
||||
--build-file cie-java/build.gradle
|
||||
doCheck = true;
|
||||
|
||||
pushd libs/build
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
mesonCheckPhase
|
||||
pushd ../..
|
||||
gradleCheckPhase
|
||||
popd
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
@@ -144,7 +129,7 @@ stdenv.mkDerivation {
|
||||
install -Dm644 LICENSE "$out/share/licenses/cieid/LICENSE"
|
||||
'';
|
||||
|
||||
passthru = { inherit javaDeps; };
|
||||
preGradleUpdate = "cd ../..";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/M0Rf30/cie-middleware-linux";
|
||||
|
||||
+185
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://plugins.gradle.org/m2": {
|
||||
"com/diffplug/durian#durian-collect/1.2.0": {
|
||||
"jar": "sha256-sZTAuIAhzBFsIcHcdvScLB/hda9by3TIume527+aSMw=",
|
||||
"pom": "sha256-i7diCGoKT9KmRzu/kFx0R2OvodWaVjD3O7BLeHLAn/M="
|
||||
},
|
||||
"com/diffplug/durian#durian-core/1.2.0": {
|
||||
"jar": "sha256-F+0KrLOjwWMjMyFou96thpTzKACytH1p1KTEmxFNXa4=",
|
||||
"pom": "sha256-hwMg6QdVNxsBeW/oG6Ul/R3ui3A0b1VFUe7dQonwtmI="
|
||||
},
|
||||
"com/diffplug/durian#durian-io/1.2.0": {
|
||||
"jar": "sha256-CV/R3HeIjAc/C+OaAYFW7lJnInmLCd6eKF7yE14W6sQ=",
|
||||
"pom": "sha256-NQkZQkMk4nUKPdwvobzmqQrIziklaYpgqbTR1uSSL/4="
|
||||
},
|
||||
"com/diffplug/durian#durian-swt.os/4.2.2": {
|
||||
"jar": "sha256-a1Mca0vlgaizLq2GHdwVwsk7IMZl+00z4DgUg8JERfQ=",
|
||||
"module": "sha256-rVlQLGknZu48M0vkliigDctNka4aSPJjLitxUStDXPk=",
|
||||
"pom": "sha256-GzxJFP1eLM4pZq1wdWY5ZBFFwdNCB3CTV4Py3yY2kIU="
|
||||
},
|
||||
"com/diffplug/spotless#com.diffplug.spotless.gradle.plugin/6.25.0": {
|
||||
"pom": "sha256-9FyCsS+qzYWs1HTrppkyL6XeqIQIskfQ5L3pQSkIIjo="
|
||||
},
|
||||
"com/diffplug/spotless#spotless-lib-extra/2.45.0": {
|
||||
"jar": "sha256-YCy7zTgo7pz7LjCn+bMDNcaScTB3FBTUzdKU0h/ly2c=",
|
||||
"module": "sha256-9pnkNfTlzgPbYJpHaO6wNj1uB8ZfvPrx/GKcTnbuf7A=",
|
||||
"pom": "sha256-5x2LkRDdSNLn9KVLi/uozlWpbmteu9T0OpJGZJz1b7A="
|
||||
},
|
||||
"com/diffplug/spotless#spotless-lib/2.45.0": {
|
||||
"jar": "sha256-sllply4dmAKAyirlKRl+2bMWCq5ItQbPGTXwG9Exhmc=",
|
||||
"module": "sha256-+x+8+TUAczrHWcp99E8P9mVTEze0LaAS4on/CINNiQ8=",
|
||||
"pom": "sha256-WKd8IsQLIc8m29tCEwFu9HrM9bBwchfHkyqQ9D+PMNw="
|
||||
},
|
||||
"com/diffplug/spotless#spotless-plugin-gradle/6.25.0": {
|
||||
"jar": "sha256-9euQikxdpGKZ51Q/qtoEAtLEt31Yx7Qy1Lblk0mygKM=",
|
||||
"module": "sha256-RoHRe/PJIF2DeOynBcAAywzJjcx40DATy2iJjGvSx0Q=",
|
||||
"pom": "sha256-q1ZuPYS2w/rHqPySXy279TzZdZywOvPAfQ3EN9OXqNo="
|
||||
},
|
||||
"com/googlecode/concurrent-trees#concurrent-trees/2.6.1": {
|
||||
"jar": "sha256-BONySYTipcv1VgbPo3KlvT08XSohUzpwBOPN5Tl2H6U=",
|
||||
"pom": "sha256-Q8K5sULnBV0fKlgn8QlEkl0idH2XVrMlDAeqtHU4qXE="
|
||||
},
|
||||
"com/googlecode/javaewah#JavaEWAH/1.2.3": {
|
||||
"jar": "sha256-1lImlJcTxMYaeE9BxRFn57Axb5N2Q5jrup5DNrPZVMI=",
|
||||
"pom": "sha256-5O1sZpYgNm+ZOSBln+CsfLyD11PbwNwOseUplzr5byM="
|
||||
},
|
||||
"com/squareup/okhttp3#okhttp/4.12.0": {
|
||||
"jar": "sha256-sQUAgbFLt6On5VpNPvAbXc+rxFO0VzpPwBl2cZHV9OA=",
|
||||
"module": "sha256-YH4iD/ghW5Kdgpu/VPMyiU8UWbTXlZea6vy8wc6lTPM=",
|
||||
"pom": "sha256-fHNwQKlBlSLnxQzAJ0FqcP58dinlKyGZNa3mtBGcfTg="
|
||||
},
|
||||
"com/squareup/okio#okio-jvm/3.6.0": {
|
||||
"jar": "sha256-Z1Q/Bzb8QirpJ+0OUEuYvF4mn9oNNQBXkzfLcT2ihBI=",
|
||||
"module": "sha256-scIZnhwMyWnvYcu+SvLsr5sGQRvd4By69vyRNN/gToo=",
|
||||
"pom": "sha256-YbTXxRWgiU/62SX9cFJiDBQlqGQz/TURO1+rDeiQpX8="
|
||||
},
|
||||
"com/squareup/okio#okio/3.6.0": {
|
||||
"module": "sha256-akesUDZOZZhFlAH7hvm2z832N7mzowRbHMM8v0xAghg=",
|
||||
"pom": "sha256-rrO3CiTBA+0MVFQfNfXFEdJ85gyuN2pZbX1lNpf4zJU="
|
||||
},
|
||||
"commons-codec#commons-codec/1.16.0": {
|
||||
"jar": "sha256-VllfsgsLhbyR0NUD2tULt/G5r8Du1d/6bLslkpAASE0=",
|
||||
"pom": "sha256-bLWVeBnfOTlW/TEaOgw/XuwevEm6Wy0J8/ROYWf6PnQ="
|
||||
},
|
||||
"dev/equo/ide#solstice/1.7.5": {
|
||||
"jar": "sha256-BuFLxDrMMx2ra16iAfxnNk7RI/mCyF+lEx8IF+1lrk8=",
|
||||
"module": "sha256-eYp7cGdyE27iijLt2GOx6fgWE6NJhAXXS+ilyb6/9U8=",
|
||||
"pom": "sha256-20U7urXn2opDE5sNzTuuZykzIfKcTZH1p5XZ/2xS3d8="
|
||||
},
|
||||
"org/apache#apache/29": {
|
||||
"pom": "sha256-PkkDcXSCC70N9jQgqXclWIY5iVTCoGKR+mH3J6w1s3c="
|
||||
},
|
||||
"org/apache/commons#commons-parent/58": {
|
||||
"pom": "sha256-LUsS4YiZBjq9fHUni1+pejcp2Ah4zuy2pA2UbpwNVZA="
|
||||
},
|
||||
"org/eclipse/jgit#org.eclipse.jgit-parent/6.7.0.202309050840-r": {
|
||||
"pom": "sha256-u56FQW2Y0HMfx2f41w6EaAQWAdZnKuItsqx5n3qjkR8="
|
||||
},
|
||||
"org/eclipse/jgit#org.eclipse.jgit/6.7.0.202309050840-r": {
|
||||
"jar": "sha256-tWRHfQkiQaqrUMhKxd0aw3XAGCBE1+VlnTpgqQ4ugBo=",
|
||||
"pom": "sha256-BNB83b8ZjfpuRIuan7lA94HAEq2T2eqCBv4KTTplwZI="
|
||||
},
|
||||
"org/eclipse/platform#org.eclipse.osgi/3.18.300": {
|
||||
"jar": "sha256-urlD5Y7dFzCSOGctunpFrsni2svd24GKjPF3I+oT+iI=",
|
||||
"pom": "sha256-4nl2N1mZxUJ/y8//PzvCD77a+tiqRRArN59cL5fI/rQ="
|
||||
},
|
||||
"org/jetbrains#annotations/13.0": {
|
||||
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
|
||||
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-common/1.9.10": {
|
||||
"jar": "sha256-zeM0G6GKK6JisLfPbFWyDJDo1DTkLJoT5qP3cNuWWog=",
|
||||
"pom": "sha256-fUtwVHkQZ2s738iSWojztr+yRYLJeEVCgFVEzu9JCpI="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.8.21": {
|
||||
"pom": "sha256-m7EH1dXjkwvFl38AekPNILfSTZGxweUo6m7g8kjxTTY="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.9.10": {
|
||||
"jar": "sha256-rGNhv5rR7TgsIQPZcSxHzewWYjK0kD7VluiHawaBybc=",
|
||||
"pom": "sha256-x/pnx5YTILidhaPKWaLhjCxlhQhFWV3K5LRq9pRe3NU="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.8.21": {
|
||||
"pom": "sha256-ODnXKNfDCaXDaLAnC0S08ceHj/XKXTKpogT6o0kUWdg="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.9.10": {
|
||||
"jar": "sha256-pMdNlNZM4avlN2D+A4ndlB9vxVjQ2rNeR8CFoR7IDyg=",
|
||||
"pom": "sha256-X0uU3TBlp3ZMN/oV3irW2B9A1Z+Msz8X0YHGOE+3py4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/1.8.21": {
|
||||
"pom": "sha256-/gzZ4yGT5FMzP9Kx9XfmYvtavGkHECu5Z4F7wTEoD9c="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/1.9.10": {
|
||||
"jar": "sha256-VemJxRK4CQd5n4VDCfO8d4LFs9E5MkQtA3nVxHJxFQQ=",
|
||||
"pom": "sha256-fin79z/fceBnnT3ufmgP1XNGT6AWRKT1irgZ0sCI09I="
|
||||
},
|
||||
"org/junit#junit-bom/5.9.3": {
|
||||
"module": "sha256-tAH9JZAeWCpSSqU0PEs54ovFbiSWHBBpvytLv87ka5M=",
|
||||
"pom": "sha256-TQMpzZ5y8kIOXKFXJMv+b/puX9KIg2FRYnEZD9w0Ltc="
|
||||
},
|
||||
"org/slf4j#slf4j-api/1.7.36": {
|
||||
"jar": "sha256-0+9XXj5JeWeNwBvx3M5RAhSTtNEft/G+itmCh3wWocA=",
|
||||
"pom": "sha256-+wRqnCKUN5KLsRwtJ8i113PriiXmDL0lPZhSEN7cJoQ="
|
||||
},
|
||||
"org/slf4j#slf4j-parent/1.7.36": {
|
||||
"pom": "sha256-uziNN/vN083mTDzt4hg4aTIY3EUfBAQMXfNgp47X6BI="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/5": {
|
||||
"pom": "sha256-FnjUEgpYXYpjATGu7ExSTZKDmFg7fqthbufVqH9SDT0="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/tukaani#xz/1.9": {
|
||||
"jar": "sha256-IRswbPxE+Plt86Cj3a91uoxSie7XfWDXL4ibuFX1NeU=",
|
||||
"pom": "sha256-CTvhsDMxvOKTLWglw36YJy12Ieap6fuTKJoAJRi43Vo="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"com/google/code/gson#gson-parent/2.10.1": {
|
||||
"pom": "sha256-QkjgiCQmxhUYI4XWCGw+8yYudplXGJ4pMGKAuFSCuDM="
|
||||
},
|
||||
"com/google/code/gson#gson/2.10.1": {
|
||||
"jar": "sha256-QkHBSncnw0/uplB+yAExij1KkPBw5FJWgQefuU7kxZM=",
|
||||
"pom": "sha256-0rEVY09cCF20ucn/wmWOieIx/b++IkISGhzZXU2Ujdc="
|
||||
},
|
||||
"commons-io#commons-io/2.15.1": {
|
||||
"jar": "sha256-pYrxLuG2jP0uuwwnyu8WTwhDgaAOyBpIzCdf1+pU4VQ=",
|
||||
"pom": "sha256-Fxoa+CtnWetXQLO4gJrKgBE96vEVMDby9ERZAd/T+R0="
|
||||
},
|
||||
"commons-logging#commons-logging/1.3.0": {
|
||||
"jar": "sha256-ZtPJgEcLmbDFEdrT38CueyZewfsUTpa8AlOooXX9NNk=",
|
||||
"pom": "sha256-je/afOtIiP/k1OYyeJVqGjxRS3W4Nj1nFqG9Zv6WLH8="
|
||||
},
|
||||
"net/java/dev/jna#jna/5.14.0": {
|
||||
"jar": "sha256-NO0eHyf6iWvKUNvE6ZzzcylnzsOHp6DV40hsCWc/6MY=",
|
||||
"pom": "sha256-4E4llRUB3yWtx7Hc22xTNzyUiXuE0+FJISknY+4Hrj0="
|
||||
},
|
||||
"org/apache#apache/31": {
|
||||
"pom": "sha256-VV0MnqppwEKv+SSSe5OB6PgXQTbTVe6tRFIkRS5ikcw="
|
||||
},
|
||||
"org/apache/commons#commons-parent/65": {
|
||||
"pom": "sha256-bPNJX8LmrJE6K38uA/tZCPs/Ip+wbTNY3EVnjVrz424="
|
||||
},
|
||||
"org/apache/pdfbox#fontbox/3.0.2": {
|
||||
"jar": "sha256-ds8EEOkD49txQDKvu0WNWiO5IlO5/fiAA18J6orTraw=",
|
||||
"pom": "sha256-hthT5W8q+Yb6c1s/kH6jh6KXNCLH0F8TwDasuRNal90="
|
||||
},
|
||||
"org/apache/pdfbox#pdfbox-io/3.0.2": {
|
||||
"jar": "sha256-nW535C437zaC53aBEpwxRRXog9UKvB3aljguejHnDjg=",
|
||||
"pom": "sha256-yD3gYR+UMN4W2dakjfXJEPgrkfHgU1xB9Woy9iYwz0c="
|
||||
},
|
||||
"org/apache/pdfbox#pdfbox-parent/3.0.2": {
|
||||
"pom": "sha256-kN6rEjTjkUu8B07Ax3Y7+kFHgICziISpOwtVVxnWY0g="
|
||||
},
|
||||
"org/apache/pdfbox#pdfbox/3.0.2": {
|
||||
"jar": "sha256-yv4sysEB6ao63z9+p23/AuWIWislWLdfr/l0dvBIfuI=",
|
||||
"pom": "sha256-wMNAwn6AF2V+Y81PaJUG8U03Y10NFebRpAjysZFGax8="
|
||||
},
|
||||
"org/junit#junit-bom/5.10.1": {
|
||||
"module": "sha256-IbCvz//i7LN3D16wCuehn+rulOdx+jkYFzhQ2ueAZ7c=",
|
||||
"pom": "sha256-IcSwKG9LIAaVd/9LIJeKhcEArIpGtvHIZy+6qzN7w/I="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -23,21 +23,13 @@ let
|
||||
gradle
|
||||
];
|
||||
|
||||
buildPhase = args.buildPhase or ''
|
||||
runHook preBuild
|
||||
|
||||
preBuild = ''
|
||||
# Set project name, otherwise defaults to directory name
|
||||
echo -e '\nrootProject.name = "${pname}"' >> settings.gradle
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle \
|
||||
--offline \
|
||||
--no-daemon \
|
||||
-PGHIDRA_INSTALL_DIR=${ghidra}/lib/ghidra
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
gradleFlags = [ "-PGHIDRA_INSTALL_DIR=${ghidra}/lib/ghidra" ];
|
||||
|
||||
installPhase = args.installPhase or ''
|
||||
runHook preInstall
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
lib,
|
||||
callPackage,
|
||||
gradle_7,
|
||||
perl,
|
||||
makeBinaryWrapper,
|
||||
openjdk17,
|
||||
unzip,
|
||||
@@ -76,69 +75,6 @@ let
|
||||
HERE
|
||||
'';
|
||||
|
||||
# Adds a gradle step that downloads all the dependencies to the gradle cache.
|
||||
addResolveStep = ''
|
||||
cat >>build.gradle <<HERE
|
||||
task resolveDependencies {
|
||||
doLast {
|
||||
project.rootProject.allprojects.each { subProject ->
|
||||
subProject.buildscript.configurations.each { configuration ->
|
||||
resolveConfiguration(subProject, configuration, "buildscript config \''${configuration.name}")
|
||||
}
|
||||
subProject.configurations.each { configuration ->
|
||||
resolveConfiguration(subProject, configuration, "config \''${configuration.name}")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
void resolveConfiguration(subProject, configuration, name) {
|
||||
if (configuration.canBeResolved) {
|
||||
logger.info("Resolving project {} {}", subProject.name, name)
|
||||
configuration.resolve()
|
||||
}
|
||||
}
|
||||
HERE
|
||||
'';
|
||||
|
||||
# fake build to pre-download deps into fixed-output derivation
|
||||
# Taken from mindustry derivation.
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit version src patches;
|
||||
|
||||
postPatch = addResolveStep;
|
||||
|
||||
nativeBuildInputs = [
|
||||
gradle
|
||||
perl
|
||||
] ++ lib.optional stdenv.isDarwin xcbuild;
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
export HOME="$NIX_BUILD_TOP/home"
|
||||
mkdir -p "$HOME"
|
||||
export JAVA_TOOL_OPTIONS="-Duser.home='$HOME'"
|
||||
export GRADLE_USER_HOME="$HOME/.gradle"
|
||||
|
||||
# First, fetch the static dependencies.
|
||||
gradle --no-daemon --info -Dorg.gradle.java.home=${openjdk17} -I gradle/support/fetchDependencies.gradle init
|
||||
|
||||
# Then, fetch the maven dependencies.
|
||||
gradle --no-daemon --info -Dorg.gradle.java.home=${openjdk17} resolveDependencies
|
||||
runHook postBuild
|
||||
'';
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/maven/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
cp -r dependencies $out/dependencies
|
||||
runHook postInstall
|
||||
'';
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-66gL4UFlBUo2JIEOXoF6tFvXtBdEX4b2MeSrV1b6Vg4=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
inherit
|
||||
@@ -187,20 +123,20 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
export HOME="$NIX_BUILD_TOP/home"
|
||||
mkdir -p "$HOME"
|
||||
export JAVA_TOOL_OPTIONS="-Duser.home='$HOME'"
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
ln -s ${deps}/dependencies dependencies
|
||||
gradleFlags = [ "-Dorg.gradle.java.home=${openjdk17}" ];
|
||||
|
||||
sed -i "s#mavenLocal()#mavenLocal(); maven { url '${deps}/maven' }#g" build.gradle
|
||||
|
||||
gradle --offline --no-daemon --info -Dorg.gradle.java.home=${openjdk17} buildGhidra
|
||||
runHook postBuild
|
||||
preBuild = ''
|
||||
export JAVA_TOOL_OPTIONS="-Duser.home=$NIX_BUILD_TOP/home"
|
||||
gradle -I gradle/support/fetchDependencies.gradle init
|
||||
'';
|
||||
|
||||
gradleBuildTask = "buildGhidra";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
|
||||
Generated
+754
@@ -0,0 +1,754 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://archive.eclipse.org": {
|
||||
"tools/cdt/releases/8.6/cdt-8.6.0": {
|
||||
"zip": "sha256-gbfRnVfEowCfR2FpmnLo1kK14dklHSu5jfQ4seKPi6k="
|
||||
}
|
||||
},
|
||||
"https://files.pythonhosted.org/packages": {
|
||||
"27/d6/003e593296a85fd6ed616ed962795b2f87709c3eee2bca4f6d0fe55c6d00/wheel-0.37.1-py2.py3-none-any": {
|
||||
"whl": "sha256-S9zX2EATgIYSbNCSVNxhlftPxvAcBQodcjbyYw2x0io="
|
||||
},
|
||||
"2d/e0/f877c91e036fcaed2a827f80d6cbdf1d26cffc3333c9ebda31c55c45f050/Pybag-2.2.10-py3-none-any": {
|
||||
"whl": "sha256-gc8eM91mfdIX3FahIzJnluZ5m4Vp8sbvt4wWN1yvmys="
|
||||
},
|
||||
"50/8f/518a37381e55a8857a638afa86143efa5508434613541402d20611a1b322/comtypes-1.4.1-py3-none-any": {
|
||||
"whl": "sha256-ogig48ocClNic12g/2YYIoAdzocxK4lNfXUq3QEKIbA="
|
||||
},
|
||||
"83/1c/25b79fc3ec99b19b0a0730cc47356f7e2959863bf9f3cd314332bddb4f68/pywin32-306-cp312-cp312-win_amd64": {
|
||||
"whl": "sha256-NyV3lMGtOe6b5lLaBGLcLjlMgVnf2ROopOjrb9NG2g4="
|
||||
},
|
||||
"8d/14/619e24a4c70df2901e1f4dbc50a6291eb63a759172558df326347dce1f0d/protobuf-3.20.3-py2.py3-none-any": {
|
||||
"whl": "sha256-p8ptSIqo/38ynUxUWy262KwxRk8dixyHrRNGcXcx5Ns="
|
||||
},
|
||||
"90/c7/6dc0a455d111f68ee43f27793971cf03fe29b6ef972042549db29eec39a2/psutil-5.9.8": {
|
||||
"tar.gz": "sha256-a+Em4yJUht/yhqj7mgYkalJT9MfFO0depfWsk05kGUw="
|
||||
},
|
||||
"c7/42/be1c7bbdd83e1bfb160c94b9cafd8e25efc7400346cf7ccdbdb452c467fa/setuptools-68.0.0-py3-none-any": {
|
||||
"whl": "sha256-EeUsZ0FaOB0Q1rRiztnPuXBmF58OhxOZ4AbEqxAfyF8="
|
||||
},
|
||||
"d0/dd/b28df50316ca193dd1275a4c47115a720796d9e1501c1888c4bfa5dc2260/capstone-5.0.1-py3-none-win_amd64": {
|
||||
"whl": "sha256-G/pcgeaIDK9BoxlGzW0tBpwEi8wi7fEhJUtQGgSN5nU="
|
||||
}
|
||||
},
|
||||
"https://ftp.postgresql.org": {
|
||||
"pub/source/v15.3/postgresql-15.3": {
|
||||
"tar.gz": "sha256-CG04Uz4odHlmpNXx546kMuM6ePIdy5EzAQ7LUYn62Yw="
|
||||
}
|
||||
},
|
||||
"https://github.com": {
|
||||
"NationalSecurityAgency/ghidra-data/raw/Ghidra_11.1.1/FunctionID/vs2012_x64": {
|
||||
"fidb": "sha256-1OmKs/eQuDF5MhhDC7oNiySl+/TaZbDB/6jLDPvrDNw="
|
||||
},
|
||||
"NationalSecurityAgency/ghidra-data/raw/Ghidra_11.1.1/FunctionID/vs2012_x86": {
|
||||
"fidb": "sha256-pJDtfi7SHlh0Wf6urOcDa37eTOhOcuEN/YxXQ0ppGLY="
|
||||
},
|
||||
"NationalSecurityAgency/ghidra-data/raw/Ghidra_11.1.1/FunctionID/vs2015_x64": {
|
||||
"fidb": "sha256-4E6eQPnstgHIX02E7Zv2a0U2O+HR6CwWLkyZArjLUI8="
|
||||
},
|
||||
"NationalSecurityAgency/ghidra-data/raw/Ghidra_11.1.1/FunctionID/vs2015_x86": {
|
||||
"fidb": "sha256-tm7mlmU+LtNlkZ3qrviFEDEgx5LiLnmvcNEgnX4dhkQ="
|
||||
},
|
||||
"NationalSecurityAgency/ghidra-data/raw/Ghidra_11.1.1/FunctionID/vs2017_x64": {
|
||||
"fidb": "sha256-1fpfaXKYF0+lPSR9NZnmoSiEYFrRgce5VOI4DsHwvYk="
|
||||
},
|
||||
"NationalSecurityAgency/ghidra-data/raw/Ghidra_11.1.1/FunctionID/vs2017_x86": {
|
||||
"fidb": "sha256-04nLjXb/SlnKNfiRuFIccq1fDfluJTlzotIahhSkzIE="
|
||||
},
|
||||
"NationalSecurityAgency/ghidra-data/raw/Ghidra_11.1.1/FunctionID/vs2019_x64": {
|
||||
"fidb": "sha256-FQAHeW/DakBpZgrWJEmq2q890Rs4ZKXvIeeYMcnOkRg="
|
||||
},
|
||||
"NationalSecurityAgency/ghidra-data/raw/Ghidra_11.1.1/FunctionID/vs2019_x86": {
|
||||
"fidb": "sha256-62MKNvqlhqNx63NNwLvY0TzK72l/PbWHJZY1jz3SQyo="
|
||||
},
|
||||
"NationalSecurityAgency/ghidra-data/raw/Ghidra_11.1.1/FunctionID/vsOlder_x64": {
|
||||
"fidb": "sha256-jDtR9GYM0n4aDWEKnz8tX7yDOmasnuQ5PuLySB6FWGY="
|
||||
},
|
||||
"NationalSecurityAgency/ghidra-data/raw/Ghidra_11.1.1/FunctionID/vsOlder_x86": {
|
||||
"fidb": "sha256-mGBca2uSFKlF2ETkHIWGDVRkmkW8p4c+9pkcDpNyB4c="
|
||||
},
|
||||
"NationalSecurityAgency/ghidra-data/raw/Ghidra_11.1.1/lib/java-sarif-2.1-modified": {
|
||||
"jar": "sha256-f3NlZklHVtJxql5LGvbIncUNB0qxxjdKR9+CImQiawE="
|
||||
},
|
||||
"pxb1988/dex2jar/releases/download/v2.1/dex2jar-2.1": {
|
||||
"zip": "sha256-epvfhD1D3k0elOwue29VglAXsMSn7jn/gmYOJJOkbwg="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"biz/aQute/bnd#biz.aQute.bnd.util/7.0.0": {
|
||||
"jar": "sha256-OVddFQJJliqcbUbM5+Zy53fIqGIKHS0iDH8sCnmediM=",
|
||||
"pom": "sha256-+dgDJLl2Hp3ipFoP6naPWZRH9AxuQZ8gje2MrxIYAMU="
|
||||
},
|
||||
"biz/aQute/bnd#biz.aQute.bndlib/7.0.0": {
|
||||
"jar": "sha256-gKVp0AbzLpJc7kzor5Jrfm/aqqtcy/1f5MnN/5xN0t8=",
|
||||
"pom": "sha256-mOuywO2iBtxb79bFJsjCAneApDvymekXyzwDXwOYp9I="
|
||||
},
|
||||
"com/beust#jcommander/1.64": {
|
||||
"jar": "sha256-FWvnNhmcmQMh2f93CQsZlinPyYZeLWwT980pG7FkGBc=",
|
||||
"pom": "sha256-F84MMunPlTZ4+CCuXyrZLu85bYQPZn/JnyOtwK0l0yg="
|
||||
},
|
||||
"com/formdev#flatlaf/3.2.1": {
|
||||
"jar": "sha256-fYMX/hOyYIiZTWZmOvjofBI5DugIf3unS2hjj0pV9EA=",
|
||||
"module": "sha256-kU7FLZBJj8ctFju0F1UhHnW7yfy3ip5wTZn/Mvfzywg=",
|
||||
"pom": "sha256-uKf+YYO269HIAaqwdGnF2UFRQFSftLdpkqyALuJeGtE="
|
||||
},
|
||||
"com/github/rotty3000#phidias/0.3.7": {
|
||||
"jar": "sha256-yNB2DOOw7RRT1DW83THjTwvjrAkCTn4amLijzr9Ka7U=",
|
||||
"pom": "sha256-FY+kDQZfFCR5B7aSIiRY152eFjsTz1tfrHvgIkLMK60="
|
||||
},
|
||||
"com/github/tomnelson#jungrapht-layout/1.4": {
|
||||
"jar": "sha256-owQBKdw57SMms2yhXGNEIu5XmkYXhmj5lELjiz5gcJk=",
|
||||
"pom": "sha256-TO0lLb8YrUWTvoW6bWycCdvB7tZEjZtZneziavTnyN4="
|
||||
},
|
||||
"com/github/tomnelson#jungrapht-visualization-parent/1.4": {
|
||||
"pom": "sha256-s5gyFq8VA62ryVOkKXKO1kpORbvDj++2wgOiiUPCq+w="
|
||||
},
|
||||
"com/github/tomnelson#jungrapht-visualization/1.4": {
|
||||
"jar": "sha256-lwU6HdLNqyY/tWEfG8grhiswmflR480FZOPiPRk/Tdg=",
|
||||
"pom": "sha256-YE8saHqHsq0L90QETPJmynWuKdPPCa383C5WEjDOtoY="
|
||||
},
|
||||
"com/google/code/findbugs#jsr305/3.0.2": {
|
||||
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
|
||||
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
|
||||
},
|
||||
"com/google/code/gson#gson-parent/2.9.0": {
|
||||
"pom": "sha256-r3gcmldm/+oxGg3wU2V2pk3sxmGqEQxN5cc6yL9DRCQ="
|
||||
},
|
||||
"com/google/code/gson#gson/2.9.0": {
|
||||
"jar": "sha256-yW1gVRMxoZbaxUt0WqZCzQeO+JtvJnFGtwXywsvvBS0=",
|
||||
"pom": "sha256-cZDQsH8njp9MYD9E5UOUD4HPGiVZ+FHG8pjJuyvil4w="
|
||||
},
|
||||
"com/google/errorprone#error_prone_annotations/2.2.0": {
|
||||
"jar": "sha256-br0iyhudjsBtQd6NZOBZaYHZYHtCA1+e03T53icaSBo=",
|
||||
"pom": "sha256-XgJY6huk5RoTN0JoC8IkSPerIUvkBz6GGfZF7xvkLdU="
|
||||
},
|
||||
"com/google/errorprone#error_prone_annotations/2.21.1": {
|
||||
"jar": "sha256-0fPGaqkaxSVJ4Arjsgi6S5r31y1o8jBkNVO+s45hGKw=",
|
||||
"pom": "sha256-9ZiID+766p1nTcQdsTqzcAS/A3drW7IcBN7ejpIMHxI="
|
||||
},
|
||||
"com/google/errorprone#error_prone_parent/2.2.0": {
|
||||
"pom": "sha256-xGCQLd9ezmiDLGsnHOUqCSiwXPOmrIGo9UjHPL1UETg="
|
||||
},
|
||||
"com/google/errorprone#error_prone_parent/2.21.1": {
|
||||
"pom": "sha256-MrsLX/JB/Wuh/upEiuu5zt7xaZvnPLbzGTZTh7gr+Sw="
|
||||
},
|
||||
"com/google/gradle#osdetector-gradle-plugin/1.7.0": {
|
||||
"jar": "sha256-29oheMFO1rk6GEsay/ONchBwAiUmaMERz0EeyjfkHKY=",
|
||||
"pom": "sha256-6BYywu6apI5+zwVHUSwcOGVgwNRqlY7lBVD3693xNRc="
|
||||
},
|
||||
"com/google/guava#failureaccess/1.0.1": {
|
||||
"jar": "sha256-oXHuTHNN0tqDfksWvp30Zhr6typBra8x64Tf2vk2yiY=",
|
||||
"pom": "sha256-6WBCznj+y6DaK+lkUilHyHtAopG1/TzWcqQ0kkEDxLk="
|
||||
},
|
||||
"com/google/guava#guava-parent/19.0": {
|
||||
"pom": "sha256-O3b/Q+zfEPdNo25KritHDJ0GPgU8XKAm9VEq6U8cPhA="
|
||||
},
|
||||
"com/google/guava#guava-parent/26.0-android": {
|
||||
"pom": "sha256-+GmKtGypls6InBr8jKTyXrisawNNyJjUWDdCNgAWzAQ="
|
||||
},
|
||||
"com/google/guava#guava-parent/27.0.1-jre": {
|
||||
"pom": "sha256-MX6IKRJi4M8oBelWwYhQ8dRWXIXC4REvXZ0Iqxcy5pY="
|
||||
},
|
||||
"com/google/guava#guava-parent/27.1-android": {
|
||||
"pom": "sha256-1oF79aZ2AKOTpoA9UfR8159KXth1cqg3K++S4nNRgXI="
|
||||
},
|
||||
"com/google/guava#guava-parent/32.1.3-jre": {
|
||||
"pom": "sha256-8oPB8EiXqaiKP6T/RoBOZeghFICaCc0ECUv33gGxhXs="
|
||||
},
|
||||
"com/google/guava#guava/19.0": {
|
||||
"pom": "sha256-rdwGTafxB3/fTckOWqqIfNeQhQ0bdP4ubiXV94VRrGM="
|
||||
},
|
||||
"com/google/guava#guava/27.0.1-jre": {
|
||||
"jar": "sha256-4cgU/QRJKifDjgMX6r6qGz6VDsgBAjnkAP6QrWyRB7Q=",
|
||||
"pom": "sha256-ao3QQfI6a7FKhuRA/MuZNTe2InE1eg2sCjyw/zkVjzY="
|
||||
},
|
||||
"com/google/guava#guava/27.1-android": {
|
||||
"pom": "sha256-KUYNJundBml2Ak+RJoMlzxHzkScNiPi1MewGQqNbwNw="
|
||||
},
|
||||
"com/google/guava#guava/32.1.3-jre": {
|
||||
"jar": "sha256-bU4rWhGKq2Lm5eKdGFoCJO7YLIXECsPTPPBKJww7N0Q=",
|
||||
"module": "sha256-9f/3ZCwS52J7wUKJ/SZ+JgLBf5WQ4jUiw+YxB/YcKUI=",
|
||||
"pom": "sha256-cA5tRudbWTmiKkHCXsK7Ei88vvTv7UXjMS/dy+mT2zM="
|
||||
},
|
||||
"com/google/guava#listenablefuture/9999.0-empty-to-avoid-conflict-with-guava": {
|
||||
"jar": "sha256-s3KgN9QjCqV/vv/e8w/WEj+cDC24XQrO0AyRuXTzP5k=",
|
||||
"pom": "sha256-GNSx2yYVPU5VB5zh92ux/gXNuGLvmVSojLzE/zi4Z5s="
|
||||
},
|
||||
"com/google/j2objc#j2objc-annotations/1.1": {
|
||||
"jar": "sha256-KZSn63jycQvT07+2ObLJTiGc7awNTQhNUW54wW3d7PY=",
|
||||
"pom": "sha256-8MmMVx6Tp8tN0Y3w+jCPCWPnoGIKwtQkTmHnCdA61r4="
|
||||
},
|
||||
"com/google/j2objc#j2objc-annotations/2.8": {
|
||||
"jar": "sha256-8CqV+hpele2z7YWf0Pt99wnRIaNSkO/4t03OKrf01u0=",
|
||||
"pom": "sha256-N/h3mLGDhRE8kYv6nhJ2/lBzXvj6hJtYAMUZ1U2/Efg="
|
||||
},
|
||||
"com/google/protobuf#protobuf-bom/3.17.3": {
|
||||
"pom": "sha256-bf431vImF9VqQUzNrf+NmFhaH3kXEr6HbCYWZxDR2N0="
|
||||
},
|
||||
"com/google/protobuf#protobuf-bom/3.21.8": {
|
||||
"pom": "sha256-+7Ds/DyjGFddtifjOuRUwT1qTcp68UXRTT9m4IY8PPo="
|
||||
},
|
||||
"com/google/protobuf#protobuf-gradle-plugin/0.8.18": {
|
||||
"jar": "sha256-RP2JrzepsvHdQcCUqbtzPAe/f8eg4jhooQuvbjUfpeA=",
|
||||
"pom": "sha256-Gwqekab09LYqWmB4wibudwqo3FdnueRzwvwY8KOImAQ="
|
||||
},
|
||||
"com/google/protobuf#protobuf-java/3.17.3": {
|
||||
"jar": "sha256-SsVJsZJpQUGVgEnwYKHIJqMzQvYZ4QjO2MF9mHf14+0=",
|
||||
"pom": "sha256-Km8izVJli4uxTBANs+F5NT+MNR0ENzo79voKOzlGStw="
|
||||
},
|
||||
"com/google/protobuf#protobuf-java/3.21.8": {
|
||||
"jar": "sha256-C4WBrYENLfrv0Nz78VabFFBEhlAjjX4v1rF2yTLQjJU=",
|
||||
"pom": "sha256-OJBUBuApx6MYaW8O4RnFXM7HizN+oR5MMZWfDgardAg="
|
||||
},
|
||||
"com/google/protobuf#protobuf-parent/3.17.3": {
|
||||
"pom": "sha256-T09Q5moqvM/o7SCbU/q3C4k+NfQ77FqB98GESbY+hrE="
|
||||
},
|
||||
"com/google/protobuf#protobuf-parent/3.21.8": {
|
||||
"pom": "sha256-bHKyrDl1sAnR5FdQlVnp+onyV4vShD3LTWo+XPgRFws="
|
||||
},
|
||||
"com/googlecode/json-simple#json-simple/1.1.1": {
|
||||
"jar": "sha256-TmlpaJK4i0HFXUmrL9zCHurZK/VKzFiMAFBZbDt1GZw=",
|
||||
"pom": "sha256-Zl9jWQ3vtj1irdIdNSU2LPk3z2ocBeSwFFuujailf4M="
|
||||
},
|
||||
"com/h2database#h2/2.2.220": {
|
||||
"jar": "sha256-l4q4YwGNP5ZeOIgFccNik+qLEKgIYZQVnE1dILUPClc=",
|
||||
"pom": "sha256-tbp8XBcINbyupnWMWfo8EOvNepx5LiWzm4a559X72Mo="
|
||||
},
|
||||
"com/jcraft#jsch/0.1.55": {
|
||||
"jar": "sha256-1JKxWm0uo/HMOcQiyVPEDBIokHPb6DYNmMD2+ex0/EQ=",
|
||||
"pom": "sha256-dHx0jR8BBx6j0PhHb2jUqCOjE7dycB2FUck+qqV/n5k="
|
||||
},
|
||||
"com/opencsv#opencsv/5.4": {
|
||||
"jar": "sha256-n94e8+VEQE406u4V5L97p0uANV15gJOwUk1jpZk2JCs=",
|
||||
"pom": "sha256-uGQpmn0KIQIKgxaZQ499P4VAirJKNOkR+qmf9oTrdv0="
|
||||
},
|
||||
"com/oracle/labs/olcut#olcut-config-protobuf/5.2.0": {
|
||||
"jar": "sha256-xmqG5GT9gi9xzu6JuSU3l8Pc/fZWxNsr+W2kceuXs8o=",
|
||||
"pom": "sha256-JCBA8xgQ+I6pnGF7RUBrhmdtOvJa7jzZIoysQpd0zmk="
|
||||
},
|
||||
"com/oracle/labs/olcut#olcut-core/5.2.0": {
|
||||
"jar": "sha256-5T6OCQrUJo0iqlPgaCu76rHIHiyoRBP6Q2AqQWP2vhk=",
|
||||
"pom": "sha256-G912ta/r+7rg+FHQjJ46WmgwP40cMHY4rxuChHVvCgM="
|
||||
},
|
||||
"com/oracle/labs/olcut#olcut/5.2.0": {
|
||||
"pom": "sha256-SRIriefVQhUkr5IsQrsnF0x7vhL2oKKWwiEJgIUW/B4="
|
||||
},
|
||||
"commons-beanutils#commons-beanutils/1.9.4": {
|
||||
"jar": "sha256-fZOMgXiQKARcCMBl6UvnX8KAUnYg1b1itRnVg4UyNoo=",
|
||||
"pom": "sha256-w1zKe2HUZ42VeMvAuQG4cXtTmr+SVEQdp4uP5g3gZNA="
|
||||
},
|
||||
"commons-collections#commons-collections/3.2.2": {
|
||||
"jar": "sha256-7urpF5FxRKaKdB1MDf9mqlxcX9hVk/8he87T/Iyng7g=",
|
||||
"pom": "sha256-1dgfzCiMDYxxHDAgB8raSqmiJu0aES1LqmTLHWMiFws="
|
||||
},
|
||||
"commons-io#commons-io/2.11.0": {
|
||||
"jar": "sha256-lhsvbYfbrMXVSr9Fq3puJJX4m3VZiWLYxyPOqbwhCQg=",
|
||||
"pom": "sha256-LgFv1+MkS18sIKytg02TqkeQSG7h5FZGQTYaPoMe71k="
|
||||
},
|
||||
"commons-lang#commons-lang/2.6": {
|
||||
"jar": "sha256-UPEbCfh3wpTVbyRGP0fSj5Kc9QRPZIZhwPDPuumi9Jw=",
|
||||
"pom": "sha256-7Xa4iRwwtWYonHQ2Vvik1DWYaYJDjUDFZ8YmIzJH5xE="
|
||||
},
|
||||
"commons-logging#commons-logging/1.2": {
|
||||
"jar": "sha256-2t3qHqC+D1aXirMAa4rJKDSv7vvZt+TmMW/KV98PpjY=",
|
||||
"pom": "sha256-yRq1qlcNhvb9B8wVjsa8LFAIBAKXLukXn+JBAHOfuyA="
|
||||
},
|
||||
"javax/help#javahelp/2.0.05": {
|
||||
"jar": "sha256-/PSSLTj/hRhPHSMoMXu2CCbhTalIq9YG7j1bjGpw3r0=",
|
||||
"pom": "sha256-uIEr4lGsoTl/S2pCO/Tt06KERONFOyIDtTSTNrmVgik="
|
||||
},
|
||||
"junit#junit/4.10": {
|
||||
"jar": "sha256-NqdHyh4LhvbqiAVbhyO7hwMNYndm2mKIvwd6/e6w91o=",
|
||||
"pom": "sha256-IqG/C6rothBretgCbs8nxZ5+R920nWKXUDa+rbLGLrU="
|
||||
},
|
||||
"junit#junit/4.12": {
|
||||
"jar": "sha256-WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo=",
|
||||
"pom": "sha256-kPFj944/+28cetl96efrpO6iWAcUG4XW0SvmfKJUScQ="
|
||||
},
|
||||
"kr/motd/maven#os-maven-plugin/1.7.0": {
|
||||
"jar": "sha256-lDBTUBpCnlPRxNYhUu7BJfo2Yg4NxmtzkKiVCXz96s4=",
|
||||
"pom": "sha256-xPVqjuqlJp76BdsB4xMJBf9b24frKuPnZhVOmuoYO6Y="
|
||||
},
|
||||
"msv#isorelax/20050913": {
|
||||
"jar": "sha256-NCcVJDHPf5Z/kuaeXKwWFHxdj7S05ainL1KReI78/4w=",
|
||||
"pom": "sha256-u54IxYm/b2BxTQ+dMcLtdwPK9nf+muOSFrzKt3SkfNk="
|
||||
},
|
||||
"msv#msv/20050913": {
|
||||
"jar": "sha256-FL46VQ5QhDO0/hB3XVQOnrWLPvBO10Vrx8fShckMh6I=",
|
||||
"pom": "sha256-eoaknOHugXmjgCLiMZHkjPW1fkEEr2tXSJ3bjN7GoNY="
|
||||
},
|
||||
"msv#relaxngDatatype/20050913": {
|
||||
"jar": "sha256-TUWpPrXNwyYxlmZzyVS4P8m2CgaBu93O+ixJdtBM3fI=",
|
||||
"pom": "sha256-F/kF72gZZRismj53oNXlGY1g9D/8kEsiCcoEZhfyLfk="
|
||||
},
|
||||
"msv#xsdlib/20050913": {
|
||||
"jar": "sha256-a476GP9XDAkW2nAsRpBrnooTnhwF2/Hk2L3rokTBsrM=",
|
||||
"pom": "sha256-Ti8Z4AifVdrd/gOXbyhwCXvAaJcWVQ/p3r10KwrKZ5Y="
|
||||
},
|
||||
"net/java/dev/javacc#javacc/5.0": {
|
||||
"jar": "sha256-cRExYbyM9mQVFVQcKBgCi4fHjsLo/6p1MXaG7giWe4k=",
|
||||
"pom": "sha256-lBZg1Hgi+cDYDUDqBtSYH83CuHzGJTgbVF79fmtEnO8="
|
||||
},
|
||||
"net/java/dev/jna#jna-platform/5.14.0": {
|
||||
"jar": "sha256-rkys6zhAcwwlN/m3+1WgG6ulgChrQSKVFIi87lWMJEk=",
|
||||
"pom": "sha256-bLoOBPnuyxZIYAB5O7J+EDsPTQSF4FVOK0wK7RPS7RY="
|
||||
},
|
||||
"net/java/dev/jna#jna/5.14.0": {
|
||||
"jar": "sha256-NO0eHyf6iWvKUNvE6ZzzcylnzsOHp6DV40hsCWc/6MY=",
|
||||
"pom": "sha256-4E4llRUB3yWtx7Hc22xTNzyUiXuE0+FJISknY+4Hrj0="
|
||||
},
|
||||
"net/java/dev/timingframework#timingframework/1.0": {
|
||||
"jar": "sha256-dGHpJGw7BRkWRaf5TBBGgMwxhlu02RIIKsAv93Egz0s=",
|
||||
"pom": "sha256-EHm33r9dRb/PyG6euBCvHRhqN11glaDpHKKM2a8pwtA="
|
||||
},
|
||||
"net/sf/jung#jung-algorithms/2.1.1": {
|
||||
"jar": "sha256-7ROOL2srLxOvYaE/F4i85vHeiFjELucKfUHmKDk3owo=",
|
||||
"pom": "sha256-INw/C+7taPkCw/AtO6qJ8eI0xNSWeyIS15HBjw/a6Qs="
|
||||
},
|
||||
"net/sf/jung#jung-api/2.1.1": {
|
||||
"jar": "sha256-bLc1ljw21RVdDeXxmgNIW5om5nVQ4WCz3YkAmm9RaU4=",
|
||||
"pom": "sha256-3vtMVoVkg6Trdxnh4WiqYKtjnkPJJRKGZYNzLyPxOgs="
|
||||
},
|
||||
"net/sf/jung#jung-graph-impl/2.1.1": {
|
||||
"jar": "sha256-SRHaBNd7T3u0ZaZa48w6AAyuTVK1h5EePAtMS2Q0k8E=",
|
||||
"pom": "sha256-DXLiLd6PiBAEu7aagzjuxtnpGTlg9BRDOBlhYPhJqLQ="
|
||||
},
|
||||
"net/sf/jung#jung-parent/2.1.1": {
|
||||
"pom": "sha256-os5T0/ynH/HQQ3FfmhowSo5KrhwGRa2QOMrkxSE2i+Q="
|
||||
},
|
||||
"net/sf/jung#jung-visualization/2.1.1": {
|
||||
"jar": "sha256-kzuibCMIw79FZsOCiXm2itdCJyRXFxLlrw3odr3/oq4=",
|
||||
"pom": "sha256-ayUROtpk+JgoOQmGsyWE0nNsBE+7iVz1Bo6BQWo9l+w="
|
||||
},
|
||||
"net/sf/sevenzipjbinding#sevenzipjbinding-all-platforms/16.02-2.01": {
|
||||
"jar": "sha256-cvq1Op0x4W1lP+H0AAEdAqf2vGqR6GNLXPrVzhXUZ7s=",
|
||||
"pom": "sha256-u3FCxepITF/phCbcFezhuYu/3UZTRWqI2idCHXJnAmU="
|
||||
},
|
||||
"net/sf/sevenzipjbinding#sevenzipjbinding/16.02-2.01": {
|
||||
"jar": "sha256-Ezyj9pyMc12Jl8CUd1BPSKny5h6ntwSzcUqQZrHvuI4=",
|
||||
"pom": "sha256-pdF4WGwNvc4V3cKlKBaE04ek8jW10bklWzls7TaWhcE="
|
||||
},
|
||||
"org/antlr#ST4/4.0.8": {
|
||||
"jar": "sha256-WMqrxAyfdLC1mT/YaOD2SlDAdZCU5qJRqq+tmO38ejs=",
|
||||
"pom": "sha256-PAiQ3scRdOs7o9QEyp40GQH/awQhgIsAcTsNuxMGwXw="
|
||||
},
|
||||
"org/antlr#antlr-master/3.5.2": {
|
||||
"pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y="
|
||||
},
|
||||
"org/antlr#antlr-runtime/3.5.2": {
|
||||
"jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=",
|
||||
"pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU="
|
||||
},
|
||||
"org/antlr#antlr/3.5.2": {
|
||||
"jar": "sha256-WsNsKs+woPPTfa/iC1tXDyZD4tAAxkjURQPCc4vmQ98=",
|
||||
"pom": "sha256-Bl5egGYv64WHldPAH3cUJHvdMZRZcF7hOxpLGWj6IuQ="
|
||||
},
|
||||
"org/apache#apache/13": {
|
||||
"pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0="
|
||||
},
|
||||
"org/apache#apache/16": {
|
||||
"pom": "sha256-n4X/L9fWyzCXqkf7QZ7n8OvoaRCfmKup9Oyj9J50pA4="
|
||||
},
|
||||
"org/apache#apache/19": {
|
||||
"pom": "sha256-kfejMJbqabrCy69tAf65NMrAAsSNjIz6nCQLQPHsId8="
|
||||
},
|
||||
"org/apache#apache/21": {
|
||||
"pom": "sha256-rxDBCNoBTxfK+se1KytLWjocGCZfoq+XoyXZFDU3s4A="
|
||||
},
|
||||
"org/apache#apache/23": {
|
||||
"pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw="
|
||||
},
|
||||
"org/apache#apache/27": {
|
||||
"pom": "sha256-srD8aeIqZQw4kvHDZtdwdvKVdcZzjfTHpwpEhESEzfk="
|
||||
},
|
||||
"org/apache#apache/7": {
|
||||
"pom": "sha256-E5fOHbQzrcnyI9vwdJbRM2gUSHUfSuKeWPaOePtLbCU="
|
||||
},
|
||||
"org/apache/commons#commons-collections4/4.1": {
|
||||
"jar": "sha256-sf6LWWi1fYRlQlNX7S2dxpVQRRi+0t9bVlxLjmjByKU=",
|
||||
"pom": "sha256-wK1C6RA1N5YNmnTaWOzCTdGjehPR5MSPCWm+k+QBg2k="
|
||||
},
|
||||
"org/apache/commons#commons-collections4/4.4": {
|
||||
"jar": "sha256-Hfi5QwtcjtFD14FeQD4z71NxskAKrb6b2giDdi4IRtE=",
|
||||
"pom": "sha256-JxvWc4Oa9G5zr/lX4pGNS/lvWsT2xs9NW+k/0fEnHE0="
|
||||
},
|
||||
"org/apache/commons#commons-compress/1.21": {
|
||||
"jar": "sha256-auz9VFlyillWAc+gcljRMZcv/Dm0kutIvdWWV3ovJEo=",
|
||||
"pom": "sha256-Z1uwI8m+7d4yMpSZebl0Kl/qlGKApVobRi1Mp4AQiM0="
|
||||
},
|
||||
"org/apache/commons#commons-dbcp2/2.9.0": {
|
||||
"jar": "sha256-iHcgkSxcu83/bg4h1QNJN1Vfj/xZc4Hv+Pp38zzm1k4=",
|
||||
"pom": "sha256-XtPwH1ee+0xru81m9VnpwV6ZwUCVeeAZG7pUHF/meYY="
|
||||
},
|
||||
"org/apache/commons#commons-lang3/3.11": {
|
||||
"pom": "sha256-mA1mXYP+0EZlE08FeOUHRCoOdQaRBzeEORsKeYhySnU="
|
||||
},
|
||||
"org/apache/commons#commons-lang3/3.12.0": {
|
||||
"jar": "sha256-2RnZBEhsA3+NGTQS2gyS4iqfokIwudZ6V4VcXDHH6U4=",
|
||||
"pom": "sha256-gtMfHcxFg+/9dE6XkWWxbaZL+GvKYj/F0bA+2U9FyFo="
|
||||
},
|
||||
"org/apache/commons#commons-lang3/3.9": {
|
||||
"pom": "sha256-pAIkKbmEJbQwGBkVchJ5pS9hDzRki9rEh9TKy76N/rU="
|
||||
},
|
||||
"org/apache/commons#commons-parent/17": {
|
||||
"pom": "sha256-lucYuvU0h07mLOTULeJl8t2s2IORpUDgMNWdmPp8RAg="
|
||||
},
|
||||
"org/apache/commons#commons-parent/34": {
|
||||
"pom": "sha256-Oi5p0G1kHR87KTEm3J4uTqZWO/jDbIfgq2+kKS0Et5w="
|
||||
},
|
||||
"org/apache/commons#commons-parent/38": {
|
||||
"pom": "sha256-VY2WF0Xrrcxdw5HP3n1HQIbUyq7iTdPm35Me2fa1tJU="
|
||||
},
|
||||
"org/apache/commons#commons-parent/39": {
|
||||
"pom": "sha256-h80n4aAqXD622FBZzphpa7G0TCuLZQ8FZ8ht9g+mHac="
|
||||
},
|
||||
"org/apache/commons#commons-parent/47": {
|
||||
"pom": "sha256-io7LVwVTv58f+uIRqNTKnuYwwXr+WSkzaPunvZtC/Lc="
|
||||
},
|
||||
"org/apache/commons#commons-parent/48": {
|
||||
"pom": "sha256-Hh996TcKe3kB8Sjx2s0UIr504/R/lViw954EwGN8oLQ="
|
||||
},
|
||||
"org/apache/commons#commons-parent/51": {
|
||||
"pom": "sha256-m3edGLItjeVZYFVY57sKCjGz8Awqu5yHgRfDmKrKvso="
|
||||
},
|
||||
"org/apache/commons#commons-parent/52": {
|
||||
"pom": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4="
|
||||
},
|
||||
"org/apache/commons#commons-parent/54": {
|
||||
"pom": "sha256-AA2Bh5UrIjcC/eKW33mVY/Nd6CznKttOe/FXNCN4++M="
|
||||
},
|
||||
"org/apache/commons#commons-pool2/2.11.1": {
|
||||
"jar": "sha256-6gUF7nUV5YsawOaG5NGl2ffYCOJRphvDcaoFlbmWP4M=",
|
||||
"pom": "sha256-wbsCmUpK34loDfepitujPFUnaDAUJy1liFuzA27NSMM="
|
||||
},
|
||||
"org/apache/commons#commons-text/1.10.0": {
|
||||
"jar": "sha256-dwzZA/p7YE0ffve6F/hBCGZylLK0eL6O0a87/7SuABg=",
|
||||
"pom": "sha256-OI3VI0i6GEKqOK64l8kdJwsUZh64daIP2YAxU1qydWc="
|
||||
},
|
||||
"org/apache/commons#commons-text/1.8": {
|
||||
"pom": "sha256-9s/bqlnHCtfj/r5xTgkRmQFWrAkFKV2PKjt1HgXlmhI="
|
||||
},
|
||||
"org/apache/commons#commons-text/1.9": {
|
||||
"pom": "sha256-n5IWz8lE3KeC5jEdYnV/13Fk/mfaKbWPAVaH+gn0QFA="
|
||||
},
|
||||
"org/apache/felix#felix-parent/6": {
|
||||
"pom": "sha256-Ngi2sgD2yPSIx3zBWYR9UV5pZugzO4XY4E45Sgk7VZU="
|
||||
},
|
||||
"org/apache/felix#org.apache.felix.framework/7.0.5": {
|
||||
"jar": "sha256-q6cpMsX/5S0a6ftzVBVHS8gwX9BPBQ6FHzqPZ9oYNP0=",
|
||||
"pom": "sha256-CBAm1JP4dt+OsPPxyPhdpyy+N99VeDPpaLQMMNrL/Kk="
|
||||
},
|
||||
"org/apache/logging#logging-parent/3": {
|
||||
"pom": "sha256-djouwrgJTUFh3rbCZLEmIIW5vjC/OjHCzhNyQuV3Iqc="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j-api/2.17.1": {
|
||||
"jar": "sha256-sNikyKtPuLGIjQCVgicDsObUeTxBlVAgPanmkZYWHeQ=",
|
||||
"pom": "sha256-HirO8yILKb4QrgmXKLFYsY2UP5Ghk8xFAbtC+SnB6Io="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j-core/2.17.1": {
|
||||
"jar": "sha256-yWfyI0h5gLk2TpSnx/mooB/T7nwZvb8LD5+MuFEfPUE=",
|
||||
"pom": "sha256-C7s79tTSKhv6PDwJJ8KUEK8UoPsm47Ark3JvXH6Yqv0="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j/2.17.1": {
|
||||
"pom": "sha256-lnq8AkRDqcsJaTVVmvXprW8P9hN1+Esn1EDS+nCAawk="
|
||||
},
|
||||
"org/bouncycastle#bcpkix-jdk15on/1.69": {
|
||||
"jar": "sha256-QIN20Xqqh4nnrNBV/kBCiaEfozX9fGinUykEn7fSjtI=",
|
||||
"pom": "sha256-WrvkytLCMJR0ZvsgmiJn48xqDTgKajGRWVnTqtm4F2w="
|
||||
},
|
||||
"org/bouncycastle#bcprov-jdk15on/1.69": {
|
||||
"jar": "sha256-5Gm9Ofk2mZ8lYAJjEAP/AioilR2p1b2Xicer+pdjopI=",
|
||||
"pom": "sha256-/YHicUSVvOeeauazAp2s0kzyz/NAJB2lgQVYlae6eN4="
|
||||
},
|
||||
"org/bouncycastle#bcutil-jdk15on/1.69": {
|
||||
"jar": "sha256-KeQOJGbQQNgqbw6ZY10LwrujqUJRz3k5zwtpMhyu/Ak=",
|
||||
"pom": "sha256-p2e8fzQtGTKJfso8i6zHAEygOAv6dSnyOpc0VJZcffw="
|
||||
},
|
||||
"org/checkerframework#checker-compat-qual/2.5.2": {
|
||||
"pom": "sha256-da9ztewybj29yUayH9RoAtXafGEsO/Hlh1N0yY1+pP0="
|
||||
},
|
||||
"org/checkerframework#checker-qual/2.5.2": {
|
||||
"jar": "sha256-ZLAmkci51OdwD47i50Lc5+osboHmYrdSLJ7jv1aMBAo=",
|
||||
"pom": "sha256-3EzUOKNkYtATwjOMjiBtECoyKgDzNynolV7iGYWcnt4="
|
||||
},
|
||||
"org/checkerframework#checker-qual/3.31.0": {
|
||||
"module": "sha256-UYkl4iqnmMH71voXwYN0aR8f57G+fdNw1Omv7us7Ds8=",
|
||||
"pom": "sha256-Q1ecPr5H54NYp/MvlnN471YXWyKUszUYNYTwvSNZUjE="
|
||||
},
|
||||
"org/checkerframework#checker-qual/3.37.0": {
|
||||
"jar": "sha256-5M4TdswnNeHd4iC2KtCRP1EpdwTarRVaM/OGvF2w2fc=",
|
||||
"module": "sha256-clinadyqJrmBVNIp2FzHLls2ZrC8tjfS2vFuxJiVZjg=",
|
||||
"pom": "sha256-AjkvvUziGQH5RWFUcrHU1NNZGzqr3wExBfXJLsMstPA="
|
||||
},
|
||||
"org/codehaus#codehaus-parent/3": {
|
||||
"pom": "sha256-UOslOs0LbuBI9DLZ/Do7NiZO+z2h/6f7B/bE1LeoyjE="
|
||||
},
|
||||
"org/codehaus/mojo#animal-sniffer-annotations/1.17": {
|
||||
"jar": "sha256-kmVPST7P7FIILnY1Tw6/h2SNw9XOwuPDzblHwBZ0elM=",
|
||||
"pom": "sha256-6VarXS60j6uuEjANDNLTKU1KKkGrwgaMI8tNYK12y+U="
|
||||
},
|
||||
"org/codehaus/mojo#animal-sniffer-annotations/1.9": {
|
||||
"jar": "sha256-zZb+60fzSyVZcEcV23sXmgOjch+dxAksNFxxjim0LeQ=",
|
||||
"pom": "sha256-/nEJDiNXjdGapqj+9Rhvz6WPSPgHBnKprIlFhis7fz0="
|
||||
},
|
||||
"org/codehaus/mojo#animal-sniffer-parent/1.17": {
|
||||
"pom": "sha256-GKA98W4qGExYLbexJWM8Fft3FAJ6hMG1MtcpM9wIuB8="
|
||||
},
|
||||
"org/codehaus/mojo#animal-sniffer-parent/1.9": {
|
||||
"pom": "sha256-nyDSRN5e5OZQmbJ3tpiE7xr4EROcAJcl3TzPqPsaxjs="
|
||||
},
|
||||
"org/codehaus/mojo#mojo-parent/28": {
|
||||
"pom": "sha256-WrbfH5JfxhOX3y0XNSu8mK8UZOhT7SF+CeU9IKMm9wc="
|
||||
},
|
||||
"org/codehaus/mojo#mojo-parent/40": {
|
||||
"pom": "sha256-/GSNzcQE+L9m4Fg5FOz5gBdmGCASJ76hFProUEPLdV4="
|
||||
},
|
||||
"org/fusesource#fusesource-pom/1.12": {
|
||||
"pom": "sha256-xA2WDarc73sBwbHGZXr7rE//teUxaPj8sLKLhOb9zKE="
|
||||
},
|
||||
"org/fusesource/jansi#jansi/2.3.2": {
|
||||
"jar": "sha256-+dWXnFx7oxN8d/QYR16wIYn4/Ip1+nP/w/8dEv6UVWc=",
|
||||
"pom": "sha256-ywU3vsxjUsFUcz22+v0JAPlYRgOgsLnPjyJFVjEs2+E="
|
||||
},
|
||||
"org/hamcrest#hamcrest-core/1.1": {
|
||||
"jar": "sha256-A2HRST/w2U+GE1nv6pEgByBjUHITR5LvtyF/bgnVz/s=",
|
||||
"pom": "sha256-OXOH9AbGjMtAP0d8y+wcgYz8a4/0+tpaM+Jhg6hBfIM="
|
||||
},
|
||||
"org/hamcrest#hamcrest-core/1.3": {
|
||||
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
|
||||
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
|
||||
},
|
||||
"org/hamcrest#hamcrest-parent/1.1": {
|
||||
"pom": "sha256-FOaVChpimMvLg8+UKcrEFf8nMWf28Vh2hZQTsNbAfjo="
|
||||
},
|
||||
"org/hamcrest#hamcrest-parent/1.3": {
|
||||
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
|
||||
},
|
||||
"org/hamcrest#hamcrest/2.2": {
|
||||
"jar": "sha256-XmKEaonwXNeM2cGlU/NA0AJFg4DDIEVd0fj8VJeoocE=",
|
||||
"pom": "sha256-s2E3N2xLP8923DN+KhvFtpGirBqpZqtdJiCak4EvpX0="
|
||||
},
|
||||
"org/jacoco#org.jacoco.agent/0.8.11": {
|
||||
"jar": "sha256-0+2F3qeKntVYRqdzjjoMoVxwLGYe5LyMv+Aqi59KmcA=",
|
||||
"pom": "sha256-FuBen0liG4fFPmk1AUDzxG1C2WbGepM730sGOiscj8U="
|
||||
},
|
||||
"org/jacoco#org.jacoco.ant/0.8.11": {
|
||||
"jar": "sha256-gdfriJDZvjCpOWEsKVYDVBBjUpzdA6UyZaunRHS3C3w=",
|
||||
"pom": "sha256-ftED2VnQzue6v7Ewf6bkUbFpb/01JwYVU7VQ3lUgHYU="
|
||||
},
|
||||
"org/jacoco#org.jacoco.build/0.8.11": {
|
||||
"pom": "sha256-W4SxXPLu8+WeuRvCJ4SDMQCwnfmRHjMZAww7xki9iws="
|
||||
},
|
||||
"org/jacoco#org.jacoco.core/0.8.11": {
|
||||
"jar": "sha256-/NGIxohHP8jcwMbKrzVeeziVAiQ1J8M7lZej7Ch5H0c=",
|
||||
"pom": "sha256-u2E18Qo2NJy4SlYA/Yz3P8EpahNbLxStzYPejPJMq7E="
|
||||
},
|
||||
"org/jacoco#org.jacoco.report/0.8.11": {
|
||||
"jar": "sha256-g5MpWuJGgO0QytgzOQcED5KLhxMySRWBylvHhOLLT74=",
|
||||
"pom": "sha256-jjtzR3nV4/1oPsAVQT1S+WGYTFDLkEX9orI7/160I4E="
|
||||
},
|
||||
"org/jdom#jdom-legacy/1.1.3": {
|
||||
"jar": "sha256-Ar1hpyXor5sBdrQ78pgW0MdIuKuVE4W9EnvjdIkyWgo=",
|
||||
"pom": "sha256-bWWTi3CxFyMBy0LY5l7gVzpXHtOfOvEBOp5ukp/flow="
|
||||
},
|
||||
"org/jgrapht#jgrapht-core/1.5.1": {
|
||||
"jar": "sha256-pNgQy2Pgp3p1PRRwlP6p3ULoLPxXqiifn4UinyYEO7Q=",
|
||||
"pom": "sha256-KknxKWxTwJ4OCiVdogMgVq3fKlu6WFyAF3Eg/IELQRM="
|
||||
},
|
||||
"org/jgrapht#jgrapht-io/1.5.1": {
|
||||
"jar": "sha256-hsf8ZswZB7/CazZtTdKSzQ2ihr3h/QiKEcDZcp1tzFw=",
|
||||
"pom": "sha256-jMvAH5otyMV0llX6FSck3dJ8FIIpxWeV+CC7V6GEp4g="
|
||||
},
|
||||
"org/jgrapht#jgrapht/1.5.1": {
|
||||
"pom": "sha256-X9k28p0qw4blfbTL+JtZLFth3GpA03qhUw9eVLNQx9I="
|
||||
},
|
||||
"org/jheaps#jheaps/0.13": {
|
||||
"jar": "sha256-Y0FCkMNJf4rA8QIgkgcIjexG/UdH4PVqJsaTCOhcZBU=",
|
||||
"pom": "sha256-SH2xJbFxCY4/qDOFNaxZR2kirCxFK1ehTTz2YfIohDA="
|
||||
},
|
||||
"org/jline#jline-builtins/3.20.0": {
|
||||
"jar": "sha256-prFPiYOXb7Sd67PZ6KFb+V9yTXFp8TFaYu+lin+omeI=",
|
||||
"pom": "sha256-9T2EkbSNrQfnIR8M5BIhS5un25YmYZAxsqhvgMgrZrE="
|
||||
},
|
||||
"org/jline#jline-parent/3.20.0": {
|
||||
"pom": "sha256-cXjGACAsS8Jux6S2IlXu829wVsrSpeYjnFdL7qXCEMo="
|
||||
},
|
||||
"org/jline#jline-reader/3.20.0": {
|
||||
"jar": "sha256-rNHJTR4iiqe3li9psh7Tqf2CjrOmPkuvkIaVTmJq8fA=",
|
||||
"pom": "sha256-2fF+3XIcAqExcgN21sB4eHgutrb6/rX/QkBKtXFD4TY="
|
||||
},
|
||||
"org/jline#jline-style/3.20.0": {
|
||||
"jar": "sha256-C7ERYF4BAM6E05YfMLQNqgiOnC7FxnHn75D0L2rdBrY=",
|
||||
"pom": "sha256-48nFXt7Ob0ru5jplYjiaS++NA1j6iq3GdKPeZR4w4ao="
|
||||
},
|
||||
"org/jline#jline-terminal-jansi/3.20.0": {
|
||||
"jar": "sha256-wX/++o8GDa79OPJXRAcOQI9LrFPD6BOuoZKMxgcmD+Q=",
|
||||
"pom": "sha256-Q3JhhBr0j5oZT9WygHJSCKds+jzKFgBAx6QoDrAn2+s="
|
||||
},
|
||||
"org/jline#jline-terminal/3.20.0": {
|
||||
"jar": "sha256-EhJRcOeVUZum3IAQwHC1PHaq6StIXB43Uw5Uq13QjUM=",
|
||||
"pom": "sha256-EMo7z1F48YUH8hCmOtljeJaFM0OtHBKRoBmhFvIWpUg="
|
||||
},
|
||||
"org/junit#junit-bom/5.7.1": {
|
||||
"module": "sha256-mFTjiU1kskhSB+AEa8oHs9QtFp54L0+oyc4imnj67gQ=",
|
||||
"pom": "sha256-C5sUo9YhBvr+jGinF7h7h60YaFiZRRt1PAT6QbaFd4Q="
|
||||
},
|
||||
"org/junit#junit-bom/5.7.2": {
|
||||
"module": "sha256-87zrHFndT2mT9DBN/6WAFyuN9lp2zTb6T9ksBXjSitg=",
|
||||
"pom": "sha256-zRSqqGmZH4ICHFhdVw0x/zQry6WLtEIztwGTdxuWSHs="
|
||||
},
|
||||
"org/junit#junit-bom/5.8.0-M1": {
|
||||
"module": "sha256-vgUUcTA6UD9MIkZwdbJ0kEE3fd1tWoywc53tZ9kW2C0=",
|
||||
"pom": "sha256-dxREMv/Gi9mKeQqxBpYZ2RAyz8Dk4TwIFjqgPaNv1uI="
|
||||
},
|
||||
"org/junit#junit-bom/5.9.0": {
|
||||
"module": "sha256-oFTq9QFrWLvN6GZgREp8DdPiyvhNKhrV/Ey1JZecGbk=",
|
||||
"pom": "sha256-2D6H8Wds3kQZHuxc2mkEkjkvJpI7HkmBSMpznf7XUpU="
|
||||
},
|
||||
"org/junit#junit-bom/5.9.1": {
|
||||
"module": "sha256-kCbBZWaQ+hRa117Og2dCEaoSrYkwqRsQfC9c3s4vGxw=",
|
||||
"pom": "sha256-sWPBz8j8H9WLRXoA1YbATEbphtdZBOnKVMA6l9ZbSWw="
|
||||
},
|
||||
"org/osgi#org.osgi.core/5.0.0": {
|
||||
"jar": "sha256-tEDGv/KGMyr89crgZ7YGli52HA3wDl/Yp0bwsxJlYZs=",
|
||||
"pom": "sha256-4AHZl0MYUeq4uTOLW32f5eaOGutDpYV5JLChWIbuNjk="
|
||||
},
|
||||
"org/osgi#org.osgi.util.promise/1.3.0": {
|
||||
"jar": "sha256-cFPFfn19iP7GuQl5o68SXh0ruEcmijKKLx7WWtCkwYU=",
|
||||
"pom": "sha256-rcyK9ce+Z7BSEF4Mncq43ibaxvGbxamrcpRqMydscQA="
|
||||
},
|
||||
"org/ow2#ow2/1.3": {
|
||||
"pom": "sha256-USFcZ9LAaNi30vb4D1E3KgmAdd7MxEjUvde5h7qDKPs="
|
||||
},
|
||||
"org/ow2#ow2/1.5.1": {
|
||||
"pom": "sha256-Mh3bt+5v5PU96mtM1tt0FU1r+kI5HB92OzYbn0hazwU="
|
||||
},
|
||||
"org/ow2/asm#asm-bom/9.6": {
|
||||
"pom": "sha256-ig5fYk/ikwt6jWmVb0OORe9TKZa01kQJthbErvSxrE4="
|
||||
},
|
||||
"org/ow2/asm#asm-commons/9.6": {
|
||||
"jar": "sha256-eu/Q1cCQFwHGn3UT/tp2X7a+M68s56oXxXgfyHZXxRE=",
|
||||
"pom": "sha256-qYrkiVM0uvj/hr1mUWIQ29mgPxpuFeR92oKvz2tT13w="
|
||||
},
|
||||
"org/ow2/asm#asm-debug-all/5.0.3": {
|
||||
"jar": "sha256-KWk1asHkD+QUGUjFY2kCOPXXnXaux/2HNTaGejMe3oE=",
|
||||
"pom": "sha256-nJnXpVVyW8L4N5l3k1zboW1ofZyTtuByXhlhgNSQyZU="
|
||||
},
|
||||
"org/ow2/asm#asm-parent/5.0.3": {
|
||||
"pom": "sha256-wu2r9BKKU030uLSwubVi6U8kK6lawk3GFIVDK4oYjjI="
|
||||
},
|
||||
"org/ow2/asm#asm-tree/9.6": {
|
||||
"jar": "sha256-xD7PF7U5x3fhXae1uGVTs3fi05poPeYoVWfVKDiI5+8=",
|
||||
"pom": "sha256-G8tIHX/Ba5VbtgygfIz6JCS87ni9xAW7oxx9b13C0RM="
|
||||
},
|
||||
"org/ow2/asm#asm/9.6": {
|
||||
"jar": "sha256-PG+sJCTbPUqFO2afTj0dnDxVIjXhmjGWc/iHCDwjA6E=",
|
||||
"pom": "sha256-ku7iS8PIQ+SIHUbB3WUFRx7jFC+s+0ZrQoz+paVsa2A="
|
||||
},
|
||||
"org/postgresql#postgresql/42.6.2": {
|
||||
"jar": "sha256-gmKXVPMJwLVx0dQLp0+wU4VfhjdSpGyjB8ez5YYMSy4=",
|
||||
"pom": "sha256-/5dcZtbZSN/YKp6SbsER7eldPkyRo6DYaQ8xox45NMY="
|
||||
},
|
||||
"org/python#jython-standalone/2.7.3": {
|
||||
"jar": "sha256-2n89gpsUi8+oawWdyWTjqFVv7bAhCWyNsH4wxm+qubQ=",
|
||||
"pom": "sha256-moD1I2PkBVnKxMjaKsX4uil3ksbpEmN7dIUfKjMHDNI="
|
||||
},
|
||||
"org/slf4j#slf4j-api/1.7.25": {
|
||||
"jar": "sha256-GMSgCV1cHaa4F1kudnuyPSndL1YK1033X/OWHb3iW3k=",
|
||||
"pom": "sha256-fNnXoLXZPf1GGhSIkbQ1Cc9AOpx/n7SQYNNVTfHIHh4="
|
||||
},
|
||||
"org/slf4j#slf4j-nop/1.7.25": {
|
||||
"jar": "sha256-bLEnE49Btahp+ezdBhrRd5mg4/5yBGAHlxVOsEMu6xI=",
|
||||
"pom": "sha256-ogpNV7z++b2sp9EVliwN58lEa+TUZre9MNXxmkWc9Jk="
|
||||
},
|
||||
"org/slf4j#slf4j-parent/1.7.25": {
|
||||
"pom": "sha256-GPXFISDbA26I1hNviDnIMtB0vdqVx1bG9CkknS21SsY="
|
||||
},
|
||||
"org/smali#baksmali/2.5.2": {
|
||||
"jar": "sha256-HtI2Jm19xJB6reCxmjT3fvrCU0K2PIrOUuV5A5lBs4k=",
|
||||
"module": "sha256-g+59x3oek4+5BtaNfUPiRX8s+Im7HecuqtcJJDVfpbU=",
|
||||
"pom": "sha256-8FzZiasE/SboahreXCGauEgovqfebryA/Bd7YtJ1k4g="
|
||||
},
|
||||
"org/smali#dexlib2/2.5.2": {
|
||||
"jar": "sha256-WlyJgti9fW47saBxMEnjx4txnsMrIPa2GYhc7DCg3WE=",
|
||||
"module": "sha256-5XDKZe/asrKMAq2P34W9hSIGZrkkuJXKW+r1fXKGiDw=",
|
||||
"pom": "sha256-BWB6NSDN841drl0MQZZRKjhWpA3rlTny/OCGNalut44="
|
||||
},
|
||||
"org/smali#util/2.5.2": {
|
||||
"jar": "sha256-T1gKnP8+u4PLP9IL7Ijjfk8YN5bKZScymSYRYgKC2uo=",
|
||||
"module": "sha256-rRt+JSAWcAXJFp2Gv8z/JvXF+b8Ls/qyRMtIIWU9wmE=",
|
||||
"pom": "sha256-IKx+12/5cPUQB6IPrIvbon7IeUT9Kb2oxnQJZ5LJFFE="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/6": {
|
||||
"pom": "sha256-tDBtE+j1OSRYobMIZvHP8WGz0uaZmojQWe6jkyyKhJk="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
},
|
||||
"org/tribuo#tribuo-classification-core/4.2.0": {
|
||||
"jar": "sha256-+vv5OnIrmrVC7oeaX09lF5bkyuobZ5gNVWL+jdjbqeY=",
|
||||
"pom": "sha256-gLgGCPTPN93HLmioPGBRyupwvqF+96hTCfWeqdpzBPE="
|
||||
},
|
||||
"org/tribuo#tribuo-classification-tree/4.2.0": {
|
||||
"jar": "sha256-uVozLZJI7RKVgxdkTNQ9cubdit4KJPnKTlLaB72sY6c=",
|
||||
"pom": "sha256-OrTlGe48n3lzd3MirS7EaR5j1kovRxiR4A1BGQdY2jw="
|
||||
},
|
||||
"org/tribuo#tribuo-classification/4.2.0": {
|
||||
"pom": "sha256-SqINxWFbgU86wjq3xB+s+LpCKbPuzSwa/KeL3/kntcU="
|
||||
},
|
||||
"org/tribuo#tribuo-common-tree/4.2.0": {
|
||||
"jar": "sha256-34iqIWT+X60ITLIxl7LgodbBPk7QbuXCGXausNuVfOk=",
|
||||
"pom": "sha256-DbCNldwWEPdn/AehmZqXlhVxALozjH4JA2jMVN5NIHU="
|
||||
},
|
||||
"org/tribuo#tribuo-common/4.2.0": {
|
||||
"pom": "sha256-GAZzLdQd51aq3tY2v7qZSD00J72diyAvEEJcr84iykk="
|
||||
},
|
||||
"org/tribuo#tribuo-core/4.2.0": {
|
||||
"jar": "sha256-NFwzfcKHjsdQJJgqqwZycZtznnGOc9eisu/ottXQCb8=",
|
||||
"pom": "sha256-XkjLxuPn9x+wYPSWdPTXbCLcKEe9flflVCY7+5gYpZ0="
|
||||
},
|
||||
"org/tribuo#tribuo-data/4.2.0": {
|
||||
"jar": "sha256-m8EQCFnODOBCDNbfbOdna25DxSKEXUKGz5FIUmgtYz0=",
|
||||
"pom": "sha256-SMm4+bX7Nd5toLwWhuMLStMkS6UWMCNw1fqGd1ixruA="
|
||||
},
|
||||
"org/tribuo#tribuo-math/4.2.0": {
|
||||
"jar": "sha256-7NZdhI/2SIAXBLm6D3CmRtQDAgy97SYf1zVIGkeWVRI=",
|
||||
"pom": "sha256-iCAlohj3F9hakTNsztSg+08CsjFcppZy0oqCc3uWhVE="
|
||||
},
|
||||
"org/tribuo#tribuo-util-onnx/4.2.0": {
|
||||
"jar": "sha256-ohcAq4nLB1/OT8UkA1n5HMj4t/JCiS1lsD+oda0s3Vs=",
|
||||
"pom": "sha256-Q19d8ELZieF6QHPjcFa++ChKUrw3zIZeF5Xvi7U5KUw="
|
||||
},
|
||||
"org/tribuo#tribuo-util-tokenization/4.2.0": {
|
||||
"jar": "sha256-b0TzDZ0g6amwscMHAbcrPeXtofbXbZXanWkHQmVXdoI=",
|
||||
"pom": "sha256-6GAT6tT7c0apQghWqMAX/g7aAlhmu0w935AK2JLi/Tg="
|
||||
},
|
||||
"org/tribuo#tribuo-util/4.2.0": {
|
||||
"pom": "sha256-saxG0eBU4acgcz0cMeBMaIxxJb+mIN7RpEQ9BdNMma8="
|
||||
},
|
||||
"org/tribuo#tribuo/4.2.0": {
|
||||
"pom": "sha256-mMQFMwnY7vg2fAbCAmyDHkqwS3nOny0hrGrrKE2dNZQ="
|
||||
},
|
||||
"org/tukaani#xz/1.9": {
|
||||
"jar": "sha256-IRswbPxE+Plt86Cj3a91uoxSie7XfWDXL4ibuFX1NeU=",
|
||||
"pom": "sha256-CTvhsDMxvOKTLWglw36YJy12Ieap6fuTKJoAJRi43Vo="
|
||||
}
|
||||
},
|
||||
"https://sourceforge.net/projects": {
|
||||
"pydev/files/pydev/PyDev%206.3.1/PyDev%206.3.1": {
|
||||
"zip": "sha256-TYH+nYr+dmW46iCETT9RB/RGdCknxZlz6t5PKYCbBpk="
|
||||
},
|
||||
"yajsw/files/yajsw/yajsw-stable-13.09/yajsw-stable-13.09": {
|
||||
"zip": "sha256-Ta5zKlNYRq5d+rdT6CpNX5OtmgWgZeIXK7l3ShsVRTo="
|
||||
}
|
||||
},
|
||||
"https://storage.googleapis.com": {
|
||||
"google-code-archive-downloads/v2/code.google.com/android4me/AXMLPrinter2": {
|
||||
"jar": "sha256-AO0Djrarr23eyNICo+16gbUhRY9M1FmUgRXP0C/1nW0="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,108 +5,37 @@
|
||||
, jdk
|
||||
, quark-engine
|
||||
, makeWrapper
|
||||
, perl
|
||||
, imagemagick
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
, desktopToDarwinBundle
|
||||
}:
|
||||
|
||||
let
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "jadx";
|
||||
version = "1.4.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skylot";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
repo = finalAttrs.pname;
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-3t2e3WfH/ohkdGWlfV3t9oHJ1Q6YM6nSLOgmzgJEkls=";
|
||||
};
|
||||
|
||||
deps = stdenv.mkDerivation {
|
||||
name = "${pname}-deps";
|
||||
inherit src;
|
||||
|
||||
nativeBuildInputs = [ gradle jdk perl ];
|
||||
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
export JADX_VERSION=${version}
|
||||
gradle --no-daemon jar
|
||||
|
||||
# Apparently, Gradle won't cache the `compileOnlyApi` dependency
|
||||
# `org.jetbrains:annotations:22.0.0` which is defined in
|
||||
# `io.github.skylot:raung-common`. To make it available in the
|
||||
# output, we patch `build.gradle` and run Gradle again.
|
||||
substituteInPlace build.gradle \
|
||||
--replace 'org.jetbrains:annotations:23.0.0' 'org.jetbrains:annotations:22.0.0'
|
||||
gradle --no-daemon jar
|
||||
'';
|
||||
|
||||
# Mavenize dependency paths
|
||||
# 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
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/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
|
||||
|
||||
# Work around okio-2.10.0 bug, fixed in 3.0. Remove "-jvm" from filename.
|
||||
# https://github.com/square/okio/issues/954
|
||||
mv $out/com/squareup/okio/okio/2.10.0/okio{-jvm,}-2.10.0.jar
|
||||
'';
|
||||
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-QebPRmfLtXy4ZlyKeGC5XNzhMTsYI0X36My+nTFvQpM=";
|
||||
};
|
||||
in stdenv.mkDerivation (finalAttrs: {
|
||||
inherit pname version src;
|
||||
|
||||
nativeBuildInputs = [ gradle jdk imagemagick makeWrapper copyDesktopItems ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ];
|
||||
|
||||
# Otherwise, Gradle fails with `java.net.SocketException: Operation not permitted`
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
buildPhase = ''
|
||||
# The installDist Gradle build phase tries to copy some dependency .jar
|
||||
# files multiple times into the build directory. This ends up failing when
|
||||
# the dependencies are read directly from the Nix store since they are not
|
||||
# marked as chmod +w. To work around this, get a local copy of the
|
||||
# dependency store, and give write permissions.
|
||||
depsDir=$(mktemp -d)
|
||||
cp -R ${deps}/* $depsDir
|
||||
chmod -R u+w $depsDir
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit (finalAttrs) pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
gradleInit=$(mktemp)
|
||||
cat >$gradleInit <<EOF
|
||||
gradle.projectsLoaded {
|
||||
rootProject.allprojects {
|
||||
buildscript {
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '$depsDir' }
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '$depsDir' }
|
||||
}
|
||||
}
|
||||
}
|
||||
preBuild = "export JADX_VERSION=${finalAttrs.version}";
|
||||
|
||||
settingsEvaluated { settings ->
|
||||
settings.pluginManagement {
|
||||
repositories {
|
||||
maven { url '$depsDir' }
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
export JADX_VERSION=${version}
|
||||
gradle --offline --no-daemon --info --init-script $gradleInit pack
|
||||
'';
|
||||
gradleBuildTask = "pack";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
Generated
+695
@@ -0,0 +1,695 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://dl.google.com/dl/android/maven2/com/android": {
|
||||
"tools#r8/4.0.48": {
|
||||
"jar": "sha256-932anr2p4yCS6sTdjhFkSnNi36YO1qOp0NMt5XC79SQ=",
|
||||
"pom": "sha256-5mEMufgumNH5nOgSUcnnlm/Pgrzr0GR3pbpkzzNJ+xA="
|
||||
},
|
||||
"tools/build#aapt2-proto/7.3.1-8691043": {
|
||||
"jar": "sha256-1eLz4eHrBiJLaHX15RPHKmUYI0J0VxgWDK8ZHUapZmQ=",
|
||||
"module": "sha256-XHobthipLvWcPWDPgEmPFkYKa/L+qvxK6EfT+2xZ7aw=",
|
||||
"pom": "sha256-90SV2eV+uTBEowjJ0SDPlOucHbxK9gieeWPwVgf0OWI="
|
||||
},
|
||||
"tools/build#apksig/7.4.1": {
|
||||
"jar": "sha256-bWoTpRrDgGwRr18JZwkgVeNaZ99qdL/xVE2fVRjFrVU=",
|
||||
"pom": "sha256-PnV6UitSV0bqvN4mcNzsyAKOqmcQyUe74DnIE+nSajM="
|
||||
}
|
||||
},
|
||||
"https://plugins.gradle.org/m2": {
|
||||
"com/diffplug/durian#durian-collect/1.2.0": {
|
||||
"jar": "sha256-sZTAuIAhzBFsIcHcdvScLB/hda9by3TIume527+aSMw=",
|
||||
"pom": "sha256-i7diCGoKT9KmRzu/kFx0R2OvodWaVjD3O7BLeHLAn/M="
|
||||
},
|
||||
"com/diffplug/durian#durian-core/1.2.0": {
|
||||
"jar": "sha256-F+0KrLOjwWMjMyFou96thpTzKACytH1p1KTEmxFNXa4=",
|
||||
"pom": "sha256-hwMg6QdVNxsBeW/oG6Ul/R3ui3A0b1VFUe7dQonwtmI="
|
||||
},
|
||||
"com/diffplug/durian#durian-io/1.2.0": {
|
||||
"jar": "sha256-CV/R3HeIjAc/C+OaAYFW7lJnInmLCd6eKF7yE14W6sQ=",
|
||||
"pom": "sha256-NQkZQkMk4nUKPdwvobzmqQrIziklaYpgqbTR1uSSL/4="
|
||||
},
|
||||
"com/diffplug/spotless#com.diffplug.spotless.gradle.plugin/6.13.0": {
|
||||
"pom": "sha256-4qHufTD0GGdheUdAEOYkVE6BP0MHAO4oBjQvKukFMNQ="
|
||||
},
|
||||
"com/diffplug/spotless#spotless-lib-extra/2.32.0": {
|
||||
"jar": "sha256-i8SQYGLclmwFaGL8kmCsfQWTZguEOtZcEbFW6dzLZKE=",
|
||||
"module": "sha256-a8dLFqcxDey2fs8H1vXOG9x6+bh5Hek+TwfziyxosQo=",
|
||||
"pom": "sha256-7wDQM9CMLJ7yFDwmJVav40DYs4doI9Zw0pzrct/nhBQ="
|
||||
},
|
||||
"com/diffplug/spotless#spotless-lib/2.32.0": {
|
||||
"jar": "sha256-S6xhJrXWaIZdgFrGGqDiUoi5EN6zPydHZO543raRsuw=",
|
||||
"module": "sha256-h6cE9aXpl+52z2PjA5+orSSKMx7xV4tfiX7VQ2AZYhM=",
|
||||
"pom": "sha256-a+Uybvhc5iiiuHq8mwLN+kw1rfeqdZ4a/C2ytQut5Fw="
|
||||
},
|
||||
"com/diffplug/spotless#spotless-plugin-gradle/6.13.0": {
|
||||
"jar": "sha256-Js7wl5w5CHH1wWX6KGAeEAlgkuyW1zWKC/XM2oYJbEk=",
|
||||
"module": "sha256-i9cKqqO2WIEYk+jSq+bMAxo87Hcbgyto8Dl0JH9kOig=",
|
||||
"pom": "sha256-NpfHbxQP9djFACOzYUHhMOffXzQD2biONjNpzNeBZmw="
|
||||
},
|
||||
"com/formdev#flatlaf/1.0": {
|
||||
"jar": "sha256-E12NWsOf7CnZs/9SyzBybT+XawaYYVvjJTT9eSTynsc=",
|
||||
"module": "sha256-dStur7AL/wRCGXCYLcqvz1l7SajJE64M73XkKHYKC68=",
|
||||
"pom": "sha256-ylkCGnUHptHH0ZM+DN+hxKlpqgTsaMYsMdYTMtMAlpo="
|
||||
},
|
||||
"com/github/ben-manes#gradle-versions-plugin/0.45.0": {
|
||||
"jar": "sha256-RpBMEWJmqzmQy6JpyFGsSUppwhIbz5nkPKU4blLUJaM=",
|
||||
"module": "sha256-RyWDjnWYFyb1ogLMtL31WY2c34mAdiApHtWi7XAJR4c=",
|
||||
"pom": "sha256-8TEb3zGSUlFQ0qtWZCgpqnnfiCrp6GNt+97S+d78NDk="
|
||||
},
|
||||
"com/github/ben-manes/versions#com.github.ben-manes.versions.gradle.plugin/0.45.0": {
|
||||
"pom": "sha256-TF+vdABxshvnS8Py3jamb3OZ8ISsA2DTFzt5iYWyh7Q="
|
||||
},
|
||||
"com/github/johnrengelman/shadow#com.github.johnrengelman.shadow.gradle.plugin/7.1.2": {
|
||||
"pom": "sha256-lW5FCF5S6l7zLTRnHruE6xxBqDxFSa8m5oY18QYXmNM="
|
||||
},
|
||||
"com/googlecode/concurrent-trees#concurrent-trees/2.6.1": {
|
||||
"jar": "sha256-BONySYTipcv1VgbPo3KlvT08XSohUzpwBOPN5Tl2H6U=",
|
||||
"pom": "sha256-Q8K5sULnBV0fKlgn8QlEkl0idH2XVrMlDAeqtHU4qXE="
|
||||
},
|
||||
"com/googlecode/javaewah#JavaEWAH/1.1.13": {
|
||||
"jar": "sha256-TA/aKx0xd1DX6jJONscLK8SDEMCqrme5jfCRXWltcRE=",
|
||||
"pom": "sha256-lyWx/pxoENl3dQu4RBXqEILEtIjUqDn5cEu09ej8F/Q="
|
||||
},
|
||||
"com/squareup/moshi#moshi-kotlin/1.12.0": {
|
||||
"jar": "sha256-HENsB8FZzRrwMrt5NRpIqY5/eBrIB8/4tXEamZtWZt8=",
|
||||
"module": "sha256-KnvKZtbM8WhVy1oKp8lRWPaIklomPv5MIEsjclSGH6E=",
|
||||
"pom": "sha256-gwdSmAK8nLCHd24CabvdaSBG+kpz8ZDVgUpaj5JmJ24="
|
||||
},
|
||||
"com/squareup/moshi#moshi/1.12.0": {
|
||||
"jar": "sha256-7pCR4dGlkm+ptN8mQsH7e7lq7Ahjm2IZwZ4LhyTUJHU=",
|
||||
"module": "sha256-uGqTFURxITGVpEL4XKBG55oAHG1EbEHU0WiTbahW6+I=",
|
||||
"pom": "sha256-YbyUJDqTc9mUini25xAAl161EPtvf0aoHq/N3TgeR3k="
|
||||
},
|
||||
"com/squareup/okhttp3#okhttp/4.9.3": {
|
||||
"jar": "sha256-k+zWy6Gdh9zP5WbshI2RqueZ488WwAcJNY6mm9kichk=",
|
||||
"module": "sha256-gyf+V2cjmG3tSvpeDZ4TKuMCzPVvITwNuCGnQE1A+O8=",
|
||||
"pom": "sha256-ZN87m63dAOqkvHJ2Qf0VfGXzlGXmjq7KpaHQQX/C8mk="
|
||||
},
|
||||
"com/squareup/okio#okio/2.10.0": {
|
||||
"jar": "sha256-on8JHTSqRS43In4s+oWAnykBKo7yUBqbWhJal45Py8E=",
|
||||
"module": "sha256-EcvqvDp2XJqAMkL6ICShGFPrCGXaU2xLBa/c27I0Y3A=",
|
||||
"pom": "sha256-S5YGC20aK5bpDkKtcVitvjRpMWuA/qCBfGwzmT7hzHI="
|
||||
},
|
||||
"com/squareup/okio#okio/2.8.0": {
|
||||
"module": "sha256-F7qrcnA4ml+mOrEoEYZNCgDzgWEbxOsEL6G9WRjtCWU=",
|
||||
"pom": "sha256-JiFAaP1Mf0N6yP6FdoAqmp3BUcRXWCgHrZryry6MlIE="
|
||||
},
|
||||
"com/thoughtworks/xstream#xstream-parent/1.4.19": {
|
||||
"pom": "sha256-DUgSxOMREJtuOk5gZvgh10kZgTl25P6p5CfPNi8vBYM="
|
||||
},
|
||||
"com/thoughtworks/xstream#xstream/1.4.19": {
|
||||
"jar": "sha256-yayTUnlCGJron8kSBnY1jxHqj3E8Y1qfLHAGP+ZxZjQ=",
|
||||
"pom": "sha256-7odNIUDKTox3TojfZW7svJZT9bjLmAapq4UFwmm3s34="
|
||||
},
|
||||
"commons-beanutils#commons-beanutils/1.9.4": {
|
||||
"jar": "sha256-fZOMgXiQKARcCMBl6UvnX8KAUnYg1b1itRnVg4UyNoo=",
|
||||
"pom": "sha256-w1zKe2HUZ42VeMvAuQG4cXtTmr+SVEQdp4uP5g3gZNA="
|
||||
},
|
||||
"commons-io#commons-io/2.11.0": {
|
||||
"jar": "sha256-lhsvbYfbrMXVSr9Fq3puJJX4m3VZiWLYxyPOqbwhCQg=",
|
||||
"pom": "sha256-LgFv1+MkS18sIKytg02TqkeQSG7h5FZGQTYaPoMe71k="
|
||||
},
|
||||
"commons-logging#commons-logging/1.2": {
|
||||
"jar": "sha256-2t3qHqC+D1aXirMAa4rJKDSv7vvZt+TmMW/KV98PpjY=",
|
||||
"pom": "sha256-yRq1qlcNhvb9B8wVjsa8LFAIBAKXLukXn+JBAHOfuyA="
|
||||
},
|
||||
"edu/sc/seis/launch4j#edu.sc.seis.launch4j.gradle.plugin/2.5.4": {
|
||||
"pom": "sha256-0kiTtasyoeS0aMK/2OoTMqA9qBFFhgpuz3e/bM6fE6c="
|
||||
},
|
||||
"edu/sc/seis/launch4j#launch4j/2.5.4": {
|
||||
"jar": "sha256-ItJxFUklmcsCnJcoo1nKPuEHXuoMVNMCLP9l8CNB734=",
|
||||
"module": "sha256-36qMMXxT12p0b8RM8T8onfxF/6dx1e9gRkinCOMv8bA=",
|
||||
"pom": "sha256-x3C0urW9xQxP3xKUkCBdFmfYKEwGLK5wS7vGy2xXKv8="
|
||||
},
|
||||
"gradle/plugin/com/github/johnrengelman#shadow/7.1.2": {
|
||||
"jar": "sha256-v3BcwupcAYCqhwoPqAs5vxOhTScSjh6zpLZ0vjT1jpA=",
|
||||
"pom": "sha256-H6qwvkF9ezxBqXzKCsqKWwtkBvw7Etfyjiw0Ex3/k0o="
|
||||
},
|
||||
"io/github/x-stream#mxparser/1.2.2": {
|
||||
"jar": "sha256-ru7iOjMD2BG8qHkOp/JbU0MUhhwDz/Ntr9zCGAlp65c=",
|
||||
"pom": "sha256-I1AiQk4S8zGB9iraGcxEKAGbaXZXw8OSzjVxYKQi+qg="
|
||||
},
|
||||
"net/sf/launch4j#launch4j/3.14": {
|
||||
"pom": "sha256-xEYpdod2nJWyb2Qg9zsr0qKd90TYllTAdKhVb2Is+Vs="
|
||||
},
|
||||
"net/sf/launch4j#launch4j/3.14/core": {
|
||||
"jar": "sha256-pGVAv4Nrz3s1AHM9n6f1muzYyDeUJz5zZlWrLKdXYjA="
|
||||
},
|
||||
"org/apache#apache/13": {
|
||||
"pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0="
|
||||
},
|
||||
"org/apache#apache/19": {
|
||||
"pom": "sha256-kfejMJbqabrCy69tAf65NMrAAsSNjIz6nCQLQPHsId8="
|
||||
},
|
||||
"org/apache#apache/23": {
|
||||
"pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw="
|
||||
},
|
||||
"org/apache/ant#ant-launcher/1.10.11": {
|
||||
"jar": "sha256-2rUw33qYC1rI/X6NIIJDrg0+vW3gmxqiznVjYMwu0lY=",
|
||||
"pom": "sha256-7SoGiCYb624I7FSzgxLx1ILM8aO4Y8R9KNW5CkRtHB4="
|
||||
},
|
||||
"org/apache/ant#ant-parent/1.10.11": {
|
||||
"pom": "sha256-V6BTJoLzD6MHQWoiWSnVcQrNpy17Je4IyvmNyCzTXbY="
|
||||
},
|
||||
"org/apache/ant#ant/1.10.11": {
|
||||
"jar": "sha256-iMC4m7uq4B4Nn8rpO+eS9au+NAkQb47uhY/fNl28B1Q=",
|
||||
"pom": "sha256-wiiU2ctGq/XOv27rK8z+TXjhju6jEaDqat3VnftLH+M="
|
||||
},
|
||||
"org/apache/commons#commons-parent/34": {
|
||||
"pom": "sha256-Oi5p0G1kHR87KTEm3J4uTqZWO/jDbIfgq2+kKS0Et5w="
|
||||
},
|
||||
"org/apache/commons#commons-parent/47": {
|
||||
"pom": "sha256-io7LVwVTv58f+uIRqNTKnuYwwXr+WSkzaPunvZtC/Lc="
|
||||
},
|
||||
"org/apache/commons#commons-parent/52": {
|
||||
"pom": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4="
|
||||
},
|
||||
"org/apache/logging#logging-parent/3": {
|
||||
"pom": "sha256-djouwrgJTUFh3rbCZLEmIIW5vjC/OjHCzhNyQuV3Iqc="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j-api/2.17.1": {
|
||||
"jar": "sha256-sNikyKtPuLGIjQCVgicDsObUeTxBlVAgPanmkZYWHeQ=",
|
||||
"pom": "sha256-HirO8yILKb4QrgmXKLFYsY2UP5Ghk8xFAbtC+SnB6Io="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j-core/2.17.1": {
|
||||
"jar": "sha256-yWfyI0h5gLk2TpSnx/mooB/T7nwZvb8LD5+MuFEfPUE=",
|
||||
"pom": "sha256-C7s79tTSKhv6PDwJJ8KUEK8UoPsm47Ark3JvXH6Yqv0="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j/2.17.1": {
|
||||
"pom": "sha256-lnq8AkRDqcsJaTVVmvXprW8P9hN1+Esn1EDS+nCAawk="
|
||||
},
|
||||
"org/beryx#badass-runtime-plugin/1.13.0": {
|
||||
"jar": "sha256-ekslb9N9F6TK7Ms2hpeKmzRYW7WbXxmhmCzwYX+q86g=",
|
||||
"module": "sha256-FdSu+57WOootchnvCNjEY6VztDoF2UiBAeUmgx3pmMA=",
|
||||
"pom": "sha256-0bql4D6Gy4kd5e9l0OYNlowgT6/5EQ2TWFmX3EoZW9E="
|
||||
},
|
||||
"org/beryx/runtime#org.beryx.runtime.gradle.plugin/1.13.0": {
|
||||
"pom": "sha256-xlrrkFABYYEdS2cOwaKcaTL5gk5hI00vWQNCJaDSSRg="
|
||||
},
|
||||
"org/codehaus/plexus#plexus-utils/3.4.1": {
|
||||
"jar": "sha256-UtheBLORhyKvEdEoVbSoJX35ag52yPTjhS5vqoUfNXs=",
|
||||
"pom": "sha256-sUTP+bHGJZ/sT+5b38DzYNacI6vU6m5URTOpSbaeNYI="
|
||||
},
|
||||
"org/codehaus/plexus#plexus/8": {
|
||||
"pom": "sha256-/6NJ2wTnq/ZYhb3FogYvQZfA/50/H04qpXILdyM/dCw="
|
||||
},
|
||||
"org/eclipse/jgit#org.eclipse.jgit-parent/5.13.1.202206130422-r": {
|
||||
"pom": "sha256-3mX8du2PRKV3he4WSRjcPU9V7j/qake8fLG6oZ7xvIM="
|
||||
},
|
||||
"org/eclipse/jgit#org.eclipse.jgit/5.13.1.202206130422-r": {
|
||||
"jar": "sha256-1nk2WmyOVcFJZwEJn15XZUM/aNy2WXWUFrpbIi61BVw=",
|
||||
"pom": "sha256-PMS+v5yTZXjq4rbST7KpEtiZk6VP0OL7wcirwEmHhRU="
|
||||
},
|
||||
"org/jdom#jdom2/2.0.6": {
|
||||
"jar": "sha256-E0XxG6YG0VYD1nQFUajCGUfAIVZAdw7GcnH+eL6pfPU=",
|
||||
"pom": "sha256-R7I6ef4za3QbgkNMbgSdaBZSVuQF51wQkh/XL6imXY0="
|
||||
},
|
||||
"org/jetbrains#annotations/13.0": {
|
||||
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
|
||||
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-reflect/1.6.21": {
|
||||
"jar": "sha256-Hh9XIJ9yOMP9FzWhuTOaVlZVB9yiSfg3G/WdkfYBrqo=",
|
||||
"pom": "sha256-2nHh493COI1nVkFnLi8DFtucnSEvlG8CbUoOahM2p/M="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-common/1.6.21": {
|
||||
"jar": "sha256-GDvsWc2fOhSVexkOjIec8RlL0fEGsKe24cu4eQ0kI2M=",
|
||||
"pom": "sha256-W8FW7nP9PC2sil7FSNWBtjMzNUfC/r7Zz2VH//FSa6I="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.6.21": {
|
||||
"jar": "sha256-8bBjTbuUFyA4RjAguy3UXKJoSfjOKdYlrLDxVp0R2+4=",
|
||||
"pom": "sha256-ARzSjruf3oFrA1nVrhCjZ07A/yxTEMBBLCDv6Oo9oG4="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.6.21": {
|
||||
"jar": "sha256-2rRUibR3NtWfzkS4BnbxlHqba8qxD9YOh4qDvYKmlUw=",
|
||||
"pom": "sha256-g2oReaCNJJFGl9JhLgO4SKCHyAy0sMoj+c+rJH86dcQ="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/1.6.21": {
|
||||
"jar": "sha256-c5xSZnK7M3Vzso9jr6gwbrCIsMOgln9W1sifSjASpJI=",
|
||||
"pom": "sha256-zkJyW6Ab2DbNqmZ9l032hL9vjxXng5JjMgraf/quHzQ="
|
||||
},
|
||||
"org/junit#junit-bom/5.7.2": {
|
||||
"module": "sha256-87zrHFndT2mT9DBN/6WAFyuN9lp2zTb6T9ksBXjSitg=",
|
||||
"pom": "sha256-zRSqqGmZH4ICHFhdVw0x/zQry6WLtEIztwGTdxuWSHs="
|
||||
},
|
||||
"org/ow2#ow2/1.5": {
|
||||
"pom": "sha256-D4obEW52C4/mOJxRuE5LB6cPwRCC1Pk25FO1g91QtDs="
|
||||
},
|
||||
"org/ow2/asm#asm-analysis/9.2": {
|
||||
"jar": "sha256-h4++UhcxwHLRTS1luYOxvq5q0G/aAAe2qLroH3P0M8Q=",
|
||||
"pom": "sha256-dzzBor/BTGxKl5xRoHXAI0oL9pT8Or5PrPRU83oUXxs="
|
||||
},
|
||||
"org/ow2/asm#asm-commons/9.2": {
|
||||
"jar": "sha256-vkzlMTiiOLtSLNeBz5Hzulzi9sqT7GLUahYqEnIl4KY=",
|
||||
"pom": "sha256-AoJOg58qLw5ylZ/dMLSJckDwWvxD3kLXugsYQ3YBwHA="
|
||||
},
|
||||
"org/ow2/asm#asm-tree/9.2": {
|
||||
"jar": "sha256-qr+b0jCRpOv8EJwfPufPPkuJ9rotP1HFJD8Ws8/64BE=",
|
||||
"pom": "sha256-9h8+vqVSDd8Z9FKwPEJscjG92KgdesKHZctScSJaw3g="
|
||||
},
|
||||
"org/ow2/asm#asm/9.2": {
|
||||
"jar": "sha256-udT+TXGTjfOIOfDspCqqpkz4sxPWeNoDbwyzyhmbR/U=",
|
||||
"pom": "sha256-37EqGyJL8Bvh/WBAIEZviUJBvLZF3M45Xt2M1vilDfQ="
|
||||
},
|
||||
"org/slf4j#slf4j-api/1.7.30": {
|
||||
"jar": "sha256-zboHlk0btAoHYUhcax6ML4/Z6x0ZxTkorA1/lRAQXFc=",
|
||||
"pom": "sha256-fgdHdR6bZ+Gdy1IG8E6iLMA9JQxCJCZALq3QNRPywxQ="
|
||||
},
|
||||
"org/slf4j#slf4j-parent/1.7.30": {
|
||||
"pom": "sha256-EWR5VuSKDFv7OsM/bafoPzQQAraFfv0zWlBbaHvjS3U="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/5": {
|
||||
"pom": "sha256-FnjUEgpYXYpjATGu7ExSTZKDmFg7fqthbufVqH9SDT0="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/vafer#jdependency/2.7.0": {
|
||||
"jar": "sha256-1j79V0b/QIlDp91++Frp8Jqn+2O7KxaRFCfObEW1n9A=",
|
||||
"pom": "sha256-6yRCKwo+nofVrG6oCHeG+1HEsbvg0iXvdSFSxzaiBNA="
|
||||
},
|
||||
"xmlpull#xmlpull/1.1.3.1": {
|
||||
"jar": "sha256-NOCO5iEWBxy7acDtcNFaelsgjWJ5jFnyEgu4kpMky2M=",
|
||||
"pom": "sha256-jxD/2N8NPpgZyMyEAnCcaySLxTqVTvbkVHDZrjpXNfs="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2": {
|
||||
"antlr#antlr/2.7.7": {
|
||||
"jar": "sha256-iPvaS5Ellrn1bo4S5YDMlUus+1F3bs/d0+GPwc9W3Ew=",
|
||||
"pom": "sha256-EA95O6J/i05CBO20YXHr825U4PlM/AJSf+oHoLsfzrc="
|
||||
},
|
||||
"ch/qos/logback#logback-classic/1.3.5": {
|
||||
"jar": "sha256-nWi52vL7uYoJsEReDGSsMJ2dDhVraFELY3kTl8l+MuQ=",
|
||||
"pom": "sha256-7HWshxo9E2HbsPjbbSUDW6uJpeqXPxhKse+pHO7oRsU="
|
||||
},
|
||||
"ch/qos/logback#logback-core/1.3.5": {
|
||||
"jar": "sha256-sfDsOT8vW7rx3sthYk3hg4ZjTDGX6e7WnRwSNN3XVvM=",
|
||||
"pom": "sha256-HgdGJT8D995vW70VQzaqTXWGlCEPac//bo61+O/DVSg="
|
||||
},
|
||||
"ch/qos/logback#logback-parent/1.3.5": {
|
||||
"pom": "sha256-EYAKLQpLzUQpZNpWHBGhHxbkS4n+prEKiRoQkigHn1s="
|
||||
},
|
||||
"com/beust#jcommander/1.81": {
|
||||
"jar": "sha256-nYtCl5yZ89qpkQL+m6H7JfUiJstIz1i8GKy5MTLkGgU=",
|
||||
"module": "sha256-yQiuLdCRx1kB8zhnWrOWNOGfmyFjaUZwwSLiir5aDoI=",
|
||||
"pom": "sha256-8CBdB5nUsdc0JS/Z+g3T63x1H1/762eyVeQStV/i41U="
|
||||
},
|
||||
"com/beust#jcommander/1.82": {
|
||||
"jar": "sha256-3urBV8jeaCKHjYXQx7yEZ6GcyEhNN3iPeATwOd3igLE=",
|
||||
"module": "sha256-k2oti84PhNoYUA9OEZSIuTEG26qDuEYv6Za80OHDixY=",
|
||||
"pom": "sha256-JGNEFwtRO4Acz4EiNNThMkoPbtKoHpCqYYkTtmucwXM="
|
||||
},
|
||||
"com/fifesoft#rsyntaxtextarea/3.3.2": {
|
||||
"jar": "sha256-TAslPpJ8Ho8zUkhBcNA98Iu39QORc6vAXP+dERwyqks=",
|
||||
"module": "sha256-ctL5lETQWlYoNVrzcGQm8Ea+Yzpm4a+wdt2xLTdoi9Y=",
|
||||
"pom": "sha256-KwgwlBEYFM9LGWtMEA75Nc2ztgJ9Z9HAtWLPc0LRNgk="
|
||||
},
|
||||
"com/formdev#flatlaf-extras/3.0": {
|
||||
"jar": "sha256-wAud4HI/J1PtR7c1t6RLVK6rJt6bO5dTIYgftTVTx1E=",
|
||||
"module": "sha256-FkTiG6Si+TVfX7Ap9WZoo5KsEqUpSQ1nu2VWJoKmoek=",
|
||||
"pom": "sha256-B1lbUVRfuH8a1+CDuKEjm/h7/P64KAc4bOaFP59vCWI="
|
||||
},
|
||||
"com/formdev#flatlaf-intellij-themes/3.0": {
|
||||
"jar": "sha256-N3qzctH/ln9MPMO0us78YYWgYnehChoUOlwqITjZObA=",
|
||||
"module": "sha256-sKyuEQ8TM+zDL3YDcQrw4HjM1OV+uBLrZG/Wnd6sRv8=",
|
||||
"pom": "sha256-dSGPJNAI5MRhs8b6JQ5w1c0yJ6ChWzcXexL/z3fF33Y="
|
||||
},
|
||||
"com/formdev#flatlaf/3.0": {
|
||||
"jar": "sha256-lpsnqmEscOy4VmTlXYxfdnimGI+dt8UUKoH25HXhmGc=",
|
||||
"module": "sha256-ndu+u4qmfA+PJfYcWspgGYHiWjZ2fM9YuuaMopWgUxs=",
|
||||
"pom": "sha256-p4oaUVQeiMBghuMPw5BvUdWOUCDETbd52rsS8JEuTPk="
|
||||
},
|
||||
"com/formdev#svgSalamander/1.1.4": {
|
||||
"jar": "sha256-4PGk2RzE9s4I6LRBsbMmuJjiUDZqn0xIk3EoTHhNMhE=",
|
||||
"pom": "sha256-ndRWBiO6S1ETmg3EnarIjL5dJIzUgrPzoLJfYZutUvk="
|
||||
},
|
||||
"com/github/akarnokd#rxjava2-swing/0.3.7": {
|
||||
"jar": "sha256-umWvI1GP+Ucha7S+kDC7AavSQkHOEy3oPoUdC81S7n4=",
|
||||
"pom": "sha256-VCbDiy18y9Z5qiBuF6TPrxPrk3IPPnjPjdckAjfNnLE="
|
||||
},
|
||||
"com/google/code/findbugs#jsr305/3.0.2": {
|
||||
"jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=",
|
||||
"pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4="
|
||||
},
|
||||
"com/google/code/gson#gson-parent/2.10.1": {
|
||||
"pom": "sha256-QkjgiCQmxhUYI4XWCGw+8yYudplXGJ4pMGKAuFSCuDM="
|
||||
},
|
||||
"com/google/code/gson#gson/2.10.1": {
|
||||
"jar": "sha256-QkHBSncnw0/uplB+yAExij1KkPBw5FJWgQefuU7kxZM=",
|
||||
"pom": "sha256-0rEVY09cCF20ucn/wmWOieIx/b++IkISGhzZXU2Ujdc="
|
||||
},
|
||||
"com/google/errorprone#error_prone_annotations/2.5.1": {
|
||||
"jar": "sha256-/4Bia6rxKgk0K+/U6Ey6nVBmL1/Nf3qbNJCmt8+H5mw=",
|
||||
"pom": "sha256-mDrX/g+m9vkeLSBHf1CJ7Mw/TY7GxR1utFWDlw4nnTw="
|
||||
},
|
||||
"com/google/errorprone#error_prone_annotations/2.7.1": {
|
||||
"jar": "sha256-zVJXwIokbPhiiBeuccuCK+GS75H2iByko/z/Tx3hz/M=",
|
||||
"pom": "sha256-Mahy4RScXzqLwF+03kVeXqYI7PrRryIst2N8psdi7iU="
|
||||
},
|
||||
"com/google/errorprone#error_prone_parent/2.5.1": {
|
||||
"pom": "sha256-oXp2d0gqOlGkX14IFAByrNMyzLEvI4mbAFLYCnKcLlI="
|
||||
},
|
||||
"com/google/errorprone#error_prone_parent/2.7.1": {
|
||||
"pom": "sha256-Cm4kLigQToCTQFrjeWlmCkOLccTBtz/E/3FtuJ2ojeY="
|
||||
},
|
||||
"com/google/guava#failureaccess/1.0.1": {
|
||||
"jar": "sha256-oXHuTHNN0tqDfksWvp30Zhr6typBra8x64Tf2vk2yiY=",
|
||||
"pom": "sha256-6WBCznj+y6DaK+lkUilHyHtAopG1/TzWcqQ0kkEDxLk="
|
||||
},
|
||||
"com/google/guava#guava-parent/26.0-android": {
|
||||
"pom": "sha256-+GmKtGypls6InBr8jKTyXrisawNNyJjUWDdCNgAWzAQ="
|
||||
},
|
||||
"com/google/guava#guava-parent/30.1.1-jre": {
|
||||
"pom": "sha256-BCK9Rcokl7+hiq0mmDJJZe1w2gkHuKfUWberO17tODQ="
|
||||
},
|
||||
"com/google/guava#guava-parent/31.0.1-jre": {
|
||||
"pom": "sha256-s7a2qnCZwRgXrO6FsyL9kffuMq6mn+CD7jbIc17AZ4g="
|
||||
},
|
||||
"com/google/guava#guava/30.1.1-jre": {
|
||||
"jar": "sha256-RM4inOJtiAvzr8Niu/zsNNfmkD0ZW7sdufO24NmDTwY=",
|
||||
"pom": "sha256-bRjJGIrUt4Vft/6m8Xk3VLQfoXR4Ea4ePXU9b8ydzFk="
|
||||
},
|
||||
"com/google/guava#guava/31.0.1-jre": {
|
||||
"jar": "sha256-1b6U1l6HvSGfsxk60VF7qlWjuI/JHSHPc1gmq1rwh7k=",
|
||||
"pom": "sha256-K+VmkgwhxgxcyvKCeGfK/3ZmRuIRO3/MPunCSkCy85Y="
|
||||
},
|
||||
"com/google/guava#listenablefuture/9999.0-empty-to-avoid-conflict-with-guava": {
|
||||
"jar": "sha256-s3KgN9QjCqV/vv/e8w/WEj+cDC24XQrO0AyRuXTzP5k=",
|
||||
"pom": "sha256-GNSx2yYVPU5VB5zh92ux/gXNuGLvmVSojLzE/zi4Z5s="
|
||||
},
|
||||
"com/google/j2objc#j2objc-annotations/1.3": {
|
||||
"jar": "sha256-Ia8wySJnvWEiwOC00gzMtmQaN+r5VsZUDsRx1YTmSns=",
|
||||
"pom": "sha256-X6yoJLoRW+5FhzAzff2y/OpGui/XdNQwTtvzD6aj8FU="
|
||||
},
|
||||
"com/google/protobuf#protobuf-bom/3.21.12": {
|
||||
"pom": "sha256-O72GqUBXpnHmPVX532EsZBlz1ecNba4qtFYk/xrfUcU="
|
||||
},
|
||||
"com/google/protobuf#protobuf-java/3.21.12": {
|
||||
"jar": "sha256-Pz7b2pKGJGCA8+r1Yd1rDVorHxAI9pCRFchgnOrp34c=",
|
||||
"pom": "sha256-CXiOUXdwUnUK3bE39cMbdwDlY6UsncRQlXqGVM/gVrU="
|
||||
},
|
||||
"com/google/protobuf#protobuf-parent/3.21.12": {
|
||||
"pom": "sha256-fj44jW/7fyDmb/JfRbk3i0Igt7L9Jh9rO8IGs9/4u8g="
|
||||
},
|
||||
"com/jakewharton/android/repackaged#dalvik-dx/11.0.0_r3": {
|
||||
"jar": "sha256-N1gaVv3tFexviLRtPHcEzHAKM3H5519BshIeMod2m6k=",
|
||||
"pom": "sha256-p1xwnmYDV+amCkqI5dm/UQEH5TJ2JzabwfgDDzmJONE="
|
||||
},
|
||||
"com/puppycrawl/tools#checkstyle/9.3": {
|
||||
"jar": "sha256-BGPjBJgPVGC5ZPSBzMJaEPslO2AQDBnlD8mSiSiVl38=",
|
||||
"pom": "sha256-p9y0ZmVtZ/oKUNkE/d8U/GtTmEa4FO3/djXHRdW9MDQ="
|
||||
},
|
||||
"commons-beanutils#commons-beanutils/1.9.4": {
|
||||
"jar": "sha256-fZOMgXiQKARcCMBl6UvnX8KAUnYg1b1itRnVg4UyNoo=",
|
||||
"pom": "sha256-w1zKe2HUZ42VeMvAuQG4cXtTmr+SVEQdp4uP5g3gZNA="
|
||||
},
|
||||
"commons-collections#commons-collections/3.2.2": {
|
||||
"jar": "sha256-7urpF5FxRKaKdB1MDf9mqlxcX9hVk/8he87T/Iyng7g=",
|
||||
"pom": "sha256-1dgfzCiMDYxxHDAgB8raSqmiJu0aES1LqmTLHWMiFws="
|
||||
},
|
||||
"hu/kazocsaba#image-viewer/1.2.3": {
|
||||
"jar": "sha256-wqNLddLK8alfjMGXGam6MNEJZhi9sIez22/8ELrAUik=",
|
||||
"pom": "sha256-7Wev/h7E7cGYGKhqSZqe8DfWujf3GFvTBbs62otf+qw="
|
||||
},
|
||||
"info/picocli#picocli/4.6.2": {
|
||||
"jar": "sha256-R1TZbq9TFPNaKH2lxnhIsoUGeGj8ptH1Ehp09n8GW2E=",
|
||||
"pom": "sha256-3q4p2lxR4/6dla9ujzkVbCvBt0niQtATbp4jIINIF5k="
|
||||
},
|
||||
"io/github/skylot#jdwp/2.0.0": {
|
||||
"jar": "sha256-Z01piJwpSc+I/MIGr38ur7FTMWsy5GzO8Tz5FRw3jqw=",
|
||||
"module": "sha256-0bY96BmtAR3paWge0wxaULPc3FclHTTfnEtnw+6nU3Q=",
|
||||
"pom": "sha256-2tG6+z2xh4vm/awirm/tYaXN38OXwJruNuP8HKOEIMU="
|
||||
},
|
||||
"io/github/skylot#raung-asm/0.0.3": {
|
||||
"jar": "sha256-o+NOaprRhicntyd7Q2w/jkx0ll3ixsNBNDEB7t23S0w=",
|
||||
"module": "sha256-Xr/NftSYTE6eV44X6knVOvrHRbSNYS6cnGgQo1Hqr94=",
|
||||
"pom": "sha256-sU7Vq9Zy3OCw4QwPAe8EgZYLBchyl5xDszVfcstSBYc="
|
||||
},
|
||||
"io/github/skylot#raung-common/0.0.3": {
|
||||
"jar": "sha256-I/bEZ+qWVPA5ii/V+TpjeEZd2M4fzTYInDM5dNcnICg=",
|
||||
"module": "sha256-tvEtR3+g69ui7+wp1I+H6QcEHOPDuvQwk0FhH7RSuCU=",
|
||||
"pom": "sha256-yfInb1qT0ikQ2BkEr/0OArStnwhVBsFTyl4k5vVtfVU="
|
||||
},
|
||||
"io/github/skylot#raung-disasm/0.0.3": {
|
||||
"jar": "sha256-j9HSGFHXDY2hfhwJxf0M5ME8zWlnBX1Vtlw8qYP5DaI=",
|
||||
"module": "sha256-1Vdekft2GEATZ0KC32uKD6viK6ANyilFQD4qIe/QtJI=",
|
||||
"pom": "sha256-/iYlIgpujopppbkOu/wMVWFIkRjBadAkvBf/3q1y9Y4="
|
||||
},
|
||||
"io/reactivex/rxjava2#rxjava/2.2.21": {
|
||||
"jar": "sha256-Wd9lQahAAY8PTImark9MH0OD9MFv61JoYV++OE0oUBw=",
|
||||
"pom": "sha256-slvs5QSD3po+Hf0lARwthTMCFu+Kgbhvar69vfmw8Sc="
|
||||
},
|
||||
"net/bytebuddy#byte-buddy-agent/1.12.19": {
|
||||
"jar": "sha256-OnAkDefNzeBOfFBMIyfXA1ucJa4CBogeO/TmeYonPtg=",
|
||||
"pom": "sha256-taLP9kNoHeFof8QKzSUf7v38oj5nPgSfs8NpK1NSbUs="
|
||||
},
|
||||
"net/bytebuddy#byte-buddy-parent/1.12.19": {
|
||||
"pom": "sha256-cqtv70CegSkh9HKLPEtu9PpTvCX6uwSI/CyuNnNotU0="
|
||||
},
|
||||
"net/bytebuddy#byte-buddy-parent/1.12.21": {
|
||||
"pom": "sha256-/2bYhmBxN+IJXyDJDuCT88gDKRZO/wkaBoi9zjfj5rI="
|
||||
},
|
||||
"net/bytebuddy#byte-buddy/1.12.19": {
|
||||
"pom": "sha256-Q1+4Zkqpt+EgyN1scH1Or6ZC+iYt/21eP3HcJcaeies="
|
||||
},
|
||||
"net/bytebuddy#byte-buddy/1.12.21": {
|
||||
"jar": "sha256-9vRcIjen8TLBZ0WtKlLEzd5YAosR7oCwnw1CL0kw1oU=",
|
||||
"pom": "sha256-letCyJ/QT2IYfdM7nN8E0t8bh2s3XBatMsClocwaBws="
|
||||
},
|
||||
"net/sf/launch4j#launch4j/3.14": {
|
||||
"pom": "sha256-xEYpdod2nJWyb2Qg9zsr0qKd90TYllTAdKhVb2Is+Vs="
|
||||
},
|
||||
"net/sf/launch4j#launch4j/3.14/workdir-linux64": {
|
||||
"jar": "sha256-mphFGb9E6CWlsEFZfgVPi/qy+Tpm+na30aM79JIcNUY="
|
||||
},
|
||||
"net/sf/saxon#Saxon-HE/10.6": {
|
||||
"jar": "sha256-bQjfguTthrarsaAse3SiaPz8XgBOg7tP8AbsOlCb01Y=",
|
||||
"pom": "sha256-otbdpDjoZKuTXzG0O1MFLE6HEalQVkJxkZBRPnb0Ekg="
|
||||
},
|
||||
"org/antlr#ST4/4.0.8": {
|
||||
"jar": "sha256-WMqrxAyfdLC1mT/YaOD2SlDAdZCU5qJRqq+tmO38ejs=",
|
||||
"pom": "sha256-PAiQ3scRdOs7o9QEyp40GQH/awQhgIsAcTsNuxMGwXw="
|
||||
},
|
||||
"org/antlr#antlr-master/3.5.2": {
|
||||
"pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y="
|
||||
},
|
||||
"org/antlr#antlr-runtime/3.5.2": {
|
||||
"jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=",
|
||||
"pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU="
|
||||
},
|
||||
"org/antlr#antlr/3.5.2": {
|
||||
"jar": "sha256-WsNsKs+woPPTfa/iC1tXDyZD4tAAxkjURQPCc4vmQ98=",
|
||||
"pom": "sha256-Bl5egGYv64WHldPAH3cUJHvdMZRZcF7hOxpLGWj6IuQ="
|
||||
},
|
||||
"org/antlr#antlr4-master/4.9.3": {
|
||||
"pom": "sha256-VlzAVNO631DKCgcX2uMRJootZwn93ckKxKQ8YtAZNbk="
|
||||
},
|
||||
"org/antlr#antlr4-runtime/4.9.3": {
|
||||
"jar": "sha256-ExpllJabxPMh1lLqKjO8DjeMoxJoXvh3kbLGCynQHqU=",
|
||||
"pom": "sha256-T35E5OoGKfo6dZsRFv65+yiBTpX3keHu7dIMEoideqQ="
|
||||
},
|
||||
"org/antlr#stringtemplate/3.2.1": {
|
||||
"jar": "sha256-9mznLpZeUwHLDwIOVNK6atdv65Gzy/ww278AwGpt9tc=",
|
||||
"pom": "sha256-tF6CZVqlpI8z0TpD5DRUJrFWM1s14kta6hLbWCPBahY="
|
||||
},
|
||||
"org/apache#apache/16": {
|
||||
"pom": "sha256-n4X/L9fWyzCXqkf7QZ7n8OvoaRCfmKup9Oyj9J50pA4="
|
||||
},
|
||||
"org/apache#apache/19": {
|
||||
"pom": "sha256-kfejMJbqabrCy69tAf65NMrAAsSNjIz6nCQLQPHsId8="
|
||||
},
|
||||
"org/apache#apache/23": {
|
||||
"pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw="
|
||||
},
|
||||
"org/apache#apache/27": {
|
||||
"pom": "sha256-srD8aeIqZQw4kvHDZtdwdvKVdcZzjfTHpwpEhESEzfk="
|
||||
},
|
||||
"org/apache/commons#commons-lang3/3.12.0": {
|
||||
"jar": "sha256-2RnZBEhsA3+NGTQS2gyS4iqfokIwudZ6V4VcXDHH6U4=",
|
||||
"pom": "sha256-gtMfHcxFg+/9dE6XkWWxbaZL+GvKYj/F0bA+2U9FyFo="
|
||||
},
|
||||
"org/apache/commons#commons-parent/39": {
|
||||
"pom": "sha256-h80n4aAqXD622FBZzphpa7G0TCuLZQ8FZ8ht9g+mHac="
|
||||
},
|
||||
"org/apache/commons#commons-parent/47": {
|
||||
"pom": "sha256-io7LVwVTv58f+uIRqNTKnuYwwXr+WSkzaPunvZtC/Lc="
|
||||
},
|
||||
"org/apache/commons#commons-parent/52": {
|
||||
"pom": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4="
|
||||
},
|
||||
"org/apache/commons#commons-parent/54": {
|
||||
"pom": "sha256-AA2Bh5UrIjcC/eKW33mVY/Nd6CznKttOe/FXNCN4++M="
|
||||
},
|
||||
"org/apache/commons#commons-text/1.10.0": {
|
||||
"jar": "sha256-dwzZA/p7YE0ffve6F/hBCGZylLK0eL6O0a87/7SuABg=",
|
||||
"pom": "sha256-OI3VI0i6GEKqOK64l8kdJwsUZh64daIP2YAxU1qydWc="
|
||||
},
|
||||
"org/apiguardian#apiguardian-api/1.1.2": {
|
||||
"jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=",
|
||||
"module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=",
|
||||
"pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA="
|
||||
},
|
||||
"org/assertj#assertj-build/3.24.2": {
|
||||
"pom": "sha256-1/yMSqgAWDsmxGfrD67eCvXnynkMS+TU0jVDFYPSbq0="
|
||||
},
|
||||
"org/assertj#assertj-core/3.24.2": {
|
||||
"jar": "sha256-3z0LNI8f6Aa93csQ+krmPGZ56YiNS8cFXwmEhReXaqM=",
|
||||
"pom": "sha256-f7mxojdOtQ7SubWYRcaScxEeoYOaQpj5QAqA4rLFyA4="
|
||||
},
|
||||
"org/assertj#assertj-parent/3.24.2": {
|
||||
"pom": "sha256-DFAETrW96ehEI7yhOv9dX0PTdSqzxj9zva5p/EqxoKw="
|
||||
},
|
||||
"org/checkerframework#checker-qual/3.12.0": {
|
||||
"jar": "sha256-/xB4WsKjV+xd6cKTy5gqLLtgXAMJ6kzBy5ubxtvn88s=",
|
||||
"module": "sha256-0EeUnBuBCRwsORN3H6wvMqL6VJuj1dVIzIwLbfpJN3c=",
|
||||
"pom": "sha256-d1t6425iggs7htwao5rzfArEuF/0j3/khakionkPRrk="
|
||||
},
|
||||
"org/checkerframework#checker-qual/3.8.0": {
|
||||
"jar": "sha256-yIwual/a658m/Ph5JkBC3oqe6dN24kd4OP6qvPpE3aY=",
|
||||
"pom": "sha256-fm1Z4tO8AbHwT6NmcZOm1BcBmbFPulOnqONr92AiOac="
|
||||
},
|
||||
"org/eclipse/jdt#ecj/3.32.0": {
|
||||
"jar": "sha256-B+A0xEoBnAxjlKBu57XDROVRj2CDwP0Eby2P0WpnYOI=",
|
||||
"pom": "sha256-nHgB0Qv3Z4qRIwZCCOcFiSsd99CTbaLUoO3TyIqXtHU="
|
||||
},
|
||||
"org/hamcrest#hamcrest-core/2.2": {
|
||||
"jar": "sha256-CU9dkrS32ciiv1PMadNWJDronDSZRXvLS5L37Tv5WHk=",
|
||||
"pom": "sha256-9/3i//UQGl/Do54ogQuRHC2iAt3CvVB2X4nnxv+M590="
|
||||
},
|
||||
"org/hamcrest#hamcrest-library/2.2": {
|
||||
"jar": "sha256-OFFSOiAaDUglwlphpu3FBxKCWjm9PQM5G5jEjKPLOWw=",
|
||||
"pom": "sha256-9YrYNdJCZDElnYbk/jpPUWHmcdkWxcvs81c4vN6C/P8="
|
||||
},
|
||||
"org/hamcrest#hamcrest/2.2": {
|
||||
"jar": "sha256-XmKEaonwXNeM2cGlU/NA0AJFg4DDIEVd0fj8VJeoocE=",
|
||||
"pom": "sha256-s2E3N2xLP8923DN+KhvFtpGirBqpZqtdJiCak4EvpX0="
|
||||
},
|
||||
"org/javassist#javassist/3.28.0-GA": {
|
||||
"jar": "sha256-V9Cp6ShvgvTqqFESUYaZf4Eb784OIGD/ChWnf1qd2ac=",
|
||||
"pom": "sha256-w2p8E9o6SFKqiBvfnbYLnk0a8UbsKvtTmPltWYP21d0="
|
||||
},
|
||||
"org/jetbrains#annotations/24.0.0": {
|
||||
"jar": "sha256-/xEvVM6HS4romc/WjwMV2WyfQGozi47KgMdtEOLlovc=",
|
||||
"pom": "sha256-q4eN2sP6teB48NqVHqvWf77d09KvFzn+t/lHFgJ1Xws="
|
||||
},
|
||||
"org/junit#junit-bom/5.7.1": {
|
||||
"module": "sha256-mFTjiU1kskhSB+AEa8oHs9QtFp54L0+oyc4imnj67gQ=",
|
||||
"pom": "sha256-C5sUo9YhBvr+jGinF7h7h60YaFiZRRt1PAT6QbaFd4Q="
|
||||
},
|
||||
"org/junit#junit-bom/5.9.0": {
|
||||
"module": "sha256-oFTq9QFrWLvN6GZgREp8DdPiyvhNKhrV/Ey1JZecGbk=",
|
||||
"pom": "sha256-2D6H8Wds3kQZHuxc2mkEkjkvJpI7HkmBSMpznf7XUpU="
|
||||
},
|
||||
"org/junit#junit-bom/5.9.1": {
|
||||
"module": "sha256-kCbBZWaQ+hRa117Og2dCEaoSrYkwqRsQfC9c3s4vGxw=",
|
||||
"pom": "sha256-sWPBz8j8H9WLRXoA1YbATEbphtdZBOnKVMA6l9ZbSWw="
|
||||
},
|
||||
"org/junit#junit-bom/5.9.2": {
|
||||
"module": "sha256-qxN7pajjLJsGa/kSahx23VYUtyS6XAsCVJdyten0zx8=",
|
||||
"pom": "sha256-LtB9ZYRRMfUzaoZHbJpAVrWdC1i5gVqzZ5uw82819wU="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-api/5.9.2": {
|
||||
"jar": "sha256-92ehcPlxJ7CtNYK/M1jqu7vpgdn5ZBGFPmKdknaSb9U=",
|
||||
"module": "sha256-y9Ae2F1HTMhbIT/iBrzpgmbWdZzSjWxeQb/kUJCepHs=",
|
||||
"pom": "sha256-EK9g+mkKzNzr85TsWECdzs/x3sNwJopnA2ChFfcxxVw="
|
||||
},
|
||||
"org/junit/jupiter#junit-jupiter-engine/5.9.2": {
|
||||
"jar": "sha256-dM/Ek4j3YEE/80jKLJqzlSdIS1fe7NFX8idaX4pf6XE=",
|
||||
"module": "sha256-WmigqdMTI0BieAXap0YY+zTEXMUZp8LsgzQedDixOTM=",
|
||||
"pom": "sha256-nfOOgj4a3Zplas+5Wc5zsHAE32yffANnwmt0PmVrWa8="
|
||||
},
|
||||
"org/junit/platform#junit-platform-commons/1.9.2": {
|
||||
"jar": "sha256-Yko9dF7x0o6VWmpnr47boP38XJutaApz9npwu5UKaD0=",
|
||||
"module": "sha256-a6TIRhPluJ5mjuaomXHw2Q0OG4FyG4tf4MgAWPDOue4=",
|
||||
"pom": "sha256-JAI/IMI1ppYJ+y+Vpgc4VX/PlBPzrpKpLhMpVH1hRck="
|
||||
},
|
||||
"org/junit/platform#junit-platform-engine/1.9.2": {
|
||||
"jar": "sha256-JfI9xTWgkencgMAI+vKdy5K+kC5pEfd6c2+68BmQg2c=",
|
||||
"module": "sha256-HehRQa+fWBU+JFdQaaE3X7vt169dhEy+MoeWU0nLofc=",
|
||||
"pom": "sha256-LflCCmsk5fTzFCNeAc2cO49kYoXbL26C2G7gbvevTiQ="
|
||||
},
|
||||
"org/mockito#mockito-bom/4.11.0": {
|
||||
"pom": "sha256-2FMadGyYj39o7V8YjN6pRQBq6pk+xd+eUk4NJ9YUkdo="
|
||||
},
|
||||
"org/mockito#mockito-core/4.10.0": {
|
||||
"jar": "sha256-vBSafXSmWCf6rVb9zTfy9T9DbuOcKfCIJ2+hs4S/g3o=",
|
||||
"pom": "sha256-Dzw6IxhyvrM1D0WynDIPI/KTKMjDgCrbs5WIbS+OsyU="
|
||||
},
|
||||
"org/objenesis#objenesis-parent/3.3": {
|
||||
"pom": "sha256-MFw4SqLx4cf+U6ltpBw+w1JDuX1CjSSo93mBjMEL5P8="
|
||||
},
|
||||
"org/objenesis#objenesis/3.3": {
|
||||
"jar": "sha256-At/QsEOaVZHjW3CO0vVHTrCUj1Or90Y36Vm45O9pv+s=",
|
||||
"pom": "sha256-ugxA2iZpoEi24k73BmpHHw+8v8xQnmo+hWyk3fphStM="
|
||||
},
|
||||
"org/opentest4j#opentest4j/1.2.0": {
|
||||
"jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=",
|
||||
"pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ="
|
||||
},
|
||||
"org/ow2#ow2/1.5.1": {
|
||||
"pom": "sha256-Mh3bt+5v5PU96mtM1tt0FU1r+kI5HB92OzYbn0hazwU="
|
||||
},
|
||||
"org/ow2/asm#asm-analysis/9.4": {
|
||||
"jar": "sha256-e1+MXjvzQbW7Vw0m83nj/evcMnMhhxWcQkeRZAU/Nz0=",
|
||||
"pom": "sha256-fZtgkidiP2x+9v13+gbaWG0Na6wRTPPnICDaiFPYdZw="
|
||||
},
|
||||
"org/ow2/asm#asm-tree/9.4": {
|
||||
"jar": "sha256-xC1HnPJFZqIesgr37q7vToa9tKiGMGz3L0g7ZedbKs8=",
|
||||
"pom": "sha256-x+nvk73YqzYwMs5TgvzGTQAtbFicF1IzI2zSmOUaPBY="
|
||||
},
|
||||
"org/ow2/asm#asm-util/9.4": {
|
||||
"jar": "sha256-PXkyuT/1UFZkHnz7YB+WvNXNBx4bBQPHilAUIyKXoj4=",
|
||||
"pom": "sha256-ugQzwHsMD2mA8suPgEH/WcgemEgeEBliEFFi43IvH5I="
|
||||
},
|
||||
"org/ow2/asm#asm/9.4": {
|
||||
"jar": "sha256-OdDis9xFr2Wgmwl5RXUKlKEm4FLhJPk0aEQ6HQ4V84E=",
|
||||
"pom": "sha256-SDdR5I+y0fQ8Ya06sA/6Rm7cAzPY/C/bWibpXTKYI5Q="
|
||||
},
|
||||
"org/reactivestreams#reactive-streams/1.0.3": {
|
||||
"jar": "sha256-He4EgQctGckptiPhVeFNL2CF3AEVKaCg2+/ITPVx2GU=",
|
||||
"pom": "sha256-zO1GcXX0JXgz9ssHUQ/5ezx1oG4aWNiCo515hT1RxgI="
|
||||
},
|
||||
"org/reflections#reflections/0.10.2": {
|
||||
"jar": "sha256-k4otCP5UBQ12ELlE2N3DoJNVcQ2ea+CqyDjbwE6aKCU=",
|
||||
"pom": "sha256-tsqj6301vXVu1usKKoGGi408D29CJE/q5BdgrGYwbYc="
|
||||
},
|
||||
"org/slf4j#slf4j-api/2.0.6": {
|
||||
"jar": "sha256-LyqS1BCyaBOdfWO3XtJeIZlc/kEAwZvyNXfP28gHe9o=",
|
||||
"pom": "sha256-i06GxT0ng2CPGuohPZBsW6xcBDPgCxkjm7FnZLn6NzY="
|
||||
},
|
||||
"org/slf4j#slf4j-parent/2.0.6": {
|
||||
"pom": "sha256-FIJlDL4x5AjB3IkCHLrh0wRK1KAb+PYro2C2qBOhMSQ="
|
||||
},
|
||||
"org/smali#baksmali/2.5.2": {
|
||||
"jar": "sha256-HtI2Jm19xJB6reCxmjT3fvrCU0K2PIrOUuV5A5lBs4k=",
|
||||
"module": "sha256-g+59x3oek4+5BtaNfUPiRX8s+Im7HecuqtcJJDVfpbU=",
|
||||
"pom": "sha256-8FzZiasE/SboahreXCGauEgovqfebryA/Bd7YtJ1k4g="
|
||||
},
|
||||
"org/smali#dexlib2/2.5.2": {
|
||||
"jar": "sha256-WlyJgti9fW47saBxMEnjx4txnsMrIPa2GYhc7DCg3WE=",
|
||||
"module": "sha256-5XDKZe/asrKMAq2P34W9hSIGZrkkuJXKW+r1fXKGiDw=",
|
||||
"pom": "sha256-BWB6NSDN841drl0MQZZRKjhWpA3rlTny/OCGNalut44="
|
||||
},
|
||||
"org/smali#smali/2.5.2": {
|
||||
"jar": "sha256-E2xcRlPWUxvXtvEPNfhpHLlkMucn0wtNVXmCbuAelBk=",
|
||||
"module": "sha256-3ubU7dlRzZ7W5xd4wA81AoCJw7e+/HIwojoeqxalV3s=",
|
||||
"pom": "sha256-NSyCM7StGa2AyNSrKY8jvdMHeHrE/phZDs30CODcZOY="
|
||||
},
|
||||
"org/smali#util/2.5.2": {
|
||||
"jar": "sha256-T1gKnP8+u4PLP9IL7Ijjfk8YN5bKZScymSYRYgKC2uo=",
|
||||
"module": "sha256-rRt+JSAWcAXJFp2Gv8z/JvXF+b8Ls/qyRMtIIWU9wmE=",
|
||||
"pom": "sha256-IKx+12/5cPUQB6IPrIvbon7IeUT9Kb2oxnQJZ5LJFFE="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
},
|
||||
"tools/profiler#async-profiler/2.9": {
|
||||
"jar": "sha256-bE6ZPCjPKIKWTKyCoPlugaMlhABDiEUmVlAXsvYsW6Q=",
|
||||
"pom": "sha256-oDKflhfii6+4Rj+/btPUskpJc5oVvhlwRVB27V1SgU8="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,8 +7,6 @@
|
||||
, gradle_6
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
, perl
|
||||
, writeText
|
||||
, runtimeShell
|
||||
}:
|
||||
|
||||
@@ -16,6 +14,8 @@ let
|
||||
pname = "jd-gui";
|
||||
version = "1.6.6";
|
||||
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "java-decompiler";
|
||||
repo = pname;
|
||||
@@ -23,58 +23,7 @@ let
|
||||
hash = "sha256-QHiZPYFwDQzbXVSuhwzQqBRXlkG9QVU+Jl6SKvBoCwQ=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/java-decompiler/jd-gui/pull/362
|
||||
(fetchpatch {
|
||||
name = "nebula-plugin-gradle-6-compatibility.patch";
|
||||
url = "https://github.com/java-decompiler/jd-gui/commit/91f805f9dc8ce0097460e63c8095ccea870687e6.patch";
|
||||
hash = "sha256-9eaM9Mx2FaKIhGSOHjATKN/CrtvJeXyrH8Mdx8LNtpE=";
|
||||
})
|
||||
];
|
||||
|
||||
deps = stdenv.mkDerivation {
|
||||
name = "${pname}-deps";
|
||||
inherit src patches;
|
||||
|
||||
nativeBuildInputs = [ jdk perl gradle_6 ];
|
||||
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d);
|
||||
gradle --no-daemon jar
|
||||
'';
|
||||
|
||||
# Mavenize dependency paths
|
||||
# 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
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/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
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-gqUyZE+MoZRYCcJx95Qc4dZIC3DZvxee6UQhpfveDI4=";
|
||||
};
|
||||
|
||||
# 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}' }
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
gradle = gradle_6;
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "jd-gui";
|
||||
@@ -89,15 +38,27 @@ let
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
inherit pname version src patches;
|
||||
name = "${pname}-${version}";
|
||||
inherit pname version src;
|
||||
|
||||
nativeBuildInputs = [ jdk gradle_6 copyDesktopItems ];
|
||||
patches = [
|
||||
# https://github.com/java-decompiler/jd-gui/pull/362
|
||||
(fetchpatch {
|
||||
name = "nebula-plugin-gradle-6-compatibility.patch";
|
||||
url = "https://github.com/java-decompiler/jd-gui/commit/91f805f9dc8ce0097460e63c8095ccea870687e6.patch";
|
||||
hash = "sha256-9eaM9Mx2FaKIhGSOHjATKN/CrtvJeXyrH8Mdx8LNtpE=";
|
||||
})
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --offline --no-daemon --info --init-script ${gradleInit} jar
|
||||
'';
|
||||
nativeBuildInputs = [ jdk gradle copyDesktopItems ];
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
gradleBuildTask = "jar";
|
||||
|
||||
installPhase = let
|
||||
jar = "$out/share/jd-gui/${name}.jar";
|
||||
|
||||
Generated
+210
@@ -0,0 +1,210 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://jcenter.bintray.com": {
|
||||
"com/bmuschko#gradle-docker-plugin/3.2.1": {
|
||||
"jar": "sha256-BfgdS5EdMR7nrEhJ6/eLMD4HdDQY1OiaVZVCK/OAIxQ=",
|
||||
"pom": "sha256-slOHkvEGJnUa9sjeAgdH/1E4kntOKfL69KjtOsFKzSE="
|
||||
},
|
||||
"com/fifesoft#rsyntaxtextarea/3.0.4": {
|
||||
"jar": "sha256-76a7i/iJ6WnAwIGQ5AsolZbqDO3sA/7yNwGAdcsBSQU=",
|
||||
"pom": "sha256-Dat8ku0cJsdYs0EjYsDXjQy4v2RB2i5q4FqGPAO3W64="
|
||||
},
|
||||
"com/netflix/nebula#gradle-ospackage-plugin/8.5.6": {
|
||||
"jar": "sha256-sQK7oYx9F4OlcSgZj6/vNYr+/nIVufi783YpFCjvkGk=",
|
||||
"module": "sha256-CQGrawL62gDjdBsDaCwdRtgDDQQ0aexWDIrl8jrwsYw=",
|
||||
"pom": "sha256-zr2oKXDuN6bO9Ppzs81hOR+zFWseT5si55TrZ1yUdfs="
|
||||
},
|
||||
"com/thoughtworks/xstream#xstream-parent/1.4.10": {
|
||||
"pom": "sha256-RncMfpQQkzv62s69yR5ekLAjxhoako27hXa2kh2DBsw="
|
||||
},
|
||||
"com/thoughtworks/xstream#xstream/1.4.10": {
|
||||
"jar": "sha256-oVh/NfphdRNgfIbsnm5N5euKzfmjptf3RY+KjECwCFg=",
|
||||
"pom": "sha256-pKn/aI9xPaPqwEQS5QoMml4XPmkh/kRt2wfUkB2aNBc="
|
||||
},
|
||||
"com/yuvimasory#orange-extensions/1.3.0": {
|
||||
"jar": "sha256-M1gGPRjFV56evw/eRWQOqy1FJ9HummKDyTZ5zqRG3YY=",
|
||||
"pom": "sha256-MBQbN96epg6iqwnPBCVAc4hHqKG8A1o7a9A2OsMvV7I="
|
||||
},
|
||||
"commons-beanutils#commons-beanutils/1.7.0": {
|
||||
"jar": "sha256-JLyqIMy9x8hWzgwK6hRFZpQ0A+Lp8nvZd5zaHXaCPvQ=",
|
||||
"pom": "sha256-tqymRloosCdobwJdV3AvkK0NEo4U0c/OygvYcfAIStk="
|
||||
},
|
||||
"commons-io#commons-io/2.6": {
|
||||
"jar": "sha256-+HfTBGYKwqFC84ZbrfyXHex+1zx0fH+NXS9ROcpzZRM=",
|
||||
"pom": "sha256-DCOGOJOiKR9aev29jRWSOzlIr9h+Vj+jQc3Pbq4zimA="
|
||||
},
|
||||
"commons-logging#commons-logging/1.2": {
|
||||
"jar": "sha256-2t3qHqC+D1aXirMAa4rJKDSv7vvZt+TmMW/KV98PpjY=",
|
||||
"pom": "sha256-yRq1qlcNhvb9B8wVjsa8LFAIBAKXLukXn+JBAHOfuyA="
|
||||
},
|
||||
"edu/sc/seis/gradle#launch4j/2.4.4": {
|
||||
"jar": "sha256-Q3jZCBGaI9GKG9t0HAnL+KRhoNfFNSFo3PQHZmFC3FY=",
|
||||
"pom": "sha256-Cfk0ecS6AgtilLVZvLVOHdRNsB+iLGDZLa0o0zHJFqs="
|
||||
},
|
||||
"junit#junit/4.12": {
|
||||
"jar": "sha256-WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo=",
|
||||
"pom": "sha256-kPFj944/+28cetl96efrpO6iWAcUG4XW0SvmfKJUScQ="
|
||||
},
|
||||
"net/sf/launch4j#launch4j/3.12": {
|
||||
"pom": "sha256-rVGWVL75ed10qYwXKlR93sPNhWSAORnj296G05Srvpc="
|
||||
},
|
||||
"net/sf/launch4j#launch4j/3.12/core": {
|
||||
"jar": "sha256-XUbxMJCI4cijjw9KV84ITUZBakNdG5OZW8OFKooysIU="
|
||||
},
|
||||
"net/sf/launch4j#launch4j/3.12/workdir-linux64": {
|
||||
"jar": "sha256-XlgZsoDyUT9EfHBsXejU3OceVlxFMUv0+pv+0MXs57k="
|
||||
},
|
||||
"net/sf/proguard#proguard-base/6.1.0": {
|
||||
"jar": "sha256-gdCEOhP5zuZehDy8c/Km8U/MeyfHxgEDyLxx3umFp24=",
|
||||
"pom": "sha256-H39OO6GpBYFGL9Jn6eEWfiAcCk9h5pq1DUV/SMBQFXY="
|
||||
},
|
||||
"net/sf/proguard#proguard-gradle/6.1.0": {
|
||||
"jar": "sha256-rQfrlm3lIewsMYLaYg0xpaNTTwXMjmDDlNG41EGCmvQ=",
|
||||
"pom": "sha256-tEDYJgbG4nVImE2JcLeF8LWCJhvDhhecWS2VMKO6TzQ="
|
||||
},
|
||||
"net/sf/proguard#proguard-parent/6.1.0": {
|
||||
"pom": "sha256-v7pHjLrr8KfIx139/iBxnls33nzAgA+iYjoFgOaJEXE="
|
||||
},
|
||||
"org/abego/treelayout#org.abego.treelayout.core/1.0.1": {
|
||||
"jar": "sha256-grnjYxrMcIwRUhb6ePl3gNioHbt/FfjYIpGh3DqDsdA=",
|
||||
"pom": "sha256-fIy/ymTpcEQNTyh/NRapbABpKgOU/KHVexKpepbw6hE="
|
||||
},
|
||||
"org/antlr#ST4/4.0.8": {
|
||||
"jar": "sha256-WMqrxAyfdLC1mT/YaOD2SlDAdZCU5qJRqq+tmO38ejs=",
|
||||
"pom": "sha256-PAiQ3scRdOs7o9QEyp40GQH/awQhgIsAcTsNuxMGwXw="
|
||||
},
|
||||
"org/antlr#antlr-master/3.5.2": {
|
||||
"pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y="
|
||||
},
|
||||
"org/antlr#antlr-runtime/3.5.2": {
|
||||
"jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=",
|
||||
"pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU="
|
||||
},
|
||||
"org/antlr#antlr4-runtime/4.5": {
|
||||
"jar": "sha256-tcQNVavm6kxWFPjxHoNy2YQ07TwRKNWLjuoduVWXN6s=",
|
||||
"pom": "sha256-hRz5esL2utOZacMOx95PhBu2R1J/Rl7CDMur+yKHIpg="
|
||||
},
|
||||
"org/antlr#antlr4/4.5": {
|
||||
"jar": "sha256-do7i3es2pP5kNMgFoTyVI41LZBPlL3ce0meKGEGOMNk=",
|
||||
"pom": "sha256-4Mhs6hXMEO/K6UuvsOEADmv8xBgUK11ybNe8OyL+dwI="
|
||||
},
|
||||
"org/apache#apache/13": {
|
||||
"pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0="
|
||||
},
|
||||
"org/apache#apache/18": {
|
||||
"pom": "sha256-eDEwcoX9R1u8NrIK4454gvEcMVOx1ZMPhS1E7ajzPBc="
|
||||
},
|
||||
"org/apache#apache/19": {
|
||||
"pom": "sha256-kfejMJbqabrCy69tAf65NMrAAsSNjIz6nCQLQPHsId8="
|
||||
},
|
||||
"org/apache#apache/21": {
|
||||
"pom": "sha256-rxDBCNoBTxfK+se1KytLWjocGCZfoq+XoyXZFDU3s4A="
|
||||
},
|
||||
"org/apache/ant#ant-launcher/1.10.6": {
|
||||
"jar": "sha256-wDqhjaSwHJ791kGYNkvC/PL7nqWElxYVup8aCaRoUCY=",
|
||||
"pom": "sha256-CGuKg9hhebR7pgMeuGiOlGiKAz/qmW8ttwltSLIn6KY="
|
||||
},
|
||||
"org/apache/ant#ant-parent/1.10.6": {
|
||||
"pom": "sha256-n+ReOBBPxGOdqFs4WdeUqT7oMkIrx57D5zfA/QvWmiA="
|
||||
},
|
||||
"org/apache/ant#ant-parent/1.9.1": {
|
||||
"pom": "sha256-kQ71Ysi7ahrZAOGY9U2pG4bQ0o3wG8Eah9tlbZBv1us="
|
||||
},
|
||||
"org/apache/ant#ant/1.10.6": {
|
||||
"jar": "sha256-bFy9iMELt61iTlY3oDdbAQ9AZ/ZJfNj85wtaXxDTtBo=",
|
||||
"pom": "sha256-AEhxs7RrtMSGoyTlA3CgnKBY72zLhOp6Ceyks/Djx1c="
|
||||
},
|
||||
"org/apache/ant#ant/1.9.1": {
|
||||
"pom": "sha256-wtNC6vx3d7G97/vmCp5NeRIOvV34/PwOY7TesMcOPFQ="
|
||||
},
|
||||
"org/apache/commons#commons-compress/1.18": {
|
||||
"jar": "sha256-Xy3x5GeCXkysWZbUSJDEIBwAC0PAsjz/wHgtKKC+ubA=",
|
||||
"pom": "sha256-Zyxf6SvT6rQ+jVMzjK1coHO2Up3k6ys4hZo+qmyegRk="
|
||||
},
|
||||
"org/apache/commons#commons-compress/1.8": {
|
||||
"pom": "sha256-OPhEKHDCaR2YIlGfLP+46JxwQQBQt8RsuhdqiCGeRCk="
|
||||
},
|
||||
"org/apache/commons#commons-lang3/3.9": {
|
||||
"jar": "sha256-3i4dzc8++ReozoWGYaBnJqmpRPKOM61/ngi+pE3DwjA=",
|
||||
"pom": "sha256-pAIkKbmEJbQwGBkVchJ5pS9hDzRki9rEh9TKy76N/rU="
|
||||
},
|
||||
"org/apache/commons#commons-parent/33": {
|
||||
"pom": "sha256-U9ABE1Li5RBvN52vzNrHdU7G8PeCQ8AwXklp9azd+Ps="
|
||||
},
|
||||
"org/apache/commons#commons-parent/34": {
|
||||
"pom": "sha256-Oi5p0G1kHR87KTEm3J4uTqZWO/jDbIfgq2+kKS0Et5w="
|
||||
},
|
||||
"org/apache/commons#commons-parent/42": {
|
||||
"pom": "sha256-zTE0lMZwtIPsJWlyrxaYszDlmPgHACNU63ZUefYEsJw="
|
||||
},
|
||||
"org/apache/commons#commons-parent/47": {
|
||||
"pom": "sha256-io7LVwVTv58f+uIRqNTKnuYwwXr+WSkzaPunvZtC/Lc="
|
||||
},
|
||||
"org/apache/commons#commons-parent/48": {
|
||||
"pom": "sha256-Hh996TcKe3kB8Sjx2s0UIr504/R/lViw954EwGN8oLQ="
|
||||
},
|
||||
"org/bouncycastle#bcpg-jdk15on/1.62": {
|
||||
"jar": "sha256-+EduQ4RO2yAOoLL7OTWVLSI/O2syOmctcxYipLkpQ+A=",
|
||||
"pom": "sha256-372CfVICQmFhq7AdlCOOakMDsvzWkp5sUpWPjW3wciY="
|
||||
},
|
||||
"org/bouncycastle#bcprov-jdk15on/1.62": {
|
||||
"jar": "sha256-L6CrcbFU2imsE0CXvGu6zZCYfdTEAFUWFZ5klNHVLqI=",
|
||||
"pom": "sha256-cA/nligsj+84xi/Cw974WM5EmrXzwiCINjYXVth5viY="
|
||||
},
|
||||
"org/hamcrest#hamcrest-core/1.3": {
|
||||
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
|
||||
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
|
||||
},
|
||||
"org/hamcrest#hamcrest-parent/1.3": {
|
||||
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
|
||||
},
|
||||
"org/jd#jd-core/1.1.3": {
|
||||
"jar": "sha256-M/YP91x33AiQXnZ2lKOPe2q3kr0uWDH0HitWNUu4Bvs=",
|
||||
"pom": "sha256-n1Gs7cjKfNmu9LZ3nbLdOkFqcILMtO8Z67VHfBHG6wQ="
|
||||
},
|
||||
"org/ow2#ow2/1.5": {
|
||||
"pom": "sha256-D4obEW52C4/mOJxRuE5LB6cPwRCC1Pk25FO1g91QtDs="
|
||||
},
|
||||
"org/ow2/asm#asm/7.1": {
|
||||
"jar": "sha256-SrL6K20sycyx6qBeoynEB7R7E+0pFfYvjEuMyWJY1N4=",
|
||||
"pom": "sha256-Dyl0Lq2mWIpGxnn0maZ1Xks5OXZwBPK9nAIBnP0dMYA="
|
||||
},
|
||||
"org/redline-rpm#redline/1.2.9": {
|
||||
"jar": "sha256-zEe5s3Tr9DoPAmv4amdL9uNqVr04lqyIEcUIPTW79OE=",
|
||||
"pom": "sha256-k94nVXykHsKx/LMHxAhtdDtYdig/41FRUi8oaJjmfGw="
|
||||
},
|
||||
"org/slf4j#slf4j-api/1.7.5": {
|
||||
"jar": "sha256-/jCCUkXSM2yFncONYMD8XzZo2/Kc1YaCjStWZ+w1W5E=",
|
||||
"pom": "sha256-r6+OdAGbIw0/Vv3XyT+xBwwNyjTz0tWrXeqfxha9XKQ="
|
||||
},
|
||||
"org/slf4j#slf4j-parent/1.7.5": {
|
||||
"pom": "sha256-xDvFoCLb/Z3oK+Iy3/5GIIy8feEsFDhbXagk4zHlNbs="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/9": {
|
||||
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
|
||||
},
|
||||
"org/tukaani#xz/1.4": {
|
||||
"pom": "sha256-/kqLT1R/okQ0L7r0pOgPDEg3HYXMQBtYUViRKENiWJI="
|
||||
},
|
||||
"org/tukaani#xz/1.8": {
|
||||
"jar": "sha256-jHlks2/j8MvmRLBPy/+E5JHOgZF9svW/oMuo6VSK/10=",
|
||||
"pom": "sha256-8p51y4jrSsv35apcCe1V6sLLrmAdY6nzdSMfRUUsEBM="
|
||||
},
|
||||
"org/vafer#jdeb/1.8": {
|
||||
"jar": "sha256-N0/gKgkxTabsghngBVmOdgMjoavktxXMM84+KpvNqTI=",
|
||||
"pom": "sha256-MQdFSRqXEzi0XcwhFMRt6GWvNOWLI96d2JJfEGFewBY="
|
||||
},
|
||||
"xmlpull#xmlpull/1.1.3.1": {
|
||||
"jar": "sha256-NOCO5iEWBxy7acDtcNFaelsgjWJ5jFnyEgu4kpMky2M=",
|
||||
"pom": "sha256-jxD/2N8NPpgZyMyEAnCcaySLxTqVTvbkVHDZrjpXNfs="
|
||||
},
|
||||
"xpp3#xpp3_min/1.1.4c": {
|
||||
"jar": "sha256-v8kOnjLQ6rHzl/uXS18VCoFRiDgqxB83KnFJ1bwXgAg=",
|
||||
"pom": "sha256-tbRqwMCdpBsE28dTRWtIkShWp/+7FJBnaRC1EMRx0T8="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{ lib, stdenv, fetchFromGitLab, gradle, jre, perl, writeText, runtimeShell }:
|
||||
{ lib, stdenv, fetchFromGitLab, gradle, jre, runtimeShell }:
|
||||
|
||||
let
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pdftk";
|
||||
version = "3.3.3";
|
||||
|
||||
@@ -11,66 +11,18 @@ let
|
||||
hash = "sha256-ciKotTHSEcITfQYKFZ6sY2LZnXGChBJy0+eno8B3YHY=";
|
||||
};
|
||||
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "${pname}-deps";
|
||||
inherit src version;
|
||||
|
||||
nativeBuildInputs = [ gradle perl ];
|
||||
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle -Dfile.encoding=utf-8 shadowJar;
|
||||
'';
|
||||
|
||||
# Mavenize dependency paths
|
||||
# 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
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/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
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-Mx5CdiRxuql22kbLozzr9Rs2E2Svzg2zN1138Xa0pMc=";
|
||||
};
|
||||
|
||||
# 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}' }
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
settingsEvaluated { settings ->
|
||||
settings.pluginManagement {
|
||||
repositories {
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
inherit pname version src;
|
||||
|
||||
nativeBuildInputs = [ gradle ];
|
||||
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --offline --no-daemon --info --init-script ${gradleInit} shadowJar
|
||||
'';
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
gradleFlags = [ "-Dfile.encoding=utf-8" ];
|
||||
|
||||
gradleBuildTask = "shadowJar";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,share/pdftk,share/man/man1}
|
||||
|
||||
Generated
+215
@@ -0,0 +1,215 @@
|
||||
{
|
||||
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
|
||||
"!version": 1,
|
||||
"https://plugins.gradle.org/m2": {
|
||||
"com/diffplug/durian#durian-collect/1.2.0": {
|
||||
"jar": "sha256-sZTAuIAhzBFsIcHcdvScLB/hda9by3TIume527+aSMw=",
|
||||
"pom": "sha256-i7diCGoKT9KmRzu/kFx0R2OvodWaVjD3O7BLeHLAn/M="
|
||||
},
|
||||
"com/diffplug/durian#durian-core/1.2.0": {
|
||||
"jar": "sha256-F+0KrLOjwWMjMyFou96thpTzKACytH1p1KTEmxFNXa4=",
|
||||
"pom": "sha256-hwMg6QdVNxsBeW/oG6Ul/R3ui3A0b1VFUe7dQonwtmI="
|
||||
},
|
||||
"com/diffplug/durian#durian-io/1.2.0": {
|
||||
"jar": "sha256-CV/R3HeIjAc/C+OaAYFW7lJnInmLCd6eKF7yE14W6sQ=",
|
||||
"pom": "sha256-NQkZQkMk4nUKPdwvobzmqQrIziklaYpgqbTR1uSSL/4="
|
||||
},
|
||||
"com/diffplug/spotless#com.diffplug.spotless.gradle.plugin/6.10.0": {
|
||||
"pom": "sha256-KBM628w3hpIzn4fzKVkykdnjBnmrwpsBVCzmULjHoL4="
|
||||
},
|
||||
"com/diffplug/spotless#spotless-lib-extra/2.29.0": {
|
||||
"jar": "sha256-m0zpiqT128dYUP5tmnnoeNMYvnGPmX5epAUsiFYhuqs=",
|
||||
"module": "sha256-QW44lubwZ/WXlI70QVDJk43wV6NCt31X20gqj5aWgeg=",
|
||||
"pom": "sha256-hf5PLJpFEVVtzqLbzFth9+f+VlxgedC5ItVmLJCIu+8="
|
||||
},
|
||||
"com/diffplug/spotless#spotless-lib/2.29.0": {
|
||||
"jar": "sha256-G/rNp1jy4JDwLBVoR3PlORR/3od/rezZsAY3v536q8c=",
|
||||
"module": "sha256-Rty7wtfX0d47lSZoX66uA20b/XwrvhL3izIuD1xLVk8=",
|
||||
"pom": "sha256-v0UZJkr/2hRWrbjIHLazJ5AiMBqn/tdbNKlM34Oj4bo="
|
||||
},
|
||||
"com/diffplug/spotless#spotless-plugin-gradle/6.10.0": {
|
||||
"jar": "sha256-p8P8jOFdk311AFsuSclmXdp2UfLSLk7Kn7G03eR79As=",
|
||||
"module": "sha256-m6j/efMjDs5rZomCishSor+pbZl8JXKjre7wtrFckq0=",
|
||||
"pom": "sha256-+PCTwoomONZy0ML6LCljz5WFVKoeFHuuvLIEsViM4ns="
|
||||
},
|
||||
"com/fasterxml#oss-parent/38": {
|
||||
"pom": "sha256-yD+PRd/cqNC2s2YcYLP4R4D2cbEuBvka1dHBodH5Zug="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-base/2.11.2": {
|
||||
"pom": "sha256-k0uchkLt8xBMUAKC+4EGxzxWeBw9xMdelr2NG7Ha3p0="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-bom/2.11.2": {
|
||||
"pom": "sha256-2qQsw65gqJH9ssh0ZxtiPc0tH+/Kd7z7OU/rHRInfME="
|
||||
},
|
||||
"com/fasterxml/jackson#jackson-parent/2.11": {
|
||||
"pom": "sha256-wbChPYz+Y7QLD66EWLmUYxae0MYPf8lj7z8FJXFQy+g="
|
||||
},
|
||||
"com/fasterxml/jackson/core#jackson-annotations/2.11.2": {
|
||||
"jar": "sha256-kNYC0ZVd9QmxVpYYz/hpmUyvlIPLgqPMs5eCpc2lQSY=",
|
||||
"pom": "sha256-AEEc6Dh0WAKZWB4oOuRaXtN7AFHm9WO2miVQeKtYk+4="
|
||||
},
|
||||
"com/fasterxml/jackson/core#jackson-core/2.11.2": {
|
||||
"jar": "sha256-+NdoxOiIRSK+WIHdKpGuyBLQjU8FhStDQZDiLeZZ38k=",
|
||||
"pom": "sha256-QL3NBekAYAtBM3NCz1xpwln9ii+en0p5aNYebvWeOYw="
|
||||
},
|
||||
"com/fasterxml/jackson/core#jackson-databind/2.11.2": {
|
||||
"jar": "sha256-y4kLSq2O0hp7V+PI95JNvcoa7/nd0nyw/zckMDeuE0I=",
|
||||
"pom": "sha256-9a5wZBwK4Svl+UaDjujKE9qIk+d7RNkNXuJfPfjhYQU="
|
||||
},
|
||||
"com/github/johnrengelman/shadow#com.github.johnrengelman.shadow.gradle.plugin/7.1.2": {
|
||||
"pom": "sha256-lW5FCF5S6l7zLTRnHruE6xxBqDxFSa8m5oY18QYXmNM="
|
||||
},
|
||||
"com/googlecode/concurrent-trees#concurrent-trees/2.6.1": {
|
||||
"jar": "sha256-BONySYTipcv1VgbPo3KlvT08XSohUzpwBOPN5Tl2H6U=",
|
||||
"pom": "sha256-Q8K5sULnBV0fKlgn8QlEkl0idH2XVrMlDAeqtHU4qXE="
|
||||
},
|
||||
"com/googlecode/javaewah#JavaEWAH/1.1.12": {
|
||||
"jar": "sha256-sZIEMxrG4gS++vUIpo9S7GtGONnZus3b69Q1+cTVAPI=",
|
||||
"pom": "sha256-BhhOmwWeCAkRgnE2r17Hj1fuTDvBn2MutWGw34+HiM4="
|
||||
},
|
||||
"commons-io#commons-io/2.11.0": {
|
||||
"jar": "sha256-lhsvbYfbrMXVSr9Fq3puJJX4m3VZiWLYxyPOqbwhCQg=",
|
||||
"pom": "sha256-LgFv1+MkS18sIKytg02TqkeQSG7h5FZGQTYaPoMe71k="
|
||||
},
|
||||
"gradle/plugin/com/github/johnrengelman#shadow/7.1.2": {
|
||||
"jar": "sha256-v3BcwupcAYCqhwoPqAs5vxOhTScSjh6zpLZ0vjT1jpA=",
|
||||
"pom": "sha256-H6qwvkF9ezxBqXzKCsqKWwtkBvw7Etfyjiw0Ex3/k0o="
|
||||
},
|
||||
"gradle/plugin/org/mikeneck#graalvm-native-image-plugin/1.4.1": {
|
||||
"jar": "sha256-hxjq0IdN8UuGNB6IOkxkp3amRd0GbzcO2o+0xaPPZSI=",
|
||||
"pom": "sha256-nNX2P1cnBVME1ZPa+uqiQK5dE/nZ3xn6meED8wc0lKo="
|
||||
},
|
||||
"org/apache#apache/23": {
|
||||
"pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw="
|
||||
},
|
||||
"org/apache/ant#ant-launcher/1.10.11": {
|
||||
"jar": "sha256-2rUw33qYC1rI/X6NIIJDrg0+vW3gmxqiznVjYMwu0lY=",
|
||||
"pom": "sha256-7SoGiCYb624I7FSzgxLx1ILM8aO4Y8R9KNW5CkRtHB4="
|
||||
},
|
||||
"org/apache/ant#ant-parent/1.10.11": {
|
||||
"pom": "sha256-V6BTJoLzD6MHQWoiWSnVcQrNpy17Je4IyvmNyCzTXbY="
|
||||
},
|
||||
"org/apache/ant#ant/1.10.11": {
|
||||
"jar": "sha256-iMC4m7uq4B4Nn8rpO+eS9au+NAkQb47uhY/fNl28B1Q=",
|
||||
"pom": "sha256-wiiU2ctGq/XOv27rK8z+TXjhju6jEaDqat3VnftLH+M="
|
||||
},
|
||||
"org/apache/commons#commons-parent/52": {
|
||||
"pom": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4="
|
||||
},
|
||||
"org/apache/logging#logging-parent/3": {
|
||||
"pom": "sha256-djouwrgJTUFh3rbCZLEmIIW5vjC/OjHCzhNyQuV3Iqc="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j-api/2.17.1": {
|
||||
"jar": "sha256-sNikyKtPuLGIjQCVgicDsObUeTxBlVAgPanmkZYWHeQ=",
|
||||
"pom": "sha256-HirO8yILKb4QrgmXKLFYsY2UP5Ghk8xFAbtC+SnB6Io="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j-core/2.17.1": {
|
||||
"jar": "sha256-yWfyI0h5gLk2TpSnx/mooB/T7nwZvb8LD5+MuFEfPUE=",
|
||||
"pom": "sha256-C7s79tTSKhv6PDwJJ8KUEK8UoPsm47Ark3JvXH6Yqv0="
|
||||
},
|
||||
"org/apache/logging/log4j#log4j/2.17.1": {
|
||||
"pom": "sha256-lnq8AkRDqcsJaTVVmvXprW8P9hN1+Esn1EDS+nCAawk="
|
||||
},
|
||||
"org/codehaus/groovy#groovy-xml/3.0.10": {
|
||||
"jar": "sha256-vCrVETWWo6m7ZQ2mRx8biRUFQheCF0p/5g15DttinoU=",
|
||||
"pom": "sha256-Zwf5O1jO4BxBc/uuhNLh2DDKQc00LZBgbNW3GKn/fSk="
|
||||
},
|
||||
"org/codehaus/groovy#groovy/3.0.10": {
|
||||
"jar": "sha256-3/762oKUhlvlA1UVwDIPtnlEPShfSl+K2tzwDBEw6Ew=",
|
||||
"pom": "sha256-SYKt9KbGxQVnsL489JSCXmwqJ9izhx2eGIIqdCcreao="
|
||||
},
|
||||
"org/codehaus/plexus#plexus-utils/3.4.1": {
|
||||
"jar": "sha256-UtheBLORhyKvEdEoVbSoJX35ag52yPTjhS5vqoUfNXs=",
|
||||
"pom": "sha256-sUTP+bHGJZ/sT+5b38DzYNacI6vU6m5URTOpSbaeNYI="
|
||||
},
|
||||
"org/codehaus/plexus#plexus/8": {
|
||||
"pom": "sha256-/6NJ2wTnq/ZYhb3FogYvQZfA/50/H04qpXILdyM/dCw="
|
||||
},
|
||||
"org/eclipse/jgit#org.eclipse.jgit-parent/5.13.0.202109080827-r": {
|
||||
"pom": "sha256-oY/X0MQf2o2PHEoktQAKhmRWFHokdG7mzEcx54ihje4="
|
||||
},
|
||||
"org/eclipse/jgit#org.eclipse.jgit/5.13.0.202109080827-r": {
|
||||
"jar": "sha256-2r+DafDN+M8Xt/faS9qTIMVwu3VMiOC+t7hSgSz1zSU=",
|
||||
"pom": "sha256-qEF3Rc+i2V1qlxHpQT/KmE/FZmt2J7rRVAzyfUYq6BM="
|
||||
},
|
||||
"org/jdom#jdom2/2.0.6": {
|
||||
"jar": "sha256-E0XxG6YG0VYD1nQFUajCGUfAIVZAdw7GcnH+eL6pfPU=",
|
||||
"pom": "sha256-R7I6ef4za3QbgkNMbgSdaBZSVuQF51wQkh/XL6imXY0="
|
||||
},
|
||||
"org/jetbrains#annotations/13.0": {
|
||||
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
|
||||
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib-common/1.3.21": {
|
||||
"jar": "sha256-zqYfe2EYleZPWFaal1f8CrDVgvEHIR4ZMODOKgrdUqc=",
|
||||
"pom": "sha256-HkQzMKGrEIPdEjMesYI7zaGM06YWLtxTagNeTeHXhz0="
|
||||
},
|
||||
"org/jetbrains/kotlin#kotlin-stdlib/1.3.21": {
|
||||
"jar": "sha256-OLojcNnwb1BDPgayyndblEc8LieF9BCSYHmreTxysDQ=",
|
||||
"pom": "sha256-nOHqMzlsW/5I7IQSoM1WHsyQnXHI+TZZZ6FPnyT9uaU="
|
||||
},
|
||||
"org/junit#junit-bom/5.7.2": {
|
||||
"module": "sha256-87zrHFndT2mT9DBN/6WAFyuN9lp2zTb6T9ksBXjSitg=",
|
||||
"pom": "sha256-zRSqqGmZH4ICHFhdVw0x/zQry6WLtEIztwGTdxuWSHs="
|
||||
},
|
||||
"org/mikeneck/graalvm-native-image#org.mikeneck.graalvm-native-image.gradle.plugin/1.4.1": {
|
||||
"pom": "sha256-vxSiyLGrQgrTQ+r8tt9YEbEtbZsn+mBcM/7yz9QZeW8="
|
||||
},
|
||||
"org/ow2#ow2/1.5": {
|
||||
"pom": "sha256-D4obEW52C4/mOJxRuE5LB6cPwRCC1Pk25FO1g91QtDs="
|
||||
},
|
||||
"org/ow2/asm#asm-analysis/9.2": {
|
||||
"jar": "sha256-h4++UhcxwHLRTS1luYOxvq5q0G/aAAe2qLroH3P0M8Q=",
|
||||
"pom": "sha256-dzzBor/BTGxKl5xRoHXAI0oL9pT8Or5PrPRU83oUXxs="
|
||||
},
|
||||
"org/ow2/asm#asm-commons/9.2": {
|
||||
"jar": "sha256-vkzlMTiiOLtSLNeBz5Hzulzi9sqT7GLUahYqEnIl4KY=",
|
||||
"pom": "sha256-AoJOg58qLw5ylZ/dMLSJckDwWvxD3kLXugsYQ3YBwHA="
|
||||
},
|
||||
"org/ow2/asm#asm-tree/9.2": {
|
||||
"jar": "sha256-qr+b0jCRpOv8EJwfPufPPkuJ9rotP1HFJD8Ws8/64BE=",
|
||||
"pom": "sha256-9h8+vqVSDd8Z9FKwPEJscjG92KgdesKHZctScSJaw3g="
|
||||
},
|
||||
"org/ow2/asm#asm/9.2": {
|
||||
"jar": "sha256-udT+TXGTjfOIOfDspCqqpkz4sxPWeNoDbwyzyhmbR/U=",
|
||||
"pom": "sha256-37EqGyJL8Bvh/WBAIEZviUJBvLZF3M45Xt2M1vilDfQ="
|
||||
},
|
||||
"org/slf4j#slf4j-api/1.7.30": {
|
||||
"jar": "sha256-zboHlk0btAoHYUhcax6ML4/Z6x0ZxTkorA1/lRAQXFc=",
|
||||
"pom": "sha256-fgdHdR6bZ+Gdy1IG8E6iLMA9JQxCJCZALq3QNRPywxQ="
|
||||
},
|
||||
"org/slf4j#slf4j-parent/1.7.30": {
|
||||
"pom": "sha256-EWR5VuSKDFv7OsM/bafoPzQQAraFfv0zWlBbaHvjS3U="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/5": {
|
||||
"pom": "sha256-FnjUEgpYXYpjATGu7ExSTZKDmFg7fqthbufVqH9SDT0="
|
||||
},
|
||||
"org/sonatype/oss#oss-parent/7": {
|
||||
"pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ="
|
||||
},
|
||||
"org/vafer#jdependency/2.7.0": {
|
||||
"jar": "sha256-1j79V0b/QIlDp91++Frp8Jqn+2O7KxaRFCfObEW1n9A=",
|
||||
"pom": "sha256-6yRCKwo+nofVrG6oCHeG+1HEsbvg0iXvdSFSxzaiBNA="
|
||||
}
|
||||
},
|
||||
"https://repo.maven.apache.org/maven2/org": {
|
||||
"apache#apache/23": {
|
||||
"pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw="
|
||||
},
|
||||
"apache/commons#commons-lang3/3.12.0": {
|
||||
"jar": "sha256-2RnZBEhsA3+NGTQS2gyS4iqfokIwudZ6V4VcXDHH6U4=",
|
||||
"pom": "sha256-gtMfHcxFg+/9dE6XkWWxbaZL+GvKYj/F0bA+2U9FyFo="
|
||||
},
|
||||
"apache/commons#commons-parent/52": {
|
||||
"pom": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4="
|
||||
},
|
||||
"bouncycastle#bcprov-jdk18on/1.71": {
|
||||
"jar": "sha256-80M6l9eA/p+j3D1WKkHezVmy5hfOiE3pBgNJrBR1AEU=",
|
||||
"pom": "sha256-u90garzosxsfGnMBORtEO6bN4X5y3udcH9LkEBFsXIc="
|
||||
},
|
||||
"junit#junit-bom/5.7.1": {
|
||||
"module": "sha256-mFTjiU1kskhSB+AEa8oHs9QtFp54L0+oyc4imnj67gQ=",
|
||||
"pom": "sha256-C5sUo9YhBvr+jGinF7h7h60YaFiZRRt1PAT6QbaFd4Q="
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1391,6 +1391,10 @@ with pkgs;
|
||||
|
||||
makeHardcodeGsettingsPatch = callPackage ../build-support/make-hardcode-gsettings-patch { };
|
||||
|
||||
mitm-cache = callPackage ../build-support/mitm-cache {
|
||||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
};
|
||||
|
||||
# intended to be used like nix-build -E 'with import <nixpkgs> { }; enableDebugging fooPackage'
|
||||
enableDebugging = pkg: pkg.override { stdenv = stdenvAdapters.keepDebugInfo pkg.stdenv; };
|
||||
|
||||
@@ -18568,10 +18572,17 @@ with pkgs;
|
||||
inherit jdk11 jdk17 jdk21;
|
||||
};
|
||||
gradleGen = gradle-packages.gen;
|
||||
gradle_6 = callPackage gradle-packages.gradle_6 { };
|
||||
gradle_7 = callPackage gradle-packages.gradle_7 { };
|
||||
gradle_8 = callPackage gradle-packages.gradle_8 { };
|
||||
gradle = gradle_8;
|
||||
wrapGradle = callPackage gradle-packages.wrapGradle { };
|
||||
|
||||
gradle_6-unwrapped = callPackage gradle-packages.gradle_6 { };
|
||||
gradle_7-unwrapped = callPackage gradle-packages.gradle_7 { };
|
||||
gradle_8-unwrapped = callPackage gradle-packages.gradle_8 { };
|
||||
gradle-unwrapped = gradle_8-unwrapped;
|
||||
|
||||
gradle_6 = wrapGradle gradle_6-unwrapped;
|
||||
gradle_7 = wrapGradle gradle_7-unwrapped;
|
||||
gradle_8 = wrapGradle gradle_8-unwrapped;
|
||||
gradle = wrapGradle gradle-unwrapped;
|
||||
|
||||
grcov = callPackage ../development/tools/misc/grcov { };
|
||||
|
||||
@@ -36785,11 +36796,11 @@ with pkgs;
|
||||
};
|
||||
|
||||
shattered-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon { };
|
||||
rkpd2 = callPackage ../games/shattered-pixel-dungeon/rkpd2.nix { };
|
||||
rat-king-adventure = callPackage ../games/shattered-pixel-dungeon/rat-king-adventure.nix { };
|
||||
experienced-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon/experienced-pixel-dungeon.nix { };
|
||||
summoning-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon/summoning-pixel-dungeon.nix { };
|
||||
shorter-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon/shorter-pixel-dungeon.nix { };
|
||||
rkpd2 = callPackage ../games/shattered-pixel-dungeon/rkpd2 { };
|
||||
rat-king-adventure = callPackage ../games/shattered-pixel-dungeon/rat-king-adventure { };
|
||||
experienced-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon/experienced-pixel-dungeon { };
|
||||
summoning-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon/summoning-pixel-dungeon { };
|
||||
shorter-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon/shorter-pixel-dungeon { };
|
||||
|
||||
shticker-book-unwritten = callPackage ../games/shticker-book-unwritten { };
|
||||
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
with pkgs;
|
||||
|
||||
let
|
||||
openjfx11 = callPackage ../development/compilers/openjdk/openjfx/11.nix { };
|
||||
openjfx15 = callPackage ../development/compilers/openjdk/openjfx/15.nix { };
|
||||
openjfx17 = callPackage ../development/compilers/openjdk/openjfx/17.nix { };
|
||||
openjfx19 = callPackage ../development/compilers/openjdk/openjfx/19.nix { };
|
||||
openjfx20 = callPackage ../development/compilers/openjdk/openjfx/20.nix { };
|
||||
openjfx21 = callPackage ../development/compilers/openjdk/openjfx/21.nix { };
|
||||
openjfx22 = callPackage ../development/compilers/openjdk/openjfx/22.nix { };
|
||||
openjfx11 = callPackage ../development/compilers/openjdk/openjfx/11 { };
|
||||
openjfx15 = callPackage ../development/compilers/openjdk/openjfx/15 { };
|
||||
openjfx17 = callPackage ../development/compilers/openjdk/openjfx/17 { };
|
||||
openjfx19 = callPackage ../development/compilers/openjdk/openjfx/19 { };
|
||||
openjfx20 = callPackage ../development/compilers/openjdk/openjfx/20 { };
|
||||
openjfx21 = callPackage ../development/compilers/openjdk/openjfx/21 { };
|
||||
openjfx22 = callPackage ../development/compilers/openjdk/openjfx/22 { };
|
||||
|
||||
in {
|
||||
inherit openjfx11 openjfx15 openjfx17 openjfx19 openjfx20 openjfx21 openjfx22;
|
||||
|
||||
Reference in New Issue
Block a user