diff --git a/pkgs/by-name/oq/oqs-provider/package.nix b/pkgs/by-name/oq/oqs-provider/package.nix new file mode 100644 index 000000000000..84ffce3f8f5c --- /dev/null +++ b/pkgs/by-name/oq/oqs-provider/package.nix @@ -0,0 +1,59 @@ +{ stdenv +, fetchFromGitHub +, cmake +, openssl +, liboqs +, lib +, nix-update-script +}: +stdenv.mkDerivation (finalAttrs: { + name = "oqs-provider"; + version = "0.6.1"; + + src = fetchFromGitHub { + owner = "open-quantum-safe"; + repo = "oqs-provider"; + rev = finalAttrs.version; + hash = "sha256-AW0rOszXm9Hy55b2fQ2mpZulhXjYwvztwL6DIFgIzjA="; + }; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + openssl + liboqs + ]; + + nativeCheckInputs = [ openssl.bin ]; + + configureFlags = [ "--with-modulesdir=$$out/lib/ossl-modules" ]; + + postPatch = '' + echo ${finalAttrs.version} > VERSION + ''; + + preInstall = '' + mkdir -p "$out" + for dir in "$out" "${openssl.out}"; do + mkdir -p .install/"$(dirname -- "$dir")" + ln -s "$out" ".install/$dir" + done + export DESTDIR="$(realpath .install)" + ''; + + enableParallelInstalling = false; + + doCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = with lib; { + homepage = "https://github.com/open-quantum-safe/oqs-provider"; + description = "Open Quantum Safe provider for OpenSSL (3.x)"; + license = licenses.mit; + maintainers = with maintainers; [ rixxc ]; + platforms = platforms.all; + }; +})