lol

pcsctools: use the local smartcard list

Use the local file provided with pcsctools or alternatively look in /etc/pcsc.

+27 -10
+27 -10
pkgs/tools/security/pcsctools/default.nix
··· 1 - { stdenv, lib, fetchurl, makeWrapper, pkg-config, udev, dbus, pcsclite 2 - , wget, coreutils, perlPackages 1 + { stdenv 2 + , lib 3 + , fetchurl 4 + , makeWrapper 5 + , pkg-config 6 + , systemd 7 + , dbus 8 + , pcsclite 9 + , wget 10 + , coreutils 11 + , perlPackages 3 12 }: 4 13 5 - let deps = lib.makeBinPath [ wget coreutils ]; 6 - 7 - in stdenv.mkDerivation rec { 8 - name = "pcsc-tools-1.5.7"; 14 + stdenv.mkDerivation rec { 15 + pname = "pcsc-tools"; 16 + version = "1.5.7"; 9 17 10 18 src = fetchurl { 11 - url = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools/${name}.tar.bz2"; 19 + url = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools/${pname}-${version}.tar.bz2"; 12 20 sha256 = "17b9jxvcxmn007lavan20l25v4jvm6dqc4x9dlqzbg6mjs28zsp0"; 13 21 }; 14 22 15 - buildInputs = [ udev dbus perlPackages.perl pcsclite ]; 23 + postPatch = '' 24 + substituteInPlace ATR_analysis \ 25 + --replace /usr/local/pcsc /etc/pcsc \ 26 + --replace /usr/share/pcsc $out/share/pcsc 27 + ''; 28 + 29 + buildInputs = [ dbus perlPackages.perl pcsclite ] 30 + ++ lib.optional stdenv.isLinux systemd; 16 31 17 32 nativeBuildInputs = [ makeWrapper pkg-config ]; 18 33 ··· 24 39 wrapProgram $out/bin/ATR_analysis \ 25 40 --set PERL5LIB "${with perlPackages; makePerlPath [ pcscperl ]}" 26 41 wrapProgram $out/bin/pcsc_scan \ 27 - --set PATH "$out/bin:${deps}" 42 + --prefix PATH : "$out/bin:${lib.makeBinPath [ coreutils wget ]}" 43 + 44 + install -Dm444 -t $out/share/pcsc smartcard_list.txt 28 45 ''; 29 46 30 47 meta = with lib; { 31 48 description = "Tools used to test a PC/SC driver, card or reader"; 32 49 homepage = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools/"; 33 50 license = licenses.gpl2Plus; 34 - maintainers = with maintainers; [ ]; 51 + maintainers = with maintainers; [ peterhoeg ]; 35 52 platforms = platforms.linux; 36 53 }; 37 54 }