summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-01-10 00:22:29 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-01-10 00:22:29 +0000
commit24a46bbf1261c39e008291b01bfce448bab23481 (patch)
tree2d3621dd4570e5a0d4c82e3be80743f09031f07a /pkgs/development
parent000e1c7c2273c6f1c9faaafd82c3f716174eec25 (diff)
downloadnixpkgs-24a46bbf1261c39e008291b01bfce448bab23481.tar
nixpkgs-24a46bbf1261c39e008291b01bfce448bab23481.tar.gz
nixpkgs-24a46bbf1261c39e008291b01bfce448bab23481.tar.bz2
nixpkgs-24a46bbf1261c39e008291b01bfce448bab23481.tar.lz
nixpkgs-24a46bbf1261c39e008291b01bfce448bab23481.tar.xz
nixpkgs-24a46bbf1261c39e008291b01bfce448bab23481.tar.zst
nixpkgs-24a46bbf1261c39e008291b01bfce448bab23481.zip
Downgrading the opensc library version to 0.11.7, that required
for the Spanish national id smartcard (DNIe).
Adding the opensc dnie driver.


svn path=/nixpkgs/trunk/; revision=19325
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/libraries/openct/default.nix21
-rw-r--r--pkgs/development/libraries/opensc-dnie/default.nix49
2 files changed, 70 insertions, 0 deletions
diff --git a/pkgs/development/libraries/openct/default.nix b/pkgs/development/libraries/openct/default.nix
new file mode 100644
index 00000000000..5bb332711af
--- /dev/null
+++ b/pkgs/development/libraries/openct/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, libtool, pcsclite, libusb, pkgconfig}:
+
+stdenv.mkDerivation rec {
+  name = "openct-0.6.19";
+  
+  src = fetchurl {
+    url = "http://www.opensc-project.org/files/openct/${name}.tar.gz";
+    sha256 = "1y4jlr877g3lziq7i3p6pdkscqpkn1lld874q6r2hsvc39n7c88z";
+  };
+  
+  configureFlags = [ "--enable-usb" "--enable-pcsc" ];
+  buildInputs = [ libtool pcsclite libusb pkgconfig ];
+
+  meta = {
+    homepage = http://www.opensc-project.org/openct/;
+    license = "LGPL";
+    description = "Drivers for several smart card readers";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/opensc-dnie/default.nix b/pkgs/development/libraries/opensc-dnie/default.nix
new file mode 100644
index 00000000000..d36a3b157cc
--- /dev/null
+++ b/pkgs/development/libraries/opensc-dnie/default.nix
@@ -0,0 +1,49 @@
+{stdenv, fetchurl, writeScript, patchelf, glib, opensc, openssl, openct, libtool, pcsclite,
+zlib}:
+
+# Version 1.4.6-2 works only with opensc 0.11.7
+assert opensc.name == "opensc-0.11.7";
+
+stdenv.mkDerivation rec {
+  name = "opensc-dnie-1.4.6-2";
+  
+  src = if (stdenv.system == "i686-linux") then (fetchurl {
+      url = http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/1.4.6.Ubuntu_Jaunty_32/Ubuntu_Jaunty_opensc-dnie_1.4.6-2_i386.deb.tar;
+      sha256 = "1i6r9ahjr0rkcxjfzkg2rrib1rjsjd5raxswvvfiya98q8rlv39i";
+    })
+    else if (stdenv.system == "x86_64-linux") then (fetchurl { url = http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/1.4.6.Ubuntu_Jaunty_64/Ubuntu_Jaunty_opensc-dnie_1.4.6-2_amd64.deb.tar;
+      sha256 = "1py2bxavdcj0crhk1lwqzjgya5lvyhdfdbr4g04iysj56amxb7f9";
+    })
+    else throw "Architecture not supported";
+
+  buildInputs = [ patchelf glib ];
+
+  builder = writeScript (name + "-builder.sh") ''
+    source $stdenv/setup
+    tar xf $src
+    ar x opensc-dnie*
+    tar xf data.tar.gz
+
+    RPATH=${glib}/lib:${opensc}/lib:${openssl}/lib:${openct}/lib:${libtool}/lib:${pcsclite}/lib:${stdenv.gcc.libc}/lib:${zlib}/lib
+
+    for a in usr/lib/*.so*; do
+        if ! test -L $a; then
+            patchelf --set-rpath $RPATH $a
+        fi
+    done
+
+    sed -i s,/usr,$out, usr/lib/pkgconfig/*
+   
+    ensureDir $out
+    cp -R usr/lib $out
+    cp -R usr/share $out
+  '';
+
+  meta = {
+    homepage = http://www.dnielectronico.es/descargas/;
+    description = "Opensc plugin to access the Spanish national ID smartcard";
+    license = "nonfree";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}