182 lines
4.5 KiB
Nix
182 lines
4.5 KiB
Nix
{
|
|
lib,
|
|
stdenvNoLibc,
|
|
stdenvNoCC,
|
|
makeScopeWithSplicing',
|
|
generateSplicesForMkScope,
|
|
buildPackages,
|
|
fetchcvs,
|
|
}:
|
|
|
|
let
|
|
otherSplices = generateSplicesForMkScope "netbsd";
|
|
buildNetbsd = otherSplices.selfBuildHost;
|
|
in
|
|
|
|
makeScopeWithSplicing' {
|
|
inherit otherSplices;
|
|
f = (
|
|
self:
|
|
lib.packagesFromDirectoryRecursive {
|
|
callPackage = self.callPackage;
|
|
directory = ./pkgs;
|
|
}
|
|
// {
|
|
version = "9.2";
|
|
|
|
defaultMakeFlags = [
|
|
"MKSOFTFLOAT=${
|
|
if
|
|
stdenvNoCC.hostPlatform.gcc.float or (stdenvNoCC.hostPlatform.parsed.abi.float or "hard") == "soft"
|
|
then
|
|
"yes"
|
|
else
|
|
"no"
|
|
}"
|
|
];
|
|
|
|
compatIfNeeded = lib.optional (!stdenvNoCC.hostPlatform.isNetBSD) self.compat;
|
|
|
|
stdenvLibcMinimal = stdenvNoLibc.override (old: {
|
|
cc = old.cc.override {
|
|
libc = self.libcMinimal;
|
|
noLibc = false;
|
|
bintools = old.cc.bintools.override {
|
|
libc = self.libcMinimal;
|
|
noLibc = false;
|
|
sharedLibraryLoader = null;
|
|
};
|
|
};
|
|
});
|
|
|
|
# The manual callPackages below should in principle be unnecessary because
|
|
# they're just selecting arguments that would be selected anyway. However,
|
|
# if we don't perform these manual calls, we get infinite recursion issues
|
|
# because of the splices.
|
|
|
|
compat = self.callPackage ./pkgs/compat/package.nix {
|
|
inherit (buildPackages) coreutils;
|
|
inherit (buildNetbsd) makeMinimal;
|
|
inherit (self) install;
|
|
};
|
|
|
|
config = self.callPackage ./pkgs/config.nix {
|
|
inherit (buildNetbsd) makeMinimal install;
|
|
inherit (self) cksum;
|
|
};
|
|
|
|
csu = self.callPackage ./pkgs/csu.nix {
|
|
inherit (self) headers sys-headers ld_elf_so;
|
|
inherit (buildNetbsd)
|
|
netbsdSetupHook
|
|
makeMinimal
|
|
install
|
|
genassym
|
|
gencat
|
|
lorder
|
|
tsort
|
|
statHook
|
|
;
|
|
};
|
|
|
|
include = self.callPackage ./pkgs/include.nix {
|
|
inherit (buildNetbsd)
|
|
makeMinimal
|
|
install
|
|
nbperf
|
|
rpcgen
|
|
;
|
|
inherit (buildPackages) stdenv;
|
|
};
|
|
|
|
install = self.callPackage ./pkgs/install/package.nix {
|
|
inherit (self)
|
|
fts
|
|
mtree
|
|
make
|
|
compatIfNeeded
|
|
;
|
|
inherit (buildNetbsd) makeMinimal;
|
|
};
|
|
|
|
libcMinimal = self.callPackage ./pkgs/libcMinimal/package.nix {
|
|
inherit (self) headers csu;
|
|
inherit (buildNetbsd)
|
|
netbsdSetupHook
|
|
makeMinimal
|
|
install
|
|
genassym
|
|
gencat
|
|
lorder
|
|
tsort
|
|
statHook
|
|
rpcgen
|
|
;
|
|
};
|
|
|
|
libpthread-headers = self.callPackage ./pkgs/libpthread/headers.nix { };
|
|
|
|
librpcsvc = self.callPackage ./pkgs/librpcsvc.nix {
|
|
inherit (buildNetbsd)
|
|
netbsdSetupHook
|
|
makeMinimal
|
|
install
|
|
lorder
|
|
tsort
|
|
statHook
|
|
rpcgen
|
|
;
|
|
};
|
|
|
|
libutil = self.callPackage ./pkgs/libutil.nix {
|
|
inherit (buildNetbsd)
|
|
netbsdSetupHook
|
|
makeMinimal
|
|
install
|
|
lorder
|
|
tsort
|
|
statHook
|
|
;
|
|
};
|
|
|
|
lorder = self.callPackage ./pkgs/lorder.nix { inherit (buildNetbsd) makeMinimal install; };
|
|
|
|
mtree = self.callPackage ./pkgs/mtree.nix { inherit (self) mknod; };
|
|
|
|
mkDerivation = self.callPackage ./pkgs/mkDerivation.nix {
|
|
inherit (buildNetbsd)
|
|
netbsdSetupHook
|
|
makeMinimal
|
|
install
|
|
tsort
|
|
lorder
|
|
;
|
|
inherit (buildPackages) mandoc;
|
|
inherit (buildPackages.buildPackages) rsync;
|
|
};
|
|
|
|
makeMinimal = self.callPackage ./pkgs/makeMinimal.nix { inherit (self) make; };
|
|
|
|
# See note in pkgs/stat/package.nix
|
|
stat = self.callPackage ./pkgs/stat/package.nix { inherit (buildNetbsd) makeMinimal install; };
|
|
|
|
# See note in pkgs/stat/hook.nix
|
|
statHook = self.callPackage ./pkgs/stat/hook.nix { inherit (self) stat; };
|
|
|
|
sys-headers = self.callPackage ./pkgs/sys/headers.nix {
|
|
inherit (buildNetbsd)
|
|
makeMinimal
|
|
install
|
|
tsort
|
|
lorder
|
|
statHook
|
|
uudecode
|
|
config
|
|
genassym
|
|
;
|
|
};
|
|
|
|
tsort = self.callPackage ./pkgs/tsort.nix { inherit (buildNetbsd) makeMinimal install; };
|
|
}
|
|
);
|
|
}
|