nixpkgs/pkgs/development/r-modules/default.nix

1041 lines
30 KiB
Nix
Raw Normal View History

/* This file defines the composition for CRAN (R) packages. */
{ R, pkgs, overrides }:
let
inherit (pkgs) cacert fetchurl stdenv lib;
buildRPackage = pkgs.callPackage ./generic-builder.nix {
inherit R;
inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa Foundation;
inherit (pkgs) gettext gfortran;
};
# Generates package templates given per-repository settings
#
# some packages, e.g. cncaGUI, require X running while installation,
# so that we use xvfb-run if requireX is true.
mkDerive = {mkHomepage, mkUrls}: args:
lib.makeOverridable ({
name, version, sha256,
depends ? [],
doCheck ? true,
requireX ? false,
broken ? false,
hydraPlatforms ? R.meta.hydraPlatforms
}: buildRPackage {
name = "${name}-${version}";
src = fetchurl {
inherit sha256;
urls = mkUrls (args // { inherit name version; });
};
inherit doCheck requireX;
propagatedBuildInputs = depends;
nativeBuildInputs = depends;
meta.homepage = mkHomepage (args // { inherit name; });
meta.platforms = R.meta.platforms;
meta.hydraPlatforms = hydraPlatforms;
meta.broken = broken;
});
# Templates for generating Bioconductor and CRAN packages
# from the name, version, sha256, and optional per-package arguments above
#
deriveBioc = mkDerive {
2018-08-04 09:19:08 +03:00
mkHomepage = {name, biocVersion, ...}: "https://bioconductor.org/packages/${biocVersion}/bioc/html/${name}.html";
mkUrls = {name, version, biocVersion}: [
"mirror://bioc/${biocVersion}/bioc/src/contrib/${name}_${version}.tar.gz"
"mirror://bioc/${biocVersion}/bioc/src/contrib/Archive/${name}/${name}_${version}.tar.gz"
"mirror://bioc/${biocVersion}/bioc/src/contrib/Archive/${name}_${version}.tar.gz"
];
};
deriveBiocAnn = mkDerive {
2018-08-04 09:19:08 +03:00
mkHomepage = {name, ...}: "http://www.bioconductor.org/packages/${name}.html";
mkUrls = {name, version, biocVersion}: [
"mirror://bioc/${biocVersion}/data/annotation/src/contrib/${name}_${version}.tar.gz"
];
};
deriveBiocExp = mkDerive {
2018-08-04 09:19:08 +03:00
mkHomepage = {name, ...}: "http://www.bioconductor.org/packages/${name}.html";
mkUrls = {name, version, biocVersion}: [
"mirror://bioc/${biocVersion}/data/experiment/src/contrib/${name}_${version}.tar.gz"
];
};
deriveCran = mkDerive {
2018-08-04 09:19:08 +03:00
mkHomepage = {name, snapshot, ...}: "http://mran.revolutionanalytics.com/snapshot/${snapshot}/web/packages/${name}/";
mkUrls = {name, version, snapshot}: [
"http://mran.revolutionanalytics.com/snapshot/${snapshot}/src/contrib/${name}_${version}.tar.gz"
];
};
# Overrides package definitions with nativeBuildInputs.
# For example,
#
# overrideNativeBuildInputs {
# foo = [ pkgs.bar ]
# } old
#
# results in
#
# {
# foo = old.foo.overrideDerivation (attrs: {
# nativeBuildInputs = attrs.nativeBuildInputs ++ [ pkgs.bar ];
# });
# }
overrideNativeBuildInputs = overrides: old:
2015-02-19 23:50:42 +03:00
lib.mapAttrs (name: value:
(builtins.getAttr name old).overrideDerivation (attrs: {
nativeBuildInputs = attrs.nativeBuildInputs ++ value;
})
) overrides;
# Overrides package definitions with buildInputs.
# For example,
#
# overrideBuildInputs {
# foo = [ pkgs.bar ]
# } old
#
# results in
#
# {
# foo = old.foo.overrideDerivation (attrs: {
# buildInputs = attrs.buildInputs ++ [ pkgs.bar ];
# });
# }
overrideBuildInputs = overrides: old:
2015-02-19 23:50:42 +03:00
lib.mapAttrs (name: value:
(builtins.getAttr name old).overrideDerivation (attrs: {
buildInputs = attrs.buildInputs ++ value;
})
) overrides;
2015-02-19 23:51:24 +03:00
# Overrides package definitions with new R dependencies.
# For example,
#
# overrideRDepends {
# foo = [ self.bar ]
# } old
#
# results in
#
# {
# foo = old.foo.overrideDerivation (attrs: {
# nativeBuildInputs = attrs.nativeBuildInputs ++ [ self.bar ];
# propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs ++ [ self.bar ];
# });
# }
overrideRDepends = overrides: old:
lib.mapAttrs (name: value:
(builtins.getAttr name old).overrideDerivation (attrs: {
nativeBuildInputs = attrs.nativeBuildInputs ++ value;
propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs ++ value;
})
) overrides;
# Overrides package definition requiring X running to install.
# For example,
#
# overrideRequireX [
# "foo"
# ] old
#
# results in
#
# {
# foo = old.foo.override {
# requireX = true;
# };
# }
overrideRequireX = packageNames: old:
let
nameValuePairs = map (name: {
inherit name;
value = (builtins.getAttr name old).override {
requireX = true;
};
}) packageNames;
in
builtins.listToAttrs nameValuePairs;
# Overrides package definition requiring a home directory to install or to
# run tests.
# For example,
#
# overrideRequireHome [
# "foo"
# ] old
#
# results in
#
# {
# foo = old.foo.overrideAttrs (oldAttrs: {
# preInstall = ''
# ${oldAttrs.preInstall or ""}
# export HOME=$(mktemp -d)
# '';
# });
# }
overrideRequireHome = packageNames: old:
let
nameValuePairs = map (name: {
inherit name;
value = (builtins.getAttr name old).overrideAttrs (oldAttrs: {
preInstall = ''
${oldAttrs.preInstall or ""}
export HOME=$(mktemp -d)
'';
});
}) packageNames;
in
builtins.listToAttrs nameValuePairs;
# Overrides package definition to skip check.
# For example,
#
# overrideSkipCheck [
# "foo"
# ] old
#
# results in
#
# {
# foo = old.foo.override {
# doCheck = false;
# };
# }
overrideSkipCheck = packageNames: old:
let
nameValuePairs = map (name: {
inherit name;
value = (builtins.getAttr name old).override {
doCheck = false;
};
}) packageNames;
in
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;
defaultOverrides = old: new:
let old0 = old; in
let
old1 = old0 // (overrideRequireX packagesRequiringX old0);
old2 = old1 // (overrideRequireHome packagesRequiringHome old1);
old3 = old2 // (overrideSkipCheck packagesToSkipCheck old2);
old4 = old3 // (overrideRDepends packagesWithRDepends old3);
old5 = old4 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old4);
old6 = old5 // (overrideBuildInputs packagesWithBuildInputs old5);
old7 = old6 // (overrideBroken brokenPackages old6);
old = old7;
in old // (otherOverrides old new);
# Recursive override pattern.
# `_self` is a collection of packages;
# `self` is `_self` with overridden packages;
# packages in `_self` may depends on overridden packages.
self = (defaultOverrides _self self) // overrides;
2018-08-02 18:50:58 +03:00
_self = { inherit buildRPackage; } //
import ./bioc-packages.nix { inherit self; derive = deriveBioc; } //
import ./bioc-annotation-packages.nix { inherit self; derive = deriveBiocAnn; } //
import ./bioc-experiment-packages.nix { inherit self; derive = deriveBiocExp; } //
import ./cran-packages.nix { inherit self; derive = deriveCran; };
# tweaks for the individual packages and "in self" follow
2015-02-19 23:51:24 +03:00
packagesWithRDepends = {
2015-02-19 23:53:36 +03:00
FactoMineR = [ self.car ];
2015-06-16 13:06:07 +03:00
pander = [ self.codetools ];
2015-02-19 23:51:24 +03:00
};
packagesWithNativeBuildInputs = {
arrow = [ pkgs.pkg-config pkgs.arrow-cpp ];
adimpro = [ pkgs.imagemagick ];
2018-02-15 08:22:52 +03:00
animation = [ pkgs.which ];
audio = [ pkgs.portaudio ];
BayesSAE = [ pkgs.gsl_1 ];
BayesVarSel = [ pkgs.gsl_1 ];
BayesXsrc = with pkgs; [ readline.dev ncurses ];
bigGP = [ pkgs.mpi ];
2017-02-27 15:51:55 +03:00
bio3d = [ pkgs.zlib ];
BiocCheck = [ pkgs.which ];
Biostrings = [ pkgs.zlib ];
bnpmr = [ pkgs.gsl_1 ];
2017-01-06 19:41:42 +03:00
cairoDevice = [ pkgs.gtk2.dev ];
Cairo = with pkgs; [ libtiff libjpeg cairo.dev x11 fontconfig.lib ];
Cardinal = [ pkgs.which ];
chebpol = [ pkgs.fftw ];
ChemmineOB = with pkgs; [ openbabel pkg-config ];
2016-09-09 16:12:54 +03:00
curl = [ pkgs.curl.dev ];
data_table = [ pkgs.zlib.dev ] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
devEMF = with pkgs; [ xorg.libXft.dev x11 ];
diversitree = with pkgs; [ gsl_1 fftw ];
exactextractr = [ pkgs.geos ];
EMCluster = [ pkgs.lapack ];
2017-01-06 20:15:14 +03:00
fftw = [ pkgs.fftw.dev ];
fftwtools = with pkgs; [ fftw.dev pkg-config ];
2015-02-19 23:53:36 +03:00
Formula = [ pkgs.gmp ];
gdtools = with pkgs; [ cairo.dev fontconfig.lib freetype.dev ];
git2r = with pkgs; [ zlib.dev openssl.dev libssh2.dev libgit2 pkg-config ];
GLAD = [ pkgs.gsl_1 ];
glpkAPI = with pkgs; [ gmp glpk ];
2017-01-06 20:20:41 +03:00
gmp = [ pkgs.gmp.dev ];
graphscan = [ pkgs.gsl_1 ];
gsl = [ pkgs.gsl_1 ];
gert = [ pkgs.libgit2 ];
haven = with pkgs; [ libiconv zlib.dev ];
h5vc = [ pkgs.zlib.dev ];
HiCseg = [ pkgs.gsl_1 ];
imager = [ pkgs.x11 ];
iBMQ = [ pkgs.gsl_1 ];
igraph = with pkgs; [ gmp libxml2.dev ];
JavaGD = [ pkgs.jdk ];
2017-01-06 21:17:19 +03:00
jpeg = [ pkgs.libjpeg.dev ];
2018-08-20 01:08:28 +03:00
jqr = [ pkgs.jq.dev ];
KFKSDS = [ pkgs.gsl_1 ];
2017-01-06 21:18:27 +03:00
kza = [ pkgs.fftw.dev ];
lpsymphony = with pkgs; [ pkg-config gfortran gettext ];
2021-08-24 14:16:51 +03:00
lwgeom = with pkgs; [ proj geos gdal ];
magick = [ pkgs.imagemagick.dev ];
ModelMetrics = lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
mvabund = [ pkgs.gsl_1 ];
2017-01-06 21:19:27 +03:00
mwaved = [ pkgs.fftw.dev ];
ncdf4 = [ pkgs.netcdf ];
nloptr = with pkgs; [ nlopt pkg-config ];
n1qn1 = [ pkgs.gfortran ];
odbc = [ pkgs.unixODBC ];
pander = with pkgs; [ pandoc which ];
pbdMPI = [ pkgs.mpi ];
pbdPROF = [ pkgs.mpi ];
pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.which ];
pdftools = [ pkgs.poppler.dev ];
2019-03-06 13:39:48 +03:00
phytools = [ pkgs.which ];
2017-01-06 21:23:42 +03:00
PKI = [ pkgs.openssl.dev ];
png = [ pkgs.libpng.dev ];
proj4 = [ pkgs.proj ];
protolite = [ pkgs.protobuf ];
R2SWF = with pkgs; [ zlib libpng freetype.dev ];
2015-03-19 16:14:28 +03:00
RAppArmor = [ pkgs.libapparmor ];
2015-06-16 13:29:02 +03:00
rapportools = [ pkgs.which ];
rapport = [ pkgs.which ];
readxl = [ pkgs.libiconv ];
2017-01-06 21:34:30 +03:00
rcdd = [ pkgs.gmp.dev ];
2017-01-06 21:35:20 +03:00
RcppCNPy = [ pkgs.zlib.dev ];
RcppGSL = [ pkgs.gsl_1 ];
RcppZiggurat = [ pkgs.gsl_1 ];
2018-07-11 17:05:56 +03:00
reprex = [ pkgs.which ];
rgdal = with pkgs; [ proj.dev gdal ];
rgeos = [ pkgs.geos ];
Rglpk = [ pkgs.glpk ];
2017-01-06 21:51:28 +03:00
RGtk2 = [ pkgs.gtk2.dev ];
rhdf5 = [ pkgs.zlib ];
2021-06-03 22:29:59 +03:00
Rhdf5lib = [ pkgs.zlib.dev ];
Rhpc = with pkgs; [ zlib bzip2.dev icu xz.dev mpi pcre.dev ];
Rhtslib = with pkgs; [ zlib.dev automake autoconf bzip2.dev xz.dev curl.dev ];
rjags = [ pkgs.jags ];
rJava = with pkgs; [ zlib bzip2.dev icu xz.dev pcre.dev jdk libzip ];
Rlibeemd = [ pkgs.gsl_1 ];
2017-01-06 22:01:17 +03:00
rmatio = [ pkgs.zlib.dev ];
Rmpfr = with pkgs; [ gmp mpfr.dev ];
Rmpi = [ pkgs.mpi ];
RMySQL = with pkgs; [ zlib libmysqlclient openssl.dev ];
RNetCDF = with pkgs; [ netcdf udunits ];
RODBC = [ pkgs.libiodbc ];
rpanel = [ pkgs.bwidget ];
Rpoppler = [ pkgs.poppler ];
RPostgreSQL = with pkgs; [ postgresql postgresql ];
RProtoBuf = [ pkgs.protobuf ];
2017-01-06 22:09:43 +03:00
RSclient = [ pkgs.openssl.dev ];
Rserve = [ pkgs.openssl ];
2017-01-06 22:13:30 +03:00
Rssa = [ pkgs.fftw.dev ];
rsvg = [ pkgs.pkg-config ];
runjags = [ pkgs.jags ];
RVowpalWabbit = with pkgs; [ zlib.dev boost ];
rzmq = with pkgs; [ zeromq pkg-config ];
httpuv = [ pkgs.zlib.dev ];
clustermq = [ pkgs.zeromq ];
SAVE = with pkgs; [ zlib bzip2 icu xz pcre ];
sdcTable = with pkgs; [ gmp glpk ];
seewave = with pkgs; [ fftw.dev libsndfile.dev ];
2017-01-06 22:26:40 +03:00
seqinr = [ pkgs.zlib.dev ];
seqminer = with pkgs; [ zlib.dev bzip2 ];
sf = with pkgs; [ gdal proj geos ];
terra = with pkgs; [ gdal proj geos ];
showtext = with pkgs; [ zlib libpng icu freetype.dev ];
simplexreg = [ pkgs.gsl_1 ];
2017-01-06 22:30:01 +03:00
spate = [ pkgs.fftw.dev ];
ssanv = [ pkgs.proj ];
stsm = [ pkgs.gsl_1 ];
stringi = [ pkgs.icu.dev ];
survSNP = [ pkgs.gsl_1 ];
svglite = [ pkgs.libpng.dev ];
sysfonts = with pkgs; [ zlib libpng freetype.dev ];
systemfonts = with pkgs; [ fontconfig.dev freetype.dev ];
2017-01-06 22:31:16 +03:00
TAQMNGR = [ pkgs.zlib.dev ];
tesseract = with pkgs; [ tesseract leptonica ];
2017-01-06 22:32:48 +03:00
tiff = [ pkgs.libtiff.dev ];
tkrplot = with pkgs; [ xorg.libX11 tk.dev ];
topicmodels = [ pkgs.gsl_1 ];
udunits2 = with pkgs; [ udunits expat ];
units = [ pkgs.udunits ];
V8 = [ pkgs.v8 ];
XBRL = with pkgs; [ zlib libxml2.dev ];
2018-02-26 04:47:57 +03:00
xml2 = [ pkgs.libxml2.dev ] ++ lib.optionals stdenv.isDarwin [ pkgs.perl ];
XML = with pkgs; [ libtool libxml2.dev xmlsec libxslt ];
2017-01-06 22:42:00 +03:00
affyPLM = [ pkgs.zlib.dev ];
2017-01-06 22:43:55 +03:00
bamsignals = [ pkgs.zlib.dev ];
2017-01-06 22:45:14 +03:00
BitSeq = [ pkgs.zlib.dev ];
DiffBind = [ pkgs.zlib ];
ShortRead = [ pkgs.zlib.dev ];
2017-01-06 22:49:49 +03:00
oligo = [ pkgs.zlib.dev ];
2017-01-06 22:51:14 +03:00
gmapR = [ pkgs.zlib.dev ];
2017-01-06 22:52:16 +03:00
Rsubread = [ pkgs.zlib.dev ];
XVector = [ pkgs.zlib.dev ];
Rsamtools = with pkgs; [ zlib.dev curl.dev ];
2017-01-06 22:53:12 +03:00
rtracklayer = [ pkgs.zlib.dev ];
2017-01-06 22:47:08 +03:00
affyio = [ pkgs.zlib.dev ];
VariantAnnotation = with pkgs; [ zlib.dev curl.dev ];
2017-01-06 22:54:40 +03:00
snpStats = [ pkgs.zlib.dev ];
hdf5r = [ pkgs.hdf5.dev ];
};
packagesWithBuildInputs = {
# sort -t '=' -k 2
gam = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
RcppArmadillo = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
quantreg = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
rmutil = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
robustbase = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
SparseM = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
hexbin = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
2015-02-19 23:53:36 +03:00
svKomodo = [ pkgs.which ];
nat = [ pkgs.which ];
nat_templatebrains = [ pkgs.which ];
2018-05-11 17:53:10 +03:00
pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.darwin.binutils ];
clustermq = [ pkgs.pkg-config ];
2015-02-19 23:53:36 +03:00
RMark = [ pkgs.which ];
RPushbullet = [ pkgs.which ];
2018-06-20 04:37:00 +03:00
RcppEigen = [ pkgs.libiconv ];
RCurl = [ pkgs.curl.dev ];
R2SWF = [ pkgs.pkg-config ];
rgl = with pkgs; [ libGLU libGLU.dev libGL xlibsWrapper ];
RGtk2 = [ pkgs.pkg-config ];
RProtoBuf = [ pkgs.pkg-config ];
Rpoppler = [ pkgs.pkg-config ];
XML = [ pkgs.pkg-config ];
cairoDevice = [ pkgs.pkg-config ];
chebpol = [ pkgs.pkg-config ];
fftw = [ pkgs.pkg-config ];
gdtools = [ pkgs.pkg-config ];
2018-08-20 01:08:28 +03:00
jqr = [ pkgs.jq.lib ];
kza = [ pkgs.pkg-config ];
lwgeom = with pkgs; [ pkg-config proj.dev sqlite.dev ];
magick = [ pkgs.pkg-config ];
mwaved = [ pkgs.pkg-config ];
odbc = [ pkgs.pkg-config ];
openssl = [ pkgs.pkg-config ];
pdftools = [ pkgs.pkg-config ];
sf = with pkgs; [ pkg-config sqlite.dev proj.dev ];
terra = with pkgs; [ pkg-config sqlite.dev proj.dev ];
showtext = [ pkgs.pkg-config ];
spate = [ pkgs.pkg-config ];
stringi = [ pkgs.pkg-config ];
sysfonts = [ pkgs.pkg-config ];
systemfonts = [ pkgs.pkg-config ];
tesseract = [ pkgs.pkg-config ];
Cairo = [ pkgs.pkg-config ];
CLVTools = [ pkgs.gsl ];
JMcmprsk = [ pkgs.gsl ];
mashr = [ pkgs.gsl ];
hadron = [ pkgs.gsl ];
AMOUNTAIN = [ pkgs.gsl ];
Rsymphony = with pkgs; [ pkg-config doxygen graphviz subversion ];
tcltk2 = with pkgs; [ tcl tk ];
tikzDevice = with pkgs; [ which texlive.combined.scheme-medium ];
2015-02-19 23:53:36 +03:00
gridGraphics = [ pkgs.which ];
adimpro = with pkgs; [ which xorg.xdpyinfo ];
2016-03-25 10:30:20 +03:00
mzR = [ pkgs.netcdf ];
cluster = [ pkgs.libiconv ];
KernSmooth = [ pkgs.libiconv ];
nlme = [ pkgs.libiconv ];
Matrix = [ pkgs.libiconv ];
mgcv = [ pkgs.libiconv ];
2019-09-24 02:06:26 +03:00
minqa = [ pkgs.libiconv ];
2018-06-20 05:08:29 +03:00
igraph = [ pkgs.libiconv ];
ape = [ pkgs.libiconv ];
expm = [ pkgs.libiconv ];
mnormt = [ pkgs.libiconv ];
2019-09-24 01:59:04 +03:00
pan = [ pkgs.libiconv ];
phangorn = [ pkgs.libiconv ];
quadprog = [ pkgs.libiconv ];
2019-09-24 01:23:25 +03:00
randomForest = [ pkgs.libiconv ];
2019-08-06 15:41:47 +03:00
sundialr = [ pkgs.libiconv ];
2019-09-24 03:36:22 +03:00
ucminf = [ pkgs.libiconv ];
glmnet = [ pkgs.libiconv ];
mvtnorm = [ pkgs.libiconv ];
2020-05-15 06:00:58 +03:00
statmod = [ pkgs.libiconv ];
rsvg = [ pkgs.librsvg.dev ];
ssh = with pkgs; [ libssh ];
2021-09-24 12:34:20 +03:00
s2 = [ pkgs.openssl.dev ];
ArrayExpressHTS = with pkgs; [ zlib.dev curl.dev which ];
bbl = with pkgs; [ gsl ];
2021-09-26 00:40:36 +03:00
writexl = with pkgs; [ zlib.dev ];
2021-09-26 00:48:02 +03:00
qpdf = with pkgs; [ libjpeg.dev zlib.dev ];
2021-09-26 02:20:33 +03:00
vcfR = with pkgs; [ zlib.dev ];
2021-09-26 05:17:28 +03:00
bio3d = with pkgs; [ zlib.dev ];
2021-09-26 11:06:19 +03:00
arrangements = with pkgs; [ gmp.dev ];
2021-09-26 11:11:55 +03:00
spp = with pkgs; [ zlib.dev ];
2021-09-26 11:15:34 +03:00
Rbowtie = with pkgs; [ zlib.dev ];
2021-09-26 14:57:06 +03:00
gaston = with pkgs; [ zlib.dev ];
2021-09-27 02:48:24 +03:00
csaw = with pkgs; [ zlib.dev curl ];
};
packagesRequiringX = [
"accrual"
"ade4TkGUI"
"analogue"
"analogueExtra"
"AnalyzeFMRI"
"AnnotLists"
"AnthropMMD"
"aplpack"
"asbio"
"BAT"
"BCA"
"betapart"
"BiodiversityR"
"bio_infer"
"bipartite"
"biplotbootGUI"
"blender"
"cairoDevice"
"CCTpack"
"cncaGUI"
"cocorresp"
"CommunityCorrelogram"
"confidence"
"constrainedKriging"
"ConvergenceConcepts"
"cpa"
"DALY"
"dave"
"Deducer"
"DeducerPlugInExample"
"DeducerPlugInScaling"
"DeducerSpatial"
"DeducerSurvival"
"DeducerText"
"Demerelate"
"detrendeR"
"dpa"
"dynamicGraph"
"dynBiplotGUI"
"EasyqpcR"
"EcoVirtual"
"exactLoglinTest"
"fat2Lpoly"
"fbati"
"FD"
"feature"
"FeedbackTS"
"FFD"
"fgui"
"fisheyeR"
"forams"
"forensim"
"FreeSortR"
"fscaret"
"gcmr"
"geomorph"
"geoR"
"georob"
"GGEBiplotGUI"
"gnm"
"GrapheR"
"GroupSeq"
"gsubfn"
"GUniFrac"
"gWidgets2RGtk2"
"gWidgets2tcltk"
"HH"
"HiveR"
"ic50"
"iDynoR"
"in2extRemes"
"iplots"
"isopam"
"IsotopeR"
"JGR"
"KappaGUI"
"likeLTD"
"logmult"
2021-09-26 11:10:12 +03:00
"loon"
"LS2Wstat"
"MareyMap"
"memgene"
"metacom"
"Meth27QC"
"migui"
"miniGUI"
"mixsep"
"MplusAutomation"
"mpmcorrelogram"
"mritc"
"multgee"
"multibiplotGUI"
"OligoSpecificitySystem"
"onemap"
"OpenRepGrid"
"paleoMAS"
"pbatR"
"PBSadmb"
"PBSmodelling"
"PCPS"
"pez"
"phylotools"
"picante"
"plotSEMM"
"plsRbeta"
"plsRglm"
"PopGenReport"
"poppr"
"powerpkg"
"PredictABEL"
"prefmod"
"PrevMap"
"r4ss"
"RandomFields"
"rareNMtests"
"rAverage"
"RclusTool"
"Rcmdr"
"RcmdrPlugin_coin"
"RcmdrPlugin_depthTools"
"RcmdrPlugin_DoE"
"RcmdrPlugin_EACSPIR"
"RcmdrPlugin_EBM"
"RcmdrPlugin_EcoVirtual"
"RcmdrPlugin_EZR"
"RcmdrPlugin_FactoMineR"
"RcmdrPlugin_HH"
"RcmdrPlugin_IPSUR"
"RcmdrPlugin_KMggplot2"
"RcmdrPlugin_lfstat"
"RcmdrPlugin_MA"
"RcmdrPlugin_MPAStats"
"RcmdrPlugin_orloca"
"RcmdrPlugin_plotByGroup"
"RcmdrPlugin_pointG"
"RcmdrPlugin_ROC"
"RcmdrPlugin_sampling"
"RcmdrPlugin_SCDA"
"RcmdrPlugin_SLC"
"RcmdrPlugin_sos"
"RcmdrPlugin_steepness"
"RcmdrPlugin_survival"
"RcmdrPlugin_TeachingDemos"
"RcmdrPlugin_temis"
"RcmdrPlugin_UCA"
"recluster"
"relimp"
"rgl"
"RHRV"
"rich"
"RNCEP"
"RSDA"
"RSurvey"
"simba"
"Simile"
"SimpleTable"
"SOLOMON"
"soundecology"
"spatsurv"
"sqldf"
"SSDforR"
"statcheck"
"StatDA"
"STEPCAM"
"stosim"
"strvalidator"
"stylo"
"svDialogstcltk"
"svIDE"
"svSocket"
"svWidgets"
"SYNCSA"
"SyNet"
"tcltk2"
"TestScorer"
"TIMP"
"tkrplot"
"tmap"
"tspmeta"
"TTAinterfaceTrendAnalysis"
"twiddler"
"vcdExtra"
"VecStatGraphs3D"
"vegan"
"vegan3d"
"vegclust"
"x12GUI"
];
packagesRequiringHome = [
];
packagesToSkipCheck = [
2017-07-01 11:12:30 +03:00
"Rmpi" # tries to run MPI processes
"pbdMPI" # tries to run MPI processes
2020-08-20 09:42:21 +03:00
"data_table" # fails to rename shared library before check
];
# Packages which cannot be installed due to lack of dependencies or other reasons.
2015-02-22 19:45:12 +03:00
brokenPackages = [
2021-10-07 14:18:25 +03:00
"rgl"
];
otherOverrides = old: new: {
2015-07-22 14:42:23 +03:00
stringi = old.stringi.overrideDerivation (attrs: {
postInstall = let
icuName = "icudt52l";
icuSrc = pkgs.fetchzip {
url = "http://static.rexamine.com/packages/${icuName}.zip";
sha256 = "0hvazpizziq5ibc9017i1bb45yryfl26wzfsv05vk9mc1575r6xj";
stripRoot = false;
};
in ''
${attrs.postInstall or ""}
cp ${icuSrc}/${icuName}.dat $out/library/stringi/libs
'';
});
2015-05-15 14:47:27 +03:00
xml2 = old.xml2.overrideDerivation (attrs: {
preConfigure = ''
export LIBXML_INCDIR=${pkgs.libxml2.dev}/include/libxml2
patchShebangs configure
'';
2015-05-15 14:47:27 +03:00
});
rzmq = old.rzmq.overrideDerivation (attrs: {
preConfigure = "patchShebangs configure";
});
clustermq = old.clustermq.overrideDerivation (attrs: {
preConfigure = "patchShebangs configure";
});
2017-01-06 19:11:23 +03:00
Cairo = old.Cairo.overrideDerivation (attrs: {
NIX_LDFLAGS = "-lfontconfig";
});
curl = old.curl.overrideDerivation (attrs: {
2015-09-09 21:29:20 +03:00
preConfigure = "patchShebangs configure";
});
RcppParallel = old.RcppParallel.overrideDerivation (attrs: {
preConfigure = "patchShebangs configure";
});
RcppArmadillo = old.RcppArmadillo.overrideDerivation (attrs: {
patchPhase = "patchShebangs configure";
});
data_table = old.data_table.overrideDerivation (attrs: {
2020-08-20 09:42:21 +03:00
NIX_CFLAGS_COMPILE = attrs.NIX_CFLAGS_COMPILE + " -fopenmp";
patchPhase = "patchShebangs configure";
});
ModelMetrics = old.ModelMetrics.overrideDerivation (attrs: {
NIX_CFLAGS_COMPILE = attrs.NIX_CFLAGS_COMPILE
+ lib.optionalString stdenv.isDarwin " -fopenmp";
});
rpf = old.rpf.overrideDerivation (attrs: {
patchPhase = "patchShebangs configure";
});
BayesXsrc = old.BayesXsrc.overrideDerivation (attrs: {
patches = [ ./patches/BayesXsrc.patch ];
});
Rhdf5lib = old.Rhdf5lib.overrideDerivation (attrs: {
patches = [ ./patches/Rhdf5lib.patch ];
});
rJava = old.rJava.overrideDerivation (attrs: {
preConfigure = ''
export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/
export JAVA_HOME=${pkgs.jdk}
'';
});
JavaGD = old.JavaGD.overrideDerivation (attrs: {
preConfigure = ''
export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/
export JAVA_HOME=${pkgs.jdk}
'';
});
2018-08-20 01:08:28 +03:00
jqr = old.jqr.overrideDerivation (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
pbdZMQ = old.pbdZMQ.overrideDerivation (attrs: {
postPatch = lib.optionalString stdenv.isDarwin ''
for file in R/*.{r,r.in}; do
2018-05-11 17:53:10 +03:00
sed -i 's#system("which \(\w\+\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file
done
'';
});
Rmpi = old.Rmpi.overrideDerivation (attrs: {
configureFlags = [
"--with-Rmpi-type=OPENMPI"
];
});
Rmpfr = old.Rmpfr.overrideDerivation (attrs: {
configureFlags = [
"--with-mpfr-include=${pkgs.mpfr.dev}/include"
];
});
RVowpalWabbit = old.RVowpalWabbit.overrideDerivation (attrs: {
configureFlags = [
"--with-boost=${pkgs.boost.dev}" "--with-boost-libdir=${pkgs.boost.out}/lib"
];
});
RAppArmor = old.RAppArmor.overrideDerivation (attrs: {
patches = [ ./patches/RAppArmor.patch ];
2019-09-09 02:38:31 +03:00
LIBAPPARMOR_HOME = pkgs.libapparmor;
});
RMySQL = old.RMySQL.overrideDerivation (attrs: {
2021-09-13 14:50:35 +03:00
MYSQL_DIR = "${pkgs.libmysqlclient}";
PKGCONFIG_CFLAGS = "-I${pkgs.libmysqlclient.dev}/include/mysql";
NIX_CFLAGS_LINK = "-L${pkgs.libmysqlclient}/lib/mysql -lmysqlclient";
preConfigure = ''
patchShebangs configure
2017-07-09 18:43:03 +03:00
'';
2015-02-19 23:53:36 +03:00
});
devEMF = old.devEMF.overrideDerivation (attrs: {
NIX_CFLAGS_LINK = "-L${pkgs.xorg.libXft.out}/lib -lXft";
2017-01-06 19:58:58 +03:00
NIX_LDFLAGS = "-lX11";
});
slfm = old.slfm.overrideDerivation (attrs: {
PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack";
});
SamplerCompare = old.SamplerCompare.overrideDerivation (attrs: {
PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack";
});
EMCluster = old.EMCluster.overrideDerivation (attrs: {
patches = [ ./patches/EMCluster.patch ];
});
spMC = old.spMC.overrideDerivation (attrs: {
patches = [ ./patches/spMC.patch ];
});
openssl = old.openssl.overrideDerivation (attrs: {
2020-10-23 15:40:18 +03:00
preConfigure = ''
patchShebangs configure
'';
2017-10-06 15:01:40 +03:00
PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -lssl -lcrypto";
});
2019-12-05 07:00:19 +03:00
websocket = old.websocket.overrideDerivation (attrs: {
PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -lssl -lcrypto";
});
Rserve = old.Rserve.overrideDerivation (attrs: {
patches = [ ./patches/Rserve.patch ];
configureFlags = [
"--with-server" "--with-client"
];
});
nloptr = old.nloptr.overrideDerivation (attrs: {
# Drop bundled nlopt source code. Probably unnecessary, but I want to be
# sure we're using the system library, not this one.
preConfigure = "rm -r src/nlopt_src";
});
V8 = old.V8.overrideDerivation (attrs: {
postPatch = ''
substituteInPlace configure \
--replace " -lv8_libplatform" ""
'';
preConfigure = ''
export INCLUDE_DIR=${pkgs.v8}/include
export LIB_DIR=${pkgs.v8}/lib
patchShebangs configure
'';
});
acs = old.acs.overrideDerivation (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
gdtools = old.gdtools.overrideDerivation (attrs: {
preConfigure = ''
patchShebangs configure
'';
NIX_LDFLAGS = "-lfontconfig -lfreetype";
});
magick = old.magick.overrideDerivation (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
libgeos = old.libgeos.overrideDerivation (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
protolite = old.protolite.overrideDerivation (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
rpanel = old.rpanel.overrideDerivation (attrs: {
preConfigure = ''
export TCLLIBPATH="${pkgs.bwidget}/lib/bwidget${pkgs.bwidget.version}"
'';
TCLLIBPATH = "${pkgs.bwidget}/lib/bwidget${pkgs.bwidget.version}";
});
RPostgres = old.RPostgres.overrideDerivation (attrs: {
preConfigure = ''
export INCLUDE_DIR=${pkgs.postgresql}/include
export LIB_DIR=${pkgs.postgresql.lib}/lib
patchShebangs configure
'';
});
OpenMx = old.OpenMx.overrideDerivation (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
odbc = old.odbc.overrideDerivation (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
x13binary = old.x13binary.overrideDerivation (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
geojsonio = old.geojsonio.overrideDerivation (attrs: {
buildInputs = [ cacert ] ++ attrs.buildInputs;
});
rstan = old.rstan.overrideDerivation (attrs: {
NIX_CFLAGS_COMPILE = "${attrs.NIX_CFLAGS_COMPILE} -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION";
});
2018-03-10 06:01:49 +03:00
mongolite = old.mongolite.overrideDerivation (attrs: {
preConfigure = ''
patchShebangs configure
'';
PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include -I${pkgs.cyrus_sasl.dev}/include -I${pkgs.zlib.dev}/include";
PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -L${pkgs.cyrus_sasl.out}/lib -L${pkgs.zlib.out}/lib -lssl -lcrypto -lsasl2 -lz";
});
ps = old.ps.overrideDerivation (attrs: {
preConfigure = "patchShebangs configure";
});
rlang = old.rlang.overrideDerivation (attrs: {
preConfigure = "patchShebangs configure";
});
systemfonts = old.systemfonts.overrideDerivation (attrs: {
preConfigure = "patchShebangs configure";
});
littler = old.littler.overrideAttrs (attrs: with pkgs; {
2021-03-14 21:12:53 +03:00
buildInputs = [ pcre xz zlib bzip2 icu which ] ++ attrs.buildInputs;
postInstall = ''
install -d $out/bin $out/share/man/man1
ln -s ../library/littler/bin/r $out/bin/r
ln -s ../library/littler/bin/r $out/bin/lr
ln -s ../../../library/littler/man-page/r.1 $out/share/man/man1
# these won't run without special provisions, so better remove them
rm -r $out/library/littler/script-tests
'';
});
R_cache = old.R_cache.overrideDerivation (attrs: {
preConfigure = ''
export R_CACHE_ROOTPATH=$TMP
'';
});
lpsymphony = old.lpsymphony.overrideDerivation (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
2021-09-26 11:02:04 +03:00
sodium = old.sodium.overrideDerivation (attrs: with pkgs; {
preConfigure = ''
patchShebangs configure
'';
nativeBuildInputs = [ pkg-config ] ++ attrs.nativeBuildInputs;
buildInputs = [ libsodium.dev ] ++ attrs.buildInputs;
});
Rhtslib = old.Rhtslib.overrideDerivation (attrs: {
preConfigure = ''
substituteInPlace R/zzz.R --replace "-lcurl" "-L${pkgs.curl.out}/lib -lcurl"
'';
});
};
in
self