diff --git a/nixos/modules/services/web-apps/drupal.nix b/nixos/modules/services/web-apps/drupal.nix index f05005bec0c9..a6fa29cbd351 100644 --- a/nixos/modules/services/web-apps/drupal.nix +++ b/nixos/modules/services/web-apps/drupal.nix @@ -168,8 +168,10 @@ let cp "$default_settings_file" "$settings_file" fi - cat < ${appendSettings hostName} >> "$settings_file" - chmod 644 "$settings_file" + if ! grep -qF "require dirname(__FILE__) . '/settings.nixos-${hostName}.php';" ${cfg.stateDir}/sites/default/settings.php; then + echo "Appending NixOS generated settings..." + cat < ${appendSettings hostName} >> "$settings_file" + fi # Link the NixOS-managed settings file to the state directory. ln -sf ${drupalSettings hostName cfg} ${cfg.stateDir}/sites/default/settings.nixos-${hostName}.php diff --git a/pkgs/by-name/fl/flatpak/package.nix b/pkgs/by-name/fl/flatpak/package.nix index ab702bbc6b2f..fda3dd65f63b 100644 --- a/pkgs/by-name/fl/flatpak/package.nix +++ b/pkgs/by-name/fl/flatpak/package.nix @@ -80,7 +80,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "flatpak"; - version = "1.16.3"; + version = "1.16.4"; # TODO: split out lib once we figure out what to do with triggerdir outputs = [ @@ -98,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "https://github.com/flatpak/flatpak/releases/download/${finalAttrs.version}/flatpak-${finalAttrs.version}.tar.xz"; - hash = "sha256-PWvT9fiUDoDAhyhso+QhgvxjDXgIlFNlEfzSz/wSz1s="; + hash = "sha256-dh/zugDJmib5FMaZnpCxKlTKsZzqWIhBPxfkbuYY2P4="; }; patches = [ diff --git a/pkgs/by-name/ge/gephgui-wry/package.nix b/pkgs/by-name/ge/gephgui-wry/package.nix index a47135d0c307..d141ff8be816 100644 --- a/pkgs/by-name/ge/gephgui-wry/package.nix +++ b/pkgs/by-name/ge/gephgui-wry/package.nix @@ -52,13 +52,13 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "gephgui-wry"; - version = "5.4.1"; + version = "5.5.0"; src = fetchFromGitHub { owner = "geph-official"; repo = "gephgui-pkg"; tag = "v${finalAttrs.version}"; - hash = "sha256-nlWFiEFraI4sUBTs/ZxiHpaeYHert78oPiyFc6LKV30="; + hash = "sha256-NxtE26GPG2EvgtMa6eEOZmOcqu4yYr3zioF1CmrxLRk="; fetchSubmodules = true; }; @@ -83,7 +83,7 @@ rustPlatform.buildRustPackage (finalAttrs: { }; sourceRoot = "${finalAttrs.src.name}/gephgui-wry"; - cargoHash = "sha256-7EJvcnltKlq94jahnMpvzdFJ8P12HjUGC6AOXirpcg4="; + cargoHash = "sha256-Dh1WuxU1rRDNu2cF9GCo1CIiph1sLc5j0GSPb7b7kJA="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/pa/parallel/package.nix b/pkgs/by-name/pa/parallel/package.nix index 900b035c5428..2ca95585973c 100644 --- a/pkgs/by-name/pa/parallel/package.nix +++ b/pkgs/by-name/pa/parallel/package.nix @@ -12,11 +12,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "parallel"; - version = "20260122"; + version = "20260322"; src = fetchurl { url = "mirror://gnu/parallel/parallel-${finalAttrs.version}.tar.bz2"; - hash = "sha256-gx944B8/KKwkQeZrEBcVYscaAwA1OJOqBbvCd/E8xZY="; + hash = "sha256-dkaA6TL00NIc8DKb2fnu1lmJXeFoNgAfZJFTO4Ir7+A="; }; outputs = [ diff --git a/pkgs/by-name/ux/uxplay/package.nix b/pkgs/by-name/ux/uxplay/package.nix index 84dbe23899fa..0407babb7059 100644 --- a/pkgs/by-name/ux/uxplay/package.nix +++ b/pkgs/by-name/ux/uxplay/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "uxplay"; - version = "1.73.5"; + version = "1.73.6"; src = fetchFromGitHub { owner = "FDH2"; repo = "UxPlay"; rev = "v${finalAttrs.version}"; - hash = "sha256-c/2WRQcNCFdCd9NZuNpbz8iPWXC9FDdMmtoLr6+rQAI="; + hash = "sha256-NQqrrTQiWcOhWFrdqniK6FnmOSIVGS4/cRDg5gd3bOE="; }; postPatch = '' diff --git a/pkgs/development/python-modules/aiodukeenergy/default.nix b/pkgs/development/python-modules/aiodukeenergy/default.nix index 52dbd8296db7..54878fc31c9f 100644 --- a/pkgs/development/python-modules/aiodukeenergy/default.nix +++ b/pkgs/development/python-modules/aiodukeenergy/default.nix @@ -5,6 +5,7 @@ fetchFromGitHub, lib, poetry-core, + pyjwt, pytest-asyncio, pytest-cov-stub, pytestCheckHook, @@ -13,20 +14,21 @@ buildPythonPackage rec { pname = "aiodukeenergy"; - version = "0.3.0"; + version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "hunterjm"; repo = "aiodukeenergy"; tag = "v${version}"; - hash = "sha256-BYDC2j2s6gg8/owTDdijqmReUSqDYWqHXf8BUzYn+sI="; + hash = "sha256-tHtuQFOw9CPqWJ6QzdqcN3W8uzjgZFh5z8DqAc+5jLo="; }; build-system = [ poetry-core ]; dependencies = [ aiohttp + pyjwt yarl ]; diff --git a/pkgs/development/python-modules/pydantic-ai-slim/default.nix b/pkgs/development/python-modules/pydantic-ai-slim/default.nix index 20b9e60fe91c..224c87006dac 100644 --- a/pkgs/development/python-modules/pydantic-ai-slim/default.nix +++ b/pkgs/development/python-modules/pydantic-ai-slim/default.nix @@ -20,14 +20,14 @@ buildPythonPackage (finalAttrs: { pname = "pydantic-ai-slim"; - version = "1.75.0"; + version = "1.77.0"; pyproject = true; src = fetchFromGitHub { owner = "pydantic"; repo = "pydantic-ai"; tag = "v${finalAttrs.version}"; - hash = "sha256-ii6q9eC/7qRBnyMFA7kdmz5tq/KR0EWqcu1+kXOCxVE="; + hash = "sha256-g1behrlnpYio1w12jzMS13DQSs6ajgN8bezinIPr928="; }; sourceRoot = "${finalAttrs.src.name}/pydantic_ai_slim"; diff --git a/pkgs/development/python-modules/pydantic-graph/default.nix b/pkgs/development/python-modules/pydantic-graph/default.nix index 4c03bbd9c456..3aa221715ecd 100644 --- a/pkgs/development/python-modules/pydantic-graph/default.nix +++ b/pkgs/development/python-modules/pydantic-graph/default.nix @@ -16,14 +16,14 @@ buildPythonPackage (finalAttrs: { pname = "pydantic-graph"; - version = "1.75.0"; + version = "1.77.0"; pyproject = true; src = fetchFromGitHub { owner = "pydantic"; repo = "pydantic-ai"; tag = "v${finalAttrs.version}"; - hash = "sha256-ii6q9eC/7qRBnyMFA7kdmz5tq/KR0EWqcu1+kXOCxVE="; + hash = "sha256-g1behrlnpYio1w12jzMS13DQSs6ajgN8bezinIPr928="; }; sourceRoot = "${finalAttrs.src.name}/pydantic_graph"; diff --git a/pkgs/development/python-modules/signalrcore/default.nix b/pkgs/development/python-modules/signalrcore/default.nix new file mode 100644 index 000000000000..9cfe19726513 --- /dev/null +++ b/pkgs/development/python-modules/signalrcore/default.nix @@ -0,0 +1,75 @@ +{ + # lib & utils + lib, + buildPythonPackage, + fetchFromGitHub, + nix-update-script, + pytestCheckHook, + + # build + setuptools, + + # deps + msgpack, + + # test deps + requests, +}: + +buildPythonPackage rec { + pname = "signalrcore"; + version = "1.0.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "mandrewcito"; + repo = "signalrcore"; + tag = version; + hash = "sha256-BLbD6IYo4YN1bvB33MIfHUVPEIm1DND5oh/k07e4odI="; + }; + + build-system = [ setuptools ]; + + dependencies = [ msgpack ]; + + nativeCheckInputs = [ + pytestCheckHook + requests + ]; + + disabledTests = [ + # requires network access + "test_check_azure_url" + "test_send" + "test_build" + "test_skip_negotiation" + "test_unsubscribe" + "test_enable_trace" + "test_enable_trace_messagepack" + ]; + + disabledTestPaths = [ + # requires network access + "test/integration/builder/certificates_test.py" + "test/integration/connection_state_test.py" + "test/integration/open_close_test.py" + "test/integration/reconnection/*" + "test/integration/send/*" + "test/integration/streamming/*" + "test/integration/trace_test.py" + "test/integration/transport_test.py" + ]; + + pythonImportsCheck = [ "signalrcore" ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + mainProgram = "signalrcore"; + description = "Complete Python client for ASP.NET Core SignalR — supporting all transports, encodings, authentication, and reconnection strategies"; + homepage = "https://mandrewcito.github.io/signalrcore"; + changelog = "https://github.com/mandrewcito/signalrcore/releases/tag/${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ vaisriv ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5a2a0a148433..01558f1a3f79 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -17640,6 +17640,8 @@ self: super: with self; { sievelib = callPackage ../development/python-modules/sievelib { }; + signalrcore = callPackage ../development/python-modules/signalrcore { }; + signalslot = callPackage ../development/python-modules/signalslot { }; signedjson = callPackage ../development/python-modules/signedjson { };