mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-03 20:33:21 +00:00
744d7e7477
I realized what rhelmot did in61202561d9
(specify what packages just need `stdenvNoLibc`) is definitely the right approach for this, and adjusted NetBSD and OpenBSD to likewise use it. With that change, we don't need these confusing and ugly `*bsdCross` package sets at all! We can get rid of a lot more libc-related `*Cross`, and I will do so soon, but this is the first step. (adapted from commit51f1ecaa59
)
51 lines
1.4 KiB
Nix
51 lines
1.4 KiB
Nix
{
|
|
lib,
|
|
makeScopeWithSplicing',
|
|
generateSplicesForMkScope,
|
|
buildPackages,
|
|
}:
|
|
|
|
let
|
|
otherSplices = generateSplicesForMkScope "openbsd";
|
|
buildOpenbsd = otherSplices.selfBuildHost;
|
|
in
|
|
|
|
makeScopeWithSplicing' {
|
|
inherit otherSplices;
|
|
f = (
|
|
self:
|
|
lib.packagesFromDirectoryRecursive {
|
|
callPackage = self.callPackage;
|
|
directory = ./pkgs;
|
|
}
|
|
// {
|
|
libc = self.callPackage ./pkgs/libc/package.nix {
|
|
inherit (self) csu include;
|
|
inherit (buildOpenbsd) makeMinimal;
|
|
inherit (buildPackages.netbsd)
|
|
install
|
|
gencat
|
|
rpcgen
|
|
tsort
|
|
;
|
|
};
|
|
makeMinimal = buildPackages.netbsd.makeMinimal.override { inherit (self) make-rules; };
|
|
mkDerivation = self.callPackage ./pkgs/mkDerivation.nix {
|
|
inherit (buildPackages.netbsd) install;
|
|
inherit (buildPackages.buildPackages) rsync;
|
|
};
|
|
include = self.callPackage ./pkgs/include/package.nix {
|
|
inherit (buildOpenbsd) makeMinimal;
|
|
inherit (buildPackages.netbsd) install rpcgen mtree;
|
|
};
|
|
csu = self.callPackage ./pkgs/csu.nix {
|
|
inherit (self) include;
|
|
inherit (buildOpenbsd) makeMinimal;
|
|
inherit (buildPackages.netbsd) install;
|
|
};
|
|
make-rules = self.callPackage ./pkgs/make-rules/package.nix { };
|
|
lorder = self.callPackage ./pkgs/lorder.nix { inherit (buildPackages.netbsd) install; };
|
|
}
|
|
);
|
|
}
|