about summary refs log tree commit diff
path: root/pkgs/tools/security/pcsc-cyberjack/default.nix
blob: 6cee5c1ccbdea8b1a92d7f9da1c23e1ad536437f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{ stdenv, fetchurl, pkgconfig, libusb1, pcsclite }:

stdenv.mkDerivation rec {
  pname = "pcsc-cyberjack";
  version = "3.99.5_SP12";

  src = with stdenv.lib; let
    splittedVer = splitString "_" version;
    mainVer = if length splittedVer >= 1 then head splittedVer else version;
    spVer = optionalString (length splittedVer >= 1) ("." + last splittedVer);
    tarballVersion = "${mainVer}final${spVer}";
  in fetchurl {
    url = "http://support.reiner-sct.de/downloads/LINUX/V${version}"
        + "/pcsc-cyberjack-${tarballVersion}.tar.bz2";
    sha256 = "04pkmybal56s5xnjld09vl1s1h6qf8mvhm41b758d6hi240kgp1j";
  };

  outputs = [ "out" "tools" ];

  nativeBuildInputs = [ pkgconfig ];
  buildInputs = [ libusb1 pcsclite ];

  configureFlags = [
    "--with-usbdropdir=${placeholder "out"}/pcsc/drivers"
    "--bindir=${placeholder "tools"}/bin"
  ];

  postInstall = "make -C tools/cjflash install";

  meta = with stdenv.lib; {
    description = "REINER SCT cyberJack USB chipcard reader user space driver";
    homepage = https://www.reiner-sct.com/;
    license = licenses.gpl2Plus;
    platforms = platforms.linux;
    maintainers = with maintainers; [ aszlig ];
  };
}