diff --git a/doc/build-helpers/testers.chapter.md b/doc/build-helpers/testers.chapter.md index ec659e75bdb5..5c1b704655cf 100644 --- a/doc/build-helpers/testers.chapter.md +++ b/doc/build-helpers/testers.chapter.md @@ -339,6 +339,41 @@ once to get a derivation hash, and again to produce the final fixed output deriv ::: +## `runCommand` {#tester-runCommand} + +`runCommand :: { name, script, stdenv ? stdenvNoCC, hash ? "...", ... } -> Derivation` + +This is a wrapper around `pkgs.runCommandWith`, which +- produces a fixed-output derivation, enabling the command(s) to access the network ; +- salts the derivation's name based on its inputs, ensuring the command is re-run whenever the inputs changes. + +It accepts the following attributes: +- the derivation's `name` ; +- the `script` to be executed ; +- `stdenv`, the environment to use, defaulting to `stdenvNoCC` ; +- the derivation's output `hash`, defaulting to the empty file's. + The derivation's `outputHashMode` is set by default to recursive, so the `script` can output a directory as well. + +All other attributes are passed through to [`mkDerivation`](#sec-using-stdenv), +including `nativeBuildInputs` to specify dependencies available to the `script`. + +:::{.example #ex-tester-runCommand-nix} + +# Run a command with network access + +```nix +testers.runCommand { + name = "access-the-internet"; + command = '' + curl -o /dev/null https://example.com + touch $out + ''; + nativeBuildInputs = with pkgs; [ cacert curl ]; +} +``` + +::: + ## `runNixOSTest` {#tester-runNixOSTest} A helper function that behaves exactly like the NixOS `runTest`, except it also assigns this Nixpkgs package set as the `pkgs` of the test and makes the `nixpkgs.*` options read-only. diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix index 96e849b406e2..f020e68baab4 100644 --- a/pkgs/applications/audio/reaper/default.nix +++ b/pkgs/applications/audio/reaper/default.nix @@ -28,13 +28,13 @@ let in stdenv.mkDerivation rec { pname = "reaper"; - version = "7.19"; + version = "7.20"; src = fetchurl { url = url_for_platform version stdenv.hostPlatform.qemuArch; - hash = if stdenv.isDarwin then "sha256-uxrLtq7rTmsgYHeE1yizHsnuijiL17RkbeBJPRUqRnw=" else { - x86_64-linux = "sha256-f38WtxmIbkZpi0P8Cn5jEU7aP2AzEvbnalBg9N/rbMY="; - aarch64-linux = "sha256-WTXF/l7Z33LKzjrTQ8YesgJUBVtKUTDkjfO8curuL2o="; + hash = if stdenv.isDarwin then "sha256-RtGGGbiEEPXYUqK5qpKcCEfIwhlP7/0bAOPMCG7tqZw=" else { + x86_64-linux = "sha256-/6Ee8YCHM9nJhyelEfH62jhkbDwypKXljM305mWY2io="; + aarch64-linux = "sha256-YnKlONKCmXeV19oREJnXD5t3nEQZ5hVOOvDPtUIFw1A="; }.${stdenv.hostPlatform.system}; }; diff --git a/pkgs/applications/graphics/c3d/default.nix b/pkgs/applications/graphics/c3d/default.nix index 58af10640484..cce015802302 100644 --- a/pkgs/applications/graphics/c3d/default.nix +++ b/pkgs/applications/graphics/c3d/default.nix @@ -1,19 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, cmake, itk_5_2, Cocoa }: +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + itk, + Cocoa, +}: stdenv.mkDerivation rec { - pname = "c3d"; - version = "unstable-2021-09-14"; + pname = "c3d"; + version = "1.4.1-unstable-2024-08-07"; src = fetchFromGitHub { owner = "pyushkevich"; - repo = pname; - rev = "cc06e6e2f04acd3d6faa3d8c9a66b499f02d4388"; - sha256 = "sha256:1ql1y6694njsmdapywhppb54viyw8wdpaxxr1b3hm2rqhvwmhn52"; + repo = "c3d"; + rev = "9e6174153ab87eae014f5b802413478c8fbc9a1a"; + hash = "sha256-s2/XRyKoiMnF6cRsxxNUSlNtksbOyKSlk8hAGxJELqw="; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ itk_5_2 ] - ++ lib.optional stdenv.isDarwin Cocoa; + buildInputs = [ itk ] ++ lib.optional stdenv.isDarwin Cocoa; cmakeFlags = [ "-DCONVERT3D_USE_ITK_REMOTE_MODULES=OFF" ]; diff --git a/pkgs/build-support/testers/default.nix b/pkgs/build-support/testers/default.nix index d0d88115003f..705946e0eab7 100644 --- a/pkgs/build-support/testers/default.nix +++ b/pkgs/build-support/testers/default.nix @@ -1,4 +1,18 @@ -{ pkgs, pkgsLinux, buildPackages, diffoscopeMinimal, lib, callPackage, runCommand, stdenv, substituteAll, testers }: +{ + lib, + buildPackages, + callPackage, + pkgs, + pkgsLinux, + + diffoscopeMinimal, + runCommand, + runCommandWith, + stdenv, + stdenvNoCC, + substituteAll, + testers, +}: # Documentation is in doc/build-helpers/testers.chapter.md { # See https://nixos.org/manual/nixpkgs/unstable/#tester-lycheeLinkCheck @@ -87,6 +101,31 @@ else salted; in checked; + # See https://nixos.org/manual/nixpkgs/unstable/#tester-runCommand + runCommand = testers.invalidateFetcherByDrvHash ( + { + hash ? pkgs.emptyFile.outputHash, + name, + script, + stdenv ? stdenvNoCC, + ... + }@args: + + runCommandWith { + inherit name stdenv; + + derivationArgs = { + outputHash = hash; + outputHashMode = "recursive"; + } // lib.removeAttrs args [ + "hash" + "name" + "script" + "stdenv" + ]; + } script + ); + # See https://nixos.org/manual/nixpkgs/unstable/#tester-runNixOSTest # or doc/build-helpers/testers.chapter.md runNixOSTest = diff --git a/pkgs/build-support/testers/test/default.nix b/pkgs/build-support/testers/test/default.nix index 48855df91627..cc46e3cf4b71 100644 --- a/pkgs/build-support/testers/test/default.nix +++ b/pkgs/build-support/testers/test/default.nix @@ -18,6 +18,29 @@ lib.recurseIntoAttrs { shellcheck = pkgs.callPackage ../shellcheck/tests.nix { }; + runCommand = lib.recurseIntoAttrs { + bork = pkgs.python3Packages.bork.tests.pytest-network; + + dns-resolution = testers.runCommand { + name = "runCommand-dns-resolution-test"; + nativeBuildInputs = [ pkgs.ldns ]; + script = '' + drill example.com + touch $out + ''; + }; + + nonDefault-hash = testers.runCommand { + name = "runCommand-nonDefaultHash-test"; + script = '' + mkdir $out + touch $out/empty + echo aaaaaaaaaaicjnrkeflncmrlk > $out/keymash + ''; + hash = "sha256-eMy+6bkG+KS75u7Zt4PM3APhtdVd60NxmBRN5GKJrHs="; + }; + }; + runNixOSTest-example = pkgs-with-overlay.testers.runNixOSTest ({ lib, ... }: { name = "runNixOSTest-test"; nodes.machine = { pkgs, ... }: { diff --git a/pkgs/build-support/trivial-builders/default.nix b/pkgs/build-support/trivial-builders/default.nix index fc6f07fdd11b..686819725d59 100644 --- a/pkgs/build-support/trivial-builders/default.nix +++ b/pkgs/build-support/trivial-builders/default.nix @@ -887,9 +887,8 @@ rec { /* An immutable file in the store with a length of 0 bytes. */ emptyFile = runCommand "empty-file" { - outputHashAlgo = "sha256"; + outputHash = "sha256-d6xi4mKdjkX2JFicDIv5niSzpyI0m/Hnm8GGAIU04kY="; outputHashMode = "recursive"; - outputHash = "0ip26j2h11n1kgkz36rl4akv694yz65hr72q4kv4b3lxcbi65b3p"; preferLocalBuild = true; } "touch $out"; diff --git a/pkgs/by-name/ka/kakoune-lsp/package.nix b/pkgs/by-name/ka/kakoune-lsp/package.nix index 2a2d7a83a175..29e9fb4eef09 100644 --- a/pkgs/by-name/ka/kakoune-lsp/package.nix +++ b/pkgs/by-name/ka/kakoune-lsp/package.nix @@ -12,18 +12,18 @@ rustPlatform.buildRustPackage rec { pname = "kakoune-lsp"; - version = "17.1.1"; + version = "17.1.2"; src = fetchFromGitHub { owner = "kakoune-lsp"; repo = "kakoune-lsp"; rev = "v${version}"; - sha256 = "sha256-XBH2pMDiHJNXrx90Lt0IcsbMFUM+X7GAHgiHpdlIdR4="; + sha256 = "sha256-NZDp98Ne6z7DlJ2vZiqGzw5ukusOkEjb+eyvmxB+IKI="; }; patches = [ (replaceVars ./Hardcode-perl.patch { inherit perl; }) ]; - cargoHash = "sha256-Yi+T+9E3Wvce4kDLsRgZ07RAGLrq7dkinKpvvGeLeS0="; + cargoHash = "sha256-QonOqdcdp1vbxzLnF46X0DLVay2Up1LvHZ/ZZ04LqlE="; buildInputs = lib.optionals stdenv.isDarwin [ CoreServices diff --git a/pkgs/by-name/xw/xwiimote/package.nix b/pkgs/by-name/xw/xwiimote/package.nix new file mode 100644 index 000000000000..a17299197d27 --- /dev/null +++ b/pkgs/by-name/xw/xwiimote/package.nix @@ -0,0 +1,48 @@ +{ + lib, + stdenv, + udev, + ncurses, + pkg-config, + fetchFromGitHub, + bluez, + autoreconfHook, +}: + +stdenv.mkDerivation { + pname = "xwiimote"; + version = "2-unstable-2024-02-29"; + + src = fetchFromGitHub { + owner = "xwiimote"; + repo = "xwiimote"; + rev = "4df713d9037d814cc0c64197f69e5c78d55caaf1"; + hash = "sha256-y68bi62H7ErVekcs0RZUXPpW+QJ97sTQP4lajB9PsgU="; + }; + + configureFlags = [ "--with-doxygen=no" ]; + + buildInputs = [ + udev + ncurses + ]; + + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + + postInstallPhase = '' + mkdir -p "$out/etc/X11/xorg.conf.d/" + cp "res/50-xorg-fix-xwiimote.conf" "$out/etc/X11/xorg.conf.d/50-fix-xwiimote.conf" + ''; + + meta = { + homepage = "https://xwiimote.github.io/xwiimote/"; + description = "Userspace utilities to control connected Nintendo Wii Remotes"; + mainProgram = "xwiishow"; + platforms = lib.platforms.linux; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ pyrox0 ]; + }; +} diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix index 20ce67456c6a..8a41c60b169f 100644 --- a/pkgs/development/libraries/libva/default.nix +++ b/pkgs/development/libraries/libva/default.nix @@ -38,6 +38,12 @@ stdenv.mkDerivation (finalAttrs: { "-Ddriverdir=${mesa.driverLink}/lib/dri:/usr/lib/dri:/usr/lib32/dri:/usr/lib/x86_64-linux-gnu/dri:/usr/lib/i386-linux-gnu/dri" ]; + env = lib.optionalAttrs (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") { + NIX_LDFLAGS = "--undefined-version"; + } // lib.optionalAttrs (stdenv.targetPlatform.useLLVM or false) { + NIX_CFLAGS_COMPILE = "-DHAVE_SECURE_GETENV"; + }; + passthru.tests = { # other drivers depending on libva and selected application users. # Please get a confirmation from the maintainer before adding more applications. @@ -66,8 +72,4 @@ stdenv.mkDerivation (finalAttrs: { lib.systems.inspect.platformPatterns.isStatic ]; }; -} // lib.optionalAttrs (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") { - NIX_LDFLAGS = "--undefined-version"; -} // lib.optionalAttrs (stdenv.targetPlatform.useLLVM or false) { - NIX_CFLAGS_COMPILE = "-DHAVE_SECURE_GETENV"; }) diff --git a/pkgs/development/python-modules/aioairzone-cloud/default.nix b/pkgs/development/python-modules/aioairzone-cloud/default.nix index 56efb548aa09..4f25e486dd93 100644 --- a/pkgs/development/python-modules/aioairzone-cloud/default.nix +++ b/pkgs/development/python-modules/aioairzone-cloud/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "aioairzone-cloud"; - version = "0.6.1"; + version = "0.6.2"; pyproject = true; disabled = pythonOlder "3.11"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "Noltari"; repo = "aioairzone-cloud"; rev = "refs/tags/${version}"; - hash = "sha256-0aqY8Bg/kDSaNGSQ8hrlUQpfwYM3sVxQHm75/khgRTM="; + hash = "sha256-ByXSLfcUyj8i6t5guHnJedZrevGm71ad19vA/CxwTJ4="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/aiohomekit/default.nix b/pkgs/development/python-modules/aiohomekit/default.nix index 03b73922d4f5..e0b658d810dc 100644 --- a/pkgs/development/python-modules/aiohomekit/default.nix +++ b/pkgs/development/python-modules/aiohomekit/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "aiohomekit"; - version = "3.2.1"; + version = "3.2.2"; pyproject = true; disabled = pythonOlder "3.10"; @@ -30,12 +30,12 @@ buildPythonPackage rec { owner = "Jc2k"; repo = "aiohomekit"; rev = "refs/tags/${version}"; - hash = "sha256-bv+xt6rp3cs8FhAw8b8Que5ABeD5+7z+LOb5C1PbzXI="; + hash = "sha256-SeK0CZesGatPQdwjr4u28m+ZIojlM02GCftX/q8Dg4g="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ aiocoap aiohappyeyeballs async-interrupt diff --git a/pkgs/development/python-modules/aioshelly/default.nix b/pkgs/development/python-modules/aioshelly/default.nix index ffb496df6973..55356c9f47e5 100644 --- a/pkgs/development/python-modules/aioshelly/default.nix +++ b/pkgs/development/python-modules/aioshelly/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "aioshelly"; - version = "11.1.0"; + version = "11.2.0"; pyproject = true; disabled = pythonOlder "3.10"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "home-assistant-libs"; repo = "aioshelly"; rev = "refs/tags/${version}"; - hash = "sha256-uCvwqGsQuiFRhpEj9mIBNE8JsG/3uvMptzOXOwUhY3o="; + hash = "sha256-+h7xRKTI5S+NQ0IdC2DJywQRIWUUd1mHti6K7VPhBAc="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/aiounifi/default.nix b/pkgs/development/python-modules/aiounifi/default.nix index b9c3534c36d6..1d325c1eb803 100644 --- a/pkgs/development/python-modules/aiounifi/default.nix +++ b/pkgs/development/python-modules/aiounifi/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "aiounifi"; - version = "79"; + version = "80"; pyproject = true; disabled = pythonOlder "3.11"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "Kane610"; repo = "aiounifi"; rev = "refs/tags/v${version}"; - hash = "sha256-okyUjHWzm2LKyDSmE93qbc8XK4fMQMr9R0L/W7GSeUw="; + hash = "sha256-320ptaKT+6mKUj9y+MvGovp4/XVbYIlDTb9lLXY7c1w="; }; postPatch = '' diff --git a/pkgs/development/python-modules/bellows/default.nix b/pkgs/development/python-modules/bellows/default.nix index d70fc9204241..bdda94a0f499 100644 --- a/pkgs/development/python-modules/bellows/default.nix +++ b/pkgs/development/python-modules/bellows/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "bellows"; - version = "0.40.3"; + version = "0.40.4"; pyproject = true; disabled = pythonOlder "3.8"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "zigpy"; repo = "bellows"; rev = "refs/tags/${version}"; - hash = "sha256-JGc5jDvEZtYyYAExRnN1K5hDY3ioS3+mm7jMrR0RyXk="; + hash = "sha256-9YReXaD4qmd2gzbGwzhslzT4K3ajCQrCN7TVl/6fOMU="; }; postPatch = '' diff --git a/pkgs/development/python-modules/bluetooth-adapters/default.nix b/pkgs/development/python-modules/bluetooth-adapters/default.nix index 10e5633927e8..4b56028b75d9 100644 --- a/pkgs/development/python-modules/bluetooth-adapters/default.nix +++ b/pkgs/development/python-modules/bluetooth-adapters/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { pname = "bluetooth-adapters"; - version = "0.19.3"; + version = "0.19.4"; pyproject = true; disabled = pythonOlder "3.9"; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = "bluetooth-adapters"; rev = "refs/tags/v${version}"; - hash = "sha256-yRGlp3hykxdWnJde/VF6CwQgP6cupj1BCW7OmFNQAbM="; + hash = "sha256-XpPC7FVWzdEki6kdZDu0vV7iD1DZzGbI1f9VKxsjKUQ="; }; postPatch = '' diff --git a/pkgs/development/python-modules/bork/default.nix b/pkgs/development/python-modules/bork/default.nix index 44a8564558e9..9da54dc1ec69 100644 --- a/pkgs/development/python-modules/bork/default.nix +++ b/pkgs/development/python-modules/bork/default.nix @@ -1,6 +1,7 @@ { lib, buildPythonPackage, + callPackage, fetchFromGitHub, pytestCheckHook, pythonOlder, @@ -61,6 +62,8 @@ buildPythonPackage rec { "test_repo" ]; + passthru.tests = callPackage ./tests.nix { }; + meta = with lib; { description = "Python build and release management tool"; mainProgram = "bork"; diff --git a/pkgs/development/python-modules/bork/tests.nix b/pkgs/development/python-modules/bork/tests.nix new file mode 100644 index 000000000000..7d5c84f2bc35 --- /dev/null +++ b/pkgs/development/python-modules/bork/tests.nix @@ -0,0 +1,28 @@ +{ + testers, + + bork, + cacert, + git, + pytest, +}: +{ + # a.k.a. `tests.testers.runCommand.bork` + pytest-network = testers.runCommand { + name = "bork-pytest-network"; + nativeBuildInputs = [ + bork + cacert + git + pytest + ]; + script = '' + # Copy the source tree over, and make it writeable + cp -r ${bork.src} bork/ + find -type d -exec chmod 0755 '{}' '+' + + pytest -v -m network bork/ + touch $out + ''; + }; +} diff --git a/pkgs/development/python-modules/foobot-async/default.nix b/pkgs/development/python-modules/foobot-async/default.nix index 895bccb33137..dd12bd185a95 100644 --- a/pkgs/development/python-modules/foobot-async/default.nix +++ b/pkgs/development/python-modules/foobot-async/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "foobot-async"; - version = "1.0.0"; + version = "1.0.1"; pyproject = true; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "foobot_async"; inherit version; - hash = "sha256-+lV6It6SUTnLSiEDT/280B0ovxZsDmgOr4SpkgYyf0A="; + hash = "sha256-QQjysk2m8QkOpLBdC8kfuoA9PcljgEwzKyrIAhxHB4c="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/openwebifpy/default.nix b/pkgs/development/python-modules/openwebifpy/default.nix index 086f16fd81de..1dd4ab8a8f2b 100644 --- a/pkgs/development/python-modules/openwebifpy/default.nix +++ b/pkgs/development/python-modules/openwebifpy/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "openwebifpy"; - version = "4.2.6"; + version = "4.2.7"; pyproject = true; disabled = pythonOlder "3.11"; src = fetchPypi { inherit pname version; - hash = "sha256-znMTbKQlklzOKMmlsPiM1JJ1VMB4HK5uMXoBay2Ow4A="; + hash = "sha256-MoTSfoO6km3jAaF9oIDxhxhMI8jqZAyPD6yBYcYxhd4="; }; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/py-synologydsm-api/default.nix b/pkgs/development/python-modules/py-synologydsm-api/default.nix index 143a3159b8fe..93a5f245ff1b 100644 --- a/pkgs/development/python-modules/py-synologydsm-api/default.nix +++ b/pkgs/development/python-modules/py-synologydsm-api/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "py-synologydsm-api"; - version = "2.4.4"; + version = "2.4.5"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "mib1185"; repo = "py-synologydsm-api"; rev = "refs/tags/v${version}"; - hash = "sha256-46KoOKBiulTYH2x8ftFPVDF0oeBG1Pe9PkonxIV7528="; + hash = "sha256-aVU+E5TwGIH+y7qtS5pBkW14EbZI6kb1Hy2zEqk1nrk="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pyhomeworks/default.nix b/pkgs/development/python-modules/pyhomeworks/default.nix index 5cb1d95c26d1..f21de3ee95dc 100644 --- a/pkgs/development/python-modules/pyhomeworks/default.nix +++ b/pkgs/development/python-modules/pyhomeworks/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "pyhomeworks"; - version = "1.1.0"; + version = "1.1.1"; pyproject = true; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-9S0SYn4e/qaCRgdwlU4gPaj0eKAQJrYigvAP6eaPzRM="; + hash = "sha256-RwaVjOhMztQsKD+F++PLcwa0gqfC+8aQmloMVnQJjv8="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pylutron-caseta/default.nix b/pkgs/development/python-modules/pylutron-caseta/default.nix index 7d5ef3a92258..2bd1368ffb02 100644 --- a/pkgs/development/python-modules/pylutron-caseta/default.nix +++ b/pkgs/development/python-modules/pylutron-caseta/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "pylutron-caseta"; - version = "0.21.0"; + version = "0.21.1"; pyproject = true; disabled = pythonOlder "3.8"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "gurumitts"; repo = "pylutron-caseta"; rev = "refs/tags/v${version}"; - hash = "sha256-rmf1ydPfA6rCpWB4TZXAK9MDpsPpahsT7xm/dUrMW+0="; + hash = "sha256-u2FPWDWBSoS5mJPnYAkLTQR6K8YLDs77djdWL+7840o="; }; nativeBuildInputs = [ hatchling ]; diff --git a/pkgs/development/python-modules/systembridgeconnector/default.nix b/pkgs/development/python-modules/systembridgeconnector/default.nix index 1841c4ee733b..221cca321e04 100644 --- a/pkgs/development/python-modules/systembridgeconnector/default.nix +++ b/pkgs/development/python-modules/systembridgeconnector/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "systembridgeconnector"; - version = "4.1.2"; + version = "4.1.5"; pyproject = true; disabled = pythonOlder "3.11"; @@ -25,15 +25,23 @@ buildPythonPackage rec { owner = "timmo001"; repo = "system-bridge-connector"; rev = "refs/tags/${version}"; - hash = "sha256-uqE/KJnuNii2b3geB9jp8IxaeceuZVXdol7s3hP6z/Q="; + hash = "sha256-AzAN7reBAI4atEFutgFrdQHFy/Qc90PQxwSaHaftn5Q="; }; postPatch = '' + substituteInPlace requirements_setup.txt \ + --replace-fail ">=" " #" + substituteInPlace systembridgeconnector/_version.py \ --replace-fail ", dev=0" "" ''; - build-system = [ setuptools ]; + build-system = [ + incremental + setuptools + ]; + + pythonRelaxDeps = [ "incremental" ]; dependencies = [ aiohttp @@ -51,6 +59,13 @@ buildPythonPackage rec { syrupy ]; + disabledTests = [ + "test_get_data" + "test_wait_for_response_timeout" + ]; + + pytestFlagsArray = [ "--snapshot-warn-unused" ]; + meta = { changelog = "https://github.com/timmo001/system-bridge-connector/releases/tag/${version}"; description = "This is the connector package for the System Bridge project"; diff --git a/pkgs/development/python-modules/systembridgemodels/default.nix b/pkgs/development/python-modules/systembridgemodels/default.nix index 4c6b74a4a62b..ebb8dcea57ad 100644 --- a/pkgs/development/python-modules/systembridgemodels/default.nix +++ b/pkgs/development/python-modules/systembridgemodels/default.nix @@ -6,11 +6,12 @@ setuptools, incremental, pytestCheckHook, + syrupy, }: buildPythonPackage rec { pname = "systembridgemodels"; - version = "4.1.0"; + version = "4.2.4"; pyproject = true; disabled = pythonOlder "3.11"; @@ -19,21 +20,39 @@ buildPythonPackage rec { owner = "timmo001"; repo = "system-bridge-models"; rev = "refs/tags/${version}"; - hash = "sha256-wyTlkbrf9H1mdVyZP234nVDuls/QrFXcv3pXhztp9+A="; + hash = "sha256-FjHDd7nI30ChaClL0b1ME9Zv+DV0BiMsfgGOKQF/qBk="; }; postPatch = '' + substituteInPlace requirements_setup.txt \ + --replace-fail ">=" " #" + substituteInPlace systembridgemodels/_version.py \ --replace-fail ", dev=0" "" ''; - build-system = [ setuptools ]; + build-system = [ + incremental + setuptools + ]; + + pythonRelaxDeps = [ "incremental" ]; dependencies = [ incremental ]; pythonImportsCheck = [ "systembridgemodels" ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytestCheckHook + syrupy + ]; + + disabledTests = [ + "test_system" + "test_update" + ]; + + pytestFlagsArray = [ "--snapshot-warn-unused" ]; meta = { changelog = "https://github.com/timmo001/system-bridge-models/releases/tag/${version}"; diff --git a/pkgs/development/python-modules/wled/default.nix b/pkgs/development/python-modules/wled/default.nix index da752e20e369..00e3c9e24412 100644 --- a/pkgs/development/python-modules/wled/default.nix +++ b/pkgs/development/python-modules/wled/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "wled"; - version = "0.20.1"; + version = "0.20.2"; pyproject = true; disabled = pythonOlder "3.11"; @@ -30,7 +30,7 @@ buildPythonPackage rec { owner = "frenck"; repo = "python-wled"; rev = "refs/tags/v${version}"; - hash = "sha256-n/Ot08x7G4ApHv0BUW106iubXmXeOqDQp7J8Bstgpc4="; + hash = "sha256-7P/V83dGkfJJjZxZtiEwQXIY7CeBZ/fmvTdEjDirKj0="; }; postPatch = '' diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix index f15ebd0f9166..878fbfdc76d1 100644 --- a/pkgs/development/python-modules/xknx/default.nix +++ b/pkgs/development/python-modules/xknx/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "xknx"; - version = "3.0.0"; + version = "3.1.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "XKNX"; repo = "xknx"; rev = "refs/tags/${version}"; - hash = "sha256-QEv8HMK35vr3ozfHu2pUnmgqQ73vLnXzobQNhwRtlsI="; + hash = "sha256-JoJvEE21BubAmPm97fk9mbCkkn1dWkZO/uLd6C0DkUQ="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix index 17d50b428b7a..d3be6151e7fb 100644 --- a/pkgs/development/python-modules/zha-quirks/default.nix +++ b/pkgs/development/python-modules/zha-quirks/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "zha-quirks"; - version = "0.0.118"; + version = "0.0.119"; pyproject = true; disabled = pythonOlder "3.12"; @@ -21,14 +21,9 @@ buildPythonPackage rec { owner = "zigpy"; repo = "zha-device-handlers"; rev = "refs/tags/${version}"; - hash = "sha256-LudwIENP1KCX7+HwyklCUdAu5mRLDcnMEZBzbRH2FM0="; + hash = "sha256-QvytImEpDk+3IeWVh9bYaX60u+mx4SVXuRxAd/YjPTE="; }; - patches = [ - # https://github.com/zigpy/zha-device-handlers/pull/3296 - ./zigpy-0.65.3-compat.patch - ]; - postPatch = '' substituteInPlace pyproject.toml \ --replace-fail ', "setuptools-git-versioning<2"' "" \ diff --git a/pkgs/development/python-modules/zha-quirks/zigpy-0.65.3-compat.patch b/pkgs/development/python-modules/zha-quirks/zigpy-0.65.3-compat.patch deleted file mode 100644 index 0c1f573ae433..000000000000 --- a/pkgs/development/python-modules/zha-quirks/zigpy-0.65.3-compat.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/tests/conftest.py b/tests/conftest.py -index e64beb2..c1f0785 100644 ---- a/tests/conftest.py -+++ b/tests/conftest.py -@@ -88,7 +88,6 @@ class MockApp(zigpy.application.ControllerApplication): - def app_controller_mock(): - """App controller mock.""" - config = {"device": {"path": "/dev/ttyUSB0"}, "database": None} -- config = MockApp.SCHEMA(config) - app = MockApp(config) - return app - diff --git a/pkgs/development/python-modules/zha/default.nix b/pkgs/development/python-modules/zha/default.nix index c83e3fb93201..6dd2540bab6f 100644 --- a/pkgs/development/python-modules/zha/default.nix +++ b/pkgs/development/python-modules/zha/default.nix @@ -27,7 +27,7 @@ buildPythonPackage rec { pname = "zha"; - version = "0.0.30"; + version = "0.0.31"; pyproject = true; disabled = pythonOlder "3.12"; @@ -36,7 +36,7 @@ buildPythonPackage rec { owner = "zigpy"; repo = "zha"; rev = "refs/tags/${version}"; - hash = "sha256-4Fpe1us/GS2QVJbbnMcI7bziyW5P2kuJ6+p5L9N7lMY="; + hash = "sha256-H1VmB20ldUyKIiMRT8YMgiFIno41WN2bY8rhqFsGYcA="; }; postPatch = '' diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix index c86a79435d28..1ce192040777 100644 --- a/pkgs/development/python-modules/zigpy/default.nix +++ b/pkgs/development/python-modules/zigpy/default.nix @@ -27,7 +27,7 @@ buildPythonPackage rec { pname = "zigpy"; - version = "0.65.3"; + version = "0.65.4"; pyproject = true; disabled = pythonOlder "3.8"; @@ -36,7 +36,7 @@ buildPythonPackage rec { owner = "zigpy"; repo = "zigpy"; rev = "refs/tags/${version}"; - hash = "sha256-zE8Hqha1yv7OsaXYrKzf3o2JLO/RcDSAxixWoMj2T3M="; + hash = "sha256-+z25W3ubw1TJbrRghsYzcuUZUHaL5xPMeZceJ1aUrKw="; }; postPatch = '' diff --git a/pkgs/misc/drivers/xwiimote/default.nix b/pkgs/misc/drivers/xwiimote/default.nix deleted file mode 100644 index 14f22c9463ed..000000000000 --- a/pkgs/misc/drivers/xwiimote/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ lib, stdenv, udev, ncurses, pkg-config, fetchurl, bluez }: - -stdenv.mkDerivation rec { - pname = "xwiimote"; - version = "2"; - - src = fetchurl { - url = "https://github.com/dvdhrm/xwiimote/releases/download/xwiimote-${version}/xwiimote-${version}.tar.xz"; - sha256 = "1g9cbhblll47l300zr999xr51x2g98y49l222f77fhswd12kjzhd"; - }; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ udev ncurses bluez ]; - - configureFlags = [ "--with-doxygen=no" ]; - - meta = { - homepage = "https://dvdhrm.github.io/xwiimote"; - description = "Userspace utilities to control connected Nintendo Wii Remotes"; - mainProgram = "xwiishow"; - platforms = lib.platforms.linux; - license = lib.licenses.mit; - }; - - postInstallPhase = '' - mkdir -p "$out/etc/X11/xorg.conf.d/" - cp "res/50-xorg-fix-xwiimote.conf" "$out/etc/X11/xorg.conf.d/50-fix-xwiimote.conf" - ''; -} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 2cfa3a5088ac..d688576497c7 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "2024.8.1"; + version = "2024.8.2"; components = { "3_day_blinds" = ps: with ps; [ ]; @@ -665,6 +665,8 @@ "compensation" = ps: with ps; [ numpy_1 ]; + "concord232" = ps: with ps; [ + ]; # missing inputs: concord232 "coned" = ps: with ps; [ ]; "config" = ps: with ps; [ diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 3a67ab47abd2..1ccd1bb6e9cb 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -471,7 +471,7 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run update-component-packages.py after updating - hassVersion = "2024.8.1"; + hassVersion = "2024.8.2"; in python.pkgs.buildPythonApplication rec { pname = "homeassistant"; @@ -489,13 +489,13 @@ in python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = "refs/tags/${version}"; - hash = "sha256-sbXfvlQJRRVkvSRJ8v/Su8us9WnoJUF4odAJrewryco="; + hash = "sha256-tOh6pCnRTU+JLcog6cEeeCyLOQuX9KPVdWeJfMc8G78="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-VzoH+wrpUAXJRjEZC2x9qjRzTSsiaUm6aI6/uHv6h/4="; + hash = "sha256-qEJXO7R+NxZaxpPCJs+SKgZdcB0ZUBKy7nsq9JQ9z1Q="; }; build-system = with python.pkgs; [ diff --git a/pkgs/tools/filesystems/garage/default.nix b/pkgs/tools/filesystems/garage/default.nix index aa073ab2d5c8..962685c2d537 100644 --- a/pkgs/tools/filesystems/garage/default.nix +++ b/pkgs/tools/filesystems/garage/default.nix @@ -11,7 +11,7 @@ , nixosTests }: let - generic = { version, sha256, cargoHash, eol ? false, broken ? false }: rustPlatform.buildRustPackage { + generic = { version, sha256, cargoHash, cargoPatches ? [], eol ? false, broken ? false }: rustPlatform.buildRustPackage { pname = "garage"; inherit version; @@ -29,7 +29,7 @@ let rm .cargo/config.toml || true ''; - inherit cargoHash; + inherit cargoHash cargoPatches; nativeBuildInputs = [ protobuf pkg-config ]; @@ -97,7 +97,8 @@ rec { garage_0_8_7 = generic { version = "0.8.7"; sha256 = "sha256-2QGbR6YvMQeMxN3n1MMJ5qfBcEJ5hjXARUOfEn+m4Jc="; - cargoHash = "sha256-Q0QyBNPEDrlhgIHD4q7Qb1Pu3xBvzlLOSW7LSWWdoIo="; + cargoHash = "sha256-1cGlJP/RRgxt3GGMN1c+7Y5lLHJyvHEnpLsR35R5FfI="; + cargoPatches = [ ./update-time-0.8.patch ]; broken = stdenv.isDarwin; }; @@ -106,14 +107,16 @@ rec { garage_0_9_4 = generic { version = "0.9.4"; sha256 = "sha256-2ZaxenwaVGYYUjUJaGgnGpZNQprQV9+Jns2sXM6cowk="; - cargoHash = "sha256-Cssls9csn6qribF+pAAagBydX9e9WTq4K/ehaLCWOOA="; + cargoHash = "sha256-1Hrip4R5dr31czOcFMGW4ZvVfVwvdd7LkwukwNpS3o4="; + cargoPatches = [ ./update-time.patch ]; broken = stdenv.isDarwin; }; garage_1_0_0 = generic { version = "1.0.0"; sha256 = "sha256-5W5cXylFCrDup+HOOUVPWBJUSphOp8szgtpvRIv82b8="; - cargoHash = "sha256-tXO+Vk6bYpayNWi/y4sMtkn2EQ9wiwSAfn79Zbt28q0="; + cargoHash = "sha256-zol9P01bwlvl1Wap4EekgVpC45izNCt2uKs7x+EEA/E="; + cargoPatches = [ ./update-time.patch ]; broken = stdenv.isDarwin; }; diff --git a/pkgs/tools/filesystems/garage/update-time-0.8.patch b/pkgs/tools/filesystems/garage/update-time-0.8.patch new file mode 100644 index 000000000000..30d3a2207837 --- /dev/null +++ b/pkgs/tools/filesystems/garage/update-time-0.8.patch @@ -0,0 +1,111 @@ +diff --git a/Cargo.lock b/Cargo.lock +index 23604c99e5..58355d867e 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -223,7 +223,7 @@ + "http", + "hyper", + "ring", +- "time 0.3.28", ++ "time 0.3.36", + "tokio", + "tower", + "tracing", +@@ -393,7 +393,7 @@ + "percent-encoding", + "regex", + "sha2", +- "time 0.3.28", ++ "time 0.3.36", + "tracing", + ] + +@@ -533,7 +533,7 @@ + "itoa", + "num-integer", + "ryu", +- "time 0.3.28", ++ "time 0.3.36", + ] + + [[package]] +@@ -932,9 +932,12 @@ + + [[package]] + name = "deranged" +-version = "0.3.8" ++version = "0.3.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" ++checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" ++dependencies = [ ++ "powerfmt", ++] + + [[package]] + name = "derivative" +@@ -2410,6 +2413,12 @@ + ] + + [[package]] ++name = "num-conv" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" ++ ++[[package]] + name = "num-integer" + version = "0.1.45" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -2747,6 +2756,12 @@ + ] + + [[package]] ++name = "powerfmt" ++version = "0.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" ++ ++[[package]] + name = "ppv-lite86" + version = "0.2.17" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -3666,11 +3681,13 @@ + + [[package]] + name = "time" +-version = "0.3.28" ++version = "0.3.36" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" ++checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" + dependencies = [ + "deranged", ++ "num-conv", ++ "powerfmt", + "serde", + "time-core", + "time-macros", +@@ -3678,16 +3695,17 @@ + + [[package]] + name = "time-core" +-version = "0.1.1" ++version = "0.1.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" ++checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + + [[package]] + name = "time-macros" +-version = "0.2.14" ++version = "0.2.18" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" ++checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" + dependencies = [ ++ "num-conv", + "time-core", + ] + + diff --git a/pkgs/tools/filesystems/garage/update-time.patch b/pkgs/tools/filesystems/garage/update-time.patch new file mode 100644 index 000000000000..405fc5fef282 --- /dev/null +++ b/pkgs/tools/filesystems/garage/update-time.patch @@ -0,0 +1,28 @@ +diff --git a/Cargo.lock b/Cargo.lock +index 9cb4b57ee5..b23da31151 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -4082,9 +4082,9 @@ + + [[package]] + name = "time" +-version = "0.3.34" ++version = "0.3.36" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" ++checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" + dependencies = [ + "deranged", + "num-conv", +@@ -4102,9 +4102,9 @@ + + [[package]] + name = "time-macros" +-version = "0.2.17" ++version = "0.2.18" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" ++checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" + dependencies = [ + "num-conv", + "time-core", diff --git a/pkgs/tools/system/fakeroot/default.nix b/pkgs/tools/system/fakeroot/default.nix index f4402a876588..bd04625d44f9 100644 --- a/pkgs/tools/system/fakeroot/default.nix +++ b/pkgs/tools/system/fakeroot/default.nix @@ -78,6 +78,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { homepage = "https://salsa.debian.org/clint/fakeroot"; description = "Give a fake root environment through LD_PRELOAD"; + mainProgram = "fakeroot"; license = lib.licenses.gpl2Plus; maintainers = [ ]; platforms = lib.platforms.unix; diff --git a/pkgs/tools/system/ipmitool/default.nix b/pkgs/tools/system/ipmitool/default.nix index 407a1f91b3bb..6a098d6ccc54 100644 --- a/pkgs/tools/system/ipmitool/default.nix +++ b/pkgs/tools/system/ipmitool/default.nix @@ -29,6 +29,7 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "Command-line interface to IPMI-enabled devices"; + mainProgram = "ipmitool"; license = licenses.bsd3; homepage = "https://github.com/ipmitool/ipmitool"; platforms = platforms.unix; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4c26167e3528..3a37f10b5570 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -39470,8 +39470,6 @@ with pkgs; xva-img = callPackage ../tools/virtualization/xva-img { }; - xwiimote = callPackage ../misc/drivers/xwiimote { }; - xzoom = callPackage ../tools/X11/xzoom { }; yacreader = libsForQt5.callPackage ../applications/graphics/yacreader { };