From b99682e31bbecec31019fb762755ee7c656de339 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Thu, 7 Dec 2023 20:03:28 +0100 Subject: [PATCH 1/8] pcsctools: add passthru.updateScript --- pkgs/tools/security/pcsctools/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/security/pcsctools/default.nix b/pkgs/tools/security/pcsctools/default.nix index 7aadeb5c02b8..04030f36f100 100644 --- a/pkgs/tools/security/pcsctools/default.nix +++ b/pkgs/tools/security/pcsctools/default.nix @@ -10,6 +10,7 @@ , wget , coreutils , perlPackages +, nix-update-script }: stdenv.mkDerivation rec { @@ -47,6 +48,8 @@ stdenv.mkDerivation rec { install -Dm444 -t $out/share/pcsc smartcard_list.txt ''; + passthru.updateScript = nix-update-script { }; + meta = with lib; { description = "Tools used to test a PC/SC driver, card or reader"; homepage = "https://pcsc-tools.apdu.fr/"; From 4fbc0cc53b5c268b305f1da7fe6aee461c3c0f5c Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Thu, 7 Dec 2023 20:16:20 +0100 Subject: [PATCH 2/8] pcsctools: 1.6.2 -> 1.7.0 https://github.com/LudovicRousseau/pcsc-tools/releases/tag/1.7.0 https://github.com/LudovicRousseau/pcsc-tools/compare/1.6.2...1.7.0 --- pkgs/tools/security/pcsctools/default.nix | 47 +++++++++++++++++------ 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/pkgs/tools/security/pcsctools/default.nix b/pkgs/tools/security/pcsctools/default.nix index 04030f36f100..2c09df299e77 100644 --- a/pkgs/tools/security/pcsctools/default.nix +++ b/pkgs/tools/security/pcsctools/default.nix @@ -1,9 +1,12 @@ { stdenv , lib , fetchFromGitHub +, autoconf-archive , autoreconfHook +, gobject-introspection , makeWrapper , pkg-config +, wrapGAppsHook , systemd , dbus , pcsclite @@ -15,33 +18,55 @@ stdenv.mkDerivation rec { pname = "pcsc-tools"; - version = "1.6.2"; + version = "1.7.0"; src = fetchFromGitHub { owner = "LudovicRousseau"; repo = pname; - rev = version; - sha256 = "sha256-c7md8m1llvz0EQqA0qY4aGb3guGFoj+8uS4hUTzie5o="; + rev = "refs/tags/${version}"; + hash = "sha256-tTeSlS1ncpdIaoJsSVgm3zSCogP6S8zlA9hRFocZ/R4="; }; - postPatch = '' - substituteInPlace ATR_analysis \ - --replace /usr/local/pcsc /etc/pcsc \ - --replace /usr/share/pcsc $out/share/pcsc - ''; + configureFlags = [ + "--datarootdir=${placeholder "out"}/share" + ]; buildInputs = [ dbus perlPackages.perl pcsclite ] ++ lib.optional stdenv.isLinux systemd; - nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config ]; + nativeBuildInputs = [ + autoconf-archive + autoreconfHook + gobject-introspection + makeWrapper + pkg-config + wrapGAppsHook + ]; + + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; postInstall = '' wrapProgram $out/bin/scriptor \ --set PERL5LIB "${with perlPackages; makePerlPath [ ChipcardPCSC ]}" + wrapProgram $out/bin/gscriptor \ - --set PERL5LIB "${with perlPackages; makePerlPath [ ChipcardPCSC GlibObjectIntrospection Glib Gtk3 Pango Cairo CairoGObject ]}" + ''${makeWrapperArgs[@]} \ + --set PERL5LIB "${with perlPackages; makePerlPath [ + ChipcardPCSC + libintl-perl + GlibObjectIntrospection + Glib + Gtk3 + Pango + Cairo + CairoGObject + ]}" + wrapProgram $out/bin/ATR_analysis \ - --set PERL5LIB "${with perlPackages; makePerlPath [ ChipcardPCSC ]}" + --set PERL5LIB "${with perlPackages; makePerlPath [ ChipcardPCSC libintl-perl ]}" + wrapProgram $out/bin/pcsc_scan \ --prefix PATH : "$out/bin:${lib.makeBinPath [ coreutils wget ]}" From f6956884974b621b9e02df8d259e57d2ac5c78f2 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Sat, 9 Dec 2023 09:40:05 +0100 Subject: [PATCH 3/8] fix --- pkgs/tools/security/pcsctools/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/security/pcsctools/default.nix b/pkgs/tools/security/pcsctools/default.nix index 2c09df299e77..05565128dd05 100644 --- a/pkgs/tools/security/pcsctools/default.nix +++ b/pkgs/tools/security/pcsctools/default.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/scriptor \ - --set PERL5LIB "${with perlPackages; makePerlPath [ ChipcardPCSC ]}" + --set PERL5LIB "${with perlPackages; makePerlPath [ ChipcardPCSC libintl-perl ]}" wrapProgram $out/bin/gscriptor \ ''${makeWrapperArgs[@]} \ From 9a618e439f9d9036236bd14c85e5a74204799267 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Thu, 7 Dec 2023 20:17:03 +0100 Subject: [PATCH 4/8] pcsctools: add passthru.tests.version --- pkgs/tools/security/pcsctools/default.nix | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/security/pcsctools/default.nix b/pkgs/tools/security/pcsctools/default.nix index 05565128dd05..23a5dd20a402 100644 --- a/pkgs/tools/security/pcsctools/default.nix +++ b/pkgs/tools/security/pcsctools/default.nix @@ -13,17 +13,18 @@ , wget , coreutils , perlPackages +, testers , nix-update-script }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "pcsc-tools"; version = "1.7.0"; src = fetchFromGitHub { owner = "LudovicRousseau"; - repo = pname; - rev = "refs/tags/${version}"; + repo = "pcsc-tools"; + rev = "refs/tags/${finalAttrs.version}"; hash = "sha256-tTeSlS1ncpdIaoJsSVgm3zSCogP6S8zlA9hRFocZ/R4="; }; @@ -73,7 +74,13 @@ stdenv.mkDerivation rec { install -Dm444 -t $out/share/pcsc smartcard_list.txt ''; - passthru.updateScript = nix-update-script { }; + passthru = { + tests.version = testers.testVersion { + package = finalAttrs.finalPackage; + command = "pcsc_scan -V"; + }; + updateScript = nix-update-script { }; + }; meta = with lib; { description = "Tools used to test a PC/SC driver, card or reader"; @@ -82,4 +89,4 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ peterhoeg ]; platforms = platforms.linux; }; -} +}) From 30008fd748ea919310cc02818da4523046bc6d83 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Thu, 7 Dec 2023 20:17:37 +0100 Subject: [PATCH 5/8] pcsctools: add meta.{changelog,mainProgram} --- pkgs/tools/security/pcsctools/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/security/pcsctools/default.nix b/pkgs/tools/security/pcsctools/default.nix index 23a5dd20a402..5cda960fabf6 100644 --- a/pkgs/tools/security/pcsctools/default.nix +++ b/pkgs/tools/security/pcsctools/default.nix @@ -85,7 +85,9 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { description = "Tools used to test a PC/SC driver, card or reader"; homepage = "https://pcsc-tools.apdu.fr/"; + changelog = "https://github.com/LudovicRousseau/pcsc-tools/releases/tag/${finalAttrs.version}"; license = licenses.gpl2Plus; + mainProgram = "pcsc_scan"; maintainers = with maintainers; [ peterhoeg ]; platforms = platforms.linux; }; From ea03092e128ea0ffc2fee178f671aa8acfed5630 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Thu, 7 Dec 2023 20:17:51 +0100 Subject: [PATCH 6/8] pcsctools: add anthonyroussel to maintainers --- pkgs/tools/security/pcsctools/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/security/pcsctools/default.nix b/pkgs/tools/security/pcsctools/default.nix index 5cda960fabf6..106aa54ff848 100644 --- a/pkgs/tools/security/pcsctools/default.nix +++ b/pkgs/tools/security/pcsctools/default.nix @@ -88,7 +88,7 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/LudovicRousseau/pcsc-tools/releases/tag/${finalAttrs.version}"; license = licenses.gpl2Plus; mainProgram = "pcsc_scan"; - maintainers = with maintainers; [ peterhoeg ]; + maintainers = with maintainers; [ peterhoeg anthonyroussel ]; platforms = platforms.linux; }; }) From 5b0700954643a8164e3c316ebba1de3d09a3f9a9 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Thu, 7 Dec 2023 20:25:13 +0100 Subject: [PATCH 7/8] pcsc-tools: init from pcsctools * pname and upstream name are pcsc-tools * attribute name is pcsctools To fix this inconsistency, renamed the attribute name to pcsc-tools --- pkgs/tools/security/{pcsctools => pcsc-tools}/default.nix | 0 pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 5 +++-- 3 files changed, 4 insertions(+), 2 deletions(-) rename pkgs/tools/security/{pcsctools => pcsc-tools}/default.nix (100%) diff --git a/pkgs/tools/security/pcsctools/default.nix b/pkgs/tools/security/pcsc-tools/default.nix similarity index 100% rename from pkgs/tools/security/pcsctools/default.nix rename to pkgs/tools/security/pcsc-tools/default.nix diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 7a7c99a7cb12..68a8babe74aa 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -697,6 +697,7 @@ mapAliases ({ paper-note = throw "paper-note has been removed: abandoned by upstream"; # Added 2023-05-03 parity = openethereum; # Added 2020-08-01 pash = throw "'pash' has been removed: abandoned by upstream. Use 'powershell' instead"; # Added 2023-09-16 + pcsctools = pcsc-tools; # Added 2023-12-07 pdf2xml = throw "'pdf2xml' was removed: abandoned for years."; # Added 2023-10-22 peach = asouldocs; # Added 2022-08-28 pentablet-driver = xp-pen-g430-driver; # Added 2022-06-23 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c72fc1749793..d0c71aebd503 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11974,13 +11974,14 @@ with pkgs; polkitSupport = true; }; - pcsctools = callPackage ../tools/security/pcsctools { }; - pcsc-cyberjack = callPackage ../tools/security/pcsc-cyberjack { }; pcsc-safenet = callPackage ../tools/security/pcsc-safenet { }; pcsc-scm-scl011 = callPackage ../tools/security/pcsc-scm-scl011 { }; + + pcsc-tools = callPackage ../tools/security/pcsc-tools { }; + ifdnfc = callPackage ../tools/security/ifdnfc { }; pdd = python3Packages.callPackage ../tools/misc/pdd { }; From 848b539f97a91650bed4c07f28c25aa56bd68dc6 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Sat, 9 Dec 2023 09:39:54 +0100 Subject: [PATCH 8/8] pcsc-tools: enable darwin build --- pkgs/tools/security/pcsc-tools/default.nix | 4 +++- pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/pcsc-tools/default.nix b/pkgs/tools/security/pcsc-tools/default.nix index 106aa54ff848..9e63572fd491 100644 --- a/pkgs/tools/security/pcsc-tools/default.nix +++ b/pkgs/tools/security/pcsc-tools/default.nix @@ -10,6 +10,7 @@ , systemd , dbus , pcsclite +, PCSC , wget , coreutils , perlPackages @@ -33,6 +34,7 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ dbus perlPackages.perl pcsclite ] + ++ lib.optional stdenv.isDarwin PCSC ++ lib.optional stdenv.isLinux systemd; nativeBuildInputs = [ @@ -89,6 +91,6 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.gpl2Plus; mainProgram = "pcsc_scan"; maintainers = with maintainers; [ peterhoeg anthonyroussel ]; - platforms = platforms.linux; + platforms = platforms.unix; }; }) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d0c71aebd503..6c7f988d7e50 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11980,7 +11980,9 @@ with pkgs; pcsc-scm-scl011 = callPackage ../tools/security/pcsc-scm-scl011 { }; - pcsc-tools = callPackage ../tools/security/pcsc-tools { }; + pcsc-tools = callPackage ../tools/security/pcsc-tools { + inherit (pkgs.darwin.apple_sdk.frameworks) PCSC; + }; ifdnfc = callPackage ../tools/security/ifdnfc { };