anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / version-management / silver-platter / default.nix
blob368cf8dcf218b5d5eecf0c6e4e179737ccba4559
1 { buildPythonApplication
2 , lib
3 , stdenv
4 , fetchFromGitHub
5 , pkg-config
6 , setuptools
7 , setuptools-rust
8 , rustPlatform
9 , cargo
10 , rustc
11 , breezy
12 , dulwich
13 , jinja2
14 , libiconv
15 , openssl
16 , pyyaml
17 , ruamel-yaml
20 buildPythonApplication rec {
21   pname = "silver-platter";
22   version = "0.5.20";
23   pyproject = true;
25   src = fetchFromGitHub {
26     owner = "jelmer";
27     repo = "silver-platter";
28     rev = version;
29     hash = "sha256-k+C4jrC4FO/yy9Eb6x4lv1zyyp/eGkpMcDqZ0KoxfBs=";
30   };
32   cargoDeps = rustPlatform.fetchCargoTarball {
33     inherit src;
34     name = "${pname}-${version}";
35     hash = "sha256-+EUj6iBnHF4zlOAAfaHy5V/z6CCD/LFksBClE4FaHHc=";
36   };
38   propagatedBuildInputs = [ setuptools breezy dulwich jinja2 pyyaml ruamel-yaml ];
39   nativeBuildInputs = [ setuptools-rust rustPlatform.cargoSetupHook cargo rustc ]
40     ++ lib.optionals stdenv.hostPlatform.isLinux [ pkg-config ];
41   buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ openssl ]
42     ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
44   pythonImportsCheck = [ "silver_platter" ];
46   meta = with lib; {
47     description = "Automate the creation of merge proposals for scriptable changes";
48     homepage = "https://jelmer.uk/code/silver-platter";
49     license = licenses.gpl2Plus;
50     maintainers = with maintainers; [ lukegb ];
51     mainProgram = "svp";
52   };