about summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorArtemis Tosini <me@artem.ist>2024-04-27 02:22:23 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2024-05-11 21:52:07 -0400
commit06b05d2289599dd434b6991fa25685ce5cb9a136 (patch)
tree7ecb6c8ef786d99608a239f20982b4f4d423a900 /lib
parentf5710818997d3d517521bd79348f92e546bb7bbe (diff)
downloadnixlib-06b05d2289599dd434b6991fa25685ce5cb9a136.tar
nixlib-06b05d2289599dd434b6991fa25685ce5cb9a136.tar.gz
nixlib-06b05d2289599dd434b6991fa25685ce5cb9a136.tar.bz2
nixlib-06b05d2289599dd434b6991fa25685ce5cb9a136.tar.lz
nixlib-06b05d2289599dd434b6991fa25685ce5cb9a136.tar.xz
nixlib-06b05d2289599dd434b6991fa25685ce5cb9a136.tar.zst
nixlib-06b05d2289599dd434b6991fa25685ce5cb9a136.zip
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 'lib')
-rw-r--r--lib/systems/default.nix2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index 7e9aadeef72e..fbd6c323bf42 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -81,6 +81,8 @@ let
         && final.parsed.kernel == platform.parsed.kernel;
       isCompatible = _: throw "2022-05-23: isCompatible has been removed in favor of canExecute, refer to the 22.11 changelog for details";
       # Derived meta-data
+      useLLVM = final.isFreeBSD;
+
       libc =
         /**/ if final.isDarwin              then "libSystem"
         else if final.isMinGW               then "msvcrt"