1 /* This file defines the composition for CRAN (R) packages. */
3 { R, pkgs, overrides }:
6 inherit (pkgs) cacert fetchurl stdenv lib;
8 buildRPackage = pkgs.callPackage ./generic-builder.nix {
10 inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa Foundation;
11 inherit (pkgs) gettext gfortran;
14 # Generates package templates given per-repository settings
16 # some packages, e.g. cncaGUI, require X running while installation,
17 # so that we use xvfb-run if requireX is true.
18 mkDerive = {mkHomepage, mkUrls}: args:
19 lib.makeOverridable ({
20 name, version, sha256,
25 hydraPlatforms ? R.meta.hydraPlatforms
27 name = "${name}-${version}";
30 urls = mkUrls (args // { inherit name version; });
32 inherit doCheck requireX;
33 propagatedBuildInputs = depends;
34 nativeBuildInputs = depends;
35 meta.homepage = mkHomepage (args // { inherit name; });
36 meta.platforms = R.meta.platforms;
37 meta.hydraPlatforms = hydraPlatforms;
41 # Templates for generating Bioconductor and CRAN packages
42 # from the name, version, sha256, and optional per-package arguments above
44 deriveBioc = mkDerive {
45 mkHomepage = {name, biocVersion, ...}: "https://bioconductor.org/packages/${biocVersion}/bioc/html/${name}.html";
46 mkUrls = {name, version, biocVersion}: [ "mirror://bioc/${biocVersion}/bioc/src/contrib/${name}_${version}.tar.gz"
47 "mirror://bioc/${biocVersion}/bioc/src/contrib/Archive/${name}/${name}_${version}.tar.gz"
48 "mirror://bioc/${biocVersion}/bioc/src/contrib/Archive/${name}_${version}.tar.gz" ];
50 deriveBiocAnn = mkDerive {
51 mkHomepage = {name, ...}: "http://www.bioconductor.org/packages/${name}.html";
52 mkUrls = {name, version, biocVersion}: [ "mirror://bioc/${biocVersion}/data/annotation/src/contrib/${name}_${version}.tar.gz" ];
54 deriveBiocExp = mkDerive {
55 mkHomepage = {name, ...}: "http://www.bioconductor.org/packages/${name}.html";
56 mkUrls = {name, version, biocVersion}: [ "mirror://bioc/${biocVersion}/data/experiment/src/contrib/${name}_${version}.tar.gz" ];
58 deriveCran = mkDerive {
59 mkHomepage = {name, snapshot, ...}: "http://mran.revolutionanalytics.com/snapshot/${snapshot}/web/packages/${name}/";
60 mkUrls = {name, version, snapshot}: [ "http://mran.revolutionanalytics.com/snapshot/${snapshot}/src/contrib/${name}_${version}.tar.gz" ];
63 # Overrides package definitions with nativeBuildInputs.
66 # overrideNativeBuildInputs {
73 # foo = old.foo.overrideDerivation (attrs: {
74 # nativeBuildInputs = attrs.nativeBuildInputs ++ [ pkgs.bar ];
77 overrideNativeBuildInputs = overrides: old:
78 lib.mapAttrs (name: value:
79 (builtins.getAttr name old).overrideDerivation (attrs: {
80 nativeBuildInputs = attrs.nativeBuildInputs ++ value;
84 # Overrides package definitions with buildInputs.
87 # overrideBuildInputs {
94 # foo = old.foo.overrideDerivation (attrs: {
95 # buildInputs = attrs.buildInputs ++ [ pkgs.bar ];
98 overrideBuildInputs = overrides: old:
99 lib.mapAttrs (name: value:
100 (builtins.getAttr name old).overrideDerivation (attrs: {
101 buildInputs = attrs.buildInputs ++ value;
105 # Overrides package definitions with new R dependencies.
115 # foo = old.foo.overrideDerivation (attrs: {
116 # nativeBuildInputs = attrs.nativeBuildInputs ++ [ self.bar ];
117 # propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs ++ [ self.bar ];
120 overrideRDepends = overrides: old:
121 lib.mapAttrs (name: value:
122 (builtins.getAttr name old).overrideDerivation (attrs: {
123 nativeBuildInputs = attrs.nativeBuildInputs ++ value;
124 propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs ++ value;
128 # Overrides package definition requiring X running to install.
138 # foo = old.foo.override {
142 overrideRequireX = packageNames: old:
144 nameValuePairs = map (name: {
146 value = (builtins.getAttr name old).override {
151 builtins.listToAttrs nameValuePairs;
153 # Overrides package definition to skip check.
156 # overrideSkipCheck [
163 # foo = old.foo.override {
167 overrideSkipCheck = packageNames: old:
169 nameValuePairs = map (name: {
171 value = (builtins.getAttr name old).override {
176 builtins.listToAttrs nameValuePairs;
178 # Overrides package definition to mark it broken.
188 # foo = old.foo.override {
192 overrideBroken = packageNames: old:
194 nameValuePairs = map (name: {
196 value = (builtins.getAttr name old).override {
201 builtins.listToAttrs nameValuePairs;
203 defaultOverrides = old: new:
206 old1 = old0 // (overrideRequireX packagesRequireingX old0);
207 old2 = old1 // (overrideSkipCheck packagesToSkipCheck old1);
208 old3 = old2 // (overrideRDepends packagesWithRDepends old2);
209 old4 = old3 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old3);
210 old5 = old4 // (overrideBuildInputs packagesWithBuildInputs old4);
211 old6 = old5 // (overrideBroken brokenPackages old5);
213 in old // (otherOverrides old new);
215 # Recursive override pattern.
216 # `_self` is a collection of packages;
217 # `self` is `_self` with overridden packages;
218 # packages in `_self` may depends on overridden packages.
219 self = (defaultOverrides _self self) // overrides;
220 _self = { inherit buildRPackage; } //
221 import ./bioc-packages.nix { inherit self; derive = deriveBioc; } //
222 import ./bioc-annotation-packages.nix { inherit self; derive = deriveBiocAnn; } //
223 import ./bioc-experiment-packages.nix { inherit self; derive = deriveBiocExp; } //
224 import ./cran-packages.nix { inherit self; derive = deriveCran; };
226 # tweaks for the individual packages and "in self" follow
228 packagesWithRDepends = {
229 FactoMineR = [ self.car ];
230 pander = [ self.codetools ];
233 packagesWithNativeBuildInputs = {
234 arrow = [ pkgs.pkg-config pkgs.arrow-cpp ];
235 adimpro = [ pkgs.imagemagick ];
236 animation = [ pkgs.which ];
237 audio = [ pkgs.portaudio ];
238 BayesSAE = [ pkgs.gsl_1 ];
239 BayesVarSel = [ pkgs.gsl_1 ];
240 BayesXsrc = [ pkgs.readline.dev pkgs.ncurses ];
241 bigGP = [ pkgs.mpi ];
242 bio3d = [ pkgs.zlib ];
243 BiocCheck = [ pkgs.which ];
244 Biostrings = [ pkgs.zlib ];
245 bnpmr = [ pkgs.gsl_1 ];
246 cairoDevice = [ pkgs.gtk2.dev ];
247 Cairo = [ pkgs.libtiff pkgs.libjpeg pkgs.cairo.dev pkgs.x11 pkgs.fontconfig.lib ];
248 Cardinal = [ pkgs.which ];
249 chebpol = [ pkgs.fftw ];
250 ChemmineOB = [ pkgs.openbabel pkgs.pkg-config ];
251 cit = [ pkgs.gsl_1 ];
252 curl = [ pkgs.curl.dev ];
253 data_table = [pkgs.zlib.dev] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
254 devEMF = [ pkgs.xorg.libXft.dev pkgs.x11 ];
255 diversitree = [ pkgs.gsl_1 pkgs.fftw ];
256 EMCluster = [ pkgs.lapack ];
257 fftw = [ pkgs.fftw.dev ];
258 fftwtools = [ pkgs.fftw.dev ];
259 Formula = [ pkgs.gmp ];
260 gdtools = [ pkgs.cairo.dev pkgs.fontconfig.lib pkgs.freetype.dev ];
261 git2r = [ pkgs.zlib.dev pkgs.openssl.dev pkgs.libssh2.dev pkgs.libgit2 pkgs.pkg-config ];
262 GLAD = [ pkgs.gsl_1 ];
263 glpkAPI = [ pkgs.gmp pkgs.glpk ];
264 gmp = [ pkgs.gmp.dev ];
265 graphscan = [ pkgs.gsl_1 ];
266 gsl = [ pkgs.gsl_1 ];
267 gert = [ pkgs.libgit2 ];
268 haven = [ pkgs.libiconv pkgs.zlib.dev ];
269 h5vc = [ pkgs.zlib.dev ];
270 HiCseg = [ pkgs.gsl_1 ];
271 imager = [ pkgs.x11 ];
272 iBMQ = [ pkgs.gsl_1 ];
273 igraph = [ pkgs.gmp pkgs.libxml2.dev ];
274 JavaGD = [ pkgs.jdk ];
275 jpeg = [ pkgs.libjpeg.dev ];
276 jqr = [ pkgs.jq.dev ];
277 KFKSDS = [ pkgs.gsl_1 ];
278 kza = [ pkgs.fftw.dev ];
279 magick = [ pkgs.imagemagick.dev ];
280 ModelMetrics = lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
281 mvabund = [ pkgs.gsl_1 ];
282 mwaved = [ pkgs.fftw.dev ];
283 ncdf4 = [ pkgs.netcdf ];
284 nloptr = [ pkgs.nlopt pkgs.pkg-config ];
285 n1qn1 = [ pkgs.gfortran ];
286 odbc = [ pkgs.unixODBC ];
287 pander = [ pkgs.pandoc pkgs.which ];
288 pbdMPI = [ pkgs.mpi ];
289 pbdPROF = [ pkgs.mpi ];
290 pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.which ];
291 pdftools = [ pkgs.poppler.dev ];
292 phytools = [ pkgs.which ];
293 PKI = [ pkgs.openssl.dev ];
294 png = [ pkgs.libpng.dev ];
295 proj4 = [ pkgs.proj ];
296 protolite = [ pkgs.protobuf ];
297 R2SWF = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ];
298 RAppArmor = [ pkgs.libapparmor ];
299 rapportools = [ pkgs.which ];
300 rapport = [ pkgs.which ];
301 readxl = [ pkgs.libiconv ];
302 rcdd = [ pkgs.gmp.dev ];
303 RcppCNPy = [ pkgs.zlib.dev ];
304 RcppGSL = [ pkgs.gsl_1 ];
305 RcppZiggurat = [ pkgs.gsl_1 ];
306 reprex = [ pkgs.which ];
307 rgdal = [ pkgs.proj.dev pkgs.gdal ];
308 rgeos = [ pkgs.geos ];
309 Rglpk = [ pkgs.glpk ];
310 RGtk2 = [ pkgs.gtk2.dev ];
311 rhdf5 = [ pkgs.zlib ];
312 Rhdf5lib = [ pkgs.zlib ];
313 Rhpc = [ pkgs.zlib pkgs.bzip2.dev pkgs.icu pkgs.xz.dev pkgs.mpi pkgs.pcre.dev ];
314 Rhtslib = [ pkgs.zlib.dev pkgs.automake pkgs.autoconf pkgs.bzip2.dev pkgs.xz.dev pkgs.curl.dev ];
315 rjags = [ pkgs.jags ];
316 rJava = [ pkgs.zlib pkgs.bzip2.dev pkgs.icu pkgs.xz.dev pkgs.pcre.dev pkgs.jdk pkgs.libzip ];
317 Rlibeemd = [ pkgs.gsl_1 ];
318 rmatio = [ pkgs.zlib.dev ];
319 Rmpfr = [ pkgs.gmp pkgs.mpfr.dev ];
321 RMySQL = [ pkgs.zlib pkgs.libmysqlclient pkgs.openssl.dev ];
322 RNetCDF = [ pkgs.netcdf pkgs.udunits ];
323 RODBC = [ pkgs.libiodbc ];
324 rpanel = [ pkgs.bwidget ];
325 rpg = [ pkgs.postgresql ];
326 Rpoppler = [ pkgs.poppler ];
327 RPostgreSQL = [ pkgs.postgresql pkgs.postgresql ];
328 RProtoBuf = [ pkgs.protobuf ];
329 RSclient = [ pkgs.openssl.dev ];
330 Rserve = [ pkgs.openssl ];
331 Rssa = [ pkgs.fftw.dev ];
332 rtiff = [ pkgs.libtiff.dev ];
333 runjags = [ pkgs.jags ];
334 RVowpalWabbit = [ pkgs.zlib.dev pkgs.boost ];
335 rzmq = [ pkgs.zeromq pkgs.pkg-config ];
336 clustermq = [ pkgs.zeromq ];
337 SAVE = [ pkgs.zlib pkgs.bzip2 pkgs.icu pkgs.xz pkgs.pcre ];
338 sdcTable = [ pkgs.gmp pkgs.glpk ];
339 seewave = [ pkgs.fftw.dev pkgs.libsndfile.dev ];
340 seqinr = [ pkgs.zlib.dev ];
341 seqminer = [ pkgs.zlib.dev pkgs.bzip2 ];
342 sf = [ pkgs.gdal pkgs.proj pkgs.geos ];
343 showtext = [ pkgs.zlib pkgs.libpng pkgs.icu pkgs.freetype.dev ];
344 simplexreg = [ pkgs.gsl_1 ];
345 spate = [ pkgs.fftw.dev ];
346 ssanv = [ pkgs.proj ];
347 stsm = [ pkgs.gsl_1 ];
348 stringi = [ pkgs.icu.dev ];
349 survSNP = [ pkgs.gsl_1 ];
350 sysfonts = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ];
351 systemfonts = [ pkgs.fontconfig.dev pkgs.freetype.dev ];
352 TAQMNGR = [ pkgs.zlib.dev ];
353 tesseract = [ pkgs.tesseract pkgs.leptonica ];
354 tiff = [ pkgs.libtiff.dev ];
355 tkrplot = [ pkgs.xorg.libX11 pkgs.tk.dev ];
356 topicmodels = [ pkgs.gsl_1 ];
357 udunits2 = [ pkgs.udunits pkgs.expat ];
358 units = [ pkgs.udunits ];
360 XBRL = [ pkgs.zlib pkgs.libxml2.dev ];
361 xml2 = [ pkgs.libxml2.dev ] ++ lib.optionals stdenv.isDarwin [ pkgs.perl ];
362 XML = [ pkgs.libtool pkgs.libxml2.dev pkgs.xmlsec pkgs.libxslt ];
363 affyPLM = [ pkgs.zlib.dev ];
364 bamsignals = [ pkgs.zlib.dev ];
365 BitSeq = [ pkgs.zlib.dev ];
366 DiffBind = [ pkgs.zlib ];
367 ShortRead = [ pkgs.zlib.dev ];
368 oligo = [ pkgs.zlib.dev ];
369 gmapR = [ pkgs.zlib.dev ];
370 Rsubread = [ pkgs.zlib.dev ];
371 XVector = [ pkgs.zlib.dev ];
372 Rsamtools = [ pkgs.zlib.dev pkgs.curl.dev ];
373 rtracklayer = [ pkgs.zlib.dev ];
374 affyio = [ pkgs.zlib.dev ];
375 VariantAnnotation = [ pkgs.zlib.dev pkgs.curl.dev ];
376 snpStats = [ pkgs.zlib.dev ];
379 packagesWithBuildInputs = {
381 gam = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
382 quantreg = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
383 rmutil = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
384 robustbase = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
385 SparseM = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
386 hexbin = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
387 svKomodo = [ pkgs.which ];
388 nat = [ pkgs.which ];
389 nat_templatebrains = [ pkgs.which ];
390 pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.darwin.binutils ];
391 clustermq = [ pkgs.pkg-config ];
392 RMark = [ pkgs.which ];
393 RPushbullet = [ pkgs.which ];
394 RcppEigen = [ pkgs.libiconv ];
395 RCurl = [ pkgs.curl.dev ];
396 R2SWF = [ pkgs.pkg-config ];
397 rgl = [ pkgs.libGLU pkgs.libGLU.dev pkgs.libGL pkgs.xlibsWrapper ];
398 RGtk2 = [ pkgs.pkg-config ];
399 RProtoBuf = [ pkgs.pkg-config ];
400 Rpoppler = [ pkgs.pkg-config ];
401 XML = [ pkgs.pkg-config ];
402 cairoDevice = [ pkgs.pkg-config ];
403 chebpol = [ pkgs.pkg-config ];
404 fftw = [ pkgs.pkg-config ];
405 gdtools = [ pkgs.pkg-config ];
406 jqr = [ pkgs.jq.lib ];
407 kza = [ pkgs.pkg-config ];
408 magick = [ pkgs.pkg-config ];
409 mwaved = [ pkgs.pkg-config ];
410 odbc = [ pkgs.pkg-config ];
411 openssl = [ pkgs.pkg-config ];
412 pdftools = [ pkgs.pkg-config ];
413 sf = [ pkgs.pkg-config pkgs.sqlite.dev pkgs.proj.dev ];
414 showtext = [ pkgs.pkg-config ];
415 spate = [ pkgs.pkg-config ];
416 stringi = [ pkgs.pkg-config ];
417 sysfonts = [ pkgs.pkg-config ];
418 systemfonts = [ pkgs.pkg-config ];
419 tesseract = [ pkgs.pkg-config ];
420 Cairo = [ pkgs.pkg-config ];
421 CLVTools = [ pkgs.gsl ];
422 JMcmprsk = [ pkgs.gsl ];
423 mashr = [ pkgs.gsl ];
424 hadron = [ pkgs.gsl ];
425 AMOUNTAIN = [ pkgs.gsl ];
426 Rsymphony = [ pkgs.pkg-config pkgs.doxygen pkgs.graphviz pkgs.subversion ];
427 tcltk2 = [ pkgs.tcl pkgs.tk ];
428 tikzDevice = [ pkgs.which pkgs.texlive.combined.scheme-medium ];
429 gridGraphics = [ pkgs.which ];
430 adimpro = [ pkgs.which pkgs.xorg.xdpyinfo ];
431 mzR = [ pkgs.netcdf ];
432 cluster = [ pkgs.libiconv ];
433 KernSmooth = [ pkgs.libiconv ];
434 nlme = [ pkgs.libiconv ];
435 Matrix = [ pkgs.libiconv ];
436 mgcv = [ pkgs.libiconv ];
437 minqa = [ pkgs.libiconv ];
438 igraph = [ pkgs.libiconv ];
439 ape = [ pkgs.libiconv ];
440 expm = [ pkgs.libiconv ];
441 mnormt = [ pkgs.libiconv ];
442 pan = [ pkgs.libiconv ];
443 phangorn = [ pkgs.libiconv ];
444 quadprog = [ pkgs.libiconv ];
445 randomForest = [ pkgs.libiconv ];
446 sundialr = [ pkgs.libiconv ];
447 ucminf = [ pkgs.libiconv ];
448 glmnet = [ pkgs.libiconv ];
449 mvtnorm = [ pkgs.libiconv ];
450 statmod = [ pkgs.libiconv ];
453 packagesRequireingX = [
475 "CommunityCorrelogram"
478 "ConvergenceConcepts"
483 "DeducerPlugInExample"
484 "DeducerPlugInScaling"
547 "OligoSpecificitySystem"
574 "RcmdrPlugin_depthTools"
576 "RcmdrPlugin_EACSPIR"
578 "RcmdrPlugin_EcoVirtual"
580 "RcmdrPlugin_FactoMineR"
583 "RcmdrPlugin_KMggplot2"
586 "RcmdrPlugin_MPAStats"
588 "RcmdrPlugin_plotByGroup"
591 "RcmdrPlugin_sampling"
595 "RcmdrPlugin_steepness"
596 "RcmdrPlugin_survival"
597 "RcmdrPlugin_TeachingDemos"
634 "TTAinterfaceTrendAnalysis"
644 packagesToSkipCheck = [
645 "Rmpi" # tries to run MPI processes
646 "pbdMPI" # tries to run MPI processes
647 "data_table" # fails to rename shared library before check
650 # Packages which cannot be installed due to lack of dependencies or other reasons.
654 otherOverrides = old: new: {
655 stringi = old.stringi.overrideDerivation (attrs: {
657 icuName = "icudt52l";
658 icuSrc = pkgs.fetchzip {
659 url = "http://static.rexamine.com/packages/${icuName}.zip";
660 sha256 = "0hvazpizziq5ibc9017i1bb45yryfl26wzfsv05vk9mc1575r6xj";
664 ${attrs.postInstall or ""}
665 cp ${icuSrc}/${icuName}.dat $out/library/stringi/libs
669 xml2 = old.xml2.overrideDerivation (attrs: {
671 export LIBXML_INCDIR=${pkgs.libxml2.dev}/include/libxml2
672 patchShebangs configure
676 rzmq = old.rzmq.overrideDerivation (attrs: {
677 preConfigure = "patchShebangs configure";
680 clustermq = old.clustermq.overrideDerivation (attrs: {
681 preConfigure = "patchShebangs configure";
684 Cairo = old.Cairo.overrideDerivation (attrs: {
685 NIX_LDFLAGS = "-lfontconfig";
688 curl = old.curl.overrideDerivation (attrs: {
689 preConfigure = "patchShebangs configure";
692 RcppParallel = old.RcppParallel.overrideDerivation (attrs: {
693 preConfigure = "patchShebangs configure";
696 ggbio = old.ggbio.overrideDerivation (attrs: {
699 url = "https://github.com/tengfei/ggbio/commit/b04a9840cf5c0bd0514db2536f2e610bbd364727.patch";
700 sha256 = "blwtObyIYo1UBWz4nlmcJ8Nyw/n0qwmJrtwFWuoUyMg=";
705 RcppArmadillo = old.RcppArmadillo.overrideDerivation (attrs: {
706 patchPhase = "patchShebangs configure";
709 data_table = old.data_table.overrideDerivation (attrs: {
710 NIX_CFLAGS_COMPILE = attrs.NIX_CFLAGS_COMPILE + " -fopenmp";
711 patchPhase = "patchShebangs configure";
714 ModelMetrics = old.ModelMetrics.overrideDerivation (attrs: {
715 NIX_CFLAGS_COMPILE = attrs.NIX_CFLAGS_COMPILE
716 + lib.optionalString stdenv.isDarwin " -fopenmp";
719 rpf = old.rpf.overrideDerivation (attrs: {
720 patchPhase = "patchShebangs configure";
723 BayesXsrc = old.BayesXsrc.overrideDerivation (attrs: {
724 patches = [ ./patches/BayesXsrc.patch ];
727 Rhdf5lib = old.Rhdf5lib.overrideDerivation (attrs: {
728 patches = [ ./patches/Rhdf5lib.patch ];
731 rJava = old.rJava.overrideDerivation (attrs: {
733 export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/
734 export JAVA_HOME=${pkgs.jdk}
738 JavaGD = old.JavaGD.overrideDerivation (attrs: {
740 export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/
741 export JAVA_HOME=${pkgs.jdk}
745 jqr = old.jqr.overrideDerivation (attrs: {
747 patchShebangs configure
751 pbdZMQ = old.pbdZMQ.overrideDerivation (attrs: {
752 postPatch = lib.optionalString stdenv.isDarwin ''
753 for file in R/*.{r,r.in}; do
754 sed -i 's#system("which \(\w\+\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file
759 Rmpi = old.Rmpi.overrideDerivation (attrs: {
761 "--with-Rmpi-type=OPENMPI"
765 Rmpfr = old.Rmpfr.overrideDerivation (attrs: {
767 "--with-mpfr-include=${pkgs.mpfr.dev}/include"
771 RVowpalWabbit = old.RVowpalWabbit.overrideDerivation (attrs: {
773 "--with-boost=${pkgs.boost.dev}" "--with-boost-libdir=${pkgs.boost.out}/lib"
777 RAppArmor = old.RAppArmor.overrideDerivation (attrs: {
778 patches = [ ./patches/RAppArmor.patch ];
779 LIBAPPARMOR_HOME = pkgs.libapparmor;
782 RMySQL = old.RMySQL.overrideDerivation (attrs: {
783 MYSQL_DIR="${pkgs.libmysqlclient}";
785 patchShebangs configure
789 devEMF = old.devEMF.overrideDerivation (attrs: {
790 NIX_CFLAGS_LINK = "-L${pkgs.xorg.libXft.out}/lib -lXft";
791 NIX_LDFLAGS = "-lX11";
794 slfm = old.slfm.overrideDerivation (attrs: {
795 PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack";
798 SamplerCompare = old.SamplerCompare.overrideDerivation (attrs: {
799 PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack";
802 EMCluster = old.EMCluster.overrideDerivation (attrs: {
803 patches = [ ./patches/EMCluster.patch ];
806 spMC = old.spMC.overrideDerivation (attrs: {
807 patches = [ ./patches/spMC.patch ];
810 openssl = old.openssl.overrideDerivation (attrs: {
812 patchShebangs configure
814 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
815 PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -lssl -lcrypto";
818 websocket = old.websocket.overrideDerivation (attrs: {
819 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
820 PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -lssl -lcrypto";
823 Rserve = old.Rserve.overrideDerivation (attrs: {
824 patches = [ ./patches/Rserve.patch ];
826 "--with-server" "--with-client"
830 nloptr = old.nloptr.overrideDerivation (attrs: {
831 # Drop bundled nlopt source code. Probably unnecessary, but I want to be
832 # sure we're using the system library, not this one.
833 preConfigure = "rm -r src/nlopt_src";
836 V8 = old.V8.overrideDerivation (attrs: {
838 substituteInPlace configure \
839 --replace " -lv8_libplatform" ""
843 export INCLUDE_DIR=${pkgs.v8}/include
844 export LIB_DIR=${pkgs.v8}/lib
845 patchShebangs configure
849 acs = old.acs.overrideDerivation (attrs: {
851 patchShebangs configure
855 gdtools = old.gdtools.overrideDerivation (attrs: {
857 patchShebangs configure
859 NIX_LDFLAGS = "-lfontconfig -lfreetype";
862 magick = old.magick.overrideDerivation (attrs: {
864 patchShebangs configure
868 libgeos = old.libgeos.overrideDerivation (attrs: {
870 patchShebangs configure
874 protolite = old.protolite.overrideDerivation (attrs: {
876 patchShebangs configure
880 rpanel = old.rpanel.overrideDerivation (attrs: {
882 export TCLLIBPATH="${pkgs.bwidget}/lib/bwidget${pkgs.bwidget.version}"
884 TCLLIBPATH = "${pkgs.bwidget}/lib/bwidget${pkgs.bwidget.version}";
887 RPostgres = old.RPostgres.overrideDerivation (attrs: {
889 export INCLUDE_DIR=${pkgs.postgresql}/include
890 export LIB_DIR=${pkgs.postgresql.lib}/lib
891 patchShebangs configure
895 OpenMx = old.OpenMx.overrideDerivation (attrs: {
897 patchShebangs configure
901 odbc = old.odbc.overrideDerivation (attrs: {
903 patchShebangs configure
907 x13binary = old.x13binary.overrideDerivation (attrs: {
909 patchShebangs configure
913 geojsonio = old.geojsonio.overrideDerivation (attrs: {
914 buildInputs = [ cacert ] ++ attrs.buildInputs;
917 rstan = old.rstan.overrideDerivation (attrs: {
918 NIX_CFLAGS_COMPILE = "${attrs.NIX_CFLAGS_COMPILE} -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION";
921 mongolite = old.mongolite.overrideDerivation (attrs: {
923 patchShebangs configure
925 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include -I${pkgs.cyrus_sasl.dev}/include -I${pkgs.zlib.dev}/include";
926 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";
929 ps = old.ps.overrideDerivation (attrs: {
930 preConfigure = "patchShebangs configure";
933 rlang = old.rlang.overrideDerivation (attrs: {
934 preConfigure = "patchShebangs configure";
937 systemfonts = old.systemfonts.overrideDerivation (attrs: {
938 preConfigure = "patchShebangs configure";
941 littler = old.littler.overrideAttrs (attrs: with pkgs; {
942 buildInputs = [ pcre xz zlib bzip2 icu which ] ++ attrs.buildInputs;
944 install -d $out/bin $out/share/man/man1
945 ln -s ../library/littler/bin/r $out/bin/r
946 ln -s ../library/littler/bin/r $out/bin/lr
947 ln -s ../../../library/littler/man-page/r.1 $out/share/man/man1
948 # these won't run without special provisions, so better remove them
949 rm -r $out/library/littler/script-tests