diff options
author | Mx Kookie <kookie@spacekookie.de> | 2020-12-09 18:55:19 +0000 |
---|---|---|
committer | Mx Kookie <kookie@spacekookie.de> | 2020-12-09 18:55:19 +0000 |
commit | 80d90d9b204f7c17912740f9f414fe5d59f293ba (patch) | |
tree | 5f2065a06e724270610760d59d01c6888b375a46 /infra/libkookie/nixpkgs/pkgs/servers/openafs/1.9/module.nix | |
parent | 3a31a84c7d3e589035ad08499206aac44a81f424 (diff) | |
parent | 83cbad92d73216bb0d9187c56cce0b91f9121d5a (diff) |
Merge commit '83cbad92d73216bb0d9187c56cce0b91f9121d5a' into main
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/servers/openafs/1.9/module.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/servers/openafs/1.9/module.nix | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/servers/openafs/1.9/module.nix b/infra/libkookie/nixpkgs/pkgs/servers/openafs/1.9/module.nix new file mode 100644 index 000000000000..547134726221 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/servers/openafs/1.9/module.nix @@ -0,0 +1,64 @@ +{ stdenv, fetchurl, which, autoconf, automake, flex, yacc +, kernel, glibc, perl, libtool_2, kerberos, fetchpatch }: + +with (import ./srcs.nix { + inherit fetchurl; +}); + +let + modDestDir = "$out/lib/modules/${kernel.modDirVersion}/extra/openafs"; + kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; + +in stdenv.mkDerivation { + name = "openafs-${version}-${kernel.modDirVersion}"; + inherit version src; + + nativeBuildInputs = [ autoconf automake flex libtool_2 perl which yacc ] + ++ kernel.moduleBuildDependencies; + + buildInputs = [ kerberos ]; + + patches = []; + + hardeningDisable = [ "pic" ]; + + configureFlags = [ + "--with-linux-kernel-build=${kernelBuildDir}" + "--sysconfdir=/etc" + "--localstatedir=/var" + "--with-gssapi" + "--disable-linux-d_splice-alias-extra-iput" + ]; + + preConfigure = '' + patchShebangs . + for i in `grep -l -R '/usr/\(include\|src\)' .`; do + echo "Patch /usr/include and /usr/src in $i" + substituteInPlace $i \ + --replace "/usr/include" "${glibc.dev}/include" \ + --replace "/usr/src" "${kernelBuildDir}" + done + + ./regen.sh -q + ''; + + buildPhase = '' + make V=1 only_libafs + ''; + + installPhase = '' + mkdir -p ${modDestDir} + cp src/libafs/MODLOAD-*/libafs-${kernel.modDirVersion}.* ${modDestDir}/libafs.ko + xz -f ${modDestDir}/libafs.ko + ''; + + meta = with stdenv.lib; { + description = "Open AFS client kernel module"; + homepage = "https://www.openafs.org"; + license = licenses.ipl10; + platforms = platforms.linux; + maintainers = [ maintainers.maggesi maintainers.spacefrogg ]; + broken = versionOlder kernel.version "3.18" || kernel.isHardened; + }; + +} |