Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at release-19.03 961 lines 27 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}: args: 19 lib.makeOverridable ({ 20 name, version, sha256, 21 depends ? [], 22 doCheck ? true, 23 requireX ? false, 24 broken ? false, 25 hydraPlatforms ? R.meta.hydraPlatforms 26 }: buildRPackage { 27 name = "${name}-${version}"; 28 src = fetchurl { 29 inherit sha256; 30 urls = mkUrls (args // { inherit name version; }); 31 }; 32 inherit doCheck requireX; 33 propagatedBuildInputs = depends; 34 nativeBuildInputs = depends; 35 meta.homepage = mkHomepage (args // { inherit name; }); 36 meta.platforms = R.meta.platforms; 37 meta.hydraPlatforms = hydraPlatforms; 38 meta.broken = broken; 39 }); 40 41 # Templates for generating Bioconductor and CRAN packages 42 # from the name, version, sha256, and optional per-package arguments above 43 # 44 deriveBioc = mkDerive { 45 mkHomepage = {name, biocVersion, ...}: "https://bioconductor.org/packages/${biocVersion}/bioc/html/${name}.html"; 46 mkUrls = {name, version, biocVersion}: [ "mirror://bioc/${biocVersion}/bioc/src/contrib/${name}_${version}.tar.gz" 47 "mirror://bioc/${biocVersion}/bioc/src/contrib/Archive/${name}_${version}.tar.gz" ]; 48 }; 49 deriveBiocAnn = mkDerive { 50 mkHomepage = {name, ...}: "http://www.bioconductor.org/packages/${name}.html"; 51 mkUrls = {name, version, biocVersion}: [ "mirror://bioc/${biocVersion}/data/annotation/src/contrib/${name}_${version}.tar.gz" ]; 52 }; 53 deriveBiocExp = mkDerive { 54 mkHomepage = {name, ...}: "http://www.bioconductor.org/packages/${name}.html"; 55 mkUrls = {name, version, biocVersion}: [ "mirror://bioc/${biocVersion}/data/experiment/src/contrib/${name}_${version}.tar.gz" ]; 56 }; 57 deriveCran = mkDerive { 58 mkHomepage = {name, snapshot, ...}: "http://mran.revolutionanalytics.com/snapshot/${snapshot}/web/packages/${name}/"; 59 mkUrls = {name, version, snapshot}: [ "http://mran.revolutionanalytics.com/snapshot/${snapshot}/src/contrib/${name}_${version}.tar.gz" ]; 60 }; 61 62 # Overrides package definitions with nativeBuildInputs. 63 # For example, 64 # 65 # overrideNativeBuildInputs { 66 # foo = [ pkgs.bar ] 67 # } old 68 # 69 # results in 70 # 71 # { 72 # foo = old.foo.overrideDerivation (attrs: { 73 # nativeBuildInputs = attrs.nativeBuildInputs ++ [ pkgs.bar ]; 74 # }); 75 # } 76 overrideNativeBuildInputs = overrides: old: 77 lib.mapAttrs (name: value: 78 (builtins.getAttr name old).overrideDerivation (attrs: { 79 nativeBuildInputs = attrs.nativeBuildInputs ++ value; 80 }) 81 ) overrides; 82 83 # Overrides package definitions with buildInputs. 84 # For example, 85 # 86 # overrideBuildInputs { 87 # foo = [ pkgs.bar ] 88 # } old 89 # 90 # results in 91 # 92 # { 93 # foo = old.foo.overrideDerivation (attrs: { 94 # buildInputs = attrs.buildInputs ++ [ pkgs.bar ]; 95 # }); 96 # } 97 overrideBuildInputs = overrides: old: 98 lib.mapAttrs (name: value: 99 (builtins.getAttr name old).overrideDerivation (attrs: { 100 buildInputs = attrs.buildInputs ++ value; 101 }) 102 ) overrides; 103 104 # Overrides package definitions with new R dependencies. 105 # For example, 106 # 107 # overrideRDepends { 108 # foo = [ self.bar ] 109 # } old 110 # 111 # results in 112 # 113 # { 114 # foo = old.foo.overrideDerivation (attrs: { 115 # nativeBuildInputs = attrs.nativeBuildInputs ++ [ self.bar ]; 116 # propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs ++ [ self.bar ]; 117 # }); 118 # } 119 overrideRDepends = overrides: old: 120 lib.mapAttrs (name: value: 121 (builtins.getAttr name old).overrideDerivation (attrs: { 122 nativeBuildInputs = attrs.nativeBuildInputs ++ value; 123 propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs ++ value; 124 }) 125 ) overrides; 126 127 # Overrides package definition requiring X running to install. 128 # For example, 129 # 130 # overrideRequireX [ 131 # "foo" 132 # ] old 133 # 134 # results in 135 # 136 # { 137 # foo = old.foo.override { 138 # requireX = true; 139 # }; 140 # } 141 overrideRequireX = packageNames: old: 142 let 143 nameValuePairs = map (name: { 144 inherit name; 145 value = (builtins.getAttr name old).override { 146 requireX = true; 147 }; 148 }) packageNames; 149 in 150 builtins.listToAttrs nameValuePairs; 151 152 # Overrides package definition to skip check. 153 # For example, 154 # 155 # overrideSkipCheck [ 156 # "foo" 157 # ] old 158 # 159 # results in 160 # 161 # { 162 # foo = old.foo.override { 163 # doCheck = false; 164 # }; 165 # } 166 overrideSkipCheck = packageNames: old: 167 let 168 nameValuePairs = map (name: { 169 inherit name; 170 value = (builtins.getAttr name old).override { 171 doCheck = false; 172 }; 173 }) packageNames; 174 in 175 builtins.listToAttrs nameValuePairs; 176 177 # Overrides package definition to mark it broken. 178 # For example, 179 # 180 # overrideBroken [ 181 # "foo" 182 # ] old 183 # 184 # results in 185 # 186 # { 187 # foo = old.foo.override { 188 # broken = true; 189 # }; 190 # } 191 overrideBroken = packageNames: old: 192 let 193 nameValuePairs = map (name: { 194 inherit name; 195 value = (builtins.getAttr name old).override { 196 broken = true; 197 }; 198 }) packageNames; 199 in 200 builtins.listToAttrs nameValuePairs; 201 202 defaultOverrides = old: new: 203 let old0 = old; in 204 let 205 old1 = old0 // (overrideRequireX packagesRequireingX old0); 206 old2 = old1 // (overrideSkipCheck packagesToSkipCheck old1); 207 old3 = old2 // (overrideRDepends packagesWithRDepends old2); 208 old4 = old3 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old3); 209 old5 = old4 // (overrideBuildInputs packagesWithBuildInputs old4); 210 old6 = old5 // (overrideBroken brokenPackages old5); 211 old = old6; 212 in old // (otherOverrides old new); 213 214 # Recursive override pattern. 215 # `_self` is a collection of packages; 216 # `self` is `_self` with overridden packages; 217 # packages in `_self` may depends on overridden packages. 218 self = (defaultOverrides _self self) // overrides; 219 _self = { inherit buildRPackage; } // 220 import ./bioc-packages.nix { inherit self; derive = deriveBioc; } // 221 import ./bioc-annotation-packages.nix { inherit self; derive = deriveBiocAnn; } // 222 import ./bioc-experiment-packages.nix { inherit self; derive = deriveBiocExp; } // 223 import ./cran-packages.nix { inherit self; derive = deriveCran; }; 224 225 # tweaks for the individual packages and "in self" follow 226 227 packagesWithRDepends = { 228 FactoMineR = [ self.car ]; 229 pander = [ self.codetools ]; 230 }; 231 232 packagesWithNativeBuildInputs = { 233 abn = [ pkgs.gsl_1 ]; 234 adimpro = [ pkgs.imagemagick ]; 235 animation = [ pkgs.which ]; 236 audio = [ pkgs.portaudio ]; 237 BayesSAE = [ pkgs.gsl_1 ]; 238 BayesVarSel = [ pkgs.gsl_1 ]; 239 BayesXsrc = [ pkgs.readline.dev pkgs.ncurses ]; 240 bigGP = [ pkgs.openmpi ]; 241 bio3d = [ pkgs.zlib ]; 242 BiocCheck = [ pkgs.which ]; 243 Biostrings = [ pkgs.zlib ]; 244 bnpmr = [ pkgs.gsl_1 ]; 245 cairoDevice = [ pkgs.gtk2.dev ]; 246 Cairo = [ pkgs.libtiff pkgs.libjpeg pkgs.cairo.dev pkgs.x11 pkgs.fontconfig.lib ]; 247 Cardinal = [ pkgs.which ]; 248 chebpol = [ pkgs.fftw ]; 249 ChemmineOB = [ pkgs.openbabel pkgs.pkgconfig ]; 250 cit = [ pkgs.gsl_1 ]; 251 curl = [ pkgs.curl.dev ]; 252 data_table = lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp; 253 devEMF = [ pkgs.xorg.libXft.dev pkgs.x11 ]; 254 diversitree = [ pkgs.gsl_1 pkgs.fftw ]; 255 EMCluster = [ pkgs.liblapack ]; 256 fftw = [ pkgs.fftw.dev ]; 257 fftwtools = [ pkgs.fftw.dev ]; 258 Formula = [ pkgs.gmp ]; 259 geoCount = [ pkgs.gsl_1 ]; 260 gdtools = [ pkgs.cairo.dev pkgs.fontconfig.lib pkgs.freetype.dev ]; 261 git2r = [ pkgs.zlib.dev pkgs.openssl.dev pkgs.libssh2.dev ]; 262 GLAD = [ pkgs.gsl_1 ]; 263 glpkAPI = [ pkgs.gmp pkgs.glpk ]; 264 gmp = [ pkgs.gmp.dev ]; 265 graphscan = [ pkgs.gsl_1 ]; 266 gsl = [ pkgs.gsl_1 ]; 267 h5 = [ pkgs.hdf5-cpp pkgs.which ]; 268 haven = [ pkgs.libiconv pkgs.zlib.dev ]; 269 h5vc = [ pkgs.zlib.dev ]; 270 HiCseg = [ pkgs.gsl_1 ]; 271 imager = [ pkgs.x11 ]; 272 iBMQ = [ pkgs.gsl_1 ]; 273 igraph = [ pkgs.gmp pkgs.libxml2.dev ]; 274 JavaGD = [ pkgs.jdk ]; 275 jpeg = [ pkgs.libjpeg.dev ]; 276 jqr = [ pkgs.jq.dev ]; 277 KFKSDS = [ pkgs.gsl_1 ]; 278 kza = [ pkgs.fftw.dev ]; 279 libamtrack = [ pkgs.gsl_1 ]; 280 magick = [ pkgs.imagemagick.dev ]; 281 mvabund = [ pkgs.gsl_1 ]; 282 mwaved = [ pkgs.fftw.dev ]; 283 ncdf4 = [ pkgs.netcdf ]; 284 nloptr = [ pkgs.nlopt pkgs.pkgconfig ]; 285 odbc = [ pkgs.unixODBC ]; 286 outbreaker = [ pkgs.gsl_1 ]; 287 pander = [ pkgs.pandoc pkgs.which ]; 288 pbdMPI = [ pkgs.openmpi ]; 289 pbdNCDF4 = [ pkgs.netcdf ]; 290 pbdPROF = [ pkgs.openmpi ]; 291 pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.which ]; 292 pdftools = [ pkgs.poppler.dev ]; 293 PKI = [ pkgs.openssl.dev ]; 294 png = [ pkgs.libpng.dev ]; 295 PopGenome = [ pkgs.zlib.dev ]; 296 proj4 = [ pkgs.proj ]; 297 protolite = [ pkgs.protobuf ]; 298 qtbase = [ pkgs.qt4 ]; 299 qtpaint = [ pkgs.qt4 ]; 300 R2SWF = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ]; 301 RAppArmor = [ pkgs.libapparmor ]; 302 rapportools = [ pkgs.which ]; 303 rapport = [ pkgs.which ]; 304 readxl = [ pkgs.libiconv ]; 305 rbamtools = [ pkgs.zlib.dev ]; 306 rcdd = [ pkgs.gmp.dev ]; 307 RcppCNPy = [ pkgs.zlib.dev ]; 308 RcppGSL = [ pkgs.gsl_1 ]; 309 RcppZiggurat = [ pkgs.gsl_1 ]; 310 reprex = [ pkgs.which ]; 311 rgdal = [ pkgs.proj pkgs.gdal ]; 312 rgeos = [ pkgs.geos ]; 313 rggobi = [ pkgs.ggobi pkgs.gtk2.dev pkgs.libxml2.dev ]; 314 rgl = [ pkgs.libGLU_combined pkgs.xlibsWrapper ]; 315 Rglpk = [ pkgs.glpk ]; 316 RGtk2 = [ pkgs.gtk2.dev ]; 317 rhdf5 = [ pkgs.zlib ]; 318 Rhdf5lib = [ pkgs.zlib ]; 319 Rhpc = [ pkgs.zlib pkgs.bzip2.dev pkgs.icu pkgs.lzma.dev pkgs.openmpi pkgs.pcre.dev ]; 320 Rhtslib = [ pkgs.zlib.dev pkgs.automake pkgs.autoconf ]; 321 RJaCGH = [ pkgs.zlib.dev ]; 322 rjags = [ pkgs.jags ]; 323 rJava = [ pkgs.zlib pkgs.bzip2.dev pkgs.icu pkgs.lzma.dev pkgs.pcre.dev pkgs.jdk pkgs.libzip ]; 324 Rlibeemd = [ pkgs.gsl_1 ]; 325 rmatio = [ pkgs.zlib.dev ]; 326 Rmpfr = [ pkgs.gmp pkgs.mpfr.dev ]; 327 Rmpi = [ pkgs.openmpi ]; 328 RMySQL = [ pkgs.zlib pkgs.mysql.connector-c pkgs.openssl.dev ]; 329 RNetCDF = [ pkgs.netcdf pkgs.udunits ]; 330 RODBCext = [ pkgs.libiodbc ]; 331 RODBC = [ pkgs.libiodbc ]; 332 rpanel = [ pkgs.bwidget ]; 333 rpg = [ pkgs.postgresql ]; 334 rphast = [ pkgs.pcre.dev pkgs.zlib pkgs.bzip2 pkgs.gzip pkgs.readline ]; 335 Rpoppler = [ pkgs.poppler ]; 336 RPostgreSQL = [ pkgs.postgresql pkgs.postgresql ]; 337 RProtoBuf = [ pkgs.protobuf ]; 338 rPython = [ pkgs.python ]; 339 RSclient = [ pkgs.openssl.dev ]; 340 Rserve = [ pkgs.openssl ]; 341 Rssa = [ pkgs.fftw.dev ]; 342 rtfbs = [ pkgs.zlib pkgs.pcre.dev pkgs.bzip2 pkgs.gzip pkgs.readline ]; 343 rtiff = [ pkgs.libtiff.dev ]; 344 runjags = [ pkgs.jags ]; 345 RVowpalWabbit = [ pkgs.zlib.dev pkgs.boost ]; 346 rzmq = [ pkgs.zeromq3 ]; 347 SAVE = [ pkgs.zlib pkgs.bzip2 pkgs.icu pkgs.lzma pkgs.pcre ]; 348 sdcTable = [ pkgs.gmp pkgs.glpk ]; 349 seewave = [ pkgs.fftw.dev pkgs.libsndfile.dev ]; 350 seqinr = [ pkgs.zlib.dev ]; 351 seqminer = [ pkgs.zlib.dev pkgs.bzip2 ]; 352 sf = [ pkgs.gdal pkgs.proj pkgs.geos ]; 353 showtext = [ pkgs.zlib pkgs.libpng pkgs.icu pkgs.freetype.dev ]; 354 simplexreg = [ pkgs.gsl_1 ]; 355 spate = [ pkgs.fftw.dev ]; 356 ssanv = [ pkgs.proj ]; 357 stsm = [ pkgs.gsl_1 ]; 358 stringi = [ pkgs.icu.dev ]; 359 survSNP = [ pkgs.gsl_1 ]; 360 sysfonts = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ]; 361 TAQMNGR = [ pkgs.zlib.dev ]; 362 tesseract = [ pkgs.tesseract pkgs.leptonica ]; 363 tiff = [ pkgs.libtiff.dev ]; 364 TKF = [ pkgs.gsl_1 ]; 365 tkrplot = [ pkgs.xorg.libX11 pkgs.tk.dev ]; 366 topicmodels = [ pkgs.gsl_1 ]; 367 udunits2 = [ pkgs.udunits pkgs.expat ]; 368 units = [ pkgs.udunits ]; 369 V8 = [ pkgs.v8_3_14 ]; 370 VBLPCM = [ pkgs.gsl_1 ]; 371 WhopGenome = [ pkgs.zlib.dev ]; 372 XBRL = [ pkgs.zlib pkgs.libxml2.dev ]; 373 xml2 = [ pkgs.libxml2.dev ] ++ lib.optionals stdenv.isDarwin [ pkgs.perl ]; 374 XML = [ pkgs.libtool pkgs.libxml2.dev pkgs.xmlsec pkgs.libxslt ]; 375 affyPLM = [ pkgs.zlib.dev ]; 376 bamsignals = [ pkgs.zlib.dev ]; 377 BitSeq = [ pkgs.zlib.dev ]; 378 DiffBind = [ pkgs.zlib ]; 379 ShortRead = [ pkgs.zlib.dev ]; 380 oligo = [ pkgs.zlib.dev ]; 381 gmapR = [ pkgs.zlib.dev ]; 382 Rsubread = [ pkgs.zlib.dev ]; 383 XVector = [ pkgs.zlib.dev ]; 384 Rsamtools = [ pkgs.zlib.dev ]; 385 rtracklayer = [ pkgs.zlib.dev ]; 386 affyio = [ pkgs.zlib.dev ]; 387 VariantAnnotation = [ pkgs.zlib.dev ]; 388 snpStats = [ pkgs.zlib.dev ]; 389 }; 390 391 packagesWithBuildInputs = { 392 # sort -t '=' -k 2 393 svKomodo = [ pkgs.which ]; 394 nat = [ pkgs.which ]; 395 nat_nblast = [ pkgs.which ]; 396 nat_templatebrains = [ pkgs.which ]; 397 pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.darwin.binutils ]; 398 RMark = [ pkgs.which ]; 399 RPushbullet = [ pkgs.which ]; 400 qtpaint = [ pkgs.cmake ]; 401 qtbase = [ pkgs.cmake pkgs.perl ]; 402 RcppEigen = [ pkgs.libiconv ]; 403 RCurl = [ pkgs.curl.dev ]; 404 R2SWF = [ pkgs.pkgconfig ]; 405 rggobi = [ pkgs.pkgconfig ]; 406 RGtk2 = [ pkgs.pkgconfig ]; 407 RProtoBuf = [ pkgs.pkgconfig ]; 408 Rpoppler = [ pkgs.pkgconfig ]; 409 XML = [ pkgs.pkgconfig ]; 410 cairoDevice = [ pkgs.pkgconfig ]; 411 chebpol = [ pkgs.pkgconfig ]; 412 fftw = [ pkgs.pkgconfig ]; 413 geoCount = [ pkgs.pkgconfig ]; 414 gdtools = [ pkgs.pkgconfig ]; 415 JuniperKernel = lib.optionals stdenv.isDarwin [ pkgs.darwin.binutils ]; 416 jqr = [ pkgs.jq.lib ]; 417 kza = [ pkgs.pkgconfig ]; 418 magick = [ pkgs.pkgconfig ]; 419 mwaved = [ pkgs.pkgconfig ]; 420 odbc = [ pkgs.pkgconfig ]; 421 openssl = [ pkgs.pkgconfig ]; 422 pdftools = [ pkgs.pkgconfig ]; 423 sf = [ pkgs.pkgconfig ]; 424 showtext = [ pkgs.pkgconfig ]; 425 spate = [ pkgs.pkgconfig ]; 426 stringi = [ pkgs.pkgconfig ]; 427 sys = [ pkgs.libapparmor ]; 428 sysfonts = [ pkgs.pkgconfig ]; 429 tesseract = [ pkgs.pkgconfig ]; 430 Cairo = [ pkgs.pkgconfig ]; 431 Rsymphony = [ pkgs.pkgconfig pkgs.doxygen pkgs.graphviz pkgs.subversion ]; 432 tcltk2 = [ pkgs.tcl pkgs.tk ]; 433 tikzDevice = [ pkgs.which pkgs.texlive.combined.scheme-medium ]; 434 rPython = [ pkgs.which ]; 435 gridGraphics = [ pkgs.which ]; 436 adimpro = [ pkgs.which pkgs.xorg.xdpyinfo ]; 437 PET = [ pkgs.which pkgs.xorg.xdpyinfo pkgs.imagemagick ]; 438 dti = [ pkgs.which pkgs.xorg.xdpyinfo pkgs.imagemagick ]; 439 mzR = [ pkgs.netcdf ]; 440 cluster = [ pkgs.libiconv ]; 441 KernSmooth = [ pkgs.libiconv ]; 442 nlme = [ pkgs.libiconv ]; 443 Matrix = [ pkgs.libiconv ]; 444 mgcv = [ pkgs.libiconv ]; 445 igraph = [ pkgs.libiconv ]; 446 }; 447 448 packagesRequireingX = [ 449 "accrual" 450 "ade4TkGUI" 451 "analogue" 452 "analogueExtra" 453 "AnalyzeFMRI" 454 "AnnotLists" 455 "AnthropMMD" 456 "aplpack" 457 "aqfig" 458 "arf3DS4" 459 "asbio" 460 "AtelieR" 461 "BAT" 462 "bayesDem" 463 "BCA" 464 "BEQI2" 465 "betapart" 466 "BiodiversityR" 467 "bio_infer" 468 "bipartite" 469 "biplotbootGUI" 470 "blender" 471 "cairoDevice" 472 "CCTpack" 473 "cncaGUI" 474 "cocorresp" 475 "CommunityCorrelogram" 476 "confidence" 477 "constrainedKriging" 478 "ConvergenceConcepts" 479 "cpa" 480 "DALY" 481 "dave" 482 "Deducer" 483 "DeducerPlugInExample" 484 "DeducerPlugInScaling" 485 "DeducerSpatial" 486 "DeducerSurvival" 487 "DeducerText" 488 "Demerelate" 489 "detrendeR" 490 "dgmb" 491 "DivMelt" 492 "dpa" 493 "DSpat" 494 "dynamicGraph" 495 "dynBiplotGUI" 496 "EasyqpcR" 497 "EcoVirtual" 498 "ENiRG" 499 "exactLoglinTest" 500 "fat2Lpoly" 501 "fbati" 502 "FD" 503 "feature" 504 "FeedbackTS" 505 "FFD" 506 "fgui" 507 "fisheyeR" 508 "fit4NM" 509 "forams" 510 "forensim" 511 "FreeSortR" 512 "fscaret" 513 "fSRM" 514 "gcmr" 515 "GeoGenetix" 516 "geomorph" 517 "geoR" 518 "geoRglm" 519 "georob" 520 "GGEBiplotGUI" 521 "gnm" 522 "GPCSIV" 523 "GrammR" 524 "GrapheR" 525 "GroupSeq" 526 "gsubfn" 527 "GUniFrac" 528 "gWidgets2RGtk2" 529 "gWidgets2tcltk" 530 "gWidgetsRGtk2" 531 "gWidgetstcltk" 532 "HH" 533 "HiveR" 534 "HomoPolymer" 535 "ic50" 536 "iDynoR" 537 "in2extRemes" 538 "iplots" 539 "isopam" 540 "IsotopeR" 541 "JGR" 542 "KappaGUI" 543 "likeLTD" 544 "logmult" 545 "LS2Wstat" 546 "MareyMap" 547 "memgene" 548 "MergeGUI" 549 "metacom" 550 "Meth27QC" 551 "MetSizeR" 552 "MicroStrategyR" 553 "migui" 554 "miniGUI" 555 "MissingDataGUI" 556 "mixsep" 557 "mlDNA" 558 "MplusAutomation" 559 "mpmcorrelogram" 560 "mritc" 561 "MTurkR" 562 "multgee" 563 "multibiplotGUI" 564 "nodiv" 565 "OligoSpecificitySystem" 566 "onemap" 567 "OpenRepGrid" 568 "palaeoSig" 569 "paleoMAS" 570 "pbatR" 571 "PBSadmb" 572 "PBSmodelling" 573 "PCPS" 574 "pez" 575 "phylotools" 576 "picante" 577 "PKgraph" 578 "plotSEMM" 579 "plsRbeta" 580 "plsRglm" 581 "PopGenReport" 582 "poppr" 583 "powerpkg" 584 "PredictABEL" 585 "prefmod" 586 "PrevMap" 587 "ProbForecastGOP" 588 "qtbase" 589 "qtpaint" 590 "r4ss" 591 "RandomFields" 592 "rareNMtests" 593 "rAverage" 594 "Rcmdr" 595 "RcmdrPlugin_coin" 596 "RcmdrPlugin_depthTools" 597 "RcmdrPlugin_DoE" 598 "RcmdrPlugin_EACSPIR" 599 "RcmdrPlugin_EBM" 600 "RcmdrPlugin_EcoVirtual" 601 "RcmdrPlugin_EZR" 602 "RcmdrPlugin_FactoMineR" 603 "RcmdrPlugin_HH" 604 "RcmdrPlugin_IPSUR" 605 "RcmdrPlugin_KMggplot2" 606 "RcmdrPlugin_lfstat" 607 "RcmdrPlugin_MA" 608 "RcmdrPlugin_mosaic" 609 "RcmdrPlugin_MPAStats" 610 "RcmdrPlugin_orloca" 611 "RcmdrPlugin_plotByGroup" 612 "RcmdrPlugin_pointG" 613 "RcmdrPlugin_qual" 614 "RcmdrPlugin_ROC" 615 "RcmdrPlugin_sampling" 616 "RcmdrPlugin_SCDA" 617 "RcmdrPlugin_SLC" 618 "RcmdrPlugin_sos" 619 "RcmdrPlugin_steepness" 620 "RcmdrPlugin_survival" 621 "RcmdrPlugin_TeachingDemos" 622 "RcmdrPlugin_temis" 623 "RcmdrPlugin_UCA" 624 "recluster" 625 "relimp" 626 "RenextGUI" 627 "reportRx" 628 "reshapeGUI" 629 "rgl" 630 "RHRV" 631 "rich" 632 "rioja" 633 "RNCEP" 634 "RQDA" 635 "RSDA" 636 "rsgcc" 637 "RSurvey" 638 "RunuranGUI" 639 "sharpshootR" 640 "simba" 641 "Simile" 642 "SimpleTable" 643 "SOLOMON" 644 "soundecology" 645 "SPACECAP" 646 "spacodiR" 647 "spatsurv" 648 "sqldf" 649 "SRRS" 650 "SSDforR" 651 "statcheck" 652 "StatDA" 653 "STEPCAM" 654 "stosim" 655 "strvalidator" 656 "stylo" 657 "svDialogstcltk" 658 "svIDE" 659 "svSocket" 660 "svWidgets" 661 "SYNCSA" 662 "SyNet" 663 "tcltk2" 664 "TED" 665 "TestScorer" 666 "TIMP" 667 "titan" 668 "tkrgl" 669 "tkrplot" 670 "tmap" 671 "tspmeta" 672 "TTAinterfaceTrendAnalysis" 673 "twiddler" 674 "vcdExtra" 675 "VecStatGraphs3D" 676 "vegan" 677 "vegan3d" 678 "vegclust" 679 "VIMGUI" 680 "WMCapacity" 681 "x12GUI" 682 "xergm" 683 ]; 684 685 packagesToSkipCheck = [ 686 "Rmpi" # tries to run MPI processes 687 "pbdMPI" # tries to run MPI processes 688 ]; 689 690 # Packages which cannot be installed due to lack of dependencies or other reasons. 691 brokenPackages = [ 692 ]; 693 694 otherOverrides = old: new: { 695 stringi = old.stringi.overrideDerivation (attrs: { 696 postInstall = let 697 icuName = "icudt52l"; 698 icuSrc = pkgs.fetchzip { 699 url = "http://static.rexamine.com/packages/${icuName}.zip"; 700 sha256 = "0hvazpizziq5ibc9017i1bb45yryfl26wzfsv05vk9mc1575r6xj"; 701 stripRoot = false; 702 }; 703 in '' 704 ${attrs.postInstall or ""} 705 cp ${icuSrc}/${icuName}.dat $out/library/stringi/libs 706 ''; 707 }); 708 709 xml2 = old.xml2.overrideDerivation (attrs: { 710 preConfigure = '' 711 export LIBXML_INCDIR=${pkgs.libxml2.dev}/include/libxml2 712 patchShebangs configure 713 ''; 714 }); 715 716 Cairo = old.Cairo.overrideDerivation (attrs: { 717 NIX_LDFLAGS = "-lfontconfig"; 718 }); 719 720 curl = old.curl.overrideDerivation (attrs: { 721 preConfigure = "patchShebangs configure"; 722 }); 723 724 RcppArmadillo = old.RcppArmadillo.overrideDerivation (attrs: { 725 patchPhase = "patchShebangs configure"; 726 }); 727 728 data_table = old.data_table.overrideDerivation (attrs: { 729 NIX_CFLAGS_COMPILE = attrs.NIX_CFLAGS_COMPILE 730 + lib.optionalString stdenv.isDarwin " -fopenmp"; 731 }); 732 733 rpf = old.rpf.overrideDerivation (attrs: { 734 patchPhase = "patchShebangs configure"; 735 }); 736 737 BayesXsrc = old.BayesXsrc.overrideDerivation (attrs: { 738 patches = [ ./patches/BayesXsrc.patch ]; 739 }); 740 741 Rhdf5lib = old.Rhdf5lib.overrideDerivation (attrs: { 742 patches = [ ./patches/Rhdf5lib.patch ]; 743 }); 744 745 rJava = old.rJava.overrideDerivation (attrs: { 746 preConfigure = '' 747 export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/ 748 export JAVA_HOME=${pkgs.jdk} 749 ''; 750 }); 751 752 JavaGD = old.JavaGD.overrideDerivation (attrs: { 753 preConfigure = '' 754 export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/ 755 export JAVA_HOME=${pkgs.jdk} 756 ''; 757 }); 758 759 JuniperKernel = old.JuniperKernel.overrideDerivation (attrs: { 760 postPatch = lib.optionalString stdenv.isDarwin '' 761 for file in {R,src}/*.R; do 762 sed -i 's#system("which \(otool\|install_name_tool\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file 763 done 764 ''; 765 preConfigure = '' 766 patchShebangs configure 767 ''; 768 }); 769 770 jqr = old.jqr.overrideDerivation (attrs: { 771 preConfigure = '' 772 patchShebangs configure 773 ''; 774 }); 775 776 pbdZMQ = old.pbdZMQ.overrideDerivation (attrs: { 777 postPatch = lib.optionalString stdenv.isDarwin '' 778 for file in R/*.{r,r.in}; do 779 sed -i 's#system("which \(\w\+\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file 780 done 781 ''; 782 }); 783 784 qtbase = old.qtbase.overrideDerivation (attrs: { 785 patches = [ ./patches/qtbase.patch ]; 786 }); 787 788 Rmpi = old.Rmpi.overrideDerivation (attrs: { 789 configureFlags = [ 790 "--with-Rmpi-type=OPENMPI" 791 ]; 792 }); 793 794 Rmpfr = old.Rmpfr.overrideDerivation (attrs: { 795 configureFlags = [ 796 "--with-mpfr-include=${pkgs.mpfr.dev}/include" 797 ]; 798 }); 799 800 RVowpalWabbit = old.RVowpalWabbit.overrideDerivation (attrs: { 801 configureFlags = [ 802 "--with-boost=${pkgs.boost.dev}" "--with-boost-libdir=${pkgs.boost.out}/lib" 803 ]; 804 }); 805 806 RAppArmor = old.RAppArmor.overrideDerivation (attrs: { 807 patches = [ ./patches/RAppArmor.patch ]; 808 LIBAPPARMOR_HOME = "${pkgs.libapparmor}"; 809 }); 810 811 RMySQL = old.RMySQL.overrideDerivation (attrs: { 812 MYSQL_DIR="${pkgs.mysql.connector-c}"; 813 preConfigure = '' 814 patchShebangs configure 815 ''; 816 }); 817 818 devEMF = old.devEMF.overrideDerivation (attrs: { 819 NIX_CFLAGS_LINK = "-L${pkgs.xorg.libXft.out}/lib -lXft"; 820 NIX_LDFLAGS = "-lX11"; 821 }); 822 823 slfm = old.slfm.overrideDerivation (attrs: { 824 PKG_LIBS = "-L${pkgs.openblasCompat}/lib -lopenblas"; 825 }); 826 827 SamplerCompare = old.SamplerCompare.overrideDerivation (attrs: { 828 PKG_LIBS = "-L${pkgs.openblasCompat}/lib -lopenblas"; 829 }); 830 831 EMCluster = old.EMCluster.overrideDerivation (attrs: { 832 patches = [ ./patches/EMCluster.patch ]; 833 }); 834 835 spMC = old.spMC.overrideDerivation (attrs: { 836 patches = [ ./patches/spMC.patch ]; 837 }); 838 839 openssl = old.openssl.overrideDerivation (attrs: { 840 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; 841 PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -lssl -lcrypto"; 842 }); 843 844 Rserve = old.Rserve.overrideDerivation (attrs: { 845 patches = [ ./patches/Rserve.patch ]; 846 configureFlags = [ 847 "--with-server" "--with-client" 848 ]; 849 }); 850 851 nloptr = old.nloptr.overrideDerivation (attrs: { 852 # Drop bundled nlopt source code. Probably unnecessary, but I want to be 853 # sure we're using the system library, not this one. 854 preConfigure = "rm -r src/nlopt_src"; 855 }); 856 857 V8 = old.V8.overrideDerivation (attrs: { 858 preConfigure = '' 859 export INCLUDE_DIR=${pkgs.v8_3_14}/include 860 export LIB_DIR=${pkgs.v8_3_14}/lib 861 patchShebangs configure 862 ''; 863 }); 864 865 acs = old.acs.overrideDerivation (attrs: { 866 preConfigure = '' 867 patchShebangs configure 868 ''; 869 }); 870 871 gdtools = old.gdtools.overrideDerivation (attrs: { 872 preConfigure = '' 873 patchShebangs configure 874 ''; 875 NIX_LDFLAGS = "-lfontconfig -lfreetype"; 876 }); 877 878 magick = old.magick.overrideDerivation (attrs: { 879 preConfigure = '' 880 patchShebangs configure 881 ''; 882 }); 883 884 protolite = old.protolite.overrideDerivation (attrs: { 885 preConfigure = '' 886 patchShebangs configure 887 ''; 888 }); 889 890 rpanel = old.rpanel.overrideDerivation (attrs: { 891 preConfigure = '' 892 export TCLLIBPATH="${pkgs.bwidget}/lib/bwidget${pkgs.bwidget.version}" 893 ''; 894 TCLLIBPATH = "${pkgs.bwidget}/lib/bwidget${pkgs.bwidget.version}"; 895 }); 896 897 RPostgres = old.RPostgres.overrideDerivation (attrs: { 898 preConfigure = '' 899 export INCLUDE_DIR=${pkgs.postgresql}/include 900 export LIB_DIR=${pkgs.postgresql.lib}/lib 901 patchShebangs configure 902 ''; 903 }); 904 905 OpenMx = old.OpenMx.overrideDerivation (attrs: { 906 preConfigure = '' 907 patchShebangs configure 908 ''; 909 }); 910 911 odbc = old.odbc.overrideDerivation (attrs: { 912 preConfigure = '' 913 patchShebangs configure 914 ''; 915 }); 916 917 x13binary = old.x13binary.overrideDerivation (attrs: { 918 preConfigure = '' 919 patchShebangs configure 920 ''; 921 }); 922 923 geojsonio = old.geojsonio.overrideDerivation (attrs: { 924 buildInputs = [ cacert ] ++ attrs.buildInputs; 925 }); 926 927 rstan = old.rstan.overrideDerivation (attrs: { 928 NIX_CFLAGS_COMPILE = "${attrs.NIX_CFLAGS_COMPILE} -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION"; 929 }); 930 931 mongolite = old.mongolite.overrideDerivation (attrs: { 932 preConfigure = '' 933 patchShebangs configure 934 ''; 935 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include -I${pkgs.cyrus_sasl.dev}/include -I${pkgs.zlib.dev}/include"; 936 PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -L${pkgs.cyrus_sasl.out}/lib -L${pkgs.zlib.out}/lib -lssl -lcrypto -lsasl2 -lz"; 937 }); 938 939 ps = old.ps.overrideDerivation (attrs: { 940 preConfigure = "patchShebangs configure"; 941 }); 942 943 rlang = old.rlang.overrideDerivation (attrs: { 944 preConfigure = "patchShebangs configure"; 945 }); 946 947 littler = old.littler.overrideAttrs (attrs: with pkgs; { 948 buildInputs = [ pcre lzma zlib bzip2 icu which ] ++ attrs.buildInputs; 949 postInstall = '' 950 install -d $out/bin $out/share/man/man1 951 ln -s ../library/littler/bin/r $out/bin/r 952 ln -s ../library/littler/bin/r $out/bin/lr 953 ln -s ../../../library/littler/man-page/r.1 $out/share/man/man1 954 # these won't run without special provisions, so better remove them 955 rm -r $out/library/littler/script-tests 956 ''; 957 }); 958 959 }; 960in 961 self