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

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

1388 lines
39 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, hydraPlatforms ? null}: args:
let hydraPlatforms' = hydraPlatforms; in
lib.makeOverridable ({
name, version, sha256,
depends ? [],
doCheck ? true,
requireX ? false,
broken ? false,
platforms ? R.meta.platforms,
hydraPlatforms ? if hydraPlatforms' != null then hydraPlatforms' else platforms,
maintainers ? []
}: 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 = platforms;
meta.hydraPlatforms = hydraPlatforms;
meta.broken = broken;
meta.maintainers = maintainers;
});
# Templates for generating Bioconductor and CRAN packages
# from the name, version, sha256, and optional per-package arguments above
#
deriveBioc = mkDerive {
2018-08-04 06:19:08 +00: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 06:19:08 +00: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"
];
hydraPlatforms = [];
};
deriveBiocExp = mkDerive {
2018-08-04 06:19:08 +00: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"
];
hydraPlatforms = [];
};
deriveCran = mkDerive {
mkHomepage = {name, ...}: "https://cran.r-project.org/web/packages/${name}/";
mkUrls = {name, version}: [
"mirror://cran/${name}_${version}.tar.gz"
"mirror://cran/Archive/${name}/${name}_${version}.tar.gz"
];
};
# Overrides package definitions with nativeBuildInputs.
# For example,
#
# overrideNativeBuildInputs {
# foo = [ pkgs.bar ]
# } old
#
# results in
#
# {
# foo = old.foo.overrideAttrs (attrs: {
# nativeBuildInputs = attrs.nativeBuildInputs ++ [ pkgs.bar ];
# });
# }
overrideNativeBuildInputs = overrides: old:
2015-02-19 20:50:42 +00:00
lib.mapAttrs (name: value:
(builtins.getAttr name old).overrideAttrs (attrs: {
2015-02-19 20:50:42 +00:00
nativeBuildInputs = attrs.nativeBuildInputs ++ value;
})
) overrides;
# Overrides package definitions with buildInputs.
# For example,
#
# overrideBuildInputs {
# foo = [ pkgs.bar ]
# } old
#
# results in
#
# {
# foo = old.foo.overrideAttrs (attrs: {
# buildInputs = attrs.buildInputs ++ [ pkgs.bar ];
# });
# }
overrideBuildInputs = overrides: old:
2015-02-19 20:50:42 +00:00
lib.mapAttrs (name: value:
(builtins.getAttr name old).overrideAttrs (attrs: {
2015-02-19 20:50:42 +00:00
buildInputs = attrs.buildInputs ++ value;
})
) overrides;
# Overrides package definitions with maintainers.
# For example,
#
# overrideMaintainers {
# foo = [ lib.maintainers.jsmith ]
# } old
#
# results in
#
# {
# foo = old.foo.override {
# maintainers = [ lib.maintainers.jsmith ];
# };
# }
overrideMaintainers = overrides: old:
lib.mapAttrs (name: value:
(builtins.getAttr name old).override {
maintainers = value;
}) overrides;
2015-02-19 20:51:24 +00:00
# Overrides package definitions with new R dependencies.
# For example,
#
# overrideRDepends {
# foo = [ self.bar ]
# } old
#
# results in
#
# {
# foo = old.foo.overrideAttrs (attrs: {
2015-02-19 20:51:24 +00:00
# nativeBuildInputs = attrs.nativeBuildInputs ++ [ self.bar ];
# propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs ++ [ self.bar ];
# });
# }
overrideRDepends = overrides: old:
lib.mapAttrs (name: value:
(builtins.getAttr name old).overrideAttrs (attrs: {
nativeBuildInputs = (attrs.nativeBuildInputs or []) ++ value;
propagatedNativeBuildInputs = (attrs.propagatedNativeBuildInputs or []) ++ value;
2015-02-19 20:51:24 +00:00
})
) 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);
old8 = old7 // (overrideMaintainers packagesWithMaintainers old7);
old = old8;
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 15:50:58 +00: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
packagesWithMaintainers = with lib.maintainers; {
data_table = [ jbedo ];
BiocManager = [ jbedo ];
ggplot2 = [ jbedo ];
svaNUMT = [ jbedo ];
svaRetro = [ jbedo ];
StructuralVariantAnnotation = [ jbedo ];
};
2015-02-19 20:51:24 +00:00
packagesWithRDepends = {
2015-02-19 20:53:36 +00:00
FactoMineR = [ self.car ];
2015-06-16 10:06:07 +00:00
pander = [ self.codetools ];
2015-02-19 20:51:24 +00:00
};
packagesWithNativeBuildInputs = {
arrow = [ pkgs.pkg-config pkgs.arrow-cpp ];
adimpro = [ pkgs.imagemagick ];
2018-02-15 05:22:52 +00:00
animation = [ pkgs.which ];
audio = [ pkgs.portaudio ];
BayesSAE = [ pkgs.gsl ];
BayesVarSel = [ pkgs.gsl ];
2021-10-25 22:31:32 +00:00
BayesXsrc = with pkgs; [ readline.dev ncurses gsl ];
bigGP = [ pkgs.mpi ];
2017-02-27 12:51:55 +00:00
bio3d = [ pkgs.zlib ];
BiocCheck = [ pkgs.which ];
Biostrings = [ pkgs.zlib ];
bnpmr = [ pkgs.gsl ];
2017-01-06 16:41:42 +00:00
cairoDevice = [ pkgs.gtk2.dev ];
Cairo = with pkgs; [ libtiff libjpeg cairo.dev xorg.libXt.dev fontconfig.lib ];
Cardinal = [ pkgs.which ];
2022-03-03 05:56:20 +00:00
chebpol = [ pkgs.fftw.dev ];
ChemmineOB = with pkgs; [ openbabel pkg-config ];
2016-09-09 13:12:54 +00:00
curl = [ pkgs.curl.dev ];
data_table = with pkgs; [ pkg-config zlib.dev ] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
devEMF = with pkgs; [ xorg.libXft.dev ];
diversitree = with pkgs; [ gsl fftw ];
exactextractr = [ pkgs.geos ];
EMCluster = [ pkgs.lapack ];
2017-01-06 17:15:14 +00:00
fftw = [ pkgs.fftw.dev ];
fftwtools = with pkgs; [ fftw.dev pkg-config ];
2015-02-19 20:53:36 +00:00
Formula = [ pkgs.gmp ];
gdtools = with pkgs; [ cairo.dev fontconfig.lib freetype.dev ];
2021-10-11 11:21:25 +00:00
ggiraph = with pkgs; [ pkgs.libpng.dev ];
git2r = with pkgs; [ zlib.dev openssl.dev libssh2.dev libgit2 pkg-config ];
GLAD = [ pkgs.gsl ];
glpkAPI = with pkgs; [ gmp glpk ];
2017-01-06 17:20:41 +00:00
gmp = [ pkgs.gmp.dev ];
graphscan = [ pkgs.gsl ];
gsl = [ pkgs.gsl ];
gert = [ pkgs.libgit2 ];
haven = with pkgs; [ zlib.dev ];
h5vc = [ pkgs.zlib.dev ];
HiCseg = [ pkgs.gsl ];
imager = [ pkgs.xorg.libX11.dev ];
iBMQ = [ pkgs.gsl ];
igraph = with pkgs; [ gmp libxml2.dev ];
JavaGD = [ pkgs.jdk ];
2017-01-06 18:17:19 +00:00
jpeg = [ pkgs.libjpeg.dev ];
2018-08-19 22:08:28 +00:00
jqr = [ pkgs.jq.dev ];
KFKSDS = [ pkgs.gsl ];
2017-01-06 18:18:27 +00:00
kza = [ pkgs.fftw.dev ];
lpsymphony = with pkgs; [ pkg-config gfortran gettext ];
2021-08-24 11:16:51 +00:00
lwgeom = with pkgs; [ proj geos gdal ];
2023-06-02 06:12:10 +00:00
rvg = [ pkgs.libpng.dev ];
magick = [ pkgs.imagemagick.dev ];
ModelMetrics = lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
mvabund = [ pkgs.gsl ];
2017-01-06 18:19:27 +00:00
mwaved = [ pkgs.fftw.dev ];
mzR = with pkgs; [ zlib netcdf ];
nanonext = with pkgs; [ mbedtls nng ];
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 = [ pkgs.pkg-config ] ++ lib.optionals stdenv.isDarwin [ pkgs.which ];
pdftools = [ pkgs.poppler.dev ];
2019-03-06 10:39:48 +00:00
phytools = [ pkgs.which ];
2017-01-06 18:23:42 +00:00
PKI = [ pkgs.openssl.dev ];
png = [ pkgs.libpng.dev ];
protolite = [ pkgs.protobuf ];
R2SWF = with pkgs; [ zlib libpng freetype.dev ];
2015-03-19 13:14:28 +00:00
RAppArmor = [ pkgs.libapparmor ];
2015-06-16 10:29:02 +00:00
rapportools = [ pkgs.which ];
rapport = [ pkgs.which ];
2017-01-06 18:34:30 +00:00
rcdd = [ pkgs.gmp.dev ];
2017-01-06 18:35:20 +00:00
RcppCNPy = [ pkgs.zlib.dev ];
RcppGSL = [ pkgs.gsl ];
RcppZiggurat = [ pkgs.gsl ];
2018-07-11 14:05:56 +00:00
reprex = [ pkgs.which ];
rgdal = with pkgs; [ proj.dev gdal ];
rgeos = [ pkgs.geos ];
Rglpk = [ pkgs.glpk ];
2017-01-06 18:51:28 +00:00
RGtk2 = [ pkgs.gtk2.dev ];
rhdf5 = [ pkgs.zlib ];
Rhdf5lib = with 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 ];
2017-01-06 19:01:17 +00: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 19:09:43 +00:00
RSclient = [ pkgs.openssl.dev ];
Rserve = [ pkgs.openssl ];
2017-01-06 19:13:30 +00:00
Rssa = [ pkgs.fftw.dev ];
rsvg = [ pkgs.pkg-config ];
runjags = [ pkgs.jags ];
2023-08-13 23:10:06 +00:00
xslt = [ pkgs.pkg-config ];
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 19:26:40 +00:00
seqinr = [ pkgs.zlib.dev ];
2023-08-13 23:13:16 +00:00
webp = [ pkgs.pkg-config ];
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 ];
2017-01-06 19:30:01 +00:00
spate = [ pkgs.fftw.dev ];
ssanv = [ pkgs.proj ];
stsm = [ pkgs.gsl ];
stringi = [ pkgs.icu.dev ];
survSNP = [ pkgs.gsl ];
svglite = [ pkgs.libpng.dev ];
sysfonts = with pkgs; [ zlib libpng freetype.dev ];
systemfonts = with pkgs; [ fontconfig.dev freetype.dev ];
2017-01-06 19:31:16 +00:00
TAQMNGR = [ pkgs.zlib.dev ];
tesseract = with pkgs; [ tesseract leptonica ];
2017-01-06 19:32:48 +00:00
tiff = [ pkgs.libtiff.dev ];
tkrplot = with pkgs; [ xorg.libX11 tk.dev ];
topicmodels = [ pkgs.gsl ];
udunits2 = with pkgs; [ udunits expat ];
units = [ pkgs.udunits ];
V8 = [ pkgs.v8 ];
XBRL = with pkgs; [ zlib libxml2.dev ];
2018-02-26 01:47:57 +00:00
xml2 = [ pkgs.libxml2.dev ] ++ lib.optionals stdenv.isDarwin [ pkgs.perl ];
XML = with pkgs; [ libtool libxml2.dev xmlsec libxslt ];
2017-01-06 19:42:00 +00:00
affyPLM = [ pkgs.zlib.dev ];
2017-01-06 19:43:55 +00:00
bamsignals = [ pkgs.zlib.dev ];
2017-01-06 19:45:14 +00:00
BitSeq = [ pkgs.zlib.dev ];
DiffBind = [ pkgs.zlib ];
ShortRead = [ pkgs.zlib.dev ];
2017-01-06 19:49:49 +00:00
oligo = [ pkgs.zlib.dev ];
2017-01-06 19:51:14 +00:00
gmapR = [ pkgs.zlib.dev ];
2017-01-06 19:52:16 +00:00
Rsubread = [ pkgs.zlib.dev ];
XVector = [ pkgs.zlib.dev ];
Rsamtools = with pkgs; [ zlib.dev curl.dev ];
2017-01-06 19:53:12 +00:00
rtracklayer = [ pkgs.zlib.dev ];
2017-01-06 19:47:08 +00:00
affyio = [ pkgs.zlib.dev ];
VariantAnnotation = with pkgs; [ zlib.dev curl.dev ];
2017-01-06 19:54:40 +00:00
snpStats = [ pkgs.zlib.dev ];
hdf5r = [ pkgs.hdf5.dev ];
2021-10-24 13:40:18 +00:00
httpgd = with pkgs; [ cairo.dev ];
2021-11-01 08:39:52 +00:00
SymTS = [ pkgs.gsl ];
VBLPCM = [ pkgs.gsl ];
dynr = [ pkgs.gsl ];
mixlink = [ pkgs.gsl ];
ridge = [ pkgs.gsl ];
smam = [ pkgs.gsl ];
rnetcarto = [ pkgs.gsl ];
rGEDI = [ pkgs.gsl ];
mmpca = [ pkgs.gsl ];
monoreg = [ pkgs.gsl ];
mvst = [ pkgs.gsl ];
mixture = [ pkgs.gsl ];
jSDM = [ pkgs.gsl ];
immunoClust = [ pkgs.gsl ];
hSDM = [ pkgs.gsl ];
flowPeaks = [ pkgs.gsl ];
fRLR = [ pkgs.gsl ];
eaf = [ pkgs.gsl ];
diseq = [ pkgs.gsl ];
cit = [ pkgs.gsl ];
abn = [ pkgs.gsl ];
SimInf = [ pkgs.gsl ];
RJMCMCNucleosomes = [ pkgs.gsl ];
RDieHarder = [ pkgs.gsl ];
QF = [ pkgs.gsl ];
PICS = [ pkgs.gsl ];
2021-11-04 10:16:26 +00:00
RcppCWB = [ pkgs.pkg-config ];
2021-11-04 10:16:51 +00:00
rrd = [ pkgs.pkg-config ];
trackViewer = [ pkgs.zlib.dev ];
themetagenomics = [ pkgs.zlib.dev ];
NanoMethViz = [ pkgs.zlib.dev ];
2021-12-02 02:21:30 +00:00
RcppMeCab = [ pkgs.pkg-config ];
2021-12-02 02:23:16 +00:00
HilbertVisGUI = with pkgs; [ pkg-config which ];
2021-12-06 22:20:20 +00:00
textshaping = [ pkgs.pkg-config ];
2022-01-07 03:10:44 +00:00
ragg = [ pkgs.pkg-config ];
qqconf = [ pkgs.pkg-config ];
};
packagesWithBuildInputs = {
# sort -t '=' -k 2
2015-02-19 20:53:36 +00:00
svKomodo = [ pkgs.which ];
nat = [ pkgs.which ];
nat_templatebrains = [ pkgs.which ];
pbdZMQ = [ pkgs.zeromq ] ++ lib.optionals stdenv.isDarwin [ pkgs.darwin.binutils ];
bigmemory = lib.optionals stdenv.isLinux [ pkgs.libuuid.dev ];
clustermq = [ pkgs.pkg-config ];
2023-08-13 23:13:16 +00:00
webp = [ pkgs.libwebp ];
2015-02-19 20:53:36 +00:00
RMark = [ pkgs.which ];
RPushbullet = [ pkgs.which ];
RCurl = [ pkgs.curl.dev ];
R2SWF = [ pkgs.pkg-config ];
rgl = with pkgs; [ libGLU libGLU.dev libGL xorg.libX11.dev freetype.dev libpng.dev ];
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-19 22:08:28 +00: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 20:53:36 +00:00
gridGraphics = [ pkgs.which ];
adimpro = with pkgs; [ which xorg.xdpyinfo ];
rsvg = [ pkgs.librsvg.dev ];
ssh = with pkgs; [ libssh ];
2021-09-24 09:34:20 +00:00
s2 = [ pkgs.openssl.dev ];
ArrayExpressHTS = with pkgs; [ zlib.dev curl.dev which ];
bbl = with pkgs; [ gsl ];
2021-09-25 21:40:36 +00:00
writexl = with pkgs; [ zlib.dev ];
2023-08-13 23:10:06 +00:00
xslt = with pkgs; [ libxslt libxml2 ];
2021-09-25 21:48:02 +00:00
qpdf = with pkgs; [ libjpeg.dev zlib.dev ];
2021-09-25 23:20:33 +00:00
vcfR = with pkgs; [ zlib.dev ];
2021-09-26 02:17:28 +00:00
bio3d = with pkgs; [ zlib.dev ];
2021-09-26 08:06:19 +00:00
arrangements = with pkgs; [ gmp.dev ];
2021-09-26 08:11:55 +00:00
spp = with pkgs; [ zlib.dev ];
2021-09-26 08:15:34 +00:00
Rbowtie = with pkgs; [ zlib.dev ];
2021-09-26 11:57:06 +00:00
gaston = with pkgs; [ zlib.dev ];
2021-09-26 23:48:24 +00:00
csaw = with pkgs; [ zlib.dev curl ];
DirichletMultinomial = with pkgs; [ gsl ];
2021-10-12 19:56:35 +00:00
DiffBind = with pkgs; [ zlib.dev ];
2021-10-12 20:02:08 +00:00
CNEr = with pkgs; [ zlib ];
GMMAT = with pkgs; [ zlib.dev bzip2.dev ];
HiCDCPlus = [ pkgs.zlib.dev ];
PopGenome = [ pkgs.zlib.dev ];
QuasR = [ pkgs.zlib.dev ];
Rbowtie2 = [ pkgs.zlib.dev ];
Rmmquant = [ pkgs.zlib.dev ];
SICtools = with pkgs; [ zlib.dev ncurses.dev ];
Signac = [ pkgs.zlib.dev ];
TransView = [ pkgs.zlib.dev ];
bigsnpr = [ pkgs.zlib.dev ];
divest = [ pkgs.zlib.dev ];
hipread = [ pkgs.zlib.dev ];
jackalope = with pkgs; [ zlib.dev xz.dev ];
largeList = [ pkgs.zlib.dev ];
mappoly = [ pkgs.zlib.dev ];
matchingMarkets = [ pkgs.zlib.dev ];
methylKit = [ pkgs.zlib.dev ];
ndjson = [ pkgs.zlib.dev ];
podkat = [ pkgs.zlib.dev ];
qrqc = [ pkgs.zlib.dev ];
rJPSGCS = [ pkgs.zlib.dev ];
rhdf5filters = with pkgs; [ zlib.dev bzip2.dev ];
2023-08-13 22:39:35 +00:00
symengine = with pkgs; [ mpfr symengine flint ];
rtk = [ pkgs.zlib.dev ];
scPipe = [ pkgs.zlib.dev ];
seqTools = [ pkgs.zlib.dev ];
seqbias = [ pkgs.zlib.dev ];
sparkwarc = [ pkgs.zlib.dev ];
RoBMA = [ pkgs.jags ];
2021-11-01 08:39:52 +00:00
rGEDI = with pkgs; [ libgeotiff.dev libaec zlib.dev hdf5.dev ];
rawrr = [ pkgs.mono ];
HDF5Array = [ pkgs.zlib.dev ];
FLAMES = [ pkgs.zlib.dev ];
ncdfFlow = [ pkgs.zlib.dev ];
2021-11-03 22:30:11 +00:00
proj4 = [ pkgs.proj.dev ];
2021-11-04 05:04:03 +00:00
rtmpt = [ pkgs.gsl ];
rmarkdown = [ pkgs.pandoc ];
2021-11-04 05:04:03 +00:00
mixcat = [ pkgs.gsl ];
libstableR = [ pkgs.gsl ];
landsepi = [ pkgs.gsl ];
flan = [ pkgs.gsl ];
econetwork = [ pkgs.gsl ];
crandep = [ pkgs.gsl ];
catSurv = [ pkgs.gsl ];
ccfindR = [ pkgs.gsl ];
SPARSEMODr = [ pkgs.gsl ];
RKHSMetaMod = [ pkgs.gsl ];
LCMCR = [ pkgs.gsl ];
BNSP = [ pkgs.gsl ];
scModels = [ pkgs.mpfr.dev ];
multibridge = [ pkgs.mpfr.dev ];
2021-11-04 10:16:26 +00:00
RcppCWB = with pkgs; [ pcre.dev glib.dev ];
RmecabKo = [ pkgs.mecab ];
PoissonBinomial = [ pkgs.fftw.dev ];
2021-11-04 10:16:51 +00:00
rrd = [ pkgs.rrdtool ];
flowWorkspace = [ pkgs.zlib.dev ];
2021-12-02 02:21:30 +00:00
RcppMeCab = [ pkgs.mecab ];
2021-12-02 02:21:55 +00:00
PING = [ pkgs.gsl ];
2021-12-02 02:22:17 +00:00
RcppAlgos = [ pkgs.gmp.dev ];
2021-12-02 02:22:50 +00:00
RcppBigIntAlgos = [ pkgs.gmp.dev ];
2023-08-13 23:20:19 +00:00
spaMM = [ pkgs.gsl ];
HilbertVisGUI = [ pkgs.gtkmm2.dev ];
2021-12-06 22:20:20 +00:00
textshaping = with pkgs; [ harfbuzz.dev freetype.dev fribidi libpng ];
2021-12-06 22:20:31 +00:00
DropletUtils = [ pkgs.zlib.dev ];
2021-12-06 22:20:44 +00:00
RMariaDB = [ pkgs.libmysqlclient.dev ];
2023-08-13 23:12:09 +00:00
ijtiff = [ pkgs.libtiff ];
2022-01-07 03:10:44 +00:00
ragg = with pkgs; [ freetype.dev libpng.dev libtiff.dev zlib.dev libjpeg.dev bzip2.dev ];
qqconf = [ pkgs.fftw.dev ];
};
packagesRequiringX = [
"accrual"
"ade4TkGUI"
"analogue"
"analogueExtra"
"AnalyzeFMRI"
"AnnotLists"
"AnthropMMD"
"aplpack"
"asbio"
"BAT"
"BCA"
"betapart"
"BiodiversityR"
"bio_infer"
"bipartite"
"biplotbootGUI"
"blender"
"cairoDevice"
"canceR"
"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 08:10:12 +00: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_FuzzyClust"
"RcmdrPlugin_HH"
"RcmdrPlugin_IPSUR"
"RcmdrPlugin_KMggplot2"
"RcmdrPlugin_lfstat"
"RcmdrPlugin_MA"
"RcmdrPlugin_MPAStats"
"RcmdrPlugin_orloca"
"RcmdrPlugin_PcaRobust"
"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"
"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"
"uHMM"
"vcdExtra"
"VecStatGraphs3D"
"vegan"
"vegan3d"
"vegclust"
"x12GUI"
];
packagesRequiringHome = [
"aroma_affymetrix"
"aroma_cn"
"aroma_core"
"csodata"
"DiceView"
"MSnID"
2021-10-11 11:11:22 +00:00
"OmnipathR"
"precommit"
"PSCBS"
"repmis"
"R_cache"
"R_filesets"
"RKorAPClient"
"R_rsp"
"scholar"
"stepR"
"styler"
"TreeTools"
"ACNE"
"APAlyzer"
"EstMix"
"PECA"
"Quartet"
"ShinyQuickStarter"
"TIN"
"TotalCopheneticIndex"
"TreeDist"
"biocthis"
"calmate"
"fgga"
"fulltext"
"immuneSIM"
"mastif"
"shinymeta"
"shinyobjects"
"wppi"
"pins"
2021-11-01 07:24:56 +00:00
"CoTiMA"
"TBRDist"
"Rogue"
"fixest"
"paxtoolsr"
"systemPipeShiny"
];
packagesToSkipCheck = [
2017-07-01 08:12:30 +00:00
"Rmpi" # tries to run MPI processes
"pbdMPI" # tries to run MPI processes
2020-08-20 06:42:21 +00: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 16:45:12 +00:00
brokenPackages = [
2021-10-11 21:37:18 +00:00
"av"
2021-10-11 04:51:10 +00:00
"NetLogoR"
2021-11-04 05:04:12 +00:00
"valse"
"HierO"
2021-12-02 02:24:05 +00:00
"HIBAG"
"HiveR"
# Impure network access during build
"waddR"
"tiledb"
"x13binary"
"switchr"
# ExperimentHub dependents, require net access during build
"DuoClustering2018"
"FieldEffectCrc"
"GenomicDistributionsData"
"HDCytoData"
"HMP16SData"
"PANTHER_db"
"RNAmodR_Data"
"SCATEData"
"SingleMoleculeFootprintingData"
"TabulaMurisData"
"benchmarkfdrData2019"
"bodymapRat"
"clustifyrdatahub"
"depmap"
"emtdata"
"metaboliteIDmapping"
"msigdb"
"muscData"
"org_Mxanthus_db"
"scpdata"
"nullrangesData"
];
otherOverrides = old: new: {
gifski = old.gifski.overrideAttrs (attrs: {
2022-06-18 13:10:52 +00:00
cargoDeps = pkgs.rustPlatform.fetchCargoTarball {
src = attrs.src;
sourceRoot = "gifski/src/myrustlib";
hash = "sha256-vBrTQ+5JZA8554Aasbqw7mbaOfJNQjrOpG00IXAcamI=";
};
cargoRoot = "src/myrustlib";
nativeBuildInputs = attrs.nativeBuildInputs ++ [
pkgs.rustPlatform.cargoSetupHook
pkgs.cargo
pkgs.rustc
];
});
stringi = old.stringi.overrideAttrs (attrs: {
2015-07-22 11:42:23 +00:00
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.overrideAttrs (attrs: {
preConfigure = ''
export LIBXML_INCDIR=${pkgs.libxml2.dev}/include/libxml2
patchShebangs configure
'';
2015-05-15 11:47:27 +00:00
});
rzmq = old.rzmq.overrideAttrs (attrs: {
preConfigure = "patchShebangs configure";
});
clustermq = old.clustermq.overrideAttrs (attrs: {
preConfigure = "patchShebangs configure";
});
Cairo = old.Cairo.overrideAttrs (attrs: {
2017-01-06 16:11:23 +00:00
NIX_LDFLAGS = "-lfontconfig";
});
curl = old.curl.overrideAttrs (attrs: {
2015-09-09 18:29:20 +00:00
preConfigure = "patchShebangs configure";
});
RcppParallel = old.RcppParallel.overrideAttrs (attrs: {
preConfigure = "patchShebangs configure";
});
purrr = old.purrr.overrideAttrs (attrs: {
patchPhase = "patchShebangs configure";
});
RcppArmadillo = old.RcppArmadillo.overrideAttrs (attrs: {
patchPhase = "patchShebangs configure";
});
data_table = old.data_table.overrideAttrs (attrs: {
env = (attrs.env or { }) // {
NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -fopenmp";
};
2020-08-20 06:42:21 +00:00
patchPhase = "patchShebangs configure";
});
ModelMetrics = old.ModelMetrics.overrideAttrs (attrs: {
env = (attrs.env or { }) // {
NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + lib.optionalString stdenv.isDarwin " -fopenmp";
};
});
rpf = old.rpf.overrideAttrs (attrs: {
patchPhase = "patchShebangs configure";
});
rJava = old.rJava.overrideAttrs (attrs: {
preConfigure = ''
export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/
export JAVA_HOME=${pkgs.jdk}
'';
});
JavaGD = old.JavaGD.overrideAttrs (attrs: {
preConfigure = ''
export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/
export JAVA_HOME=${pkgs.jdk}
'';
});
jqr = old.jqr.overrideAttrs (attrs: {
2018-08-19 22:08:28 +00:00
preConfigure = ''
patchShebangs configure
'';
});
pbdZMQ = old.pbdZMQ.overrideAttrs (attrs: {
postPatch = lib.optionalString stdenv.isDarwin ''
for file in R/*.{r,r.in}; do
2018-05-11 14:53:10 +00:00
sed -i 's#system("which \(\w\+\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file
done
'';
});
quarto = old.quarto.overrideAttrs (attrs: {
postPatch = ''
substituteInPlace "R/quarto.R" \
--replace "path_env <- Sys.getenv(\"QUARTO_PATH\", unset = NA)" "path_env <- Sys.getenv(\"QUARTO_PATH\", unset = '${lib.getBin pkgs.quarto}/bin/quarto')"
'';
});
s2 = old.s2.overrideAttrs (attrs: {
2022-08-22 01:41:09 +00:00
PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto";
});
Rmpi = old.Rmpi.overrideAttrs (attrs: {
configureFlags = [
"--with-Rmpi-type=OPENMPI"
];
});
Rmpfr = old.Rmpfr.overrideAttrs (attrs: {
configureFlags = [
"--with-mpfr-include=${pkgs.mpfr.dev}/include"
];
});
RVowpalWabbit = old.RVowpalWabbit.overrideAttrs (attrs: {
configureFlags = [
"--with-boost=${pkgs.boost.dev}" "--with-boost-libdir=${pkgs.boost.out}/lib"
];
});
RAppArmor = old.RAppArmor.overrideAttrs (attrs: {
patches = [ ./patches/RAppArmor.patch ];
2019-09-08 23:38:31 +00:00
LIBAPPARMOR_HOME = pkgs.libapparmor;
});
RMySQL = old.RMySQL.overrideAttrs (attrs: {
2021-09-13 11:50:35 +00: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 15:43:03 +00:00
'';
2015-02-19 20:53:36 +00:00
});
devEMF = old.devEMF.overrideAttrs (attrs: {
NIX_CFLAGS_LINK = "-L${pkgs.xorg.libXft.out}/lib -lXft";
2017-01-06 16:58:58 +00:00
NIX_LDFLAGS = "-lX11";
});
slfm = old.slfm.overrideAttrs (attrs: {
PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack";
});
SamplerCompare = old.SamplerCompare.overrideAttrs (attrs: {
PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack";
});
spMC = old.spMC.overrideAttrs (attrs: {
patches = [ ./patches/spMC.patch ];
});
openssl = old.openssl.overrideAttrs (attrs: {
2020-10-23 12:40:18 +00:00
preConfigure = ''
patchShebangs configure
'';
2017-10-06 12:01:40 +00:00
PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
treewide: use lib.getLib for OpenSSL libraries At some point, I'd like to make another attempt at 71f1f4884b5 ("openssl: stop static binaries referencing libs"), which was reverted in 195c7da07df. One problem with my previous attempt is that I moved OpenSSL's libraries to a lib output, but many dependent packages were hardcoding the out output as the location of the libraries. This patch fixes every such case I could find in the tree. It won't have any effect immediately, but will mean these packages will automatically use an OpenSSL lib output if it is reintroduced in future. This patch should cause very few rebuilds, because it shouldn't make any change at all to most packages I'm touching. The few rebuilds that are introduced come from when I've changed a package builder not to use variable names like openssl.out in scripts / substitution patterns, which would be confusing since they don't hardcode the output any more. I started by making the following global replacements: ${pkgs.openssl.out}/lib -> ${lib.getLib pkgs.openssl}/lib ${openssl.out}/lib -> ${lib.getLib openssl}/lib Then I removed the ".out" suffix when part of the argument to lib.makeLibraryPath, since that function uses lib.getLib internally. Then I fixed up cases where openssl was part of the -L flag to the compiler/linker, since that unambigously is referring to libraries. Then I manually investigated and fixed the following packages: - pycurl - citrix-workspace - ppp - wraith - unbound - gambit - acl2 I'm reasonably confindent in my fixes for all of them. For acl2, since the openssl library paths are manually provided above anyway, I don't think openssl is required separately as a build input at all. Removing it doesn't make a difference to the output size, the file list, or the closure. I've tested evaluation with the OfBorg meta checks, to protect against introducing evaluation failures.
2022-03-25 15:33:21 +00:00
PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto";
});
websocket = old.websocket.overrideAttrs (attrs: {
2019-12-05 04:00:19 +00:00
PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
treewide: use lib.getLib for OpenSSL libraries At some point, I'd like to make another attempt at 71f1f4884b5 ("openssl: stop static binaries referencing libs"), which was reverted in 195c7da07df. One problem with my previous attempt is that I moved OpenSSL's libraries to a lib output, but many dependent packages were hardcoding the out output as the location of the libraries. This patch fixes every such case I could find in the tree. It won't have any effect immediately, but will mean these packages will automatically use an OpenSSL lib output if it is reintroduced in future. This patch should cause very few rebuilds, because it shouldn't make any change at all to most packages I'm touching. The few rebuilds that are introduced come from when I've changed a package builder not to use variable names like openssl.out in scripts / substitution patterns, which would be confusing since they don't hardcode the output any more. I started by making the following global replacements: ${pkgs.openssl.out}/lib -> ${lib.getLib pkgs.openssl}/lib ${openssl.out}/lib -> ${lib.getLib openssl}/lib Then I removed the ".out" suffix when part of the argument to lib.makeLibraryPath, since that function uses lib.getLib internally. Then I fixed up cases where openssl was part of the -L flag to the compiler/linker, since that unambigously is referring to libraries. Then I manually investigated and fixed the following packages: - pycurl - citrix-workspace - ppp - wraith - unbound - gambit - acl2 I'm reasonably confindent in my fixes for all of them. For acl2, since the openssl library paths are manually provided above anyway, I don't think openssl is required separately as a build input at all. Removing it doesn't make a difference to the output size, the file list, or the closure. I've tested evaluation with the OfBorg meta checks, to protect against introducing evaluation failures.
2022-03-25 15:33:21 +00:00
PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto";
2019-12-05 04:00:19 +00:00
});
Rserve = old.Rserve.overrideAttrs (attrs: {
patches = [ ./patches/Rserve.patch ];
configureFlags = [
"--with-server" "--with-client"
];
});
V8 = old.V8.overrideAttrs (attrs: {
postPatch = ''
substituteInPlace configure \
--replace " -lv8_libplatform" ""
'';
preConfigure = ''
export INCLUDE_DIR=${pkgs.v8}/include
export LIB_DIR=${pkgs.v8}/lib
patchShebangs configure
'';
R_MAKEVARS_SITE = lib.optionalString (pkgs.stdenv.system == "aarch64-linux")
(pkgs.writeText "Makevars" ''
CXX14PICFLAGS = -fPIC
'');
});
acs = old.acs.overrideAttrs (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
gdtools = old.gdtools.overrideAttrs (attrs: {
preConfigure = ''
patchShebangs configure
'';
NIX_LDFLAGS = "-lfontconfig -lfreetype";
});
magick = old.magick.overrideAttrs (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
libgeos = old.libgeos.overrideAttrs (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
protolite = old.protolite.overrideAttrs (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
rpanel = old.rpanel.overrideAttrs (attrs: {
preConfigure = ''
export TCLLIBPATH="${pkgs.bwidget}/lib/bwidget${pkgs.bwidget.version}"
'';
TCLLIBPATH = "${pkgs.bwidget}/lib/bwidget${pkgs.bwidget.version}";
});
RPostgres = old.RPostgres.overrideAttrs (attrs: {
preConfigure = ''
export INCLUDE_DIR=${pkgs.postgresql}/include
export LIB_DIR=${pkgs.postgresql.lib}/lib
patchShebangs configure
'';
});
OpenMx = old.OpenMx.overrideAttrs (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
odbc = old.odbc.overrideAttrs (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
x13binary = old.x13binary.overrideAttrs (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
geojsonio = old.geojsonio.overrideAttrs (attrs: {
buildInputs = [ cacert ] ++ attrs.buildInputs;
});
rstan = old.rstan.overrideAttrs (attrs: {
env = (attrs.env or { }) // {
NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION";
};
});
mongolite = old.mongolite.overrideAttrs (attrs: {
2018-03-10 03:01:49 +00:00
preConfigure = ''
patchShebangs configure
'';
PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include -I${pkgs.cyrus_sasl.dev}/include -I${pkgs.zlib.dev}/include";
treewide: use lib.getLib for OpenSSL libraries At some point, I'd like to make another attempt at 71f1f4884b5 ("openssl: stop static binaries referencing libs"), which was reverted in 195c7da07df. One problem with my previous attempt is that I moved OpenSSL's libraries to a lib output, but many dependent packages were hardcoding the out output as the location of the libraries. This patch fixes every such case I could find in the tree. It won't have any effect immediately, but will mean these packages will automatically use an OpenSSL lib output if it is reintroduced in future. This patch should cause very few rebuilds, because it shouldn't make any change at all to most packages I'm touching. The few rebuilds that are introduced come from when I've changed a package builder not to use variable names like openssl.out in scripts / substitution patterns, which would be confusing since they don't hardcode the output any more. I started by making the following global replacements: ${pkgs.openssl.out}/lib -> ${lib.getLib pkgs.openssl}/lib ${openssl.out}/lib -> ${lib.getLib openssl}/lib Then I removed the ".out" suffix when part of the argument to lib.makeLibraryPath, since that function uses lib.getLib internally. Then I fixed up cases where openssl was part of the -L flag to the compiler/linker, since that unambigously is referring to libraries. Then I manually investigated and fixed the following packages: - pycurl - citrix-workspace - ppp - wraith - unbound - gambit - acl2 I'm reasonably confindent in my fixes for all of them. For acl2, since the openssl library paths are manually provided above anyway, I don't think openssl is required separately as a build input at all. Removing it doesn't make a difference to the output size, the file list, or the closure. I've tested evaluation with the OfBorg meta checks, to protect against introducing evaluation failures.
2022-03-25 15:33:21 +00:00
PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -L${pkgs.cyrus_sasl.out}/lib -L${pkgs.zlib.out}/lib -lssl -lcrypto -lsasl2 -lz";
2018-03-10 03:01:49 +00:00
});
ps = old.ps.overrideAttrs (attrs: {
preConfigure = "patchShebangs configure";
});
rlang = old.rlang.overrideAttrs (attrs: {
preConfigure = "patchShebangs configure";
});
systemfonts = old.systemfonts.overrideAttrs (attrs: {
preConfigure = "patchShebangs configure";
});
littler = old.littler.overrideAttrs (attrs: with pkgs; {
2021-03-14 18:12:53 +00: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
'';
});
lpsymphony = old.lpsymphony.overrideAttrs (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
sodium = old.sodium.overrideAttrs (attrs: with pkgs; {
2021-09-26 08:02:04 +00:00
preConfigure = ''
patchShebangs configure
'';
nativeBuildInputs = [ pkg-config ] ++ attrs.nativeBuildInputs;
buildInputs = [ libsodium.dev ] ++ attrs.buildInputs;
});
keyring = old.keyring.overrideAttrs (attrs: {
2021-10-11 20:42:01 +00:00
preConfigure = ''
patchShebangs configure
'';
});
Rhtslib = old.Rhtslib.overrideAttrs (attrs: {
preConfigure = ''
substituteInPlace R/zzz.R --replace "-lcurl" "-L${pkgs.curl.out}/lib -lcurl"
'';
});
h2o = old.h2o.overrideAttrs (attrs: {
preConfigure = ''
# prevent download of jar file during install and postpone to first use
sed -i '/downloadJar()/d' R/zzz.R
# during runtime the package directory is not writable as it's in the
# nix store, so store the jar in the user's cache directory instead
substituteInPlace R/connection.R --replace \
'dest_file <- file.path(dest_folder, "h2o.jar")' \
'dest_file <- file.path("~/.cache/", "h2o.jar")'
'';
});
SICtools = old.SICtools.overrideAttrs (attrs: {
preConfigure = ''
substituteInPlace src/Makefile --replace "-lcurses" "-lncurses"
'';
});
arrow = old.arrow.overrideAttrs (attrs: {
2021-11-03 22:04:28 +00:00
preConfigure = ''
patchShebangs configure
'';
});
2021-11-03 22:30:11 +00:00
2023-08-04 04:23:44 +00:00
ROracle = old.ROracle.overrideAttrs (attrs: {
configureFlags = [
"--with-oci-lib=${pkgs.oracle-instantclient.lib}/lib"
"--with-oci-inc=${pkgs.oracle-instantclient.dev}/include"
];
});
sparklyr = old.sparklyr.overrideAttrs (attrs: {
# Pyspark's spark is full featured and better maintained than pkgs.spark
preConfigure = ''
substituteInPlace R/zzz.R \
--replace ".onLoad <- function(...) {" \
".onLoad <- function(...) {
Sys.setenv(\"SPARK_HOME\" = Sys.getenv(\"SPARK_HOME\", unset = \"${pkgs.python3Packages.pyspark}/lib/${pkgs.python3Packages.python.libPrefix}/site-packages/pyspark\"))
Sys.setenv(\"JAVA_HOME\" = Sys.getenv(\"JAVA_HOME\", unset = \"${pkgs.jdk}\"))"
'';
});
proj4 = old.proj4.overrideAttrs (attrs: {
2021-11-03 22:30:11 +00:00
preConfigure = ''
substituteInPlace configure \
--replace "-lsqlite3" "-L${lib.makeLibraryPath [ pkgs.sqlite ]} -lsqlite3"
'';
});
2021-11-04 10:16:51 +00:00
rrd = old.rrd.overrideAttrs (attrs: {
2021-11-04 10:16:51 +00:00
preConfigure = ''
patchShebangs configure
'';
});
ChIPXpress = old.ChIPXpress.override { hydraPlatforms = []; };
2021-11-22 08:13:00 +00:00
rgl = old.rgl.overrideAttrs (attrs: {
2021-11-22 08:13:00 +00:00
RGL_USE_NULL = "true";
});
Rrdrand = old.Rrdrand.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; };
2021-12-07 08:18:05 +00:00
2023-08-13 22:39:35 +00:00
symengine = old.symengine.overrideAttrs (_: {
preConfigure = ''
rm configure
cat > src/Makevars << EOF
PKG_LIBS=-lsymengine
all: $(SHLIB)
EOF
'';
});
2021-12-06 22:04:29 +00:00
RandomFieldsUtils = old.RandomFieldsUtils.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; };
2021-12-07 08:18:05 +00:00
2021-12-06 22:21:17 +00:00
flowClust = old.flowClust.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; };
2022-01-07 03:17:54 +00:00
geomorph = old.geomorph.overrideAttrs (attrs: {
2022-01-07 03:17:54 +00:00
RGL_USE_NULL = "true";
});
Rhdf5lib = let
hdf5 = pkgs.hdf5_1_10.overrideAttrs (attrs: {configureFlags = attrs.configureFlags ++ ["--enable-cxx"];});
in old.Rhdf5lib.overrideAttrs (attrs: {
propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ hdf5.dev pkgs.libaec ];
patches = [ ./patches/Rhdf5lib.patch ];
passthru.hdf5 = hdf5;
});
rhdf5filters = old.rhdf5filters.overrideAttrs (attrs: {
propagatedBuildInputs = with pkgs; attrs.propagatedBuildInputs ++ [ (hdf5-blosc.override {hdf5 = self.Rhdf5lib.hdf5;}) ];
patches = [ ./patches/rhdf5filters.patch ];
});
rhdf5= old.rhdf5.overrideAttrs (attrs: {
patches = [ ./patches/rhdf5.patch ];
});
2023-08-13 03:08:37 +00:00
redland = old.redland.overrideAttrs (_: {
PKGCONFIG_CFLAGS="-I${pkgs.redland}/include -I${pkgs.librdf_raptor2}/include/raptor2 -I${pkgs.librdf_rasqal}/include/rasqal";
PKGCONFIG_LIBS="-L${pkgs.redland}/lib -L${pkgs.librdf_raptor2}/lib -L${pkgs.librdf_rasqal}/lib -lrdf -lraptor2 -lrasqal";
});
textshaping = old.textshaping.overrideAttrs (attrs: {
env.NIX_LDFLAGS = "-lfribidi -lharfbuzz";
});
2023-06-27 13:28:33 +00:00
2023-08-13 23:12:09 +00:00
ijtiff = old.ijtiff.overrideAttrs (_: {
preConfigure = ''
patchShebangs configure
'';
});
2023-06-27 13:28:33 +00:00
torch = old.torch.overrideAttrs (attrs: {
preConfigure = ''
patchShebangs configure
'';
});
};
in
self