aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authorJán Jančár2025-07-14 16:30:58 +0200
committerGitHub2025-07-14 16:30:58 +0200
commitba6657f54ed7865145c216ec13160ecf46e07633 (patch)
tree9cc81f1f8cb4ffb46b9e92415ba42ffb9cfa9c4a /flake.nix
parent07c5efe15e2ca88fe3818c9653a2a425923cb1c0 (diff)
parent1f582350e4c938265e0cb7f2d6369ee08d9ae4a9 (diff)
downloadECTester-ba6657f54ed7865145c216ec13160ecf46e07633.tar.gz
ECTester-ba6657f54ed7865145c216ec13160ecf46e07633.tar.zst
ECTester-ba6657f54ed7865145c216ec13160ecf46e07633.zip
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix81
1 files changed, 81 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
index 6ca0ef9..446c495 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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";