python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / security / pcsc-scm-scl011 / default.nix
blobaf3a95f0a2aac42470a51a34b2d2a0274cca1a44
1 { lib, stdenv, fetchurl, unzip, libusb-compat-0_1 }:
3 let
4   arch = if stdenv.hostPlatform.system == "i686-linux" then "32"
5   else if stdenv.hostPlatform.system == "x86_64-linux" then "64"
6   else throw "Unsupported system: ${stdenv.hostPlatform.system}";
7 in
8 stdenv.mkDerivation rec {
9   pname = "pcsc-scm-scl";
10   version = "2.09";
12   src = fetchurl {
13     url = "http://files.identiv.com/products/smart-card-readers/contactless/scl010-011/Linux_Driver_Ver${version}.zip";
14     sha256 = "0ik26sxgqgsqplksl87z61vwmx51k7plaqmrkdid7xidgfhfxr42";
15   };
17   nativeBuildInputs = [ unzip ];
19   unpackPhase = ''
20     unzip $src
21     tar xf "Linux Driver Ver${version}/sclgeneric_${version}_linux_${arch}bit.tar.gz"
22     export sourceRoot=$(readlink -e sclgeneric_${version}_linux_${arch}bit)
23   '';
25   # Add support for SCL011 nPA (subsidized model for German eID)
26   patches = [ ./eid.patch ];
28   installPhase = ''
29     mkdir -p $out/pcsc/drivers
30     cp -r proprietary/*.bundle $out/pcsc/drivers
31   '';
33   libPath = lib.makeLibraryPath [ libusb-compat-0_1 ];
35   fixupPhase = ''
36     patchelf --set-rpath $libPath \
37       $out/pcsc/drivers/SCLGENERIC.bundle/Contents/Linux/libSCLGENERIC.so.${version};
38   '';
40   meta = with lib; {
41     description = "SCM Microsystems SCL011 chipcard reader user space driver";
42     homepage = "https://www.scm-pc-card.de/index.php?lang=en&page=product&function=show_product&product_id=630";
43     downloadPage = "https://support.identiv.com/scl010-scl011/";
44     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
45     license = licenses.unfreeRedistributable;
46     maintainers = with maintainers; [ sephalon ];
47     platforms = platforms.linux;
48   };