bsd treewide: Run RFC formatter
This commit is contained in:
parent
56590dd7b3
commit
3fe3b055ad
65 changed files with 1623 additions and 934 deletions
|
@ -1,4 +1,11 @@
|
||||||
{ lib, stdenv, linuxHeaders, freebsd, runCommandCC, buildPackages }:
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
linuxHeaders,
|
||||||
|
freebsd,
|
||||||
|
runCommandCC,
|
||||||
|
buildPackages,
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "evdev-proto";
|
pname = "evdev-proto";
|
||||||
|
@ -28,7 +35,7 @@ stdenv.mkDerivation {
|
||||||
TOUCH = "touch";
|
TOUCH = "touch";
|
||||||
XARGS = "xargs";
|
XARGS = "xargs";
|
||||||
|
|
||||||
ABI_FILE = runCommandCC "abifile" {} "$CC -shared -o $out";
|
ABI_FILE = runCommandCC "abifile" { } "$CC -shared -o $out";
|
||||||
CLEAN_FETCH_ENV = true;
|
CLEAN_FETCH_ENV = true;
|
||||||
INSTALL_AS_USER = true;
|
INSTALL_AS_USER = true;
|
||||||
NO_CHECKSUM = true;
|
NO_CHECKSUM = true;
|
||||||
|
|
|
@ -3,14 +3,16 @@
|
||||||
{
|
{
|
||||||
inherit version;
|
inherit version;
|
||||||
|
|
||||||
mkBsdArch = stdenv': {
|
mkBsdArch =
|
||||||
x86_64 = "amd64";
|
stdenv':
|
||||||
aarch64 = "arm64";
|
{
|
||||||
i486 = "i386";
|
x86_64 = "amd64";
|
||||||
i586 = "i386";
|
aarch64 = "arm64";
|
||||||
i686 = "i386";
|
i486 = "i386";
|
||||||
}.${stdenv'.hostPlatform.parsed.cpu.name}
|
i586 = "i386";
|
||||||
or stdenv'.hostPlatform.parsed.cpu.name;
|
i686 = "i386";
|
||||||
|
}
|
||||||
|
.${stdenv'.hostPlatform.parsed.cpu.name} or stdenv'.hostPlatform.parsed.cpu.name;
|
||||||
|
|
||||||
install-wrapper = builtins.readFile ./install-wrapper.sh;
|
install-wrapper = builtins.readFile ./install-wrapper.sh;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{ stdenv, lib, stdenvNoCC
|
{
|
||||||
, fetchzip
|
stdenv,
|
||||||
, sourceData, versionData, buildFreebsd, patchesRoot
|
lib,
|
||||||
|
stdenvNoCC,
|
||||||
|
fetchzip,
|
||||||
|
sourceData,
|
||||||
|
versionData,
|
||||||
|
buildFreebsd,
|
||||||
|
patchesRoot,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
self:
|
self:
|
||||||
|
@ -8,7 +14,8 @@ self:
|
||||||
lib.packagesFromDirectoryRecursive {
|
lib.packagesFromDirectoryRecursive {
|
||||||
callPackage = self.callPackage;
|
callPackage = self.callPackage;
|
||||||
directory = ./pkgs;
|
directory = ./pkgs;
|
||||||
} // {
|
}
|
||||||
|
// {
|
||||||
inherit sourceData patchesRoot versionData;
|
inherit sourceData patchesRoot versionData;
|
||||||
|
|
||||||
# Keep the crawled portion of Nixpkgs finite.
|
# Keep the crawled portion of Nixpkgs finite.
|
||||||
|
@ -21,11 +28,15 @@ lib.packagesFromDirectoryRecursive {
|
||||||
|
|
||||||
compatIfNeeded = lib.optional (!stdenvNoCC.hostPlatform.isFreeBSD) self.compat;
|
compatIfNeeded = lib.optional (!stdenvNoCC.hostPlatform.isFreeBSD) self.compat;
|
||||||
freebsd-lib = import ./lib {
|
freebsd-lib = import ./lib {
|
||||||
version = lib.concatStringsSep "." (map toString (lib.filter (x: x != null) [
|
version = lib.concatStringsSep "." (
|
||||||
self.versionData.major
|
map toString (
|
||||||
self.versionData.minor
|
lib.filter (x: x != null) [
|
||||||
self.versionData.patch or null
|
self.versionData.major
|
||||||
]));
|
self.versionData.minor
|
||||||
|
self.versionData.patch or null
|
||||||
|
]
|
||||||
|
)
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
# The manual callPackages below should in principle be unnecessary, but are
|
# The manual callPackages below should in principle be unnecessary, but are
|
||||||
|
@ -51,21 +62,21 @@ lib.packagesFromDirectoryRecursive {
|
||||||
};
|
};
|
||||||
|
|
||||||
libc = self.callPackage ./pkgs/libc/package.nix {
|
libc = self.callPackage ./pkgs/libc/package.nix {
|
||||||
inherit (buildFreebsd) makeMinimal install gencat rpcgen;
|
inherit (buildFreebsd)
|
||||||
|
makeMinimal
|
||||||
|
install
|
||||||
|
gencat
|
||||||
|
rpcgen
|
||||||
|
;
|
||||||
inherit (self) csu include;
|
inherit (self) csu include;
|
||||||
};
|
};
|
||||||
|
|
||||||
libnetbsd = self.callPackage ./pkgs/libnetbsd/package.nix {
|
libnetbsd = self.callPackage ./pkgs/libnetbsd/package.nix { inherit (buildFreebsd) makeMinimal; };
|
||||||
inherit (buildFreebsd) makeMinimal;
|
|
||||||
};
|
|
||||||
|
|
||||||
mkDerivation = self.callPackage ./pkgs/mkDerivation.nix {
|
mkDerivation = self.callPackage ./pkgs/mkDerivation.nix {
|
||||||
inherit stdenv;
|
inherit stdenv;
|
||||||
inherit (buildFreebsd) makeMinimal install tsort;
|
inherit (buildFreebsd) makeMinimal install tsort;
|
||||||
};
|
};
|
||||||
|
|
||||||
makeMinimal = self.callPackage ./pkgs/makeMinimal.nix {
|
makeMinimal = self.callPackage ./pkgs/makeMinimal.nix { inherit (self) make; };
|
||||||
inherit (self) make;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
{ buildPackages, freebsd-lib }:
|
{ buildPackages, freebsd-lib }:
|
||||||
|
|
||||||
# Wrap NetBSD's install
|
# Wrap NetBSD's install
|
||||||
buildPackages.writeShellScriptBin "boot-install" (freebsd-lib.install-wrapper + ''
|
buildPackages.writeShellScriptBin "boot-install" (
|
||||||
|
freebsd-lib.install-wrapper
|
||||||
|
+ ''
|
||||||
|
|
||||||
${buildPackages.netbsd.install}/bin/xinstall "''${args[@]}"
|
${buildPackages.netbsd.install}/bin/xinstall "''${args[@]}"
|
||||||
'')
|
''
|
||||||
|
)
|
||||||
|
|
|
@ -1,9 +1,16 @@
|
||||||
{ lib, stdenv, mkDerivation, patchesRoot
|
{
|
||||||
, bsdSetupHook, freebsdSetupHook
|
lib,
|
||||||
, makeMinimal, boot-install
|
stdenv,
|
||||||
, which
|
mkDerivation,
|
||||||
, freebsd-lib
|
patchesRoot,
|
||||||
, expat, zlib,
|
bsdSetupHook,
|
||||||
|
freebsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
boot-install,
|
||||||
|
which,
|
||||||
|
freebsd-lib,
|
||||||
|
expat,
|
||||||
|
zlib,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -13,90 +20,95 @@ in
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "compat";
|
pname = "compat";
|
||||||
path = "tools/build";
|
path = "tools/build";
|
||||||
extraPaths = [
|
extraPaths =
|
||||||
"lib/libc/db"
|
[
|
||||||
"lib/libc/stdlib" # getopt
|
"lib/libc/db"
|
||||||
"lib/libc/gen" # getcap
|
"lib/libc/stdlib" # getopt
|
||||||
"lib/libc/locale" # rpmatch
|
"lib/libc/gen" # getcap
|
||||||
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
"lib/libc/locale" # rpmatch
|
||||||
"lib/libc/string" # strlcpy
|
]
|
||||||
"lib/libutil"
|
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||||
] ++ [
|
"lib/libc/string" # strlcpy
|
||||||
"contrib/libc-pwcache"
|
"lib/libutil"
|
||||||
"contrib/libc-vis"
|
]
|
||||||
"sys/libkern"
|
++ [
|
||||||
"sys/kern/subr_capability.c"
|
"contrib/libc-pwcache"
|
||||||
|
"contrib/libc-vis"
|
||||||
|
"sys/libkern"
|
||||||
|
"sys/kern/subr_capability.c"
|
||||||
|
|
||||||
# Take only individual headers, or else we will clobber native libc, etc.
|
# Take only individual headers, or else we will clobber native libc, etc.
|
||||||
|
|
||||||
"sys/rpc/types.h"
|
"sys/rpc/types.h"
|
||||||
|
|
||||||
# Listed in Makekfile as INC
|
# Listed in Makekfile as INC
|
||||||
"include/mpool.h"
|
"include/mpool.h"
|
||||||
"include/ndbm.h"
|
"include/ndbm.h"
|
||||||
"include/err.h"
|
"include/err.h"
|
||||||
"include/stringlist.h"
|
"include/stringlist.h"
|
||||||
"include/a.out.h"
|
"include/a.out.h"
|
||||||
"include/nlist.h"
|
"include/nlist.h"
|
||||||
"include/db.h"
|
"include/db.h"
|
||||||
"include/getopt.h"
|
"include/getopt.h"
|
||||||
"include/nl_types.h"
|
"include/nl_types.h"
|
||||||
"include/elf.h"
|
"include/elf.h"
|
||||||
"sys/sys/ctf.h"
|
"sys/sys/ctf.h"
|
||||||
|
|
||||||
# Listed in Makekfile as SYSINC
|
# Listed in Makekfile as SYSINC
|
||||||
|
|
||||||
"sys/sys/capsicum.h"
|
"sys/sys/capsicum.h"
|
||||||
"sys/sys/caprights.h"
|
"sys/sys/caprights.h"
|
||||||
"sys/sys/imgact_aout.h"
|
"sys/sys/imgact_aout.h"
|
||||||
"sys/sys/nlist_aout.h"
|
"sys/sys/nlist_aout.h"
|
||||||
"sys/sys/nv.h"
|
"sys/sys/nv.h"
|
||||||
"sys/sys/dnv.h"
|
"sys/sys/dnv.h"
|
||||||
"sys/sys/cnv.h"
|
"sys/sys/cnv.h"
|
||||||
|
|
||||||
"sys/sys/elf32.h"
|
"sys/sys/elf32.h"
|
||||||
"sys/sys/elf64.h"
|
"sys/sys/elf64.h"
|
||||||
"sys/sys/elf_common.h"
|
"sys/sys/elf_common.h"
|
||||||
"sys/sys/elf_generic.h"
|
"sys/sys/elf_generic.h"
|
||||||
"sys/${mkBsdArch stdenv}/include"
|
"sys/${mkBsdArch stdenv}/include"
|
||||||
] ++ lib.optionals stdenv.hostPlatform.isx86 [
|
]
|
||||||
"sys/x86/include"
|
++ lib.optionals stdenv.hostPlatform.isx86 [ "sys/x86/include" ]
|
||||||
] ++ [
|
++ [
|
||||||
|
|
||||||
"sys/sys/queue.h"
|
"sys/sys/queue.h"
|
||||||
"sys/sys/md5.h"
|
"sys/sys/md5.h"
|
||||||
"sys/sys/sbuf.h"
|
"sys/sys/sbuf.h"
|
||||||
"sys/sys/tree.h"
|
"sys/sys/tree.h"
|
||||||
"sys/sys/font.h"
|
"sys/sys/font.h"
|
||||||
"sys/sys/consio.h"
|
"sys/sys/consio.h"
|
||||||
"sys/sys/fnv_hash.h"
|
"sys/sys/fnv_hash.h"
|
||||||
|
|
||||||
"sys/crypto/chacha20/_chacha.h"
|
"sys/crypto/chacha20/_chacha.h"
|
||||||
"sys/crypto/chacha20/chacha.h"
|
"sys/crypto/chacha20/chacha.h"
|
||||||
# included too, despite ".c"
|
# included too, despite ".c"
|
||||||
"sys/crypto/chacha20/chacha.c"
|
"sys/crypto/chacha20/chacha.c"
|
||||||
|
|
||||||
"sys/fs"
|
"sys/fs"
|
||||||
"sys/ufs"
|
"sys/ufs"
|
||||||
"sys/sys/disk"
|
"sys/sys/disk"
|
||||||
|
|
||||||
"lib/libcapsicum"
|
"lib/libcapsicum"
|
||||||
"lib/libcasper"
|
"lib/libcasper"
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
/${patchesRoot}/compat-install-dirs.patch
|
/${patchesRoot}/compat-install-dirs.patch
|
||||||
/${patchesRoot}/compat-fix-typedefs-locations.patch
|
/${patchesRoot}/compat-fix-typedefs-locations.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
preBuild = ''
|
preBuild =
|
||||||
NIX_CFLAGS_COMPILE+=' -I../../include -I../../sys'
|
''
|
||||||
|
NIX_CFLAGS_COMPILE+=' -I../../include -I../../sys'
|
||||||
|
|
||||||
cp ../../sys/${mkBsdArch stdenv}/include/elf.h ../../sys/sys
|
cp ../../sys/${mkBsdArch stdenv}/include/elf.h ../../sys/sys
|
||||||
cp ../../sys/${mkBsdArch stdenv}/include/elf.h ../../sys/sys/${mkBsdArch stdenv}
|
cp ../../sys/${mkBsdArch stdenv}/include/elf.h ../../sys/sys/${mkBsdArch stdenv}
|
||||||
'' + lib.optionalString stdenv.hostPlatform.isx86 ''
|
''
|
||||||
cp ../../sys/x86/include/elf.h ../../sys/x86
|
+ lib.optionalString stdenv.hostPlatform.isx86 ''
|
||||||
'';
|
cp ../../sys/x86/include/elf.h ../../sys/x86
|
||||||
|
'';
|
||||||
|
|
||||||
setupHooks = [
|
setupHooks = [
|
||||||
../../../../../build-support/setup-hooks/role.bash
|
../../../../../build-support/setup-hooks/role.bash
|
||||||
|
@ -109,13 +121,17 @@ mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
|
freebsdSetupHook
|
||||||
makeMinimal
|
makeMinimal
|
||||||
boot-install
|
boot-install
|
||||||
|
|
||||||
which
|
which
|
||||||
];
|
];
|
||||||
buildInputs = [ expat zlib ];
|
buildInputs = [
|
||||||
|
expat
|
||||||
|
zlib
|
||||||
|
];
|
||||||
|
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
"STRIP=-s" # flag to install, not command
|
"STRIP=-s" # flag to install, not command
|
||||||
|
@ -124,12 +140,15 @@ mkDerivation rec {
|
||||||
"INSTALL=boot-install"
|
"INSTALL=boot-install"
|
||||||
];
|
];
|
||||||
|
|
||||||
preIncludes = ''
|
preIncludes =
|
||||||
mkdir -p $out/{0,1}-include
|
''
|
||||||
cp --no-preserve=mode -r cross-build/include/common/* $out/0-include
|
mkdir -p $out/{0,1}-include
|
||||||
'' + lib.optionalString stdenv.hostPlatform.isLinux ''
|
cp --no-preserve=mode -r cross-build/include/common/* $out/0-include
|
||||||
cp --no-preserve=mode -r cross-build/include/linux/* $out/1-include
|
''
|
||||||
'' + lib.optionalString stdenv.hostPlatform.isDarwin ''
|
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||||
cp --no-preserve=mode -r cross-build/include/darwin/* $out/1-include
|
cp --no-preserve=mode -r cross-build/include/linux/* $out/1-include
|
||||||
'';
|
''
|
||||||
|
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||||
|
cp --no-preserve=mode -r cross-build/include/darwin/* $out/1-include
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,35 @@
|
||||||
{ mkDerivation
|
{
|
||||||
, bsdSetupHook, freebsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal, install, mandoc, groff
|
bsdSetupHook,
|
||||||
, flex, byacc, file2c
|
freebsdSetupHook,
|
||||||
, compatIfNeeded, libnv, libsbuf
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
|
flex,
|
||||||
|
byacc,
|
||||||
|
file2c,
|
||||||
|
compatIfNeeded,
|
||||||
|
libnv,
|
||||||
|
libsbuf,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "usr.sbin/config";
|
path = "usr.sbin/config";
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
makeMinimal install mandoc groff
|
freebsdSetupHook
|
||||||
|
makeMinimal
|
||||||
|
install
|
||||||
|
mandoc
|
||||||
|
groff
|
||||||
|
|
||||||
flex byacc file2c
|
flex
|
||||||
|
byacc
|
||||||
|
file2c
|
||||||
|
];
|
||||||
|
buildInputs = compatIfNeeded ++ [
|
||||||
|
libnv
|
||||||
|
libsbuf
|
||||||
];
|
];
|
||||||
buildInputs = compatIfNeeded ++ [ libnv libsbuf ];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,14 @@
|
||||||
{ lib, mkDerivation
|
{
|
||||||
, bsdSetupHook, freebsdSetupHook
|
lib,
|
||||||
, makeMinimal
|
mkDerivation,
|
||||||
, install
|
bsdSetupHook,
|
||||||
, flex, byacc, gencat
|
freebsdSetupHook,
|
||||||
, include
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
flex,
|
||||||
|
byacc,
|
||||||
|
gencat,
|
||||||
|
include,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -13,11 +18,14 @@ mkDerivation {
|
||||||
"lib/libc/include/libc_private.h"
|
"lib/libc/include/libc_private.h"
|
||||||
];
|
];
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
|
freebsdSetupHook
|
||||||
makeMinimal
|
makeMinimal
|
||||||
install
|
install
|
||||||
|
|
||||||
flex byacc gencat
|
flex
|
||||||
|
byacc
|
||||||
|
gencat
|
||||||
];
|
];
|
||||||
buildInputs = [ include ];
|
buildInputs = [ include ];
|
||||||
MK_TESTS = "no";
|
MK_TESTS = "no";
|
||||||
|
|
|
@ -1,7 +1,18 @@
|
||||||
{ lib, stdenv, mkDerivation
|
{
|
||||||
, bsdSetupHook, freebsdSetupHook
|
lib,
|
||||||
, makeMinimal, install, mandoc, groff
|
stdenv,
|
||||||
, compatIfNeeded, libelf, libdwarf, zlib, libspl
|
mkDerivation,
|
||||||
|
bsdSetupHook,
|
||||||
|
freebsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
|
compatIfNeeded,
|
||||||
|
libelf,
|
||||||
|
libdwarf,
|
||||||
|
zlib,
|
||||||
|
libspl,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -16,13 +27,20 @@ mkDerivation {
|
||||||
OPENSOLARIS_USR_DISTDIR = "$(SRCTOP)/cddl/contrib/opensolaris";
|
OPENSOLARIS_USR_DISTDIR = "$(SRCTOP)/cddl/contrib/opensolaris";
|
||||||
OPENSOLARIS_SYS_DISTDIR = "$(SRCTOP)/sys/cddl/contrib/opensolaris";
|
OPENSOLARIS_SYS_DISTDIR = "$(SRCTOP)/sys/cddl/contrib/opensolaris";
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
makeMinimal install mandoc groff
|
freebsdSetupHook
|
||||||
|
makeMinimal
|
||||||
|
install
|
||||||
|
mandoc
|
||||||
|
groff
|
||||||
|
|
||||||
# flex byacc file2c
|
# flex byacc file2c
|
||||||
];
|
];
|
||||||
buildInputs = compatIfNeeded ++ [
|
buildInputs = compatIfNeeded ++ [
|
||||||
libelf libdwarf zlib libspl
|
libelf
|
||||||
|
libdwarf
|
||||||
|
zlib
|
||||||
|
libspl
|
||||||
];
|
];
|
||||||
meta.license = lib.licenses.cddl;
|
meta.license = lib.licenses.cddl;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
{ makeSetupHook }:
|
{ makeSetupHook }:
|
||||||
|
|
||||||
makeSetupHook {
|
makeSetupHook { name = "freebsd-setup-hook"; } ./setup-hook.sh
|
||||||
name = "freebsd-setup-hook";
|
|
||||||
} ./setup-hook.sh
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
{ mkDerivation }:
|
{ mkDerivation }:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation { path = "usr.bin/gencat"; }
|
||||||
path = "usr.bin/gencat";
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,9 +1,16 @@
|
||||||
{ lib, mkDerivation, patchesRoot
|
{
|
||||||
, buildPackages
|
lib,
|
||||||
, bsdSetupHook, freebsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal
|
patchesRoot,
|
||||||
, install
|
buildPackages,
|
||||||
, mandoc, groff, rsync /*, nbperf*/, rpcgen
|
bsdSetupHook,
|
||||||
|
freebsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
|
rsync, # , nbperf
|
||||||
|
rpcgen,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -15,19 +22,21 @@ mkDerivation {
|
||||||
"sys"
|
"sys"
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
|
freebsdSetupHook
|
||||||
makeMinimal
|
makeMinimal
|
||||||
install
|
install
|
||||||
mandoc groff rsync /*nbperf*/ rpcgen
|
mandoc
|
||||||
|
groff
|
||||||
|
rsync # nbperf
|
||||||
|
rpcgen
|
||||||
|
|
||||||
# HACK use NetBSD's for now
|
# HACK use NetBSD's for now
|
||||||
buildPackages.netbsd.mtree
|
buildPackages.netbsd.mtree
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
patches = [ /${patchesRoot}/no-perms-BSD.include.dist.patch ];
|
||||||
/${patchesRoot}/no-perms-BSD.include.dist.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
# The makefiles define INCSDIR per subdirectory, so we have to set
|
# The makefiles define INCSDIR per subdirectory, so we have to set
|
||||||
# something else on the command line so those definitions aren't
|
# something else on the command line so those definitions aren't
|
||||||
|
@ -39,9 +48,7 @@ mkDerivation {
|
||||||
{} \;
|
{} \;
|
||||||
'';
|
'';
|
||||||
|
|
||||||
makeFlags = [
|
makeFlags = [ "RPCGEN_CPP=${buildPackages.stdenv.cc.cc}/bin/cpp" ];
|
||||||
"RPCGEN_CPP=${buildPackages.stdenv.cc.cc}/bin/cpp"
|
|
||||||
];
|
|
||||||
|
|
||||||
# multiple header dirs, see above
|
# multiple header dirs, see above
|
||||||
postConfigure = ''
|
postConfigure = ''
|
||||||
|
|
|
@ -1,31 +1,49 @@
|
||||||
{ lib, stdenv, mkDerivation, writeShellScript
|
{
|
||||||
, freebsd-lib
|
lib,
|
||||||
, mtree
|
stdenv,
|
||||||
, bsdSetupHook, freebsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal, mandoc, groff
|
writeShellScript,
|
||||||
, boot-install, install
|
freebsd-lib,
|
||||||
, compatIfNeeded, libmd, libnetbsd
|
mtree,
|
||||||
|
bsdSetupHook,
|
||||||
|
freebsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
|
boot-install,
|
||||||
|
install,
|
||||||
|
compatIfNeeded,
|
||||||
|
libmd,
|
||||||
|
libnetbsd,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
# HACK: to ensure parent directories exist. This emulates GNU
|
# HACK: to ensure parent directories exist. This emulates GNU
|
||||||
# install’s -D option. No alternative seems to exist in BSD install.
|
# install’s -D option. No alternative seems to exist in BSD install.
|
||||||
let
|
let
|
||||||
binstall = writeShellScript "binstall" (freebsd-lib.install-wrapper + ''
|
binstall = writeShellScript "binstall" (
|
||||||
|
freebsd-lib.install-wrapper
|
||||||
|
+ ''
|
||||||
|
|
||||||
@out@/bin/xinstall "''${args[@]}"
|
@out@/bin/xinstall "''${args[@]}"
|
||||||
'');
|
''
|
||||||
in mkDerivation {
|
);
|
||||||
|
in
|
||||||
|
mkDerivation {
|
||||||
path = "usr.bin/xinstall";
|
path = "usr.bin/xinstall";
|
||||||
extraPaths = [ mtree.path ];
|
extraPaths = [ mtree.path ];
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
makeMinimal mandoc groff
|
freebsdSetupHook
|
||||||
(if stdenv.hostPlatform == stdenv.buildPlatform
|
makeMinimal
|
||||||
then boot-install
|
mandoc
|
||||||
else install)
|
groff
|
||||||
|
(if stdenv.hostPlatform == stdenv.buildPlatform then boot-install else install)
|
||||||
];
|
];
|
||||||
skipIncludesPhase = true;
|
skipIncludesPhase = true;
|
||||||
buildInputs = compatIfNeeded ++ [ libmd libnetbsd ];
|
buildInputs = compatIfNeeded ++ [
|
||||||
|
libmd
|
||||||
|
libnetbsd
|
||||||
|
];
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
"STRIP=-s" # flag to install, not command
|
"STRIP=-s" # flag to install, not command
|
||||||
"MK_WERROR=no"
|
"MK_WERROR=no"
|
||||||
|
@ -37,5 +55,9 @@ in mkDerivation {
|
||||||
mv $out/bin/install $out/bin/xinstall
|
mv $out/bin/install $out/bin/xinstall
|
||||||
ln -s ./binstall $out/bin/install
|
ln -s ./binstall $out/bin/install
|
||||||
'';
|
'';
|
||||||
outputs = [ "out" "man" "test" ];
|
outputs = [
|
||||||
|
"out"
|
||||||
|
"man"
|
||||||
|
"test"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,20 @@
|
||||||
{ lib, stdenv, mkDerivation
|
{
|
||||||
, patchesRoot
|
lib,
|
||||||
|
stdenv,
|
||||||
|
mkDerivation,
|
||||||
|
patchesRoot,
|
||||||
|
|
||||||
, bsdSetupHook, freebsdSetupHook
|
bsdSetupHook,
|
||||||
, makeMinimal
|
freebsdSetupHook,
|
||||||
, install
|
makeMinimal,
|
||||||
, flex, byacc, gencat, rpcgen
|
install,
|
||||||
|
flex,
|
||||||
|
byacc,
|
||||||
|
gencat,
|
||||||
|
rpcgen,
|
||||||
|
|
||||||
, csu, include
|
csu,
|
||||||
|
include,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
|
@ -63,13 +71,20 @@ mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
|
freebsdSetupHook
|
||||||
makeMinimal
|
makeMinimal
|
||||||
install
|
install
|
||||||
|
|
||||||
flex byacc gencat rpcgen
|
flex
|
||||||
|
byacc
|
||||||
|
gencat
|
||||||
|
rpcgen
|
||||||
|
];
|
||||||
|
buildInputs = [
|
||||||
|
include
|
||||||
|
csu
|
||||||
];
|
];
|
||||||
buildInputs = [ include csu ];
|
|
||||||
env.NIX_CFLAGS_COMPILE = "-B${csu}/lib";
|
env.NIX_CFLAGS_COMPILE = "-B${csu}/lib";
|
||||||
|
|
||||||
# Suppress lld >= 16 undefined version errors
|
# Suppress lld >= 16 undefined version errors
|
||||||
|
|
|
@ -1,8 +1,16 @@
|
||||||
{ lib, stdenv, mkDerivation
|
{
|
||||||
, bsdSetupHook, freebsdSetupHook
|
lib,
|
||||||
, makeMinimal, install, mandoc, groff
|
stdenv,
|
||||||
, m4
|
mkDerivation,
|
||||||
, compatIfNeeded, libelf
|
bsdSetupHook,
|
||||||
|
freebsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
|
m4,
|
||||||
|
compatIfNeeded,
|
||||||
|
libelf,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -15,13 +23,15 @@ mkDerivation {
|
||||||
"sys/sys/elf_common.h"
|
"sys/sys/elf_common.h"
|
||||||
];
|
];
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
makeMinimal install mandoc groff
|
freebsdSetupHook
|
||||||
|
makeMinimal
|
||||||
|
install
|
||||||
|
mandoc
|
||||||
|
groff
|
||||||
|
|
||||||
m4
|
m4
|
||||||
];
|
];
|
||||||
buildInputs = compatIfNeeded ++ [
|
buildInputs = compatIfNeeded ++ [ libelf ];
|
||||||
libelf
|
|
||||||
];
|
|
||||||
MK_TESTS = "no";
|
MK_TESTS = "no";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
{ lib, stdenv, mkDerivation
|
{
|
||||||
, bsdSetupHook, freebsdSetupHook
|
lib,
|
||||||
, makeMinimal, install, mandoc, groff
|
stdenv,
|
||||||
, m4
|
mkDerivation,
|
||||||
|
bsdSetupHook,
|
||||||
|
freebsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
|
m4,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -15,8 +22,12 @@ mkDerivation {
|
||||||
];
|
];
|
||||||
BOOTSTRAPPING = !stdenv.isFreeBSD;
|
BOOTSTRAPPING = !stdenv.isFreeBSD;
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
makeMinimal install mandoc groff
|
freebsdSetupHook
|
||||||
|
makeMinimal
|
||||||
|
install
|
||||||
|
mandoc
|
||||||
|
groff
|
||||||
|
|
||||||
m4
|
m4
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,18 +1,27 @@
|
||||||
{ lib, stdenv
|
{
|
||||||
, mkDerivation, patchesRoot
|
lib,
|
||||||
, bsdSetupHook, freebsdSetupHook, makeMinimal, mandoc, groff
|
stdenv,
|
||||||
, boot-install, install
|
mkDerivation,
|
||||||
, compatIfNeeded
|
patchesRoot,
|
||||||
|
bsdSetupHook,
|
||||||
|
freebsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
|
boot-install,
|
||||||
|
install,
|
||||||
|
compatIfNeeded,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "lib/libnetbsd";
|
path = "lib/libnetbsd";
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
makeMinimal mandoc groff
|
freebsdSetupHook
|
||||||
(if stdenv.hostPlatform == stdenv.buildPlatform
|
makeMinimal
|
||||||
then boot-install
|
mandoc
|
||||||
else install)
|
groff
|
||||||
|
(if stdenv.hostPlatform == stdenv.buildPlatform then boot-install else install)
|
||||||
];
|
];
|
||||||
patches = lib.optionals (!stdenv.hostPlatform.isFreeBSD) [
|
patches = lib.optionals (!stdenv.hostPlatform.isFreeBSD) [
|
||||||
/${patchesRoot}/libnetbsd-do-install.patch
|
/${patchesRoot}/libnetbsd-do-install.patch
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "lib/libsbuf";
|
path = "lib/libsbuf";
|
||||||
extraPaths = [
|
extraPaths = [ "sys/kern" ];
|
||||||
"sys/kern"
|
|
||||||
];
|
|
||||||
MK_TESTS = "no";
|
MK_TESTS = "no";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
{ mkDerivation, lib, stdenv }:
|
{
|
||||||
|
mkDerivation,
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
}:
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "lib/libutil";
|
path = "lib/libutil";
|
||||||
extraPaths = ["lib/libc/gen"];
|
extraPaths = [ "lib/libc/gen" ];
|
||||||
clangFixup = true;
|
clangFixup = true;
|
||||||
MK_TESTS = "no";
|
MK_TESTS = "no";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{ mkDerivation
|
{
|
||||||
, bsdSetupHook, freebsdSetupHook
|
mkDerivation,
|
||||||
|
bsdSetupHook,
|
||||||
|
freebsdSetupHook,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
|
@ -13,8 +15,12 @@ mkDerivation rec {
|
||||||
mv "lorder.1" "$man/share/man"
|
mv "lorder.1" "$man/share/man"
|
||||||
'';
|
'';
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
|
freebsdSetupHook
|
||||||
|
];
|
||||||
|
buildInputs = [ ];
|
||||||
|
outputs = [
|
||||||
|
"out"
|
||||||
|
"man"
|
||||||
];
|
];
|
||||||
buildInputs = [];
|
|
||||||
outputs = [ "out" "man" ];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,20 +1,25 @@
|
||||||
{ lib, mkDerivation, stdenv }:
|
{
|
||||||
|
lib,
|
||||||
|
mkDerivation,
|
||||||
|
stdenv,
|
||||||
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "contrib/bmake";
|
path = "contrib/bmake";
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
postPatch = ''
|
postPatch =
|
||||||
# make needs this to pick up our sys make files
|
''
|
||||||
export NIX_CFLAGS_COMPILE+=" -D_PATH_DEFSYSPATH=\"$out/share/mk\""
|
# make needs this to pick up our sys make files
|
||||||
|
export NIX_CFLAGS_COMPILE+=" -D_PATH_DEFSYSPATH=\"$out/share/mk\""
|
||||||
|
|
||||||
'' + lib.optionalString stdenv.isDarwin ''
|
''
|
||||||
substituteInPlace $BSDSRCDIR/share/mk/bsd.sys.mk \
|
+ lib.optionalString stdenv.isDarwin ''
|
||||||
--replace '-Wl,--fatal-warnings' "" \
|
substituteInPlace $BSDSRCDIR/share/mk/bsd.sys.mk \
|
||||||
--replace '-Wl,--warn-shared-textrel' ""
|
--replace '-Wl,--fatal-warnings' "" \
|
||||||
'';
|
--replace '-Wl,--warn-shared-textrel' ""
|
||||||
|
'';
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
make -C $BSDSRCDIR/share/mk FILESDIR=$out/share/mk install
|
make -C $BSDSRCDIR/share/mk FILESDIR=$out/share/mk install
|
||||||
'';
|
'';
|
||||||
extraPaths = [ "share/mk" ]
|
extraPaths = [ "share/mk" ] ++ lib.optional (!stdenv.hostPlatform.isFreeBSD) "tools/build/mk";
|
||||||
++ lib.optional (!stdenv.hostPlatform.isFreeBSD) "tools/build/mk";
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,24 @@
|
||||||
{ lib, stdenv, mkDerivation
|
{
|
||||||
, make
|
lib,
|
||||||
, bsdSetupHook, freebsdSetupHook
|
stdenv,
|
||||||
|
mkDerivation,
|
||||||
|
make,
|
||||||
|
bsdSetupHook,
|
||||||
|
freebsdSetupHook,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
inherit (make) path;
|
inherit (make) path;
|
||||||
|
|
||||||
buildInputs = [];
|
buildInputs = [ ];
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
|
freebsdSetupHook
|
||||||
];
|
];
|
||||||
|
|
||||||
skipIncludesPhase = true;
|
skipIncludesPhase = true;
|
||||||
|
|
||||||
makeFlags = [];
|
makeFlags = [ ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs configure
|
patchShebangs configure
|
||||||
|
|
|
@ -1,78 +1,99 @@
|
||||||
{ lib, stdenv, stdenvNoCC
|
{
|
||||||
, compatIfNeeded
|
lib,
|
||||||
, runCommand, rsync
|
stdenv,
|
||||||
, freebsd-lib
|
stdenvNoCC,
|
||||||
, source
|
compatIfNeeded,
|
||||||
, bsdSetupHook, freebsdSetupHook
|
runCommand,
|
||||||
, makeMinimal
|
rsync,
|
||||||
, install, tsort, lorder, mandoc, groff
|
freebsd-lib,
|
||||||
|
source,
|
||||||
|
bsdSetupHook,
|
||||||
|
freebsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
tsort,
|
||||||
|
lorder,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
lib.makeOverridable (attrs: let
|
lib.makeOverridable (
|
||||||
stdenv' = if attrs.noCC or false then stdenvNoCC else stdenv;
|
attrs:
|
||||||
in stdenv'.mkDerivation (rec {
|
let
|
||||||
pname = "${attrs.pname or (baseNameOf attrs.path)}-freebsd";
|
stdenv' = if attrs.noCC or false then stdenvNoCC else stdenv;
|
||||||
inherit (freebsd-lib) version;
|
in
|
||||||
src = runCommand "${pname}-filtered-src" {
|
stdenv'.mkDerivation (
|
||||||
nativeBuildInputs = [ rsync ];
|
rec {
|
||||||
} ''
|
pname = "${attrs.pname or (baseNameOf attrs.path)}-freebsd";
|
||||||
for p in ${lib.concatStringsSep " " ([ attrs.path ] ++ attrs.extraPaths or [])}; do
|
inherit (freebsd-lib) version;
|
||||||
set -x
|
src = runCommand "${pname}-filtered-src" { nativeBuildInputs = [ rsync ]; } ''
|
||||||
path="$out/$p"
|
for p in ${lib.concatStringsSep " " ([ attrs.path ] ++ attrs.extraPaths or [ ])}; do
|
||||||
mkdir -p "$(dirname "$path")"
|
set -x
|
||||||
src_path="${source}/$p"
|
path="$out/$p"
|
||||||
if [[ -d "$src_path" ]]; then src_path+=/; fi
|
mkdir -p "$(dirname "$path")"
|
||||||
rsync --chmod="+w" -r "$src_path" "$path"
|
src_path="${source}/$p"
|
||||||
set +x
|
if [[ -d "$src_path" ]]; then src_path+=/; fi
|
||||||
done
|
rsync --chmod="+w" -r "$src_path" "$path"
|
||||||
'';
|
set +x
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
extraPaths = [ ];
|
extraPaths = [ ];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
makeMinimal
|
freebsdSetupHook
|
||||||
install tsort lorder mandoc groff #statHook
|
makeMinimal
|
||||||
];
|
install
|
||||||
buildInputs = compatIfNeeded;
|
tsort
|
||||||
|
lorder
|
||||||
|
mandoc
|
||||||
|
groff # statHook
|
||||||
|
];
|
||||||
|
buildInputs = compatIfNeeded;
|
||||||
|
|
||||||
HOST_SH = stdenv'.shell;
|
HOST_SH = stdenv'.shell;
|
||||||
|
|
||||||
# Since STRIP below is the flag
|
# Since STRIP below is the flag
|
||||||
STRIPBIN = "${stdenv.cc.bintools.targetPrefix}strip";
|
STRIPBIN = "${stdenv.cc.bintools.targetPrefix}strip";
|
||||||
|
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
"STRIP=-s" # flag to install, not command
|
"STRIP=-s" # flag to install, not command
|
||||||
] ++ lib.optional (!stdenv.hostPlatform.isFreeBSD) "MK_WERROR=no";
|
] ++ lib.optional (!stdenv.hostPlatform.isFreeBSD) "MK_WERROR=no";
|
||||||
|
|
||||||
# amd64 not x86_64 for this on unlike NetBSD
|
# amd64 not x86_64 for this on unlike NetBSD
|
||||||
MACHINE_ARCH = freebsd-lib.mkBsdArch stdenv';
|
MACHINE_ARCH = freebsd-lib.mkBsdArch stdenv';
|
||||||
|
|
||||||
MACHINE = freebsd-lib.mkBsdArch stdenv';
|
MACHINE = freebsd-lib.mkBsdArch stdenv';
|
||||||
|
|
||||||
MACHINE_CPUARCH = MACHINE_ARCH;
|
MACHINE_CPUARCH = MACHINE_ARCH;
|
||||||
|
|
||||||
COMPONENT_PATH = attrs.path or null;
|
COMPONENT_PATH = attrs.path or null;
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
maintainers = with maintainers; [ ericson2314 ];
|
maintainers = with maintainers; [ ericson2314 ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
license = licenses.bsd2;
|
license = licenses.bsd2;
|
||||||
};
|
};
|
||||||
} // lib.optionalAttrs stdenv'.hasCC {
|
}
|
||||||
# TODO should CC wrapper set this?
|
// lib.optionalAttrs stdenv'.hasCC {
|
||||||
CPP = "${stdenv'.cc.targetPrefix}cpp";
|
# TODO should CC wrapper set this?
|
||||||
} // lib.optionalAttrs stdenv'.isDarwin {
|
CPP = "${stdenv'.cc.targetPrefix}cpp";
|
||||||
MKRELRO = "no";
|
}
|
||||||
} // lib.optionalAttrs (stdenv'.cc.isClang or false) {
|
// lib.optionalAttrs stdenv'.isDarwin { MKRELRO = "no"; }
|
||||||
HAVE_LLVM = lib.versions.major (lib.getVersion stdenv'.cc.cc);
|
// lib.optionalAttrs (stdenv'.cc.isClang or false) {
|
||||||
} // lib.optionalAttrs (stdenv'.cc.isGNU or false) {
|
HAVE_LLVM = lib.versions.major (lib.getVersion stdenv'.cc.cc);
|
||||||
HAVE_GCC = lib.versions.major (lib.getVersion stdenv'.cc.cc);
|
}
|
||||||
} // lib.optionalAttrs (stdenv'.isx86_32) {
|
// lib.optionalAttrs (stdenv'.cc.isGNU or false) {
|
||||||
USE_SSP = "no";
|
HAVE_GCC = lib.versions.major (lib.getVersion stdenv'.cc.cc);
|
||||||
} // lib.optionalAttrs (attrs.headersOnly or false) {
|
}
|
||||||
installPhase = "includesPhase";
|
// lib.optionalAttrs (stdenv'.isx86_32) { USE_SSP = "no"; }
|
||||||
dontBuild = true;
|
// lib.optionalAttrs (attrs.headersOnly or false) {
|
||||||
} // attrs))
|
installPhase = "includesPhase";
|
||||||
|
dontBuild = true;
|
||||||
|
}
|
||||||
|
// attrs
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
{ mkDerivation }:
|
{ mkDerivation }:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation { path = "sbin/mknod"; }
|
||||||
path = "sbin/mknod";
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ lib, mkDerivation, stdenv, patchesRoot }:
|
{
|
||||||
|
lib,
|
||||||
|
mkDerivation,
|
||||||
|
stdenv,
|
||||||
|
patchesRoot,
|
||||||
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
path = "usr.bin/rpcgen";
|
path = "usr.bin/rpcgen";
|
||||||
|
|
|
@ -1,13 +1,22 @@
|
||||||
{ mkDerivation
|
{
|
||||||
, bsdSetupHook, freebsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal, install, mandoc, groff
|
bsdSetupHook,
|
||||||
|
freebsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
# Don't add this to nativeBuildInputs directly. Use statHook instead.
|
# Don't add this to nativeBuildInputs directly. Use statHook instead.
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "usr.bin/stat";
|
path = "usr.bin/stat";
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
makeMinimal install mandoc groff
|
freebsdSetupHook
|
||||||
|
makeMinimal
|
||||||
|
install
|
||||||
|
mandoc
|
||||||
|
groff
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,16 @@
|
||||||
{ makeSetupHook, writeText, stat }:
|
{
|
||||||
|
makeSetupHook,
|
||||||
|
writeText,
|
||||||
|
stat,
|
||||||
|
}:
|
||||||
|
|
||||||
# stat isn't in POSIX, and NetBSD stat supports a completely
|
# stat isn't in POSIX, and NetBSD stat supports a completely
|
||||||
# different range of flags than GNU stat, so including it in PATH
|
# different range of flags than GNU stat, so including it in PATH
|
||||||
# breaks stdenv. Work around that with a hook that will point
|
# breaks stdenv. Work around that with a hook that will point
|
||||||
# NetBSD's build system and NetBSD stat without including it in
|
# NetBSD's build system and NetBSD stat without including it in
|
||||||
# PATH.
|
# PATH.
|
||||||
makeSetupHook {
|
makeSetupHook { name = "netbsd-stat-hook"; } (
|
||||||
name = "netbsd-stat-hook";
|
writeText "netbsd-stat-hook-impl" ''
|
||||||
} (writeText "netbsd-stat-hook-impl" ''
|
makeFlagsArray+=(TOOL_STAT=${stat}/bin/stat)
|
||||||
makeFlagsArray+=(TOOL_STAT=${stat}/bin/stat)
|
''
|
||||||
'')
|
)
|
||||||
|
|
|
@ -1,67 +1,92 @@
|
||||||
{ stdenv, mkDerivation, freebsd-lib, patchesRoot
|
{
|
||||||
, buildPackages
|
stdenv,
|
||||||
, bsdSetupHook, freebsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal, install, mandoc, groff
|
freebsd-lib,
|
||||||
, config, rpcgen, file2c, gawk, uudecode, xargs-j #, ctfconvert
|
patchesRoot,
|
||||||
|
buildPackages,
|
||||||
|
bsdSetupHook,
|
||||||
|
freebsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
|
config,
|
||||||
|
rpcgen,
|
||||||
|
file2c,
|
||||||
|
gawk,
|
||||||
|
uudecode,
|
||||||
|
xargs-j, # , ctfconvert
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation (let
|
mkDerivation (
|
||||||
cfg = "MINIMAL";
|
let
|
||||||
in rec {
|
cfg = "MINIMAL";
|
||||||
path = "sys";
|
in
|
||||||
|
rec {
|
||||||
|
path = "sys";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
makeMinimal install mandoc groff
|
freebsdSetupHook
|
||||||
|
makeMinimal
|
||||||
|
install
|
||||||
|
mandoc
|
||||||
|
groff
|
||||||
|
|
||||||
config rpcgen file2c gawk uudecode xargs-j
|
config
|
||||||
#ctfconvert
|
rpcgen
|
||||||
];
|
file2c
|
||||||
|
gawk
|
||||||
|
uudecode
|
||||||
|
xargs-j
|
||||||
|
#ctfconvert
|
||||||
|
];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
/${patchesRoot}/sys-gnu-date.patch
|
/${patchesRoot}/sys-gnu-date.patch
|
||||||
/${patchesRoot}/sys-no-explicit-intrinsics-dep.patch
|
/${patchesRoot}/sys-no-explicit-intrinsics-dep.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
# --dynamic-linker /red/herring is used when building the kernel.
|
# --dynamic-linker /red/herring is used when building the kernel.
|
||||||
NIX_ENFORCE_PURITY = 0;
|
NIX_ENFORCE_PURITY = 0;
|
||||||
|
|
||||||
AWK = "${buildPackages.gawk}/bin/awk";
|
AWK = "${buildPackages.gawk}/bin/awk";
|
||||||
|
|
||||||
CWARNEXTRA = "-Wno-error=shift-negative-value -Wno-address-of-packed-member";
|
CWARNEXTRA = "-Wno-error=shift-negative-value -Wno-address-of-packed-member";
|
||||||
|
|
||||||
MK_CTF = "no";
|
MK_CTF = "no";
|
||||||
|
|
||||||
KODIR = "${builtins.placeholder "out"}/kernel";
|
KODIR = "${builtins.placeholder "out"}/kernel";
|
||||||
KMODDIR = "${builtins.placeholder "out"}/kernel";
|
KMODDIR = "${builtins.placeholder "out"}/kernel";
|
||||||
DTBDIR = "${builtins.placeholder"out"}/dbt";
|
DTBDIR = "${builtins.placeholder "out"}/dbt";
|
||||||
|
|
||||||
KERN_DEBUGDIR = "${builtins.placeholder "out"}/debug";
|
KERN_DEBUGDIR = "${builtins.placeholder "out"}/debug";
|
||||||
KERN_DEBUGDIR_KODIR = "${KERN_DEBUGDIR}/kernel";
|
KERN_DEBUGDIR_KODIR = "${KERN_DEBUGDIR}/kernel";
|
||||||
KERN_DEBUGDIR_KMODDIR = "${KERN_DEBUGDIR}/kernel";
|
KERN_DEBUGDIR_KMODDIR = "${KERN_DEBUGDIR}/kernel";
|
||||||
|
|
||||||
skipIncludesPhase = true;
|
skipIncludesPhase = true;
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
runHook preConfigure
|
runHook preConfigure
|
||||||
|
|
||||||
for f in conf/kmod.mk contrib/dev/acpica/acpica_prep.sh; do
|
for f in conf/kmod.mk contrib/dev/acpica/acpica_prep.sh; do
|
||||||
substituteInPlace "$f" --replace 'xargs -J' 'xargs-j '
|
substituteInPlace "$f" --replace 'xargs -J' 'xargs-j '
|
||||||
done
|
done
|
||||||
|
|
||||||
for f in conf/*.mk; do
|
for f in conf/*.mk; do
|
||||||
substituteInPlace "$f" --replace 'KERN_DEBUGDIR}''${' 'KERN_DEBUGDIR_'
|
substituteInPlace "$f" --replace 'KERN_DEBUGDIR}''${' 'KERN_DEBUGDIR_'
|
||||||
done
|
done
|
||||||
|
|
||||||
cd ${freebsd-lib.mkBsdArch stdenv}/conf
|
cd ${freebsd-lib.mkBsdArch stdenv}/conf
|
||||||
sed -i ${cfg} \
|
sed -i ${cfg} \
|
||||||
-e 's/WITH_CTF=1/WITH_CTF=0/' \
|
-e 's/WITH_CTF=1/WITH_CTF=0/' \
|
||||||
-e '/KDTRACE/d'
|
-e '/KDTRACE/d'
|
||||||
config ${cfg}
|
config ${cfg}
|
||||||
|
|
||||||
runHook postConfigure
|
runHook postConfigure
|
||||||
'';
|
'';
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
cd ../compile/${cfg}
|
cd ../compile/${cfg}
|
||||||
'';
|
'';
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
|
@ -1,12 +1,21 @@
|
||||||
{ mkDerivation
|
{
|
||||||
, bsdSetupHook, freebsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal, install, mandoc, groff
|
bsdSetupHook,
|
||||||
|
freebsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "usr.bin/tsort";
|
path = "usr.bin/tsort";
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook freebsdSetupHook
|
bsdSetupHook
|
||||||
makeMinimal install mandoc groff
|
freebsdSetupHook
|
||||||
|
makeMinimal
|
||||||
|
install
|
||||||
|
mandoc
|
||||||
|
groff
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,137 +1,187 @@
|
||||||
{ stdenv, lib, stdenvNoCC
|
{
|
||||||
, makeScopeWithSplicing', generateSplicesForMkScope
|
stdenv,
|
||||||
, buildPackages
|
lib,
|
||||||
, fetchcvs
|
stdenvNoCC,
|
||||||
|
makeScopeWithSplicing',
|
||||||
|
generateSplicesForMkScope,
|
||||||
|
buildPackages,
|
||||||
|
fetchcvs,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
makeScopeWithSplicing' {
|
makeScopeWithSplicing' {
|
||||||
otherSplices = generateSplicesForMkScope "netbsd";
|
otherSplices = generateSplicesForMkScope "netbsd";
|
||||||
f = (self: lib.packagesFromDirectoryRecursive {
|
f = (
|
||||||
callPackage = self.callPackage;
|
self:
|
||||||
directory = ./pkgs;
|
lib.packagesFromDirectoryRecursive {
|
||||||
} // {
|
callPackage = self.callPackage;
|
||||||
|
directory = ./pkgs;
|
||||||
|
}
|
||||||
|
// {
|
||||||
|
|
||||||
fetchNetBSD = path: version: sha256: fetchcvs {
|
fetchNetBSD =
|
||||||
cvsRoot = ":pserver:anoncvs@anoncvs.NetBSD.org:/cvsroot";
|
path: version: sha256:
|
||||||
module = "src/${path}";
|
fetchcvs {
|
||||||
inherit sha256;
|
cvsRoot = ":pserver:anoncvs@anoncvs.NetBSD.org:/cvsroot";
|
||||||
tag = "netbsd-${lib.replaceStrings ["."] ["-"] version}-RELEASE";
|
module = "src/${path}";
|
||||||
};
|
inherit sha256;
|
||||||
|
tag = "netbsd-${lib.replaceStrings [ "." ] [ "-" ] version}-RELEASE";
|
||||||
|
};
|
||||||
|
|
||||||
defaultMakeFlags = [
|
defaultMakeFlags = [
|
||||||
"MKSOFTFLOAT=${if stdenv.hostPlatform.gcc.float or (stdenv.hostPlatform.parsed.abi.float or "hard") == "soft"
|
"MKSOFTFLOAT=${
|
||||||
then "yes"
|
if stdenv.hostPlatform.gcc.float or (stdenv.hostPlatform.parsed.abi.float or "hard") == "soft" then
|
||||||
else "no"}"
|
"yes"
|
||||||
];
|
else
|
||||||
|
"no"
|
||||||
|
}"
|
||||||
|
];
|
||||||
|
|
||||||
compatIfNeeded = lib.optional (!stdenvNoCC.hostPlatform.isNetBSD) self.compat;
|
compatIfNeeded = lib.optional (!stdenvNoCC.hostPlatform.isNetBSD) self.compat;
|
||||||
|
|
||||||
# The manual callPackages below should in principle be unnecessary because
|
# The manual callPackages below should in principle be unnecessary because
|
||||||
# they're just selecting arguments that would be selected anyway. However,
|
# they're just selecting arguments that would be selected anyway. However,
|
||||||
# if we don't perform these manual calls, we get infinite recursion issues
|
# if we don't perform these manual calls, we get infinite recursion issues
|
||||||
# because of the splices.
|
# because of the splices.
|
||||||
|
|
||||||
mkDerivation = self.callPackage ./pkgs/mkDerivation.nix {
|
mkDerivation = self.callPackage ./pkgs/mkDerivation.nix {
|
||||||
inherit stdenv stdenvNoCC;
|
inherit stdenv stdenvNoCC;
|
||||||
inherit (buildPackages.netbsd) netbsdSetupHook makeMinimal install tsort lorder;
|
inherit (buildPackages.netbsd)
|
||||||
inherit (buildPackages) mandoc;
|
netbsdSetupHook
|
||||||
inherit (buildPackages.buildPackages) rsync;
|
makeMinimal
|
||||||
|
install
|
||||||
|
tsort
|
||||||
|
lorder
|
||||||
|
;
|
||||||
|
inherit (buildPackages) mandoc;
|
||||||
|
inherit (buildPackages.buildPackages) rsync;
|
||||||
|
};
|
||||||
|
|
||||||
};
|
makeMinimal = self.callPackage ./pkgs/makeMinimal.nix { inherit (self) make; };
|
||||||
|
|
||||||
makeMinimal = self.callPackage ./pkgs/makeMinimal.nix {
|
compat = self.callPackage ./pkgs/compat/package.nix {
|
||||||
inherit (self) make;
|
inherit (buildPackages) coreutils;
|
||||||
};
|
inherit (buildPackages.darwin) cctools-port;
|
||||||
|
inherit (buildPackages.buildPackages) rsync;
|
||||||
|
inherit (buildPackages.netbsd) makeMinimal;
|
||||||
|
inherit (self)
|
||||||
|
install
|
||||||
|
include
|
||||||
|
libc
|
||||||
|
libutil
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
compat = self.callPackage ./pkgs/compat/package.nix {
|
install = self.callPackage ./pkgs/install/package.nix {
|
||||||
inherit (buildPackages) coreutils;
|
inherit (self)
|
||||||
inherit (buildPackages.darwin) cctools-port;
|
fts
|
||||||
inherit (buildPackages.buildPackages) rsync;
|
mtree
|
||||||
inherit (buildPackages.netbsd) makeMinimal;
|
make
|
||||||
inherit (self) install include libc libutil;
|
compatIfNeeded
|
||||||
};
|
;
|
||||||
|
inherit (buildPackages.buildPackages) rsync;
|
||||||
|
inherit (buildPackages.netbsd) makeMinimal;
|
||||||
|
};
|
||||||
|
|
||||||
install = self.callPackage ./pkgs/install/package.nix {
|
# See note in pkgs/stat/package.nix
|
||||||
inherit (self) fts mtree make compatIfNeeded;
|
stat = self.callPackage ./pkgs/stat/package.nix {
|
||||||
inherit (buildPackages.buildPackages) rsync;
|
inherit (buildPackages.netbsd) makeMinimal install;
|
||||||
inherit (buildPackages.netbsd) makeMinimal;
|
inherit (buildPackages.buildPackages) rsync;
|
||||||
};
|
};
|
||||||
|
|
||||||
# See note in pkgs/stat/package.nix
|
# See note in pkgs/stat/hook.nix
|
||||||
stat = self.callPackage ./pkgs/stat/package.nix {
|
statHook = self.callPackage ./pkgs/stat/hook.nix { inherit (self) stat; };
|
||||||
inherit (buildPackages.netbsd) makeMinimal install;
|
|
||||||
inherit (buildPackages.buildPackages) rsync;
|
|
||||||
};
|
|
||||||
|
|
||||||
# See note in pkgs/stat/hook.nix
|
tsort = self.callPackage ./pkgs/tsort.nix {
|
||||||
statHook = self.callPackage ./pkgs/stat/hook.nix {
|
inherit (buildPackages.netbsd) makeMinimal install;
|
||||||
inherit (self) stat;
|
inherit (buildPackages.buildPackages) rsync;
|
||||||
};
|
};
|
||||||
|
|
||||||
tsort = self.callPackage ./pkgs/tsort.nix {
|
lorder = self.callPackage ./pkgs/lorder.nix {
|
||||||
inherit (buildPackages.netbsd) makeMinimal install;
|
inherit (buildPackages.netbsd) makeMinimal install;
|
||||||
inherit (buildPackages.buildPackages) rsync;
|
inherit (buildPackages.buildPackages) rsync;
|
||||||
};
|
};
|
||||||
|
|
||||||
lorder = self.callPackage ./pkgs/lorder.nix {
|
config = self.callPackage ./pkgs/config.nix {
|
||||||
inherit (buildPackages.netbsd) makeMinimal install;
|
inherit (buildPackages.netbsd) makeMinimal install;
|
||||||
inherit (buildPackages.buildPackages) rsync;
|
inherit (buildPackages.buildPackages) rsync;
|
||||||
};
|
inherit (self) cksum;
|
||||||
|
};
|
||||||
|
|
||||||
config = self.callPackage ./pkgs/config.nix {
|
include = self.callPackage ./pkgs/include.nix {
|
||||||
inherit (buildPackages.netbsd) makeMinimal install;
|
inherit (buildPackages.netbsd)
|
||||||
inherit (buildPackages.buildPackages) rsync;
|
makeMinimal
|
||||||
inherit (self) cksum;
|
install
|
||||||
};
|
nbperf
|
||||||
|
rpcgen
|
||||||
|
;
|
||||||
|
inherit (buildPackages) stdenv;
|
||||||
|
inherit (buildPackages.buildPackages) rsync;
|
||||||
|
};
|
||||||
|
|
||||||
include = self.callPackage ./pkgs/include.nix {
|
sys-headers = self.callPackage ./pkgs/sys/headers.nix {
|
||||||
inherit (buildPackages.netbsd)
|
inherit (buildPackages.netbsd)
|
||||||
makeMinimal install nbperf rpcgen;
|
makeMinimal
|
||||||
inherit (buildPackages) stdenv;
|
install
|
||||||
inherit (buildPackages.buildPackages) rsync;
|
tsort
|
||||||
};
|
lorder
|
||||||
|
statHook
|
||||||
|
uudecode
|
||||||
|
config
|
||||||
|
genassym
|
||||||
|
;
|
||||||
|
inherit (buildPackages.buildPackages) rsync;
|
||||||
|
};
|
||||||
|
|
||||||
sys-headers = self.callPackage ./pkgs/sys/headers.nix {
|
libutil = self.callPackage ./pkgs/libutil.nix { inherit (self) libc sys; };
|
||||||
inherit (buildPackages.netbsd)
|
|
||||||
makeMinimal install tsort lorder statHook uudecode config genassym;
|
|
||||||
inherit (buildPackages.buildPackages) rsync;
|
|
||||||
};
|
|
||||||
|
|
||||||
libutil = self.callPackage ./pkgs/libutil.nix {
|
libpthread-headers = self.callPackage ./pkgs/libpthread/headers.nix { };
|
||||||
inherit (self) libc sys;
|
|
||||||
};
|
|
||||||
|
|
||||||
libpthread-headers = self.callPackage ./pkgs/libpthread/headers.nix { };
|
csu = self.callPackage ./pkgs/csu.nix {
|
||||||
|
inherit (self) headers sys ld_elf_so;
|
||||||
|
inherit (buildPackages.netbsd)
|
||||||
|
netbsdSetupHook
|
||||||
|
makeMinimal
|
||||||
|
install
|
||||||
|
genassym
|
||||||
|
gencat
|
||||||
|
lorder
|
||||||
|
tsort
|
||||||
|
statHook
|
||||||
|
;
|
||||||
|
inherit (buildPackages.buildPackages) rsync;
|
||||||
|
};
|
||||||
|
|
||||||
csu = self.callPackage ./pkgs/csu.nix {
|
_mainLibcExtraPaths = with self; [
|
||||||
inherit (self) headers sys ld_elf_so;
|
common
|
||||||
inherit (buildPackages.netbsd)
|
i18n_module.src
|
||||||
netbsdSetupHook
|
sys.src
|
||||||
makeMinimal
|
ld_elf_so.src
|
||||||
install
|
libpthread.src
|
||||||
genassym gencat lorder tsort statHook;
|
libm.src
|
||||||
inherit (buildPackages.buildPackages) rsync;
|
libresolv.src
|
||||||
};
|
librpcsvc.src
|
||||||
|
libutil.src
|
||||||
|
librt.src
|
||||||
|
libcrypt.src
|
||||||
|
];
|
||||||
|
|
||||||
_mainLibcExtraPaths = with self; [
|
libc = self.callPackage ./pkgs/libc.nix {
|
||||||
common i18n_module.src sys.src
|
inherit (self) headers csu librt;
|
||||||
ld_elf_so.src libpthread.src libm.src libresolv.src
|
inherit (buildPackages.netbsd)
|
||||||
librpcsvc.src libutil.src librt.src libcrypt.src
|
netbsdSetupHook
|
||||||
];
|
makeMinimal
|
||||||
|
install
|
||||||
|
genassym
|
||||||
|
gencat
|
||||||
|
lorder
|
||||||
|
tsort
|
||||||
|
statHook
|
||||||
|
rpcgen
|
||||||
|
;
|
||||||
|
inherit (buildPackages.buildPackages) rsync;
|
||||||
|
};
|
||||||
|
|
||||||
libc = self.callPackage ./pkgs/libc.nix {
|
mtree = self.callPackage ./pkgs/mtree.nix { inherit (self) mknod; };
|
||||||
inherit (self) headers csu librt;
|
}
|
||||||
inherit (buildPackages.netbsd)
|
);
|
||||||
netbsdSetupHook
|
|
||||||
makeMinimal
|
|
||||||
install
|
|
||||||
genassym gencat lorder tsort statHook rpcgen;
|
|
||||||
inherit (buildPackages.buildPackages) rsync;
|
|
||||||
};
|
|
||||||
|
|
||||||
mtree = self.callPackage ./pkgs/mtree.nix {
|
|
||||||
inherit (self) mknod;
|
|
||||||
};
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,29 @@
|
||||||
{ lib, mkDerivation, stdenv
|
{
|
||||||
, zlib
|
lib,
|
||||||
, defaultMakeFlags
|
mkDerivation,
|
||||||
, coreutils
|
stdenv,
|
||||||
, cctools-port
|
zlib,
|
||||||
, include, libc, libutil
|
defaultMakeFlags,
|
||||||
, install
|
coreutils,
|
||||||
, bsdSetupHook, netbsdSetupHook
|
cctools-port,
|
||||||
, makeMinimal
|
include,
|
||||||
, rsync
|
libc,
|
||||||
, fetchNetBSD
|
libutil,
|
||||||
, _mainLibcExtraPaths
|
install,
|
||||||
|
bsdSetupHook,
|
||||||
|
netbsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
rsync,
|
||||||
|
fetchNetBSD,
|
||||||
|
_mainLibcExtraPaths,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation (let
|
mkDerivation (
|
||||||
|
let
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
commonDeps = [ zlib ];
|
commonDeps = [ zlib ];
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
path = "tools/compat";
|
path = "tools/compat";
|
||||||
sha256 = "1vsxg7136nlhc72vpa664vs22874xh7ila95nkmsd8crn3z3cyn0";
|
sha256 = "1vsxg7136nlhc72vpa664vs22874xh7ila95nkmsd8crn3z3cyn0";
|
||||||
inherit version;
|
inherit version;
|
||||||
|
@ -29,19 +37,23 @@ mkDerivation (let
|
||||||
make include/.stamp configure nbtool_config.h.in defs.mk.in
|
make include/.stamp configure nbtool_config.h.in defs.mk.in
|
||||||
'';
|
'';
|
||||||
|
|
||||||
configurePlatforms = [ "build" "host" ];
|
configurePlatforms = [
|
||||||
configureFlags = [
|
"build"
|
||||||
"--cache-file=config.cache"
|
"host"
|
||||||
] ++ lib.optionals stdenv.hostPlatform.isMusl [
|
|
||||||
# We include this header in our musl package only for legacy
|
|
||||||
# compatibility, and compat works fine without it (and having it
|
|
||||||
# know about sys/cdefs.h breaks packages like glib when built
|
|
||||||
# statically).
|
|
||||||
"ac_cv_header_sys_cdefs_h=no"
|
|
||||||
];
|
];
|
||||||
|
configureFlags =
|
||||||
|
[ "--cache-file=config.cache" ]
|
||||||
|
++ lib.optionals stdenv.hostPlatform.isMusl [
|
||||||
|
# We include this header in our musl package only for legacy
|
||||||
|
# compatibility, and compat works fine without it (and having it
|
||||||
|
# know about sys/cdefs.h breaks packages like glib when built
|
||||||
|
# statically).
|
||||||
|
"ac_cv_header_sys_cdefs_h=no"
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = commonDeps ++ [
|
nativeBuildInputs = commonDeps ++ [
|
||||||
bsdSetupHook netbsdSetupHook
|
bsdSetupHook
|
||||||
|
netbsdSetupHook
|
||||||
makeMinimal
|
makeMinimal
|
||||||
rsync
|
rsync
|
||||||
];
|
];
|
||||||
|
@ -50,22 +62,27 @@ mkDerivation (let
|
||||||
|
|
||||||
# temporarily use gnuinstall for bootstrapping
|
# temporarily use gnuinstall for bootstrapping
|
||||||
# bsdinstall will be built later
|
# bsdinstall will be built later
|
||||||
makeFlags = defaultMakeFlags ++ [
|
makeFlags =
|
||||||
"INSTALL=${coreutils}/bin/install"
|
defaultMakeFlags
|
||||||
"DATADIR=$(out)/share"
|
++ [
|
||||||
# Can't sort object files yet
|
"INSTALL=${coreutils}/bin/install"
|
||||||
"LORDER=echo"
|
"DATADIR=$(out)/share"
|
||||||
"TSORT=cat"
|
# Can't sort object files yet
|
||||||
# Can't process man pages yet
|
"LORDER=echo"
|
||||||
"MKSHARE=no"
|
"TSORT=cat"
|
||||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
# Can't process man pages yet
|
||||||
# GNU objcopy produces broken .a libs which won't link into dependers.
|
"MKSHARE=no"
|
||||||
# Makefiles only invoke `$OBJCOPY -x/-X`, so cctools strip works here.
|
]
|
||||||
"OBJCOPY=${cctools-port}/bin/strip"
|
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||||
];
|
# GNU objcopy produces broken .a libs which won't link into dependers.
|
||||||
|
# Makefiles only invoke `$OBJCOPY -x/-X`, so cctools strip works here.
|
||||||
|
"OBJCOPY=${cctools-port}/bin/strip"
|
||||||
|
];
|
||||||
RENAME = "-D";
|
RENAME = "-D";
|
||||||
|
|
||||||
passthru.tests = { netbsd-install = install; };
|
passthru.tests = {
|
||||||
|
netbsd-install = install;
|
||||||
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./compat-cxx-safe-header.patch
|
./compat-cxx-safe-header.patch
|
||||||
|
@ -79,42 +96,51 @@ mkDerivation (let
|
||||||
makeFlagsArray+=('INSTALL_SYMLINK=''${INSTALL} ''${SYMLINK} ''${RENAME}')
|
makeFlagsArray+=('INSTALL_SYMLINK=''${INSTALL} ''${SYMLINK} ''${RENAME}')
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall =
|
||||||
# why aren't these installed by netbsd?
|
''
|
||||||
install -D compat_defs.h $out/include/compat_defs.h
|
# why aren't these installed by netbsd?
|
||||||
install -D $BSDSRCDIR/include/cdbw.h $out/include/cdbw.h
|
install -D compat_defs.h $out/include/compat_defs.h
|
||||||
install -D $BSDSRCDIR/sys/sys/cdbr.h $out/include/cdbr.h
|
install -D $BSDSRCDIR/include/cdbw.h $out/include/cdbw.h
|
||||||
install -D $BSDSRCDIR/sys/sys/featuretest.h \
|
install -D $BSDSRCDIR/sys/sys/cdbr.h $out/include/cdbr.h
|
||||||
$out/include/sys/featuretest.h
|
install -D $BSDSRCDIR/sys/sys/featuretest.h \
|
||||||
install -D $BSDSRCDIR/sys/sys/md5.h $out/include/md5.h
|
$out/include/sys/featuretest.h
|
||||||
install -D $BSDSRCDIR/sys/sys/rmd160.h $out/include/rmd160.h
|
install -D $BSDSRCDIR/sys/sys/md5.h $out/include/md5.h
|
||||||
install -D $BSDSRCDIR/sys/sys/sha1.h $out/include/sha1.h
|
install -D $BSDSRCDIR/sys/sys/rmd160.h $out/include/rmd160.h
|
||||||
install -D $BSDSRCDIR/sys/sys/sha2.h $out/include/sha2.h
|
install -D $BSDSRCDIR/sys/sys/sha1.h $out/include/sha1.h
|
||||||
install -D $BSDSRCDIR/sys/sys/queue.h $out/include/sys/queue.h
|
install -D $BSDSRCDIR/sys/sys/sha2.h $out/include/sha2.h
|
||||||
install -D $BSDSRCDIR/include/vis.h $out/include/vis.h
|
install -D $BSDSRCDIR/sys/sys/queue.h $out/include/sys/queue.h
|
||||||
install -D $BSDSRCDIR/include/db.h $out/include/db.h
|
install -D $BSDSRCDIR/include/vis.h $out/include/vis.h
|
||||||
install -D $BSDSRCDIR/include/netconfig.h $out/include/netconfig.h
|
install -D $BSDSRCDIR/include/db.h $out/include/db.h
|
||||||
install -D $BSDSRCDIR/include/utmpx.h $out/include/utmpx.h
|
install -D $BSDSRCDIR/include/netconfig.h $out/include/netconfig.h
|
||||||
install -D $BSDSRCDIR/include/tzfile.h $out/include/tzfile.h
|
install -D $BSDSRCDIR/include/utmpx.h $out/include/utmpx.h
|
||||||
install -D $BSDSRCDIR/sys/sys/tree.h $out/include/sys/tree.h
|
install -D $BSDSRCDIR/include/tzfile.h $out/include/tzfile.h
|
||||||
install -D $BSDSRCDIR/include/nl_types.h $out/include/nl_types.h
|
install -D $BSDSRCDIR/sys/sys/tree.h $out/include/sys/tree.h
|
||||||
install -D $BSDSRCDIR/include/stringlist.h $out/include/stringlist.h
|
install -D $BSDSRCDIR/include/nl_types.h $out/include/nl_types.h
|
||||||
|
install -D $BSDSRCDIR/include/stringlist.h $out/include/stringlist.h
|
||||||
|
|
||||||
# Collapse includes slightly to fix dangling reference
|
# Collapse includes slightly to fix dangling reference
|
||||||
install -D $BSDSRCDIR/common/include/rpc/types.h $out/include/rpc/types.h
|
install -D $BSDSRCDIR/common/include/rpc/types.h $out/include/rpc/types.h
|
||||||
sed -i '1s;^;#include "nbtool_config.h"\n;' $out/include/rpc/types.h
|
sed -i '1s;^;#include "nbtool_config.h"\n;' $out/include/rpc/types.h
|
||||||
'' + lib.optionalString stdenv.isDarwin ''
|
''
|
||||||
mkdir -p $out/include/ssp
|
+ lib.optionalString stdenv.isDarwin ''
|
||||||
touch $out/include/ssp/ssp.h
|
mkdir -p $out/include/ssp
|
||||||
'' + ''
|
touch $out/include/ssp/ssp.h
|
||||||
mkdir -p $out/lib/pkgconfig
|
''
|
||||||
substitute ${./libbsd-overlay.pc} $out/lib/pkgconfig/libbsd-overlay.pc \
|
+ ''
|
||||||
--subst-var-by out $out \
|
mkdir -p $out/lib/pkgconfig
|
||||||
--subst-var-by version ${version}
|
substitute ${./libbsd-overlay.pc} $out/lib/pkgconfig/libbsd-overlay.pc \
|
||||||
'';
|
--subst-var-by out $out \
|
||||||
extraPaths = [ include.src libc.src libutil.src
|
--subst-var-by version ${version}
|
||||||
|
'';
|
||||||
|
extraPaths = [
|
||||||
|
include.src
|
||||||
|
libc.src
|
||||||
|
libutil.src
|
||||||
(fetchNetBSD "external/bsd/flex" "9.2" "0h98jpfj7vx5zh7vd7bk6b1hmzgkcb757a8j6d9zgygxxv13v43m")
|
(fetchNetBSD "external/bsd/flex" "9.2" "0h98jpfj7vx5zh7vd7bk6b1hmzgkcb757a8j6d9zgygxxv13v43m")
|
||||||
(fetchNetBSD "sys/sys" "9.2" "0zawhw51klaigqqwkx0lzrx3mim2jywrc24cm7c66qsf1im9awgd")
|
(fetchNetBSD "sys/sys" "9.2" "0zawhw51klaigqqwkx0lzrx3mim2jywrc24cm7c66qsf1im9awgd")
|
||||||
(fetchNetBSD "common/include/rpc/types.h" "9.2" "0n2df12mlc3cbc48jxq35yzl1y7ghgpykvy7jnfh898rdhac7m9a")
|
(fetchNetBSD "common/include/rpc/types.h" "9.2"
|
||||||
|
"0n2df12mlc3cbc48jxq35yzl1y7ghgpykvy7jnfh898rdhac7m9a"
|
||||||
|
)
|
||||||
] ++ libutil.extraPaths ++ _mainLibcExtraPaths;
|
] ++ libutil.extraPaths ++ _mainLibcExtraPaths;
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
|
@ -1,8 +1,15 @@
|
||||||
{ mkDerivation
|
{
|
||||||
, bsdSetupHook, netbsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal, install, mandoc, byacc, flex, rsync
|
bsdSetupHook,
|
||||||
, compatIfNeeded
|
netbsdSetupHook,
|
||||||
, cksum
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
mandoc,
|
||||||
|
byacc,
|
||||||
|
flex,
|
||||||
|
rsync,
|
||||||
|
compatIfNeeded,
|
||||||
|
cksum,
|
||||||
}:
|
}:
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "usr.bin/config";
|
path = "usr.bin/config";
|
||||||
|
@ -10,8 +17,14 @@ mkDerivation {
|
||||||
sha256 = "1yz3n4hncdkk6kp595fh2q5lg150vpqg8iw2dccydkyw4y3hgsjj";
|
sha256 = "1yz3n4hncdkk6kp595fh2q5lg150vpqg8iw2dccydkyw4y3hgsjj";
|
||||||
env.NIX_CFLAGS_COMPILE = toString [ "-DMAKE_BOOTSTRAP" ];
|
env.NIX_CFLAGS_COMPILE = toString [ "-DMAKE_BOOTSTRAP" ];
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook
|
bsdSetupHook
|
||||||
makeMinimal install mandoc byacc flex rsync
|
netbsdSetupHook
|
||||||
|
makeMinimal
|
||||||
|
install
|
||||||
|
mandoc
|
||||||
|
byacc
|
||||||
|
flex
|
||||||
|
rsync
|
||||||
];
|
];
|
||||||
buildInputs = compatIfNeeded;
|
buildInputs = compatIfNeeded;
|
||||||
extraPaths = [ cksum.src ];
|
extraPaths = [ cksum.src ];
|
||||||
|
|
|
@ -1,11 +1,23 @@
|
||||||
{ lib, mkDerivation
|
{
|
||||||
, bsdSetupHook, netbsdSetupHook
|
lib,
|
||||||
, makeMinimal
|
mkDerivation,
|
||||||
, install, mandoc, groff, flex
|
bsdSetupHook,
|
||||||
, byacc, genassym, gencat, lorder, tsort, statHook, rsync
|
netbsdSetupHook,
|
||||||
, headers
|
makeMinimal,
|
||||||
, sys
|
install,
|
||||||
, ld_elf_so
|
mandoc,
|
||||||
|
groff,
|
||||||
|
flex,
|
||||||
|
byacc,
|
||||||
|
genassym,
|
||||||
|
gencat,
|
||||||
|
lorder,
|
||||||
|
tsort,
|
||||||
|
statHook,
|
||||||
|
rsync,
|
||||||
|
headers,
|
||||||
|
sys,
|
||||||
|
ld_elf_so,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -14,11 +26,24 @@ mkDerivation {
|
||||||
sha256 = "0al5jfazvhlzn9hvmnrbchx4d0gm282hq5gp4xs2zmj9ycmf6d03";
|
sha256 = "0al5jfazvhlzn9hvmnrbchx4d0gm282hq5gp4xs2zmj9ycmf6d03";
|
||||||
meta.platforms = lib.platforms.netbsd;
|
meta.platforms = lib.platforms.netbsd;
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook
|
bsdSetupHook
|
||||||
|
netbsdSetupHook
|
||||||
makeMinimal
|
makeMinimal
|
||||||
install mandoc groff flex
|
install
|
||||||
byacc genassym gencat lorder tsort statHook rsync
|
mandoc
|
||||||
|
groff
|
||||||
|
flex
|
||||||
|
byacc
|
||||||
|
genassym
|
||||||
|
gencat
|
||||||
|
lorder
|
||||||
|
tsort
|
||||||
|
statHook
|
||||||
|
rsync
|
||||||
];
|
];
|
||||||
buildInputs = [ headers ];
|
buildInputs = [ headers ];
|
||||||
extraPaths = [ sys.src ld_elf_so.src ];
|
extraPaths = [
|
||||||
|
sys.src
|
||||||
|
ld_elf_so.src
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
{ mkDerivation
|
{
|
||||||
, bsdSetupHook, netbsdSetupHook, rsync
|
mkDerivation,
|
||||||
, compatIfNeeded
|
bsdSetupHook,
|
||||||
, fetchNetBSD
|
netbsdSetupHook,
|
||||||
|
rsync,
|
||||||
|
compatIfNeeded,
|
||||||
|
fetchNetBSD,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -10,12 +13,16 @@ mkDerivation {
|
||||||
sha256 = "01d4fpxvz1pgzfk5xznz5dcm0x0gdzwcsfm1h3d0xc9kc6hj2q77";
|
sha256 = "01d4fpxvz1pgzfk5xznz5dcm0x0gdzwcsfm1h3d0xc9kc6hj2q77";
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook rsync
|
bsdSetupHook
|
||||||
|
netbsdSetupHook
|
||||||
|
rsync
|
||||||
];
|
];
|
||||||
propagatedBuildInputs = compatIfNeeded;
|
propagatedBuildInputs = compatIfNeeded;
|
||||||
extraPaths = [
|
extraPaths = [
|
||||||
(fetchNetBSD "lib/libc/gen/fts.c" "9.2" "1a8hmf26242nmv05ipn3ircxb0jqmmi66rh78kkyi9vjwkfl3qn7")
|
(fetchNetBSD "lib/libc/gen/fts.c" "9.2" "1a8hmf26242nmv05ipn3ircxb0jqmmi66rh78kkyi9vjwkfl3qn7")
|
||||||
(fetchNetBSD "lib/libc/include/namespace.h" "9.2" "0kksr3pdwdc1cplqf5z12ih4cml6l11lqrz91f7hjjm64y7785kc")
|
(fetchNetBSD "lib/libc/include/namespace.h" "9.2"
|
||||||
|
"0kksr3pdwdc1cplqf5z12ih4cml6l11lqrz91f7hjjm64y7785kc"
|
||||||
|
)
|
||||||
(fetchNetBSD "lib/libc/gen/fts.3" "9.2" "1asxw0n3fhjdadwkkq3xplfgqgl3q32w1lyrvbakfa3gs0wz5zc1")
|
(fetchNetBSD "lib/libc/gen/fts.3" "9.2" "1asxw0n3fhjdadwkkq3xplfgqgl3q32w1lyrvbakfa3gs0wz5zc1")
|
||||||
];
|
];
|
||||||
skipIncludesPhase = true;
|
skipIncludesPhase = true;
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
{ lib, symlinkJoin, include, sys-headers, libpthread-headers }:
|
{
|
||||||
|
lib,
|
||||||
|
symlinkJoin,
|
||||||
|
include,
|
||||||
|
sys-headers,
|
||||||
|
libpthread-headers,
|
||||||
|
}:
|
||||||
|
|
||||||
symlinkJoin {
|
symlinkJoin {
|
||||||
name = "netbsd-headers-9.2";
|
name = "netbsd-headers-9.2";
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ lib, mkDerivation, libc }:
|
{
|
||||||
|
lib,
|
||||||
|
mkDerivation,
|
||||||
|
libc,
|
||||||
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "lib/i18n_module";
|
path = "lib/i18n_module";
|
||||||
|
|
|
@ -1,10 +1,18 @@
|
||||||
{ lib, mkDerivation
|
{
|
||||||
, bsdSetupHook, netbsdSetupHook
|
lib,
|
||||||
, makeMinimal
|
mkDerivation,
|
||||||
, install, mandoc, groff, rsync, nbperf, rpcgen
|
bsdSetupHook,
|
||||||
, common
|
netbsdSetupHook,
|
||||||
, defaultMakeFlags
|
makeMinimal,
|
||||||
, stdenv
|
install,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
|
rsync,
|
||||||
|
nbperf,
|
||||||
|
rpcgen,
|
||||||
|
common,
|
||||||
|
defaultMakeFlags,
|
||||||
|
stdenv,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -12,9 +20,15 @@ mkDerivation {
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
sha256 = "0nxnmj4c8s3hb9n3fpcmd0zl3l1nmhivqgi9a35sis943qvpgl9h";
|
sha256 = "0nxnmj4c8s3hb9n3fpcmd0zl3l1nmhivqgi9a35sis943qvpgl9h";
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook
|
bsdSetupHook
|
||||||
|
netbsdSetupHook
|
||||||
makeMinimal
|
makeMinimal
|
||||||
install mandoc groff rsync nbperf rpcgen
|
install
|
||||||
|
mandoc
|
||||||
|
groff
|
||||||
|
rsync
|
||||||
|
nbperf
|
||||||
|
rpcgen
|
||||||
];
|
];
|
||||||
|
|
||||||
# The makefiles define INCSDIR per subdirectory, so we have to set
|
# The makefiles define INCSDIR per subdirectory, so we have to set
|
||||||
|
|
|
@ -1,10 +1,16 @@
|
||||||
{ mkDerivation
|
{
|
||||||
, writeShellScript
|
mkDerivation,
|
||||||
, mtree, make
|
writeShellScript,
|
||||||
, bsdSetupHook, netbsdSetupHook
|
mtree,
|
||||||
, makeMinimal
|
make,
|
||||||
, mandoc, groff, rsync
|
bsdSetupHook,
|
||||||
, compatIfNeeded, fts
|
netbsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
|
rsync,
|
||||||
|
compatIfNeeded,
|
||||||
|
fts,
|
||||||
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -18,32 +24,39 @@ let
|
||||||
@out@/bin/xinstall "$@"
|
@out@/bin/xinstall "$@"
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "usr.bin/xinstall";
|
path = "usr.bin/xinstall";
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
sha256 = "1f6pbz3qv1qcrchdxif8p5lbmnwl8b9nq615hsd3cyl4avd5bfqj";
|
sha256 = "1f6pbz3qv1qcrchdxif8p5lbmnwl8b9nq615hsd3cyl4avd5bfqj";
|
||||||
extraPaths = [ mtree.src make.src ];
|
extraPaths = [
|
||||||
nativeBuildInputs = [
|
mtree.src
|
||||||
bsdSetupHook netbsdSetupHook
|
make.src
|
||||||
makeMinimal
|
];
|
||||||
mandoc groff rsync
|
nativeBuildInputs = [
|
||||||
];
|
bsdSetupHook
|
||||||
skipIncludesPhase = true;
|
netbsdSetupHook
|
||||||
buildInputs = compatIfNeeded
|
makeMinimal
|
||||||
# fts header is needed. glibc already has this header, but musl doesn't,
|
mandoc
|
||||||
# so make sure pkgsMusl.netbsd.install still builds in case you want to
|
groff
|
||||||
# remove it!
|
rsync
|
||||||
++ [ fts ];
|
];
|
||||||
installPhase = ''
|
skipIncludesPhase = true;
|
||||||
runHook preInstall
|
buildInputs =
|
||||||
|
compatIfNeeded
|
||||||
|
# fts header is needed. glibc already has this header, but musl doesn't,
|
||||||
|
# so make sure pkgsMusl.netbsd.install still builds in case you want to
|
||||||
|
# remove it!
|
||||||
|
++ [ fts ];
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
install -D install.1 $out/share/man/man1/install.1
|
install -D install.1 $out/share/man/man1/install.1
|
||||||
install -D xinstall $out/bin/xinstall
|
install -D xinstall $out/bin/xinstall
|
||||||
install -D -m 0550 ${binstall} $out/bin/binstall
|
install -D -m 0550 ${binstall} $out/bin/binstall
|
||||||
substituteInPlace $out/bin/binstall --subst-var out
|
substituteInPlace $out/bin/binstall --subst-var out
|
||||||
ln -s $out/bin/binstall $out/bin/install
|
ln -s $out/bin/binstall $out/bin/install
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
setupHook = ./install-setup-hook.sh;
|
setupHook = ./install-setup-hook.sh;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib
|
{
|
||||||
, mkDerivation
|
lib,
|
||||||
, libc
|
mkDerivation,
|
||||||
, defaultMakeFlags
|
libc,
|
||||||
|
defaultMakeFlags,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "libexec/ld.elf_so";
|
path = "libexec/ld.elf_so";
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
sha256 = "0ia9mqzdljly0vqfwflm5mzz55k7qsr4rw2bzhivky6k30vgirqa";
|
sha256 = "0ia9mqzdljly0vqfwflm5mzz55k7qsr4rw2bzhivky6k30vgirqa";
|
||||||
meta.platforms = lib.platforms.netbsd;
|
meta.platforms = lib.platforms.netbsd;
|
||||||
|
@ -13,6 +14,9 @@ mkDerivation {
|
||||||
# Hack to prevent a symlink being installed here for compatibility.
|
# Hack to prevent a symlink being installed here for compatibility.
|
||||||
SHLINKINSTALLDIR = "/usr/libexec";
|
SHLINKINSTALLDIR = "/usr/libexec";
|
||||||
USE_FORT = "yes";
|
USE_FORT = "yes";
|
||||||
makeFlags = defaultMakeFlags ++ [ "BINDIR=$(out)/libexec" "CLIBOBJ=${libc}/lib" ];
|
makeFlags = defaultMakeFlags ++ [
|
||||||
|
"BINDIR=$(out)/libexec"
|
||||||
|
"CLIBOBJ=${libc}/lib"
|
||||||
|
];
|
||||||
extraPaths = [ libc.src ] ++ libc.extraPaths;
|
extraPaths = [ libc.src ] ++ libc.extraPaths;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,27 @@
|
||||||
{ lib
|
{
|
||||||
, mkDerivation
|
lib,
|
||||||
, defaultMakeFlags
|
mkDerivation,
|
||||||
, _mainLibcExtraPaths
|
defaultMakeFlags,
|
||||||
, fetchNetBSD
|
_mainLibcExtraPaths,
|
||||||
, bsdSetupHook, netbsdSetupHook
|
fetchNetBSD,
|
||||||
, makeMinimal
|
bsdSetupHook,
|
||||||
, install, mandoc, groff, flex
|
netbsdSetupHook,
|
||||||
, byacc, genassym, gencat, lorder, tsort, statHook, rsync, rpcgen
|
makeMinimal,
|
||||||
, csu, headers
|
install,
|
||||||
, librt
|
mandoc,
|
||||||
|
groff,
|
||||||
|
flex,
|
||||||
|
byacc,
|
||||||
|
genassym,
|
||||||
|
gencat,
|
||||||
|
lorder,
|
||||||
|
tsort,
|
||||||
|
statHook,
|
||||||
|
rsync,
|
||||||
|
rpcgen,
|
||||||
|
csu,
|
||||||
|
headers,
|
||||||
|
librt,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -21,18 +34,32 @@ mkDerivation {
|
||||||
(fetchNetBSD "external/bsd/jemalloc" "9.2" "0cq704swa0h2yxv4gc79z2lwxibk9k7pxh3q5qfs7axx3jx3n8kb")
|
(fetchNetBSD "external/bsd/jemalloc" "9.2" "0cq704swa0h2yxv4gc79z2lwxibk9k7pxh3q5qfs7axx3jx3n8kb")
|
||||||
];
|
];
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook
|
bsdSetupHook
|
||||||
|
netbsdSetupHook
|
||||||
makeMinimal
|
makeMinimal
|
||||||
install mandoc groff flex
|
install
|
||||||
byacc genassym gencat lorder tsort statHook rsync rpcgen
|
mandoc
|
||||||
|
groff
|
||||||
|
flex
|
||||||
|
byacc
|
||||||
|
genassym
|
||||||
|
gencat
|
||||||
|
lorder
|
||||||
|
tsort
|
||||||
|
statHook
|
||||||
|
rsync
|
||||||
|
rpcgen
|
||||||
|
];
|
||||||
|
buildInputs = [
|
||||||
|
headers
|
||||||
|
csu
|
||||||
];
|
];
|
||||||
buildInputs = [ headers csu ];
|
|
||||||
env.NIX_CFLAGS_COMPILE = "-B${csu}/lib -fcommon";
|
env.NIX_CFLAGS_COMPILE = "-B${csu}/lib -fcommon";
|
||||||
meta.platforms = lib.platforms.netbsd;
|
meta.platforms = lib.platforms.netbsd;
|
||||||
SHLIBINSTALLDIR = "$(out)/lib";
|
SHLIBINSTALLDIR = "$(out)/lib";
|
||||||
MKPICINSTALL = "yes";
|
MKPICINSTALL = "yes";
|
||||||
NLSDIR = "$(out)/share/nls";
|
NLSDIR = "$(out)/share/nls";
|
||||||
makeFlags = defaultMakeFlags ++ [ "FILESDIR=$(out)/var/db"];
|
makeFlags = defaultMakeFlags ++ [ "FILESDIR=$(out)/var/db" ];
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
pushd ${headers}
|
pushd ${headers}
|
||||||
find . -type d -exec mkdir -p $out/\{} \;
|
find . -type d -exec mkdir -p $out/\{} \;
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
{ lib, mkDerivation, stdenv
|
{
|
||||||
, libterminfo
|
lib,
|
||||||
, compatIfNeeded
|
mkDerivation,
|
||||||
, defaultMakeFlags
|
stdenv,
|
||||||
|
libterminfo,
|
||||||
|
compatIfNeeded,
|
||||||
|
defaultMakeFlags,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -9,11 +12,14 @@ mkDerivation {
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
sha256 = "0pd0dggl3w4bv5i5h0s1wrc8hr66n4hkv3zlklarwfdhc692fqal";
|
sha256 = "0pd0dggl3w4bv5i5h0s1wrc8hr66n4hkv3zlklarwfdhc692fqal";
|
||||||
buildInputs = [ libterminfo ];
|
buildInputs = [ libterminfo ];
|
||||||
env.NIX_CFLAGS_COMPILE = toString ([
|
env.NIX_CFLAGS_COMPILE = toString (
|
||||||
"-D__scanflike(a,b)="
|
[
|
||||||
"-D__va_list=va_list"
|
"-D__scanflike(a,b)="
|
||||||
"-D__warn_references(a,b)="
|
"-D__va_list=va_list"
|
||||||
] ++ lib.optional stdenv.isDarwin "-D__strong_alias(a,b)=");
|
"-D__warn_references(a,b)="
|
||||||
|
]
|
||||||
|
++ lib.optional stdenv.isDarwin "-D__strong_alias(a,b)="
|
||||||
|
);
|
||||||
propagatedBuildInputs = compatIfNeeded;
|
propagatedBuildInputs = compatIfNeeded;
|
||||||
MKDOC = "no"; # missing vfontedpr
|
MKDOC = "no"; # missing vfontedpr
|
||||||
makeFlags = defaultMakeFlags ++ [ "LIBDO.terminfo=${libterminfo}/lib" ];
|
makeFlags = defaultMakeFlags ++ [ "LIBDO.terminfo=${libterminfo}/lib" ];
|
||||||
|
|
|
@ -1,26 +1,32 @@
|
||||||
{ lib, mkDerivation
|
{
|
||||||
, libterminfo, libcurses
|
lib,
|
||||||
, compatIfNeeded
|
mkDerivation,
|
||||||
, defaultMakeFlags
|
libterminfo,
|
||||||
|
libcurses,
|
||||||
|
compatIfNeeded,
|
||||||
|
defaultMakeFlags,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "lib/libedit";
|
path = "lib/libedit";
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
sha256 = "1wqhngraxwqk4jgrf5f18jy195yrp7c06n1gf31pbplq79mg1bcj";
|
sha256 = "1wqhngraxwqk4jgrf5f18jy195yrp7c06n1gf31pbplq79mg1bcj";
|
||||||
buildInputs = [ libterminfo libcurses ];
|
buildInputs = [
|
||||||
propagatedBuildInputs = compatIfNeeded;
|
libterminfo
|
||||||
SHLIBINSTALLDIR = "$(out)/lib";
|
libcurses
|
||||||
makeFlags = defaultMakeFlags ++ [ "LIBDO.terminfo=${libterminfo}/lib" ];
|
];
|
||||||
postPatch = ''
|
propagatedBuildInputs = compatIfNeeded;
|
||||||
sed -i '1i #undef bool_t' $COMPONENT_PATH/el.h
|
SHLIBINSTALLDIR = "$(out)/lib";
|
||||||
substituteInPlace $COMPONENT_PATH/config.h \
|
makeFlags = defaultMakeFlags ++ [ "LIBDO.terminfo=${libterminfo}/lib" ];
|
||||||
--replace "#define HAVE_STRUCT_DIRENT_D_NAMLEN 1" ""
|
postPatch = ''
|
||||||
substituteInPlace $COMPONENT_PATH/readline/Makefile --replace /usr/include "$out/include"
|
sed -i '1i #undef bool_t' $COMPONENT_PATH/el.h
|
||||||
'';
|
substituteInPlace $COMPONENT_PATH/config.h \
|
||||||
env.NIX_CFLAGS_COMPILE = toString [
|
--replace "#define HAVE_STRUCT_DIRENT_D_NAMLEN 1" ""
|
||||||
"-D__noinline="
|
substituteInPlace $COMPONENT_PATH/readline/Makefile --replace /usr/include "$out/include"
|
||||||
"-D__scanflike(a,b)="
|
'';
|
||||||
"-D__va_list=va_list"
|
env.NIX_CFLAGS_COMPILE = toString [
|
||||||
];
|
"-D__noinline="
|
||||||
}
|
"-D__scanflike(a,b)="
|
||||||
|
"-D__va_list=va_list"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ lib, mkDerivation, sys }:
|
{
|
||||||
|
lib,
|
||||||
|
mkDerivation,
|
||||||
|
sys,
|
||||||
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "lib/libm";
|
path = "lib/libm";
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ lib, mkDerivation, sys }:
|
{
|
||||||
|
lib,
|
||||||
|
mkDerivation,
|
||||||
|
sys,
|
||||||
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
pname = "libpci";
|
pname = "libpci";
|
||||||
|
|
|
@ -3,4 +3,3 @@
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
sha256 = "0mlmc31k509dwfmx5s2x010wxjc44mr6y0cbmk30cfipqh8c962h";
|
sha256 = "0mlmc31k509dwfmx5s2x010wxjc44mr6y0cbmk30cfipqh8c962h";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ lib, mkDerivation }:
|
{ lib, mkDerivation }:
|
||||||
|
|
||||||
mkDerivation (import ./base.nix // {
|
mkDerivation (
|
||||||
pname = "libpthread-headers";
|
import ./base.nix
|
||||||
installPhase = "includesPhase";
|
// {
|
||||||
dontBuild = true;
|
pname = "libpthread-headers";
|
||||||
noCC = true;
|
installPhase = "includesPhase";
|
||||||
meta.platforms = lib.platforms.netbsd;
|
dontBuild = true;
|
||||||
})
|
noCC = true;
|
||||||
|
meta.platforms = lib.platforms.netbsd;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
|
@ -1,15 +1,28 @@
|
||||||
{ lib, mkDerivation
|
{
|
||||||
, headers
|
lib,
|
||||||
, common, libc, librt, sys
|
mkDerivation,
|
||||||
|
headers,
|
||||||
|
common,
|
||||||
|
libc,
|
||||||
|
librt,
|
||||||
|
sys,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation (import ./base.nix // {
|
mkDerivation (
|
||||||
pname = "libpthread";
|
import ./base.nix
|
||||||
installPhase = null;
|
// {
|
||||||
noCC = false;
|
pname = "libpthread";
|
||||||
dontBuild = false;
|
installPhase = null;
|
||||||
buildInputs = [ headers ];
|
noCC = false;
|
||||||
SHLIBINSTALLDIR = "$(out)/lib";
|
dontBuild = false;
|
||||||
extraPaths = [ common libc.src librt.src sys.src ];
|
buildInputs = [ headers ];
|
||||||
meta.platforms = lib.platforms.netbsd;
|
SHLIBINSTALLDIR = "$(out)/lib";
|
||||||
})
|
extraPaths = [
|
||||||
|
common
|
||||||
|
libc.src
|
||||||
|
librt.src
|
||||||
|
sys.src
|
||||||
|
];
|
||||||
|
meta.platforms = lib.platforms.netbsd;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ lib, mkDerivation, libc }:
|
{
|
||||||
|
lib,
|
||||||
|
mkDerivation,
|
||||||
|
libc,
|
||||||
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "lib/libresolv";
|
path = "lib/libresolv";
|
||||||
|
|
|
@ -1,9 +1,15 @@
|
||||||
{ lib
|
{
|
||||||
, mkDerivation
|
lib,
|
||||||
, defaultMakeFlags
|
mkDerivation,
|
||||||
, bsdSetupHook, netbsdSetupHook
|
defaultMakeFlags,
|
||||||
, makeMinimal
|
bsdSetupHook,
|
||||||
, install, tsort, lorder, rpcgen, statHook
|
netbsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
tsort,
|
||||||
|
lorder,
|
||||||
|
rpcgen,
|
||||||
|
statHook,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -13,9 +19,13 @@ mkDerivation {
|
||||||
makeFlags = defaultMakeFlags ++ [ "INCSDIR=$(out)/include/rpcsvc" ];
|
makeFlags = defaultMakeFlags ++ [ "INCSDIR=$(out)/include/rpcsvc" ];
|
||||||
meta.platforms = lib.platforms.netbsd;
|
meta.platforms = lib.platforms.netbsd;
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook
|
bsdSetupHook
|
||||||
|
netbsdSetupHook
|
||||||
makeMinimal
|
makeMinimal
|
||||||
install tsort lorder rpcgen statHook
|
install
|
||||||
|
tsort
|
||||||
|
lorder
|
||||||
|
rpcgen
|
||||||
|
statHook
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ lib, mkDerivation, libc, headers }:
|
{
|
||||||
|
lib,
|
||||||
|
mkDerivation,
|
||||||
|
libc,
|
||||||
|
headers,
|
||||||
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "lib/librt";
|
path = "lib/librt";
|
||||||
|
|
|
@ -1,8 +1,18 @@
|
||||||
{ mkDerivation
|
{
|
||||||
, bsdSetupHook, netbsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal, install, tsort, lorder, mandoc, statHook, nbperf, tic, rsync
|
bsdSetupHook,
|
||||||
, compatIfNeeded
|
netbsdSetupHook,
|
||||||
, fetchNetBSD
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
tsort,
|
||||||
|
lorder,
|
||||||
|
mandoc,
|
||||||
|
statHook,
|
||||||
|
nbperf,
|
||||||
|
tic,
|
||||||
|
rsync,
|
||||||
|
compatIfNeeded,
|
||||||
|
fetchNetBSD,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -10,8 +20,17 @@ mkDerivation {
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
sha256 = "0pq05k3dj0dfsczv07frnnji92mazmy2qqngqbx2zgqc1x251414";
|
sha256 = "0pq05k3dj0dfsczv07frnnji92mazmy2qqngqbx2zgqc1x251414";
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook
|
bsdSetupHook
|
||||||
makeMinimal install tsort lorder mandoc statHook nbperf tic rsync
|
netbsdSetupHook
|
||||||
|
makeMinimal
|
||||||
|
install
|
||||||
|
tsort
|
||||||
|
lorder
|
||||||
|
mandoc
|
||||||
|
statHook
|
||||||
|
nbperf
|
||||||
|
tic
|
||||||
|
rsync
|
||||||
];
|
];
|
||||||
buildInputs = compatIfNeeded;
|
buildInputs = compatIfNeeded;
|
||||||
SHLIBINSTALLDIR = "$(out)/lib";
|
SHLIBINSTALLDIR = "$(out)/lib";
|
||||||
|
|
|
@ -1,20 +1,41 @@
|
||||||
{ mkDerivation
|
{
|
||||||
, common, libc, sys
|
mkDerivation,
|
||||||
, bsdSetupHook, netbsdSetupHook
|
common,
|
||||||
, makeMinimal
|
libc,
|
||||||
, byacc, install, tsort, lorder, mandoc, statHook, rsync
|
sys,
|
||||||
, headers
|
bsdSetupHook,
|
||||||
|
netbsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
byacc,
|
||||||
|
install,
|
||||||
|
tsort,
|
||||||
|
lorder,
|
||||||
|
mandoc,
|
||||||
|
statHook,
|
||||||
|
rsync,
|
||||||
|
headers,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "lib/libutil";
|
path = "lib/libutil";
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
sha256 = "02gm5a5zhh8qp5r5q5r7x8x6x50ir1i0ncgsnfwh1vnrz6mxbq7z";
|
sha256 = "02gm5a5zhh8qp5r5q5r7x8x6x50ir1i0ncgsnfwh1vnrz6mxbq7z";
|
||||||
extraPaths = [ common libc.src sys.src ];
|
extraPaths = [
|
||||||
|
common
|
||||||
|
libc.src
|
||||||
|
sys.src
|
||||||
|
];
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook
|
bsdSetupHook
|
||||||
|
netbsdSetupHook
|
||||||
makeMinimal
|
makeMinimal
|
||||||
byacc install tsort lorder mandoc statHook rsync
|
byacc
|
||||||
|
install
|
||||||
|
tsort
|
||||||
|
lorder
|
||||||
|
mandoc
|
||||||
|
statHook
|
||||||
|
rsync
|
||||||
];
|
];
|
||||||
buildInputs = [ headers ];
|
buildInputs = [ headers ];
|
||||||
SHLIBINSTALLDIR = "$(out)/lib";
|
SHLIBINSTALLDIR = "$(out)/lib";
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
{ mkDerivation
|
{
|
||||||
, bsdSetupHook, netbsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal
|
bsdSetupHook,
|
||||||
, install, mandoc, groff, rsync
|
netbsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
|
rsync,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -9,8 +14,12 @@ mkDerivation {
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
sha256 = "0rjf9blihhm0n699vr2bg88m4yjhkbxh6fxliaay3wxkgnydjwn2";
|
sha256 = "0rjf9blihhm0n699vr2bg88m4yjhkbxh6fxliaay3wxkgnydjwn2";
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook
|
bsdSetupHook
|
||||||
|
netbsdSetupHook
|
||||||
makeMinimal
|
makeMinimal
|
||||||
install mandoc groff rsync
|
install
|
||||||
|
mandoc
|
||||||
|
groff
|
||||||
|
rsync
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,56 +1,63 @@
|
||||||
{ lib, mkDerivation, fetchNetBSD, stdenv }:
|
{
|
||||||
|
lib,
|
||||||
|
mkDerivation,
|
||||||
|
fetchNetBSD,
|
||||||
|
stdenv,
|
||||||
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "usr.bin/make";
|
path = "usr.bin/make";
|
||||||
sha256 = "0vi73yicbmbp522qzqvd979cx6zm5jakhy77xh73c1kygf8klccs";
|
sha256 = "0vi73yicbmbp522qzqvd979cx6zm5jakhy77xh73c1kygf8klccs";
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
|
|
||||||
postPatch = ''
|
postPatch =
|
||||||
substituteInPlace $BSDSRCDIR/share/mk/bsd.doc.mk \
|
''
|
||||||
--replace '-o ''${DOCOWN}' "" \
|
substituteInPlace $BSDSRCDIR/share/mk/bsd.doc.mk \
|
||||||
--replace '-g ''${DOCGRP}' ""
|
--replace '-o ''${DOCOWN}' "" \
|
||||||
for mk in $BSDSRCDIR/share/mk/bsd.inc.mk $BSDSRCDIR/share/mk/bsd.kinc.mk; do
|
--replace '-g ''${DOCGRP}' ""
|
||||||
substituteInPlace $mk \
|
for mk in $BSDSRCDIR/share/mk/bsd.inc.mk $BSDSRCDIR/share/mk/bsd.kinc.mk; do
|
||||||
--replace '-o ''${BINOWN}' "" \
|
substituteInPlace $mk \
|
||||||
--replace '-g ''${BINGRP}' ""
|
--replace '-o ''${BINOWN}' "" \
|
||||||
done
|
--replace '-g ''${BINGRP}' ""
|
||||||
substituteInPlace $BSDSRCDIR/share/mk/bsd.kmodule.mk \
|
done
|
||||||
--replace '-o ''${KMODULEOWN}' "" \
|
substituteInPlace $BSDSRCDIR/share/mk/bsd.kmodule.mk \
|
||||||
--replace '-g ''${KMODULEGRP}' ""
|
--replace '-o ''${KMODULEOWN}' "" \
|
||||||
substituteInPlace $BSDSRCDIR/share/mk/bsd.lib.mk \
|
--replace '-g ''${KMODULEGRP}' ""
|
||||||
--replace '-o ''${LIBOWN}' "" \
|
substituteInPlace $BSDSRCDIR/share/mk/bsd.lib.mk \
|
||||||
--replace '-g ''${LIBGRP}' "" \
|
--replace '-o ''${LIBOWN}' "" \
|
||||||
--replace '-o ''${DEBUGOWN}' "" \
|
--replace '-g ''${LIBGRP}' "" \
|
||||||
--replace '-g ''${DEBUGGRP}' ""
|
--replace '-o ''${DEBUGOWN}' "" \
|
||||||
substituteInPlace $BSDSRCDIR/share/mk/bsd.lua.mk \
|
--replace '-g ''${DEBUGGRP}' ""
|
||||||
--replace '-o ''${LIBOWN}' "" \
|
substituteInPlace $BSDSRCDIR/share/mk/bsd.lua.mk \
|
||||||
--replace '-g ''${LIBGRP}' ""
|
--replace '-o ''${LIBOWN}' "" \
|
||||||
substituteInPlace $BSDSRCDIR/share/mk/bsd.man.mk \
|
--replace '-g ''${LIBGRP}' ""
|
||||||
--replace '-o ''${MANOWN}' "" \
|
substituteInPlace $BSDSRCDIR/share/mk/bsd.man.mk \
|
||||||
--replace '-g ''${MANGRP}' ""
|
--replace '-o ''${MANOWN}' "" \
|
||||||
substituteInPlace $BSDSRCDIR/share/mk/bsd.nls.mk \
|
--replace '-g ''${MANGRP}' ""
|
||||||
--replace '-o ''${NLSOWN}' "" \
|
substituteInPlace $BSDSRCDIR/share/mk/bsd.nls.mk \
|
||||||
--replace '-g ''${NLSGRP}' ""
|
--replace '-o ''${NLSOWN}' "" \
|
||||||
substituteInPlace $BSDSRCDIR/share/mk/bsd.prog.mk \
|
--replace '-g ''${NLSGRP}' ""
|
||||||
--replace '-o ''${BINOWN}' "" \
|
substituteInPlace $BSDSRCDIR/share/mk/bsd.prog.mk \
|
||||||
--replace '-g ''${BINGRP}' "" \
|
--replace '-o ''${BINOWN}' "" \
|
||||||
--replace '-o ''${RUMPBINOWN}' "" \
|
--replace '-g ''${BINGRP}' "" \
|
||||||
--replace '-g ''${RUMPBINGRP}' "" \
|
--replace '-o ''${RUMPBINOWN}' "" \
|
||||||
--replace '-o ''${DEBUGOWN}' "" \
|
--replace '-g ''${RUMPBINGRP}' "" \
|
||||||
--replace '-g ''${DEBUGGRP}' ""
|
--replace '-o ''${DEBUGOWN}' "" \
|
||||||
|
--replace '-g ''${DEBUGGRP}' ""
|
||||||
|
|
||||||
# make needs this to pick up our sys make files
|
# make needs this to pick up our sys make files
|
||||||
export NIX_CFLAGS_COMPILE+=" -D_PATH_DEFSYSPATH=\"$out/share/mk\""
|
export NIX_CFLAGS_COMPILE+=" -D_PATH_DEFSYSPATH=\"$out/share/mk\""
|
||||||
|
|
||||||
substituteInPlace $BSDSRCDIR/share/mk/bsd.lib.mk \
|
substituteInPlace $BSDSRCDIR/share/mk/bsd.lib.mk \
|
||||||
--replace '_INSTRANLIB=''${empty(PRESERVE):?-a "''${RANLIB} -t":}' '_INSTRANLIB='
|
--replace '_INSTRANLIB=''${empty(PRESERVE):?-a "''${RANLIB} -t":}' '_INSTRANLIB='
|
||||||
substituteInPlace $BSDSRCDIR/share/mk/bsd.kinc.mk \
|
substituteInPlace $BSDSRCDIR/share/mk/bsd.kinc.mk \
|
||||||
--replace /bin/rm rm
|
--replace /bin/rm rm
|
||||||
'' + lib.optionalString stdenv.isDarwin ''
|
''
|
||||||
substituteInPlace $BSDSRCDIR/share/mk/bsd.sys.mk \
|
+ lib.optionalString stdenv.isDarwin ''
|
||||||
--replace '-Wl,--fatal-warnings' "" \
|
substituteInPlace $BSDSRCDIR/share/mk/bsd.sys.mk \
|
||||||
--replace '-Wl,--warn-shared-textrel' ""
|
--replace '-Wl,--fatal-warnings' "" \
|
||||||
'';
|
--replace '-Wl,--warn-shared-textrel' ""
|
||||||
|
'';
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
make -C $BSDSRCDIR/share/mk FILESDIR=$out/share/mk install
|
make -C $BSDSRCDIR/share/mk FILESDIR=$out/share/mk install
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
{ mkDerivation
|
{
|
||||||
, bsdSetupHook, netbsdSetupHook, rsync
|
mkDerivation,
|
||||||
, make
|
bsdSetupHook,
|
||||||
|
netbsdSetupHook,
|
||||||
|
rsync,
|
||||||
|
make,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -8,9 +11,11 @@ mkDerivation {
|
||||||
sha256 = "0fh0nrnk18m613m5blrliq2aydciv51qhc0ihsj4k63incwbk90n";
|
sha256 = "0fh0nrnk18m613m5blrliq2aydciv51qhc0ihsj4k63incwbk90n";
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
|
|
||||||
buildInputs = [];
|
buildInputs = [ ];
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook rsync
|
bsdSetupHook
|
||||||
|
netbsdSetupHook
|
||||||
|
rsync
|
||||||
];
|
];
|
||||||
|
|
||||||
skipIncludesPhase = true;
|
skipIncludesPhase = true;
|
||||||
|
|
|
@ -1,82 +1,113 @@
|
||||||
{ lib
|
{
|
||||||
, stdenvNoCC, stdenv
|
lib,
|
||||||
, fetchNetBSD
|
stdenvNoCC,
|
||||||
, bsdSetupHook, netbsdSetupHook
|
stdenv,
|
||||||
, makeMinimal
|
fetchNetBSD,
|
||||||
, install, tsort, lorder
|
bsdSetupHook,
|
||||||
, mandoc, groff, statHook, rsync
|
netbsdSetupHook,
|
||||||
, compatIfNeeded
|
makeMinimal,
|
||||||
, defaultMakeFlags
|
install,
|
||||||
|
tsort,
|
||||||
|
lorder,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
|
statHook,
|
||||||
|
rsync,
|
||||||
|
compatIfNeeded,
|
||||||
|
defaultMakeFlags,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
lib.makeOverridable (attrs: let
|
lib.makeOverridable (
|
||||||
stdenv' = if attrs.noCC or false then stdenvNoCC else stdenv;
|
attrs:
|
||||||
in stdenv'.mkDerivation ({
|
let
|
||||||
pname = "${attrs.pname or (baseNameOf attrs.path)}-netbsd";
|
stdenv' = if attrs.noCC or false then stdenvNoCC else stdenv;
|
||||||
inherit (attrs) version;
|
in
|
||||||
src = fetchNetBSD attrs.path attrs.version attrs.sha256;
|
stdenv'.mkDerivation (
|
||||||
|
{
|
||||||
|
pname = "${attrs.pname or (baseNameOf attrs.path)}-netbsd";
|
||||||
|
inherit (attrs) version;
|
||||||
|
src = fetchNetBSD attrs.path attrs.version attrs.sha256;
|
||||||
|
|
||||||
extraPaths = [ ];
|
extraPaths = [ ];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook
|
bsdSetupHook
|
||||||
makeMinimal
|
netbsdSetupHook
|
||||||
install tsort lorder mandoc groff statHook rsync
|
makeMinimal
|
||||||
];
|
install
|
||||||
buildInputs = compatIfNeeded;
|
tsort
|
||||||
|
lorder
|
||||||
|
mandoc
|
||||||
|
groff
|
||||||
|
statHook
|
||||||
|
rsync
|
||||||
|
];
|
||||||
|
buildInputs = compatIfNeeded;
|
||||||
|
|
||||||
HOST_SH = stdenv'.shell;
|
HOST_SH = stdenv'.shell;
|
||||||
|
|
||||||
MACHINE_ARCH = {
|
MACHINE_ARCH =
|
||||||
i486 = "i386";
|
{
|
||||||
i586 = "i386";
|
i486 = "i386";
|
||||||
i686 = "i386";
|
i586 = "i386";
|
||||||
}.${stdenv'.hostPlatform.parsed.cpu.name}
|
i686 = "i386";
|
||||||
or stdenv'.hostPlatform.parsed.cpu.name;
|
}
|
||||||
|
.${stdenv'.hostPlatform.parsed.cpu.name} or stdenv'.hostPlatform.parsed.cpu.name;
|
||||||
|
|
||||||
MACHINE = {
|
MACHINE =
|
||||||
x86_64 = "amd64";
|
{
|
||||||
aarch64 = "evbarm64";
|
x86_64 = "amd64";
|
||||||
i486 = "i386";
|
aarch64 = "evbarm64";
|
||||||
i586 = "i386";
|
i486 = "i386";
|
||||||
i686 = "i386";
|
i586 = "i386";
|
||||||
}.${stdenv'.hostPlatform.parsed.cpu.name}
|
i686 = "i386";
|
||||||
or stdenv'.hostPlatform.parsed.cpu.name;
|
}
|
||||||
|
.${stdenv'.hostPlatform.parsed.cpu.name} or stdenv'.hostPlatform.parsed.cpu.name;
|
||||||
|
|
||||||
COMPONENT_PATH = attrs.path;
|
COMPONENT_PATH = attrs.path;
|
||||||
|
|
||||||
makeFlags = defaultMakeFlags;
|
makeFlags = defaultMakeFlags;
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
maintainers = with maintainers; [ matthewbauer qyliss ];
|
maintainers = with maintainers; [
|
||||||
platforms = platforms.unix;
|
matthewbauer
|
||||||
license = licenses.bsd2;
|
qyliss
|
||||||
};
|
];
|
||||||
|
platforms = platforms.unix;
|
||||||
} // lib.optionalAttrs stdenv'.hasCC {
|
license = licenses.bsd2;
|
||||||
# TODO should CC wrapper set this?
|
};
|
||||||
CPP = "${stdenv'.cc.targetPrefix}cpp";
|
}
|
||||||
} // lib.optionalAttrs stdenv'.isDarwin {
|
// lib.optionalAttrs stdenv'.hasCC {
|
||||||
MKRELRO = "no";
|
# TODO should CC wrapper set this?
|
||||||
} // lib.optionalAttrs (stdenv'.cc.isClang or false) {
|
CPP = "${stdenv'.cc.targetPrefix}cpp";
|
||||||
HAVE_LLVM = lib.versions.major (lib.getVersion stdenv'.cc.cc);
|
}
|
||||||
} // lib.optionalAttrs (stdenv'.cc.isGNU or false) {
|
// lib.optionalAttrs stdenv'.isDarwin { MKRELRO = "no"; }
|
||||||
HAVE_GCC = lib.versions.major (lib.getVersion stdenv'.cc.cc);
|
// lib.optionalAttrs (stdenv'.cc.isClang or false) {
|
||||||
} // lib.optionalAttrs (stdenv'.isx86_32) {
|
HAVE_LLVM = lib.versions.major (lib.getVersion stdenv'.cc.cc);
|
||||||
USE_SSP = "no";
|
}
|
||||||
} // lib.optionalAttrs (attrs.headersOnly or false) {
|
// lib.optionalAttrs (stdenv'.cc.isGNU or false) {
|
||||||
installPhase = "includesPhase";
|
HAVE_GCC = lib.versions.major (lib.getVersion stdenv'.cc.cc);
|
||||||
dontBuild = true;
|
}
|
||||||
} // attrs // {
|
// lib.optionalAttrs (stdenv'.isx86_32) { USE_SSP = "no"; }
|
||||||
# Files that use NetBSD-specific macros need to have nbtool_config.h
|
// lib.optionalAttrs (attrs.headersOnly or false) {
|
||||||
# included ahead of them on non-NetBSD platforms.
|
installPhase = "includesPhase";
|
||||||
postPatch = lib.optionalString (!stdenv'.hostPlatform.isNetBSD) ''
|
dontBuild = true;
|
||||||
set +e
|
}
|
||||||
grep -Zlr "^__RCSID
|
// attrs
|
||||||
^__BEGIN_DECLS" $COMPONENT_PATH | xargs -0r grep -FLZ nbtool_config.h |
|
// {
|
||||||
xargs -0tr sed -i '0,/^#/s//#include <nbtool_config.h>\n\0/'
|
# Files that use NetBSD-specific macros need to have nbtool_config.h
|
||||||
set -e
|
# included ahead of them on non-NetBSD platforms.
|
||||||
'' + attrs.postPatch or "";
|
postPatch =
|
||||||
}))
|
lib.optionalString (!stdenv'.hostPlatform.isNetBSD) ''
|
||||||
|
set +e
|
||||||
|
grep -Zlr "^__RCSID
|
||||||
|
^__BEGIN_DECLS" $COMPONENT_PATH | xargs -0r grep -FLZ nbtool_config.h |
|
||||||
|
xargs -0tr sed -i '0,/^#/s//#include <nbtool_config.h>\n\0/'
|
||||||
|
set -e
|
||||||
|
''
|
||||||
|
+ attrs.postPatch or "";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
|
@ -5,4 +5,3 @@ mkDerivation {
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
sha256 = "1nxc302vgmjhm3yqdivqyfzslrg0vjpbss44s74rcryrl19mma9r";
|
sha256 = "1nxc302vgmjhm3yqdivqyfzslrg0vjpbss44s74rcryrl19mma9r";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
{ makeSetupHook }:
|
{ makeSetupHook }:
|
||||||
|
|
||||||
makeSetupHook {
|
makeSetupHook { name = "netbsd-setup-hook"; } ./setup-hook.sh
|
||||||
name = "netbsd-setup-hook";
|
|
||||||
} ./setup-hook.sh
|
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ makeSetupHook, writeText, stat }:
|
{
|
||||||
|
makeSetupHook,
|
||||||
|
writeText,
|
||||||
|
stat,
|
||||||
|
}:
|
||||||
|
|
||||||
# stat isn't in POSIX, and NetBSD stat supports a completely
|
# stat isn't in POSIX, and NetBSD stat supports a completely
|
||||||
# different range of flags than GNU stat, so including it in PATH
|
# different range of flags than GNU stat, so including it in PATH
|
||||||
|
@ -6,9 +10,8 @@
|
||||||
# NetBSD's build system and NetBSD stat without including it in
|
# NetBSD's build system and NetBSD stat without including it in
|
||||||
# PATH.
|
# PATH.
|
||||||
|
|
||||||
makeSetupHook {
|
makeSetupHook { name = "netbsd-stat-hook"; } (
|
||||||
name = "netbsd-stat-hook";
|
writeText "netbsd-stat-hook-impl" ''
|
||||||
} (writeText "netbsd-stat-hook-impl" ''
|
makeFlagsArray+=(TOOL_STAT=${stat}/bin/stat)
|
||||||
makeFlagsArray+=(TOOL_STAT=${stat}/bin/stat)
|
''
|
||||||
'')
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
{ mkDerivation
|
{
|
||||||
, bsdSetupHook, netbsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal
|
bsdSetupHook,
|
||||||
, install, mandoc, groff, rsync
|
netbsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
|
rsync,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
# Don't add this to nativeBuildInputs directly.
|
# Don't add this to nativeBuildInputs directly.
|
||||||
|
@ -12,8 +17,12 @@ mkDerivation {
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
sha256 = "18nqwlndfc34qbbgqx5nffil37jfq9aw663ippasfxd2hlyc106x";
|
sha256 = "18nqwlndfc34qbbgqx5nffil37jfq9aw663ippasfxd2hlyc106x";
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook
|
bsdSetupHook
|
||||||
|
netbsdSetupHook
|
||||||
makeMinimal
|
makeMinimal
|
||||||
install mandoc groff rsync
|
install
|
||||||
|
mandoc
|
||||||
|
groff
|
||||||
|
rsync
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,20 @@
|
||||||
{ lib, mkDerivation
|
{
|
||||||
, include
|
lib,
|
||||||
, bsdSetupHook, netbsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal, install, tsort, lorder, statHook, rsync, uudecode, config, genassym
|
include,
|
||||||
, defaultMakeFlags
|
bsdSetupHook,
|
||||||
, common
|
netbsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
tsort,
|
||||||
|
lorder,
|
||||||
|
statHook,
|
||||||
|
rsync,
|
||||||
|
uudecode,
|
||||||
|
config,
|
||||||
|
genassym,
|
||||||
|
defaultMakeFlags,
|
||||||
|
common,
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
path = "sys";
|
path = "sys";
|
||||||
|
@ -29,23 +40,34 @@
|
||||||
''
|
''
|
||||||
substituteInPlace sys/arch/i386/stand/efiboot/Makefile.efiboot \
|
substituteInPlace sys/arch/i386/stand/efiboot/Makefile.efiboot \
|
||||||
--replace "-nocombreloc" "-z nocombreloc"
|
--replace "-nocombreloc" "-z nocombreloc"
|
||||||
'' +
|
''
|
||||||
# multiple header dirs, see above
|
+
|
||||||
include.postPatch;
|
# multiple header dirs, see above
|
||||||
|
include.postPatch;
|
||||||
|
|
||||||
CONFIG = "GENERIC";
|
CONFIG = "GENERIC";
|
||||||
|
|
||||||
propagatedBuildInputs = [ include ];
|
propagatedBuildInputs = [ include ];
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook
|
bsdSetupHook
|
||||||
makeMinimal install tsort lorder statHook rsync uudecode config genassym
|
netbsdSetupHook
|
||||||
|
makeMinimal
|
||||||
|
install
|
||||||
|
tsort
|
||||||
|
lorder
|
||||||
|
statHook
|
||||||
|
rsync
|
||||||
|
uudecode
|
||||||
|
config
|
||||||
|
genassym
|
||||||
];
|
];
|
||||||
|
|
||||||
postConfigure = ''
|
postConfigure =
|
||||||
pushd arch/$MACHINE/conf
|
''
|
||||||
config $CONFIG
|
pushd arch/$MACHINE/conf
|
||||||
popd
|
config $CONFIG
|
||||||
''
|
popd
|
||||||
|
''
|
||||||
# multiple header dirs, see above
|
# multiple header dirs, see above
|
||||||
+ include.postConfigure;
|
+ include.postConfigure;
|
||||||
|
|
||||||
|
@ -68,5 +90,4 @@
|
||||||
|
|
||||||
meta.platforms = lib.platforms.netbsd;
|
meta.platforms = lib.platforms.netbsd;
|
||||||
extraPaths = [ common ];
|
extraPaths = [ common ];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,49 @@
|
||||||
{ lib, mkDerivation
|
{
|
||||||
, include
|
lib,
|
||||||
, bsdSetupHook, netbsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal, install, tsort, lorder, statHook, rsync, uudecode, config, genassym
|
include,
|
||||||
, defaultMakeFlags
|
bsdSetupHook,
|
||||||
, common
|
netbsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
tsort,
|
||||||
|
lorder,
|
||||||
|
statHook,
|
||||||
|
rsync,
|
||||||
|
uudecode,
|
||||||
|
config,
|
||||||
|
genassym,
|
||||||
|
defaultMakeFlags,
|
||||||
|
common,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
base = import ./base.nix {
|
base = import ./base.nix {
|
||||||
inherit
|
inherit
|
||||||
lib mkDerivation include bsdSetupHook netbsdSetupHook makeMinimal install
|
lib
|
||||||
tsort lorder statHook rsync uudecode config genassym defaultMakeFlags
|
mkDerivation
|
||||||
common;
|
include
|
||||||
|
bsdSetupHook
|
||||||
|
netbsdSetupHook
|
||||||
|
makeMinimal
|
||||||
|
install
|
||||||
|
tsort
|
||||||
|
lorder
|
||||||
|
statHook
|
||||||
|
rsync
|
||||||
|
uudecode
|
||||||
|
config
|
||||||
|
genassym
|
||||||
|
defaultMakeFlags
|
||||||
|
common
|
||||||
|
;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
mkDerivation (base // {
|
mkDerivation (
|
||||||
|
base
|
||||||
|
// {
|
||||||
pname = "sys-headers";
|
pname = "sys-headers";
|
||||||
installPhase = "includesPhase";
|
installPhase = "includesPhase";
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
noCC = true;
|
noCC = true;
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
|
@ -1,21 +1,49 @@
|
||||||
{ lib, mkDerivation
|
{
|
||||||
, include
|
lib,
|
||||||
, bsdSetupHook, netbsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal, install, tsort, lorder, statHook, rsync, uudecode, config, genassym
|
include,
|
||||||
, defaultMakeFlags
|
bsdSetupHook,
|
||||||
, common
|
netbsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
tsort,
|
||||||
|
lorder,
|
||||||
|
statHook,
|
||||||
|
rsync,
|
||||||
|
uudecode,
|
||||||
|
config,
|
||||||
|
genassym,
|
||||||
|
defaultMakeFlags,
|
||||||
|
common,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
base = import ./base.nix {
|
base = import ./base.nix {
|
||||||
inherit
|
inherit
|
||||||
lib mkDerivation include bsdSetupHook netbsdSetupHook makeMinimal install
|
lib
|
||||||
tsort lorder statHook rsync uudecode config genassym defaultMakeFlags
|
mkDerivation
|
||||||
common;
|
include
|
||||||
|
bsdSetupHook
|
||||||
|
netbsdSetupHook
|
||||||
|
makeMinimal
|
||||||
|
install
|
||||||
|
tsort
|
||||||
|
lorder
|
||||||
|
statHook
|
||||||
|
rsync
|
||||||
|
uudecode
|
||||||
|
config
|
||||||
|
genassym
|
||||||
|
defaultMakeFlags
|
||||||
|
common
|
||||||
|
;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
mkDerivation (base // {
|
mkDerivation (
|
||||||
|
base
|
||||||
|
// {
|
||||||
pname = "sys";
|
pname = "sys";
|
||||||
installPhase = null;
|
installPhase = null;
|
||||||
noCC = false;
|
noCC = false;
|
||||||
dontBuild = false;
|
dontBuild = false;
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
|
@ -1,11 +1,17 @@
|
||||||
{ mkDerivation
|
{
|
||||||
, bsdSetupHook, netbsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal
|
bsdSetupHook,
|
||||||
, install, mandoc, groff, nbperf, rsync
|
netbsdSetupHook,
|
||||||
, compatIfNeeded
|
makeMinimal,
|
||||||
, defaultMakeFlags
|
install,
|
||||||
, libterminfo
|
mandoc,
|
||||||
, fetchNetBSD
|
groff,
|
||||||
|
nbperf,
|
||||||
|
rsync,
|
||||||
|
compatIfNeeded,
|
||||||
|
defaultMakeFlags,
|
||||||
|
libterminfo,
|
||||||
|
fetchNetBSD,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -15,9 +21,14 @@ mkDerivation {
|
||||||
HOSTPROG = "tic";
|
HOSTPROG = "tic";
|
||||||
buildInputs = compatIfNeeded;
|
buildInputs = compatIfNeeded;
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook
|
bsdSetupHook
|
||||||
|
netbsdSetupHook
|
||||||
makeMinimal
|
makeMinimal
|
||||||
install mandoc groff nbperf rsync
|
install
|
||||||
|
mandoc
|
||||||
|
groff
|
||||||
|
nbperf
|
||||||
|
rsync
|
||||||
];
|
];
|
||||||
makeFlags = defaultMakeFlags ++ [ "TOOLDIR=$(out)" ];
|
makeFlags = defaultMakeFlags ++ [ "TOOLDIR=$(out)" ];
|
||||||
extraPaths = [
|
extraPaths = [
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
{ mkDerivation
|
{
|
||||||
, bsdSetupHook, netbsdSetupHook
|
mkDerivation,
|
||||||
, makeMinimal
|
bsdSetupHook,
|
||||||
, install, mandoc, groff, rsync
|
netbsdSetupHook,
|
||||||
|
makeMinimal,
|
||||||
|
install,
|
||||||
|
mandoc,
|
||||||
|
groff,
|
||||||
|
rsync,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -9,8 +14,12 @@ mkDerivation {
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
sha256 = "1dqvf9gin29nnq3c4byxc7lfd062pg7m84843zdy6n0z63hnnwiq";
|
sha256 = "1dqvf9gin29nnq3c4byxc7lfd062pg7m84843zdy6n0z63hnnwiq";
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bsdSetupHook netbsdSetupHook
|
bsdSetupHook
|
||||||
|
netbsdSetupHook
|
||||||
makeMinimal
|
makeMinimal
|
||||||
install mandoc groff rsync
|
install
|
||||||
|
mandoc
|
||||||
|
groff
|
||||||
|
rsync
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ lib, mkDerivation, stdenv }:
|
{
|
||||||
|
lib,
|
||||||
|
mkDerivation,
|
||||||
|
stdenv,
|
||||||
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
path = "usr.bin/uudecode";
|
path = "usr.bin/uudecode";
|
||||||
|
@ -7,4 +11,3 @@ mkDerivation {
|
||||||
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isLinux "-DNO_BASE64";
|
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isLinux "-DNO_BASE64";
|
||||||
NIX_LDFLAGS = lib.optional stdenv.isDarwin "-lresolv";
|
NIX_LDFLAGS = lib.optional stdenv.isDarwin "-lresolv";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue