diff options
| author | quapka | 2024-07-25 14:15:21 +0200 |
|---|---|---|
| committer | quapka | 2024-07-25 14:15:21 +0200 |
| commit | d4ffadb99305eed9fca8154687db4fee678115a3 (patch) | |
| tree | e5c9a1eafe87a0d9216e02a2b18dbd63da7c3d5b | |
| parent | 36bb4958a2b304ec7383f8cfcdaa37f49e8c1b3b (diff) | |
| download | ECTester-d4ffadb99305eed9fca8154687db4fee678115a3.tar.gz ECTester-d4ffadb99305eed9fca8154687db4fee678115a3.tar.zst ECTester-d4ffadb99305eed9fca8154687db4fee678115a3.zip | |
| -rw-r--r-- | flake.nix | 9 | ||||
| -rw-r--r-- | nix/commonlibs.nix | 27 |
2 files changed, 33 insertions, 3 deletions
@@ -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 + ''; +} |
