fix build from earlier nixpkgs update
This commit is contained in:
parent
66524685a9
commit
ad2fef5b48
|
@ -2,23 +2,48 @@
|
|||
let
|
||||
fetchpatch' = {
|
||||
saneCommit ? null,
|
||||
nixpkgsCommit ? null,
|
||||
prUrl ? null,
|
||||
hash ? null,
|
||||
title ? null,
|
||||
revert ? false,
|
||||
}:
|
||||
let
|
||||
url = if prUrl != null then
|
||||
# prUrl takes precedence over any specific commit
|
||||
"${prUrl}.diff"
|
||||
else
|
||||
else if saneCommit != null then
|
||||
"https://git.uninsane.org/colin/nixpkgs/commit/${saneCommit}.diff"
|
||||
else
|
||||
"https://github.com/NixOS/nixpkgs/commit/${nixpkgsCommit}.patch"
|
||||
;
|
||||
in fetchpatch2 (
|
||||
{ inherit url; }
|
||||
{ inherit revert url; }
|
||||
// (if hash != null then { inherit hash; } else {})
|
||||
// (if title != null then { name = title; } else {})
|
||||
);
|
||||
in [
|
||||
# (fetchpatch' {
|
||||
# # nope: something else broke mesa
|
||||
# title = "mesa: 23.1.8 -> 23.1.9";
|
||||
# nixpkgsCommit = "58fdb93d6f5fd794406ea5152a8641e7247b8242";
|
||||
# revert = true;
|
||||
# hash = "sha256-1Q31YZbQVC4KIRM7lYhEj50uBDpGM0SlWVCrIB5gGzQ=";
|
||||
# })
|
||||
# (fetchpatch' {
|
||||
# # nope: something else broke prawcore
|
||||
# title = "python311Packages.prawcore: 2.3.0 -> 2.4.0";
|
||||
# prUrl = "https://github.com/NixOS/nixpkgs/pull/258535";
|
||||
# revert = true;
|
||||
# hash = "sha256-PdV6435gBoAifZplz4kZ/AsVsPk7RFhULZLHxU9Wgow=";
|
||||
# })
|
||||
|
||||
(fetchpatch' {
|
||||
# merged 2023/10/24
|
||||
title = "mkdocs-minify: disable tests to fix build";
|
||||
prUrl = "https://github.com/NixOS/nixpkgs/pull/263084";
|
||||
hash = "sha256-m/ipSH7MSWOKWjFwdMmWUUJEQs1H/zhWvzsEEm3oofo=";
|
||||
})
|
||||
(fetchpatch' {
|
||||
title = "gsound: enable introspection/vala when cross compiled";
|
||||
prUrl = "https://github.com/NixOS/nixpkgs/pull/263107";
|
||||
|
|
|
@ -157,10 +157,39 @@ let
|
|||
# };
|
||||
# fix up the nixpkgs command that runs a Linux OS inside QEMU:
|
||||
# qemu_kvm doesn't support x86_64 -> aarch64; but full qemu package does.
|
||||
qemuCommandLinux = lib.replaceStrings
|
||||
[ "${final.buildPackages.qemu_kvm}" ]
|
||||
[ "${final.buildPackages.qemu}" ]
|
||||
vmTools.qemuCommandLinux;
|
||||
qemu = final.buildPackages.qemu.override {
|
||||
# disable a bunch of unneeded features, particularly graphics.
|
||||
# this avoids a mesa build failure (2023/10/26).
|
||||
smartcardSupport = false;
|
||||
spiceSupport = false;
|
||||
openGLSupport = false;
|
||||
virglSupport = false;
|
||||
vncSupport = false;
|
||||
gtkSupport = false;
|
||||
sdlSupport = false;
|
||||
pulseSupport = false;
|
||||
pipewireSupport = false;
|
||||
smbdSupport = false;
|
||||
seccompSupport = false;
|
||||
enableDocs = false;
|
||||
};
|
||||
# qemuCommandLinux = lib.replaceStrings
|
||||
# [ "${final.buildPackages.qemu_kvm}" ]
|
||||
# [ "${qemu}" ]
|
||||
# vmTools.qemuCommandLinux;
|
||||
# this qemuCommandLinux is effectively an inline substitution of the above, to avoid taking an unnecessary dep on `buildPackages.qemu_kvm`
|
||||
qemuCommandLinux = ''
|
||||
${vmTools.qemu-common.qemuBinary qemu} \
|
||||
-nographic -no-reboot \
|
||||
-device virtio-rng-pci \
|
||||
-virtfs local,path=${builtins.storeDir},security_model=none,mount_tag=store \
|
||||
-virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
|
||||
''${diskImage:+-drive file=$diskImage,if=virtio,cache=unsafe,werror=report} \
|
||||
-kernel ${final.linux}/${final.stdenv.hostPlatform.linux-kernel.target} \
|
||||
-initrd ${vmTools.initrd}/initrd \
|
||||
-append "console=${vmTools.qemu-common.qemuSerialDevice} panic=1 command=${vmTools.stage2Init} out=$out mountDisk=$mountDisk loglevel=4" \
|
||||
$QEMU_OPTS
|
||||
'';
|
||||
vmRunCommand = final.buildPackages.vmTools.vmRunCommand qemuCommandLinux;
|
||||
in
|
||||
# without binfmt emulation, leverage the `vmTools.runInLinuxVM` infrastructure:
|
||||
|
@ -794,14 +823,13 @@ in {
|
|||
# gnome-user-share = addNativeInputs [ final.glib ] super.gnome-user-share;
|
||||
mutter = (super.mutter.overrideAttrs (orig: {
|
||||
# 2023/07/31: upstreaming is blocked on argyllcms, libavif
|
||||
nativeBuildInputs = orig.nativeBuildInputs ++ [
|
||||
final.glib # fixes "clutter/clutter/meson.build:281:0: ERROR: Program 'glib-mkenums mkenums' not found or not executable"
|
||||
final.buildPackages.gobject-introspection # allows to build without forcing `introspection=false` (which would break gnome-shell)
|
||||
final.wayland-scanner
|
||||
];
|
||||
# N.B.: not all of this suitable to upstreaming, as-is.
|
||||
# mesa and xorgserver are removed here because they *themselves* don't build for `buildPackages` (temporarily: 2023/10/26)
|
||||
nativeBuildInputs = lib.subtractLists [ final.mesa final.xorg.xorgserver ] orig.nativeBuildInputs;
|
||||
buildInputs = orig.buildInputs ++ [
|
||||
final.mesa # fixes "meson.build:237:2: ERROR: Dependency "gbm" not found, tried pkgconfig"
|
||||
];
|
||||
# Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake)
|
||||
mesonFlags = lib.remove "-Ddocs=true" orig.mesonFlags;
|
||||
outputs = lib.remove "devdoc" orig.outputs;
|
||||
}));
|
||||
|
|
|
@ -49,8 +49,18 @@ in {
|
|||
mesonFlags = [ "-Dtests=disabled" ];
|
||||
}) prev.libwacom;
|
||||
|
||||
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
||||
(py-next: py-prev: {
|
||||
# 2023/10/26: tests are i think not at all compatible with python3.11
|
||||
prawcore = dontCheck py-prev.prawcore;
|
||||
praw = dontCheck py-prev.praw;
|
||||
})
|
||||
];
|
||||
|
||||
# 2023/07/31
|
||||
# fails a test (didn't see which one)
|
||||
# only for binfmt-emulated aarch64 -> aarch64 build
|
||||
umockdev = dontCheckEmulated prev.umockdev;
|
||||
# 2023/10/26: should be removable when praw* dontChecks are removed?
|
||||
visidata = dontCheck prev.visidata;
|
||||
})
|
||||
|
|
|
@ -2,6 +2,10 @@
|
|||
# prefer to encode these in `sane.programs`
|
||||
# resort to this method for e.g. system dependencies, or things which are referenced from too many places.
|
||||
(self: super: with self; {
|
||||
electrum = super.electrum.overrideAttrs (upstream: {
|
||||
# 2023/10/26: workaround broken ledger-bitcoin build (since that's only needed if we want to talk to a Ledger wallet)
|
||||
propagatedBuildInputs = lib.remove self.python3.pkgs.ledger-bitcoin upstream.propagatedBuildInputs;
|
||||
});
|
||||
gnome = super.gnome.overrideScope' (gself: gsuper: with gself; {
|
||||
evolution-data-server = gsuper.evolution-data-server.override {
|
||||
# OAuth depends on webkitgtk_4_1: old, forces an annoying recompilation
|
||||
|
|
Loading…
Reference in New Issue
Block a user