nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 autoreconfHook,
6 bison,
7 flex,
8 openldap,
9 openssl,
10 trousers,
11 libcap,
12 getent,
13}:
14
15stdenv.mkDerivation (finalAttrs: {
16 pname = "opencryptoki";
17 version = "3.25.0";
18
19 src = fetchFromGitHub {
20 owner = "opencryptoki";
21 repo = "opencryptoki";
22 tag = "v${finalAttrs.version}";
23 hash = "sha256-JIDy5LY2rJqMM1uWDWn6Q62kJ+7pYU4G7zptkbyvf9Q=";
24 };
25
26 nativeBuildInputs = [
27 autoreconfHook
28 bison
29 flex
30 getent
31 ];
32
33 buildInputs = [
34 openldap
35 openssl
36 trousers
37 libcap
38 ];
39
40 postPatch = ''
41 substituteInPlace configure.ac \
42 --replace-fail "/usr/sbin/" "" \
43 --replace-fail "/bin/" "" \
44 --replace-fail "usermod" "true" \
45 --replace-fail "useradd" "true" \
46 --replace-fail "groupadd" "true" \
47 --replace-fail "chmod" "true" \
48 --replace-fail "chown" "true" \
49 --replace-fail "chgrp" "true"
50 '';
51
52 configureFlags = [
53 "--prefix="
54 "--disable-ccatok"
55 "--disable-icatok"
56 ];
57
58 enableParallelBuilding = true;
59
60 installFlags = [ "DESTDIR=${placeholder "out"}" ];
61
62 meta = {
63 changelog = "https://github.com/opencryptoki/opencryptoki/blob/v${finalAttrs.version}/ChangeLog";
64 description = "PKCS#11 implementation for Linux";
65 homepage = "https://github.com/opencryptoki/opencryptoki";
66 license = lib.licenses.cpl10;
67 maintainers = [ ];
68 platforms = lib.platforms.unix;
69 };
70})