b64a9bb1a9
This creates multiple package sets for different versions. The other versions don't yet work, but that will be fixed in subsequent PRs. Push versionData into package set so that it can be overridden Co-Authored-By: Audrey Dutcher <audrey@rhelmot.io> Co-Authored-By: Artemis Tosini <me@artem.ist>
72 lines
1.9 KiB
Nix
72 lines
1.9 KiB
Nix
{ stdenv, lib, stdenvNoCC
|
|
, fetchzip
|
|
, sourceData, versionData, buildFreebsd
|
|
}:
|
|
|
|
self:
|
|
|
|
lib.packagesFromDirectoryRecursive {
|
|
callPackage = self.callPackage;
|
|
directory = ./pkgs;
|
|
} // {
|
|
inherit sourceData versionData;
|
|
|
|
# Keep the crawled portion of Nixpkgs finite.
|
|
buildFreebsd = lib.dontRecurseIntoAttrs buildFreebsd;
|
|
|
|
ports = fetchzip {
|
|
url = "https://cgit.freebsd.org/ports/snapshot/ports-dde3b2b456c3a4bdd217d0bf3684231cc3724a0a.tar.gz";
|
|
sha256 = "BpHqJfnGOeTE7tkFJBx0Wk8ryalmf4KNTit/Coh026E=";
|
|
};
|
|
|
|
compatIfNeeded = lib.optional (!stdenvNoCC.hostPlatform.isFreeBSD) self.compat;
|
|
freebsd-lib = import ./lib {
|
|
version = lib.concatStringsSep "." (map toString (lib.filter (x: x != null) [
|
|
self.versionData.major
|
|
self.versionData.minor
|
|
self.versionData.patch or null
|
|
]));
|
|
};
|
|
|
|
# The manual callPackages below should in principle be unnecessary, but are
|
|
# necessary. See note in ../netbsd/default.nix
|
|
|
|
compat = self.callPackage ./pkgs/compat/package.nix {
|
|
inherit stdenv;
|
|
inherit (buildFreebsd) makeMinimal boot-install;
|
|
};
|
|
|
|
csu = self.callPackage ./pkgs/csu.nix {
|
|
inherit (buildFreebsd) makeMinimal install gencat;
|
|
inherit (self) include;
|
|
};
|
|
|
|
include = self.callPackage ./pkgs/include/package.nix {
|
|
inherit (buildFreebsd) makeMinimal install rpcgen;
|
|
};
|
|
|
|
install = self.callPackage ./pkgs/install.nix {
|
|
inherit (buildFreebsd) makeMinimal;
|
|
inherit (self) mtree libnetbsd;
|
|
};
|
|
|
|
libc = self.callPackage ./pkgs/libc/package.nix {
|
|
inherit (buildFreebsd) makeMinimal install gencat rpcgen;
|
|
inherit (self) csu include;
|
|
};
|
|
|
|
libnetbsd = self.callPackage ./pkgs/libnetbsd/package.nix {
|
|
inherit (buildFreebsd) makeMinimal;
|
|
};
|
|
|
|
mkDerivation = self.callPackage ./pkgs/mkDerivation.nix {
|
|
inherit stdenv;
|
|
inherit (buildFreebsd) makeMinimal install tsort;
|
|
};
|
|
|
|
makeMinimal = self.callPackage ./pkgs/makeMinimal.nix {
|
|
inherit (self) make;
|
|
};
|
|
|
|
}
|