base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / package-management / lix / default.nix
blob4a100c337ffbe2e27fa18ba1732c82af58940281
2   lib,
3   aws-sdk-cpp,
4   boehmgc,
5   callPackage,
6   fetchFromGitHub,
7   fetchpatch,
8   Security,
10   storeDir ? "/nix/store",
11   stateDir ? "/nix/var",
12   confDir ? "/etc",
14 let
15   boehmgc-nix_2_3 = boehmgc.override { enableLargeConfig = true; };
17   boehmgc-nix = boehmgc-nix_2_3.overrideAttrs (drv: {
18     patches = (drv.patches or [ ]) ++ [
19       # Part of the GC solution in https://github.com/NixOS/nix/pull/4944
20       ../nix/patches/boehmgc-coroutine-sp-fallback.patch
21     ];
22   });
24   aws-sdk-cpp-nix =
25     (aws-sdk-cpp.override {
26       apis = [
27         "s3"
28         "transfer"
29       ];
30       customMemoryManagement = false;
31     }).overrideAttrs
32       {
33         # only a stripped down version is build which takes a lot less resources to build
34         requiredSystemFeatures = [ ];
35       };
37   # Since Lix 2.91 does not use boost coroutines, it does not need boehmgc patches either.
38   needsBoehmgcPatches = version: lib.versionOlder version "2.91";
40   common =
41     args:
42     callPackage (import ./common.nix ({ inherit lib fetchFromGitHub; } // args)) {
43       inherit
44         Security
45         storeDir
46         stateDir
47         confDir
48         ;
49       boehmgc = if needsBoehmgcPatches args.version then boehmgc-nix else boehmgc-nix_2_3;
50       aws-sdk-cpp = aws-sdk-cpp-nix;
51     };
53 lib.makeExtensible (self: {
54   buildLix = common;
56   lix_2_90 = (
57     common {
58       version = "2.90.0";
59       hash = "sha256-f8k+BezKdJfmE+k7zgBJiohtS3VkkriycdXYsKOm3sc=";
60       docCargoHash = "sha256-vSf9MyD2XzofZlbzsmh6NP69G+LiX72GX4Um9UJp3dc=";
61     }
62   );
64   lix_2_91 = (
65     common {
66       version = "2.91.1";
67       hash = "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=";
68       docCargoHash = "sha256-F6Ld0HfRvW9r5zn8eMTP6djnV/jvwjYQet4Ghp2T90k=";
69     }
70   );
72   latest = self.lix_2_91;
73   stable = self.lix_2_91;