From 049322de7cc036fa548c2ae2861e97c1dd9fa855 Mon Sep 17 00:00:00 2001 From: Dmitriy Volkov Date: Wed, 20 Jan 2021 19:13:05 +0000 Subject: [PATCH 1/2] maintainers: add wldhx --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index b2f3ec742a31..0ff9addae85a 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9834,6 +9834,12 @@ githubId = 43315; name = "William Roe"; }; + wldhx = { + email = "wldhx+nixpkgs@wldhx.me"; + github = "wldhx"; + githubId = 15619766; + name = "wldhx"; + }; wmertens = { email = "Wout.Mertens@gmail.com"; github = "wmertens"; From 27f2f35a06a85210e1adbdd0b4573758973b53d6 Mon Sep 17 00:00:00 2001 From: Dmitriy Volkov Date: Wed, 20 Jan 2021 17:31:28 +0000 Subject: [PATCH 2/2] pcsc-safenet: init at 10.0.37-0 --- pkgs/tools/security/pcsc-safenet/default.nix | 96 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 98 insertions(+) create mode 100644 pkgs/tools/security/pcsc-safenet/default.nix diff --git a/pkgs/tools/security/pcsc-safenet/default.nix b/pkgs/tools/security/pcsc-safenet/default.nix new file mode 100644 index 000000000000..3610343fc273 --- /dev/null +++ b/pkgs/tools/security/pcsc-safenet/default.nix @@ -0,0 +1,96 @@ +{ stdenv +, lib +, fetchurl +, autoPatchelfHook +, dpkg +, gtk2 +, openssl +, pcsclite +}: + +stdenv.mkDerivation rec { + pname = "pcsc-safenet"; + version = "10.0.37-0"; + + # https://aur.archlinux.org/packages/sac-core/ + src = fetchurl { + url = "https://storage.spidlas.cz/public/soft/safenet/SafenetAuthenticationClient-core-${version}_amd64.deb"; + sha256 = "1r9739bhal7ramj1rpawaqvik45xbs1c756l1da96din638gzy5l"; + }; + + dontBuild = true; + dontConfigure = true; + + unpackPhase = '' + dpkg-deb -x $src . + ''; + + buildInputs = [ + gtk2 + openssl + pcsclite + ]; + + runtimeDependencies = [ + openssl + ]; + + nativeBuildInputs = [ + autoPatchelfHook + dpkg + ]; + + installPhase = '' + # Set up for pcsc drivers + mkdir -p pcsc/drivers + mv usr/share/eToken/drivers/* pcsc/drivers/ + rm -r usr/share/eToken/drivers + + # Move binaries out + mv usr/bin bin + + # Move UI to bin + mv usr/share/SAC/SACUIProcess bin/ + rm -r usr/share/SAC + + mkdir $out + cp -r {bin,etc,lib,pcsc,usr,var} $out/ + + cd "$out/lib/" + ln -sf libeToken.so.10.0.37 libeTPkcs11.so + ln -sf libeToken.so.10.0.37 libeToken.so.10.0 + ln -sf libeToken.so.10.0.37 libeToken.so.10 + ln -sf libeToken.so.10.0.37 libeToken.so + ln -sf libcardosTokenEngine.so.10.0.37 libcardosTokenEngine.so.10.0 + ln -sf libcardosTokenEngine.so.10.0.37 libcardosTokenEngine.so.10 + ln -sf libcardosTokenEngine.so.10.0.37 libcardosTokenEngine.so + + cd $out/pcsc/drivers/aks-ifdh.bundle/Contents/Linux/ + ln -sf libAksIfdh.so.10.0 libAksIfdh.so + ln -sf libAksIfdh.so.10.0 libAksIfdh.so.10 + + ln -sf ${openssl.out}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0 + ''; + + dontAutoPatchelf = true; + + # Patch DYN shared libraries (autoPatchElfHook only patches EXEC | INTERP). + postFixup = '' + autoPatchelf "$out" + + runtime_rpath="${lib.makeLibraryPath runtimeDependencies}" + + for mod in $(find "$out" -type f -name '*.so.*'); do + mod_rpath="$(patchelf --print-rpath "$mod")" + patchelf --set-rpath "$runtime_rpath:$mod_rpath" "$mod" + done; + ''; + + meta = with lib; { + homepage = "https://safenet.gemalto.com/multi-factor-authentication/security-applications/authentication-client-token-management"; + description = "Safenet Authentication Client"; + platforms = [ "x86_64-linux" ]; + license = licenses.unfree; + maintainers = with maintainers; [ wldhx ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b5f88bdb8e70..0db8ccb00b1b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6891,6 +6891,8 @@ in pcsc-cyberjack = callPackage ../tools/security/pcsc-cyberjack { }; + pcsc-safenet = callPackage ../tools/security/pcsc-safenet { }; + pcsc-scm-scl011 = callPackage ../tools/security/pcsc-scm-scl011 { }; ifdnfc = callPackage ../tools/security/ifdnfc { };