diff options
Diffstat (limited to 'pkgs/servers/openafs/default.nix')
-rw-r--r-- | pkgs/servers/openafs/default.nix | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/servers/openafs/default.nix b/pkgs/servers/openafs/default.nix new file mode 100644 index 00000000000..232fb135bd8 --- /dev/null +++ b/pkgs/servers/openafs/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, fetchgit, which, autoconf, automake, flex, yacc, + kernel, glibc, ncurses, perl, kerberos, fetchpatch }: + +stdenv.mkDerivation rec { + name = "openafs-${version}-${kernel.version}"; + version = "1.6.22.1"; + + src = fetchurl { + url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2"; + sha256 = "19nfbksw7b34jc3mxjk7cbz26zg9k5myhzpv2jf0fnmznr47jqaw"; + }; + + nativeBuildInputs = [ autoconf automake flex yacc perl which ] ++ kernel.moduleBuildDependencies; + + buildInputs = [ ncurses ]; + + hardeningDisable = [ "pic" ]; + + preConfigure = '' + ln -s "${kernel.dev}/lib/modules/"*/build $TMP/linux + + 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" "$TMP" + done + + ./regen.sh + + ${stdenv.lib.optionalString (kerberos != null) + "export KRB5_CONFIG=${kerberos.dev}/bin/krb5-config"} + + configureFlagsArray=( + "--with-linux-kernel-build=$TMP/linux" + ${stdenv.lib.optionalString (kerberos != null) "--with-krb5"} + "--sysconfdir=/etc/static" + "--disable-linux-d_splice-alias-extra-iput" + ) + ''; + + meta = with stdenv.lib; { + description = "Open AFS client"; + homepage = https://www.openafs.org; + license = licenses.ipl10; + platforms = platforms.linux; + maintainers = [ maintainers.z77z ]; + broken = versionOlder kernel.version "3.18"; + }; +} |