diff options
author | Artemis Tosini <me@artem.ist> | 2024-04-27 02:22:23 +0000 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2024-05-11 21:52:07 -0400 |
commit | 06b05d2289599dd434b6991fa25685ce5cb9a136 (patch) | |
tree | 7ecb6c8ef786d99608a239f20982b4f4d423a900 /pkgs/os-specific/bsd/freebsd/package-set.nix | |
parent | f5710818997d3d517521bd79348f92e546bb7bbe (diff) |
freebsd: Cleanup, get ready to support version 14
* Extend libc Include non-libc core libraries in the libc package. Many of these mirror libraries present in glibc on linux, such as libgcc, libraries used for iconv, and libraries used for reading kernel info (libkvm, libprocstat, libmemstat). Without this many packages outside the freebsd tree would need to be modified to include standard dependencies which would already be on the system for other packages. * Mark FreeBSD as using LLVM * Update default LLVM version FreeBSD * Use patch monolith The patchesRoot system combined with the fact that each derivation will Request specific names of patches makes it very annoying to use other FreeBSD source trees with nixpkgs. This new system allows providing one Or more entire trees of patches whose contents will be dynamically Parsed and only the relevant patches will be applied for any one Derivation. With this commit, the following knobs are available for specifying the FreeBSD source: - overriding `freebsd.versionInfo`, for picking another official supported FreeBSD release. - overriding `freebsd.source` for specifying a specific unpatched FreeBSD source tree. - overriding `freebsd.patches`, for specifying the patches to apply. Co-Authored-by: Audrey Dutcher <audrey@rhelmot.io> Co-Authored-by: John Ericson <John.Ericson@Obsidian.Systems>
Diffstat (limited to 'pkgs/os-specific/bsd/freebsd/package-set.nix')
-rw-r--r-- | pkgs/os-specific/bsd/freebsd/package-set.nix | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/pkgs/os-specific/bsd/freebsd/package-set.nix b/pkgs/os-specific/bsd/freebsd/package-set.nix index 000377c6af91e..dfde4a0a31fa2 100644 --- a/pkgs/os-specific/bsd/freebsd/package-set.nix +++ b/pkgs/os-specific/bsd/freebsd/package-set.nix @@ -17,6 +17,7 @@ lib.packagesFromDirectoryRecursive { } // { inherit sourceData patchesRoot versionData; + patches = ./patches/${self.versionData.revision}; # Keep the crawled portion of Nixpkgs finite. buildFreebsd = lib.dontRecurseIntoAttrs buildFreebsd; @@ -26,7 +27,8 @@ lib.packagesFromDirectoryRecursive { sha256 = "BpHqJfnGOeTE7tkFJBx0Wk8ryalmf4KNTit/Coh026E="; }; - compatIfNeeded = lib.optional (!stdenvNoCC.hostPlatform.isFreeBSD) self.compat; + compatIsNeeded = !stdenvNoCC.hostPlatform.isFreeBSD; + compatIfNeeded = lib.optional self.compatIsNeeded self.compat; freebsd-lib = import ./lib { version = lib.concatStringsSep "." ( map toString ( @@ -44,7 +46,7 @@ lib.packagesFromDirectoryRecursive { compat = self.callPackage ./pkgs/compat/package.nix { inherit stdenv; - inherit (buildFreebsd) makeMinimal boot-install; + inherit (buildFreebsd) makeMinimal; }; csu = self.callPackage ./pkgs/csu.nix { @@ -52,13 +54,11 @@ lib.packagesFromDirectoryRecursive { inherit (self) include; }; - include = self.callPackage ./pkgs/include/package.nix { - inherit (buildFreebsd) makeMinimal install rpcgen; - }; + include = self.callPackage ./pkgs/include/package.nix { inherit (buildFreebsd) rpcgen mtree; }; install = self.callPackage ./pkgs/install.nix { inherit (buildFreebsd) makeMinimal; - inherit (self) mtree libnetbsd; + inherit (self) libmd libnetbsd; }; libc = self.callPackage ./pkgs/libc/package.nix { @@ -67,16 +67,30 @@ lib.packagesFromDirectoryRecursive { install gencat rpcgen + mkcsmapper + mkesdb ; inherit (self) csu include; }; libnetbsd = self.callPackage ./pkgs/libnetbsd/package.nix { inherit (buildFreebsd) makeMinimal; }; + libmd = self.callPackage ./pkgs/libmd.nix { inherit (buildFreebsd) makeMinimal; }; + mkDerivation = self.callPackage ./pkgs/mkDerivation.nix { inherit stdenv; - inherit (buildFreebsd) makeMinimal install tsort; + inherit (buildFreebsd) + freebsdSetupHook + makeMinimal + install + tsort + lorder + ; }; makeMinimal = self.callPackage ./pkgs/makeMinimal.nix { inherit (self) make; }; + + mtree = self.callPackage ./pkgs/mtree.nix { inherit (self) libnetbsd libmd; }; + + tsort = self.callPackage ./pkgs/tsort.nix { inherit (buildFreebsd) makeMinimal install; }; } |