cran-packages: marks broken packages broken
instead of removeing them
This commit is contained in:
parent
8f0d6091bb
commit
2532844fb5
@ -38,9 +38,6 @@
|
|||||||
"rsunlight" # jsonlite.so: undefined symbol: XXX
|
"rsunlight" # jsonlite.so: undefined symbol: XXX
|
||||||
"slackr" # jsonlite.so: undefined symbol: XXX
|
"slackr" # jsonlite.so: undefined symbol: XXX
|
||||||
"webutils" # jsonlite.so: undefined symbol: XXX
|
"webutils" # jsonlite.so: undefined symbol: XXX
|
||||||
"HPO" # requires AnnotationDbi
|
|
||||||
"HPO.db" # requires AnnotationDbi
|
|
||||||
"HPO_db" # requires AnnotationDbi
|
|
||||||
"msarc" # requires AnnotationDbi
|
"msarc" # requires AnnotationDbi
|
||||||
"ppiPre" # requires AnnotationDbi
|
"ppiPre" # requires AnnotationDbi
|
||||||
"RobLox" # requires Biobase
|
"RobLox" # requires Biobase
|
||||||
@ -69,7 +66,6 @@
|
|||||||
"BiSEp" # requires GOSemSim, GO.db, and org.Hs.eg.db
|
"BiSEp" # requires GOSemSim, GO.db, and org.Hs.eg.db
|
||||||
"PubMedWordcloud" # requires GOsummaries
|
"PubMedWordcloud" # requires GOsummaries
|
||||||
"ExomeDepth" # requires GenomicRanges, and Rsamtools
|
"ExomeDepth" # requires GenomicRanges, and Rsamtools
|
||||||
"HPOSim" # requires HPO_db
|
|
||||||
"HTSDiff" # requires HTSCluster
|
"HTSDiff" # requires HTSCluster
|
||||||
"RAM" # requires Heatplus
|
"RAM" # requires Heatplus
|
||||||
"RcppRedis" # requires Hiredis
|
"RcppRedis" # requires Hiredis
|
||||||
@ -125,7 +121,6 @@
|
|||||||
"calmate" # requires aroma_core
|
"calmate" # requires aroma_core
|
||||||
"beadarrayFilter" # requires beadarray
|
"beadarrayFilter" # requires beadarray
|
||||||
"PepPrep" # requires biomaRt
|
"PepPrep" # requires biomaRt
|
||||||
"oposSOM" # requires biomaRt
|
|
||||||
"snplist" # requires biomaRt
|
"snplist" # requires biomaRt
|
||||||
"FunctionalNetworks" # requires breastCancerVDX, and Biobase
|
"FunctionalNetworks" # requires breastCancerVDX, and Biobase
|
||||||
"rJPSGCS" # requires chopsticks
|
"rJPSGCS" # requires chopsticks
|
||||||
@ -187,7 +182,6 @@
|
|||||||
"CORM" # requires limma
|
"CORM" # requires limma
|
||||||
"DAAGbio" # requires limma
|
"DAAGbio" # requires limma
|
||||||
"DCGL" # requires limma
|
"DCGL" # requires limma
|
||||||
"GOsummaries" # requires limma
|
|
||||||
"SQDA" # requires limma
|
"SQDA" # requires limma
|
||||||
"metaMA" # requires limma
|
"metaMA" # requires limma
|
||||||
"plmDE" # requires limma
|
"plmDE" # requires limma
|
||||||
@ -216,7 +210,6 @@
|
|||||||
"qtlnet" # requires pcalg
|
"qtlnet" # requires pcalg
|
||||||
"SigTree" # requires phyloseq
|
"SigTree" # requires phyloseq
|
||||||
"saps" # requires piano, and survcomp
|
"saps" # requires piano, and survcomp
|
||||||
"sgof" # requires plot2D
|
|
||||||
"surveillance" # requires polyCub
|
"surveillance" # requires polyCub
|
||||||
"aLFQ" # requires protiq
|
"aLFQ" # requires protiq
|
||||||
"NLPutils" # requires qdap
|
"NLPutils" # requires qdap
|
@ -11,7 +11,14 @@ let
|
|||||||
#
|
#
|
||||||
# some packages, e.g. cncaGUI, require X running while installation,
|
# some packages, e.g. cncaGUI, require X running while installation,
|
||||||
# so that we use xvfb-run if requireX is true.
|
# so that we use xvfb-run if requireX is true.
|
||||||
derive = lib.makeOverridable ({ name, version, sha256, depends ? [], doCheck ? true, requireX ? false, hydraPlatforms ? R.meta.hydraPlatforms }: buildRPackage {
|
derive = lib.makeOverridable ({
|
||||||
|
name, version, sha256,
|
||||||
|
depends ? [],
|
||||||
|
doCheck ? true,
|
||||||
|
requireX ? false,
|
||||||
|
broken ? false,
|
||||||
|
hydraPlatforms ? R.meta.hydraPlatforms
|
||||||
|
}: buildRPackage {
|
||||||
name = "${name}-${version}";
|
name = "${name}-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
urls = [
|
urls = [
|
||||||
@ -25,6 +32,7 @@ let
|
|||||||
nativeBuildInputs = depends;
|
nativeBuildInputs = depends;
|
||||||
meta.homepage = "http://cran.r-project.org/web/packages/${name}/";
|
meta.homepage = "http://cran.r-project.org/web/packages/${name}/";
|
||||||
meta.hydraPlatforms = hydraPlatforms;
|
meta.hydraPlatforms = hydraPlatforms;
|
||||||
|
meta.broken = broken;
|
||||||
});
|
});
|
||||||
|
|
||||||
# Overrides package definitions with nativeBuildInputs.
|
# Overrides package definitions with nativeBuildInputs.
|
||||||
@ -131,10 +139,36 @@ let
|
|||||||
in
|
in
|
||||||
builtins.listToAttrs nameValuePairs;
|
builtins.listToAttrs nameValuePairs;
|
||||||
|
|
||||||
|
# Overrides package definition to mark it broken.
|
||||||
|
# For example,
|
||||||
|
#
|
||||||
|
# overrideBroken [
|
||||||
|
# "foo"
|
||||||
|
# ] old
|
||||||
|
#
|
||||||
|
# results in
|
||||||
|
#
|
||||||
|
# {
|
||||||
|
# foo = old.foo.override {
|
||||||
|
# broken = true;
|
||||||
|
# };
|
||||||
|
# }
|
||||||
|
overrideBroken = packageNames: old:
|
||||||
|
let
|
||||||
|
nameValuePairs = map (name: {
|
||||||
|
inherit name;
|
||||||
|
value = (builtins.getAttr name old).override {
|
||||||
|
broken = true;
|
||||||
|
};
|
||||||
|
}) packageNames;
|
||||||
|
in
|
||||||
|
builtins.listToAttrs nameValuePairs;
|
||||||
|
|
||||||
packagesWithNativeBuildInputs = import ./packages-with-native-build-inputs.nix pkgs;
|
packagesWithNativeBuildInputs = import ./packages-with-native-build-inputs.nix pkgs;
|
||||||
packagesWithBuildInputs = import ./packages-with-build-inputs.nix pkgs;
|
packagesWithBuildInputs = import ./packages-with-build-inputs.nix pkgs;
|
||||||
packagesRequireingX = import ./packages-requireing-x.nix;
|
packagesRequireingX = import ./packages-requireing-x.nix;
|
||||||
packagesToSkipCheck = import ./packages-to-skip-check.nix;
|
packagesToSkipCheck = import ./packages-to-skip-check.nix;
|
||||||
|
brokenPackages = import ./broken-packages.nix;
|
||||||
|
|
||||||
defaultOverrides = old: new:
|
defaultOverrides = old: new:
|
||||||
let old0 = old; in
|
let old0 = old; in
|
||||||
@ -143,7 +177,8 @@ let
|
|||||||
old2 = old1 // (overrideSkipCheck packagesToSkipCheck old1);
|
old2 = old1 // (overrideSkipCheck packagesToSkipCheck old1);
|
||||||
old3 = old2 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old2);
|
old3 = old2 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old2);
|
||||||
old4 = old3 // (overrideBuildInputs packagesWithBuildInputs old3);
|
old4 = old3 // (overrideBuildInputs packagesWithBuildInputs old3);
|
||||||
old = old4;
|
old5 = old4 // (overrideBroken brokenPackages old4);
|
||||||
|
old = old5;
|
||||||
in old // (import ./default-overrides.nix stdenv pkgs old new);
|
in old // (import ./default-overrides.nix stdenv pkgs old new);
|
||||||
|
|
||||||
|
|
||||||
@ -151,12 +186,7 @@ let
|
|||||||
# `_self` is a collection of packages;
|
# `_self` is a collection of packages;
|
||||||
# `self` is `_self` with overridden packages;
|
# `self` is `_self` with overridden packages;
|
||||||
# packages in `_self` may depends on overridden packages.
|
# packages in `_self` may depends on overridden packages.
|
||||||
overridden = (defaultOverrides _self self) // overrides;
|
self = (defaultOverrides _self self) // overrides;
|
||||||
|
|
||||||
maskedPackages = import ./masked-packages.nix;
|
|
||||||
masked = removeAttrs overridden maskedPackages;
|
|
||||||
|
|
||||||
self = masked;
|
|
||||||
_self = import ./sources.nix { inherit self derive; };
|
_self = import ./sources.nix { inherit self derive; };
|
||||||
in
|
in
|
||||||
self
|
self
|
||||||
|
Loading…
x
Reference in New Issue
Block a user