acr-cli: init at 0.14 (#359508)
[NixPkgs.git] / pkgs / by-name / ni / nixpkgs-openjdk-updater / package.nix
blobe23d573d96414aa2bef285d62f97ea7fdcbe9afd
2   lib,
3   python3Packages,
4   ruff,
5   pyright,
6   fetchFromGitHub,
7   nixpkgs-openjdk-updater,
8 }:
10 python3Packages.buildPythonApplication {
11   pname = "nixpkgs-openjdk-updater";
12   version = "0.1.0";
13   format = "pyproject";
15   src = ./nixpkgs-openjdk-updater;
17   build-system = [ python3Packages.hatchling ];
19   dependencies = [
20     python3Packages.pydantic
21     python3Packages.pygithub
22   ];
24   nativeCheckInputs = [
25     ruff
26     pyright
27     python3Packages.pytestCheckHook
28   ];
30   preCheck = ''
31     ruff format --check
32     ruff check
33     pyright
34   '';
36   postCheck = ''
37     $out/bin/nixpkgs-openjdk-updater --help >/dev/null
38   '';
40   passthru.openjdkSource =
41     {
42       sourceFile,
43       featureVersionPrefix,
44     }:
45     let
46       sourceInfo = lib.importJSON sourceFile;
47     in
48     {
49       src = fetchFromGitHub {
50         inherit (sourceInfo)
51           owner
52           repo
53           rev
54           hash
55           ;
56       };
58       updateScript = {
59         command = [
60           (lib.getExe nixpkgs-openjdk-updater)
62           "--source-file"
63           sourceFile
65           "--owner"
66           sourceInfo.owner
68           "--repo"
69           sourceInfo.repo
71           "--feature-version-prefix"
72           featureVersionPrefix
73         ];
75         supportedFeatures = [ "silent" ];
76       };
77     };
79   meta = {
80     description = "Updater for Nixpkgs OpenJDK packages";
81     license = lib.licenses.mit;
82     sourceProvenance = [ lib.sourceTypes.fromSource ];
83     maintainers = [ lib.maintainers.emily ];
84     mainProgram = "nixpkgs-openjdk-updater";
85   };