summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorsephalon <me@sephalon.net>2018-04-09 06:01:55 +0200
committerMatthew Justin Bauer <mjbauer95@gmail.com>2018-04-08 23:01:55 -0500
commit33eb77bad1fca64818f060b136abf212ac6290dd (patch)
tree31d6148b2790b3045284b0ba22ed40c8c7c76436 /pkgs/tools
parent9191670c9e886a78d27ad5ffe44f21622b49f9ed (diff)
downloadnixlib-33eb77bad1fca64818f060b136abf212ac6290dd.tar
nixlib-33eb77bad1fca64818f060b136abf212ac6290dd.tar.gz
nixlib-33eb77bad1fca64818f060b136abf212ac6290dd.tar.bz2
nixlib-33eb77bad1fca64818f060b136abf212ac6290dd.tar.lz
nixlib-33eb77bad1fca64818f060b136abf212ac6290dd.tar.xz
nixlib-33eb77bad1fca64818f060b136abf212ac6290dd.tar.zst
nixlib-33eb77bad1fca64818f060b136abf212ac6290dd.zip
pcsc-scm-scl011: init at 2.09 (#37732)
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/security/pcsc-scm-scl011/default.nix49
-rw-r--r--pkgs/tools/security/pcsc-scm-scl011/eid.patch28
2 files changed, 77 insertions, 0 deletions
diff --git a/pkgs/tools/security/pcsc-scm-scl011/default.nix b/pkgs/tools/security/pcsc-scm-scl011/default.nix
new file mode 100644
index 000000000000..88b5c147f303
--- /dev/null
+++ b/pkgs/tools/security/pcsc-scm-scl011/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, unzip, libusb }:
+
+let
+  arch = if stdenv.system == "i686-linux" then "32"
+  else if stdenv.system == "x86_64-linux" then "64"
+  else throw "Unsupported system: ${stdenv.system}";
+in
+stdenv.mkDerivation rec {
+  name = "pcsc-scm-scl-${version}";
+  version = "2.09";
+
+  src = fetchurl {
+    url = "http://files.identiv.com/products/smart-card-readers/contactless/scl010-011/Linux_Driver_Ver${version}.zip";
+    sha256 = "0ik26sxgqgsqplksl87z61vwmx51k7plaqmrkdid7xidgfhfxr42";
+  };
+
+  buildInputs = [ unzip ];
+
+  unpackPhase = ''
+    echo ${stdenv.system}
+    unzip $src
+    tar xf "Linux Driver Ver${version}/sclgeneric_${version}_linux_${arch}bit.tar.gz"
+    cd sclgeneric_${version}_linux_${arch}bit; export sourceRoot=`pwd`
+  '';
+
+  # Add support for SCL011 nPA (subsidized model for German eID)
+  patches = [ ./eid.patch ];
+
+  installPhase = ''
+    mkdir -p $out/pcsc/drivers
+    cp -r proprietary/*.bundle $out/pcsc/drivers
+  '';
+
+  libPath = stdenv.lib.makeLibraryPath [ libusb ];
+
+  fixupPhase = ''
+    patchelf --set-rpath $libPath \
+      $out/pcsc/drivers/SCLGENERIC.bundle/Contents/Linux/libSCLGENERIC.so.${version};
+  '';
+
+  meta = with stdenv.lib; {
+    description = "SCM Microsystems SCL011 chipcard reader user space driver";
+    homepage = http://www.scm-pc-card.de/index.php?lang=en&page=product&function=show_product&product_id=630;
+    downloadPage = https://support.identiv.com/scl010-scl011/;
+    license = licenses.unfreeRedistributable;
+    maintainers = with maintainers; [ sephalon ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/pcsc-scm-scl011/eid.patch b/pkgs/tools/security/pcsc-scm-scl011/eid.patch
new file mode 100644
index 000000000000..6e7ffd60f72f
--- /dev/null
+++ b/pkgs/tools/security/pcsc-scm-scl011/eid.patch
@@ -0,0 +1,28 @@
+diff --git a/proprietary/SCLGENERIC.bundle/Contents/Info.plist b/proprietary/SCLGENERIC.bundle/Contents/Info.plist
+index 412d6b9..5d1c6cc 100755
+--- a/proprietary/SCLGENERIC.bundle/Contents/Info.plist
++++ b/proprietary/SCLGENERIC.bundle/Contents/Info.plist
+@@ -34,6 +34,7 @@
+ 		<string>0x04E6</string>		

+ 		<string>0x04E6</string>

+ 		<string>0x04E6</string>

++		<string>0x04E6</string>

+ 	</array>

+ 

+ 	<key>ifdProductID</key>

+@@ -42,6 +43,7 @@
+ 		<string>0x5291</string>

+ 		<string>0x5290</string>

+ 		<string>0x5293</string>

++		<string>0x5292</string>

+ 	</array>

+ 

+ 	<key>ifdFriendlyName</key>

+@@ -50,6 +52,7 @@
+ 		<string>SCL010 Contactless Reader</string>

+ 		<string>SCR331CL-NTTCom</string>

+ 		<string>SCL011G Contactless Reader</string>

++		<string>SCM Microsystems, Inc. SCL011 RFID reader</string>

+ 	</array>

+ 

+ </dict>