nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 autoreconfHook,
6 pkg-config,
7 zlib,
8 readline,
9 openssl,
10 libiconv,
11 pcsclite,
12 libassuan,
13 libXt,
14 docbook_xsl,
15 libxslt,
16 docbook_xml_dtd_412,
17 nix-update-script,
18}:
19
20stdenv.mkDerivation (finalAttrs: {
21 pname = "opensc";
22 version = "0.26.1";
23
24 src = fetchFromGitHub {
25 owner = "OpenSC";
26 repo = "OpenSC";
27 tag = finalAttrs.version;
28 hash = "sha256-H5df+x15fz28IlL/G9zPBxbNBzc+BlDmmgNZVEYQgac=";
29 };
30
31 nativeBuildInputs = [
32 pkg-config
33 autoreconfHook
34 libxslt # xsltproc
35 ];
36 buildInputs = [
37 zlib
38 readline
39 openssl
40 libassuan
41 libXt
42 libiconv
43 docbook_xml_dtd_412
44 ]
45 ++ lib.optional (!stdenv.hostPlatform.isDarwin) pcsclite;
46
47 env.NIX_CFLAGS_COMPILE = "-Wno-error";
48
49 configureFlags = [
50 "--enable-zlib"
51 "--enable-readline"
52 "--enable-openssl"
53 "--enable-pcsc"
54 "--enable-sm"
55 "--enable-man"
56 "--enable-doc"
57 "--localstatedir=/var"
58 "--sysconfdir=/etc"
59 "--with-xsl-stylesheetsdir=${docbook_xsl}/xml/xsl/docbook"
60 ]
61 ++
62 lib.optional (!stdenv.hostPlatform.isDarwin)
63 "--with-pcsc-provider=${lib.getLib pcsclite}/lib/libpcsclite${stdenv.hostPlatform.extensions.sharedLibrary}";
64
65 installFlags = [
66 "sysconfdir=$(out)/etc"
67 "completiondir=$(out)/etc"
68 ];
69
70 passthru.updateScript = nix-update-script { };
71
72 meta = {
73 description = "Set of libraries and utilities to access smart cards";
74 homepage = "https://github.com/OpenSC/OpenSC/wiki";
75 license = lib.licenses.lgpl21Plus;
76 platforms = lib.platforms.all;
77 maintainers = [ lib.maintainers.michaeladler ];
78 };
79})