summary refs log tree commit diff
path: root/pkgs/os-specific/bsd/freebsd/evdev-proto/default.nix
blob: 3c3dcb6d5d67a5792936223411215d9211f20ba7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
{ lib, stdenv, linuxHeaders, freebsd, runCommandCC, buildPackages }:

stdenv.mkDerivation {
  pname = "evdev-proto";
  inherit (linuxHeaders) version;

  src = freebsd.ports;

  sourceRoot = "source/devel/evdev-proto";

  useTempPrefix = true;

  nativeBuildInputs = [ freebsd.makeMinimal ];

  ARCH = freebsd.makeMinimal.MACHINE_ARCH;
  OPSYS = "FreeBSD";
  _OSRELEASE = "${lib.versions.majorMinor freebsd.makeMinimal.version}-RELEASE";

  AWK = "awk";
  CHMOD = "chmod";
  FIND = "find";
  MKDIR = "mkdir -p";
  PKG_BIN = "${buildPackages.pkg}/bin/pkg";
  RM = "rm -f";
  SED = "${buildPackages.freebsd.sed}/bin/sed";
  SETENV = "env";
  SH = "sh";
  TOUCH = "touch";
  XARGS = "xargs";

  ABI_FILE = runCommandCC "abifile" {} "$CC -shared -o $out";
  CLEAN_FETCH_ENV = true;
  INSTALL_AS_USER = true;
  NO_CHECKSUM = true;
  NO_MTREE = true;
  SRC_BASE = freebsd.freebsdSrc;

  preUnpack = ''
    export MAKE_JOBS_NUMBER="$NIX_BUILD_CORES"

    export DISTDIR="$PWD/distfiles"
    export PKG_DBDIR="$PWD/pkg"
    export PREFIX="$prefix"

    mkdir -p "$DISTDIR/evdev-proto"
    tar -C "$DISTDIR/evdev-proto" \
        -xf ${linuxHeaders.src} \
        --strip-components 4 \
        linux-${linuxHeaders.version}/include/uapi/linux
  '';

  makeFlags = [ "DIST_SUBDIR=evdev-proto" ];

  postInstall = ''
    mv $prefix $out
  '';

  meta = with lib; {
    description = "Input event device header files for FreeBSD";
    maintainers = with maintainers; [ qyliss ];
    platforms = platforms.freebsd;
    license = licenses.gpl2Only;
  };
}