nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at 22.05 1308 lines 38 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, 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 stringi = old.stringi.overrideDerivation (attrs: { 942 postInstall = let 943 icuName = "icudt52l"; 944 icuSrc = pkgs.fetchzip { 945 url = "http://static.rexamine.com/packages/${icuName}.zip"; 946 sha256 = "0hvazpizziq5ibc9017i1bb45yryfl26wzfsv05vk9mc1575r6xj"; 947 stripRoot = false; 948 }; 949 in '' 950 ${attrs.postInstall or ""} 951 cp ${icuSrc}/${icuName}.dat $out/library/stringi/libs 952 ''; 953 }); 954 955 xml2 = old.xml2.overrideDerivation (attrs: { 956 preConfigure = '' 957 export LIBXML_INCDIR=${pkgs.libxml2.dev}/include/libxml2 958 patchShebangs configure 959 ''; 960 }); 961 962 rzmq = old.rzmq.overrideDerivation (attrs: { 963 preConfigure = "patchShebangs configure"; 964 }); 965 966 clustermq = old.clustermq.overrideDerivation (attrs: { 967 preConfigure = "patchShebangs configure"; 968 }); 969 970 Cairo = old.Cairo.overrideDerivation (attrs: { 971 NIX_LDFLAGS = "-lfontconfig"; 972 }); 973 974 curl = old.curl.overrideDerivation (attrs: { 975 preConfigure = "patchShebangs configure"; 976 }); 977 978 RcppParallel = old.RcppParallel.overrideDerivation (attrs: { 979 preConfigure = "patchShebangs configure"; 980 }); 981 982 RcppArmadillo = old.RcppArmadillo.overrideDerivation (attrs: { 983 patchPhase = "patchShebangs configure"; 984 }); 985 986 data_table = old.data_table.overrideDerivation (attrs: { 987 NIX_CFLAGS_COMPILE = attrs.NIX_CFLAGS_COMPILE + " -fopenmp"; 988 patchPhase = "patchShebangs configure"; 989 }); 990 991 ModelMetrics = old.ModelMetrics.overrideDerivation (attrs: { 992 NIX_CFLAGS_COMPILE = attrs.NIX_CFLAGS_COMPILE 993 + lib.optionalString stdenv.isDarwin " -fopenmp"; 994 }); 995 996 rpf = old.rpf.overrideDerivation (attrs: { 997 patchPhase = "patchShebangs configure"; 998 }); 999 1000 rJava = old.rJava.overrideDerivation (attrs: { 1001 preConfigure = '' 1002 export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/ 1003 export JAVA_HOME=${pkgs.jdk} 1004 ''; 1005 }); 1006 1007 JavaGD = old.JavaGD.overrideDerivation (attrs: { 1008 preConfigure = '' 1009 export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/ 1010 export JAVA_HOME=${pkgs.jdk} 1011 ''; 1012 }); 1013 1014 jqr = old.jqr.overrideDerivation (attrs: { 1015 preConfigure = '' 1016 patchShebangs configure 1017 ''; 1018 }); 1019 1020 pbdZMQ = old.pbdZMQ.overrideDerivation (attrs: { 1021 postPatch = lib.optionalString stdenv.isDarwin '' 1022 for file in R/*.{r,r.in}; do 1023 sed -i 's#system("which \(\w\+\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file 1024 done 1025 ''; 1026 }); 1027 1028 Rmpi = old.Rmpi.overrideDerivation (attrs: { 1029 configureFlags = [ 1030 "--with-Rmpi-type=OPENMPI" 1031 ]; 1032 }); 1033 1034 Rmpfr = old.Rmpfr.overrideDerivation (attrs: { 1035 configureFlags = [ 1036 "--with-mpfr-include=${pkgs.mpfr.dev}/include" 1037 ]; 1038 }); 1039 1040 RVowpalWabbit = old.RVowpalWabbit.overrideDerivation (attrs: { 1041 configureFlags = [ 1042 "--with-boost=${pkgs.boost.dev}" "--with-boost-libdir=${pkgs.boost.out}/lib" 1043 ]; 1044 }); 1045 1046 RAppArmor = old.RAppArmor.overrideDerivation (attrs: { 1047 patches = [ ./patches/RAppArmor.patch ]; 1048 LIBAPPARMOR_HOME = pkgs.libapparmor; 1049 }); 1050 1051 RMySQL = old.RMySQL.overrideDerivation (attrs: { 1052 MYSQL_DIR = "${pkgs.libmysqlclient}"; 1053 PKGCONFIG_CFLAGS = "-I${pkgs.libmysqlclient.dev}/include/mysql"; 1054 NIX_CFLAGS_LINK = "-L${pkgs.libmysqlclient}/lib/mysql -lmysqlclient"; 1055 preConfigure = '' 1056 patchShebangs configure 1057 ''; 1058 }); 1059 1060 devEMF = old.devEMF.overrideDerivation (attrs: { 1061 NIX_CFLAGS_LINK = "-L${pkgs.xorg.libXft.out}/lib -lXft"; 1062 NIX_LDFLAGS = "-lX11"; 1063 }); 1064 1065 slfm = old.slfm.overrideDerivation (attrs: { 1066 PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack"; 1067 }); 1068 1069 SamplerCompare = old.SamplerCompare.overrideDerivation (attrs: { 1070 PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack"; 1071 }); 1072 1073 spMC = old.spMC.overrideDerivation (attrs: { 1074 patches = [ ./patches/spMC.patch ]; 1075 }); 1076 1077 openssl = old.openssl.overrideDerivation (attrs: { 1078 preConfigure = '' 1079 patchShebangs configure 1080 ''; 1081 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; 1082 PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; 1083 }); 1084 1085 websocket = old.websocket.overrideDerivation (attrs: { 1086 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; 1087 PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; 1088 }); 1089 1090 Rserve = old.Rserve.overrideDerivation (attrs: { 1091 patches = [ ./patches/Rserve.patch ]; 1092 configureFlags = [ 1093 "--with-server" "--with-client" 1094 ]; 1095 }); 1096 1097 V8 = old.V8.overrideDerivation (attrs: { 1098 postPatch = '' 1099 substituteInPlace configure \ 1100 --replace " -lv8_libplatform" "" 1101 ''; 1102 1103 preConfigure = '' 1104 export INCLUDE_DIR=${pkgs.v8}/include 1105 export LIB_DIR=${pkgs.v8}/lib 1106 patchShebangs configure 1107 ''; 1108 1109 R_MAKEVARS_SITE = lib.optionalString (pkgs.stdenv.system == "aarch64-linux") 1110 (pkgs.writeText "Makevars" '' 1111 CXX14PICFLAGS = -fPIC 1112 ''); 1113 }); 1114 1115 acs = old.acs.overrideDerivation (attrs: { 1116 preConfigure = '' 1117 patchShebangs configure 1118 ''; 1119 }); 1120 1121 gdtools = old.gdtools.overrideDerivation (attrs: { 1122 preConfigure = '' 1123 patchShebangs configure 1124 ''; 1125 NIX_LDFLAGS = "-lfontconfig -lfreetype"; 1126 }); 1127 1128 magick = old.magick.overrideDerivation (attrs: { 1129 preConfigure = '' 1130 patchShebangs configure 1131 ''; 1132 }); 1133 1134 libgeos = old.libgeos.overrideDerivation (attrs: { 1135 preConfigure = '' 1136 patchShebangs configure 1137 ''; 1138 }); 1139 1140 protolite = old.protolite.overrideDerivation (attrs: { 1141 preConfigure = '' 1142 patchShebangs configure 1143 ''; 1144 }); 1145 1146 rpanel = old.rpanel.overrideDerivation (attrs: { 1147 preConfigure = '' 1148 export TCLLIBPATH="${pkgs.bwidget}/lib/bwidget${pkgs.bwidget.version}" 1149 ''; 1150 TCLLIBPATH = "${pkgs.bwidget}/lib/bwidget${pkgs.bwidget.version}"; 1151 }); 1152 1153 RPostgres = old.RPostgres.overrideDerivation (attrs: { 1154 preConfigure = '' 1155 export INCLUDE_DIR=${pkgs.postgresql}/include 1156 export LIB_DIR=${pkgs.postgresql.lib}/lib 1157 patchShebangs configure 1158 ''; 1159 }); 1160 1161 OpenMx = old.OpenMx.overrideDerivation (attrs: { 1162 preConfigure = '' 1163 patchShebangs configure 1164 ''; 1165 }); 1166 1167 odbc = old.odbc.overrideDerivation (attrs: { 1168 preConfigure = '' 1169 patchShebangs configure 1170 ''; 1171 }); 1172 1173 x13binary = old.x13binary.overrideDerivation (attrs: { 1174 preConfigure = '' 1175 patchShebangs configure 1176 ''; 1177 }); 1178 1179 geojsonio = old.geojsonio.overrideDerivation (attrs: { 1180 buildInputs = [ cacert ] ++ attrs.buildInputs; 1181 }); 1182 1183 rstan = old.rstan.overrideDerivation (attrs: { 1184 NIX_CFLAGS_COMPILE = "${attrs.NIX_CFLAGS_COMPILE} -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION"; 1185 }); 1186 1187 mongolite = old.mongolite.overrideDerivation (attrs: { 1188 preConfigure = '' 1189 patchShebangs configure 1190 ''; 1191 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include -I${pkgs.cyrus_sasl.dev}/include -I${pkgs.zlib.dev}/include"; 1192 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"; 1193 }); 1194 1195 ps = old.ps.overrideDerivation (attrs: { 1196 preConfigure = "patchShebangs configure"; 1197 }); 1198 1199 rlang = old.rlang.overrideDerivation (attrs: { 1200 preConfigure = "patchShebangs configure"; 1201 }); 1202 1203 systemfonts = old.systemfonts.overrideDerivation (attrs: { 1204 preConfigure = "patchShebangs configure"; 1205 }); 1206 1207 littler = old.littler.overrideAttrs (attrs: with pkgs; { 1208 buildInputs = [ pcre xz zlib bzip2 icu which ] ++ attrs.buildInputs; 1209 postInstall = '' 1210 install -d $out/bin $out/share/man/man1 1211 ln -s ../library/littler/bin/r $out/bin/r 1212 ln -s ../library/littler/bin/r $out/bin/lr 1213 ln -s ../../../library/littler/man-page/r.1 $out/share/man/man1 1214 # these won't run without special provisions, so better remove them 1215 rm -r $out/library/littler/script-tests 1216 ''; 1217 }); 1218 1219 lpsymphony = old.lpsymphony.overrideDerivation (attrs: { 1220 preConfigure = '' 1221 patchShebangs configure 1222 ''; 1223 }); 1224 1225 sodium = old.sodium.overrideDerivation (attrs: with pkgs; { 1226 preConfigure = '' 1227 patchShebangs configure 1228 ''; 1229 nativeBuildInputs = [ pkg-config ] ++ attrs.nativeBuildInputs; 1230 buildInputs = [ libsodium.dev ] ++ attrs.buildInputs; 1231 }); 1232 1233 keyring = old.keyring.overrideDerivation (attrs: { 1234 preConfigure = '' 1235 patchShebangs configure 1236 ''; 1237 }); 1238 1239 Rhtslib = old.Rhtslib.overrideDerivation (attrs: { 1240 preConfigure = '' 1241 substituteInPlace R/zzz.R --replace "-lcurl" "-L${pkgs.curl.out}/lib -lcurl" 1242 ''; 1243 }); 1244 1245 h2o = old.h2o.overrideDerivation (attrs: { 1246 preConfigure = '' 1247 # prevent download of jar file during install and postpone to first use 1248 sed -i '/downloadJar()/d' R/zzz.R 1249 1250 # during runtime the package directory is not writable as it's in the 1251 # nix store, so store the jar in the user's cache directory instead 1252 substituteInPlace R/connection.R --replace \ 1253 'dest_file <- file.path(dest_folder, "h2o.jar")' \ 1254 'dest_file <- file.path("~/.cache/", "h2o.jar")' 1255 ''; 1256 }); 1257 1258 SICtools = old.SICtools.overrideDerivation (attrs: { 1259 preConfigure = '' 1260 substituteInPlace src/Makefile --replace "-lcurses" "-lncurses" 1261 ''; 1262 }); 1263 1264 arrow = old.arrow.overrideDerivation (attrs: { 1265 preConfigure = '' 1266 patchShebangs configure 1267 ''; 1268 }); 1269 1270 proj4 = old.proj4.overrideDerivation (attrs: { 1271 preConfigure = '' 1272 substituteInPlace configure \ 1273 --replace "-lsqlite3" "-L${lib.makeLibraryPath [ pkgs.sqlite ]} -lsqlite3" 1274 ''; 1275 }); 1276 1277 rrd = old.rrd.overrideDerivation (attrs: { 1278 preConfigure = '' 1279 patchShebangs configure 1280 ''; 1281 }); 1282 1283 ChIPXpress = old.ChIPXpress.override { hydraPlatforms = []; }; 1284 1285 rgl = old.rgl.overrideDerivation (attrs: { 1286 RGL_USE_NULL = "true"; 1287 }); 1288 1289 Rrdrand = old.Rrdrand.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; }; 1290 1291 RandomFieldsUtils = old.RandomFieldsUtils.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; }; 1292 1293 flowClust = old.flowClust.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; }; 1294 1295 geomorph = old.geomorph.overrideDerivation (attrs: { 1296 RGL_USE_NULL = "true"; 1297 }); 1298 1299 Rhdf5lib = old.Rhdf5lib.overrideDerivation (attrs: { 1300 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ pkgs.hdf5.dev ]; 1301 }); 1302 1303 RNifti = old.RNifti.overrideDerivation (attrs: { 1304 patches = [ ./patches/RNifti.patch ]; 1305 }); 1306 }; 1307in 1308 self