Merge branch 'staging' into staging-next

This commit is contained in:
Vladimír Čunát
2023-05-02 09:56:58 +02:00
56 changed files with 297 additions and 87 deletions
+1
View File
@@ -50,6 +50,7 @@ rec {
else if final.isFreeBSD then "fblibc"
else if final.isNetBSD then "nblibc"
else if final.isAvr then "avrlibc"
else if final.isGhcjs then null
else if final.isNone then "newlib"
# TODO(@Ericson2314) think more about other operating systems
else "native/impure";
@@ -36,7 +36,6 @@ mkDerivation rec {
qmakeFlags = [
"DEFINES+=USE_LOCAL_STK"
"DEFINES+=USE_LOCAL_QCUSTOMPLOT"
"INCLUDEPATH+=${libjack2}/include/jack"
];
meta = with lib; {
@@ -55,10 +55,12 @@ if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "${NIX_STORE:-}"
# produces '-syslibroot //' linker flag. It's a no-op,
# which does not introduce impurities.
n+=1; skip "$p2"
elif [ "${p:0:1}" = / ] && badPath "$p"; then
# We cannot skip this; barf.
echo "impure path \`$p' used in link" >&2
exit 1
elif [ "${p:0:10}" = /LIBPATH:/ ] && badPath "${p:9}"; then
reject "${p:9}"
# We need to not match LINK.EXE-style flags like
# /NOLOGO or /LIBPATH:/nix/store/foo
elif [[ $p =~ ^/[^:]*/ ]] && badPath "$p"; then
reject "$p"
elif [ "${p:0:9}" = --sysroot ]; then
# Our ld is not built with sysroot support (Can we fix that?)
:
+1 -1
View File
@@ -518,7 +518,7 @@ stdenv.mkDerivation {
''
# TODO: categorize these and figure out a better place for them
+ optionalString hostPlatform.isCygwin ''
+ optionalString targetPlatform.isWindows ''
hardening_unsupported_flags+=" pic"
'' + optionalString targetPlatform.isMinGW ''
hardening_unsupported_flags+=" stackprotector fortify"
@@ -67,7 +67,7 @@ wrapProgramBinary() {
hidden="${hidden}_"
done
mv "$prog" "$hidden"
makeWrapper "$hidden" "$prog" --inherit-argv0 "${@:2}"
makeBinaryWrapper "$hidden" "$prog" --inherit-argv0 "${@:2}"
}
# Generate source code for the wrapper in such a way that the wrapper inputs
@@ -217,5 +217,5 @@ wrapProgramShell() {
hidden="${hidden}_"
done
mv "$prog" "$hidden"
makeWrapper "$hidden" "$prog" --inherit-argv0 "${@:2}"
makeShellWrapper "$hidden" "$prog" --inherit-argv0 "${@:2}"
}
+6 -1
View File
@@ -84,12 +84,17 @@ mangleVarSingle() {
done
}
skip () {
skip() {
if (( "${NIX_DEBUG:-0}" >= 1 )); then
echo "skipping impure path $1" >&2
fi
}
reject() {
echo "impure path \`$1' used in link" >&2
exit 1
}
# Checks whether a path is impure. E.g., `/lib/foo.so' is impure, but
# `/nix/store/.../lib/foo.so' isn't.
@@ -10,12 +10,12 @@
}:
stdenv.mkDerivation rec {
pname = "glslang";
version = "1.3.243.0";
version = "12.1.0";
src = fetchFromGitHub {
owner = "KhronosGroup";
repo = "glslang";
rev = "sdk-${version}";
rev = version;
hash = "sha256-U45/7G02o82EP4zh7i2Go0VCnsO1B7vxDwIokjyo5Rk=";
};
@@ -40,8 +40,6 @@ stdenv.mkDerivation {
"-DCMAKE_CXX_COMPILER_WORKS=ON"
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
] ++ lib.optionals (useLLVM && !haveLibc) [
"-DCMAKE_C_FLAGS=-nodefaultlibs"
] ++ lib.optionals (useLLVM) [
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
@@ -90,6 +88,10 @@ stdenv.mkDerivation {
--replace "#include <assert.h>" ""
'';
preConfigure = lib.optionalString (useLLVM && !haveLibc) ''
cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding")
'';
# Hack around weird upsream RPATH bug
postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
ln -s "$out/lib"/*/* "$out/lib"
@@ -102,7 +102,8 @@ let
# pick clang appropriate for package set we are targeting
clang =
/**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
/**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
else tools.libcxxClang;
@@ -41,8 +41,6 @@ stdenv.mkDerivation {
"-DCMAKE_CXX_COMPILER_WORKS=ON"
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
] ++ lib.optionals (!haveLibc) [
"-DCMAKE_C_FLAGS=-nodefaultlibs"
] ++ lib.optionals (useLLVM || isNewDarwinBootstrap) [
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
@@ -75,6 +73,8 @@ stdenv.mkDerivation {
preConfigure = lib.optionalString stdenv.hostPlatform.isDarwin ''
cmakeFlagsArray+=("-DCMAKE_LIPO=$(command -v ${stdenv.cc.targetPrefix}lipo)")
'' + lib.optionalString (!haveLibc) ''
cmakeFlagsArray+=("-DCMAKE_C_FLAGS=-nodefaultlibs -ffreestanding")
'';
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
@@ -117,7 +117,8 @@ let
# pick clang appropriate for package set we are targeting
clang =
/**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
/**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
else tools.libcxxClang;
@@ -42,8 +42,6 @@ stdenv.mkDerivation {
"-DCMAKE_CXX_COMPILER_WORKS=ON"
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
] ++ lib.optionals (useLLVM && !haveLibc) [
"-DCMAKE_C_FLAGS=-nodefaultlibs"
] ++ lib.optionals (useLLVM) [
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
@@ -93,6 +91,10 @@ stdenv.mkDerivation {
--replace "#include <assert.h>" ""
'';
preConfigure = lib.optionalString (useLLVM && !haveLibc) ''
cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding")
'';
# Hack around weird upsream RPATH bug
postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
ln -s "$out/lib"/*/* "$out/lib"
@@ -105,7 +105,8 @@ let
# pick clang appropriate for package set we are targeting
clang =
/**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
/**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
else tools.libcxxClang;
@@ -46,8 +46,6 @@ stdenv.mkDerivation {
"-DCMAKE_CXX_COMPILER_WORKS=ON"
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
] ++ lib.optionals (useLLVM && !haveLibc) [
"-DCMAKE_C_FLAGS=-nodefaultlibs"
] ++ lib.optionals (useLLVM) [
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
@@ -100,6 +98,10 @@ stdenv.mkDerivation {
--replace "#include <assert.h>" ""
'';
preConfigure = lib.optionalString (useLLVM && !haveLibc) ''
cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding")
'';
# Hack around weird upsream RPATH bug
postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
ln -s "$out/lib"/*/* "$out/lib"
@@ -106,7 +106,8 @@ let
# pick clang appropriate for package set we are targeting
clang =
/**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
/**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
else tools.libcxxClang;
@@ -54,8 +54,6 @@ stdenv.mkDerivation {
"-DCMAKE_CXX_COMPILER_WORKS=ON"
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
] ++ lib.optionals (useLLVM && !haveLibc) [
"-DCMAKE_C_FLAGS=-nodefaultlibs"
] ++ lib.optionals (useLLVM) [
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
@@ -109,6 +107,10 @@ stdenv.mkDerivation {
--replace "#include <assert.h>" ""
'';
preConfigure = lib.optionalString (useLLVM && !haveLibc) ''
cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding")
'';
# Hack around weird upsream RPATH bug
postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
ln -s "$out/lib"/*/* "$out/lib"
@@ -107,7 +107,8 @@ let
# pick clang appropriate for package set we are targeting
clang =
/**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
/**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
else tools.libcxxClang;
@@ -54,8 +54,6 @@ stdenv.mkDerivation {
"-DCMAKE_CXX_COMPILER_WORKS=ON"
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
] ++ lib.optionals (useLLVM && !haveLibc) [
"-DCMAKE_C_FLAGS=-nodefaultlibs"
] ++ lib.optionals (useLLVM) [
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
@@ -110,6 +108,10 @@ stdenv.mkDerivation {
--replace "#include <assert.h>" ""
'';
preConfigure = lib.optionalString (useLLVM && !haveLibc) ''
cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding")
'';
# Hack around weird upsream RPATH bug
postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
ln -s "$out/lib"/*/* "$out/lib"
@@ -155,7 +155,8 @@ in let
# pick clang appropriate for package set we are targeting
clang =
/**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
/**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
else tools.libcxxClang;
@@ -77,7 +77,8 @@ let
# pick clang appropriate for package set we are targeting
clang =
/**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
/**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
else tools.libcxxClang;
@@ -78,7 +78,8 @@ let
# pick clang appropriate for package set we are targeting
clang =
/**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
/**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
else tools.libcxxClang;
@@ -38,8 +38,6 @@ stdenv.mkDerivation {
"-DCMAKE_CXX_COMPILER_WORKS=ON"
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
] ++ lib.optionals (useLLVM && !haveLibc) [
"-DCMAKE_C_FLAGS=-nodefaultlibs"
] ++ lib.optionals (useLLVM) [
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
@@ -84,6 +82,10 @@ stdenv.mkDerivation {
--replace "#include <assert.h>" ""
'';
preConfigure = lib.optionalString (useLLVM && !haveLibc) ''
cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding")
'';
# Hack around weird upsream RPATH bug
postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
ln -s "$out/lib"/*/* "$out/lib"
@@ -109,7 +109,8 @@ let
# pick clang appropriate for package set we are targeting
clang =
/**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
/**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
else tools.libcxxClang;
@@ -38,8 +38,6 @@ stdenv.mkDerivation {
"-DCMAKE_CXX_COMPILER_WORKS=ON"
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
] ++ lib.optionals (useLLVM && !haveLibc) [
"-DCMAKE_C_FLAGS=-nodefaultlibs"
] ++ lib.optionals (useLLVM) [
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
@@ -84,6 +82,10 @@ stdenv.mkDerivation {
--replace "#include <assert.h>" ""
'';
preConfigure = lib.optionalString (useLLVM && !haveLibc) ''
cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding")
'';
# Hack around weird upsream RPATH bug
postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
ln -s "$out/lib"/*/* "$out/lib"
@@ -110,7 +110,8 @@ let
# pick clang appropriate for package set we are targeting
clang =
/**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
/**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
else tools.libcxxClang;
@@ -38,8 +38,6 @@ stdenv.mkDerivation {
"-DCMAKE_CXX_COMPILER_WORKS=ON"
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
] ++ lib.optionals (useLLVM && !haveLibc) [
"-DCMAKE_C_FLAGS=-nodefaultlibs"
] ++ lib.optionals (useLLVM) [
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
@@ -87,6 +85,10 @@ stdenv.mkDerivation {
--replace "#include <assert.h>" ""
'';
preConfigure = lib.optionalString (useLLVM && !haveLibc) ''
cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding")
'';
# Hack around weird upsream RPATH bug
postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
ln -s "$out/lib"/*/* "$out/lib"
@@ -110,7 +110,8 @@ let
# pick clang appropriate for package set we are targeting
clang =
/**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
/**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
else tools.libcxxClang;
@@ -54,8 +54,6 @@ stdenv.mkDerivation {
"-DCMAKE_CXX_COMPILER_WORKS=ON"
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
] ++ lib.optionals (useLLVM && !haveLibc) [
"-DCMAKE_C_FLAGS=-nodefaultlibs"
] ++ lib.optionals (useLLVM) [
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
#https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
@@ -71,6 +69,10 @@ stdenv.mkDerivation {
"-DCOMPILER_RT_ENABLE_IOS=OFF"
];
preConfigure = lib.optionalString (useLLVM && !haveLibc) ''
cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding")
'';
outputs = [ "out" "dev" ];
patches = [
@@ -155,7 +155,8 @@ in let
# pick clang appropriate for package set we are targeting
clang =
/**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
/**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
else tools.libcxxClang;
@@ -80,6 +80,7 @@
, withSsh ? withHeadlessDeps # SFTP protocol
, withSvg ? withFullDeps # SVG protocol
, withSvtav1 ? withFullDeps && !stdenv.isAarch64 # AV1 encoder/decoder (focused on speed and correctness)
, withTensorflow ? false # Tensorflow dnn backend support
, withTheora ? withHeadlessDeps # Theora encoder
, withV4l2 ? withFullDeps && !stdenv.isDarwin # Video 4 Linux support
, withV4l2M2m ? withV4l2
@@ -213,6 +214,7 @@
, libplacebo
, librsvg
, libssh
, libtensorflow
, libtheora
, libv4l
, libva
@@ -475,6 +477,7 @@ stdenv.mkDerivation (finalAttrs: {
(enableFeature withSvg "librsvg")
(enableFeature withSrt "libsrt")
(enableFeature withSsh "libssh")
(enableFeature withTensorflow "libtensorflow")
(enableFeature withTheora "libtheora")
(enableFeature withV4l2 "libv4l2")
(enableFeature withV4l2M2m "v4l2-m2m")
@@ -600,6 +603,7 @@ stdenv.mkDerivation (finalAttrs: {
++ optionals withSsh [ libssh ]
++ optionals withSvg [ librsvg ]
++ optionals withSvtav1 [ svt-av1 ]
++ optionals withTensorflow [ libtensorflow ]
++ optionals withTheora [ libtheora ]
++ optionals withVaapi [ (if withSmallDeps then libva else libva-minimal) ]
++ optionals withVdpau [ libvdpau ]
@@ -1,11 +1,13 @@
{ runCommand, libxslt, fontconfig, dejavu_fonts, fontDirectories }:
{ runCommand, stdenv, lib, libxslt, fontconfig, dejavu_fonts, fontDirectories }:
runCommand "fonts.conf"
{
nativeBuildInputs = [ libxslt ];
buildInputs = [ fontconfig ];
# Add a default font for non-nixos systems, <1MB and in nixos defaults.
fontDirectories = fontDirectories ++ [ dejavu_fonts.minimal ];
fontDirectories = fontDirectories ++ [ dejavu_fonts.minimal ]
# further non-nixos fonts on darwin
++ lib.optionals stdenv.isDarwin [ "/System/Library/Fonts" "/Library/Fonts" "~/Library/Fonts" ];
}
''
xsltproc --stringparam fontDirectories "$fontDirectories" \
@@ -100,6 +100,8 @@
, MediaToolbox
, enableGplPlugins ? true
, bluezSupport ? stdenv.isLinux
# Causes every application using GstDeviceMonitor to send mDNS queries every 2 seconds
, microdnsSupport ? false
# Checks meson.is_cross_build(), so even canExecute isn't enough.
, enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform, hotdoc
}:
@@ -151,7 +153,6 @@ stdenv.mkDerivation rec {
#webrtc-audio-processing_1 # required by isac
libbs2b
libmodplug
libmicrodns
openjpeg
libopenmpt
libopus
@@ -203,6 +204,8 @@ stdenv.mkDerivation rec {
x265
] ++ lib.optionals bluezSupport [
bluez
] ++ lib.optionals microdnsSupport [
libmicrodns
] ++ lib.optionals stdenv.isLinux [
libva # vaapi requires libva -> libdrm -> libpciaccess, which is Linux-only in nixpkgs
wayland
@@ -286,6 +289,7 @@ stdenv.mkDerivation rec {
"-Dgs=disabled" # depends on `google-cloud-cpp`
"-Donnx=disabled" # depends on `libonnxruntime` not packaged in nixpkgs as of writing
"-Dopenaptx=enabled" # since gstreamer-1.20.1 `libfreeaptx` is supported for circumventing the dubious license conflict with `libopenaptx`
"-Dmicrodns=${if microdnsSupport then "enabled" else "disabled"}"
"-Dbluez=${if bluezSupport then "enabled" else "disabled"}"
(lib.mesonEnable "doc" enableDocumentation)
]
+2 -2
View File
@@ -22,13 +22,13 @@
stdenv.mkDerivation rec {
pname = "libsoup";
version = "3.4.1";
version = "3.4.2";
outputs = [ "out" "dev" ] ++ lib.optional withIntrospection "devdoc";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "sha256-UwuGexsWbLm8onUPHRXlGHMYtdlI77gdWJmvPXVhRQQ=";
sha256 = "sha256-eMj6N8sVLUDsjEoUjWFV4vaUfz8WAqfNo6Ma1A9e4vM=";
};
depsBuildBuild = [
@@ -109,7 +109,7 @@ stdenv.mkDerivation rec {
pip install --prefix="$python" python/
'';
outputs = [ "out" "dev" "python" ];
outputs = [ "out" "python" ];
meta = with lib; {
homepage = "https://github.com/google/or-tools";
@@ -31,13 +31,13 @@
stdenv.mkDerivation rec {
pname = "tracker";
version = "3.5.0";
version = "3.5.1";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "EylCddu7rZY0s6g5DAjm8Svr/oT2zK+3Kyewwjuo2i8=";
sha256 = "+XLVCse6/czxE7HrmdyuNUBGhameVb/vFvOsg7Tel00=";
};
strictDeps = true;
@@ -102,8 +102,8 @@ stdenv.mkDerivation rec {
];
doCheck =
# https://gitlab.gnome.org/GNOME/tracker/-/issues/397
!stdenv.isAarch64
# https://gitlab.gnome.org/GNOME/tracker/-/issues/402
!stdenv.isDarwin
# https://gitlab.gnome.org/GNOME/tracker/-/issues/398
&& !stdenv.is32bit;
@@ -28,8 +28,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [
async-timeout
noiseprotocol
protobuf.out
protobuf.dev
protobuf
zeroconf
];
@@ -4,6 +4,8 @@
, fetchPypi
, fetchpatch
, pythonOlder
# build_requires
, setuptools
# install_requires
, attrs
, charset-normalizer
@@ -56,6 +58,10 @@ buildPythonPackage rec {
--replace "charset-normalizer >=2.0, < 3.0" "charset-normalizer >=2.0, < 4.0"
'';
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
attrs
charset-normalizer
@@ -13,7 +13,6 @@
, cffi
, pkg-config
, pytestCheckHook
, pytest-benchmark
, pytest-subtests
, pythonOlder
, pretend
@@ -46,6 +45,11 @@ buildPythonPackage rec {
hash = "sha256-gFfDTc2QWBWHBCycVH1dYlCsWQMVcRZfOBIau+njtDU=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace "--benchmark-disable" ""
'';
cargoRoot = "src/rust";
nativeBuildInputs = lib.optionals (!isPyPy) [
@@ -72,7 +76,6 @@ buildPythonPackage rec {
pretend
py
pytestCheckHook
pytest-benchmark
pytest-subtests
pytz
];
@@ -81,7 +84,10 @@ buildPythonPackage rec {
"--disable-pytest-warnings"
];
disabledTestPaths = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
disabledTestPaths = [
# save compute time by not running benchmarks
"tests/bench"
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
# aarch64-darwin forbids W+X memory, but this tests depends on it:
# * https://cffi.readthedocs.io/en/latest/using.html#callbacks
"tests/hazmat/backends/test_openssl_memleak.py"
@@ -6,11 +6,17 @@
, babel
, markupsafe
, pytestCheckHook
, sphinxHook
, pallets-sphinx-themes
, sphinxcontrib-log-cabinet
, sphinx-issues
, enableDocumentation ? false
}:
buildPythonPackage rec {
pname = "Jinja2";
version = "3.1.2";
outputs = [ "out" ] ++ lib.optional enableDocumentation "doc";
disabled = pythonOlder "3.7";
@@ -19,11 +25,20 @@ buildPythonPackage rec {
hash = "sha256-MTUacCpAip51laj8YVD8P0O7a/fjGXcMvA2535Q36FI=";
};
patches = lib.optionals enableDocumentation [ ./patches/import-order.patch ];
propagatedBuildInputs = [
babel
markupsafe
];
nativeBuildInputs = lib.optionals enableDocumentation [
sphinxHook
sphinxcontrib-log-cabinet
pallets-sphinx-themes
sphinx-issues
];
# Multiple tests run out of stack space on 32bit systems with python2.
# See https://github.com/pallets/jinja/issues/1158
doCheck = !stdenv.is32bit;
@@ -0,0 +1,27 @@
Sphinx changed something between sphinx=4.5.0 and sphinx=5.3 that broke
"sphinxcontrib.log_cabinet" plugin.
When Sphinx tries to importlib.import_module("sphinxcontrib.log_cabinet"), it
has couple other sphinxcontrib.* libraries in sys.path, and they seem to cause
conflict. So here I purge sys.path from sphixcontrib-related things, import
log_cabinet and put everything back, so when Sphinx will do "import_module",
"sphinxcontrib.log_cabinet" will be already imported and cached.
All this is quite hacky, but we are talking about merely building documentation
here. If resulting html looks good, what happened in Nix sandbox stays in Nix
sandbox.
--- a/docs/conf.py 1970-01-01 00:00:00.000000000 -0000
+++ b/docs/conf.py 1970-01-01 00:00:00.000000000 -0000
@@ -1,5 +1,12 @@
from pallets_sphinx_themes import get_version
from pallets_sphinx_themes import ProjectLink
+import importlib
+import sys
+
+saved_path = sys.path
+sys.path = [x for x in sys.path if "sphinxcontrib" not in x or "cabinet" in x]
+import sphinxcontrib.log_cabinet
+sys.path = saved_path
# Project --------------------------------------------------------------
@@ -19,7 +19,7 @@
buildPythonPackage rec {
pname = "mkdocs-material";
version = "9.0.15";
version = "9.1.8";
format = "pyproject";
disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
owner = "squidfunk";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-GIzHgCU4BzHuQMBleGn9DcJBm+pQ7/JP67e8eIcyhpc=";
hash = "sha256-a0AeRjS0fV4q3z6MPZBBv8Ffv61W3zHPrnPT4evBnaw=";
};
nativeBuildInputs = [
@@ -41,8 +41,6 @@ buildPythonPackage {
fi
'';
outputs = [ "out" "dev" ];
buildInputs = [ protobuf ];
propagatedNativeBuildInputs = [
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "psutil";
version = "5.9.4";
version = "5.9.5";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-PX+XOetDXUsTOJRKviP0lYS95TlfJ0h9LuJa2ah3SmI=";
hash = "sha256-VBBjjk3znFTZV/xRzgMEis2ObWCrwPUQevUeX7Vm6zw=";
};
buildInputs =
@@ -66,6 +66,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Process and system utilization information interface";
homepage = "https://github.com/giampaolo/psutil";
changelog = "https://github.com/giampaolo/psutil/blob/release-${version}/HISTORY.rst";
license = licenses.bsd3;
maintainers = with maintainers; [ jonringer ];
};
@@ -1,16 +1,25 @@
{ lib
, aspectlib
, buildPythonPackage
, elasticsearch
, fetchFromGitHub
, pathlib
, fetchpatch
, freezegun
, git
, mercurial
, py-cpuinfo
, pygal
, pytest
, pytestCheckHook
, pythonOlder
, statistics
}:
buildPythonPackage rec {
pname = "pytest-benchmark";
version = "4.0.0";
disabled = pythonOlder "3.7";
format = "setuptools";
src = fetchFromGitHub {
@@ -20,28 +29,52 @@ buildPythonPackage rec {
hash = "sha256-f9Ty4+5PycraxoLUSa9JFusV5Cot6bBWKfOGHZIRR3o=";
};
patches = [
(fetchpatch {
url = "https://github.com/ionelmc/pytest-benchmark/commit/728752d2976ef53fde7e40beb3e55f09cf4d4736.patch";
hash = "sha256-WIQADCLey5Y79UJUj9J5E02HQ0O86xBh/3IeGLpVrWI=";
})
];
buildInputs = [
pytest
];
propagatedBuildInputs = [
py-cpuinfo
] ++ lib.optionals (pythonOlder "3.4") [
pathlib
statistics
];
# Circular dependency
doCheck = false;
pythonImportsCheck = [
"pytest_benchmark"
];
nativeCheckInputs = [
aspectlib
elasticsearch
freezegun
git
mercurial
pygal
pytestCheckHook
];
preCheck = ''
export PATH="$out/bin:$PATH"
'';
disabledTests = [
# AttributeError: 'PluginImportFixer' object has no attribute 'find_spec'
"test_compare_1"
"test_compare_2"
"test_regression_checks"
"test_rendering"
];
meta = with lib; {
changelog = "https://github.com/ionelmc/pytest-benchmark/blob/${src.rev}/CHANGELOG.rst";
description = "Pytest fixture for benchmarking code";
homepage = "https://github.com/ionelmc/pytest-benchmark";
license = licenses.bsd2;
maintainers = with maintainers; [ costrouc ];
maintainers = with maintainers; [ dotlambda ];
};
}
@@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "simplejson";
version = "3.18.3";
version = "3.19.1";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = pname;
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-NKDcY/HRAbroT6onHdLP6oolEzWoCC+Jlf+Ec5bFDDc=";
hash = "sha256-LUD0Eoj7fDGiR0yhIZOto6kn7Ud0TXyDTO1UTbRMJiQ=";
};
nativeCheckInputs = [
@@ -0,0 +1,36 @@
{ lib, buildPythonPackage, sphinx, fetchFromGitHub, pandoc }:
buildPythonPackage rec {
pname = "sphinx-issues";
version = "3.0.1";
outputs = [ "out" "doc" ];
src = fetchFromGitHub {
owner = "sloria";
repo = "sphinx-issues";
rev = version;
sha256 = "1lns6isq9kwcw8z4jwgy927f7idx9srvri5adaa5zmypw5x47hha";
};
pythonImportsCheck = [ "sphinx_issues" ];
propagatedBuildInputs = [ sphinx ];
nativeBuildInputs = [ pandoc ];
postBuild = ''
pandoc -f rst -t html --standalone < README.rst > README.html
'';
postInstall = ''
mkdir -p $doc/share/doc/$name/html
cp README.html $doc/share/doc/$name/html
'';
meta = with lib; {
homepage = "https://github.com/sloria/sphinx-issues";
description = "Sphinx extension for linking to your project's issue tracker.";
license = licenses.mit;
maintainers = with maintainers; [ kaction ];
};
}
@@ -0,0 +1,27 @@
{ lib, buildPythonPackage, fetchFromGitHub, sphinx }:
buildPythonPackage rec {
pname = "sphinxcontrib-log-cabinet";
version = "1.0.1";
format = "setuptools";
src = fetchFromGitHub {
owner = "davidism";
repo = "sphinxcontrib-log-cabinet";
rev = "refs/tags/${version}";
sha256 = "03cxspgqsap9q74sqkdx6r6b4gs4hq6dpvx4j58hm50yfhs06wn1";
};
propagatedBuildInputs = [ sphinx ];
pythonImportsCheck = [ "sphinxcontrib.log_cabinet" ];
doCheck = false; # no tests
meta = with lib; {
homepage = "https://github.com/davidism/sphinxcontrib-log-cabinet";
description = "Sphinx extension to organize changelogs";
license = licenses.mit;
maintainers = with maintainers; [ kaction ];
};
}
@@ -1,6 +1,7 @@
{ lib
, buildPythonPackage
, fetchPypi
, flit-core
, installShellFiles
, pytestCheckHook
, isPy3k
@@ -8,16 +9,18 @@
buildPythonPackage rec {
pname = "sqlparse";
version = "0.4.3";
version = "0.4.4";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
hash = "sha256-acqASEa7EU0uw4DkNgqKNA24PwzPOvzusUBN8Cj1cmg=";
hash = "sha256-1EYYPoS4NJ+jBh8P5/BsqUumW0JpRv/r5uPoKVMyQgw=";
};
nativeBuildInputs = [ installShellFiles ];
format = "pyproject";
nativeBuildInputs = [ flit-core installShellFiles ];
nativeCheckInputs = [ pytestCheckHook ];
@@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "spirv-tools";
version = "1.3.243.0";
version = "2023.2";
src = fetchFromGitHub {
owner = "KhronosGroup";
repo = "SPIRV-Tools";
rev = "sdk-${version}";
rev = "v${version}";
hash = "sha256-l44Ru0WjROQEDNU/2YQJGti1uDZP9osRdfsXus5EGX0=";
};
@@ -41,6 +41,5 @@ stdenv.mkDerivation rec {
license = licenses.asl20;
platforms = platforms.unix;
maintainers = [ maintainers.ralith ];
broken = (version != spirv-headers.version);
};
}
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "sha256-aDKzkmvrPDzQl4n0KgeiU5LOLhQA0tmwzGiXvJDp7ZI=";
};
outputs = [ "out" "dev" "man" ];
nativeBuildInputs = [ autoreconfHook ];
postPatch = ''
+1 -1
View File
@@ -72,7 +72,7 @@ in lib.init bootStages ++ [
else if crossSystem.isDarwin
then buildPackages.llvmPackages.libcxxClang
else if crossSystem.useLLVM or false
then buildPackages.llvmPackages.clangUseLLVM
then buildPackages.llvmPackages.clang
else buildPackages.gcc;
extraNativeBuildInputs = old.extraNativeBuildInputs
+8 -1
View File
@@ -53,11 +53,18 @@ in
CXXFLAGS = lib.optionalString (stdenv.isDarwin && withQt) "-std=c++11";
# we'll wrap things ourselves
dontWrapGApps = true;
dontWrapQtApps = true;
# binary wrappers don't support --run
postInstall = lib.optionalString withX ''
wrapProgram $out/bin/gnuplot \
wrapProgramShell $out/bin/gnuplot \
--prefix PATH : '${gnused}/bin' \
--prefix PATH : '${coreutils}/bin' \
--prefix PATH : '${fontconfig.bin}/bin' \
"''${gappsWrapperArgs[@]}" \
"''${qtWrapperArgs[@]}" \
--run '. ${./set-gdfontpath-from-fontconfig.sh}'
'';
+2 -2
View File
@@ -12,11 +12,11 @@ assert guiSupport -> enableMinimal == false;
stdenv.mkDerivation rec {
pname = "gnupg";
version = "2.4.0";
version = "2.4.1";
src = fetchurl {
url = "mirror://gnupg/gnupg/${pname}-${version}.tar.bz2";
hash = "sha256-HXkVjdAdmSQx3S4/rLif2slxJ/iXhOosthDGAPsMFIM=";
hash = "sha256-drceWutEO/2RDOnLyCgbYXyDQWh6+2e65FWHeXK1neg=";
};
depsBuildBuild = [ buildPackages.stdenv.cc ];
+2 -2
View File
@@ -20426,7 +20426,8 @@ with pkgs;
libcCrossChooser = name:
# libc is hackily often used from the previous stage. This `or`
# hack fixes the hack, *sigh*.
/**/ if name == "glibc" then targetPackages.glibcCross or glibcCross
/**/ if name == null then null
else if name == "glibc" then targetPackages.glibcCross or glibcCross
else if name == "bionic" then targetPackages.bionic or bionic
else if name == "uclibc" then targetPackages.uclibcCross or uclibcCross
else if name == "avrlibc" then targetPackages.avrlibcCross or avrlibcCross
@@ -20445,7 +20446,6 @@ with pkgs;
else if name == "nblibc" then targetPackages.netbsdCross.libc or netbsdCross.libc
else if name == "wasilibc" then targetPackages.wasilibc or wasilibc
else if name == "relibc" then targetPackages.relibc or relibc
else if stdenv.targetPlatform.isGhcjs then null
else throw "Unknown libc ${name}";
libcCross = assert stdenv.targetPlatform != stdenv.buildPlatform; libcCrossChooser stdenv.targetPlatform.libc;
+4
View File
@@ -11267,6 +11267,8 @@ self: super: with self; {
inherit (pkgs) mscgen;
};
sphinxcontrib-log-cabinet = callPackage ../development/python-modules/sphinxcontrib-log-cabinet { };
sphinxcontrib-nwdiag = callPackage ../development/python-modules/sphinxcontrib-nwdiag { };
sphinxcontrib_newsfeed = callPackage ../development/python-modules/sphinxcontrib_newsfeed { };
@@ -11311,6 +11313,8 @@ self: super: with self; {
sphinx-inline-tabs = callPackage ../development/python-modules/sphinx-inline-tabs { };
sphinx-issues = callPackage ../development/python-modules/sphinx-issues { };
sphinx-jinja = callPackage ../development/python-modules/sphinx-jinja { };
sphinx-markdown-parser = callPackage ../development/python-modules/sphinx-markdown-parser { };