1{ lib, stdenv, fetchurl }:
2
3# Note: this package is used for bootstrapping fetchurl, and thus
4# cannot use fetchpatch! All mutable patches (generated by GitHub or
5# cgit) that are needed here should be included directly in Nixpkgs as
6# files.
7
8stdenv.mkDerivation rec {
9 pname = "keyutils";
10 version = "1.6.3";
11
12 src = fetchurl {
13 url = "https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/${pname}-${version}.tar.gz";
14 sha256 = "sha256-ph1XBhNq5MBb1I+GGGvP29iN2L1RB+Phlckkz8Gzm7Q=";
15 };
16
17 patches = [
18 (fetchurl {
19 # improve reproducibility
20 url = "https://salsa.debian.org/debian/keyutils/raw/4cecffcb8e2a2aa4ef41777ed40e4e4bcfb2e5bf/debian/patches/Make-build-reproducible.patch";
21 sha256 = "0wnvbjfrbk7rghd032z684l7vk7mhy3bd41zvhkrhgp3cd5id0bm";
22 })
23 ./conf-symlink.patch
24 ];
25
26 makeFlags = lib.optionals stdenv.hostPlatform.isStatic "NO_SOLIB=1";
27
28 BUILDDATE = "1970-01-01";
29 outputs = [ "out" "lib" "dev" ];
30
31 enableParallelBuilding = true;
32
33 installFlags = [
34 "ETCDIR=$(out)/etc"
35 "BINDIR=$(out)/bin"
36 "SBINDIR=$(out)/sbin"
37 "SHAREDIR=$(out)/share/keyutils"
38 "MANDIR=$(out)/share/man"
39 "INCLUDEDIR=$(dev)/include"
40 "LIBDIR=$(lib)/lib"
41 "USRLIBDIR=$(lib)/lib"
42 ];
43
44 meta = with lib; {
45 homepage = "https://people.redhat.com/dhowells/keyutils/";
46 description = "Tools used to control the Linux kernel key management system";
47 license = licenses.gpl2Plus;
48 platforms = platforms.linux;
49 };
50}