typioca: 2.7.0 -> 2.8.0
[NixPkgs.git] / pkgs / development / misc / resholve / default.nix
blob74f45f8ed3cca3c449080229da3880df40b2d2cd
1 { lib
2 , pkgs
3 , pkgsBuildHost
4 , ...
5 }:
7 let
8   removeKnownVulnerabilities = pkg: pkg.overrideAttrs (old: {
9     meta = (old.meta or { }) // { knownVulnerabilities = [ ]; };
10   });
11   # We are removing `meta.knownVulnerabilities` from `python27`,
12   # and setting it in `resholve` itself.
13   python27' = (removeKnownVulnerabilities pkgsBuildHost.python27).override {
14     self = python27';
15     pkgsBuildHost = pkgsBuildHost // { python27 = python27'; };
16     # strip down that python version as much as possible
17     openssl = null;
18     bzip2 = null;
19     readline = null;
20     ncurses = null;
21     gdbm = null;
22     sqlite = null;
23     rebuildBytecode = false;
24     stripBytecode = true;
25     strip2to3 = true;
26     stripConfig = true;
27     stripIdlelib = true;
28     stripTests = true;
29     enableOptimizations = false;
30   };
31   callPackage = lib.callPackageWith (pkgs // { python27 = python27'; });
32   source = callPackage ./source.nix { };
33   deps = callPackage ./deps.nix { };
35 rec {
36   # not exposed in all-packages
37   resholveBuildTimeOnly = removeKnownVulnerabilities resholve;
38   # resholve itself
39   resholve = callPackage ./resholve.nix {
40     inherit (source) rSrc version;
41     inherit (deps.oil) oildev;
42     inherit (deps) configargparse;
43     inherit resholve-utils;
44     # used only in tests
45     resholve = resholveBuildTimeOnly;
46   };
47   # funcs to validate and phrase invocations of resholve
48   # and use those invocations to build packages
49   resholve-utils = callPackage ./resholve-utils.nix {
50     # we can still use resholve-utils without triggering a security warn
51     # this is safe since we will only use `resholve` at build time
52     resholve = resholveBuildTimeOnly;
53   };