From 6e4f96ca6aa0102be8e60cc23510a3ee395b18dc Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Wed, 28 Jan 2026 02:25:57 +0000 Subject: [PATCH] python3Packages.silver-platter: init at 0.8.1 This adds the Python bindings that were previously in the repo as `silver-platter` at the top level. These are Python version dependent now, so they live inside the `python3Packages` subtree. --- pkgs/by-name/si/silver-platter/package.nix | 4 ++ .../python-modules/silver-platter/default.nix | 64 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 70 insertions(+) create mode 100644 pkgs/development/python-modules/silver-platter/default.nix diff --git a/pkgs/by-name/si/silver-platter/package.nix b/pkgs/by-name/si/silver-platter/package.nix index 8674f0e5926c..2ae743478432 100644 --- a/pkgs/by-name/si/silver-platter/package.nix +++ b/pkgs/by-name/si/silver-platter/package.nix @@ -58,6 +58,10 @@ rustPlatform.buildRustPackage (finalAttrs: { doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; + passthru.tests = { + python3-bindings = python3.pkgs.silver-platter; + }; + meta = { description = "Automate the creation of merge proposals for scriptable changes"; homepage = "https://jelmer.uk/code/silver-platter"; diff --git a/pkgs/development/python-modules/silver-platter/default.nix b/pkgs/development/python-modules/silver-platter/default.nix new file mode 100644 index 000000000000..68c3dc6bf979 --- /dev/null +++ b/pkgs/development/python-modules/silver-platter/default.nix @@ -0,0 +1,64 @@ +{ + lib, + stdenv, + buildPythonPackage, + pkgs, + pkg-config, + rustPlatform, + cargo, + rustc, + libiconv, + openssl, + + setuptools, + setuptools-rust, + breezy, + dulwich, + jinja2, + pyyaml, + ruamel-yaml, +}: + +let + inherit (pkgs) silver-platter; +in +buildPythonPackage { + inherit (silver-platter) + pname + version + src + cargoDeps + ; + + pyproject = true; + + dependencies = [ + setuptools + breezy + dulwich + jinja2 + pyyaml + ruamel-yaml + ]; + nativeBuildInputs = [ + setuptools-rust + rustPlatform.cargoSetupHook + cargo + rustc + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ openssl ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; + + pythonImportsCheck = [ "silver_platter" ]; + + meta = { + inherit (silver-platter.meta) + description + homepage + license + maintainers + ; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a00111cb5d7a..852d28ef3031 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -17327,6 +17327,8 @@ self: super: with self; { sigtools = callPackage ../development/python-modules/sigtools { }; + silver-platter = callPackage ../development/python-modules/silver-platter { }; + simanneal = callPackage ../development/python-modules/simanneal { }; simber = callPackage ../development/python-modules/simber { };