diff options
| author | Ján Jančár | 2025-07-14 16:30:58 +0200 |
|---|---|---|
| committer | GitHub | 2025-07-14 16:30:58 +0200 |
| commit | ba6657f54ed7865145c216ec13160ecf46e07633 (patch) | |
| tree | 9cc81f1f8cb4ffb46b9e92415ba42ffb9cfa9c4a /flake.nix | |
| parent | 07c5efe15e2ca88fe3818c9653a2a425923cb1c0 (diff) | |
| parent | 1f582350e4c938265e0cb7f2d6369ee08d9ae4a9 (diff) | |
| download | ECTester-ba6657f54ed7865145c216ec13160ecf46e07633.tar.gz ECTester-ba6657f54ed7865145c216ec13160ecf46e07633.tar.zst ECTester-ba6657f54ed7865145c216ec13160ecf46e07633.zip | |
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 81 |
1 files changed, 81 insertions, 0 deletions
@@ -689,6 +689,73 @@ } ); + buildReader = + with pkgs; + { + jdkVersion ? jdk17_headless, + }: + gradle2nix.builders.${system}.buildGradlePackage rec { + pname = "ECTesterReader"; + version = "0.3.3"; + lockFile = ./gradle.lock; + buildJdk = pkgs.jdk_headless; + gradleBuildFlags = [ ":reader:uberJar" ]; + src = ./.; + + installPhase = '' + mkdir -p $out + cp -r reader/build $out + ''; + + nativeBuildInputs = [ makeWrapper ]; + + postFixup = '' + makeWrapper \ + ${jdk_headless}/bin/java $out/bin/${pname} \ + --add-flags "-Dstdout.encoding=UTF8 -Dstderr.encoding=UTF8 -jar $out/build/libs/${pname}.jar" + ''; + }; + + buildApplet = + with pkgs; + { + jdkVersion ? jdk8_headless, + }: + gradle2nix.builders.${system}.buildGradlePackage rec { + pname = "applet"; + # since the gradle target builds applets for multiple JC SDKs, the + # single version cannot reflet that + version = "0.3.3"; + lockFile = ./gradle.lock; + buildJdk = jdkVersion; + gradleBuildFlags = [ ":applet:buildJavaCard" ]; + src = ./.; + + installPhase = '' + mkdir --parents $out + cp --recursive applet/build/* $out + ''; + }; + + buildCommon = + with pkgs; + { + jdkVersion ? jdk17_headless, + }: + gradle2nix.builders.${system}.buildGradlePackage rec { + pname = "common"; + version = "0.3.3"; + lockFile = ./gradle.lock; + buildJdk = jdkVersion; + gradleBuildFlags = [ ":common:build" ]; + src = ./.; + + installPhase = '' + mkdir --parents $out + cp --recursive common/build/* $out + ''; + }; + defaultVersion = # Default version is the last one, aka the newest that we fetched libName: @@ -774,6 +841,20 @@ function = buildECTesterStandalone; }; + reader = buildReader { }; + common = buildCommon { }; + appletAll = pkgs.buildEnv { + name = "applets"; + paths = [ + applet222 + applet305 + applet320 + ]; + }; + applet222 = buildApplet { jdkVersion = pkgs.jdk8_headless; }; + applet305 = buildApplet { jdkVersion = pkgs.jdk8_headless; }; + applet320 = buildApplet { jdkVersion = pkgs.jdk17_headless; }; + shim = { tomcrypt = loadVersionsForShim { libName = "tomcrypt"; |
