1e840fc421
It seems that the dev output of libGLU needs to be included explicitly for this to work. I've also moved the libraries from nativeBuildInputs to buildInputs to be more semantically correct (and maybe support cross compilation, not tested though).
982 lines
27 KiB
Nix
982 lines
27 KiB
Nix
/* 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 {
|
|
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}_${version}.tar.gz" ];
|
|
};
|
|
deriveBiocAnn = mkDerive {
|
|
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 {
|
|
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 {
|
|
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:
|
|
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:
|
|
lib.mapAttrs (name: value:
|
|
(builtins.getAttr name old).overrideDerivation (attrs: {
|
|
buildInputs = attrs.buildInputs ++ value;
|
|
})
|
|
) overrides;
|
|
|
|
# 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 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 packagesRequireingX old0);
|
|
old2 = old1 // (overrideSkipCheck packagesToSkipCheck old1);
|
|
old3 = old2 // (overrideRDepends packagesWithRDepends old2);
|
|
old4 = old3 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old3);
|
|
old5 = old4 // (overrideBuildInputs packagesWithBuildInputs old4);
|
|
old6 = old5 // (overrideBroken brokenPackages old5);
|
|
old = old6;
|
|
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;
|
|
_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
|
|
|
|
packagesWithRDepends = {
|
|
FactoMineR = [ self.car ];
|
|
pander = [ self.codetools ];
|
|
};
|
|
|
|
packagesWithNativeBuildInputs = {
|
|
abn = [ pkgs.gsl_1 ];
|
|
adimpro = [ pkgs.imagemagick ];
|
|
animation = [ pkgs.which ];
|
|
audio = [ pkgs.portaudio ];
|
|
BayesSAE = [ pkgs.gsl_1 ];
|
|
BayesVarSel = [ pkgs.gsl_1 ];
|
|
BayesXsrc = [ pkgs.readline.dev pkgs.ncurses ];
|
|
bigGP = [ pkgs.openmpi ];
|
|
bio3d = [ pkgs.zlib ];
|
|
BiocCheck = [ pkgs.which ];
|
|
Biostrings = [ pkgs.zlib ];
|
|
bnpmr = [ pkgs.gsl_1 ];
|
|
cairoDevice = [ pkgs.gtk2.dev ];
|
|
Cairo = [ pkgs.libtiff pkgs.libjpeg pkgs.cairo.dev pkgs.x11 pkgs.fontconfig.lib ];
|
|
Cardinal = [ pkgs.which ];
|
|
chebpol = [ pkgs.fftw ];
|
|
ChemmineOB = [ pkgs.openbabel pkgs.pkgconfig ];
|
|
cit = [ pkgs.gsl_1 ];
|
|
curl = [ pkgs.curl.dev ];
|
|
data_table = [pkgs.zlib.dev] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
|
|
devEMF = [ pkgs.xorg.libXft.dev pkgs.x11 ];
|
|
diversitree = [ pkgs.gsl_1 pkgs.fftw ];
|
|
EMCluster = [ pkgs.liblapack ];
|
|
fftw = [ pkgs.fftw.dev ];
|
|
fftwtools = [ pkgs.fftw.dev ];
|
|
Formula = [ pkgs.gmp ];
|
|
geoCount = [ pkgs.gsl_1 ];
|
|
gdtools = [ pkgs.cairo.dev pkgs.fontconfig.lib pkgs.freetype.dev ];
|
|
git2r = [ pkgs.zlib.dev pkgs.openssl.dev pkgs.libssh2.dev pkgs.libgit2 pkgs.pkgconfig ];
|
|
GLAD = [ pkgs.gsl_1 ];
|
|
glpkAPI = [ pkgs.gmp pkgs.glpk ];
|
|
gmp = [ pkgs.gmp.dev ];
|
|
graphscan = [ pkgs.gsl_1 ];
|
|
gsl = [ pkgs.gsl_1 ];
|
|
h5 = [ pkgs.hdf5-cpp pkgs.which ];
|
|
haven = [ pkgs.libiconv pkgs.zlib.dev ];
|
|
h5vc = [ pkgs.zlib.dev ];
|
|
HiCseg = [ pkgs.gsl_1 ];
|
|
imager = [ pkgs.x11 ];
|
|
iBMQ = [ pkgs.gsl_1 ];
|
|
igraph = [ pkgs.gmp pkgs.libxml2.dev ];
|
|
JavaGD = [ pkgs.jdk ];
|
|
jpeg = [ pkgs.libjpeg.dev ];
|
|
jqr = [ pkgs.jq.dev ];
|
|
KFKSDS = [ pkgs.gsl_1 ];
|
|
kza = [ pkgs.fftw.dev ];
|
|
magick = [ pkgs.imagemagick.dev ];
|
|
ModelMetrics = lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
|
|
mvabund = [ pkgs.gsl_1 ];
|
|
mwaved = [ pkgs.fftw.dev ];
|
|
ncdf4 = [ pkgs.netcdf ];
|
|
nloptr = [ pkgs.nlopt pkgs.pkgconfig ];
|
|
odbc = [ pkgs.unixODBC ];
|
|
outbreaker = [ pkgs.gsl_1 ];
|
|
pander = [ pkgs.pandoc pkgs.which ];
|
|
pbdMPI = [ pkgs.openmpi ];
|
|
pbdNCDF4 = [ pkgs.netcdf ];
|
|
pbdPROF = [ pkgs.openmpi ];
|
|
pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.which ];
|
|
pdftools = [ pkgs.poppler.dev ];
|
|
phytools = [ pkgs.which ];
|
|
PKI = [ pkgs.openssl.dev ];
|
|
png = [ pkgs.libpng.dev ];
|
|
PopGenome = [ pkgs.zlib.dev ];
|
|
proj4 = [ pkgs.proj ];
|
|
protolite = [ pkgs.protobuf ];
|
|
qtbase = [ pkgs.qt4 ];
|
|
qtpaint = [ pkgs.qt4 ];
|
|
R2SWF = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ];
|
|
RAppArmor = [ pkgs.libapparmor ];
|
|
rapportools = [ pkgs.which ];
|
|
rapport = [ pkgs.which ];
|
|
readxl = [ pkgs.libiconv ];
|
|
rcdd = [ pkgs.gmp.dev ];
|
|
RcppCNPy = [ pkgs.zlib.dev ];
|
|
RcppGSL = [ pkgs.gsl_1 ];
|
|
RcppZiggurat = [ pkgs.gsl_1 ];
|
|
reprex = [ pkgs.which ];
|
|
rgdal = [ pkgs.proj.dev pkgs.gdal ];
|
|
rgeos = [ pkgs.geos ];
|
|
rggobi = [ pkgs.ggobi pkgs.gtk2.dev pkgs.libxml2.dev ];
|
|
Rglpk = [ pkgs.glpk ];
|
|
RGtk2 = [ pkgs.gtk2.dev ];
|
|
rhdf5 = [ pkgs.zlib ];
|
|
Rhdf5lib = [ pkgs.zlib ];
|
|
Rhpc = [ pkgs.zlib pkgs.bzip2.dev pkgs.icu pkgs.lzma.dev pkgs.openmpi pkgs.pcre.dev ];
|
|
Rhtslib = [ pkgs.zlib.dev pkgs.automake pkgs.autoconf ];
|
|
RJaCGH = [ pkgs.zlib.dev ];
|
|
rjags = [ pkgs.jags ];
|
|
rJava = [ pkgs.zlib pkgs.bzip2.dev pkgs.icu pkgs.lzma.dev pkgs.pcre.dev pkgs.jdk pkgs.libzip ];
|
|
Rlibeemd = [ pkgs.gsl_1 ];
|
|
rmatio = [ pkgs.zlib.dev ];
|
|
Rmpfr = [ pkgs.gmp pkgs.mpfr.dev ];
|
|
Rmpi = [ pkgs.openmpi ];
|
|
RMySQL = [ pkgs.zlib pkgs.libmysqlclient pkgs.openssl.dev ];
|
|
RNetCDF = [ pkgs.netcdf pkgs.udunits ];
|
|
RODBCext = [ pkgs.libiodbc ];
|
|
RODBC = [ pkgs.libiodbc ];
|
|
rpanel = [ pkgs.bwidget ];
|
|
rpg = [ pkgs.postgresql ];
|
|
rphast = [ pkgs.pcre.dev pkgs.zlib pkgs.bzip2 pkgs.gzip pkgs.readline ];
|
|
Rpoppler = [ pkgs.poppler ];
|
|
RPostgreSQL = [ pkgs.postgresql pkgs.postgresql ];
|
|
RProtoBuf = [ pkgs.protobuf ];
|
|
rPython = [ pkgs.python ];
|
|
RSclient = [ pkgs.openssl.dev ];
|
|
Rserve = [ pkgs.openssl ];
|
|
Rssa = [ pkgs.fftw.dev ];
|
|
rtfbs = [ pkgs.zlib pkgs.pcre.dev pkgs.bzip2 pkgs.gzip pkgs.readline ];
|
|
rtiff = [ pkgs.libtiff.dev ];
|
|
runjags = [ pkgs.jags ];
|
|
RVowpalWabbit = [ pkgs.zlib.dev pkgs.boost ];
|
|
rzmq = [ pkgs.zeromq3 ];
|
|
SAVE = [ pkgs.zlib pkgs.bzip2 pkgs.icu pkgs.lzma pkgs.pcre ];
|
|
sdcTable = [ pkgs.gmp pkgs.glpk ];
|
|
seewave = [ pkgs.fftw.dev pkgs.libsndfile.dev ];
|
|
seqinr = [ pkgs.zlib.dev ];
|
|
seqminer = [ pkgs.zlib.dev pkgs.bzip2 ];
|
|
sf = [ pkgs.gdal pkgs.proj pkgs.geos ];
|
|
showtext = [ pkgs.zlib pkgs.libpng pkgs.icu pkgs.freetype.dev ];
|
|
simplexreg = [ pkgs.gsl_1 ];
|
|
spate = [ pkgs.fftw.dev ];
|
|
ssanv = [ pkgs.proj ];
|
|
stsm = [ pkgs.gsl_1 ];
|
|
stringi = [ pkgs.icu.dev ];
|
|
survSNP = [ pkgs.gsl_1 ];
|
|
sysfonts = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ];
|
|
systemfonts = [ pkgs.fontconfig.dev pkgs.freetype.dev ];
|
|
TAQMNGR = [ pkgs.zlib.dev ];
|
|
tesseract = [ pkgs.tesseract pkgs.leptonica ];
|
|
tiff = [ pkgs.libtiff.dev ];
|
|
TKF = [ pkgs.gsl_1 ];
|
|
tkrplot = [ pkgs.xorg.libX11 pkgs.tk.dev ];
|
|
topicmodels = [ pkgs.gsl_1 ];
|
|
udunits2 = [ pkgs.udunits pkgs.expat ];
|
|
units = [ pkgs.udunits ];
|
|
V8 = [ pkgs.v8_3_14 ];
|
|
VBLPCM = [ pkgs.gsl_1 ];
|
|
WhopGenome = [ pkgs.zlib.dev ];
|
|
XBRL = [ pkgs.zlib pkgs.libxml2.dev ];
|
|
xml2 = [ pkgs.libxml2.dev ] ++ lib.optionals stdenv.isDarwin [ pkgs.perl ];
|
|
XML = [ pkgs.libtool pkgs.libxml2.dev pkgs.xmlsec pkgs.libxslt ];
|
|
affyPLM = [ pkgs.zlib.dev ];
|
|
bamsignals = [ pkgs.zlib.dev ];
|
|
BitSeq = [ pkgs.zlib.dev ];
|
|
DiffBind = [ pkgs.zlib ];
|
|
ShortRead = [ pkgs.zlib.dev ];
|
|
oligo = [ pkgs.zlib.dev ];
|
|
gmapR = [ pkgs.zlib.dev ];
|
|
Rsubread = [ pkgs.zlib.dev ];
|
|
XVector = [ pkgs.zlib.dev ];
|
|
Rsamtools = [ pkgs.zlib.dev ];
|
|
rtracklayer = [ pkgs.zlib.dev ];
|
|
affyio = [ pkgs.zlib.dev ];
|
|
VariantAnnotation = [ pkgs.zlib.dev ];
|
|
snpStats = [ pkgs.zlib.dev ];
|
|
};
|
|
|
|
packagesWithBuildInputs = {
|
|
# sort -t '=' -k 2
|
|
svKomodo = [ pkgs.which ];
|
|
nat = [ pkgs.which ];
|
|
nat_nblast = [ pkgs.which ];
|
|
nat_templatebrains = [ pkgs.which ];
|
|
pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.darwin.binutils ];
|
|
RMark = [ pkgs.which ];
|
|
RPushbullet = [ pkgs.which ];
|
|
qtpaint = [ pkgs.cmake ];
|
|
qtbase = [ pkgs.cmake pkgs.perl ];
|
|
RcppEigen = [ pkgs.libiconv ];
|
|
RCurl = [ pkgs.curl.dev ];
|
|
R2SWF = [ pkgs.pkgconfig ];
|
|
rggobi = [ pkgs.pkgconfig ];
|
|
rgl = [ pkgs.libGLU pkgs.libGLU.dev pkgs.libGL pkgs.xlibsWrapper ];
|
|
RGtk2 = [ pkgs.pkgconfig ];
|
|
RProtoBuf = [ pkgs.pkgconfig ];
|
|
Rpoppler = [ pkgs.pkgconfig ];
|
|
XML = [ pkgs.pkgconfig ];
|
|
cairoDevice = [ pkgs.pkgconfig ];
|
|
chebpol = [ pkgs.pkgconfig ];
|
|
fftw = [ pkgs.pkgconfig ];
|
|
geoCount = [ pkgs.pkgconfig ];
|
|
gdtools = [ pkgs.pkgconfig ];
|
|
JuniperKernel = lib.optionals stdenv.isDarwin [ pkgs.darwin.binutils ];
|
|
jqr = [ pkgs.jq.lib ];
|
|
kza = [ pkgs.pkgconfig ];
|
|
magick = [ pkgs.pkgconfig ];
|
|
mwaved = [ pkgs.pkgconfig ];
|
|
odbc = [ pkgs.pkgconfig ];
|
|
openssl = [ pkgs.pkgconfig ];
|
|
pdftools = [ pkgs.pkgconfig ];
|
|
sf = [ pkgs.pkgconfig pkgs.sqlite.dev pkgs.proj.dev ];
|
|
showtext = [ pkgs.pkgconfig ];
|
|
spate = [ pkgs.pkgconfig ];
|
|
stringi = [ pkgs.pkgconfig ];
|
|
sysfonts = [ pkgs.pkgconfig ];
|
|
systemfonts = [ pkgs.pkgconfig ];
|
|
tesseract = [ pkgs.pkgconfig ];
|
|
Cairo = [ pkgs.pkgconfig ];
|
|
Rsymphony = [ pkgs.pkgconfig pkgs.doxygen pkgs.graphviz pkgs.subversion ];
|
|
tcltk2 = [ pkgs.tcl pkgs.tk ];
|
|
tikzDevice = [ pkgs.which pkgs.texlive.combined.scheme-medium ];
|
|
rPython = [ pkgs.which ];
|
|
gridGraphics = [ pkgs.which ];
|
|
adimpro = [ pkgs.which pkgs.xorg.xdpyinfo ];
|
|
PET = [ pkgs.which pkgs.xorg.xdpyinfo pkgs.imagemagick ];
|
|
dti = [ pkgs.which pkgs.xorg.xdpyinfo pkgs.imagemagick ];
|
|
mzR = [ pkgs.netcdf ];
|
|
cluster = [ pkgs.libiconv ];
|
|
KernSmooth = [ pkgs.libiconv ];
|
|
nlme = [ pkgs.libiconv ];
|
|
Matrix = [ pkgs.libiconv ];
|
|
mgcv = [ pkgs.libiconv ];
|
|
minqa = [ pkgs.libiconv ];
|
|
igraph = [ pkgs.libiconv ];
|
|
ape = [ pkgs.libiconv ];
|
|
expm = [ pkgs.libiconv ];
|
|
mnormt = [ pkgs.libiconv ];
|
|
pan = [ pkgs.libiconv ];
|
|
phangorn = [ pkgs.libiconv ];
|
|
quadprog = [ pkgs.libiconv ];
|
|
randomForest = [ pkgs.libiconv ];
|
|
sundialr = [ pkgs.libiconv ];
|
|
ucminf = [ pkgs.libiconv ];
|
|
glmnet = [ pkgs.libiconv ];
|
|
};
|
|
|
|
packagesRequireingX = [
|
|
"accrual"
|
|
"ade4TkGUI"
|
|
"analogue"
|
|
"analogueExtra"
|
|
"AnalyzeFMRI"
|
|
"AnnotLists"
|
|
"AnthropMMD"
|
|
"aplpack"
|
|
"aqfig"
|
|
"arf3DS4"
|
|
"asbio"
|
|
"AtelieR"
|
|
"BAT"
|
|
"bayesDem"
|
|
"BCA"
|
|
"BEQI2"
|
|
"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"
|
|
"dgmb"
|
|
"DivMelt"
|
|
"dpa"
|
|
"DSpat"
|
|
"dynamicGraph"
|
|
"dynBiplotGUI"
|
|
"EasyqpcR"
|
|
"EcoVirtual"
|
|
"ENiRG"
|
|
"exactLoglinTest"
|
|
"fat2Lpoly"
|
|
"fbati"
|
|
"FD"
|
|
"feature"
|
|
"FeedbackTS"
|
|
"FFD"
|
|
"fgui"
|
|
"fisheyeR"
|
|
"fit4NM"
|
|
"forams"
|
|
"forensim"
|
|
"FreeSortR"
|
|
"fscaret"
|
|
"fSRM"
|
|
"gcmr"
|
|
"GeoGenetix"
|
|
"geomorph"
|
|
"geoR"
|
|
"geoRglm"
|
|
"georob"
|
|
"GGEBiplotGUI"
|
|
"gnm"
|
|
"GPCSIV"
|
|
"GrammR"
|
|
"GrapheR"
|
|
"GroupSeq"
|
|
"gsubfn"
|
|
"GUniFrac"
|
|
"gWidgets2RGtk2"
|
|
"gWidgets2tcltk"
|
|
"gWidgetsRGtk2"
|
|
"gWidgetstcltk"
|
|
"HH"
|
|
"HiveR"
|
|
"ic50"
|
|
"iDynoR"
|
|
"in2extRemes"
|
|
"iplots"
|
|
"isopam"
|
|
"IsotopeR"
|
|
"JGR"
|
|
"KappaGUI"
|
|
"likeLTD"
|
|
"logmult"
|
|
"LS2Wstat"
|
|
"MareyMap"
|
|
"memgene"
|
|
"MergeGUI"
|
|
"metacom"
|
|
"Meth27QC"
|
|
"MetSizeR"
|
|
"MicroStrategyR"
|
|
"migui"
|
|
"miniGUI"
|
|
"MissingDataGUI"
|
|
"mixsep"
|
|
"mlDNA"
|
|
"MplusAutomation"
|
|
"mpmcorrelogram"
|
|
"mritc"
|
|
"multgee"
|
|
"multibiplotGUI"
|
|
"nodiv"
|
|
"OligoSpecificitySystem"
|
|
"onemap"
|
|
"OpenRepGrid"
|
|
"paleoMAS"
|
|
"pbatR"
|
|
"PBSadmb"
|
|
"PBSmodelling"
|
|
"PCPS"
|
|
"pez"
|
|
"phylotools"
|
|
"picante"
|
|
"PKgraph"
|
|
"plotSEMM"
|
|
"plsRbeta"
|
|
"plsRglm"
|
|
"PopGenReport"
|
|
"poppr"
|
|
"powerpkg"
|
|
"PredictABEL"
|
|
"prefmod"
|
|
"PrevMap"
|
|
"ProbForecastGOP"
|
|
"qtbase"
|
|
"qtpaint"
|
|
"r4ss"
|
|
"RandomFields"
|
|
"rareNMtests"
|
|
"rAverage"
|
|
"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_mosaic"
|
|
"RcmdrPlugin_MPAStats"
|
|
"RcmdrPlugin_orloca"
|
|
"RcmdrPlugin_plotByGroup"
|
|
"RcmdrPlugin_pointG"
|
|
"RcmdrPlugin_qual"
|
|
"RcmdrPlugin_ROC"
|
|
"RcmdrPlugin_sampling"
|
|
"RcmdrPlugin_SCDA"
|
|
"RcmdrPlugin_SLC"
|
|
"RcmdrPlugin_sos"
|
|
"RcmdrPlugin_steepness"
|
|
"RcmdrPlugin_survival"
|
|
"RcmdrPlugin_TeachingDemos"
|
|
"RcmdrPlugin_temis"
|
|
"RcmdrPlugin_UCA"
|
|
"recluster"
|
|
"relimp"
|
|
"RenextGUI"
|
|
"reportRx"
|
|
"reshapeGUI"
|
|
"rgl"
|
|
"RHRV"
|
|
"rich"
|
|
"RNCEP"
|
|
"RQDA"
|
|
"RSDA"
|
|
"rsgcc"
|
|
"RSurvey"
|
|
"RunuranGUI"
|
|
"sharpshootR"
|
|
"simba"
|
|
"Simile"
|
|
"SimpleTable"
|
|
"SOLOMON"
|
|
"soundecology"
|
|
"spacodiR"
|
|
"spatsurv"
|
|
"sqldf"
|
|
"SRRS"
|
|
"SSDforR"
|
|
"statcheck"
|
|
"StatDA"
|
|
"STEPCAM"
|
|
"stosim"
|
|
"strvalidator"
|
|
"stylo"
|
|
"svDialogstcltk"
|
|
"svIDE"
|
|
"svSocket"
|
|
"svWidgets"
|
|
"SYNCSA"
|
|
"SyNet"
|
|
"tcltk2"
|
|
"TED"
|
|
"TestScorer"
|
|
"TIMP"
|
|
"titan"
|
|
"tkrgl"
|
|
"tkrplot"
|
|
"tmap"
|
|
"tspmeta"
|
|
"TTAinterfaceTrendAnalysis"
|
|
"twiddler"
|
|
"vcdExtra"
|
|
"VecStatGraphs3D"
|
|
"vegan"
|
|
"vegan3d"
|
|
"vegclust"
|
|
"VIMGUI"
|
|
"WMCapacity"
|
|
"x12GUI"
|
|
"xergm"
|
|
];
|
|
|
|
packagesToSkipCheck = [
|
|
"Rmpi" # tries to run MPI processes
|
|
"pbdMPI" # tries to run MPI processes
|
|
];
|
|
|
|
# Packages which cannot be installed due to lack of dependencies or other reasons.
|
|
brokenPackages = [
|
|
];
|
|
|
|
otherOverrides = old: new: {
|
|
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
|
|
'';
|
|
});
|
|
|
|
xml2 = old.xml2.overrideDerivation (attrs: {
|
|
preConfigure = ''
|
|
export LIBXML_INCDIR=${pkgs.libxml2.dev}/include/libxml2
|
|
patchShebangs configure
|
|
'';
|
|
});
|
|
|
|
Cairo = old.Cairo.overrideDerivation (attrs: {
|
|
NIX_LDFLAGS = "-lfontconfig";
|
|
});
|
|
|
|
curl = old.curl.overrideDerivation (attrs: {
|
|
preConfigure = "patchShebangs configure";
|
|
});
|
|
|
|
RcppArmadillo = old.RcppArmadillo.overrideDerivation (attrs: {
|
|
patchPhase = "patchShebangs configure";
|
|
});
|
|
|
|
data_table = old.data_table.overrideDerivation (attrs: {
|
|
NIX_CFLAGS_COMPILE = attrs.NIX_CFLAGS_COMPILE
|
|
+ lib.optionalString stdenv.isDarwin " -fopenmp";
|
|
});
|
|
|
|
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}
|
|
'';
|
|
});
|
|
|
|
JuniperKernel = old.JuniperKernel.overrideDerivation (attrs: {
|
|
postPatch = lib.optionalString stdenv.isDarwin ''
|
|
for file in {R,src}/*.R; do
|
|
sed -i 's#system("which \(otool\|install_name_tool\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file
|
|
done
|
|
'';
|
|
preConfigure = ''
|
|
patchShebangs configure
|
|
'';
|
|
});
|
|
|
|
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
|
|
sed -i 's#system("which \(\w\+\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file
|
|
done
|
|
'';
|
|
});
|
|
|
|
qtbase = old.qtbase.overrideDerivation (attrs: {
|
|
patches = [ ./patches/qtbase.patch ];
|
|
});
|
|
|
|
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 ];
|
|
LIBAPPARMOR_HOME = pkgs.libapparmor;
|
|
});
|
|
|
|
RMySQL = old.RMySQL.overrideDerivation (attrs: {
|
|
MYSQL_DIR="${pkgs.libmysqlclient}";
|
|
preConfigure = ''
|
|
patchShebangs configure
|
|
'';
|
|
});
|
|
|
|
devEMF = old.devEMF.overrideDerivation (attrs: {
|
|
NIX_CFLAGS_LINK = "-L${pkgs.xorg.libXft.out}/lib -lXft";
|
|
NIX_LDFLAGS = "-lX11";
|
|
});
|
|
|
|
slfm = old.slfm.overrideDerivation (attrs: {
|
|
PKG_LIBS = "-L${pkgs.openblasCompat}/lib -lopenblas";
|
|
});
|
|
|
|
SamplerCompare = old.SamplerCompare.overrideDerivation (attrs: {
|
|
PKG_LIBS = "-L${pkgs.openblasCompat}/lib -lopenblas";
|
|
});
|
|
|
|
EMCluster = old.EMCluster.overrideDerivation (attrs: {
|
|
patches = [ ./patches/EMCluster.patch ];
|
|
});
|
|
|
|
spMC = old.spMC.overrideDerivation (attrs: {
|
|
patches = [ ./patches/spMC.patch ];
|
|
});
|
|
|
|
openssl = old.openssl.overrideDerivation (attrs: {
|
|
PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
|
|
PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -lssl -lcrypto";
|
|
});
|
|
|
|
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: {
|
|
preConfigure = ''
|
|
export INCLUDE_DIR=${pkgs.v8_3_14}/include
|
|
export LIB_DIR=${pkgs.v8_3_14}/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
|
|
'';
|
|
});
|
|
|
|
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";
|
|
});
|
|
|
|
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; {
|
|
buildInputs = [ pcre lzma 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
|
|
'';
|
|
});
|
|
|
|
};
|
|
in
|
|
self
|