1 /* This file defines the composition for R packages. */
4 importJSON = f: builtins.fromJSON (builtins.readFile f);
6 biocPackagesGenerated = importJSON ./bioc-packages.json;
7 biocAnnotationPackagesGenerated = importJSON ./bioc-annotation-packages.json;
8 biocExperimentPackagesGenerated = importJSON ./bioc-experiment-packages.json;
9 cranPackagesGenerated = importJSON ./cran-packages.json;
12 { R, pkgs, overrides }:
15 inherit (pkgs) cacert fetchurl stdenv lib;
17 buildRPackage = pkgs.callPackage ./generic-builder.nix {
19 inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa Foundation;
20 inherit (pkgs) gettext gfortran;
23 # Generates package templates given per-repository settings
25 # some packages, e.g. cncaGUI, require X running while installation,
26 # so that we use xvfb-run if requireX is true.
27 mkDerive = {mkHomepage, mkUrls, hydraPlatforms ? null}: args:
28 let hydraPlatforms' = hydraPlatforms; in
29 lib.makeOverridable ({
30 name, version, sha256,
35 platforms ? R.meta.platforms,
36 hydraPlatforms ? if hydraPlatforms' != null then hydraPlatforms' else platforms,
39 name = "${name}-${version}";
42 urls = mkUrls (args // { inherit name version; });
44 inherit doCheck requireX;
45 propagatedBuildInputs = depends;
46 nativeBuildInputs = depends;
47 meta.homepage = mkHomepage (args // { inherit name; });
48 meta.platforms = platforms;
49 meta.hydraPlatforms = hydraPlatforms;
51 meta.maintainers = maintainers;
54 # Templates for generating Bioconductor and CRAN packages
55 # from the name, version, sha256, and optional per-package arguments above
57 deriveBioc = mkDerive {
58 mkHomepage = {name, biocVersion}: "https://bioconductor.org/packages/${biocVersion}/bioc/html/${name}.html";
59 mkUrls = {name, version, biocVersion}: [
60 "mirror://bioc/${biocVersion}/bioc/src/contrib/${name}_${version}.tar.gz"
61 "mirror://bioc/${biocVersion}/bioc/src/contrib/Archive/${name}/${name}_${version}.tar.gz"
62 "mirror://bioc/${biocVersion}/bioc/src/contrib/Archive/${name}_${version}.tar.gz"
65 deriveBiocAnn = mkDerive {
66 mkHomepage = {name, ...}: "http://www.bioconductor.org/packages/${name}.html";
67 mkUrls = {name, version, biocVersion}: [
68 "mirror://bioc/${biocVersion}/data/annotation/src/contrib/${name}_${version}.tar.gz"
72 deriveBiocExp = mkDerive {
73 mkHomepage = {name, ...}: "http://www.bioconductor.org/packages/${name}.html";
74 mkUrls = {name, version, biocVersion}: [
75 "mirror://bioc/${biocVersion}/data/experiment/src/contrib/${name}_${version}.tar.gz"
79 deriveCran = mkDerive {
80 mkHomepage = {name}: "https://cran.r-project.org/web/packages/${name}/";
81 mkUrls = {name, version}: [
82 "mirror://cran/${name}_${version}.tar.gz"
83 "mirror://cran/Archive/${name}/${name}_${version}.tar.gz"
87 # Overrides package definitions with nativeBuildInputs.
90 # overrideNativeBuildInputs {
97 # foo = old.foo.overrideAttrs (attrs: {
98 # nativeBuildInputs = attrs.nativeBuildInputs ++ [ pkgs.bar ];
101 overrideNativeBuildInputs = overrides: old:
102 lib.mapAttrs (name: value:
103 (builtins.getAttr name old).overrideAttrs (attrs: {
104 nativeBuildInputs = attrs.nativeBuildInputs ++ value;
108 # Overrides package definitions with buildInputs.
111 # overrideBuildInputs {
118 # foo = old.foo.overrideAttrs (attrs: {
119 # buildInputs = attrs.buildInputs ++ [ pkgs.bar ];
122 overrideBuildInputs = overrides: old:
123 lib.mapAttrs (name: value:
124 (builtins.getAttr name old).overrideAttrs (attrs: {
125 buildInputs = attrs.buildInputs ++ value;
129 # Overrides package definitions with maintainers.
132 # overrideMaintainers {
133 # foo = [ lib.maintainers.jsmith ]
139 # foo = old.foo.override {
140 # maintainers = [ lib.maintainers.jsmith ];
143 overrideMaintainers = overrides: old:
144 lib.mapAttrs (name: value:
145 (builtins.getAttr name old).override {
149 # Overrides package definitions with new R dependencies.
159 # foo = old.foo.overrideAttrs (attrs: {
160 # nativeBuildInputs = attrs.nativeBuildInputs ++ [ self.bar ];
161 # propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs ++ [ self.bar ];
164 overrideRDepends = overrides: old:
165 lib.mapAttrs (name: value:
166 (builtins.getAttr name old).overrideAttrs (attrs: {
167 nativeBuildInputs = (attrs.nativeBuildInputs or []) ++ value;
168 propagatedNativeBuildInputs = (attrs.propagatedNativeBuildInputs or []) ++ value;
172 # Overrides package definition requiring X running to install.
182 # foo = old.foo.override {
186 overrideRequireX = packageNames: old:
188 nameValuePairs = map (name: {
190 value = (builtins.getAttr name old).override {
195 builtins.listToAttrs nameValuePairs;
197 # Overrides package definition requiring a home directory to install or to
201 # overrideRequireHome [
208 # foo = old.foo.overrideAttrs (oldAttrs: {
210 # ${oldAttrs.preInstall or ""}
211 # export HOME=$(mktemp -d)
215 overrideRequireHome = packageNames: old:
217 nameValuePairs = map (name: {
219 value = (builtins.getAttr name old).overrideAttrs (oldAttrs: {
221 ${oldAttrs.preInstall or ""}
222 export HOME=$(mktemp -d)
227 builtins.listToAttrs nameValuePairs;
229 # Overrides package definition to skip check.
232 # overrideSkipCheck [
239 # foo = old.foo.override {
243 overrideSkipCheck = packageNames: old:
245 nameValuePairs = map (name: {
247 value = (builtins.getAttr name old).override {
252 builtins.listToAttrs nameValuePairs;
254 # Overrides package definition to mark it broken.
264 # foo = old.foo.override {
268 overrideBroken = packageNames: old:
270 nameValuePairs = map (name: {
272 value = (builtins.getAttr name old).override {
277 builtins.listToAttrs nameValuePairs;
279 defaultOverrides = old: new:
282 old1 = old0 // (overrideRequireX packagesRequiringX old0);
283 old2 = old1 // (overrideRequireHome packagesRequiringHome old1);
284 old3 = old2 // (overrideSkipCheck packagesToSkipCheck old2);
285 old4 = old3 // (overrideRDepends packagesWithRDepends old3);
286 old5 = old4 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old4);
287 old6 = old5 // (overrideBuildInputs packagesWithBuildInputs old5);
288 old7 = old6 // (overrideBroken brokenPackages old6);
289 old8 = old7 // (overrideMaintainers packagesWithMaintainers old7);
291 in old // (otherOverrides old new);
293 # Recursive override pattern.
294 # `_self` is a collection of packages;
295 # `self` is `_self` with overridden packages;
296 # packages in `_self` may depends on overridden packages.
297 self = (defaultOverrides _self self) // overrides;
298 _self = { inherit buildRPackage; } //
299 mkPackageSet deriveBioc biocPackagesGenerated //
300 mkPackageSet deriveBiocAnn biocAnnotationPackagesGenerated //
301 mkPackageSet deriveBiocExp biocExperimentPackagesGenerated //
302 mkPackageSet deriveCran cranPackagesGenerated;
304 # Takes in a generated JSON file's imported contents
305 # and transforms it by swapping each element of the depends array with the dependency's derivation
306 # and passing this new object to the provided derive function
307 mkPackageSet = derive: packagesJSON: lib.mapAttrs (
308 k: v: derive packagesJSON.extraArgs (v // { depends = lib.map (name: builtins.getAttr name self) v.depends; })
309 ) packagesJSON.packages;
312 # tweaks for the individual packages and "in self" follow
314 packagesWithMaintainers = with lib.maintainers; {
315 data_table = [ jbedo ];
316 BiocManager = [ jbedo ];
319 svaRetro = [ jbedo ];
320 StructuralVariantAnnotation = [ jbedo ];
321 RQuantLib = [ kupac ];
324 packagesWithRDepends = {
325 spectralGraphTopology = [ self.CVXR ];
326 FactoMineR = [ self.car ];
327 pander = [ self.codetools ];
328 rmsb = [ self.rstantools ];
329 gastempt = [ self.rstantools ];
330 interactiveDisplay = [ self.BiocManager ];
331 disbayes = [ self.rstantools ];
332 tipsae = [ self.rstantools ];
333 TriDimRegression = [ self.rstantools ];
334 bbmix = [ self.rstantools ];
337 packagesWithNativeBuildInputs = {
338 adbcpostgresql = [ pkgs.postgresql ];
339 adimpro = [ pkgs.imagemagick ];
340 animation = [ pkgs.which ];
341 Apollonius = with pkgs; [ pkg-config gmp.dev mpfr.dev ];
342 arrow = with pkgs; [ pkg-config cmake ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ intltool ];
343 alcyon = with pkgs; [ cmake which ];
344 audio = [ pkgs.portaudio ];
345 BayesSAE = [ pkgs.gsl ];
346 BayesVarSel = [ pkgs.gsl ];
347 BayesXsrc = with pkgs; [ readline.dev ncurses gsl ];
348 bioacoustics = [ pkgs.fftw.dev pkgs.cmake ];
349 bigGP = [ pkgs.mpi ];
350 bigrquerystorage = with pkgs; [ grpc protobuf which ];
351 bio3d = [ pkgs.zlib ];
352 BiocCheck = [ pkgs.which ];
353 Biostrings = [ pkgs.zlib ];
354 CellBarcode = [ pkgs.zlib ];
355 cld3 = [ pkgs.protobuf ];
356 cpp11qpdf = with pkgs; [ zlib.dev libjpeg ];
357 bnpmr = [ pkgs.gsl ];
358 caviarpd = [ pkgs.cargo ];
359 cairoDevice = [ pkgs.gtk2.dev ];
360 Cairo = with pkgs; [ libtiff libjpeg cairo.dev xorg.libXt.dev fontconfig.lib ];
361 Cardinal = [ pkgs.which ];
362 chebpol = [ pkgs.fftw.dev ];
363 ChemmineOB = [ pkgs.pkg-config ];
364 interpolation = [ pkgs.pkg-config ];
365 clarabel = [ pkgs.cargo ];
366 curl = [ pkgs.curl.dev ];
367 CytoML = [ pkgs.libxml2.dev ];
368 data_table = with pkgs; [ pkg-config zlib.dev ] ++ lib.optional stdenv.hostPlatform.isDarwin pkgs.llvmPackages.openmp;
369 devEMF = with pkgs; [ xorg.libXft.dev ];
370 diversitree = with pkgs; [ gsl fftw ];
371 exactextractr = [ pkgs.geos ];
372 EMCluster = [ pkgs.lapack ];
373 fangs = [ pkgs.cargo ];
374 fastpng = [ pkgs.zlib.dev ];
375 fcl = [ pkgs.cargo ];
376 fftw = [ pkgs.fftw.dev ];
377 fftwtools = with pkgs; [ fftw.dev pkg-config ];
378 fingerPro = [ pkgs.gsl ];
379 Formula = [ pkgs.gmp ];
380 frailtyMMpen = [ pkgs.gsl ];
381 gamstransfer = [ pkgs.zlib ];
382 gdalraster = [ pkgs.pkg-config ];
383 gdtools = with pkgs; [ cairo.dev fontconfig.lib freetype.dev ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ expat xorg.libXdmcp ];
384 GeneralizedWendland = [ pkgs.gsl ];
385 ggiraph = with pkgs; [ pkgs.libpng.dev ];
386 git2r = with pkgs; [ zlib.dev openssl.dev libssh2.dev libgit2 pkg-config ];
388 glpkAPI = with pkgs; [ gmp glpk ];
389 gmp = [ pkgs.gmp.dev ];
390 GPBayes = [ pkgs.gsl ];
391 graphscan = [ pkgs.gsl ];
393 gslnls = [ pkgs.gsl ];
394 gert = [ pkgs.libgit2 ];
395 haven = with pkgs; [ zlib.dev ];
396 hellorust = [ pkgs.cargo ];
397 hgwrr = [ pkgs.gsl ];
398 h5vc = with pkgs; [ zlib.dev bzip2.dev xz.dev ];
399 yyjsonr = with pkgs; [ zlib.dev ];
400 RNifti = with pkgs; [ zlib.dev ];
401 RNiftyReg = with pkgs; [ zlib.dev ];
402 highs = [ pkgs.which pkgs.cmake ];
403 crc32c = [ pkgs.which pkgs.cmake ];
404 rbedrock = [ pkgs.zlib.dev pkgs.which pkgs.cmake ];
405 HiCseg = [ pkgs.gsl ];
406 imager = [ pkgs.xorg.libX11.dev ];
407 imbibe = [ pkgs.zlib.dev ];
408 image_CannyEdges = with pkgs; [ fftw.dev libpng.dev ];
410 jack = [ pkgs.pkg-config ];
411 JavaGD = [ pkgs.jdk ];
412 jpeg = [ pkgs.libjpeg.dev ];
413 jqr = [ pkgs.jq.dev ];
414 KFKSDS = [ pkgs.gsl ];
415 KSgeneral = with pkgs; [ pkg-config ];
416 kza = [ pkgs.fftw.dev ];
417 leidenAlg = [ pkgs.gmp.dev ];
418 Libra = [ pkgs.gsl ];
419 libstable4u = [ pkgs.gsl ];
420 heck = [ pkgs.cargo ];
421 LOMAR = [ pkgs.gmp.dev ];
422 littler = [ pkgs.libdeflate ];
423 lpsymphony = with pkgs; [ pkg-config gfortran gettext ];
424 lwgeom = with pkgs; [ proj geos gdal ];
425 rsbml = [ pkgs.pkg-config ];
426 rvg = [ pkgs.libpng.dev ];
427 MAGEE = [ pkgs.zlib.dev pkgs.bzip2.dev ];
428 magick = [ pkgs.imagemagick.dev ];
429 ModelMetrics = lib.optional stdenv.hostPlatform.isDarwin pkgs.llvmPackages.openmp;
430 mvabund = [ pkgs.gsl ];
431 mcrPioda = [ pkgs.gsl ];
432 mwaved = [ pkgs.fftw.dev ];
433 mzR = with pkgs; [ zlib netcdf ];
434 nanonext = with pkgs; [ mbedtls nng ];
435 ncdf4 = [ pkgs.netcdf ];
436 neojags = [ pkgs.jags ];
437 nloptr = with pkgs; [ nlopt pkg-config ];
438 n1qn1 = [ pkgs.gfortran ];
439 odbc = [ pkgs.unixODBC ];
440 opencv = [ pkgs.pkg-config ];
441 pak = [ pkgs.curl.dev ];
442 pander = with pkgs; [ pandoc which ];
443 pbdMPI = [ pkgs.mpi ];
444 pbdPROF = [ pkgs.mpi ];
445 pbdZMQ = [ pkgs.pkg-config ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ pkgs.which ];
446 pcaL1 = [ pkgs.pkg-config pkgs.clp ];
447 pdftools = [ pkgs.poppler.dev ];
448 PEPBVS = [ pkgs.gsl ];
449 phytools = [ pkgs.which ];
450 PKI = [ pkgs.openssl.dev ];
451 png = [ pkgs.libpng.dev ];
452 protolite = [ pkgs.protobuf ];
453 R2SWF = with pkgs; [ zlib libpng freetype.dev ];
454 RAppArmor = [ pkgs.libapparmor ];
455 rapportools = [ pkgs.which ];
456 rapport = [ pkgs.which ];
457 rcdd = [ pkgs.gmp.dev ];
458 RcppCNPy = [ pkgs.zlib.dev ];
459 RcppGSL = [ pkgs.gsl ];
460 RcppZiggurat = [ pkgs.gsl ];
461 reprex = [ pkgs.which ];
462 resultant = with pkgs; [ gmp.dev mpfr.dev pkg-config ];
463 rgdal = with pkgs; [ proj.dev gdal ];
464 Rhisat2 = [ pkgs.which pkgs.hostname ];
465 gdalcubes = [ pkgs.pkg-config ];
466 rgeos = [ pkgs.geos ];
467 Rglpk = [ pkgs.glpk ];
468 RGtk2 = [ pkgs.gtk2.dev ];
469 rhdf5 = [ pkgs.zlib ];
470 Rhdf5lib = with pkgs; [ zlib.dev ];
471 Rhpc = with pkgs; [ zlib bzip2.dev icu xz.dev mpi pcre.dev ];
472 Rhtslib = with pkgs; [ zlib.dev automake autoconf bzip2.dev xz.dev curl.dev ];
473 rjags = [ pkgs.jags ];
474 rJava = with pkgs; [ zlib bzip2.dev icu xz.dev pcre.dev jdk libzip libdeflate ];
475 Rlibeemd = [ pkgs.gsl ];
476 rmatio = [ pkgs.zlib.dev pkgs.pkg-config ];
477 Rmpfr = with pkgs; [ gmp mpfr.dev ];
479 RMySQL = with pkgs; [ zlib libmysqlclient openssl.dev ];
480 RNetCDF = with pkgs; [ netcdf udunits ];
481 RODBC = [ pkgs.libiodbc ];
482 rpanel = [ pkgs.tclPackages.bwidget ];
483 Rpoppler = [ pkgs.poppler ];
484 RPostgres = with pkgs; [ postgresql ];
485 RPostgreSQL = with pkgs; [ postgresql postgresql ];
486 RProtoBuf = [ pkgs.protobuf ];
487 RSclient = [ pkgs.openssl.dev ];
488 Rserve = [ pkgs.openssl ];
489 Rssa = [ pkgs.fftw.dev ];
490 rsvg = [ pkgs.pkg-config ];
491 runjags = [ pkgs.jags ];
492 xslt = [ pkgs.pkg-config ];
493 RVowpalWabbit = with pkgs; [ zlib.dev boost ];
494 rzmq = with pkgs; [ zeromq pkg-config ];
495 httpuv = [ pkgs.zlib.dev ];
496 clustermq = [ pkgs.zeromq ];
497 SAVE = with pkgs; [ zlib bzip2 icu xz pcre ];
498 salso = [ pkgs.cargo ];
499 ymd = with pkgs; [ cargo rustc ];
500 arcpbf = [ pkgs.cargo ];
501 sdcTable = with pkgs; [ gmp glpk ];
502 seewave = with pkgs; [ fftw.dev libsndfile.dev ];
503 seqinr = [ pkgs.zlib.dev ];
504 smcryptoR = with pkgs; [ cargo rustc which ];
505 webp = [ pkgs.pkg-config ];
506 seqminer = with pkgs; [ zlib.dev bzip2 ];
507 sf = with pkgs; [ gdal proj geos libtiff curl ];
508 strawr = with pkgs; [ curl.dev ];
509 string2path = [ pkgs.cargo ];
510 terra = with pkgs; [ gdal proj geos ];
511 tok = [ pkgs.cargo ];
512 rshift = [ pkgs.cargo ];
513 arcgisutils = with pkgs; [ cargo rustc ];
514 arcgisgeocode = with pkgs; [ cargo rustc ];
515 arcgisplaces = with pkgs; [ pkg-config openssl.dev cargo rustc ];
516 apcf = with pkgs; [ geos ];
517 SemiCompRisks = [ pkgs.gsl ];
518 showtext = with pkgs; [ zlib libpng icu freetype.dev ];
519 simplexreg = [ pkgs.gsl ];
520 spate = [ pkgs.fftw.dev ];
521 ssanv = [ pkgs.proj ];
523 stringi = [ pkgs.icu.dev ];
524 survSNP = [ pkgs.gsl ];
525 svglite = [ pkgs.libpng.dev ];
526 sysfonts = with pkgs; [ zlib libpng freetype.dev ];
527 systemfonts = with pkgs; [ fontconfig.dev freetype.dev ];
528 TAQMNGR = [ pkgs.zlib.dev ];
530 tesseract = with pkgs; [ tesseract leptonica ];
531 tiff = [ pkgs.libtiff.dev ];
532 tkrplot = with pkgs; [ xorg.libX11 tk.dev ];
533 topicmodels = [ pkgs.gsl ];
534 udunits2 = with pkgs; [ udunits expat ];
535 units = [ pkgs.udunits ];
536 unigd = [ pkgs.pkg-config ];
537 vdiffr = [ pkgs.libpng.dev ];
538 V8 = [ pkgs.nodejs.libv8 ];
539 XBRL = with pkgs; [ zlib libxml2.dev ];
540 XLConnect = [ pkgs.jdk ];
541 xml2 = [ pkgs.libxml2.dev ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ pkgs.perl ];
542 XML = with pkgs; [ libtool libxml2.dev xmlsec libxslt ];
543 affyPLM = [ pkgs.zlib.dev ];
544 BitSeq = [ pkgs.zlib.dev ];
545 DiffBind = with pkgs; [ zlib.dev xz.dev bzip2.dev ];
546 ShortRead = [ pkgs.zlib.dev ];
547 oligo = [ pkgs.zlib.dev ];
548 gmapR = [ pkgs.zlib.dev ];
549 Rsubread = [ pkgs.zlib.dev ];
550 XVector = [ pkgs.zlib.dev ];
551 Rsamtools = with pkgs; [ zlib.dev curl.dev bzip2 xz ];
552 rtracklayer = with pkgs; [ zlib.dev curl.dev ];
553 affyio = [ pkgs.zlib.dev ];
554 snpStats = [ pkgs.zlib.dev ];
555 vcfppR = [ pkgs.curl.dev pkgs.bzip2 pkgs.zlib.dev pkgs.xz];
556 httpgd = with pkgs; [ cairo.dev ];
557 SymTS = [ pkgs.gsl ];
558 VBLPCM = [ pkgs.gsl ];
560 mixlink = [ pkgs.gsl ];
561 ridge = [ pkgs.gsl ];
563 rnetcarto = [ pkgs.gsl ];
564 rGEDI = [ pkgs.gsl ];
565 mmpca = [ pkgs.gsl ];
566 monoreg = [ pkgs.gsl ];
568 mixture = [ pkgs.gsl ];
570 immunoClust = [ pkgs.gsl ];
572 flowPeaks = [ pkgs.gsl ];
575 diseq = [ pkgs.gsl ];
578 SimInf = [ pkgs.gsl ];
579 RJMCMCNucleosomes = [ pkgs.gsl ];
580 RDieHarder = [ pkgs.gsl ];
583 RationalMatrix = [ pkgs.pkg-config pkgs.gmp.dev];
584 RcppCWB = [ pkgs.pkg-config pkgs.pcre2 ];
585 redux = [ pkgs.pkg-config ];
586 rswipl = with pkgs; [ cmake pkg-config ];
587 scorematchingad = [ pkgs.cmake ];
588 rrd = [ pkgs.pkg-config ];
589 surveyvoi = [ pkgs.pkg-config ];
590 Rbwa = [ pkgs.zlib.dev ];
591 trackViewer = [ pkgs.zlib.dev ];
592 themetagenomics = [ pkgs.zlib.dev ];
593 Rsymphony = [ pkgs.pkg-config ];
594 NanoMethViz = [ pkgs.zlib.dev ];
595 RcppMeCab = [ pkgs.pkg-config ];
596 HilbertVisGUI = with pkgs; [ pkg-config which ];
597 textshaping = [ pkgs.pkg-config ];
598 ragg = [ pkgs.pkg-config ];
599 qqconf = [ pkgs.pkg-config ];
600 qspray = [ pkgs.pkg-config ];
601 ratioOfQsprays = [ pkgs.pkg-config ];
602 symbolicQspray = [ pkgs.pkg-config ];
603 sphereTessellation = [ pkgs.pkg-config ];
604 vapour = [ pkgs.pkg-config ];
607 packagesWithBuildInputs = {
609 adbcpostgresql = with pkgs; [ readline.dev zlib.dev openssl.dev libkrb5.dev openpam ];
610 asciicast = with pkgs; [ xz.dev bzip2.dev zlib.dev icu.dev libdeflate ];
611 island = [ pkgs.gsl.dev ];
612 svKomodo = [ pkgs.which ];
613 ulid = [ pkgs.zlib.dev ];
614 unrtf = with pkgs; [ xz.dev bzip2.dev zlib.dev icu.dev libdeflate ];
615 nat = [ pkgs.which ];
616 nat_templatebrains = [ pkgs.which ];
617 pbdZMQ = [ pkgs.zeromq ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ pkgs.darwin.binutils ];
618 bigmemory = lib.optionals stdenv.hostPlatform.isLinux [ pkgs.libuuid.dev ];
619 bayesWatch = [ pkgs.boost.dev ];
620 clustermq = [ pkgs.pkg-config ];
621 coga = [ pkgs.gsl.dev ];
622 mBvs = [ pkgs.gsl.dev ];
623 rcontroll = [ pkgs.gsl.dev ];
624 deepSNV = with pkgs; [ xz.dev bzip2.dev zlib.dev ];
625 epialleleR = with pkgs; [ xz.dev bzip2.dev zlib.dev ];
626 gdalraster = with pkgs; [ gdal proj.dev sqlite.dev ];
627 mitoClone2 = with pkgs; [ xz.dev bzip2.dev zlib.dev ];
628 gpg = [ pkgs.gpgme ];
629 webp = [ pkgs.libwebp ];
630 RMark = [ pkgs.which ];
631 RPushbullet = [ pkgs.which ];
632 stpphawkes = [ pkgs.gsl ];
633 registr = with pkgs; [ icu.dev zlib.dev bzip2.dev xz.dev libdeflate ];
634 RCurl = [ pkgs.curl.dev ];
635 R2SWF = [ pkgs.pkg-config ];
636 rDEA = [ pkgs.glpk ];
637 rgl = with pkgs; [ libGLU libGL xorg.libX11.dev freetype.dev libpng.dev ];
638 RGtk2 = [ pkgs.pkg-config ];
639 RProtoBuf = [ pkgs.pkg-config ];
640 Rpoppler = [ pkgs.pkg-config ];
641 XML = [ pkgs.pkg-config ];
642 apsimx = [ pkgs.which ];
643 cairoDevice = [ pkgs.pkg-config ];
644 chebpol = [ pkgs.pkg-config ];
645 eds = [ pkgs.zlib.dev ];
646 pgenlibr = [ pkgs.zlib.dev ];
647 fftw = [ pkgs.pkg-config ];
648 gdtools = [ pkgs.pkg-config ];
649 archive = [ pkgs.libarchive];
650 gdalcubes = with pkgs; [ proj.dev gdal sqlite.dev netcdf ];
651 rsbml = [ pkgs.libsbml ];
652 SuperGauss = [ pkgs.pkg-config pkgs.fftw.dev];
653 ravetools = with pkgs; [ pkg-config fftw.dev];
654 specklestar = [ pkgs.fftw.dev ];
655 cartogramR = [ pkgs.fftw.dev ];
656 jqr = [ pkgs.jq.out ];
657 kza = [ pkgs.pkg-config ];
658 igraph = with pkgs; [ gmp libxml2.dev glpk ];
659 interpolation = [ pkgs.gmp ];
660 image_textlinedetector = with pkgs; [ pkg-config opencv ];
661 lwgeom = with pkgs; [ pkg-config proj.dev sqlite.dev ];
662 magick = [ pkgs.pkg-config ];
663 mwaved = [ pkgs.pkg-config ];
664 odbc = [ pkgs.pkg-config ];
665 openssl = [ pkgs.pkg-config ];
666 pdftools = [ pkgs.pkg-config ];
667 qckitfastq = [ pkgs.zlib.dev ];
668 raer = with pkgs; [ zlib.dev xz.dev bzip2.dev ];
669 RQuantLib = with pkgs; [ quantlib.dev boost.dev ];
670 sf = with pkgs; [ pkg-config sqlite.dev proj.dev ];
671 terra = with pkgs; [ pkg-config sqlite.dev proj.dev ];
672 showtext = [ pkgs.pkg-config ];
673 spate = [ pkgs.pkg-config ];
674 stringi = [ pkgs.pkg-config ];
675 sysfonts = [ pkgs.pkg-config ];
676 systemfonts = [ pkgs.pkg-config ];
677 tesseract = [ pkgs.pkg-config ];
678 Cairo = [ pkgs.pkg-config ];
679 CLVTools = [ pkgs.gsl ];
680 excursions = [ pkgs.gsl ];
681 OpenCL = with pkgs; [ opencl-clhpp ocl-icd ];
682 gpuMagic = [ pkgs.ocl-icd ];
683 JMcmprsk = [ pkgs.gsl ];
684 KSgeneral = [ pkgs.fftw.dev ];
685 mashr = [ pkgs.gsl ];
686 hadron = [ pkgs.gsl ];
687 AMOUNTAIN = [ pkgs.gsl ];
688 Rsymphony = with pkgs; [ symphony doxygen graphviz subversion cgl clp];
689 tcltk2 = with pkgs; [ tcl tk ];
690 rswipl = with pkgs; [ ncurses.dev libxcrypt zlib.dev ];
691 GrafGen = [ pkgs.zlib ];
692 tikzDevice = with pkgs; [ which texliveMedium ];
693 gridGraphics = [ pkgs.which ];
694 adimpro = with pkgs; [ which xorg.xdpyinfo ];
695 tfevents = [ pkgs.protobuf ];
696 rsvg = [ pkgs.librsvg.dev ];
697 ssh = with pkgs; [ libssh ];
698 s2 = [ pkgs.openssl.dev ];
699 ArrayExpressHTS = with pkgs; [ zlib.dev curl.dev which ];
700 bbl = with pkgs; [ gsl ];
701 diffHic = with pkgs; [ xz.dev bzip2.dev ];
702 writexl = with pkgs; [ zlib.dev ];
703 xslt = with pkgs; [ libxslt libxml2 ];
704 qpdf = with pkgs; [ libjpeg.dev zlib.dev ];
705 vcfR = with pkgs; [ zlib.dev ];
706 bio3d = with pkgs; [ zlib.dev ];
707 arrangements = with pkgs; [ gmp.dev ];
708 gfilogisreg = [ pkgs.gmp.dev ];
709 spp = with pkgs; [ zlib.dev ];
710 bamsignals = with pkgs; [ zlib.dev xz.dev bzip2 ];
711 Rbowtie = with pkgs; [ zlib.dev ];
712 gaston = with pkgs; [ zlib.dev ];
713 csaw = with pkgs; [ zlib.dev xz.dev bzip2.dev curl ];
714 DirichletMultinomial = with pkgs; [ gsl ];
715 DiffBind = with pkgs; [ zlib.dev ];
716 CNEr = with pkgs; [ zlib ];
717 GMMAT = with pkgs; [ zlib.dev bzip2.dev ];
718 rmumps = with pkgs; [ zlib.dev ];
719 HiCDCPlus = [ pkgs.zlib.dev ];
720 PopGenome = [ pkgs.zlib.dev ];
721 QuasR = with pkgs; [ zlib.dev xz.dev bzip2.dev ];
722 Rarr = [ pkgs.zlib.dev ];
723 Rbowtie2 = [ pkgs.zlib.dev ];
724 Rfastp = with pkgs; [ xz.dev bzip2.dev zlib.dev ];
725 maftools = with pkgs; [ zlib.dev bzip2 xz.dev ];
726 Rmmquant = [ pkgs.zlib.dev ];
727 SICtools = with pkgs; [ zlib.dev ncurses.dev ];
728 Signac = [ pkgs.zlib.dev ];
729 TransView = with pkgs; [ xz.dev bzip2.dev zlib.dev ];
730 bigsnpr = [ pkgs.zlib.dev ];
731 zlib = [ pkgs.zlib.dev ];
732 divest = [ pkgs.zlib.dev ];
733 hipread = [ pkgs.zlib.dev ];
734 jack = with pkgs; [ gmp.dev mpfr.dev ];
735 jackalope = with pkgs; [ zlib.dev xz.dev bzip2.dev ];
736 largeList = [ pkgs.zlib.dev ];
737 mappoly = [ pkgs.zlib.dev ];
738 VariantAnnotation = with pkgs; [ zlib.dev curl.dev bzip2.dev xz.dev ];
739 matchingMarkets = [ pkgs.zlib.dev ];
740 methylKit = with pkgs; [ zlib.dev bzip2.dev xz.dev ];
741 ndjson = [ pkgs.zlib.dev ];
742 podkat = with pkgs; [ zlib.dev xz.dev bzip2.dev ];
743 qrqc = [ pkgs.zlib.dev ];
744 rJPSGCS = [ pkgs.zlib.dev ];
745 rhdf5filters = with pkgs; [ zlib.dev bzip2.dev ];
746 symengine = with pkgs; [ mpfr symengine flint ];
747 rtk = [ pkgs.zlib.dev ];
748 scPipe = with pkgs; [ bzip2.dev xz.dev zlib.dev ];
749 seqTools = [ pkgs.zlib.dev ];
750 seqbias = with pkgs; [ zlib.dev bzip2.dev xz.dev ];
751 sparkwarc = [ pkgs.zlib.dev ];
752 RoBMA = [ pkgs.jags ];
753 RoBSA = [ pkgs.jags ];
754 pexm = [ pkgs.jags ];
755 rGEDI = with pkgs; [ libgeotiff.dev libaec zlib.dev hdf5.dev ];
756 rawrr = [ pkgs.mono ];
757 HDF5Array = [ pkgs.zlib.dev ];
758 FLAMES = with pkgs; [ zlib.dev bzip2.dev xz.dev ];
759 ncdfFlow = [ pkgs.zlib.dev ];
760 proj4 = [ pkgs.proj.dev ];
761 rtmpt = [ pkgs.gsl ];
762 mixcat = [ pkgs.gsl ];
763 libstableR = [ pkgs.gsl ];
764 landsepi = [ pkgs.gsl ];
766 econetwork = [ pkgs.gsl ];
767 crandep = [ pkgs.gsl ];
768 catSurv = [ pkgs.gsl ];
769 ccfindR = [ pkgs.gsl ];
770 screenCounter = [ pkgs.zlib.dev ];
771 SPARSEMODr = [ pkgs.gsl ];
772 RKHSMetaMod = [ pkgs.gsl ];
773 LCMCR = [ pkgs.gsl ];
775 scModels = [ pkgs.mpfr.dev ];
776 multibridge = with pkgs; [ pkg-config mpfr.dev ];
777 RcppCWB = with pkgs; [ pcre.dev glib.dev ];
778 redux = [ pkgs.hiredis ];
779 RmecabKo = [ pkgs.mecab ];
780 markets = [ pkgs.gsl ];
781 rlas = [ pkgs.boost ];
782 bgx = [ pkgs.boost ];
783 PoissonBinomial = [ pkgs.fftw.dev ];
784 poisbinom = [ pkgs.fftw.dev ];
785 PoissonMultinomial = [ pkgs.fftw.dev ];
786 psbcGroup = [ pkgs.gsl.dev ];
787 rrd = [ pkgs.rrdtool ];
788 flowWorkspace = [ pkgs.zlib.dev ];
789 RITCH = [ pkgs.zlib.dev ];
790 RcppMeCab = [ pkgs.mecab ];
792 PROJ = [ pkgs.proj.dev ];
793 RcppAlgos = [ pkgs.gmp.dev ];
794 RcppBigIntAlgos = [ pkgs.gmp.dev ];
795 spaMM = [ pkgs.gsl ];
796 shrinkTVP = [ pkgs.gsl ];
797 sbrl = with pkgs; [ gsl gmp.dev ];
798 surveyvoi = with pkgs; [ gmp.dev mpfr.dev ];
799 unigd = with pkgs; [ cairo.dev libpng.dev ];
800 HilbertVisGUI = [ pkgs.gtkmm2.dev ];
801 textshaping = with pkgs; [ harfbuzz.dev freetype.dev fribidi libpng ];
802 DropletUtils = [ pkgs.zlib.dev ];
803 RMariaDB = [ pkgs.libmysqlclient.dev ];
804 ijtiff = [ pkgs.libtiff ];
805 ragg = with pkgs; [ freetype.dev libpng.dev libtiff.dev zlib.dev libjpeg.dev bzip2.dev ] ++ lib.optional stdenv.hostPlatform.isDarwin lerc.dev;
806 qqconf = [ pkgs.fftw.dev ];
807 spFW = [ pkgs.fftw.dev ];
808 qspray = with pkgs; [ gmp.dev mpfr.dev ];
809 ratioOfQsprays = with pkgs; [ gmp.dev mpfr.dev ];
810 symbolicQspray = with pkgs; [ gmp.dev mpfr.dev ];
811 sphereTessellation = with pkgs; [ gmp.dev mpfr.dev ];
812 vapour = with pkgs; [ proj.dev gdal ];
813 MedianaDesigner = [ pkgs.zlib.dev ];
814 ChemmineOB = with pkgs; [ eigen openbabel ];
815 DGP4LCF = [ pkgs.lapack pkgs.blas ];
818 packagesRequiringX = [
827 "CommunityCorrelogram"
829 "DeducerPlugInExample"
830 "DeducerPlugInScaling"
859 "OligoSpecificitySystem"
867 "RcmdrPlugin_FuzzyClust"
870 "RcmdrPlugin_PcaRobust"
871 "RcmdrPlugin_plotByGroup"
873 "RcmdrPlugin_sampling"
876 "RcmdrPlugin_steepness"
888 "TTAinterfaceTrendAnalysis"
894 packagesRequiringHome = [
940 "TotalCopheneticIndex"
962 packagesToSkipCheck = [
963 "MsDataHub" # tries to connect to ExperimentHub
964 "Rmpi" # tries to run MPI processes
965 "ReactomeContentService4R" # tries to connect to Reactome
966 "PhIPData" # tries to download something from a DB
967 "RBioFormats" # tries to download jar during load test
968 "pbdMPI" # tries to run MPI processes
969 "CTdata" # tries to connect to ExperimentHub
970 "rfaRm" # tries to connect to Ebi
971 "data_table" # fails to rename shared library before check
972 "coMethDMR" # tries to connect to ExperimentHub
973 "multiMiR" # tries to connect to DB
974 "snapcount" # tries to connect to snaptron.cs.jhu.edu
977 # Packages which cannot be installed due to lack of dependencies or other reasons.
986 # Impure network access during build
992 # ExperimentHub dependents, require net access during build
995 "GenomicDistributionsData"
1002 "SingleMoleculeFootprintingData"
1004 "benchmarkfdrData2019"
1010 "metaboliteIDmapping"
1019 otherOverrides = old: new: {
1020 # it can happen that the major version of arrow-cpp is ahead of the
1021 # rPackages.arrow that would be built from CRAN sources; therefore, to avoid
1022 # build failures and manual updates of the hash, we use the R source at
1023 # the GitHub release state of libarrow (arrow-cpp) in Nixpkgs. This may
1024 # not exactly represent the CRAN sources, but because patching of the
1025 # CRAN R package is mostly done to meet special CRAN build requirements,
1026 # this is a straightforward approach. Example where patching was necessary
1027 # -> arrow 14.0.0.2 on CRAN; was lagging behind libarrow release:
1028 # https://github.com/apache/arrow/issues/39698 )
1030 vegan3d = old.vegan3d.overrideAttrs (attrs: {
1031 RGL_USE_NULL = "true";
1034 arrow = old.arrow.overrideAttrs (attrs: {
1035 src = pkgs.arrow-cpp.src;
1036 name = "r-arrow-${pkgs.arrow-cpp.version}";
1039 patchShebangs configure
1041 buildInputs = attrs.buildInputs ++ [
1046 gifski = old.gifski.overrideAttrs (attrs: {
1047 cargoDeps = pkgs.rustPlatform.fetchCargoTarball {
1049 sourceRoot = "gifski/src/myrustlib";
1050 hash = "sha256-tVbuYzGdBzWVeQ26Imq6y5gA0R/CjuNCZtQgfd3/qwA=";
1053 cargoRoot = "src/myrustlib";
1055 nativeBuildInputs = attrs.nativeBuildInputs ++ [
1056 pkgs.rustPlatform.cargoSetupHook
1062 timeless = old.timeless.overrideAttrs (attrs: {
1063 preConfigure = "patchShebangs configure";
1064 cargoDeps = pkgs.rustPlatform.fetchCargoTarball {
1066 sourceRoot = "timeless/src/rust";
1067 hash = "sha256-AccuRY3lfTXzaMnaYieKCEJErKo5132oSXgILbFhePI=";
1070 cargoRoot = "src/rust";
1072 nativeBuildInputs = attrs.nativeBuildInputs ++ [
1073 pkgs.rustPlatform.cargoSetupHook
1078 stringi = old.stringi.overrideAttrs (attrs: {
1080 icuName = "icudt52l";
1081 icuSrc = pkgs.fetchzip {
1082 url = "http://static.rexamine.com/packages/${icuName}.zip";
1083 sha256 = "0hvazpizziq5ibc9017i1bb45yryfl26wzfsv05vk9mc1575r6xj";
1087 ${attrs.postInstall or ""}
1088 cp ${icuSrc}/${icuName}.dat $out/library/stringi/libs
1092 xml2 = old.xml2.overrideAttrs (attrs: {
1094 export LIBXML_INCDIR=${pkgs.libxml2.dev}/include/libxml2
1095 patchShebangs configure
1099 alcyon = old.alcyon.overrideAttrs (attrs: {
1101 "--enable-force-openmp"
1105 lwgeom = old.lwgeom.overrideAttrs (attrs: {
1107 "--with-proj-lib=${pkgs.lib.getLib pkgs.proj}/lib"
1111 sf = old.sf.overrideAttrs (attrs: {
1113 "--with-proj-lib=${pkgs.lib.getLib pkgs.proj}/lib"
1117 terra = old.terra.overrideAttrs (attrs: {
1119 "--with-proj-lib=${pkgs.lib.getLib pkgs.proj}/lib"
1123 vapour = old.vapour.overrideAttrs (attrs: {
1125 "--with-proj-lib=${pkgs.lib.getLib pkgs.proj}/lib"
1129 rzmq = old.rzmq.overrideAttrs (attrs: {
1130 preConfigure = "patchShebangs configure";
1133 clustermq = old.clustermq.overrideAttrs (attrs: {
1134 preConfigure = "patchShebangs configure";
1137 Cairo = old.Cairo.overrideAttrs (attrs: {
1138 NIX_LDFLAGS = "-lfontconfig";
1141 curl = old.curl.overrideAttrs (attrs: {
1142 preConfigure = "patchShebangs configure";
1145 Cyclops = old.Cyclops.overrideAttrs (attrs: {
1146 preConfigure = "patchShebangs configure";
1149 RcppParallel = old.RcppParallel.overrideAttrs (attrs: {
1150 preConfigure = "patchShebangs configure";
1153 Colossus = old.Colossus.overrideAttrs (_: {
1154 postPatch = "patchShebangs configure";
1157 arcgisutils = old.arcgisutils.overrideAttrs (_: {
1158 postPatch = "patchShebangs configure";
1161 arcgisgeocode = old.arcgisgeocode.overrideAttrs (_: {
1162 postPatch = "patchShebangs configure";
1165 gmailr = old.gmailr.overrideAttrs (attrs: {
1166 postPatch = "patchShebangs configure";
1169 pingr = old.pingr.overrideAttrs (_: {
1170 postPatch = "patchShebangs configure";
1173 heck = old.heck.overrideAttrs (attrs: {
1174 postPatch = "patchShebangs configure";
1177 surtvep = old.surtvep.overrideAttrs (attrs: {
1178 postPatch = "patchShebangs configure";
1181 rtiktoken = old.rtiktoken.overrideAttrs (attrs: {
1182 postPatch = "patchShebangs configure";
1183 nativeBuildInputs = attrs.nativeBuildInputs ++ [
1189 purrr = old.purrr.overrideAttrs (attrs: {
1190 patchPhase = "patchShebangs configure";
1193 luajr = old.luajr.overrideAttrs (attrs: {
1194 hardeningDisable = [ "format" ];
1195 postPatch = "patchShebangs configure";
1198 RcppArmadillo = old.RcppArmadillo.overrideAttrs (attrs: {
1199 patchPhase = "patchShebangs configure";
1202 RcppGetconf = old.RcppGetconf.overrideAttrs (attrs: {
1203 postPatch = "patchShebangs configure";
1206 SpliceWiz = old.SpliceWiz.overrideAttrs (attrs: {
1207 postPatch = "patchShebangs configure";
1210 zoomerjoin = old.zoomerjoin.overrideAttrs (attrs: {
1211 nativeBuildInputs = [ pkgs.cargo ] ++ attrs.nativeBuildInputs;
1212 postPatch = "patchShebangs configure";
1215 b64 = old.b64.overrideAttrs (attrs: {
1216 nativeBuildInputs = with pkgs; [ cargo rustc ] ++ attrs.nativeBuildInputs;
1217 postPatch = "patchShebangs configure";
1220 ocf = old.ocf.overrideAttrs (attrs: {
1221 postPatch = "patchShebangs configure";
1224 data_table = old.data_table.overrideAttrs (attrs: {
1225 env = (attrs.env or { }) // {
1226 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -fopenmp";
1228 patchPhase = "patchShebangs configure";
1231 cisPath = old.cisPath.overrideAttrs (attrs: {
1232 hardeningDisable = [ "format" ];
1235 HilbertVis = old.HilbertVis.overrideAttrs (attrs: {
1236 hardeningDisable = [ "format" ];
1239 HilbertVisGUI = old.HilbertVisGUI.overrideAttrs (attrs: {
1240 hardeningDisable = [ "format" ];
1243 MANOR = old.MANOR.overrideAttrs (attrs: {
1244 hardeningDisable = [ "format" ];
1247 rGADEM = old.rGADEM.overrideAttrs (attrs: {
1248 hardeningDisable = [ "format" ];
1251 rsgeo = old.rsgeo.overrideAttrs (attrs: {
1252 nativeBuildInputs = [ pkgs.cargo ] ++ attrs.nativeBuildInputs;
1253 postPatch = "patchShebangs configure";
1256 instantiate = old.instantiate.overrideAttrs (attrs: {
1257 postPatch = "patchShebangs configure";
1260 exifr = old.exifr.overrideAttrs (attrs: {
1262 for f in .onLoad .onAttach ; do
1263 substituteInPlace R/load_hook.R \
1265 "$f <- function(libname, pkgname) {" \
1266 "$f <- function(libname, pkgname) {
1268 exifr.perlpath = \"${lib.getBin pkgs.perl}/bin/perl\",
1269 exifr.exiftoolcommand = \"${lib.getBin pkgs.exiftool}/bin/exiftool\"
1275 NGCHM = old.NGCHM.overrideAttrs (attrs: {
1277 substituteInPlace "inst/base.config/conf.d/01-server-protocol-scl.R" \
1279 "/bin/hostname" "${lib.getBin pkgs.hostname}/bin/hostname"
1283 ModelMetrics = old.ModelMetrics.overrideAttrs (attrs: {
1284 env = (attrs.env or { }) // {
1285 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + lib.optionalString stdenv.hostPlatform.isDarwin " -fopenmp";
1289 rawrr = old.rawrr.overrideAttrs (attrs: {
1291 substituteInPlace "R/zzz.R" "R/dotNetAssembly.R" --replace-warn \
1292 "Sys.which('mono')" "'${lib.getBin pkgs.mono}/bin/mono'"
1294 substituteInPlace "R/dotNetAssembly.R" --replace-warn \
1295 "Sys.which(\"xbuild\")" "\"${lib.getBin pkgs.mono}/bin/xbuild\""
1297 substituteInPlace "R/dotNetAssembly.R" --replace-warn \
1298 "cmd <- ifelse(Sys.which(\"msbuild\") != \"\", \"msbuild\", \"xbuild\")" \
1299 "cmd <- \"${lib.getBin pkgs.mono}/bin/xbuild\""
1301 substituteInPlace "R/rawrr.R" --replace-warn \
1302 "Sys.which(\"mono\")" "\"${lib.getBin pkgs.mono}/bin/mono\""
1306 rpf = old.rpf.overrideAttrs (attrs: {
1307 patchPhase = "patchShebangs configure";
1310 rJava = old.rJava.overrideAttrs (attrs: {
1312 export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/
1313 export JAVA_HOME=${pkgs.jdk}
1314 substituteInPlace R/zzz.R.in \
1315 --replace-fail ".onLoad <- function(libname, pkgname) {" \
1316 ".onLoad <- function(libname, pkgname) {
1317 Sys.setenv(\"JAVA_HOME\" = Sys.getenv(\"JAVA_HOME\", unset = \"${pkgs.jdk}\"))"
1321 JavaGD = old.JavaGD.overrideAttrs (attrs: {
1323 export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/
1324 export JAVA_HOME=${pkgs.jdk}
1328 jqr = old.jqr.overrideAttrs (attrs: {
1330 patchShebangs configure
1334 pathfindR = old.pathfindR.overrideAttrs (attrs: {
1336 substituteInPlace "R/zzz.R" \
1337 --replace-fail " check_java_version()" " Sys.setenv(JAVA_HOME = \"${lib.getBin pkgs.jre_minimal}\"); check_java_version()"
1338 substituteInPlace "R/active_snw_search.R" \
1339 --replace-fail "system(paste0(\"java" "system(paste0(\"${lib.getBin pkgs.jre_minimal}/bin/java"
1343 pbdZMQ = old.pbdZMQ.overrideAttrs (attrs: {
1344 postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
1345 for file in R/*.{r,r.in}; do
1346 sed -i 's#system("which \(\w\+\)"[^)]*)#"${pkgs.cctools}/bin/\1"#g' $file
1351 quarto = old.quarto.overrideAttrs (attrs: {
1352 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ pkgs.quarto ];
1354 substituteInPlace "R/quarto.R" \
1355 --replace-fail "Sys.getenv(\"QUARTO_PATH\", unset = NA_character_)" "Sys.getenv(\"QUARTO_PATH\", unset = '${lib.getBin pkgs.quarto}/bin/quarto')"
1359 Rhisat2 = old.Rhisat2.overrideAttrs (attrs: {
1360 enableParallelBuilding = false;
1363 s2 = old.s2.overrideAttrs (attrs: {
1364 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
1365 PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto";
1368 Rmpi = old.Rmpi.overrideAttrs (attrs: {
1370 "--with-Rmpi-type=OPENMPI"
1374 Rmpfr = old.Rmpfr.overrideAttrs (attrs: {
1376 "--with-mpfr-include=${pkgs.mpfr.dev}/include"
1380 covidsymptom = old.covidsymptom.overrideAttrs (attrs: {
1381 preConfigure = "rm R/covidsymptomdata.R";
1384 cubature = old.cubature.overrideAttrs (attrs: {
1385 enableParallelBuilding = false;
1388 RVowpalWabbit = old.RVowpalWabbit.overrideAttrs (attrs: {
1390 "--with-boost=${pkgs.boost.dev}" "--with-boost-libdir=${pkgs.boost.out}/lib"
1394 RAppArmor = old.RAppArmor.overrideAttrs (attrs: {
1395 patches = [ ./patches/RAppArmor.patch ];
1396 LIBAPPARMOR_HOME = pkgs.libapparmor;
1399 RMySQL = old.RMySQL.overrideAttrs (attrs: {
1400 MYSQL_DIR = "${pkgs.libmysqlclient}";
1401 PKGCONFIG_CFLAGS = "-I${pkgs.libmysqlclient.dev}/include/mysql";
1402 NIX_CFLAGS_LINK = "-L${pkgs.libmysqlclient}/lib/mysql -lmysqlclient";
1404 patchShebangs configure
1408 devEMF = old.devEMF.overrideAttrs (attrs: {
1409 NIX_CFLAGS_LINK = "-L${pkgs.xorg.libXft.out}/lib -lXft";
1410 NIX_LDFLAGS = "-lX11";
1413 hdf5r = old.hdf5r.overrideAttrs (attrs: {
1414 buildInputs = attrs.buildInputs ++ [ new.Rhdf5lib.hdf5 ];
1417 slfm = old.slfm.overrideAttrs (attrs: {
1418 PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack";
1421 SamplerCompare = old.SamplerCompare.overrideAttrs (attrs: {
1422 PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack";
1425 FLAMES = old.FLAMES.overrideAttrs (attrs: {
1426 patches = [ ./patches/FLAMES.patch ];
1429 openssl = old.openssl.overrideAttrs (attrs: {
1431 patchShebangs configure
1433 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
1434 PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto";
1437 websocket = old.websocket.overrideAttrs (attrs: {
1438 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
1439 PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto";
1442 Rserve = old.Rserve.overrideAttrs (attrs: {
1443 patches = [ ./patches/Rserve.patch ];
1445 "--with-server" "--with-client"
1449 universalmotif = old.universalmotif.overrideAttrs (attrs: {
1450 patches = [ ./patches/universalmotif.patch];
1453 V8 = old.V8.overrideAttrs (attrs: {
1455 substituteInPlace configure \
1456 --replace-fail " -lv8_libplatform" ""
1457 # Bypass the test checking if pointer compression is needed
1458 substituteInPlace configure \
1459 --replace-fail "./pctest1" "true"
1463 export INCLUDE_DIR=${pkgs.nodejs.libv8}/include
1464 export LIB_DIR=${pkgs.nodejs.libv8}/lib
1465 patchShebangs configure
1468 R_MAKEVARS_SITE = lib.optionalString (pkgs.stdenv.system == "aarch64-linux")
1469 (pkgs.writeText "Makevars" ''
1470 CXX14PICFLAGS = -fPIC
1474 acs = old.acs.overrideAttrs (attrs: {
1476 patchShebangs configure
1480 gdtools = old.gdtools.overrideAttrs (attrs: {
1482 patchShebangs configure
1484 NIX_LDFLAGS = "-lfontconfig -lfreetype";
1487 magick = old.magick.overrideAttrs (attrs: {
1489 patchShebangs configure
1493 libgeos = old.libgeos.overrideAttrs (attrs: {
1495 patchShebangs configure
1499 protolite = old.protolite.overrideAttrs (attrs: {
1501 patchShebangs configure
1505 rgoslin = old.rgoslin.overrideAttrs (attrs: {
1506 enableParallelBuilding = false;
1509 rpanel = old.rpanel.overrideAttrs (attrs: {
1511 export TCLLIBPATH="${pkgs.tclPackages.bwidget}/lib/bwidget${pkgs.tclPackages.bwidget.version}"
1513 TCLLIBPATH = "${pkgs.tclPackages.bwidget}/lib/bwidget${pkgs.tclPackages.bwidget.version}";
1516 networkscaleup = old.networkscaleup.overrideAttrs (attrs: {
1517 env = (attrs.env or { }) // {
1518 # needed to avoid "log limit exceeded" on Hydra
1519 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -Wno-ignored-attributes";
1522 # consumes a lot of resources in parallel
1523 enableParallelBuilding = false;
1526 RPostgres = old.RPostgres.overrideAttrs (attrs: {
1528 export INCLUDE_DIR=${pkgs.postgresql}/include
1529 export LIB_DIR=${pkgs.postgresql.lib}/lib
1530 patchShebangs configure
1534 OpenMx = old.OpenMx.overrideAttrs (attrs: {
1535 env = (attrs.env or { }) // {
1536 # needed to avoid "log limit exceeded" on Hydra
1537 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -Wno-ignored-attributes";
1540 patchShebangs configure
1544 odbc = old.odbc.overrideAttrs (attrs: {
1546 patchShebangs configure
1550 x13binary = old.x13binary.overrideAttrs (attrs: {
1552 patchShebangs configure
1556 FlexReg = old.FlexReg.overrideAttrs (attrs: {
1557 env = (attrs.env or { }) // {
1558 # needed to avoid "log limit exceeded" on Hydra
1559 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -Wno-ignored-attributes";
1562 # consumes a lot of resources in parallel
1563 enableParallelBuilding = false;
1566 geojsonio = old.geojsonio.overrideAttrs (attrs: {
1567 buildInputs = [ cacert ] ++ attrs.buildInputs;
1572 MHC41alleleList = fetchurl {
1573 url = "https://services.healthtech.dtu.dk/services/NetMHCpan-4.1/allele.list";
1574 hash = "sha256-CRZ+0uHzcq5zK5eONucAChXIXO8tnq5sSEAS80Z7jhg=";
1577 MHCII40alleleList = fetchurl {
1578 url = "https://services.healthtech.dtu.dk/services/NetMHCIIpan-4.0/alleles_name.list";
1579 hash = "sha256-K4Ic2NUs3P4IkvOODwZ0c4Yh8caex5Ih0uO5jXRHp40=";
1582 # List of valid countries, regions and ethnic groups
1583 # The original page is changing a bit every day, but the relevant
1584 # content does not. Use archive.org to get a stable snapshot.
1585 # It can be updated from time to time, or when the package becomes
1586 # deficient. This may be difficult to know.
1587 # Update the snapshot date, and add id_ after it, as described here:
1588 # https://web.archive.org/web/20130806040521/http://faq.web.archive.org/page-without-wayback-code/
1589 validGeographics = fetchurl {
1590 url = "https://web.archive.org/web/20240418194005id_/http://www.allelefrequencies.net/hla6006a.asp";
1591 hash = "sha256-m7Wkmh/cPxeqn94LwoznIh+fcFXskmSGErUYj6kTqak=";
1593 in old.immunotation.overrideAttrs (attrs: {
1594 patches = [ ./patches/immunotation.patch ];
1596 substituteInPlace "R/external_resources_input.R" --replace-fail \
1597 "nix-NetMHCpan-4.1-allele-list" ${MHC41alleleList}
1599 substituteInPlace "R/external_resources_input.R" --replace-fail \
1600 "nix-NETMHCIIpan-4.0-alleles-name-list" ${MHCII40alleleList}
1602 substituteInPlace "R/AFND_interface.R" --replace-fail \
1603 "nix-valid-geographics" ${validGeographics}
1608 angrist = fetchurl {
1609 url = "https://raw.githubusercontent.com/joerigdon/nearfar/master/angrist.csv";
1610 hash = "sha256-lb+HMHnRGonc26merFGB0B7Vk1Lk+sIJlay+JtQC8m4=";
1612 in old.nearfar.overrideAttrs (attrs: {
1614 substituteInPlace "R/nearfar.R" --replace-fail \
1615 'url("https://raw.githubusercontent.com/joerigdon/nearfar/master/angrist.csv")' '"${angrist}"'
1619 BiocParallel = old.BiocParallel.overrideAttrs (attrs: {
1620 env = (attrs.env or { }) // {
1621 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + lib.optionalString stdenv.hostPlatform.isDarwin " -Wno-error=missing-template-arg-list-after-template-kw";
1625 rstan = old.rstan.overrideAttrs (attrs: {
1626 env = (attrs.env or { }) // {
1627 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION";
1631 mongolite = old.mongolite.overrideAttrs (attrs: {
1633 patchShebangs configure
1635 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include -I${pkgs.cyrus_sasl.dev}/include -I${pkgs.zlib.dev}/include";
1636 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";
1639 ChemmineOB = old.ChemmineOB.overrideAttrs (attrs: {
1640 # pkg-config knows openbabel-3 without the .0
1641 # Eigen3 is also looked for in the wrong location
1642 # pointer was changed in newer version of openbabel:
1643 # https://github.com/openbabel/openbabel/commit/305a6fd3183540e4a8ae1d79d10bf1860e6aa373
1645 substituteInPlace configure \
1646 --replace-fail openbabel-3.0 openbabel-3
1647 substituteInPlace src/Makevars.in \
1648 --replace-fail "-I/usr/include/eigen3" "-I${pkgs.eigen}/include/eigen3"
1649 substituteInPlace src/ChemmineOB.cpp \
1650 --replace-fail "obsharedptr<" "std::shared_ptr<"
1653 # copied from fastnlo-toolkit:
1654 # None of our currently packaged versions of swig are C++17-friendly
1655 # Use a workaround from https://github.com/swig/swig/issues/1538
1656 env = (attrs.env or { }) // {
1657 NIX_CFLAGS_COMPILE = (attrs.env.NIX_CFLAGS_COMPILE or "") + lib.optionalString stdenv.hostPlatform.isDarwin " -D_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES";
1661 ps = old.ps.overrideAttrs (attrs: {
1662 preConfigure = "patchShebangs configure";
1665 rlang = old.rlang.overrideAttrs (attrs: {
1666 preConfigure = "patchShebangs configure";
1669 systemfonts = old.systemfonts.overrideAttrs (attrs: {
1670 preConfigure = "patchShebangs configure";
1673 littler = old.littler.overrideAttrs (attrs: with pkgs; {
1674 buildInputs = [ pcre xz zlib bzip2 icu which ] ++ attrs.buildInputs;
1676 install -d $out/bin $out/share/man/man1
1677 ln -s ../library/littler/bin/r $out/bin/r
1678 ln -s ../library/littler/bin/r $out/bin/lr
1679 ln -s ../../../library/littler/man-page/r.1 $out/share/man/man1
1680 # these won't run without special provisions, so better remove them
1681 rm -r $out/library/littler/script-tests
1685 lpsymphony = old.lpsymphony.overrideAttrs (attrs: {
1687 patchShebangs configure
1691 sodium = old.sodium.overrideAttrs (attrs: with pkgs; {
1693 patchShebangs configure
1695 nativeBuildInputs = [ pkg-config ] ++ attrs.nativeBuildInputs;
1696 buildInputs = [ libsodium.dev ] ++ attrs.buildInputs;
1699 keyring = old.keyring.overrideAttrs (attrs: {
1701 patchShebangs configure
1705 Rhtslib = old.Rhtslib.overrideAttrs (attrs: {
1707 substituteInPlace R/zzz.R --replace "-lcurl" "-L${pkgs.curl.out}/lib -lcurl"
1711 h2o = old.h2o.overrideAttrs (attrs: {
1713 # prevent download of jar file during install and postpone to first use
1714 sed -i '/downloadJar()/d' R/zzz.R
1716 # during runtime the package directory is not writable as it's in the
1717 # nix store, so store the jar in the user's cache directory instead
1718 substituteInPlace R/connection.R --replace \
1719 'dest_file <- file.path(dest_folder, "h2o.jar")' \
1720 'dest_file <- file.path("~/.cache/", "h2o.jar")'
1724 SICtools = old.SICtools.overrideAttrs (attrs: {
1726 substituteInPlace src/Makefile --replace-fail "-lcurses" "-lncurses"
1728 hardeningDisable = [ "format" ];
1731 Rbwa = old.Rbwa.overrideAttrs (attrs: {
1732 # Parallel build cleans up *.o before they can be packed in a library
1734 substituteInPlace src/Makefile --replace-fail \
1735 "all:\$(PROG) ../inst/bwa clean" \
1736 "all:\$(PROG) ../inst/bwa" \
1740 ROracle = old.ROracle.overrideAttrs (attrs: {
1742 "--with-oci-lib=${pkgs.oracle-instantclient.lib}/lib"
1743 "--with-oci-inc=${pkgs.oracle-instantclient.dev}/include"
1747 xslt = old.xslt.overrideAttrs (attrs: {
1748 env = (attrs.env or { }) // {
1749 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -fpermissive";
1753 sparklyr = old.sparklyr.overrideAttrs (attrs: {
1754 # Pyspark's spark is full featured and better maintained than pkgs.spark
1756 substituteInPlace R/zzz.R \
1757 --replace ".onLoad <- function(...) {" \
1758 ".onLoad <- function(...) {
1759 Sys.setenv(\"SPARK_HOME\" = Sys.getenv(\"SPARK_HOME\", unset = \"${pkgs.python3Packages.pyspark}/${pkgs.python3Packages.python.sitePackages}/pyspark\"))
1760 Sys.setenv(\"JAVA_HOME\" = Sys.getenv(\"JAVA_HOME\", unset = \"${pkgs.jdk}\"))"
1764 proj4 = old.proj4.overrideAttrs (attrs: {
1766 substituteInPlace configure \
1767 --replace "-lsqlite3" "-L${lib.makeLibraryPath [ pkgs.sqlite ]} -lsqlite3"
1771 rrd = old.rrd.overrideAttrs (attrs: {
1773 patchShebangs configure
1777 ChIPXpress = old.ChIPXpress.override { hydraPlatforms = []; };
1779 rgl = old.rgl.overrideAttrs (attrs: {
1780 RGL_USE_NULL = "true";
1783 Rrdrand = old.Rrdrand.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; };
1785 symengine = old.symengine.overrideAttrs (_: {
1788 cat > src/Makevars << EOF
1789 PKG_LIBS=-lsymengine
1795 RandomFieldsUtils = old.RandomFieldsUtils.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; };
1797 flowClust = old.flowClust.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; };
1799 RcppCGAL = old.RcppCGAL.overrideAttrs (_: {
1800 postPatch = "patchShebangs configure";
1803 SharedObject = old.SharedObject.overrideAttrs (attrs: {
1804 # backport PR resolving build issues: https://github.com/Jiefei-Wang/SharedObject/pull/17
1805 patches = let inherit (pkgs) fetchpatch; in [
1807 url = "https://github.com/Jiefei-Wang/SharedObject/pull/17/commits/50c4b2964649d7f5a14d843bd7089ab62650fcd3.patch";
1808 sha256 = "sha256-zn535IeOYRvyQ2yxgoGEq2wccrl9xdu9nREmy7sV+PQ=";
1811 url = "https://github.com/Jiefei-Wang/SharedObject/pull/17/commits/bf096a39858e9210cbe246d4b136905d4cfbfaf4.patch";
1812 sha256 = "sha256-Z+BZOkFnLgIBiVuPsAHp7bMXzADcvuHV4hILdmLvd+k=";
1817 httr2 = old.httr2.overrideAttrs (attrs: {
1818 preConfigure = "patchShebangs configure";
1821 dbarts = old.dbarts.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; };
1823 geomorph = old.geomorph.overrideAttrs (attrs: {
1824 RGL_USE_NULL = "true";
1827 gpuMagic = old.gpuMagic.overrideAttrs (_: {
1828 hardeningDisable = ["format"];
1831 Rdisop = old.Rdisop.overrideAttrs (_: {
1832 hardeningDisable = ["format"];
1836 opencvGtk = pkgs.opencv.override (old : { enableGtk2 = true; });
1837 in old.opencv.overrideAttrs (attrs: {
1838 buildInputs = attrs.buildInputs ++ [ opencvGtk ];
1842 hdf5 = pkgs.hdf5_1_10;
1843 in old.Rhdf5lib.overrideAttrs (attrs: {
1844 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ hdf5.dev pkgs.libaec ];
1845 patches = [ ./patches/Rhdf5lib.patch ];
1846 passthru.hdf5 = hdf5;
1849 rhdf5filters = old.rhdf5filters.overrideAttrs (attrs: {
1850 patches = [ ./patches/rhdf5filters.patch ];
1853 rhdf5= old.rhdf5.overrideAttrs (attrs: {
1854 patches = [ ./patches/rhdf5.patch ];
1855 env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
1858 rmarkdown = old.rmarkdown.overrideAttrs (_: {
1860 substituteInPlace R/pandoc.R \
1861 --replace '"~/opt/pandoc"' '"~/opt/pandoc", "${pkgs.pandoc}/bin"'
1865 redland = old.redland.overrideAttrs (_: {
1866 PKGCONFIG_CFLAGS="-I${pkgs.redland}/include -I${pkgs.librdf_raptor2}/include/raptor2 -I${pkgs.librdf_rasqal}/include/rasqal";
1867 PKGCONFIG_LIBS="-L${pkgs.redland}/lib -L${pkgs.librdf_raptor2}/lib -L${pkgs.librdf_rasqal}/lib -lrdf -lraptor2 -lrasqal";
1870 textshaping = old.textshaping.overrideAttrs (attrs: {
1871 env.NIX_LDFLAGS = "-lfribidi -lharfbuzz";
1874 httpuv = old.httpuv.overrideAttrs (_: {
1876 patchShebangs configure
1880 oligo = old.oligo.overrideAttrs (_: {
1881 hardeningDisable = ["format"];
1884 tesseract = old.tesseract.overrideAttrs (_: {
1886 substituteInPlace configure \
1887 --replace 'PKG_CONFIG_NAME="tesseract"' 'PKG_CONFIG_NAME="tesseract lept"'
1891 ijtiff = old.ijtiff.overrideAttrs (_: {
1893 patchShebangs configure
1897 torch = old.torch.overrideAttrs (attrs: {
1899 patchShebangs configure
1903 pak = old.pak.overrideAttrs (attrs: {
1905 patchShebangs configure
1906 patchShebangs src/library/curl/configure
1907 patchShebangs src/library/pkgdepends/configure
1908 patchShebangs src/library/ps/configure
1912 pkgdepends = old.pkgdepends.overrideAttrs (attrs: {
1914 patchShebangs configure