aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorquapka2024-07-25 14:15:21 +0200
committerquapka2024-07-25 14:15:21 +0200
commitd4ffadb99305eed9fca8154687db4fee678115a3 (patch)
treee5c9a1eafe87a0d9216e02a2b18dbd63da7c3d5b
parent36bb4958a2b304ec7383f8cfcdaa37f49e8c1b3b (diff)
downloadECTester-d4ffadb99305eed9fca8154687db4fee678115a3.tar.gz
ECTester-d4ffadb99305eed9fca8154687db4fee678115a3.tar.zst
ECTester-d4ffadb99305eed9fca8154687db4fee678115a3.zip
-rw-r--r--flake.nix9
-rw-r--r--nix/commonlibs.nix27
2 files changed, 33 insertions, 3 deletions
diff --git a/flake.nix b/flake.nix
index b930630..e7adaa9 100644
--- a/flake.nix
+++ b/flake.nix
@@ -15,6 +15,7 @@
outputs = { self, nixpkgs, custom-nixpkgs, flake-utils, gradle2nix, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
+ commonLibs = import ./nix/commonlibs.nix { pkgs = pkgs; };
wolfcryptjni = with customPkgs; wolfcrypt-jni.overrideAttrs (final: prev: {
src = pkgs.fetchFromGitHub {
owner = "wolfSSL";
@@ -133,6 +134,8 @@
gradleBuildFlags = [ "libs" "-PlibName=tomcrypt" ":standalone:uberJar"]; # ":standalone:compileJava" ":standalone:uberJar" ]; "--no-build-cache"
src = ./.;
+ jniLibsPath = "standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/";
+
preConfigure = ''
cp ${libresslShim.out}/lib/libressl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/
cp ${boringsslShim.out}/lib/boringssl_provider.so standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/
@@ -142,6 +145,7 @@
pushd standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/
make lib_timing.so lib_csignals.so lib_cppsignals.so
popd
+ cp ${commonLibs}/lib/* ${jniLibsPath}
'';
nativeBuildInputs = [
@@ -195,12 +199,10 @@
jdk17_headless
# libressl
opensslx
+ commonLibs
];
LD_LIBRARY_PATH = lib.makeLibraryPath [
- # libresslShim
- boringsslShim
-
libtommath
libtomcrypt
botan2
@@ -216,6 +218,7 @@
libgpg-error
libconfig
wolfcryptjni
+ commonLibs
];
BORINGSSL_CFLAGS = "${patched_boringssl.dev.outPath}/include";
diff --git a/nix/commonlibs.nix b/nix/commonlibs.nix
new file mode 100644
index 0000000..525d4aa
--- /dev/null
+++ b/nix/commonlibs.nix
@@ -0,0 +1,27 @@
+{
+ pkgs
+}:
+with pkgs; stdenv.mkDerivation rec {
+ name = "Common Libraries";
+ src = ../standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni;
+
+ buildInputs = [
+ pkg-config
+ cmake
+ which
+ jdk17_headless
+ ];
+
+ dontUseCmakeConfigure = true;
+
+ libs = "lib_cppsignals.so lib_csignals.so lib_timing.so";
+
+ buildPhase = ''
+ make ${libs}
+ '';
+
+ installPhase = ''
+ mkdir --parents $out/lib
+ cp ${libs} $out/lib
+ '';
+}