Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 23.05 1345 lines 39 kB view raw
1/* This file defines the composition for CRAN (R) packages. */ 2 3{ R, pkgs, overrides }: 4 5let 6 inherit (pkgs) cacert fetchurl stdenv lib; 7 8 buildRPackage = pkgs.callPackage ./generic-builder.nix { 9 inherit R; 10 inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa Foundation; 11 inherit (pkgs) gettext gfortran; 12 }; 13 14 # Generates package templates given per-repository settings 15 # 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, hydraPlatforms ? null}: args: 19 let hydraPlatforms' = hydraPlatforms; in 20 lib.makeOverridable ({ 21 name, version, sha256, 22 depends ? [], 23 doCheck ? true, 24 requireX ? false, 25 broken ? false, 26 platforms ? R.meta.platforms, 27 hydraPlatforms ? if hydraPlatforms' != null then hydraPlatforms' else platforms, 28 maintainers ? [] 29 }: buildRPackage { 30 name = "${name}-${version}"; 31 src = fetchurl { 32 inherit sha256; 33 urls = mkUrls (args // { inherit name version; }); 34 }; 35 inherit doCheck requireX; 36 propagatedBuildInputs = depends; 37 nativeBuildInputs = depends; 38 meta.homepage = mkHomepage (args // { inherit name; }); 39 meta.platforms = platforms; 40 meta.hydraPlatforms = hydraPlatforms; 41 meta.broken = broken; 42 meta.maintainers = maintainers; 43 }); 44 45 # Templates for generating Bioconductor and CRAN packages 46 # from the name, version, sha256, and optional per-package arguments above 47 # 48 deriveBioc = mkDerive { 49 mkHomepage = {name, biocVersion, ...}: "https://bioconductor.org/packages/${biocVersion}/bioc/html/${name}.html"; 50 mkUrls = {name, version, biocVersion}: [ 51 "mirror://bioc/${biocVersion}/bioc/src/contrib/${name}_${version}.tar.gz" 52 "mirror://bioc/${biocVersion}/bioc/src/contrib/Archive/${name}/${name}_${version}.tar.gz" 53 "mirror://bioc/${biocVersion}/bioc/src/contrib/Archive/${name}_${version}.tar.gz" 54 ]; 55 }; 56 deriveBiocAnn = mkDerive { 57 mkHomepage = {name, ...}: "http://www.bioconductor.org/packages/${name}.html"; 58 mkUrls = {name, version, biocVersion}: [ 59 "mirror://bioc/${biocVersion}/data/annotation/src/contrib/${name}_${version}.tar.gz" 60 ]; 61 hydraPlatforms = []; 62 }; 63 deriveBiocExp = mkDerive { 64 mkHomepage = {name, ...}: "http://www.bioconductor.org/packages/${name}.html"; 65 mkUrls = {name, version, biocVersion}: [ 66 "mirror://bioc/${biocVersion}/data/experiment/src/contrib/${name}_${version}.tar.gz" 67 ]; 68 hydraPlatforms = []; 69 }; 70 deriveCran = mkDerive { 71 mkHomepage = {name, ...}: "https://cran.r-project.org/web/packages/${name}/"; 72 mkUrls = {name, version}: [ 73 "mirror://cran/${name}_${version}.tar.gz" 74 "mirror://cran/Archive/${name}/${name}_${version}.tar.gz" 75 ]; 76 }; 77 78 # Overrides package definitions with nativeBuildInputs. 79 # For example, 80 # 81 # overrideNativeBuildInputs { 82 # foo = [ pkgs.bar ] 83 # } old 84 # 85 # results in 86 # 87 # { 88 # foo = old.foo.overrideAttrs (attrs: { 89 # nativeBuildInputs = attrs.nativeBuildInputs ++ [ pkgs.bar ]; 90 # }); 91 # } 92 overrideNativeBuildInputs = overrides: old: 93 lib.mapAttrs (name: value: 94 (builtins.getAttr name old).overrideAttrs (attrs: { 95 nativeBuildInputs = attrs.nativeBuildInputs ++ value; 96 }) 97 ) overrides; 98 99 # Overrides package definitions with buildInputs. 100 # For example, 101 # 102 # overrideBuildInputs { 103 # foo = [ pkgs.bar ] 104 # } old 105 # 106 # results in 107 # 108 # { 109 # foo = old.foo.overrideAttrs (attrs: { 110 # buildInputs = attrs.buildInputs ++ [ pkgs.bar ]; 111 # }); 112 # } 113 overrideBuildInputs = overrides: old: 114 lib.mapAttrs (name: value: 115 (builtins.getAttr name old).overrideAttrs (attrs: { 116 buildInputs = attrs.buildInputs ++ value; 117 }) 118 ) overrides; 119 120 # Overrides package definitions with maintainers. 121 # For example, 122 # 123 # overrideMaintainers { 124 # foo = [ lib.maintainers.jsmith ] 125 # } old 126 # 127 # results in 128 # 129 # { 130 # foo = old.foo.override { 131 # maintainers = [ lib.maintainers.jsmith ]; 132 # }; 133 # } 134 overrideMaintainers = overrides: old: 135 lib.mapAttrs (name: value: 136 (builtins.getAttr name old).override { 137 maintainers = value; 138 }) overrides; 139 140 # Overrides package definitions with new R dependencies. 141 # For example, 142 # 143 # overrideRDepends { 144 # foo = [ self.bar ] 145 # } old 146 # 147 # results in 148 # 149 # { 150 # foo = old.foo.overrideAttrs (attrs: { 151 # nativeBuildInputs = attrs.nativeBuildInputs ++ [ self.bar ]; 152 # propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs ++ [ self.bar ]; 153 # }); 154 # } 155 overrideRDepends = overrides: old: 156 lib.mapAttrs (name: value: 157 (builtins.getAttr name old).overrideAttrs (attrs: { 158 nativeBuildInputs = (attrs.nativeBuildInputs or []) ++ value; 159 propagatedNativeBuildInputs = (attrs.propagatedNativeBuildInputs or []) ++ value; 160 }) 161 ) overrides; 162 163 # Overrides package definition requiring X running to install. 164 # For example, 165 # 166 # overrideRequireX [ 167 # "foo" 168 # ] old 169 # 170 # results in 171 # 172 # { 173 # foo = old.foo.override { 174 # requireX = true; 175 # }; 176 # } 177 overrideRequireX = packageNames: old: 178 let 179 nameValuePairs = map (name: { 180 inherit name; 181 value = (builtins.getAttr name old).override { 182 requireX = true; 183 }; 184 }) packageNames; 185 in 186 builtins.listToAttrs nameValuePairs; 187 188 # Overrides package definition requiring a home directory to install or to 189 # run tests. 190 # For example, 191 # 192 # overrideRequireHome [ 193 # "foo" 194 # ] old 195 # 196 # results in 197 # 198 # { 199 # foo = old.foo.overrideAttrs (oldAttrs: { 200 # preInstall = '' 201 # ${oldAttrs.preInstall or ""} 202 # export HOME=$(mktemp -d) 203 # ''; 204 # }); 205 # } 206 overrideRequireHome = packageNames: old: 207 let 208 nameValuePairs = map (name: { 209 inherit name; 210 value = (builtins.getAttr name old).overrideAttrs (oldAttrs: { 211 preInstall = '' 212 ${oldAttrs.preInstall or ""} 213 export HOME=$(mktemp -d) 214 ''; 215 }); 216 }) packageNames; 217 in 218 builtins.listToAttrs nameValuePairs; 219 220 # Overrides package definition to skip check. 221 # For example, 222 # 223 # overrideSkipCheck [ 224 # "foo" 225 # ] old 226 # 227 # results in 228 # 229 # { 230 # foo = old.foo.override { 231 # doCheck = false; 232 # }; 233 # } 234 overrideSkipCheck = packageNames: old: 235 let 236 nameValuePairs = map (name: { 237 inherit name; 238 value = (builtins.getAttr name old).override { 239 doCheck = false; 240 }; 241 }) packageNames; 242 in 243 builtins.listToAttrs nameValuePairs; 244 245 # Overrides package definition to mark it broken. 246 # For example, 247 # 248 # overrideBroken [ 249 # "foo" 250 # ] old 251 # 252 # results in 253 # 254 # { 255 # foo = old.foo.override { 256 # broken = true; 257 # }; 258 # } 259 overrideBroken = packageNames: old: 260 let 261 nameValuePairs = map (name: { 262 inherit name; 263 value = (builtins.getAttr name old).override { 264 broken = true; 265 }; 266 }) packageNames; 267 in 268 builtins.listToAttrs nameValuePairs; 269 270 defaultOverrides = old: new: 271 let old0 = old; in 272 let 273 old1 = old0 // (overrideRequireX packagesRequiringX old0); 274 old2 = old1 // (overrideRequireHome packagesRequiringHome old1); 275 old3 = old2 // (overrideSkipCheck packagesToSkipCheck old2); 276 old4 = old3 // (overrideRDepends packagesWithRDepends old3); 277 old5 = old4 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old4); 278 old6 = old5 // (overrideBuildInputs packagesWithBuildInputs old5); 279 old7 = old6 // (overrideBroken brokenPackages old6); 280 old8 = old7 // (overrideMaintainers packagesWithMaintainers old7); 281 old = old8; 282 in old // (otherOverrides old new); 283 284 # Recursive override pattern. 285 # `_self` is a collection of packages; 286 # `self` is `_self` with overridden packages; 287 # packages in `_self` may depends on overridden packages. 288 self = (defaultOverrides _self self) // overrides; 289 _self = { inherit buildRPackage; } // 290 import ./bioc-packages.nix { inherit self; derive = deriveBioc; } // 291 import ./bioc-annotation-packages.nix { inherit self; derive = deriveBiocAnn; } // 292 import ./bioc-experiment-packages.nix { inherit self; derive = deriveBiocExp; } // 293 import ./cran-packages.nix { inherit self; derive = deriveCran; }; 294 295 # tweaks for the individual packages and "in self" follow 296 297 packagesWithMaintainers = with lib.maintainers; { 298 data_table = [ jbedo ]; 299 BiocManager = [ jbedo ]; 300 ggplot2 = [ jbedo ]; 301 svaNUMT = [ jbedo ]; 302 svaRetro = [ jbedo ]; 303 StructuralVariantAnnotation = [ jbedo ]; 304 }; 305 306 packagesWithRDepends = { 307 FactoMineR = [ self.car ]; 308 pander = [ self.codetools ]; 309 }; 310 311 packagesWithNativeBuildInputs = { 312 arrow = [ pkgs.pkg-config pkgs.arrow-cpp ]; 313 adimpro = [ pkgs.imagemagick ]; 314 animation = [ pkgs.which ]; 315 audio = [ pkgs.portaudio ]; 316 BayesSAE = [ pkgs.gsl ]; 317 BayesVarSel = [ pkgs.gsl ]; 318 BayesXsrc = with pkgs; [ readline.dev ncurses gsl ]; 319 bigGP = [ pkgs.mpi ]; 320 bio3d = [ pkgs.zlib ]; 321 BiocCheck = [ pkgs.which ]; 322 Biostrings = [ pkgs.zlib ]; 323 bnpmr = [ pkgs.gsl ]; 324 cairoDevice = [ pkgs.gtk2.dev ]; 325 Cairo = with pkgs; [ libtiff libjpeg cairo.dev xorg.libXt.dev fontconfig.lib ]; 326 Cardinal = [ pkgs.which ]; 327 chebpol = [ pkgs.fftw.dev ]; 328 ChemmineOB = with pkgs; [ openbabel pkg-config ]; 329 curl = [ pkgs.curl.dev ]; 330 data_table = [ pkgs.zlib.dev ] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp; 331 devEMF = with pkgs; [ xorg.libXft.dev ]; 332 diversitree = with pkgs; [ gsl fftw ]; 333 exactextractr = [ pkgs.geos ]; 334 EMCluster = [ pkgs.lapack ]; 335 fftw = [ pkgs.fftw.dev ]; 336 fftwtools = with pkgs; [ fftw.dev pkg-config ]; 337 Formula = [ pkgs.gmp ]; 338 gdtools = with pkgs; [ cairo.dev fontconfig.lib freetype.dev ]; 339 ggiraph = with pkgs; [ pkgs.libpng.dev ]; 340 git2r = with pkgs; [ zlib.dev openssl.dev libssh2.dev libgit2 pkg-config ]; 341 GLAD = [ pkgs.gsl ]; 342 glpkAPI = with pkgs; [ gmp glpk ]; 343 gmp = [ pkgs.gmp.dev ]; 344 graphscan = [ pkgs.gsl ]; 345 gsl = [ pkgs.gsl ]; 346 gert = [ pkgs.libgit2 ]; 347 haven = with pkgs; [ zlib.dev ]; 348 h5vc = [ pkgs.zlib.dev ]; 349 HiCseg = [ pkgs.gsl ]; 350 imager = [ pkgs.xorg.libX11.dev ]; 351 iBMQ = [ pkgs.gsl ]; 352 igraph = with pkgs; [ gmp libxml2.dev ]; 353 JavaGD = [ pkgs.jdk ]; 354 jpeg = [ pkgs.libjpeg.dev ]; 355 jqr = [ pkgs.jq.dev ]; 356 KFKSDS = [ pkgs.gsl ]; 357 kza = [ pkgs.fftw.dev ]; 358 lpsymphony = with pkgs; [ pkg-config gfortran gettext ]; 359 lwgeom = with pkgs; [ proj geos gdal ]; 360 magick = [ pkgs.imagemagick.dev ]; 361 ModelMetrics = lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp; 362 mvabund = [ pkgs.gsl ]; 363 mwaved = [ pkgs.fftw.dev ]; 364 mzR = with pkgs; [ zlib netcdf ]; 365 nanonext = with pkgs; [ mbedtls nng ]; 366 ncdf4 = [ pkgs.netcdf ]; 367 nloptr = with pkgs; [ nlopt pkg-config ]; 368 n1qn1 = [ pkgs.gfortran ]; 369 odbc = [ pkgs.unixODBC ]; 370 pander = with pkgs; [ pandoc which ]; 371 pbdMPI = [ pkgs.mpi ]; 372 pbdPROF = [ pkgs.mpi ]; 373 pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.which ]; 374 pdftools = [ pkgs.poppler.dev ]; 375 phytools = [ pkgs.which ]; 376 PKI = [ pkgs.openssl.dev ]; 377 png = [ pkgs.libpng.dev ]; 378 protolite = [ pkgs.protobuf ]; 379 R2SWF = with pkgs; [ zlib libpng freetype.dev ]; 380 RAppArmor = [ pkgs.libapparmor ]; 381 rapportools = [ pkgs.which ]; 382 rapport = [ pkgs.which ]; 383 rcdd = [ pkgs.gmp.dev ]; 384 RcppCNPy = [ pkgs.zlib.dev ]; 385 RcppGSL = [ pkgs.gsl ]; 386 RcppZiggurat = [ pkgs.gsl ]; 387 reprex = [ pkgs.which ]; 388 rgdal = with pkgs; [ proj.dev gdal ]; 389 rgeos = [ pkgs.geos ]; 390 Rglpk = [ pkgs.glpk ]; 391 RGtk2 = [ pkgs.gtk2.dev ]; 392 rhdf5 = [ pkgs.zlib ]; 393 Rhdf5lib = with pkgs; [ zlib.dev ]; 394 Rhpc = with pkgs; [ zlib bzip2.dev icu xz.dev mpi pcre.dev ]; 395 Rhtslib = with pkgs; [ zlib.dev automake autoconf bzip2.dev xz.dev curl.dev ]; 396 rjags = [ pkgs.jags ]; 397 rJava = with pkgs; [ zlib bzip2.dev icu xz.dev pcre.dev jdk libzip ]; 398 Rlibeemd = [ pkgs.gsl ]; 399 rmatio = [ pkgs.zlib.dev ]; 400 Rmpfr = with pkgs; [ gmp mpfr.dev ]; 401 Rmpi = [ pkgs.mpi ]; 402 RMySQL = with pkgs; [ zlib libmysqlclient openssl.dev ]; 403 RNetCDF = with pkgs; [ netcdf udunits ]; 404 RODBC = [ pkgs.libiodbc ]; 405 rpanel = [ pkgs.bwidget ]; 406 Rpoppler = [ pkgs.poppler ]; 407 RPostgreSQL = with pkgs; [ postgresql postgresql ]; 408 RProtoBuf = [ pkgs.protobuf ]; 409 RSclient = [ pkgs.openssl.dev ]; 410 Rserve = [ pkgs.openssl ]; 411 Rssa = [ pkgs.fftw.dev ]; 412 rsvg = [ pkgs.pkg-config ]; 413 runjags = [ pkgs.jags ]; 414 RVowpalWabbit = with pkgs; [ zlib.dev boost ]; 415 rzmq = with pkgs; [ zeromq pkg-config ]; 416 httpuv = [ pkgs.zlib.dev ]; 417 clustermq = [ pkgs.zeromq ]; 418 SAVE = with pkgs; [ zlib bzip2 icu xz pcre ]; 419 sdcTable = with pkgs; [ gmp glpk ]; 420 seewave = with pkgs; [ fftw.dev libsndfile.dev ]; 421 seqinr = [ pkgs.zlib.dev ]; 422 seqminer = with pkgs; [ zlib.dev bzip2 ]; 423 sf = with pkgs; [ gdal proj geos ]; 424 terra = with pkgs; [ gdal proj geos ]; 425 showtext = with pkgs; [ zlib libpng icu freetype.dev ]; 426 simplexreg = [ pkgs.gsl ]; 427 spate = [ pkgs.fftw.dev ]; 428 ssanv = [ pkgs.proj ]; 429 stsm = [ pkgs.gsl ]; 430 stringi = [ pkgs.icu.dev ]; 431 survSNP = [ pkgs.gsl ]; 432 svglite = [ pkgs.libpng.dev ]; 433 sysfonts = with pkgs; [ zlib libpng freetype.dev ]; 434 systemfonts = with pkgs; [ fontconfig.dev freetype.dev ]; 435 TAQMNGR = [ pkgs.zlib.dev ]; 436 tesseract = with pkgs; [ tesseract leptonica ]; 437 tiff = [ pkgs.libtiff.dev ]; 438 tkrplot = with pkgs; [ xorg.libX11 tk.dev ]; 439 topicmodels = [ pkgs.gsl ]; 440 udunits2 = with pkgs; [ udunits expat ]; 441 units = [ pkgs.udunits ]; 442 V8 = [ pkgs.v8 ]; 443 XBRL = with pkgs; [ zlib libxml2.dev ]; 444 xml2 = [ pkgs.libxml2.dev ] ++ lib.optionals stdenv.isDarwin [ pkgs.perl ]; 445 XML = with pkgs; [ libtool libxml2.dev xmlsec libxslt ]; 446 affyPLM = [ pkgs.zlib.dev ]; 447 bamsignals = [ pkgs.zlib.dev ]; 448 BitSeq = [ pkgs.zlib.dev ]; 449 DiffBind = [ pkgs.zlib ]; 450 ShortRead = [ pkgs.zlib.dev ]; 451 oligo = [ pkgs.zlib.dev ]; 452 gmapR = [ pkgs.zlib.dev ]; 453 Rsubread = [ pkgs.zlib.dev ]; 454 XVector = [ pkgs.zlib.dev ]; 455 Rsamtools = with pkgs; [ zlib.dev curl.dev ]; 456 rtracklayer = [ pkgs.zlib.dev ]; 457 affyio = [ pkgs.zlib.dev ]; 458 VariantAnnotation = with pkgs; [ zlib.dev curl.dev ]; 459 snpStats = [ pkgs.zlib.dev ]; 460 hdf5r = [ pkgs.hdf5.dev ]; 461 httpgd = with pkgs; [ cairo.dev ]; 462 SymTS = [ pkgs.gsl ]; 463 VBLPCM = [ pkgs.gsl ]; 464 dynr = [ pkgs.gsl ]; 465 mixlink = [ pkgs.gsl ]; 466 ridge = [ pkgs.gsl ]; 467 smam = [ pkgs.gsl ]; 468 rnetcarto = [ pkgs.gsl ]; 469 rGEDI = [ pkgs.gsl ]; 470 mmpca = [ pkgs.gsl ]; 471 monoreg = [ pkgs.gsl ]; 472 mvst = [ pkgs.gsl ]; 473 mixture = [ pkgs.gsl ]; 474 jSDM = [ pkgs.gsl ]; 475 immunoClust = [ pkgs.gsl ]; 476 hSDM = [ pkgs.gsl ]; 477 flowPeaks = [ pkgs.gsl ]; 478 fRLR = [ pkgs.gsl ]; 479 eaf = [ pkgs.gsl ]; 480 diseq = [ pkgs.gsl ]; 481 cit = [ pkgs.gsl ]; 482 abn = [ pkgs.gsl ]; 483 SimInf = [ pkgs.gsl ]; 484 RJMCMCNucleosomes = [ pkgs.gsl ]; 485 RDieHarder = [ pkgs.gsl ]; 486 QF = [ pkgs.gsl ]; 487 PICS = [ pkgs.gsl ]; 488 RcppCWB = [ pkgs.pkg-config ]; 489 rrd = [ pkgs.pkg-config ]; 490 trackViewer = [ pkgs.zlib.dev ]; 491 themetagenomics = [ pkgs.zlib.dev ]; 492 NanoMethViz = [ pkgs.zlib.dev ]; 493 RcppMeCab = [ pkgs.pkg-config ]; 494 HilbertVisGUI = with pkgs; [ pkg-config which ]; 495 textshaping = [ pkgs.pkg-config ]; 496 ragg = [ pkgs.pkg-config ]; 497 qqconf = [ pkgs.pkg-config ]; 498 }; 499 500 packagesWithBuildInputs = { 501 # sort -t '=' -k 2 502 svKomodo = [ pkgs.which ]; 503 nat = [ pkgs.which ]; 504 nat_templatebrains = [ pkgs.which ]; 505 pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.darwin.binutils ]; 506 bigmemory = lib.optionals stdenv.isLinux [ pkgs.libuuid.dev ]; 507 clustermq = [ pkgs.pkg-config ]; 508 RMark = [ pkgs.which ]; 509 RPushbullet = [ pkgs.which ]; 510 RCurl = [ pkgs.curl.dev ]; 511 R2SWF = [ pkgs.pkg-config ]; 512 rgl = with pkgs; [ libGLU libGLU.dev libGL xorg.libX11.dev freetype.dev libpng.dev ]; 513 RGtk2 = [ pkgs.pkg-config ]; 514 RProtoBuf = [ pkgs.pkg-config ]; 515 Rpoppler = [ pkgs.pkg-config ]; 516 XML = [ pkgs.pkg-config ]; 517 cairoDevice = [ pkgs.pkg-config ]; 518 chebpol = [ pkgs.pkg-config ]; 519 fftw = [ pkgs.pkg-config ]; 520 gdtools = [ pkgs.pkg-config ]; 521 jqr = [ pkgs.jq.lib ]; 522 kza = [ pkgs.pkg-config ]; 523 lwgeom = with pkgs; [ pkg-config proj.dev sqlite.dev ]; 524 magick = [ pkgs.pkg-config ]; 525 mwaved = [ pkgs.pkg-config ]; 526 odbc = [ pkgs.pkg-config ]; 527 openssl = [ pkgs.pkg-config ]; 528 pdftools = [ pkgs.pkg-config ]; 529 sf = with pkgs; [ pkg-config sqlite.dev proj.dev ]; 530 terra = with pkgs; [ pkg-config sqlite.dev proj.dev ]; 531 showtext = [ pkgs.pkg-config ]; 532 spate = [ pkgs.pkg-config ]; 533 stringi = [ pkgs.pkg-config ]; 534 sysfonts = [ pkgs.pkg-config ]; 535 systemfonts = [ pkgs.pkg-config ]; 536 tesseract = [ pkgs.pkg-config ]; 537 Cairo = [ pkgs.pkg-config ]; 538 CLVTools = [ pkgs.gsl ]; 539 JMcmprsk = [ pkgs.gsl ]; 540 mashr = [ pkgs.gsl ]; 541 hadron = [ pkgs.gsl ]; 542 AMOUNTAIN = [ pkgs.gsl ]; 543 Rsymphony = with pkgs; [ pkg-config doxygen graphviz subversion ]; 544 tcltk2 = with pkgs; [ tcl tk ]; 545 tikzDevice = with pkgs; [ which texlive.combined.scheme-medium ]; 546 gridGraphics = [ pkgs.which ]; 547 adimpro = with pkgs; [ which xorg.xdpyinfo ]; 548 rsvg = [ pkgs.librsvg.dev ]; 549 ssh = with pkgs; [ libssh ]; 550 s2 = [ pkgs.openssl.dev ]; 551 ArrayExpressHTS = with pkgs; [ zlib.dev curl.dev which ]; 552 bbl = with pkgs; [ gsl ]; 553 writexl = with pkgs; [ zlib.dev ]; 554 qpdf = with pkgs; [ libjpeg.dev zlib.dev ]; 555 vcfR = with pkgs; [ zlib.dev ]; 556 bio3d = with pkgs; [ zlib.dev ]; 557 arrangements = with pkgs; [ gmp.dev ]; 558 spp = with pkgs; [ zlib.dev ]; 559 Rbowtie = with pkgs; [ zlib.dev ]; 560 gaston = with pkgs; [ zlib.dev ]; 561 csaw = with pkgs; [ zlib.dev curl ]; 562 DirichletMultinomial = with pkgs; [ gsl ]; 563 DiffBind = with pkgs; [ zlib.dev ]; 564 CNEr = with pkgs; [ zlib ]; 565 GMMAT = with pkgs; [ zlib.dev bzip2.dev ]; 566 HiCDCPlus = [ pkgs.zlib.dev ]; 567 PopGenome = [ pkgs.zlib.dev ]; 568 QuasR = [ pkgs.zlib.dev ]; 569 Rbowtie2 = [ pkgs.zlib.dev ]; 570 Rmmquant = [ pkgs.zlib.dev ]; 571 SICtools = with pkgs; [ zlib.dev ncurses.dev ]; 572 Signac = [ pkgs.zlib.dev ]; 573 TransView = [ pkgs.zlib.dev ]; 574 bigsnpr = [ pkgs.zlib.dev ]; 575 divest = [ pkgs.zlib.dev ]; 576 hipread = [ pkgs.zlib.dev ]; 577 jackalope = with pkgs; [ zlib.dev xz.dev ]; 578 largeList = [ pkgs.zlib.dev ]; 579 mappoly = [ pkgs.zlib.dev ]; 580 matchingMarkets = [ pkgs.zlib.dev ]; 581 methylKit = [ pkgs.zlib.dev ]; 582 ndjson = [ pkgs.zlib.dev ]; 583 podkat = [ pkgs.zlib.dev ]; 584 qrqc = [ pkgs.zlib.dev ]; 585 rJPSGCS = [ pkgs.zlib.dev ]; 586 rhdf5filters = with pkgs; [ zlib.dev bzip2.dev ]; 587 rtk = [ pkgs.zlib.dev ]; 588 scPipe = [ pkgs.zlib.dev ]; 589 seqTools = [ pkgs.zlib.dev ]; 590 seqbias = [ pkgs.zlib.dev ]; 591 sparkwarc = [ pkgs.zlib.dev ]; 592 RoBMA = [ pkgs.jags ]; 593 rGEDI = with pkgs; [ libgeotiff.dev libaec zlib.dev hdf5.dev ]; 594 rawrr = [ pkgs.mono ]; 595 HDF5Array = [ pkgs.zlib.dev ]; 596 FLAMES = [ pkgs.zlib.dev ]; 597 ncdfFlow = [ pkgs.zlib.dev ]; 598 proj4 = [ pkgs.proj.dev ]; 599 rtmpt = [ pkgs.gsl ]; 600 rmarkdown = [ pkgs.pandoc ]; 601 mixcat = [ pkgs.gsl ]; 602 libstableR = [ pkgs.gsl ]; 603 landsepi = [ pkgs.gsl ]; 604 flan = [ pkgs.gsl ]; 605 econetwork = [ pkgs.gsl ]; 606 crandep = [ pkgs.gsl ]; 607 catSurv = [ pkgs.gsl ]; 608 ccfindR = [ pkgs.gsl ]; 609 SPARSEMODr = [ pkgs.gsl ]; 610 RKHSMetaMod = [ pkgs.gsl ]; 611 LCMCR = [ pkgs.gsl ]; 612 BNSP = [ pkgs.gsl ]; 613 scModels = [ pkgs.mpfr.dev ]; 614 multibridge = [ pkgs.mpfr.dev ]; 615 RcppCWB = with pkgs; [ pcre.dev glib.dev ]; 616 RmecabKo = [ pkgs.mecab ]; 617 PoissonBinomial = [ pkgs.fftw.dev ]; 618 rrd = [ pkgs.rrdtool ]; 619 flowWorkspace = [ pkgs.zlib.dev ]; 620 RcppMeCab = [ pkgs.mecab ]; 621 PING = [ pkgs.gsl ]; 622 RcppAlgos = [ pkgs.gmp.dev ]; 623 RcppBigIntAlgos = [ pkgs.gmp.dev ]; 624 HilbertVisGUI = [ pkgs.gtkmm2.dev ]; 625 textshaping = with pkgs; [ harfbuzz.dev freetype.dev fribidi libpng ]; 626 DropletUtils = [ pkgs.zlib.dev ]; 627 RMariaDB = [ pkgs.libmysqlclient.dev ]; 628 ragg = with pkgs; [ freetype.dev libpng.dev libtiff.dev zlib.dev libjpeg.dev bzip2.dev ]; 629 qqconf = [ pkgs.fftw.dev ]; 630 }; 631 632 packagesRequiringX = [ 633 "accrual" 634 "ade4TkGUI" 635 "analogue" 636 "analogueExtra" 637 "AnalyzeFMRI" 638 "AnnotLists" 639 "AnthropMMD" 640 "aplpack" 641 "asbio" 642 "BAT" 643 "BCA" 644 "betapart" 645 "BiodiversityR" 646 "bio_infer" 647 "bipartite" 648 "biplotbootGUI" 649 "blender" 650 "cairoDevice" 651 "canceR" 652 "CCTpack" 653 "cncaGUI" 654 "cocorresp" 655 "CommunityCorrelogram" 656 "confidence" 657 "constrainedKriging" 658 "ConvergenceConcepts" 659 "cpa" 660 "DALY" 661 "dave" 662 "Deducer" 663 "DeducerPlugInExample" 664 "DeducerPlugInScaling" 665 "DeducerSpatial" 666 "DeducerSurvival" 667 "DeducerText" 668 "Demerelate" 669 "detrendeR" 670 "dpa" 671 "dynamicGraph" 672 "dynBiplotGUI" 673 "EasyqpcR" 674 "EcoVirtual" 675 "exactLoglinTest" 676 "fat2Lpoly" 677 "fbati" 678 "FD" 679 "feature" 680 "FeedbackTS" 681 "FFD" 682 "fgui" 683 "fisheyeR" 684 "forams" 685 "forensim" 686 "FreeSortR" 687 "fscaret" 688 "gcmr" 689 "geomorph" 690 "geoR" 691 "georob" 692 "GGEBiplotGUI" 693 "gnm" 694 "GrapheR" 695 "GroupSeq" 696 "gsubfn" 697 "GUniFrac" 698 "gWidgets2RGtk2" 699 "gWidgets2tcltk" 700 "HH" 701 "HiveR" 702 "ic50" 703 "iDynoR" 704 "in2extRemes" 705 "iplots" 706 "isopam" 707 "IsotopeR" 708 "JGR" 709 "KappaGUI" 710 "likeLTD" 711 "logmult" 712 "loon" 713 "LS2Wstat" 714 "MareyMap" 715 "memgene" 716 "metacom" 717 "Meth27QC" 718 "migui" 719 "miniGUI" 720 "mixsep" 721 "MplusAutomation" 722 "mpmcorrelogram" 723 "mritc" 724 "multgee" 725 "multibiplotGUI" 726 "OligoSpecificitySystem" 727 "onemap" 728 "OpenRepGrid" 729 "paleoMAS" 730 "pbatR" 731 "PBSadmb" 732 "PBSmodelling" 733 "PCPS" 734 "pez" 735 "phylotools" 736 "picante" 737 "plotSEMM" 738 "plsRbeta" 739 "plsRglm" 740 "PopGenReport" 741 "poppr" 742 "powerpkg" 743 "PredictABEL" 744 "prefmod" 745 "PrevMap" 746 "r4ss" 747 "RandomFields" 748 "rareNMtests" 749 "rAverage" 750 "RclusTool" 751 "Rcmdr" 752 "RcmdrPlugin_coin" 753 "RcmdrPlugin_depthTools" 754 "RcmdrPlugin_DoE" 755 "RcmdrPlugin_EACSPIR" 756 "RcmdrPlugin_EBM" 757 "RcmdrPlugin_EcoVirtual" 758 "RcmdrPlugin_EZR" 759 "RcmdrPlugin_FactoMineR" 760 "RcmdrPlugin_FuzzyClust" 761 "RcmdrPlugin_HH" 762 "RcmdrPlugin_IPSUR" 763 "RcmdrPlugin_KMggplot2" 764 "RcmdrPlugin_lfstat" 765 "RcmdrPlugin_MA" 766 "RcmdrPlugin_MPAStats" 767 "RcmdrPlugin_orloca" 768 "RcmdrPlugin_PcaRobust" 769 "RcmdrPlugin_plotByGroup" 770 "RcmdrPlugin_pointG" 771 "RcmdrPlugin_ROC" 772 "RcmdrPlugin_sampling" 773 "RcmdrPlugin_SCDA" 774 "RcmdrPlugin_SLC" 775 "RcmdrPlugin_sos" 776 "RcmdrPlugin_steepness" 777 "RcmdrPlugin_survival" 778 "RcmdrPlugin_TeachingDemos" 779 "RcmdrPlugin_temis" 780 "RcmdrPlugin_UCA" 781 "recluster" 782 "relimp" 783 "RHRV" 784 "rich" 785 "RNCEP" 786 "RSDA" 787 "RSurvey" 788 "simba" 789 "Simile" 790 "SimpleTable" 791 "SOLOMON" 792 "soundecology" 793 "spatsurv" 794 "sqldf" 795 "SSDforR" 796 "statcheck" 797 "StatDA" 798 "STEPCAM" 799 "stosim" 800 "strvalidator" 801 "stylo" 802 "svDialogstcltk" 803 "svIDE" 804 "svSocket" 805 "svWidgets" 806 "SYNCSA" 807 "SyNet" 808 "tcltk2" 809 "TestScorer" 810 "TIMP" 811 "tkrplot" 812 "tmap" 813 "tspmeta" 814 "TTAinterfaceTrendAnalysis" 815 "twiddler" 816 "uHMM" 817 "vcdExtra" 818 "VecStatGraphs3D" 819 "vegan" 820 "vegan3d" 821 "vegclust" 822 "x12GUI" 823 ]; 824 825 packagesRequiringHome = [ 826 "aroma_affymetrix" 827 "aroma_cn" 828 "aroma_core" 829 "csodata" 830 "DiceView" 831 "MSnID" 832 "OmnipathR" 833 "precommit" 834 "PSCBS" 835 "repmis" 836 "R_cache" 837 "R_filesets" 838 "RKorAPClient" 839 "R_rsp" 840 "scholar" 841 "stepR" 842 "styler" 843 "TreeTools" 844 "ACNE" 845 "APAlyzer" 846 "EstMix" 847 "PECA" 848 "Quartet" 849 "ShinyQuickStarter" 850 "TIN" 851 "TotalCopheneticIndex" 852 "TreeDist" 853 "biocthis" 854 "calmate" 855 "fgga" 856 "fulltext" 857 "immuneSIM" 858 "mastif" 859 "shinymeta" 860 "shinyobjects" 861 "wppi" 862 "pins" 863 "CoTiMA" 864 "TBRDist" 865 "Rogue" 866 "fixest" 867 "paxtoolsr" 868 "systemPipeShiny" 869 ]; 870 871 packagesToSkipCheck = [ 872 "Rmpi" # tries to run MPI processes 873 "pbdMPI" # tries to run MPI processes 874 "data_table" # fails to rename shared library before check 875 ]; 876 877 # Packages which cannot be installed due to lack of dependencies or other reasons. 878 brokenPackages = [ 879 "av" 880 "NetLogoR" 881 "valse" 882 "HierO" 883 "HIBAG" 884 "HiveR" 885 886 # Impure network access during build 887 "waddR" 888 "tiledb" 889 "x13binary" 890 "switchr" 891 892 # ExperimentHub dependents, require net access during build 893 "DuoClustering2018" 894 "FieldEffectCrc" 895 "GenomicDistributionsData" 896 "HDCytoData" 897 "HMP16SData" 898 "PANTHER_db" 899 "RNAmodR_Data" 900 "SCATEData" 901 "SingleMoleculeFootprintingData" 902 "TabulaMurisData" 903 "benchmarkfdrData2019" 904 "bodymapRat" 905 "clustifyrdatahub" 906 "depmap" 907 "emtdata" 908 "metaboliteIDmapping" 909 "msigdb" 910 "muscData" 911 "org_Mxanthus_db" 912 "scpdata" 913 "nullrangesData" 914 ]; 915 916 otherOverrides = old: new: { 917 gifski = old.gifski.overrideAttrs (attrs: { 918 cargoDeps = pkgs.rustPlatform.fetchCargoTarball { 919 src = attrs.src; 920 sourceRoot = "gifski/src/myrustlib"; 921 hash = "sha256-vBrTQ+5JZA8554Aasbqw7mbaOfJNQjrOpG00IXAcamI="; 922 }; 923 924 cargoRoot = "src/myrustlib"; 925 926 nativeBuildInputs = attrs.nativeBuildInputs ++ [ 927 pkgs.rustPlatform.cargoSetupHook 928 pkgs.cargo 929 pkgs.rustc 930 ]; 931 }); 932 933 stringi = old.stringi.overrideAttrs (attrs: { 934 postInstall = let 935 icuName = "icudt52l"; 936 icuSrc = pkgs.fetchzip { 937 url = "http://static.rexamine.com/packages/${icuName}.zip"; 938 sha256 = "0hvazpizziq5ibc9017i1bb45yryfl26wzfsv05vk9mc1575r6xj"; 939 stripRoot = false; 940 }; 941 in '' 942 ${attrs.postInstall or ""} 943 cp ${icuSrc}/${icuName}.dat $out/library/stringi/libs 944 ''; 945 }); 946 947 xml2 = old.xml2.overrideAttrs (attrs: { 948 preConfigure = '' 949 export LIBXML_INCDIR=${pkgs.libxml2.dev}/include/libxml2 950 patchShebangs configure 951 ''; 952 }); 953 954 rzmq = old.rzmq.overrideAttrs (attrs: { 955 preConfigure = "patchShebangs configure"; 956 }); 957 958 clustermq = old.clustermq.overrideAttrs (attrs: { 959 preConfigure = "patchShebangs configure"; 960 }); 961 962 Cairo = old.Cairo.overrideAttrs (attrs: { 963 NIX_LDFLAGS = "-lfontconfig"; 964 }); 965 966 curl = old.curl.overrideAttrs (attrs: { 967 preConfigure = "patchShebangs configure"; 968 }); 969 970 RcppParallel = old.RcppParallel.overrideAttrs (attrs: { 971 preConfigure = "patchShebangs configure"; 972 }); 973 974 purrr = old.purrr.overrideAttrs (attrs: { 975 patchPhase = "patchShebangs configure"; 976 }); 977 978 RcppArmadillo = old.RcppArmadillo.overrideAttrs (attrs: { 979 patchPhase = "patchShebangs configure"; 980 }); 981 982 data_table = old.data_table.overrideAttrs (attrs: { 983 env = (attrs.env or { }) // { 984 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -fopenmp"; 985 }; 986 patchPhase = "patchShebangs configure"; 987 }); 988 989 ModelMetrics = old.ModelMetrics.overrideAttrs (attrs: { 990 env = (attrs.env or { }) // { 991 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + lib.optionalString stdenv.isDarwin " -fopenmp"; 992 }; 993 }); 994 995 rpf = old.rpf.overrideAttrs (attrs: { 996 patchPhase = "patchShebangs configure"; 997 }); 998 999 rJava = old.rJava.overrideAttrs (attrs: { 1000 preConfigure = '' 1001 export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/ 1002 export JAVA_HOME=${pkgs.jdk} 1003 ''; 1004 }); 1005 1006 JavaGD = old.JavaGD.overrideAttrs (attrs: { 1007 preConfigure = '' 1008 export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/ 1009 export JAVA_HOME=${pkgs.jdk} 1010 ''; 1011 }); 1012 1013 jqr = old.jqr.overrideAttrs (attrs: { 1014 preConfigure = '' 1015 patchShebangs configure 1016 ''; 1017 }); 1018 1019 pbdZMQ = old.pbdZMQ.overrideAttrs (attrs: { 1020 postPatch = lib.optionalString stdenv.isDarwin '' 1021 for file in R/*.{r,r.in}; do 1022 sed -i 's#system("which \(\w\+\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file 1023 done 1024 ''; 1025 }); 1026 1027 quarto = old.quarto.overrideAttrs (attrs: { 1028 postPatch = '' 1029 substituteInPlace "R/quarto.R" \ 1030 --replace "path_env <- Sys.getenv(\"QUARTO_PATH\", unset = NA)" "path_env <- Sys.getenv(\"QUARTO_PATH\", unset = '${lib.getBin pkgs.quarto}/bin/quarto')" 1031 ''; 1032 }); 1033 1034 s2 = old.s2.overrideAttrs (attrs: { 1035 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; 1036 PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; 1037 }); 1038 1039 Rmpi = old.Rmpi.overrideAttrs (attrs: { 1040 configureFlags = [ 1041 "--with-Rmpi-type=OPENMPI" 1042 ]; 1043 }); 1044 1045 Rmpfr = old.Rmpfr.overrideAttrs (attrs: { 1046 configureFlags = [ 1047 "--with-mpfr-include=${pkgs.mpfr.dev}/include" 1048 ]; 1049 }); 1050 1051 RVowpalWabbit = old.RVowpalWabbit.overrideAttrs (attrs: { 1052 configureFlags = [ 1053 "--with-boost=${pkgs.boost.dev}" "--with-boost-libdir=${pkgs.boost.out}/lib" 1054 ]; 1055 }); 1056 1057 RAppArmor = old.RAppArmor.overrideAttrs (attrs: { 1058 patches = [ ./patches/RAppArmor.patch ]; 1059 LIBAPPARMOR_HOME = pkgs.libapparmor; 1060 }); 1061 1062 RMySQL = old.RMySQL.overrideAttrs (attrs: { 1063 MYSQL_DIR = "${pkgs.libmysqlclient}"; 1064 PKGCONFIG_CFLAGS = "-I${pkgs.libmysqlclient.dev}/include/mysql"; 1065 NIX_CFLAGS_LINK = "-L${pkgs.libmysqlclient}/lib/mysql -lmysqlclient"; 1066 preConfigure = '' 1067 patchShebangs configure 1068 ''; 1069 }); 1070 1071 devEMF = old.devEMF.overrideAttrs (attrs: { 1072 NIX_CFLAGS_LINK = "-L${pkgs.xorg.libXft.out}/lib -lXft"; 1073 NIX_LDFLAGS = "-lX11"; 1074 }); 1075 1076 slfm = old.slfm.overrideAttrs (attrs: { 1077 PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack"; 1078 }); 1079 1080 SamplerCompare = old.SamplerCompare.overrideAttrs (attrs: { 1081 PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack"; 1082 }); 1083 1084 spMC = old.spMC.overrideAttrs (attrs: { 1085 patches = [ ./patches/spMC.patch ]; 1086 }); 1087 1088 openssl = old.openssl.overrideAttrs (attrs: { 1089 preConfigure = '' 1090 patchShebangs configure 1091 ''; 1092 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; 1093 PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; 1094 }); 1095 1096 websocket = old.websocket.overrideAttrs (attrs: { 1097 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; 1098 PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; 1099 }); 1100 1101 Rserve = old.Rserve.overrideAttrs (attrs: { 1102 patches = [ ./patches/Rserve.patch ]; 1103 configureFlags = [ 1104 "--with-server" "--with-client" 1105 ]; 1106 }); 1107 1108 V8 = old.V8.overrideAttrs (attrs: { 1109 postPatch = '' 1110 substituteInPlace configure \ 1111 --replace " -lv8_libplatform" "" 1112 ''; 1113 1114 preConfigure = '' 1115 export INCLUDE_DIR=${pkgs.v8}/include 1116 export LIB_DIR=${pkgs.v8}/lib 1117 patchShebangs configure 1118 ''; 1119 1120 R_MAKEVARS_SITE = lib.optionalString (pkgs.stdenv.system == "aarch64-linux") 1121 (pkgs.writeText "Makevars" '' 1122 CXX14PICFLAGS = -fPIC 1123 ''); 1124 }); 1125 1126 acs = old.acs.overrideAttrs (attrs: { 1127 preConfigure = '' 1128 patchShebangs configure 1129 ''; 1130 }); 1131 1132 gdtools = old.gdtools.overrideAttrs (attrs: { 1133 preConfigure = '' 1134 patchShebangs configure 1135 ''; 1136 NIX_LDFLAGS = "-lfontconfig -lfreetype"; 1137 }); 1138 1139 magick = old.magick.overrideAttrs (attrs: { 1140 preConfigure = '' 1141 patchShebangs configure 1142 ''; 1143 }); 1144 1145 libgeos = old.libgeos.overrideAttrs (attrs: { 1146 preConfigure = '' 1147 patchShebangs configure 1148 ''; 1149 }); 1150 1151 protolite = old.protolite.overrideAttrs (attrs: { 1152 preConfigure = '' 1153 patchShebangs configure 1154 ''; 1155 }); 1156 1157 rpanel = old.rpanel.overrideAttrs (attrs: { 1158 preConfigure = '' 1159 export TCLLIBPATH="${pkgs.bwidget}/lib/bwidget${pkgs.bwidget.version}" 1160 ''; 1161 TCLLIBPATH = "${pkgs.bwidget}/lib/bwidget${pkgs.bwidget.version}"; 1162 }); 1163 1164 RPostgres = old.RPostgres.overrideAttrs (attrs: { 1165 preConfigure = '' 1166 export INCLUDE_DIR=${pkgs.postgresql}/include 1167 export LIB_DIR=${pkgs.postgresql.lib}/lib 1168 patchShebangs configure 1169 ''; 1170 }); 1171 1172 OpenMx = old.OpenMx.overrideAttrs (attrs: { 1173 preConfigure = '' 1174 patchShebangs configure 1175 ''; 1176 }); 1177 1178 odbc = old.odbc.overrideAttrs (attrs: { 1179 preConfigure = '' 1180 patchShebangs configure 1181 ''; 1182 }); 1183 1184 x13binary = old.x13binary.overrideAttrs (attrs: { 1185 preConfigure = '' 1186 patchShebangs configure 1187 ''; 1188 }); 1189 1190 geojsonio = old.geojsonio.overrideAttrs (attrs: { 1191 buildInputs = [ cacert ] ++ attrs.buildInputs; 1192 }); 1193 1194 rstan = old.rstan.overrideAttrs (attrs: { 1195 env = (attrs.env or { }) // { 1196 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION"; 1197 }; 1198 }); 1199 1200 mongolite = old.mongolite.overrideAttrs (attrs: { 1201 preConfigure = '' 1202 patchShebangs configure 1203 ''; 1204 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include -I${pkgs.cyrus_sasl.dev}/include -I${pkgs.zlib.dev}/include"; 1205 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"; 1206 }); 1207 1208 ps = old.ps.overrideAttrs (attrs: { 1209 preConfigure = "patchShebangs configure"; 1210 }); 1211 1212 rlang = old.rlang.overrideAttrs (attrs: { 1213 preConfigure = "patchShebangs configure"; 1214 }); 1215 1216 systemfonts = old.systemfonts.overrideAttrs (attrs: { 1217 preConfigure = "patchShebangs configure"; 1218 }); 1219 1220 littler = old.littler.overrideAttrs (attrs: with pkgs; { 1221 buildInputs = [ pcre xz zlib bzip2 icu which ] ++ attrs.buildInputs; 1222 postInstall = '' 1223 install -d $out/bin $out/share/man/man1 1224 ln -s ../library/littler/bin/r $out/bin/r 1225 ln -s ../library/littler/bin/r $out/bin/lr 1226 ln -s ../../../library/littler/man-page/r.1 $out/share/man/man1 1227 # these won't run without special provisions, so better remove them 1228 rm -r $out/library/littler/script-tests 1229 ''; 1230 }); 1231 1232 lpsymphony = old.lpsymphony.overrideAttrs (attrs: { 1233 preConfigure = '' 1234 patchShebangs configure 1235 ''; 1236 }); 1237 1238 sodium = old.sodium.overrideAttrs (attrs: with pkgs; { 1239 preConfigure = '' 1240 patchShebangs configure 1241 ''; 1242 nativeBuildInputs = [ pkg-config ] ++ attrs.nativeBuildInputs; 1243 buildInputs = [ libsodium.dev ] ++ attrs.buildInputs; 1244 }); 1245 1246 keyring = old.keyring.overrideAttrs (attrs: { 1247 preConfigure = '' 1248 patchShebangs configure 1249 ''; 1250 }); 1251 1252 Rhtslib = old.Rhtslib.overrideAttrs (attrs: { 1253 preConfigure = '' 1254 substituteInPlace R/zzz.R --replace "-lcurl" "-L${pkgs.curl.out}/lib -lcurl" 1255 ''; 1256 }); 1257 1258 h2o = old.h2o.overrideAttrs (attrs: { 1259 preConfigure = '' 1260 # prevent download of jar file during install and postpone to first use 1261 sed -i '/downloadJar()/d' R/zzz.R 1262 1263 # during runtime the package directory is not writable as it's in the 1264 # nix store, so store the jar in the user's cache directory instead 1265 substituteInPlace R/connection.R --replace \ 1266 'dest_file <- file.path(dest_folder, "h2o.jar")' \ 1267 'dest_file <- file.path("~/.cache/", "h2o.jar")' 1268 ''; 1269 }); 1270 1271 SICtools = old.SICtools.overrideAttrs (attrs: { 1272 preConfigure = '' 1273 substituteInPlace src/Makefile --replace "-lcurses" "-lncurses" 1274 ''; 1275 }); 1276 1277 arrow = old.arrow.overrideAttrs (attrs: { 1278 preConfigure = '' 1279 patchShebangs configure 1280 ''; 1281 }); 1282 1283 sparklyr = old.sparklyr.overrideAttrs (attrs: { 1284 # Pyspark's spark is full featured and better maintained than pkgs.spark 1285 preConfigure = '' 1286 substituteInPlace R/zzz.R \ 1287 --replace ".onLoad <- function(...) {" \ 1288 ".onLoad <- function(...) { 1289 Sys.setenv(\"SPARK_HOME\" = Sys.getenv(\"SPARK_HOME\", unset = \"${pkgs.python3Packages.pyspark}/lib/${pkgs.python3Packages.python.libPrefix}/site-packages/pyspark\")) 1290 Sys.setenv(\"JAVA_HOME\" = Sys.getenv(\"JAVA_HOME\", unset = \"${pkgs.jdk}\"))" 1291 ''; 1292 }); 1293 1294 proj4 = old.proj4.overrideAttrs (attrs: { 1295 preConfigure = '' 1296 substituteInPlace configure \ 1297 --replace "-lsqlite3" "-L${lib.makeLibraryPath [ pkgs.sqlite ]} -lsqlite3" 1298 ''; 1299 }); 1300 1301 rrd = old.rrd.overrideAttrs (attrs: { 1302 preConfigure = '' 1303 patchShebangs configure 1304 ''; 1305 }); 1306 1307 ChIPXpress = old.ChIPXpress.override { hydraPlatforms = []; }; 1308 1309 rgl = old.rgl.overrideAttrs (attrs: { 1310 RGL_USE_NULL = "true"; 1311 }); 1312 1313 Rrdrand = old.Rrdrand.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; }; 1314 1315 RandomFieldsUtils = old.RandomFieldsUtils.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; }; 1316 1317 flowClust = old.flowClust.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; }; 1318 1319 geomorph = old.geomorph.overrideAttrs (attrs: { 1320 RGL_USE_NULL = "true"; 1321 }); 1322 1323 Rhdf5lib = let 1324 hdf5 = pkgs.hdf5_1_10.overrideAttrs (attrs: {configureFlags = attrs.configureFlags ++ ["--enable-cxx"];}); 1325 in old.Rhdf5lib.overrideAttrs (attrs: { 1326 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ hdf5.dev pkgs.libaec ]; 1327 patches = [ ./patches/Rhdf5lib.patch ]; 1328 passthru.hdf5 = hdf5; 1329 }); 1330 1331 rhdf5filters = old.rhdf5filters.overrideAttrs (attrs: { 1332 propagatedBuildInputs = with pkgs; attrs.propagatedBuildInputs ++ [ (hdf5-blosc.override {hdf5 = self.Rhdf5lib.hdf5;}) ]; 1333 patches = [ ./patches/rhdf5filters.patch ]; 1334 }); 1335 1336 rhdf5= old.rhdf5.overrideAttrs (attrs: { 1337 patches = [ ./patches/rhdf5.patch ]; 1338 }); 1339 1340 textshaping = old.textshaping.overrideAttrs (attrs: { 1341 env.NIX_LDFLAGS = "-lfribidi -lharfbuzz"; 1342 }); 1343 }; 1344in 1345 self