chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / cc / ccid / package.nix
blobaf3afd1b24ac0387ce4b93e7e07e7abd5c18a47c
2   lib,
3   stdenv,
4   fetchurl,
5   flex,
6   gitUpdater,
7   libusb1,
8   pcsclite,
9   perl,
10   pkg-config,
11   zlib,
14 stdenv.mkDerivation rec {
15   pname = "ccid";
16   version = "1.5.5";
18   src = fetchurl {
19     url = "https://ccid.apdu.fr/files/${pname}-${version}.tar.bz2";
20     hash = "sha256-GUcI91/jadRd18Feiz6Kfbi0nPxVV1dMoqLnbvEsoMo=";
21   };
23   postPatch = ''
24     patchShebangs .
25     substituteInPlace src/Makefile.in --replace-fail /bin/echo echo
26   '';
28   configureFlags = [
29     "--enable-twinserial"
30     "--enable-serialconfdir=${placeholder "out"}/etc/reader.conf.d"
31     "--enable-ccidtwindir=${placeholder "out"}/pcsc/drivers/serial"
32     "--enable-usbdropdir=${placeholder "out"}/pcsc/drivers"
33   ];
35   # error: call to undeclared function 'InterruptRead';
36   # ISO C99 and later do not support implicit function declarations
37   env = lib.optionalAttrs stdenv.cc.isClang {
38     NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
39   };
41   nativeBuildInputs = [
42     flex
43     perl
44     pkg-config
45   ];
47   buildInputs = [
48     libusb1
49     pcsclite
50     zlib
51   ];
53   postInstall = ''
54     install -Dm 0444 -t $out/lib/udev/rules.d src/92_pcscd_ccid.rules
55     substituteInPlace $out/lib/udev/rules.d/92_pcscd_ccid.rules \
56       --replace-fail "/usr/sbin/pcscd" "${pcsclite}/bin/pcscd"
57   '';
59   # The resulting shared object ends up outside of the default paths which are
60   # usually getting stripped.
61   stripDebugList = [ "pcsc" ];
63   passthru.updateScript = gitUpdater {
64     url = "https://salsa.debian.org/rousseau/CCID.git";
65   };
67   meta = with lib; {
68     description = "PC/SC driver for USB CCID smart card readers";
69     homepage = "https://ccid.apdu.fr/";
70     license = licenses.lgpl21Plus;
71     maintainers = [ maintainers.anthonyroussel ];
72     platforms = platforms.unix;
73   };