|
7 | 7 | url = "github:cachix/pre-commit-hooks.nix"; |
8 | 8 | inputs.nixpkgs.follows = "nixpkgs"; |
9 | 9 | }; |
| 10 | + nova-src = { |
| 11 | + url = "git+file:/home/skober/repos/nova"; |
| 12 | + # url = "git+ssh://git@gitlab.cyberus-technology.de/cyberus/cloud/openstack-nova.git"; |
| 13 | + # url = "git+https://github.com/sapcc/nova?ref=stable/2023.2-m3"; |
| 14 | + flake = false; |
| 15 | + }; |
| 16 | + |
10 | 17 | }; |
11 | 18 |
|
12 | 19 | outputs = |
|
15 | 22 | nixpkgs, |
16 | 23 | flake-utils, |
17 | 24 | pre-commit-hooks-nix, |
| 25 | + nova-src, |
18 | 26 | ... |
19 | 27 | }: |
20 | 28 | flake-utils.lib.eachSystem [ "x86_64-linux" ] ( |
21 | 29 | system: |
22 | 30 | let |
23 | 31 | pkgs = import nixpkgs { inherit system; }; |
24 | 32 | pre-commit-hooks-run = pre-commit-hooks-nix.lib.${system}.run; |
| 33 | + # The PBR setup does not work on the plain source code because no |
| 34 | + # package version can be determined. |
| 35 | + # We add a PKG-INFO file with the missing information to make it work. |
| 36 | + # We use the version info of the original Nova package from |
| 37 | + # openstack-nix. |
| 38 | + fixedNovaSrc = pkgs.runCommand "add-package-info" { } '' |
| 39 | + mkdir -p $out |
| 40 | +
|
| 41 | + cp -r ${nova-src}/. $out |
| 42 | +
|
| 43 | + cat >$out/PKG-INFO <<EOL |
| 44 | + Metadata-Version: 2.1 |
| 45 | + Name: nova |
| 46 | + Version: 30.0.0 |
| 47 | + EOL |
| 48 | + ''; |
25 | 49 | in |
26 | 50 | rec { |
27 | 51 | formatter = pkgs.nixfmt-rfc-style; |
|
45 | 69 | }; |
46 | 70 |
|
47 | 71 | packages = import ./packages { inherit (pkgs) callPackage python3Packages; }; |
| 72 | + novaPkg = packages.nova.overrideAttrs (_: { |
| 73 | + src = fixedNovaSrc; |
| 74 | + doInstallCheck = false; |
| 75 | + }); |
| 76 | + |
| 77 | + packages2 = packages // { |
| 78 | + nova = novaPkg; |
| 79 | + }; |
48 | 80 |
|
49 | 81 | checks = import ./checks { inherit pkgs pre-commit-hooks-run; }; |
50 | 82 |
|
51 | 83 | nixosModules = import ./modules { openstackPkgs = packages; }; |
52 | 84 |
|
53 | 85 | tests = import ./tests/default.nix { |
54 | | - inherit pkgs nixosModules; |
| 86 | + inherit pkgs nixosModules novaPkg; |
55 | 87 | inherit (lib) generateRootwrapConf; |
56 | 88 | }; |
57 | 89 | } |
|
0 commit comments