From 5e1a6acb683cfaa4db7dffc20d78adb8f7f4f586 Mon Sep 17 00:00:00 2001 From: Tyson Whitehead Date: Wed, 28 Nov 2018 21:58:11 -0500 Subject: [PATCH] rPackages: Implement overlay infrastructure --- pkgs/all-packages.nix | 2 ++ pkgs/r-modules.nix | 3 +++ release.nix | 4 ++++ temporary/all-packages.nix | 12 ++++++++++++ temporary/r-modules.nix | 3 +++ 5 files changed, 24 insertions(+) create mode 100644 pkgs/r-modules.nix create mode 100644 temporary/r-modules.nix diff --git a/pkgs/all-packages.nix b/pkgs/all-packages.nix index 1b58c85..9e9b3d7 100644 --- a/pkgs/all-packages.nix +++ b/pkgs/all-packages.nix @@ -36,6 +36,8 @@ self: super: pkgs: with pkgs; { pythonOverrides = lib.composeExtensions super.pythonOverrides (import ./python-packages.nix pkgs); + rOverrides = lib.composeExtensions super.rOverrides (import ./r-modules.nix pkgs); + #sumo = callPackage ./sumo.nix { fox = fox_1_6; }; namd = callPackage ./namd.nix { }; diff --git a/pkgs/r-modules.nix b/pkgs/r-modules.nix new file mode 100644 index 0000000..ad9000e --- /dev/null +++ b/pkgs/r-modules.nix @@ -0,0 +1,3 @@ +pkgs: self: super: with self; { + +} diff --git a/release.nix b/release.nix index a289980..65a4bc2 100644 --- a/release.nix +++ b/release.nix @@ -110,9 +110,11 @@ in let # Provided overlays pkgsNamesTopLevel = let self = import ./pkgs/all-packages.nix self { } self; in self; pkgsNamesPython = let self = import ./pkgs/python-packages.nix { } self { } ; in self; + pkgsNamesR = let self = import ./pkgs/r-modules.nix { } self { } ; in self; temporaryNamesTopLevel = let self = import ./temporary/all-packages.nix self { } self; in self; temporaryNamesPython = let self = import ./temporary/python-packages.nix { } self { } ; in self; + temporaryNamesR = let self = import ./temporary/r-modules.nix { } self { } ; in self; in { # Tweak the nixos make-channel code to include the upstream channel. @@ -150,6 +152,7 @@ in let pkgs = extractDerivations pkgs pkgsNamesTopLevel // { python2Packages = extractDerivations pkgs.python2Packages pkgsNamesPython; python3Packages = extractDerivations pkgs.python3Packages pkgsNamesPython; + rPackages = extractDerivations pkgs.rPackages pkgsNamesR; }; @@ -158,6 +161,7 @@ in let temporary = extractDerivations pkgs temporaryNamesTopLevel // { python2Packages = extractDerivations pkgs.python2Packages temporaryNamesPython; python3Packages = extractDerivations pkgs.python3Packages temporaryNamesPython; + rPackages = extractDerivations pkgs.rPackages temporaryNamesR; }; }; diff --git a/temporary/all-packages.nix b/temporary/all-packages.nix index e20391f..3b6dc75 100644 --- a/temporary/all-packages.nix +++ b/temporary/all-packages.nix @@ -18,4 +18,16 @@ self: super: pkgs: with pkgs; { python36 = super.python36.override { packageOverrides = pythonOverrides; }; pythonOverrides = import ./python-packages.nix pkgs; + + # same for R as Python (except we have to do the self/super plumbing) + rPackages = super.rPackages.override { + overrides = + let + overrides = rOverrides self super.rPackages; + self = super.rPackages // overrides; + in + overrides; + }; + + rOverrides = import ./r-modules.nix pkgs; } diff --git a/temporary/r-modules.nix b/temporary/r-modules.nix new file mode 100644 index 0000000..ad9000e --- /dev/null +++ b/temporary/r-modules.nix @@ -0,0 +1,3 @@ +pkgs: self: super: with self; { + +}