Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, stdenv, fetchurl, flex, bison, linuxHeaders, libtirpc, mount, umount, nfs-utils, e2fsprogs 2, libxml2, libkrb5, kmod, openldap, sssd, cyrus_sasl, openssl, rpcsvc-proto 3, fetchpatch 4}: 5 6stdenv.mkDerivation rec { 7 version = "5.1.6"; 8 pname = "autofs"; 9 10 src = fetchurl { 11 url = "mirror://kernel/linux/daemons/autofs/v5/autofs-${version}.tar.xz"; 12 sha256 = "1vya21mb4izj3khcr3flibv7xc15vvx2v0rjfk5yd31qnzcy7pnx"; 13 }; 14 15 patches = [ 16 # glibc 2.34 compat 17 (fetchpatch { 18 url = "https://src.fedoraproject.org/rpms/autofs/raw/cc745af5e42396d540d5b3b92fae486e232bf6bd/f/autofs-5.1.7-use-default-stack-size-for-threads.patch"; 19 sha256 = "sha256-6ETDFbW7EhHR03xFWF+6OJBgn9NX3WW3bGhTNGodaOc="; 20 excludes = [ "CHANGELOG" ]; 21 }) 22 ]; 23 24 preConfigure = '' 25 configureFlags="--enable-force-shutdown --enable-ignore-busy --with-path=$PATH" 26 export sssldir="${sssd}/lib/sssd/modules" 27 export HAVE_SSS_AUTOFS=1 28 29 export MOUNT=${mount}/bin/mount 30 export MOUNT_NFS=${nfs-utils}/bin/mount.nfs 31 export UMOUNT=${umount}/bin/umount 32 export MODPROBE=${kmod}/bin/modprobe 33 export E2FSCK=${e2fsprogs}/bin/fsck.ext2 34 export E3FSCK=${e2fsprogs}/bin/fsck.ext3 35 export E4FSCK=${e2fsprogs}/bin/fsck.ext4 36 37 unset STRIP # Makefile.rules defines a usable STRIP only without the env var. 38 ''; 39 40 # configure script is not finding the right path 41 env.NIX_CFLAGS_COMPILE = toString [ "-I${libtirpc.dev}/include/tirpc" ]; 42 43 installPhase = '' 44 make install SUBDIRS="lib daemon modules man" # all but samples 45 #make install SUBDIRS="samples" # impure! 46 ''; 47 48 buildInputs = [ linuxHeaders libtirpc libxml2 libkrb5 kmod openldap sssd 49 openssl cyrus_sasl rpcsvc-proto ]; 50 51 nativeBuildInputs = [ flex bison ]; 52 53 meta = { 54 description = "Kernel-based automounter"; 55 homepage = "https://www.kernel.org/pub/linux/daemons/autofs/"; 56 license = lib.licenses.gpl2Plus; 57 executables = [ "automount" ]; 58 platforms = lib.platforms.linux; 59 }; 60}