diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 9f9c1e2703cc..c004c98fe64e 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -2066,6 +2066,7 @@ in xautolock = runTest ./xautolock.nix; xfce = runTest ./xfce.nix; xfce-wayland = runTest ./xfce-wayland.nix; + xinetd = runTest ./xinetd.nix; xmonad = runTest ./xmonad.nix; xmonad-xdg-autostart = runTest ./xmonad-xdg-autostart.nix; xpadneo = runTest ./xpadneo.nix; diff --git a/nixos/tests/xinetd.nix b/nixos/tests/xinetd.nix new file mode 100644 index 000000000000..65cf49f6b818 --- /dev/null +++ b/nixos/tests/xinetd.nix @@ -0,0 +1,65 @@ +{ lib, pkgs, ... }: +{ + name = "xinetd"; + meta.maintainers = [ lib.maintainers.h7x4 ]; + + containers.machine = { + environment.systemPackages = [ pkgs.netcat ]; + + services.xinetd = { + enable = true; + services = [ + { + name = "ping-pong-tcp"; + protocol = "tcp"; + port = 8765; + unlisted = true; + server = + let + pingPongTcp = pkgs.writeShellScript "ping-pong-tcp" '' + read -r line + if [ "$line" = "ping" ]; then + echo "pong" + fi + ''; + in + "${pingPongTcp}"; + } + { + name = "ping-pong-udp"; + protocol = "udp"; + port = 8766; + unlisted = true; + server = + let + pingPongUdp = pkgs.writers.writePython3 "ping-pong-udp" { } '' + import socket + + sock = socket.socket(fileno=0) + data, peer = sock.recvfrom(1024) + sock.connect(peer) + if data.strip() == b"ping": + sock.send(b"pong\n") + ''; + in + "${pingPongUdp}"; + } + ]; + }; + }; + + testScript = '' + start_all() + + machine.wait_for_unit("xinetd.service") + machine.wait_for_open_port(8765) + + with subtest("Query TCP"): + output = machine.succeed("nc -w5 localhost 8765 << LookupFunc: def load_libxkb_lookup() -> LookupFunc: import ctypes + - for suffix in ('.0', ''): - with suppress(Exception): - lib = ctypes.CDLL(f'libxkbcommon.so{suffix}') - break - else: - from ctypes.util import find_library +- - lname = find_library('xkbcommon') - if lname is None: - raise RuntimeError('Failed to find libxkbcommon') - lib = ctypes.CDLL(lname) -- + lib = ctypes.CDLL('@libxkbcommon@') + f = lib.xkb_keysym_from_name f.argtypes = [ctypes.c_char_p, ctypes.c_int] - f.restype = ctypes.c_int diff --git a/pkgs/by-name/ki/kitty/package.nix b/pkgs/by-name/ki/kitty/package.nix index 74978c0f6060..bbcf968e2eaf 100644 --- a/pkgs/by-name/ki/kitty/package.nix +++ b/pkgs/by-name/ki/kitty/package.nix @@ -46,26 +46,27 @@ makeBinaryWrapper, darwin, cairo, + shader-slang, }: with python3Packages; buildPythonApplication rec { pname = "kitty"; - version = "0.48.2"; + version = "0.49.0"; pyproject = false; src = fetchFromGitHub { owner = "kovidgoyal"; repo = "kitty"; tag = "v${version}"; - hash = "sha256-qNgVPpvMm8Y/nbBjVvWVuZ954ZXIuWmXhldP3w8MBhU="; + hash = "sha256-C1roiJ+mAm8rEoG5VAQABYUq2FSFVuusNQ0PtLP0tPI="; }; goModules = (buildGo126Module { pname = "kitty-go-modules"; inherit src version; - vendorHash = "sha256-BZudfNfREwNrgalaimC5Lp+UIdFS+jHFLl9mEXcHYMI="; + vendorHash = "sha256-G+eaFOFMIIu2Qo5Mgr3ejwoYrYmNv3EIdEEraDPIdeY="; }).goModules; buildInputs = [ @@ -108,11 +109,13 @@ buildPythonApplication rec { sphinx furo sphinx-copybutton + sphinx-design sphinxext-opengraph sphinx-inline-tabs go_1_26 fontconfig makeBinaryWrapper + shader-slang ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ imagemagick @@ -294,6 +297,7 @@ buildPythonApplication rec { lib.makeBinPath [ imagemagick ncurses.dev + shader-slang ] }" diff --git a/pkgs/by-name/mk/mkl-gnulibs/mkl.pc.in b/pkgs/by-name/mk/mkl-gnulibs/mkl.pc.in new file mode 100644 index 000000000000..6d671ab6c0a2 --- /dev/null +++ b/pkgs/by-name/mk/mkl-gnulibs/mkl.pc.in @@ -0,0 +1,10 @@ +prefix=@out@ +includedir=${prefix}/include +libdir=${prefix}/lib + +Name: mkl +Description: Intel Math Kernel Library +URL: https://software.intel.com/en-us/intel-mkl +Version: @version@ +Cflags: -isystem${includedir} +Libs: -Wl,-rpath,${libdir} -L${libdir} -lmkl_rt -lpthread -lm -ldl diff --git a/pkgs/by-name/mk/mkl-gnulibs/mkl_rt_shim.c b/pkgs/by-name/mk/mkl-gnulibs/mkl_rt_shim.c new file mode 100644 index 000000000000..9d7702bdaf91 --- /dev/null +++ b/pkgs/by-name/mk/mkl-gnulibs/mkl_rt_shim.c @@ -0,0 +1,24 @@ +#include + +__attribute__((constructor)) +static void preload_mkl() +{ + // MKL libs must be loaded with RTLD_GLOBAL (see comments in mkl-service) + // Without forcing it here, things fail at runtime when mkl_core tries to + // dlopen libmkl_avx512, etc. + dlopen("libmkl_core.so", RTLD_LAZY | RTLD_GLOBAL); + dlopen("libmkl_gnu_thread.so", RTLD_LAZY | RTLD_GLOBAL); + dlopen("libmkl_intel_lp64.so", RTLD_LAZY | RTLD_GLOBAL); +} + +// mkl-service, possibly others link against these, give it something to call + +void MKL_Set_Threading_Layer() +{ + // computer says no +} + +void MKL_Set_Interface_Layer() +{ + // computer says no +} diff --git a/pkgs/by-name/mk/mkl-gnulibs/package.nix b/pkgs/by-name/mk/mkl-gnulibs/package.nix new file mode 100644 index 000000000000..f6fee44a4024 --- /dev/null +++ b/pkgs/by-name/mk/mkl-gnulibs/package.nix @@ -0,0 +1,83 @@ +{ + callPackage, + gcc, + mkl, + patchelf, +}: + +# Force MKL to link GNU openmp libs, not intel ones. Intel conflicts with +# pytorch, libgbm, anything else compiled with gcc + openmp. We have not found +# a way to reliably force this with the intel-provided auto-detecting +# libmkl_rt.so. - therefore we replace it with libmkl_gf_lp64.so (which +# already exports the full BLAS/LAPACK ABI directly, as well as using the +# GNU Fortran conventions for complex scalars that consumers - like scipy - +# expect), patched via patchelf to explicitly depend on the GNU-threaded +# backend and our preload shim below. +# Also, we must delete the libtbb.so in mkl as it ends up being used in rtech, +# whilst we want the separate version that we compile against which does +# have headers. +mkl.overrideAttrs ( + finalAttrs: o: { + strictDeps = true; + __structuredAttrs = true; + + nativeBuildInputs = o.nativeBuildInputs ++ [ + gcc + patchelf + ]; + + postFixup = (o.postFixup or "") + '' + find $out/lib -name '*tbb*' -delete + + rm $out/lib/libmkl_intel_thread.so + rm $out/lib/libmkl_intel_thread.so.2 + rm $out/lib/pkgconfig/*iomp*.pc + + gcc -shared ${./mkl_rt_shim.c} -o $out/lib/libmkl_rt_shim.so -L$out/lib -fopenmp + + # libmkl_gf_lp64.so already exports the full BLAS/LAPACK ABI, and + # (unlike the real libmkl_rt.so.2 we are replacing) leaves resolving + # its internal mkl_blas_* etc. symbols up to whatever is linked in via + # DT_NEEDED/RTLD_GLOBAL, rather than auto-detecting and dlopen-ing a + # threading backend itself. So we base our libmkl_rt.so.2 replacement + # on it, and explicitly wire up the GNU-threaded backend and our + # preload shim (which also provides MKL_Set_*_Layer stubs, since + # libmkl_gf_lp64.so does not). This keeps libmkl_rt.so.2 a real ELF + # shared object (unlike a GNU ld linker script), so it still works + # with tools that expect that, such as patchelf or dlopen. + rm $out/lib/libmkl_rt.so.2 + cp $out/lib/libmkl_gf_lp64.so.2 $out/lib/libmkl_rt.so.2 + chmod +w $out/lib/libmkl_rt.so.2 + patchelf \ + --set-soname libmkl_rt.so.2 \ + --add-needed libmkl_core.so \ + --add-needed libmkl_gnu_thread.so \ + --add-needed libmkl_rt_shim.so \ + --add-rpath $out/lib \ + $out/lib/libmkl_rt.so.2 + chmod -w $out/lib/libmkl_rt.so.2 + + # If we call overrideAttrs on mkl to add the templated pc files later, we lose the extra attributes + # we are setting, so we do the pc file generation here. + substituteAll ${./mkl.pc.in} $out/lib/pkgconfig/mkl.pc + # Need slightly different name for numpy, which special cases "mkl" + substituteAll ${./mkl.pc.in} $out/lib/pkgconfig/mkl_rt.pc + ''; + + # The postFixup above hardcodes .so extensions and relies on a Linux-only + # OpenMP conflict (libgomp vs libiomp5), so this only makes sense on Linux, + # unlike vanilla mkl which also supports Darwin. + meta = (o.meta or { }) // { + platforms = [ "x86_64-linux" ]; + }; + + passthru = (o.passthru or { }) // { + isILP64 = false; + implementation = "mkl"; + blasProvider = finalAttrs.finalPackage; + blasImplementation = "mkl"; + provider = finalAttrs.finalPackage; + tests.gnu-openmp = callPackage ./test { mkl-gnulibs = finalAttrs.finalPackage; }; + }; + } +) diff --git a/pkgs/by-name/mk/mkl-gnulibs/test/default.nix b/pkgs/by-name/mk/mkl-gnulibs/test/default.nix new file mode 100644 index 000000000000..dca866c14103 --- /dev/null +++ b/pkgs/by-name/mk/mkl-gnulibs/test/default.nix @@ -0,0 +1,31 @@ +{ + stdenv, + pkg-config, + mkl-gnulibs, +}: + +stdenv.mkDerivation { + pname = "mkl-gnulibs-test"; + version = mkl-gnulibs.version; + + unpackPhase = '' + cp ${./test.c} test.c + ''; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ mkl-gnulibs ]; + + doCheck = true; + + buildPhase = '' + gcc test.c -o test $(pkg-config --cflags --libs mkl_rt) -fopenmp + ''; + + installPhase = '' + touch $out + ''; + + checkPhase = '' + ./test + ''; +} diff --git a/pkgs/by-name/mk/mkl-gnulibs/test/test.c b/pkgs/by-name/mk/mkl-gnulibs/test/test.c new file mode 100644 index 000000000000..8f930fbe056f --- /dev/null +++ b/pkgs/by-name/mk/mkl-gnulibs/test/test.c @@ -0,0 +1,24 @@ +#include +#include +#include +#include + +int main() +{ + /* Verify MKL BLAS computation works via libmkl_rt */ + float u[] = { 1., 2., 3. }; + float v[] = { 4., 5., 6. }; + assert(cblas_sdot(3, u, 1, v, 1) == 32.); + + /* Verify GNU OpenMP is functional alongside MKL (simulates gcc+openmp consumers like pytorch) */ + int total = 0; +#pragma omp parallel reduction(+ : total) + total += 1; + assert(total >= 1); + + /* Verify Intel OpenMP is NOT loaded — its presence alongside libgomp causes the conflict + that mkl-gnulibs exists to prevent */ + assert(dlopen("libiomp5.so", RTLD_NOLOAD | RTLD_LAZY) == NULL); + + return 0; +} diff --git a/pkgs/by-name/mu/mujoco/package.nix b/pkgs/by-name/mu/mujoco/package.nix index 0803c53ae996..34759ebf0f24 100644 --- a/pkgs/by-name/mu/mujoco/package.nix +++ b/pkgs/by-name/mu/mujoco/package.nix @@ -90,7 +90,7 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "mujoco"; - version = "3.13.0"; + version = "3.14.0"; __structuredAttrs = true; strictDeps = true; @@ -101,7 +101,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "google-deepmind"; repo = "mujoco"; tag = finalAttrs.version; - hash = "sha256-uf1AGy9OBdZUNOKHzBnQOibIR7yPRDOKwnivIqakkOI="; + hash = "sha256-9h2glQJHeXjLgAwFx2g78O9p3euovKLRtlkD++6Qn+A="; }; patches = [ diff --git a/pkgs/by-name/ob/obliteratus/package.nix b/pkgs/by-name/ob/obliteratus/package.nix index c6cc92db8c71..3640e4482178 100644 --- a/pkgs/by-name/ob/obliteratus/package.nix +++ b/pkgs/by-name/ob/obliteratus/package.nix @@ -85,6 +85,7 @@ python3Packages.buildPythonApplication (finalAttrs: { # Tests are hardware-dependent "test_jetson_cuda_runtime_contract" "test_jetson_cuda_offloaded_surgery_contract" + "test_policy_rejects_unknown_cpu_exclusion_gate" ] ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ # aarch64-linux fails cpuinfo test, because /sys/devices/system/cpu/ does not exist in the sandbox: diff --git a/pkgs/by-name/om/omp/package.nix b/pkgs/by-name/om/omp/package.nix index e8b0748fed5c..115ceb4e9bd3 100644 --- a/pkgs/by-name/om/omp/package.nix +++ b/pkgs/by-name/om/omp/package.nix @@ -32,7 +32,7 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "omp"; - version = "18.2.8"; + version = "18.2.10"; strictDeps = true; __structuredAttrs = true; @@ -41,12 +41,12 @@ stdenv.mkDerivation (finalAttrs: { owner = "can1357"; repo = "oh-my-pi"; tag = "v${finalAttrs.version}"; - hash = "sha256-651o7v60Zg6gfHJwpsyhxgKmGFNuDzARMyBjdToD474="; + hash = "sha256-hxuGYuPchiLsiV4q8yy7kOrSJ8BJz9GWrSd4XTMx9jY="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) src; - hash = "sha256-XT1sOG3jR3EkRHnKPUhQS695GrApZ1AAykA5NSVCLZI="; + hash = "sha256-2V3Duou64p2Cl13hPOSv/nUHKqj25e4lgvievqQB9FU="; }; postPatch = '' @@ -91,7 +91,7 @@ stdenv.mkDerivation (finalAttrs: { # Prevents breaking symlinks in node_modules dontFixup = true; - outputHash = "sha256-FnXQapSrkrErdbMATY1pEyzkRrXdFlC2xALHL18Lerk="; + outputHash = "sha256-dgUjGGHVfwtcS+Nz38NFOT7Xqu3TlDMLhVfRlMvfncI="; outputHashMode = "recursive"; }; diff --git a/pkgs/by-name/sc/scipopt-soplex/package.nix b/pkgs/by-name/sc/scipopt-soplex/package.nix index f83a315e25a0..3acf4eb21cea 100644 --- a/pkgs/by-name/sc/scipopt-soplex/package.nix +++ b/pkgs/by-name/sc/scipopt-soplex/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "scipopt-soplex"; - version = "8.0.3"; + version = "8.1.0"; src = fetchFromGitHub { owner = "scipopt"; repo = "soplex"; tag = "v${finalAttrs.version}"; - hash = "sha256-5UTlSfnNPVCkAE2oMVukVbbs2drbSh0HfiDqXUktBHQ="; + hash = "sha256-Fc/BxyCBUP+a3X/Q0MYg2mvXTzwhn6uoJONg+FvDiXc="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/wl/wlr-utils/package.nix b/pkgs/by-name/wl/wlr-utils/package.nix index fd9a8d9759bb..f56a8f0e6c6b 100644 --- a/pkgs/by-name/wl/wlr-utils/package.nix +++ b/pkgs/by-name/wl/wlr-utils/package.nix @@ -16,16 +16,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "wlr-utils"; - version = "1.8.0"; + version = "1.9.0"; src = fetchFromGitHub { owner = "sjourdois"; repo = "wlr-utils"; tag = "v${finalAttrs.version}"; - hash = "sha256-H+XXWFmtjxSZEETUygdJCj0hHWWB/TO3QU83RL2oCqQ="; + hash = "sha256-t82lbhTK50oodKyv//0DOJYfmbOxyJRT1Di+sWq3Y4g="; }; - cargoHash = "sha256-fz3yVFfCEYq0rBwjeimez3XFIQbVrXvMzTF94X4aqHI="; + cargoHash = "sha256-f71BIE2wDzj3D7mWBP0+Ol6yHADKQVAG13Ix/qpDcdM="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/xi/xinetd/package.nix b/pkgs/by-name/xi/xinetd/package.nix index 2ee32f6fa890..4e70749da386 100644 --- a/pkgs/by-name/xi/xinetd/package.nix +++ b/pkgs/by-name/xi/xinetd/package.nix @@ -4,6 +4,7 @@ fetchurl, pkg-config, libtirpc, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -25,6 +26,8 @@ stdenv.mkDerivation (finalAttrs: { libtirpc ]; + passthru.tests.nixos = nixosTests.xinetd; + meta = { description = "Secure replacement for inetd"; platforms = lib.platforms.linux; diff --git a/pkgs/by-name/ze/zerofs/package.nix b/pkgs/by-name/ze/zerofs/package.nix index 07885bc06c3d..5474c243125b 100644 --- a/pkgs/by-name/ze/zerofs/package.nix +++ b/pkgs/by-name/ze/zerofs/package.nix @@ -10,18 +10,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "zerofs"; - version = "2.3.3"; + version = "2.3.5"; src = fetchFromGitHub { owner = "Barre"; repo = "ZeroFS"; tag = "v${finalAttrs.version}"; - hash = "sha256-ItrRbZM8aPIHgVoM0tMKDv+H2rhxUUaX2n7HU+qMaWg="; + hash = "sha256-uAXfq5LLnSv62IDX9H7j+XqAtOnyofzhkj2F3AY/lws="; }; sourceRoot = "${finalAttrs.src.name}/zerofs"; - cargoHash = "sha256-y3ZerOXiQqtQEW4fbocpTBr/5xjryVrhz6VPMLg+1IY="; + cargoHash = "sha256-djeu78G0T44mULNieHlC4Dx/Zdrwcyf9DXG1Ia9dTao="; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/cuda-modules/packages/nsight_systems.nix b/pkgs/development/cuda-modules/packages/nsight_systems.nix index 9c16c19ded5d..19ec4db12736 100644 --- a/pkgs/development/cuda-modules/packages/nsight_systems.nix +++ b/pkgs/development/cuda-modules/packages/nsight_systems.nix @@ -1,6 +1,7 @@ { backendStdenv, boost178, + boost186, buildRedist, cudaAtLeast, e2fsprogs, @@ -47,6 +48,7 @@ buildRedist ( lib.getLib qt.qtwayland; qtWaylandPlugins = "${qtwayland}/${qt.qtbase.qtPluginPrefix}"; inherit (qt) wrapQtAppsHook qtwebengine; + boost = if cudaAtLeast "13.4" then boost186 else boost178; in { redistName = "cuda"; @@ -110,7 +112,7 @@ buildRedist ( qt6.qttools qtwebengine qt6.qtwayland - boost178 + boost e2fsprogs gst_all_1.gst-plugins-base gst_all_1.gstreamer diff --git a/pkgs/development/ocaml-modules/ctypes/default.nix b/pkgs/development/ocaml-modules/ctypes/default.nix index 0b6ef25b89fb..27068fa2c314 100644 --- a/pkgs/development/ocaml-modules/ctypes/default.nix +++ b/pkgs/development/ocaml-modules/ctypes/default.nix @@ -14,7 +14,7 @@ buildDunePackage (finalAttrs: { version = "0.24.0"; src = fetchFromGitHub { - owner = "ocamllabs"; + owner = "yallop"; repo = "ocaml-ctypes"; rev = finalAttrs.version; hash = "sha256-Wlpk+/MSWmnIRsJfVQMTCYDRixuqLzDpdFNpkQyscA8="; @@ -31,7 +31,7 @@ buildDunePackage (finalAttrs: { checkInputs = [ ounit2 ]; meta = { - homepage = "https://github.com/ocamllabs/ocaml-ctypes"; + homepage = "https://github.com/yallop/ocaml-ctypes"; description = "Library for binding to C libraries using pure OCaml"; license = lib.licenses.mit; maintainers = [ lib.maintainers.ericbmerritt ]; diff --git a/pkgs/development/php-packages/psalm/default.nix b/pkgs/development/php-packages/psalm/default.nix index 2d7e67e334f9..44c3b94f92d7 100644 --- a/pkgs/development/php-packages/psalm/default.nix +++ b/pkgs/development/php-packages/psalm/default.nix @@ -8,12 +8,12 @@ }: let - version = "6.14.3"; + version = "6.18.0"; # The PHAR file is only required to get the `composer.lock` file psalm-phar = fetchurl { url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar"; - hash = "sha256-dqRI73CdY51K1aitIK6R74Y2sLb68l4ndNuTzRv8qRE="; + hash = "sha256-I3Yqogy3ge9Apfar6lqcilCgDvh4HNp8qRJLFE6ghAI="; }; in php.buildComposerProject2 (finalAttrs: { @@ -24,14 +24,14 @@ php.buildComposerProject2 (finalAttrs: { owner = "vimeo"; repo = "psalm"; tag = finalAttrs.version; - hash = "sha256-6MO16Ch3SR2kn48lTj64c/1DZDpsLjpZcFYmtiBhCCU="; + hash = "sha256-J+73nh/5cx0YNGOzMQSTDmRpfUQ1Q57kL3pJRre1J/Q="; }; composerLock = runCommand "composer.lock" { } '' ${lib.getExe php} -r '$phar = new Phar("${psalm-phar}"); $phar->extractTo(".", "composer.lock");' cp composer.lock $out ''; - vendorHash = "sha256-2LlP0D7b07yXVGc/+pJUUWYXF8rsc4HiErBUt5SfZmw="; + vendorHash = "sha256-nHiN9lmp2hEHGRMwYBXcRPpPgOPnjSkStWrdb6Xgxns="; doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; diff --git a/pkgs/development/python-modules/aio-pika/default.nix b/pkgs/development/python-modules/aio-pika/default.nix index c795828767e3..f796ea035470 100644 --- a/pkgs/development/python-modules/aio-pika/default.nix +++ b/pkgs/development/python-modules/aio-pika/default.nix @@ -3,11 +3,12 @@ aiormq, buildPythonPackage, fetchFromGitHub, + pyprojectVersionPatchHook, uv-build, yarl, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "aio-pika"; version = "9.6.2"; pyproject = true; @@ -15,7 +16,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "mosquito"; repo = "aio-pika"; - tag = version; + tag = finalAttrs.version; hash = "sha256-N5MjFIolMRTTn4aV1NskBwonB/8FSuEZETumUrAa02Y="; }; @@ -24,8 +25,12 @@ buildPythonPackage rec { --replace-fail "uv_build>=0.9.26,<0.10.0" uv_build ''; + pythonRelaxDeps = [ "aiormq" ]; + build-system = [ uv-build ]; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; + dependencies = [ aiormq yarl @@ -40,8 +45,8 @@ buildPythonPackage rec { meta = { description = "AMQP 0.9 client designed for asyncio and humans"; homepage = "https://github.com/mosquito/aio-pika"; - changelog = "https://github.com/mosquito/aio-pika/blob/${version}/CHANGELOG.md"; + changelog = "https://github.com/mosquito/aio-pika/blob/${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ emilytrau ]; }; -} +}) diff --git a/pkgs/development/python-modules/aiormq/default.nix b/pkgs/development/python-modules/aiormq/default.nix index 31e7a30b6fa2..189c07b708a7 100644 --- a/pkgs/development/python-modules/aiormq/default.nix +++ b/pkgs/development/python-modules/aiormq/default.nix @@ -4,6 +4,7 @@ fetchFromGitHub, pamqp, uv-build, + pyprojectVersionPatchHook, yarl, }: @@ -28,6 +29,8 @@ buildPythonPackage rec { build-system = [ uv-build ]; + nativeBuildInputs = [ pyprojectVersionPatchHook ]; + dependencies = [ pamqp yarl diff --git a/pkgs/development/python-modules/aiotools/default.nix b/pkgs/development/python-modules/aiotools/default.nix index 407f8a55725c..a7aa00124854 100644 --- a/pkgs/development/python-modules/aiotools/default.nix +++ b/pkgs/development/python-modules/aiotools/default.nix @@ -1,11 +1,12 @@ { lib, + async-lru, buildPythonPackage, fetchFromGitHub, - setuptools-scm, - async-lru, - pytestCheckHook, pytest-asyncio, + pytestCheckHook, + setuptools-scm, + typing-extensions, }: buildPythonPackage (finalAttrs: { @@ -26,6 +27,7 @@ buildPythonPackage (finalAttrs: { dependencies = [ async-lru + typing-extensions ]; nativeCheckInputs = [ @@ -35,6 +37,11 @@ buildPythonPackage (finalAttrs: { pythonImportsCheck = [ "aiotools" ]; + disabledTestPaths = [ + # Fatal Python error: Segmentation fault + "tests/test_fork.py" + ]; + meta = { description = "Idiomatic asyncio utilities"; homepage = "https://github.com/achimnol/aiotools"; diff --git a/pkgs/development/python-modules/canmatrix/default.nix b/pkgs/development/python-modules/canmatrix/default.nix index b52d7ceb7afb..fb51cc32e440 100644 --- a/pkgs/development/python-modules/canmatrix/default.nix +++ b/pkgs/development/python-modules/canmatrix/default.nix @@ -16,7 +16,7 @@ xlwt, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "canmatrix"; version = "1.2"; pyproject = true; @@ -24,10 +24,16 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "ebroecker"; repo = "canmatrix"; - tag = version; + tag = finalAttrs.version; hash = "sha256-PfegsFha7ernSqnMeaDoLf1jLx1CiOoiYi34dESEgBY="; }; + postPatch = '' + # Allows to skip versioneer and use the version from nixpkgs instead + substituteInPlace setup.py \ + --replace-fail 'version = versioneer.get_version(),' 'version = "${finalAttrs.version}",' + ''; + build-system = [ setuptools ]; dependencies = [ @@ -54,7 +60,7 @@ buildPythonPackage rec { pytest-timeout pytestCheckHook ] - ++ lib.concatAttrValues optional-dependencies; + ++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies); pytestFlags = [ # long_envvar_name_imports requires stable key value pair ordering @@ -73,8 +79,8 @@ buildPythonPackage rec { meta = { description = "Support and convert several CAN (Controller Area Network) database formats"; homepage = "https://github.com/ebroecker/canmatrix"; - changelog = "https://github.com/ebroecker/canmatrix/releases/tag/${version}"; + changelog = "https://github.com/ebroecker/canmatrix/releases/tag/${finalAttrs.version}"; license = lib.licenses.bsd2; maintainers = with lib.maintainers; [ sorki ]; }; -} +}) diff --git a/pkgs/development/python-modules/dm-control/default.nix b/pkgs/development/python-modules/dm-control/default.nix index 53e9b21432e2..31c88d98140b 100644 --- a/pkgs/development/python-modules/dm-control/default.nix +++ b/pkgs/development/python-modules/dm-control/default.nix @@ -29,7 +29,7 @@ buildPythonPackage (finalAttrs: { pname = "dm-control"; - version = "1.0.46"; + version = "1.0.47"; pyproject = true; __structuredAttrs = true; @@ -37,7 +37,7 @@ buildPythonPackage (finalAttrs: { owner = "google-deepmind"; repo = "dm_control"; tag = "v${finalAttrs.version}"; - hash = "sha256-Z0Li4o6w0PjFgZ2qESxakUE7Ufaijlo084YlP3/m9Yo="; + hash = "sha256-EncReLuIT4WClcsfi5K/KWFw9o5RLywJ15CCTlNgwXg="; }; build-system = [ diff --git a/pkgs/development/python-modules/e2b/default.nix b/pkgs/development/python-modules/e2b/default.nix index adf253f26d47..6d06c6f399e9 100644 --- a/pkgs/development/python-modules/e2b/default.nix +++ b/pkgs/development/python-modules/e2b/default.nix @@ -28,7 +28,7 @@ buildPythonPackage (finalAttrs: { pname = "e2b"; - version = "2.49.1"; + version = "2.51.0"; pyproject = true; __structuredAttrs = true; @@ -36,7 +36,7 @@ buildPythonPackage (finalAttrs: { owner = "e2b-dev"; repo = "E2B"; tag = "@e2b/python-sdk@${finalAttrs.version}"; - hash = "sha256-sM4/nJbgl3ACLl0WAW51mQVVguvwYuKRJlKMUTeoD1M="; + hash = "sha256-Q/DhYn2dyzXytgccC6QNBlvkhM+hxqgmMeKAsVlQJuk="; }; sourceRoot = "${finalAttrs.src.name}/packages/python-sdk"; diff --git a/pkgs/development/python-modules/fastspec/default.nix b/pkgs/development/python-modules/fastspec/default.nix index 95d924ea446c..26c522943992 100644 --- a/pkgs/development/python-modules/fastspec/default.nix +++ b/pkgs/development/python-modules/fastspec/default.nix @@ -10,7 +10,7 @@ buildPythonPackage (finalAttrs: { pname = "fastspec"; - version = "0.2.3"; + version = "0.2.5"; pyproject = true; __structuredAttrs = true; @@ -19,7 +19,7 @@ buildPythonPackage (finalAttrs: { owner = "AnswerDotAI"; repo = "fastspec"; tag = finalAttrs.version; - hash = "sha256-bSD3x/oqxfPfUAe5jl5UhXknsvJ39j5voVIX6zDntW4="; + hash = "sha256-VpMIf+o5JhMm/wJ7Fysx0bicQ1hg8nHqRo35nB/aXhw="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/iamdata/default.nix b/pkgs/development/python-modules/iamdata/default.nix index 3458339ce530..cee7ed620a8e 100644 --- a/pkgs/development/python-modules/iamdata/default.nix +++ b/pkgs/development/python-modules/iamdata/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "iamdata"; - version = "0.1.202609211"; + version = "0.1.202609231"; pyproject = true; src = fetchFromGitHub { owner = "cloud-copilot"; repo = "iam-data-python"; tag = "v${finalAttrs.version}"; - hash = "sha256-4q8CVQ+w+UMTBHX/eJPno0SP5bUpvmDmbnree2AtbEQ="; + hash = "sha256-v1KhdlwuHmtd6P2HbRNph3CJ0uU1/wXOmiJB1yM91D8="; }; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/mujoco-warp/default.nix b/pkgs/development/python-modules/mujoco-warp/default.nix index aab4d0b83f65..a3364670c7ca 100644 --- a/pkgs/development/python-modules/mujoco-warp/default.nix +++ b/pkgs/development/python-modules/mujoco-warp/default.nix @@ -1,6 +1,7 @@ { lib, buildPythonPackage, + mujoco, fetchFromGitHub, # build-system @@ -9,7 +10,6 @@ # dependencies absl-py, etils, - mujoco, numpy, warp-lang, @@ -23,7 +23,7 @@ buildPythonPackage (finalAttrs: { pname = "mujoco-warp"; - version = "3.13.0"; + inherit (mujoco) version; pyproject = true; __structuredAttrs = true; @@ -31,7 +31,7 @@ buildPythonPackage (finalAttrs: { owner = "google-deepmind"; repo = "mujoco_warp"; tag = "v${finalAttrs.version}"; - hash = "sha256-R+YizRSaPOt4eSy6W0dRsFn+ovn+Ks05wVyd5e9lgYc="; + hash = "sha256-2e/Wa3MtJajzp24XyEIOQx5l1/1SMPnecINn9geLrDo="; }; build-system = [ diff --git a/pkgs/development/python-modules/mujoco/default.nix b/pkgs/development/python-modules/mujoco/default.nix index c3f535cbbdc8..e70c09ce9b43 100644 --- a/pkgs/development/python-modules/mujoco/default.nix +++ b/pkgs/development/python-modules/mujoco/default.nix @@ -21,6 +21,7 @@ numpy, pyopengl, typing-extensions, + websockets, perl, python, @@ -39,7 +40,7 @@ buildPythonPackage (finalAttrs: { # in the project's CI. src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-U5F11dsl0Z7BRRcPomR4SmJsXssif3jRh341oKeVX2k="; + hash = "sha256-91oHMfb9gpOHobqcmniR7+xCkABRemw/mvmPQXNdO28="; }; nativeBuildInputs = [ cmake ]; @@ -60,6 +61,7 @@ buildPythonPackage (finalAttrs: { numpy pyopengl typing-extensions + websockets ]; pythonImportsCheck = [ "mujoco" ]; diff --git a/pkgs/development/python-modules/pysenz/default.nix b/pkgs/development/python-modules/pysenz/default.nix index 7b6729592a3a..dde6b1e34206 100644 --- a/pkgs/development/python-modules/pysenz/default.nix +++ b/pkgs/development/python-modules/pysenz/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "pysenz"; - version = "1.0.2"; + version = "1.1.2"; pyproject = true; src = fetchFromGitHub { owner = "nordicopen"; repo = "pysenz"; tag = "v${version}"; - hash = "sha256-gS9dsGQ8waOlUbHWHiJbQrvh4RdFb4SNEH4J4TbT2x8="; + hash = "sha256-jUOIapzoDjfX6nVX4Dcc356uRnQNEu2OQIcm4D3ceh8="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index db78c8c2bf39..928e683fdd20 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "tencentcloud-sdk-python"; - version = "3.1.178"; + version = "3.1.180"; pyproject = true; src = fetchFromGitHub { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = finalAttrs.version; - hash = "sha256-WduJ/tyGRr0wDOouNEQHkYG4uytNLBrYwkjMhbuBUhY="; + hash = "sha256-s1LvhBN2SWisc5SGIZUwZuIArAkuBXnSfcrnVaBTbAQ="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/timm/default.nix b/pkgs/development/python-modules/timm/default.nix index c9f71db36466..2d66bcb7e68b 100644 --- a/pkgs/development/python-modules/timm/default.nix +++ b/pkgs/development/python-modules/timm/default.nix @@ -23,7 +23,7 @@ buildPythonPackage (finalAttrs: { pname = "timm"; - version = "1.0.29"; + version = "1.0.30"; pyproject = true; __structuredAttrs = true; @@ -31,7 +31,7 @@ buildPythonPackage (finalAttrs: { owner = "huggingface"; repo = "pytorch-image-models"; tag = "v${finalAttrs.version}"; - hash = "sha256-kmz6olMnxeD5MMiJnz3mcdz6RYO7T8kaP2+mJI2RAco="; + hash = "sha256-NUoyA0q67TU9U5O9sd51q7Q0rvRsHoOfwZ8epiFyKrw="; }; # Fix torch 2.11.0 compatibility diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/hourly-weather/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/hourly-weather/package.nix index 60294918b54e..c16d57f20897 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/hourly-weather/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/hourly-weather/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "hourly-weather"; - version = "7.1.0"; + version = "7.1.1"; src = fetchFromGitHub { owner = "decompil3d"; repo = "lovelace-hourly-weather"; rev = version; - hash = "sha256-oxC4w8Ieoz2fwqBalPI2jXBlebmEw3+7DFN2ocmVo1s="; + hash = "sha256-dNgQzdwOVl+f8Var+233zAR1Nn/qck+Z1qrIba541oU="; }; - npmDepsHash = "sha256-m/hXymkNJl6IvGWMLnhVc9i5bDc09+Vzt9kuLY20cpI="; + npmDepsHash = "sha256-l4Ipnzf6izlz2WrC9tVn/LSkX/m8T/rj8WmiXKNkRuU="; env.CYPRESS_INSTALL_BINARY = "0";