195 lines
5.3 KiB
Nix
195 lines
5.3 KiB
Nix
{
|
|
stdenv,
|
|
lib,
|
|
stdenvNoCC,
|
|
makeScopeWithSplicing',
|
|
generateSplicesForMkScope,
|
|
buildPackages,
|
|
fetchcvs,
|
|
}:
|
|
|
|
makeScopeWithSplicing' {
|
|
otherSplices = generateSplicesForMkScope "netbsd";
|
|
f = (
|
|
self:
|
|
lib.packagesFromDirectoryRecursive {
|
|
callPackage = self.callPackage;
|
|
directory = ./pkgs;
|
|
}
|
|
// (
|
|
let
|
|
inherit (self) mkDerivation;
|
|
in
|
|
{
|
|
|
|
fetchNetBSD =
|
|
path: version: sha256:
|
|
fetchcvs {
|
|
cvsRoot = ":pserver:anoncvs@anoncvs.NetBSD.org:/cvsroot";
|
|
module = "src/${path}";
|
|
inherit sha256;
|
|
tag = "netbsd-${lib.replaceStrings [ "." ] [ "-" ] version}-RELEASE";
|
|
};
|
|
|
|
defaultMakeFlags = [
|
|
"MKSOFTFLOAT=${
|
|
if stdenv.hostPlatform.gcc.float or (stdenv.hostPlatform.parsed.abi.float or "hard") == "soft" then
|
|
"yes"
|
|
else
|
|
"no"
|
|
}"
|
|
];
|
|
|
|
compatIfNeeded = lib.optional (!stdenvNoCC.hostPlatform.isNetBSD) self.compat;
|
|
|
|
# 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.
|
|
|
|
mkDerivation = self.callPackage ./pkgs/mkDerivation.nix {
|
|
inherit stdenv stdenvNoCC;
|
|
inherit (buildPackages.netbsd)
|
|
netbsdSetupHook
|
|
makeMinimal
|
|
install
|
|
tsort
|
|
lorder
|
|
;
|
|
inherit (buildPackages) mandoc;
|
|
inherit (buildPackages.buildPackages) rsync;
|
|
|
|
};
|
|
|
|
makeMinimal = self.callPackage ./pkgs/makeMinimal.nix { inherit (self) make; };
|
|
|
|
compat = self.callPackage ./pkgs/compat/package.nix {
|
|
inherit (buildPackages) coreutils;
|
|
inherit (buildPackages.darwin) cctools-port;
|
|
inherit (buildPackages.buildPackages) rsync;
|
|
inherit (buildPackages.netbsd) makeMinimal;
|
|
inherit (self)
|
|
install
|
|
include
|
|
libc
|
|
libutil
|
|
;
|
|
};
|
|
|
|
install = self.callPackage ./pkgs/install/package.nix {
|
|
inherit (self)
|
|
fts
|
|
mtree
|
|
make
|
|
compatIfNeeded
|
|
;
|
|
inherit (buildPackages.buildPackages) rsync;
|
|
inherit (buildPackages.netbsd) makeMinimal;
|
|
};
|
|
|
|
# See note in pkgs/stat/package.nix
|
|
stat = self.callPackage ./pkgs/stat/package.nix {
|
|
inherit (buildPackages.netbsd) makeMinimal install;
|
|
inherit (buildPackages.buildPackages) rsync;
|
|
};
|
|
|
|
# See note in pkgs/stat/hook.nix
|
|
statHook = self.callPackage ./pkgs/stat/hook.nix { inherit (self) stat; };
|
|
|
|
tsort = self.callPackage ./pkgs/tsort.nix {
|
|
inherit (buildPackages.netbsd) makeMinimal install;
|
|
inherit (buildPackages.buildPackages) rsync;
|
|
};
|
|
|
|
lorder = self.callPackage ./pkgs/lorder.nix {
|
|
inherit (buildPackages.netbsd) makeMinimal install;
|
|
inherit (buildPackages.buildPackages) rsync;
|
|
};
|
|
|
|
config = self.callPackage ./pkgs/config.nix {
|
|
inherit (buildPackages.netbsd) makeMinimal install;
|
|
inherit (buildPackages.buildPackages) rsync;
|
|
inherit (self) cksum;
|
|
};
|
|
|
|
include = self.callPackage ./pkgs/include.nix {
|
|
inherit (buildPackages.netbsd)
|
|
makeMinimal
|
|
install
|
|
nbperf
|
|
rpcgen
|
|
;
|
|
inherit (buildPackages) stdenv;
|
|
inherit (buildPackages.buildPackages) rsync;
|
|
};
|
|
|
|
sys-headers = self.callPackage ./pkgs/sys/headers.nix {
|
|
inherit (buildPackages.netbsd)
|
|
makeMinimal
|
|
install
|
|
tsort
|
|
lorder
|
|
statHook
|
|
uudecode
|
|
config
|
|
genassym
|
|
;
|
|
inherit (buildPackages.buildPackages) rsync;
|
|
};
|
|
|
|
libutil = self.callPackage ./pkgs/libutil.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;
|
|
};
|
|
|
|
_mainLibcExtraPaths = with self; [
|
|
common
|
|
i18n_module.src
|
|
sys.src
|
|
ld_elf_so.src
|
|
libpthread.src
|
|
libm.src
|
|
libresolv.src
|
|
librpcsvc.src
|
|
libutil.src
|
|
librt.src
|
|
libcrypt.src
|
|
];
|
|
|
|
libc = self.callPackage ./pkgs/libc.nix {
|
|
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; };
|
|
|
|
}
|
|
)
|
|
);
|
|
}
|