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