diff --git a/pkgs/development/r-modules/cran-packages.nix b/pkgs/development/r-modules/cran-packages.nix index 11677e7c6ef1..334ed6d1c293 100644 --- a/pkgs/development/r-modules/cran-packages.nix +++ b/pkgs/development/r-modules/cran-packages.nix @@ -12,7 +12,7 @@ let # # some packages, e.g. cncaGUI, require X running while installation, # so that we use xvfb-run if requireX is true. - derive = lib.makeOverridable ({ name, version, sha256, depends ? [], skipTest ? false, requireX ? false }: buildRPackage { + derive = lib.makeOverridable ({ name, version, sha256, depends ? [], skipTest ? false, requireX ? false, hydraPlatforms ? R.meta.hydraPlatforms }: buildRPackage { name = "${name}-${version}"; src = fetchurl { urls = [ @@ -25,7 +25,7 @@ let propagatedBuildInputs = depends; nativeBuildInputs = depends; meta.homepage = "http://cran.r-project.org/web/packages/${name}/"; - meta.hydraPlatforms = R.meta.hydraPlatforms; + meta.hydraPlatforms = hydraPlatforms; }); # Overrides package definitions with nativeBuildInputs. @@ -38,7 +38,7 @@ let # results in # # { - # foo = overrideDerivation old.foo (attrs: { + # foo = old.foo.overrideDerivation (attrs: { # nativeBuildInputs = attrs.nativeBuildInputs ++ [ pkgs.bar ]; # }); # } @@ -48,7 +48,7 @@ let nameValuePairs = map (name: rec { inherit name; nativeBuildInputs = builtins.getAttr name overrides; - value = overrideDerivation (builtins.getAttr name old) (attrs: { + value = (builtins.getAttr name old).overrideDerivation (attrs: { nativeBuildInputs = attrs.nativeBuildInputs ++ nativeBuildInputs; }); }) attrNames; @@ -65,7 +65,7 @@ let # results in # # { - # foo = overrideDerivation old.foo (attrs: { + # foo = old.foo.overrideDerivation (attrs: { # buildInputs = attrs.buildInputs ++ [ pkgs.bar ]; # }); # } @@ -75,7 +75,7 @@ let nameValuePairs = map (name: rec { inherit name; buildInputs = builtins.getAttr name overrides; - value = overrideDerivation (builtins.getAttr name old) (attrs: { + value = (builtins.getAttr name old).overrideDerivation (attrs: { buildInputs = attrs.buildInputs ++ buildInputs; }); }) attrNames; @@ -145,7 +145,7 @@ let old3 = old2 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old2); old4 = old3 // (overrideBuildInputs packagesWithBuildInputs old3); old = old4; - in old // (import ./default-overrides.nix overrideDerivation pkgs old new); + in old // (import ./default-overrides.nix stdenv overrideDerivation pkgs old new); # Recursive override pattern. diff --git a/pkgs/development/r-modules/default-overrides.nix b/pkgs/development/r-modules/default-overrides.nix index bca7846b39b1..27423452c637 100644 --- a/pkgs/development/r-modules/default-overrides.nix +++ b/pkgs/development/r-modules/default-overrides.nix @@ -1,4 +1,4 @@ -overrideDerivation: pkgs: old: new: { +stdenv: overrideDerivation: pkgs: old: new: { RcppArmadillo = overrideDerivation old.RcppArmadillo (attrs: { patchPhase = "patchShebangs configure"; }); @@ -81,7 +81,8 @@ overrideDerivation: pkgs: old: new: { CUDA_HOME = "${pkgs.cudatoolkit}"; }); - CARramps = overrideDerivation old.CARramps (attrs: { + # It seems that we cannot override meta attributes with overrideDerivation. + CARramps = overrideDerivation (old.CARramps.override { hydraPlatforms = stdenv.lib.platforms.none; }) (attrs: { patches = [ ./patches/CARramps.patch ]; configureFlags = [ "--with-cuda-home=${pkgs.cudatoolkit}" @@ -95,7 +96,8 @@ overrideDerivation: pkgs: old: new: { CUDA_INC_PATH = "${pkgs.cudatoolkit}/usr_include"; }); - rpud = overrideDerivation old.rpud (attrs: { + # It seems that we cannot override meta attributes with overrideDerivation. + rpud = overrideDerivation (old.rpud.override { hydraPlatforms = stdenv.lib.platforms.none; }) (attrs: { patches = [ ./patches/rpud.patch ]; CUDA_HOME = "${pkgs.cudatoolkit}"; });