diff --git a/pins.nix b/pins.nix index 71d3b467d..223ca2248 100644 --- a/pins.nix +++ b/pins.nix @@ -1,11 +1,11 @@ { core = builtins.fetchGit { url = "https://github.com/ekala-project/corepkgs.git"; - rev = "7f4e2ddd8922722f92f9f13a7eba3e36d2cc0387"; + rev = "81e84032efee5ab2863aa356fea6a5286547d23b"; }; lib = builtins.fetchGit { url = "https://github.com/jonringer/nix-lib.git"; - rev = "c19c816e39d14a60dd368d601aa9b389b09d0bbb"; + rev = "2c14377c3f3825e2cd5ebf43858ec4aaac5bffde"; }; } diff --git a/pkgs-module.nix b/pkgs-module.nix index bb5de0751..669a11192 100644 --- a/pkgs-module.nix +++ b/pkgs-module.nix @@ -1,7 +1,7 @@ +{ lib, ... }: + let - pins = import ./pins.nix; - lib = import pins.lib; - pythonOverlay = lib.mkAutoCalledPackageDir ./pkgs; + pythonOverlay = lib.packageSets.mkAutoCalledPackageDir ./pkgs; pythonOverrides = import ./python-packages.nix; pkgsOverlay = import ./top-level.nix; in diff --git a/pkgs/deepmerge/default.nix b/pkgs/deepmerge/default.nix index 0f8e031f5..e9d45b1a6 100644 --- a/pkgs/deepmerge/default.nix +++ b/pkgs/deepmerge/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "deepmerge"; - version = "2.0"; + version = "2.1.0"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-XD2GCB++vQTdXeA2JqBge4CamPtsy6V3C2JGb+lA/yA="; + hash = "sha256-B8p6e4k131lsUS+oFhh3wEh6xh9pHAd2bn1x0rI73S8="; }; build-system = [ diff --git a/repos-packages.nix b/repos-packages.nix new file mode 100644 index 000000000..bbba34527 --- /dev/null +++ b/repos-packages.nix @@ -0,0 +1,14 @@ +{ ... }: +let + pins = import ./pins.nix; + lib = import pins.lib; + pythonOverlay = lib.packageSets.mkAutoCalledPackageDir ./pkgs; + pythonOverrides = import ./python-packages.nix; + pkgs = import pins.core { modules = [ (import ./pkgs-module.nix) ]; }; + mkProjection = overlay: base: lib.fix (self: base // overlay self base); + combinedOverlay = lib.composeManyExtensions [ pythonOverlay pythonOverrides ]; + projected = mkProjection combinedOverlay pkgs.python3Packages; + # Only expose attrs defined by the overlay, not the full base set + overlayKeys = lib.composeManyExtensions [ pythonOverlay pythonOverrides ] (_: _: { }) { }; +in + removeAttrs (builtins.intersectAttrs overlayKeys projected) [ "_internalCallByNamePackageFile" ]