diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/security/opensc')
-rw-r--r-- | nixpkgs/pkgs/tools/security/opensc/default.nix | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/security/opensc/default.nix b/nixpkgs/pkgs/tools/security/opensc/default.nix new file mode 100644 index 000000000000..15231c945316 --- /dev/null +++ b/nixpkgs/pkgs/tools/security/opensc/default.nix @@ -0,0 +1,65 @@ +{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, zlib, readline, openssl +, libiconv, pcsclite, libassuan, libXt +, docbook_xsl, libxslt, docbook_xml_dtd_412 +, Carbon, PCSC, buildPackages +, withApplePCSC ? stdenv.isDarwin +}: + +stdenv.mkDerivation rec { + pname = "opensc"; + version = "0.22.0"; + + src = fetchFromGitHub { + owner = "OpenSC"; + repo = "OpenSC"; + rev = version; + sha256 = "sha256-0IFpiG1SJq4cpS5z6kwpWSPVWjO0q0SHs+doD2vbUKs="; + }; + + nativeBuildInputs = [ pkg-config autoreconfHook ]; + buildInputs = [ + zlib readline openssl libassuan + libXt libxslt libiconv docbook_xml_dtd_412 + ] + ++ lib.optional stdenv.isDarwin Carbon + ++ (if withApplePCSC then [ PCSC ] else [ pcsclite ]); + + NIX_CFLAGS_COMPILE = "-Wno-error"; + + configureFlags = [ + "--enable-zlib" + "--enable-readline" + "--enable-openssl" + "--enable-pcsc" + "--enable-sm" + "--enable-man" + "--enable-doc" + "--localstatedir=/var" + "--sysconfdir=/etc" + "--with-xsl-stylesheetsdir=${docbook_xsl}/xml/xsl/docbook" + "--with-pcsc-provider=${ + if withApplePCSC then + "${PCSC}/Library/Frameworks/PCSC.framework/PCSC" + else + "${lib.getLib pcsclite}/lib/libpcsclite${stdenv.hostPlatform.extensions.sharedLibrary}" + }" + (lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) + "XSLTPROC=${buildPackages.libxslt}/bin/xsltproc") + ]; + + PCSC_CFLAGS = lib.optionalString withApplePCSC + "-I${PCSC}/Library/Frameworks/PCSC.framework/Headers"; + + installFlags = [ + "sysconfdir=$(out)/etc" + "completiondir=$(out)/etc" + ]; + + meta = with lib; { + description = "Set of libraries and utilities to access smart cards"; + homepage = "https://github.com/OpenSC/OpenSC/wiki"; + license = licenses.lgpl21Plus; + platforms = platforms.all; + maintainers = [ maintainers.michaeladler ]; + }; +} |