wip - buildable state
This commit is contained in:
28
overlays/libvirt-python313-fix/default.nix
Normal file
28
overlays/libvirt-python313-fix/default.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
{ ... }:
|
||||
|
||||
final: prev:
|
||||
let
|
||||
python313ForCeph =
|
||||
let
|
||||
base = final.python313;
|
||||
in
|
||||
base
|
||||
// {
|
||||
override = args:
|
||||
base.override (args // {
|
||||
packageOverrides = self: super:
|
||||
(if args ? packageOverrides then args.packageOverrides self super else { })
|
||||
// {
|
||||
# Ceph still references cython_0 in nixpkgs; map it to modern cython on py3.13.
|
||||
cython_0 = super.cython;
|
||||
};
|
||||
});
|
||||
};
|
||||
in {
|
||||
# Work around nixos-unstable eval failure:
|
||||
# sphinx-9.1.0 not supported for interpreter python3.11
|
||||
# (seen through libvirtd -> qemu_full -> ceph Python dependency chain).
|
||||
ceph = prev.ceph.override {
|
||||
python311 = python313ForCeph;
|
||||
};
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
{ ... }:
|
||||
|
||||
final: prev: {
|
||||
mesa = (prev.mesa.overrideAttrs (old: rec {
|
||||
version = "git-unstable-2026-02-12";
|
||||
src = prev.fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "mesa";
|
||||
repo = "mesa";
|
||||
rev = "main";
|
||||
hash = "sha256-5gpLORvbV3skALrQa0VxTJJarYjuq+KyTxDm9HtZNbQ=";
|
||||
};
|
||||
patches = [];
|
||||
buildInputs = old.buildInputs ++ (with prev.llvmPackages_21; [
|
||||
clang-unwrapped
|
||||
libclang
|
||||
]);
|
||||
|
||||
# Create symlinks to clang libraries so meson can find them
|
||||
preConfigure = (old.preConfigure or "") + ''
|
||||
mkdir -p $NIX_BUILD_TOP/clang-libs
|
||||
for lib in ${prev.llvmPackages_21.clang-unwrapped.lib}/lib/*.a; do
|
||||
ln -sf "$lib" "$NIX_BUILD_TOP/clang-libs/"
|
||||
done
|
||||
export LIBRARY_PATH="$NIX_BUILD_TOP/clang-libs:''${LIBRARY_PATH:-}"
|
||||
export CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
|
||||
'';
|
||||
|
||||
mesonFlags =
|
||||
(builtins.filter (flag:
|
||||
!(prev.lib.hasPrefix "-Dclang-libdir=" flag) &&
|
||||
flag != "--sysconfdir=/etc"
|
||||
) old.mesonFlags) ++ [
|
||||
"-Dsysconfdir=${placeholder "out"}/etc"
|
||||
] ++ (if prev.stdenv.hostPlatform.is64bit then [ "-Dintel-rt=enabled" ] else [ "-Dintel-rt=disabled" ]);
|
||||
})).override {
|
||||
stdenv = prev.gcc14Stdenv;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
{ ... }:
|
||||
|
||||
final: prev: {
|
||||
synergy = prev.synergy.overrideAttrs (oldAttrs: {
|
||||
postPatch = (oldAttrs.postPatch or "") + ''
|
||||
# Fix deprecated Qt endl usage in QTextStream contexts only
|
||||
# Don't touch cerr/cout which use std::endl
|
||||
find . -name "*.cpp" -type f -exec sed -i \
|
||||
's/\(outStream.*<<.*\)endl/\1Qt::endl/g; s/\(QTextStream.*<<.*\)endl/\1Qt::endl/g' {} +
|
||||
find . -name "*.h" -type f -exec sed -i \
|
||||
's/\(outStream.*<<.*\)endl/\1Qt::endl/g; s/\(QTextStream.*<<.*\)endl/\1Qt::endl/g' {} +
|
||||
|
||||
# Fix missing SIZE_MAX include
|
||||
sed -i '/#include <cstring>/a#include <cstdint>' src/lib/server/InputFilter.cpp
|
||||
'';
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user