Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 linuxHeaders, 5 freebsd, 6 runCommandCC, 7 buildPackages, 8}: 9 10stdenv.mkDerivation { 11 pname = "evdev-proto"; 12 inherit (linuxHeaders) version; 13 14 src = freebsd.ports; 15 16 sourceRoot = "${freebsd.ports.name}/devel/evdev-proto"; 17 18 useTempPrefix = true; 19 20 nativeBuildInputs = [ freebsd.makeMinimal ]; 21 22 ARCH = freebsd.makeMinimal.MACHINE_ARCH; 23 OPSYS = "FreeBSD"; 24 _OSRELEASE = "${lib.versions.majorMinor freebsd.makeMinimal.version}-RELEASE"; 25 26 AWK = "awk"; 27 CHMOD = "chmod"; 28 FIND = "find"; 29 MKDIR = "mkdir -p"; 30 PKG_BIN = "${buildPackages.pkg}/bin/pkg"; 31 RM = "rm -f"; 32 SED = "${buildPackages.freebsd.sed}/bin/sed"; 33 SETENV = "env"; 34 SH = "sh"; 35 TOUCH = "touch"; 36 XARGS = "xargs"; 37 38 ABI_FILE = runCommandCC "abifile" { } "$CC -shared -o $out"; 39 CLEAN_FETCH_ENV = true; 40 INSTALL_AS_USER = true; 41 NO_CHECKSUM = true; 42 NO_MTREE = true; 43 SRC_BASE = freebsd.source; 44 45 preUnpack = '' 46 export MAKE_JOBS_NUMBER="$NIX_BUILD_CORES" 47 48 export DISTDIR="$PWD/distfiles" 49 export PKG_DBDIR="$PWD/pkg" 50 export PREFIX="$prefix" 51 52 mkdir -p "$DISTDIR/evdev-proto" 53 tar -C "$DISTDIR/evdev-proto" \ 54 -xf ${linuxHeaders.src} \ 55 --strip-components 4 \ 56 linux-${linuxHeaders.version}/include/uapi/linux 57 ''; 58 59 makeFlags = [ "DIST_SUBDIR=evdev-proto" ]; 60 61 postInstall = '' 62 mv $prefix $out 63 ''; 64 65 meta = with lib; { 66 description = "Input event device header files for FreeBSD"; 67 maintainers = with maintainers; [ qyliss ]; 68 platforms = platforms.freebsd; 69 license = licenses.gpl2Only; 70 }; 71}