Merge #229429: staging-next 2023-05-02

This commit is contained in:
Vladimír Čunát 2023-05-07 14:55:00 +02:00
commit 51f728c057
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
57 changed files with 308 additions and 87 deletions

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";

View File

@ -36,7 +36,6 @@ mkDerivation rec {
qmakeFlags = [
"DEFINES+=USE_LOCAL_STK"
"DEFINES+=USE_LOCAL_QCUSTOMPLOT"
"INCLUDEPATH+=${libjack2}/include/jack"
];
meta = with lib; {

View File

@ -83,6 +83,10 @@ stdenv.mkDerivation rec {
in ''
mkdir -p test/test-databases
ln -s ${test-database} test/test-databases/database-v1.tar.xz
''
# Issues since gnupg: 2.4.0 -> 2.4.1
+ ''
rm test/{T350-crypto,T357-index-decryption}.sh
'';
doCheck = !stdenv.hostPlatform.isDarwin && (lib.versionAtLeast gmime3.version "3.0.3");

View File

@ -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?)
:

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"

View File

@ -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

View File

@ -217,5 +217,5 @@ wrapProgramShell() {
hidden="${hidden}_"
done
mv "$prog" "$hidden"
makeWrapper "$hidden" "$prog" --inherit-argv0 "${@:2}"
makeShellWrapper "$hidden" "$prog" --inherit-argv0 "${@:2}"
}

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.

View File

@ -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=";
};

View File

@ -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"

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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"

View File

@ -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;

View File

@ -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"

View File

@ -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;

View File

@ -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"

View File

@ -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;

View File

@ -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
@ -108,6 +106,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"

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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"

View File

@ -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;

View File

@ -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"

View File

@ -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;

View File

@ -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"

View File

@ -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;

View File

@ -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 = [

View File

@ -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;

View File

@ -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 ]

View File

@ -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" \

View File

@ -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)
]

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 = [

View File

@ -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";

View File

@ -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;

View File

@ -28,8 +28,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [
async-timeout
noiseprotocol
protobuf.out
protobuf.dev
protobuf
zeroconf
];

View File

@ -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

View File

@ -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"

View File

@ -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;

View File

@ -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 --------------------------------------------------------------

View File

@ -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 = [

View File

@ -41,8 +41,6 @@ buildPythonPackage {
fi
'';
outputs = [ "out" "dev" ];
buildInputs = [ protobuf ];
propagatedNativeBuildInputs = [

View File

@ -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 ];
};

View File

@ -1,16 +1,26 @@
{ lib
, aspectlib
, buildPythonPackage
, elasticsearch
, fetchFromGitHub
, pathlib
, fetchpatch
, freezegun
, git
, mercurial
, py-cpuinfo
, pygal
, pytest
, pytestCheckHook
, pythonOlder
, statistics
, isPy311
}:
buildPythonPackage rec {
pname = "pytest-benchmark";
version = "4.0.0";
disabled = pythonOlder "3.7";
format = "setuptools";
src = fetchFromGitHub {
@ -20,28 +30,58 @@ 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"
]
# tests are broken in 3.11
# https://github.com/ionelmc/pytest-benchmark/issues/231
++ lib.optionals isPy311 [
"test_abort_broken"
"test_clonefunc"
];
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 ];
};
}

View File

@ -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 = [

View File

@ -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 ];
};
}

View File

@ -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 ];
};
}

View File

@ -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 ];

View File

@ -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);
};
}

View File

@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "sha256-aDKzkmvrPDzQl4n0KgeiU5LOLhQA0tmwzGiXvJDp7ZI=";
};
outputs = [ "out" "dev" "man" ];
nativeBuildInputs = [ autoreconfHook ];
postPatch = ''

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

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}'
'';

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 ];

View File

@ -20465,7 +20465,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
@ -20484,7 +20485,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;

View File

@ -11291,6 +11291,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 { };
@ -11335,6 +11337,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 { };