diff options
-rw-r--r-- | apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix | 6 | ||||
-rw-r--r-- | apple-silicon-support/packages/linux-asahi/default.nix | 17 | ||||
-rw-r--r-- | apple-silicon-support/packages/linux-asahi/rust-bindgen-version.patch | 14 | ||||
-rw-r--r-- | apple-silicon-support/packages/linux-asahi/rustc-1.73.0-fix.patch | 232 | ||||
-rw-r--r-- | apple-silicon-support/packages/m1n1/default.nix | 6 | ||||
-rw-r--r-- | apple-silicon-support/packages/mesa-asahi-edge/default.nix | 20 | ||||
-rw-r--r-- | apple-silicon-support/packages/mesa-asahi-edge/opencl.patch | 84 | ||||
-rw-r--r-- | apple-silicon-support/packages/uboot-asahi/default.nix | 8 | ||||
-rw-r--r-- | flake.lock | 8 | ||||
-rw-r--r-- | flake.nix | 2 | ||||
-rw-r--r-- | iso-configuration/installer-configuration.nix | 8 |
11 files changed, 125 insertions, 280 deletions
diff --git a/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix b/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix index bb34f19f4f9c..ac9d15e36d4e 100644 --- a/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix +++ b/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix @@ -3,14 +3,14 @@ , alsa-ucm-conf }: (alsa-ucm-conf.overrideAttrs (oldAttrs: rec { - version = "3"; + version = "5"; src_asahi = fetchFromGitHub { - # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/alsa-ucm-conf-asahi/PKGBUILD + # tracking: https://src.fedoraproject.org/rpms/alsa-ucm-asahi owner = "AsahiLinux"; repo = "alsa-ucm-conf-asahi"; rev = "v${version}"; - hash = "sha256-TCCT0AJx0SdnTzzBaV94zuD2hrPqvk+9vTTuEQmpJjc="; + hash = "sha256-daUNz5oUrPfSMO0Tqq/WbtiLHMOtPeQQlI+juGrhTxw="; }; postInstall = oldAttrs.postInstall or "" + '' diff --git a/apple-silicon-support/packages/linux-asahi/default.nix b/apple-silicon-support/packages/linux-asahi/default.nix index 90dcd563ee49..a582aac81b8f 100644 --- a/apple-silicon-support/packages/linux-asahi/default.nix +++ b/apple-silicon-support/packages/linux-asahi/default.nix @@ -88,26 +88,19 @@ let (linuxKernel.manualConfig rec { inherit stdenv lib; - version = "6.5.0-asahi"; + version = "6.6.0-asahi"; modDirVersion = version; - extraMeta.branch = "6.5"; + extraMeta.branch = "6.6"; src = fetchFromGitHub { - # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/linux-asahi/PKGBUILD + # tracking: https://github.com/AsahiLinux/linux/tree/asahi-wip (w/ fedora verification) owner = "AsahiLinux"; repo = "linux"; - rev = "asahi-6.5-15"; - hash = "sha256-Rruk/Nrw425XerZjgDJ4PJ3c63CCycch1qz7vFxHPCE="; + rev = "asahi-6.6-14"; + hash = "sha256-+ydX2XXIbcVfq27WC68EPP8n3bf+WD5fDG7FBq3QJi4="; }; kernelPatches = [ - { name = "rust-bindgen-version"; - patch = ./rust-bindgen-version.patch; - } - ] ++ lib.optionals (rustAtLeast "1.73.0") [ - { name = "rustc-1.73.0"; - patch = ./rustc-1.73.0-fix.patch; - } ] ++ lib.optionals _4KBuild [ # thanks to Sven Peter # https://lore.kernel.org/linux-iommu/20211019163737.46269-1-sven@svenpeter.dev/ diff --git a/apple-silicon-support/packages/linux-asahi/rust-bindgen-version.patch b/apple-silicon-support/packages/linux-asahi/rust-bindgen-version.patch deleted file mode 100644 index 695cb2ceaeff..000000000000 --- a/apple-silicon-support/packages/linux-asahi/rust-bindgen-version.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/scripts/rust_is_available.sh b/scripts/rust_is_available.sh -index aebbf1913..b7b0a4abc 100755 ---- a/scripts/rust_is_available.sh -+++ b/scripts/rust_is_available.sh -@@ -102,8 +102,7 @@ fi - # Check that the `libclang` used by the Rust bindings generator is suitable. - bindgen_libclang_version=$( \ - LC_ALL=C "$BINDGEN" $(dirname $0)/rust_is_available_bindgen_libclang.h 2>&1 >/dev/null \ -- | grep -F 'clang version ' \ -- | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' \ -+ | grep -oP 'clang version \K[0-9]+\.[0-9]+\.[0-9]+' \ - | head -n 1 \ - ) - bindgen_libclang_min_version=$($min_tool_version llvm) diff --git a/apple-silicon-support/packages/linux-asahi/rustc-1.73.0-fix.patch b/apple-silicon-support/packages/linux-asahi/rustc-1.73.0-fix.patch deleted file mode 100644 index 3db8b5860ea3..000000000000 --- a/apple-silicon-support/packages/linux-asahi/rustc-1.73.0-fix.patch +++ /dev/null @@ -1,232 +0,0 @@ -diff --git a/rust/alloc/lib.rs b/rust/alloc/lib.rs -index 49d643c3af6a..9107881810e4 100644 ---- a/rust/alloc/lib.rs -+++ b/rust/alloc/lib.rs -@@ -138,7 +138,6 @@ - #![feature(nonnull_slice_from_raw_parts)] - #![feature(pattern)] - #![feature(pointer_byte_offsets)] --#![feature(provide_any)] - #![feature(ptr_internals)] - #![feature(ptr_metadata)] - #![feature(ptr_sub_ptr)] -diff --git a/rust/kernel/driver.rs b/rust/kernel/driver.rs -index e59f163d8ff3..35f27ba8894e 100644 ---- a/rust/kernel/driver.rs -+++ b/rust/kernel/driver.rs -@@ -108,68 +108,35 @@ fn drop(&mut self) { - } - } - --/// Conversion from a device id to a raw device id. --/// --/// This is meant to be implemented by buses/subsystems so that they can use [`IdTable`] to --/// guarantee (at compile-time) zero-termination of device id tables provided by drivers. --/// --/// # Safety --/// --/// Implementers must ensure that: --/// - [`RawDeviceId::ZERO`] is actually a zeroed-out version of the raw device id. --/// - [`RawDeviceId::to_rawid`] stores `offset` in the context/data field of the raw device id so --/// that buses can recover the pointer to the data. --#[const_trait] --pub unsafe trait RawDeviceId { -- /// The raw type that holds the device id. -- /// -- /// Id tables created from [`Self`] are going to hold this type in its zero-terminated array. -- type RawType: Copy; -- -- /// A zeroed-out representation of the raw device id. -- /// -- /// Id tables created from [`Self`] use [`Self::ZERO`] as the sentinel to indicate the end of -- /// the table. -- const ZERO: Self::RawType; -- -- /// Converts an id into a raw id. -- /// -- /// `offset` is the offset from the memory location where the raw device id is stored to the -- /// location where its associated context information is stored. Implementations must store -- /// this in the appropriate context/data field of the raw type. -- fn to_rawid(&self, offset: isize) -> Self::RawType; --} - - /// A zero-terminated device id array. - #[derive(Copy, Clone)] - #[repr(C)] --pub struct IdArrayIds<T: RawDeviceId, const N: usize> { -- ids: [T::RawType; N], -- sentinel: T::RawType, -+pub struct IdArrayIds<const N: usize> { -+ ids: [bindings::of_device_id; N], -+ sentinel: bindings::of_device_id, - } - --unsafe impl<T: RawDeviceId, const N: usize> Sync for IdArrayIds<T, N> {} -+unsafe impl<const N: usize> Sync for IdArrayIds<N> {} - - /// A zero-terminated device id array, followed by context data. - #[repr(C)] --pub struct IdArray<T: RawDeviceId, U, const N: usize> { -- ids: IdArrayIds<T, N>, -+pub struct IdArray<U, const N: usize> { -+ ids: IdArrayIds<N>, - id_infos: [Option<U>; N], - } - --impl<T: RawDeviceId, U, const N: usize> IdArray<T, U, N> { -+impl<U, const N: usize> IdArray<U, N> { - /// Creates a new instance of the array. - /// - /// The contents are derived from the given identifiers and context information. -- pub const fn new(ids: [T; N], infos: [Option<U>; N]) -> Self -+ pub const fn new(ids: [crate::of::DeviceId; N], infos: [Option<U>; N]) -> Self - where -- T: ~const RawDeviceId + Copy, -- T::RawType: Copy + Clone, - { - let mut array = Self { - ids: IdArrayIds { -- ids: [T::ZERO; N], -- sentinel: T::ZERO, -+ ids: [crate::of::DEVICEID_ZERO; N], -+ sentinel: crate::of::DEVICEID_ZERO, - }, - id_infos: infos, - }; -@@ -191,7 +158,7 @@ impl<T: RawDeviceId, U, const N: usize> IdArray<T, U, N> { - /// Returns an `IdTable` backed by `self`. - /// - /// This is used to essentially erase the array size. -- pub const fn as_table(&self) -> IdTable<'_, T, U> { -+ pub const fn as_table(&self) -> IdTable<'_, U> { - IdTable { - first: &self.ids.ids[0], - _p: PhantomData, -@@ -204,10 +171,7 @@ pub const fn count(&self) -> usize { - } - - /// Returns the inner IdArrayIds array, without the context data. -- pub const fn as_ids(&self) -> IdArrayIds<T, N> -- where -- T: ~const RawDeviceId + Copy, -- { -+ pub const fn as_ids(&self) -> IdArrayIds<N> { - self.ids - } - } -@@ -216,13 +180,13 @@ pub const fn as_ids(&self) -> IdArrayIds<T, N> - /// - /// The table is guaranteed to be zero-terminated and to be followed by an array of context data of - /// type `Option<U>`. --pub struct IdTable<'a, T: RawDeviceId, U> { -- first: &'a T::RawType, -+pub struct IdTable<'a, U> { -+ first: &'a bindings::of_device_id, - _p: PhantomData<&'a U>, - } - --impl<T: RawDeviceId, U> AsRef<T::RawType> for IdTable<'_, T, U> { -- fn as_ref(&self) -> &T::RawType { -+impl<U> AsRef<bindings::of_device_id> for IdTable<'_, U> { -+ fn as_ref(&self) -> &bindings::of_device_id { - self.first - } - } -@@ -364,11 +328,11 @@ macro_rules! second_item { - /// ``` - #[macro_export] - macro_rules! define_id_array { -- ($table_name:ident, $id_type:ty, $data_type:ty, [ $($t:tt)* ]) => { -+ ($table_name:ident, $data_type:ty, [ $($t:tt)* ]) => { - const $table_name: -- $crate::driver::IdArray<$id_type, $data_type, { $crate::count_paren_items!($($t)*) }> = -+ $crate::driver::IdArray<$data_type, { $crate::count_paren_items!($($t)*) }> = - $crate::driver::IdArray::new( -- $crate::first_item!($id_type, $($t)*), $crate::second_item!($($t)*)); -+ $crate::first_item!(crate::of::DeviceId, $($t)*), $crate::second_item!($($t)*)); - }; - } - -@@ -388,8 +352,8 @@ macro_rules! define_id_array { - /// ``` - #[macro_export] - macro_rules! driver_id_table { -- ($table_name:ident, $id_type:ty, $data_type:ty, $target:expr) => { -- const $table_name: Option<$crate::driver::IdTable<'static, $id_type, $data_type>> = -+ ($table_name:ident, $data_type:ty, $target:expr) => { -+ const $table_name: Option<$crate::driver::IdTable<'static, $data_type>> = - Some($target.as_table()); - }; - } -@@ -412,7 +376,7 @@ macro_rules! driver_id_table { - macro_rules! module_id_table { - ($item_name:ident, $table_type:literal, $id_type:ty, $table_name:ident) => { - #[export_name = concat!("__mod_", $table_type, "__", stringify!($table_name), "_device_table")] -- static $item_name: $crate::driver::IdArrayIds<$id_type, { $table_name.count() }> = -+ static $item_name: $crate::driver::IdArrayIds<{ $table_name.count() }> = - $table_name.as_ids(); - }; - } -diff --git a/rust/kernel/of.rs b/rust/kernel/of.rs -index a27621b57fbb..0e2a52ee49da 100644 ---- a/rust/kernel/of.rs -+++ b/rust/kernel/of.rs -@@ -46,7 +46,7 @@ pub enum DeviceId { - #[macro_export] - macro_rules! define_of_id_table { - ($name:ident, $data_type:ty, $($t:tt)*) => { -- $crate::define_id_array!($name, $crate::of::DeviceId, $data_type, $($t)*); -+ $crate::define_id_array!($name, $data_type, $($t)*); - }; - } - -@@ -56,7 +56,6 @@ macro_rules! driver_of_id_table { - ($name:expr) => { - $crate::driver_id_table!( - OF_DEVICE_ID_TABLE, -- $crate::of::DeviceId, - Self::IdInfo, - $name - ); -@@ -72,19 +71,18 @@ macro_rules! module_of_id_table { - }; - } - -+pub const DEVICEID_ZERO: bindings::of_device_id = bindings::of_device_id { -+ name: [0; 32], -+ type_: [0; 32], -+ compatible: [0; 128], -+ data: core::ptr::null(), -+}; - // SAFETY: `ZERO` is all zeroed-out and `to_rawid` stores `offset` in `of_device_id::data`. --unsafe impl const driver::RawDeviceId for DeviceId { -- type RawType = bindings::of_device_id; -- const ZERO: Self::RawType = bindings::of_device_id { -- name: [0; 32], -- type_: [0; 32], -- compatible: [0; 128], -- data: core::ptr::null(), -- }; -+impl DeviceId { - -- fn to_rawid(&self, offset: isize) -> Self::RawType { -+ pub const fn to_rawid(&self, offset: isize) -> bindings::of_device_id { - let DeviceId::Compatible(compatible) = self; -- let mut id = Self::ZERO; -+ let mut id = DEVICEID_ZERO; - let mut i = 0; - while i < compatible.len() { - // If `compatible` does not fit in `id.compatible`, an "index out of bounds" build time -diff --git a/rust/kernel/platform.rs b/rust/kernel/platform.rs -index d42ae1cbaf9e..7281351a2b8a 100644 ---- a/rust/kernel/platform.rs -+++ b/rust/kernel/platform.rs -@@ -140,7 +140,7 @@ pub trait Driver { - type IdInfo: 'static = (); - - /// The table of device ids supported by the driver. -- const OF_DEVICE_ID_TABLE: Option<driver::IdTable<'static, of::DeviceId, Self::IdInfo>> = None; -+ const OF_DEVICE_ID_TABLE: Option<driver::IdTable<'static, Self::IdInfo>> = None; - - /// Platform driver probe. - /// diff --git a/apple-silicon-support/packages/m1n1/default.nix b/apple-silicon-support/packages/m1n1/default.nix index 7955f47ab435..86a8bcdf8bc8 100644 --- a/apple-silicon-support/packages/m1n1/default.nix +++ b/apple-silicon-support/packages/m1n1/default.nix @@ -25,14 +25,14 @@ let }); in stdenv.mkDerivation rec { pname = "m1n1"; - version = "1.4.2"; + version = "1.4.11"; src = fetchFromGitHub { - # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/m1n1/PKGBUILD + # tracking: https://src.fedoraproject.org/rpms/m1n1 owner = "AsahiLinux"; repo = "m1n1"; rev = "v${version}"; - hash = "sha256-zPHLlhXUIX6MV2pnDkuSg4Pz8gB4YOZiaa8MuLasgPY="; + hash = "sha256-1lWI9tcOxgrcfaPfdSF+xRE9qofhNR3SQiA4h86VVeE="; fetchSubmodules = true; }; diff --git a/apple-silicon-support/packages/mesa-asahi-edge/default.nix b/apple-silicon-support/packages/mesa-asahi-edge/default.nix index 0e1b60315cb2..b6b330ef8b4f 100644 --- a/apple-silicon-support/packages/mesa-asahi-edge/default.nix +++ b/apple-silicon-support/packages/mesa-asahi-edge/default.nix @@ -1,22 +1,26 @@ { lib , fetchFromGitLab -, mesa }: +, mesa +, llvmPackages +}: (mesa.override { galliumDrivers = [ "swrast" "asahi" ]; vulkanDrivers = [ "swrast" ]; enableGalliumNine = false; + # libclc and other OpenCL components are needed for geometry shader support on Apple Silicon + enableOpenCL = true; }).overrideAttrs (oldAttrs: { # version must be the same length (i.e. no unstable or date) # so that system.replaceRuntimeDependencies can work - version = "23.3.0"; + version = "24.0.0"; src = fetchFromGitLab { - # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/mesa-asahi-edge/PKGBUILD + # tracking: https://pagure.io/fedora-asahi/mesa/commits/asahi domain = "gitlab.freedesktop.org"; owner = "asahi"; repo = "mesa"; - rev = "asahi-20230904"; - hash = "sha256-hBfXzV8U9fm3cR4KMIl64ypioEeofH3BDl/jZQPLKQg="; + rev = "asahi-20231213"; + hash = "sha256-hl0JtwWEXaCkhCMQJ393mzfw/eEx6m9DYNS+spQ3Vhs="; }; mesonFlags = @@ -34,8 +38,10 @@ "-Dlmsensors=disabled" ]; - # replace disk cache path patch with one tweaked slightly to apply to this version + # replace patches with ones tweaked slightly to apply to this version patches = lib.forEach oldAttrs.patches (p: if lib.hasSuffix "disk_cache-include-dri-driver-path-in-cache-key.patch" p - then ./disk_cache-include-dri-driver-path-in-cache-key.patch else p); + then ./disk_cache-include-dri-driver-path-in-cache-key.patch else + (if lib.hasSuffix "opencl.patch" p + then ./opencl.patch else p)); }) diff --git a/apple-silicon-support/packages/mesa-asahi-edge/opencl.patch b/apple-silicon-support/packages/mesa-asahi-edge/opencl.patch new file mode 100644 index 000000000000..2957bb987854 --- /dev/null +++ b/apple-silicon-support/packages/mesa-asahi-edge/opencl.patch @@ -0,0 +1,84 @@ +From bbd0f154183e4d26a14bb005f6afc636629c201e Mon Sep 17 00:00:00 2001 +From: Thomas Watson <twatson52@icloud.com> +Date: Sat, 16 Dec 2023 20:46:51 -0600 +Subject: [PATCH] opencl.patch from nixpkgs + f416128e90ac75bec060e8b9435fe9c38423c036 + +--- + meson.build | 2 +- + meson_options.txt | 6 ++++++ + src/gallium/targets/opencl/meson.build | 6 +++--- + src/gallium/targets/rusticl/meson.build | 3 +-- + 4 files changed, 11 insertions(+), 6 deletions(-) + +diff --git a/meson.build b/meson.build +index 552ff196aa8..9e10156b875 100644 +--- a/meson.build ++++ b/meson.build +@@ -1829,7 +1829,7 @@ endif + + dep_clang = null_dep + if with_clc +- llvm_libdir = dep_llvm.get_variable(cmake : 'LLVM_LIBRARY_DIR', configtool: 'libdir') ++ llvm_libdir = get_option('clang-libdir') + + dep_clang = cpp.find_library('clang-cpp', dirs : llvm_libdir, required : false) + +diff --git a/meson_options.txt b/meson_options.txt +index c76fa6d3382..d2021f55634 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,6 +1,12 @@ + # Copyright © 2017-2019 Intel Corporation + # SPDX-License-Identifier: MIT + ++option( ++ 'clang-libdir', ++ type : 'string', ++ value : '', ++ description : 'Locations to search for clang libraries.' ++) + option( + 'platforms', + type : 'array', +diff --git a/src/gallium/targets/opencl/meson.build b/src/gallium/targets/opencl/meson.build +index 7c14135898e..cbcd67cc443 100644 +--- a/src/gallium/targets/opencl/meson.build ++++ b/src/gallium/targets/opencl/meson.build +@@ -39,7 +39,8 @@ if dep_llvm.version().version_compare('>=10.0.0') + polly_isl_dep = cpp.find_library('PollyISL', dirs : llvm_libdir, required : false) + endif + +-dep_clang = cpp.find_library('clang-cpp', dirs : llvm_libdir, required : false) ++clang_libdir = get_option('clang-libdir') ++dep_clang = cpp.find_library('clang-cpp', dirs : clang_libdir, required : false) + + # meson will return clang-cpp from system dirs if it's not found in llvm_libdir + linker_rpath_arg = '-Wl,--rpath=@0@'.format(llvm_libdir) +@@ -123,8 +124,7 @@ if with_opencl_icd + configuration : _config, + input : 'mesa.icd.in', + output : 'mesa.icd', +- install : true, +- install_tag : 'runtime', ++ install : false, + install_dir : join_paths(get_option('sysconfdir'), 'OpenCL', 'vendors'), + ) + +diff --git a/src/gallium/targets/rusticl/meson.build b/src/gallium/targets/rusticl/meson.build +index b2963fe6dfa..2f784bdccd4 100644 +--- a/src/gallium/targets/rusticl/meson.build ++++ b/src/gallium/targets/rusticl/meson.build +@@ -76,8 +76,7 @@ configure_file( + configuration : _config, + input : 'rusticl.icd.in', + output : 'rusticl.icd', +- install : true, +- install_tag : 'runtime', ++ install : false, + install_dir : join_paths(get_option('sysconfdir'), 'OpenCL', 'vendors'), + ) + +-- +2.40.1 + diff --git a/apple-silicon-support/packages/uboot-asahi/default.nix b/apple-silicon-support/packages/uboot-asahi/default.nix index 908aff32b1ae..c3bf0847973f 100644 --- a/apple-silicon-support/packages/uboot-asahi/default.nix +++ b/apple-silicon-support/packages/uboot-asahi/default.nix @@ -6,13 +6,13 @@ (buildUBoot rec { src = fetchFromGitHub { - # tracking: https://github.com/AsahiLinux/PKGBUILDs/blob/main/uboot-asahi/PKGBUILD + # tracking: https://pagure.io/fedora-asahi/uboot-tools/commits/main owner = "AsahiLinux"; repo = "u-boot"; - rev = "asahi-v2023.07.02-3"; - hash = "sha256-a7iNawyq7K6jhiVzu5x8mllF3olTP+jQRXGGSsoKINI="; + rev = "asahi-v2023.07.02-4"; + hash = "sha256-M4qkEyNgwV2AKSr5VzPGfhHo1kGy8Tw8TfyP36cgYjc="; }; - version = "2023.07.02.asahi3-1"; + version = "2023.07.02.asahi4-1"; defconfig = "apple_m1_defconfig"; extraMeta.platforms = [ "aarch64-linux" ]; diff --git a/flake.lock b/flake.lock index 1670b54e21dd..14e9ea6b16b7 100644 --- a/flake.lock +++ b/flake.lock @@ -17,17 +17,17 @@ }, "nixpkgs": { "locked": { - "lastModified": 1700419998, - "narHash": "sha256-aXh4adx9x9RlRMSykzR+bY8AOVjcwMEJO1ZeQROwbcE=", + "lastModified": 1702830618, + "narHash": "sha256-lvhwIvRwhOLgzbRuYkqHy4M5cQHYs4ktL6/hyuBS6II=", "owner": "nixos", "repo": "nixpkgs", - "rev": "12a0ade5e458984675b9789a4b260ebabdd2d1ab", + "rev": "91a00709aebb3602f172a0bf47ba1ef013e34835", "type": "github" }, "original": { "owner": "nixos", "repo": "nixpkgs", - "rev": "12a0ade5e458984675b9789a4b260ebabdd2d1ab", + "rev": "91a00709aebb3602f172a0bf47ba1ef013e34835", "type": "github" } }, diff --git a/flake.nix b/flake.nix index 93d0752435c9..cb6e1724ae38 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ nixpkgs = { # https://hydra.nixos.org/jobset/mobile-nixos/unstable/evals # these evals have a cross-compiled stdenv available - url = "github:nixos/nixpkgs/12a0ade5e458984675b9789a4b260ebabdd2d1ab"; + url = "github:nixos/nixpkgs/91a00709aebb3602f172a0bf47ba1ef013e34835"; }; rust-overlay = { diff --git a/iso-configuration/installer-configuration.nix b/iso-configuration/installer-configuration.nix index 0cd3ca711e77..39c9ae90efcf 100644 --- a/iso-configuration/installer-configuration.nix +++ b/iso-configuration/installer-configuration.nix @@ -107,6 +107,14 @@ util-linux = prev.util-linux.override { translateManpages = false; }; + + # documentation cross-compilation is currently broken + # https://github.com/NixOS/nixpkgs/pull/275078 + btrfs-progs = prev.btrfs-progs.overrideAttrs (old: { + configureFlags = (old.configureFlags or []) ++ [ + "--disable-documentation" + ]; + }); }) ]; |