nixpkgs/pkgs/os-specific/bsd/openbsd/default.nix
John Ericson 744d7e7477 *bsdCross: Remove these package sets
I realized what rhelmot did in 61202561d9
(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 commit 51f1ecaa59)
2024-06-21 11:47:36 -04:00

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; };
}
);
}