1# This file defines the composition for R packages. 2 3let 4 importJSON = f: builtins.fromJSON (builtins.readFile f); 5 6 biocPackagesGenerated = importJSON ./bioc-packages.json; 7 biocAnnotationPackagesGenerated = importJSON ./bioc-annotation-packages.json; 8 biocExperimentPackagesGenerated = importJSON ./bioc-experiment-packages.json; 9 cranPackagesGenerated = importJSON ./cran-packages.json; 10in 11 12{ 13 R, 14 pkgs, 15 overrides, 16}: 17 18let 19 inherit (pkgs) 20 cacert 21 fetchurl 22 stdenv 23 lib 24 ; 25 26 buildRPackage = pkgs.callPackage ./generic-builder.nix { 27 inherit R; 28 inherit (pkgs) gettext gfortran; 29 }; 30 31 # Generates package templates given per-repository settings 32 # 33 # some packages, e.g. cncaGUI, require X running while installation, 34 # so that we use xvfb-run if requireX is true. 35 mkDerive = 36 { 37 mkHomepage, 38 mkUrls, 39 hydraPlatforms ? null, 40 }: 41 args: 42 let 43 hydraPlatforms' = hydraPlatforms; 44 in 45 lib.makeOverridable ( 46 { 47 name, 48 version, 49 sha256, 50 depends ? [ ], 51 doCheck ? true, 52 requireX ? false, 53 broken ? false, 54 platforms ? R.meta.platforms, 55 hydraPlatforms ? if hydraPlatforms' != null then hydraPlatforms' else platforms, 56 maintainers ? [ ], 57 }: 58 buildRPackage { 59 name = "${name}-${version}"; 60 src = fetchurl { 61 inherit sha256; 62 urls = mkUrls (args // { inherit name version; }); 63 }; 64 inherit doCheck requireX; 65 propagatedBuildInputs = depends; 66 nativeBuildInputs = depends; 67 meta.homepage = mkHomepage (args // { inherit name; }); 68 meta.platforms = platforms; 69 meta.hydraPlatforms = hydraPlatforms; 70 meta.broken = broken; 71 meta.maintainers = maintainers; 72 } 73 ); 74 75 # Templates for generating Bioconductor and CRAN packages 76 # from the name, version, sha256, and optional per-package arguments above 77 # 78 deriveBioc = mkDerive { 79 mkHomepage = 80 { name, biocVersion }: "https://bioconductor.org/packages/${biocVersion}/bioc/html/${name}.html"; 81 mkUrls = 82 { 83 name, 84 version, 85 biocVersion, 86 }: 87 [ 88 "mirror://bioc/${biocVersion}/bioc/src/contrib/${name}_${version}.tar.gz" 89 "mirror://bioc/${biocVersion}/bioc/src/contrib/Archive/${name}/${name}_${version}.tar.gz" 90 "mirror://bioc/${biocVersion}/bioc/src/contrib/Archive/${name}_${version}.tar.gz" 91 ]; 92 }; 93 deriveBiocAnn = mkDerive { 94 mkHomepage = 95 { name, biocVersion }: 96 "https://www.bioconductor.org/packages/${biocVersion}/data/annotation/html/${name}.html"; 97 mkUrls = 98 { 99 name, 100 version, 101 biocVersion, 102 }: 103 [ 104 "mirror://bioc/${biocVersion}/data/annotation/src/contrib/${name}_${version}.tar.gz" 105 ]; 106 hydraPlatforms = [ ]; 107 }; 108 deriveBiocExp = mkDerive { 109 mkHomepage = 110 { name, biocVersion }: 111 "https://www.bioconductor.org/packages/${biocVersion}/data/experiment/html/${name}.html"; 112 mkUrls = 113 { 114 name, 115 version, 116 biocVersion, 117 }: 118 [ 119 "mirror://bioc/${biocVersion}/data/experiment/src/contrib/${name}_${version}.tar.gz" 120 ]; 121 hydraPlatforms = [ ]; 122 }; 123 deriveCran = mkDerive { 124 mkHomepage = { name }: "https://cran.r-project.org/web/packages/${name}/"; 125 mkUrls = 126 { name, version }: 127 [ 128 "mirror://cran/${name}_${version}.tar.gz" 129 "mirror://cran/Archive/${name}/${name}_${version}.tar.gz" 130 ]; 131 }; 132 133 # Overrides package definitions with nativeBuildInputs. 134 # For example, 135 # 136 # overrideNativeBuildInputs { 137 # foo = [ pkgs.bar ] 138 # } old 139 # 140 # results in 141 # 142 # { 143 # foo = old.foo.overrideAttrs (attrs: { 144 # nativeBuildInputs = attrs.nativeBuildInputs ++ [ pkgs.bar ]; 145 # }); 146 # } 147 overrideNativeBuildInputs = 148 overrides: old: 149 lib.mapAttrs ( 150 name: value: 151 (builtins.getAttr name old).overrideAttrs (attrs: { 152 nativeBuildInputs = attrs.nativeBuildInputs ++ value; 153 }) 154 ) overrides; 155 156 # Overrides package definitions with buildInputs. 157 # For example, 158 # 159 # overrideBuildInputs { 160 # foo = [ pkgs.bar ] 161 # } old 162 # 163 # results in 164 # 165 # { 166 # foo = old.foo.overrideAttrs (attrs: { 167 # buildInputs = attrs.buildInputs ++ [ pkgs.bar ]; 168 # }); 169 # } 170 overrideBuildInputs = 171 overrides: old: 172 lib.mapAttrs ( 173 name: value: 174 (builtins.getAttr name old).overrideAttrs (attrs: { 175 buildInputs = attrs.buildInputs ++ value; 176 }) 177 ) overrides; 178 179 # Overrides package definitions with maintainers. 180 # For example, 181 # 182 # overrideMaintainers { 183 # foo = [ lib.maintainers.jsmith ] 184 # } old 185 # 186 # results in 187 # 188 # { 189 # foo = old.foo.override { 190 # maintainers = [ lib.maintainers.jsmith ]; 191 # }; 192 # } 193 overrideMaintainers = 194 overrides: old: 195 lib.mapAttrs ( 196 name: value: 197 (builtins.getAttr name old).override { 198 maintainers = value; 199 } 200 ) overrides; 201 202 # Overrides package definitions with new R dependencies. 203 # For example, 204 # 205 # overrideRDepends { 206 # foo = [ self.bar ] 207 # } old 208 # 209 # results in 210 # 211 # { 212 # foo = old.foo.overrideAttrs (attrs: { 213 # nativeBuildInputs = attrs.nativeBuildInputs ++ [ self.bar ]; 214 # propagatedNativeBuildInputs = attrs.propagatedNativeBuildInputs ++ [ self.bar ]; 215 # }); 216 # } 217 overrideRDepends = 218 overrides: old: 219 lib.mapAttrs ( 220 name: value: 221 (builtins.getAttr name old).overrideAttrs (attrs: { 222 nativeBuildInputs = (attrs.nativeBuildInputs or [ ]) ++ value; 223 propagatedNativeBuildInputs = (attrs.propagatedNativeBuildInputs or [ ]) ++ value; 224 }) 225 ) overrides; 226 227 # Overrides package definition requiring X running to install. 228 # For example, 229 # 230 # overrideRequireX [ 231 # "foo" 232 # ] old 233 # 234 # results in 235 # 236 # { 237 # foo = old.foo.override { 238 # requireX = true; 239 # }; 240 # } 241 overrideRequireX = 242 packageNames: old: 243 let 244 nameValuePairs = map (name: { 245 inherit name; 246 value = (builtins.getAttr name old).override { 247 requireX = true; 248 }; 249 }) packageNames; 250 in 251 builtins.listToAttrs nameValuePairs; 252 253 # Overrides package definition requiring a home directory to install or to 254 # run tests. 255 # For example, 256 # 257 # overrideRequireHome [ 258 # "foo" 259 # ] old 260 # 261 # results in 262 # 263 # { 264 # foo = old.foo.overrideAttrs (oldAttrs: { 265 # preInstall = '' 266 # ${oldAttrs.preInstall or ""} 267 # export HOME=$(mktemp -d) 268 # ''; 269 # }); 270 # } 271 overrideRequireHome = 272 packageNames: old: 273 let 274 nameValuePairs = map (name: { 275 inherit name; 276 value = (builtins.getAttr name old).overrideAttrs (oldAttrs: { 277 preInstall = '' 278 ${oldAttrs.preInstall or ""} 279 export HOME=$(mktemp -d) 280 ''; 281 }); 282 }) packageNames; 283 in 284 builtins.listToAttrs nameValuePairs; 285 286 # Overrides package definition to skip check. 287 # For example, 288 # 289 # overrideSkipCheck [ 290 # "foo" 291 # ] old 292 # 293 # results in 294 # 295 # { 296 # foo = old.foo.override { 297 # doCheck = false; 298 # }; 299 # } 300 overrideSkipCheck = 301 packageNames: old: 302 let 303 nameValuePairs = map (name: { 304 inherit name; 305 value = (builtins.getAttr name old).override { 306 doCheck = false; 307 }; 308 }) packageNames; 309 in 310 builtins.listToAttrs nameValuePairs; 311 312 # Overrides package definition to mark it broken. 313 # For example, 314 # 315 # overrideBroken [ 316 # "foo" 317 # ] old 318 # 319 # results in 320 # 321 # { 322 # foo = old.foo.override { 323 # broken = true; 324 # }; 325 # } 326 overrideBroken = 327 packageNames: old: 328 let 329 nameValuePairs = map (name: { 330 inherit name; 331 value = (builtins.getAttr name old).override { 332 broken = true; 333 }; 334 }) packageNames; 335 in 336 builtins.listToAttrs nameValuePairs; 337 338 defaultOverrides = 339 old: new: 340 let 341 old0 = old; 342 in 343 let 344 old1 = old0 // (overrideRequireX packagesRequiringX old0); 345 old2 = old1 // (overrideRequireHome packagesRequiringHome old1); 346 old3 = old2 // (overrideSkipCheck packagesToSkipCheck old2); 347 old4 = old3 // (overrideRDepends packagesWithRDepends old3); 348 old5 = old4 // (overrideNativeBuildInputs packagesWithNativeBuildInputs old4); 349 old6 = old5 // (overrideBuildInputs packagesWithBuildInputs old5); 350 old7 = old6 // (overrideBroken brokenPackages old6); 351 old8 = old7 // (overrideMaintainers packagesWithMaintainers old7); 352 old = old8; 353 in 354 old // (otherOverrides old new); 355 356 # Recursive override pattern. 357 # `_self` is a collection of packages; 358 # `self` is `_self` with overridden packages; 359 # packages in `_self` may depends on overridden packages. 360 self = (defaultOverrides _self self) // overrides; 361 _self = { 362 inherit buildRPackage; 363 } 364 // mkPackageSet deriveBioc biocPackagesGenerated 365 // mkPackageSet deriveBiocAnn biocAnnotationPackagesGenerated 366 // mkPackageSet deriveBiocExp biocExperimentPackagesGenerated 367 // mkPackageSet deriveCran cranPackagesGenerated; 368 369 # Takes in a generated JSON file's imported contents 370 # and transforms it by swapping each element of the depends array with the dependency's derivation 371 # and passing this new object to the provided derive function 372 mkPackageSet = 373 derive: packagesJSON: 374 lib.mapAttrs ( 375 k: v: 376 derive packagesJSON.extraArgs ( 377 v // { depends = lib.map (name: builtins.getAttr name self) v.depends; } 378 ) 379 ) packagesJSON.packages; 380 381 # tweaks for the individual packages and "in self" follow 382 383 packagesWithMaintainers = with lib.maintainers; { 384 data_table = [ jbedo ]; 385 BiocManager = [ jbedo ]; 386 ggplot2 = [ jbedo ]; 387 svaNUMT = [ jbedo ]; 388 svaRetro = [ jbedo ]; 389 StructuralVariantAnnotation = [ jbedo ]; 390 RQuantLib = [ kupac ]; 391 }; 392 393 packagesWithRDepends = { 394 spectralGraphTopology = [ self.CVXR ]; 395 FactoMineR = [ self.car ]; 396 pander = [ self.codetools ]; 397 rmsb = [ self.rstantools ]; 398 gastempt = [ self.rstantools ]; 399 interactiveDisplay = [ self.BiocManager ]; 400 disbayes = [ self.rstantools ]; 401 tipsae = [ self.rstantools ]; 402 TriDimRegression = [ self.rstantools ]; 403 bbmix = [ self.rstantools ]; 404 }; 405 406 packagesWithNativeBuildInputs = { 407 adimpro = [ pkgs.imagemagick ]; 408 animation = [ pkgs.which ]; 409 Apollonius = with pkgs; [ 410 pkg-config 411 gmp.dev 412 mpfr.dev 413 ]; 414 arrow = 415 with pkgs; 416 [ 417 pkg-config 418 cmake 419 ] 420 ++ lib.optionals stdenv.hostPlatform.isDarwin [ intltool ]; 421 alcyon = with pkgs; [ 422 cmake 423 which 424 ]; 425 audio = [ pkgs.portaudio ]; 426 BayesChange = [ pkgs.gsl ]; 427 BayesSAE = [ pkgs.gsl ]; 428 BayesVarSel = [ pkgs.gsl ]; 429 BayesXsrc = with pkgs; [ 430 readline.dev 431 ncurses 432 gsl 433 ]; 434 bioacoustics = [ 435 pkgs.fftw.dev 436 pkgs.cmake 437 ]; 438 bigGP = [ pkgs.mpi ]; 439 bigrquerystorage = with pkgs; [ 440 grpc 441 protobuf 442 which 443 ]; 444 bio3d = [ pkgs.zlib ]; 445 BiocCheck = [ pkgs.which ]; 446 Biostrings = [ pkgs.zlib ]; 447 CellBarcode = [ pkgs.zlib ]; 448 cld3 = [ pkgs.protobuf ]; 449 cpp11qpdf = with pkgs; [ 450 zlib.dev 451 libjpeg 452 ]; 453 bnpmr = [ pkgs.gsl ]; 454 caviarpd = with pkgs; [ 455 cargo 456 rustc 457 ]; 458 cairoDevice = [ pkgs.gtk2.dev ]; 459 Cairo = with pkgs; [ 460 libtiff 461 libjpeg 462 cairo.dev 463 xorg.libXt.dev 464 fontconfig.lib 465 ]; 466 Cardinal = [ pkgs.which ]; 467 chebpol = [ pkgs.fftw.dev ]; 468 ChemmineOB = [ pkgs.pkg-config ]; 469 interpolation = [ pkgs.pkg-config ]; 470 clarabel = [ pkgs.cargo ]; 471 curl = [ pkgs.curl.dev ]; 472 CytoML = [ pkgs.libxml2.dev ]; 473 data_table = 474 with pkgs; 475 [ 476 pkg-config 477 zlib.dev 478 ] 479 ++ lib.optional stdenv.hostPlatform.isDarwin pkgs.llvmPackages.openmp; 480 devEMF = with pkgs; [ xorg.libXft.dev ]; 481 DEploid_utils = [ pkgs.zlib.dev ]; 482 diversitree = with pkgs; [ 483 gsl 484 fftw 485 ]; 486 exactextractr = [ pkgs.geos ]; 487 EMCluster = [ pkgs.lapack ]; 488 fangs = with pkgs; [ 489 cargo 490 rustc 491 ]; 492 fastpng = [ pkgs.zlib.dev ]; 493 fcl = with pkgs; [ 494 cargo 495 rustc 496 ]; 497 fftw = [ pkgs.fftw.dev ]; 498 fftwtools = with pkgs; [ 499 fftw.dev 500 pkg-config 501 ]; 502 flint = with pkgs; [ 503 pkg-config 504 gmp.dev 505 mpfr.dev 506 flint 507 ]; 508 fingerPro = [ pkgs.gsl ]; 509 Formula = [ pkgs.gmp ]; 510 frailtyMMpen = [ pkgs.gsl ]; 511 gamstransfer = [ pkgs.zlib ]; 512 gdalraster = [ pkgs.pkg-config ]; 513 gdtools = 514 with pkgs; 515 [ 516 cairo.dev 517 fontconfig.lib 518 freetype.dev 519 ] 520 ++ lib.optionals stdenv.hostPlatform.isDarwin [ 521 expat 522 xorg.libXdmcp 523 ]; 524 GeneralizedWendland = [ pkgs.gsl ]; 525 ggiraph = with pkgs; [ pkgs.libpng.dev ]; 526 git2r = with pkgs; [ 527 zlib.dev 528 openssl.dev 529 libssh2.dev 530 libgit2 531 pkg-config 532 ]; 533 GLAD = [ pkgs.gsl ]; 534 glpkAPI = with pkgs; [ 535 gmp 536 glpk 537 ]; 538 gmp = [ pkgs.gmp.dev ]; 539 GPBayes = [ pkgs.gsl ]; 540 graphscan = [ pkgs.gsl ]; 541 gsl = [ pkgs.gsl ]; 542 gslnls = [ pkgs.gsl ]; 543 gert = [ pkgs.libgit2 ]; 544 haven = with pkgs; [ zlib.dev ]; 545 hellorust = [ pkgs.cargo ]; 546 hgwrr = [ pkgs.gsl ]; 547 h5vc = with pkgs; [ 548 zlib.dev 549 bzip2.dev 550 xz.dev 551 ]; 552 HiCParser = [ pkgs.zlib ]; 553 yyjsonr = with pkgs; [ zlib.dev ]; 554 RNifti = with pkgs; [ zlib.dev ]; 555 RNiftyReg = with pkgs; [ zlib.dev ]; 556 highs = [ 557 pkgs.which 558 pkgs.cmake 559 ]; 560 crc32c = [ 561 pkgs.which 562 pkgs.cmake 563 ]; 564 cpp11bigwig = with pkgs; [ 565 zlib.dev 566 curl.dev 567 ]; 568 rbedrock = [ 569 pkgs.zlib.dev 570 pkgs.which 571 pkgs.cmake 572 ]; 573 Rigraphlib = [ pkgs.cmake ]; 574 HiCseg = [ pkgs.gsl ]; 575 hypergeo2 = with pkgs; [ 576 gmp.dev 577 mpfr.dev 578 pkg-config 579 ]; 580 imager = [ pkgs.xorg.libX11.dev ]; 581 imbibe = [ pkgs.zlib.dev ]; 582 image_CannyEdges = with pkgs; [ 583 fftw.dev 584 libpng.dev 585 ]; 586 iBMQ = [ pkgs.gsl ]; 587 jack = [ pkgs.pkg-config ]; 588 JavaGD = [ pkgs.jdk ]; 589 jpeg = [ pkgs.libjpeg.dev ]; 590 jqr = [ pkgs.jq.dev ]; 591 KFKSDS = [ pkgs.gsl ]; 592 KSgeneral = with pkgs; [ pkg-config ]; 593 kza = [ pkgs.fftw.dev ]; 594 leidenAlg = [ pkgs.gmp.dev ]; 595 Libra = [ pkgs.gsl ]; 596 libstable4u = [ pkgs.gsl ]; 597 heck = with pkgs; [ 598 cargo 599 rustc 600 ]; 601 LOMAR = [ pkgs.gmp.dev ]; 602 littler = [ pkgs.libdeflate ]; 603 lpsymphony = with pkgs; [ 604 pkg-config 605 gfortran 606 gettext 607 ]; 608 lwgeom = with pkgs; [ 609 proj 610 geos 611 gdal 612 ]; 613 rsbml = [ pkgs.pkg-config ]; 614 rvg = [ pkgs.libpng.dev ]; 615 MAGEE = [ 616 pkgs.zlib.dev 617 pkgs.bzip2.dev 618 ]; 619 magick = [ pkgs.imagemagick.dev ]; 620 ModelMetrics = lib.optional stdenv.hostPlatform.isDarwin pkgs.llvmPackages.openmp; 621 mvabund = [ pkgs.gsl ]; 622 mcrPioda = [ pkgs.gsl ]; 623 mwaved = [ pkgs.fftw.dev ]; 624 mzR = with pkgs; [ 625 zlib 626 netcdf 627 ]; 628 nanonext = with pkgs; [ 629 mbedtls 630 nng 631 ]; 632 ncdf4 = [ pkgs.netcdf ]; 633 neojags = [ pkgs.jags ]; 634 nloptr = with pkgs; [ 635 nlopt 636 pkg-config 637 ]; 638 n1qn1 = [ pkgs.gfortran ]; 639 odbc = [ pkgs.unixODBC ]; 640 opencv = [ pkgs.pkg-config ]; 641 pak = [ pkgs.curl.dev ]; 642 pander = with pkgs; [ 643 pandoc 644 which 645 ]; 646 pbdMPI = [ pkgs.mpi ]; 647 pbdPROF = [ pkgs.mpi ]; 648 pbdZMQ = [ pkgs.pkg-config ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ pkgs.which ]; 649 pcaL1 = [ 650 pkgs.pkg-config 651 pkgs.clp 652 ]; 653 pdftools = [ pkgs.poppler.dev ]; 654 PEPBVS = [ pkgs.gsl ]; 655 phytools = [ pkgs.which ]; 656 PKI = [ pkgs.openssl.dev ]; 657 png = [ pkgs.libpng.dev ]; 658 protolite = [ pkgs.protobuf ]; 659 prqlr = with pkgs; [ 660 cargo 661 rustc 662 ]; 663 R2SWF = with pkgs; [ 664 zlib 665 libpng 666 freetype.dev 667 ]; 668 RAppArmor = [ pkgs.libapparmor ]; 669 rapportools = [ pkgs.which ]; 670 rapport = [ pkgs.which ]; 671 rcdd = [ pkgs.gmp.dev ]; 672 RcppCNPy = [ pkgs.zlib.dev ]; 673 RcppGSL = [ pkgs.gsl ]; 674 RcppZiggurat = [ pkgs.gsl ]; 675 reprex = [ pkgs.which ]; 676 resultant = with pkgs; [ 677 gmp.dev 678 mpfr.dev 679 pkg-config 680 ]; 681 rgdal = with pkgs; [ 682 proj.dev 683 gdal 684 ]; 685 Rhisat2 = [ 686 pkgs.which 687 pkgs.hostname 688 ]; 689 gdalcubes = [ pkgs.pkg-config ]; 690 rgeos = [ pkgs.geos ]; 691 Rglpk = [ pkgs.glpk ]; 692 RcppPlanc = with pkgs; [ 693 which 694 cmake 695 pkg-config 696 ]; 697 RGtk2 = [ pkgs.gtk2.dev ]; 698 rhdf5 = [ pkgs.zlib ]; 699 Rhdf5lib = with pkgs; [ zlib.dev ]; 700 Rhpc = with pkgs; [ 701 zlib 702 bzip2.dev 703 icu 704 xz.dev 705 mpi 706 pcre.dev 707 ]; 708 Rhtslib = with pkgs; [ 709 zlib.dev 710 automake 711 autoconf 712 bzip2.dev 713 xz.dev 714 curl.dev 715 ]; 716 rjags = [ pkgs.jags ]; 717 rJava = with pkgs; [ 718 stripJavaArchivesHook 719 zlib 720 bzip2.dev 721 icu 722 xz.dev 723 zstd.dev 724 pcre.dev 725 jdk 726 libzip 727 libdeflate 728 ]; 729 Rlibeemd = [ pkgs.gsl ]; 730 rmatio = [ 731 pkgs.zlib.dev 732 pkgs.pkg-config 733 ]; 734 Rmpfr = with pkgs; [ 735 gmp 736 mpfr.dev 737 ]; 738 Rmpi = with pkgs; [ 739 mpi.dev 740 prrte.dev 741 ]; 742 RMySQL = with pkgs; [ 743 zlib 744 libmysqlclient 745 openssl.dev 746 ]; 747 RNetCDF = with pkgs; [ 748 netcdf 749 udunits 750 ]; 751 RODBC = [ pkgs.libiodbc ]; 752 rpanel = [ pkgs.tclPackages.bwidget ]; 753 Rpoppler = [ pkgs.poppler ]; 754 RPostgreSQL = with pkgs; [ libpq.pg_config ]; 755 RProtoBuf = [ pkgs.protobuf ]; 756 RSclient = [ pkgs.openssl.dev ]; 757 Rserve = [ pkgs.openssl ]; 758 Rssa = [ pkgs.fftw.dev ]; 759 rsvg = [ pkgs.pkg-config ]; 760 runjags = [ pkgs.jags ]; 761 xslt = [ pkgs.pkg-config ]; 762 RVowpalWabbit = with pkgs; [ 763 zlib.dev 764 boost 765 ]; 766 rzmq = with pkgs; [ 767 zeromq 768 pkg-config 769 ]; 770 httpuv = [ pkgs.zlib.dev ]; 771 clustermq = [ pkgs.zeromq ]; 772 SAVE = with pkgs; [ 773 zlib 774 bzip2 775 icu 776 xz 777 pcre 778 ]; 779 salso = with pkgs; [ 780 cargo 781 rustc 782 ]; 783 ymd = with pkgs; [ 784 cargo 785 rustc 786 ]; 787 arcpbf = with pkgs; [ 788 cargo 789 rustc 790 ]; 791 sdcTable = with pkgs; [ 792 gmp 793 glpk 794 ]; 795 seewave = with pkgs; [ 796 fftw.dev 797 libsndfile.dev 798 ]; 799 seqinr = [ pkgs.zlib.dev ]; 800 smcryptoR = with pkgs; [ 801 cargo 802 rustc 803 which 804 ]; 805 webp = [ pkgs.pkg-config ]; 806 seqminer = with pkgs; [ 807 zlib.dev 808 bzip2 809 ]; 810 sf = with pkgs; [ 811 gdal 812 proj 813 geos 814 libtiff 815 curl 816 ]; 817 fio = with pkgs; [ 818 cargo 819 rustc 820 ]; 821 strawr = with pkgs; [ curl.dev ]; 822 string2path = [ pkgs.cargo ]; 823 terra = with pkgs; [ 824 gdal 825 proj 826 geos 827 netcdf 828 ]; 829 tok = [ pkgs.cargo ]; 830 rshift = with pkgs; [ 831 cargo 832 rustc 833 ]; 834 arcgisutils = with pkgs; [ 835 cargo 836 rustc 837 ]; 838 arcgisgeocode = with pkgs; [ 839 cargo 840 rustc 841 ]; 842 arcgisplaces = with pkgs; [ 843 pkg-config 844 openssl.dev 845 cargo 846 rustc 847 ]; 848 awdb = [ pkgs.cargo ]; 849 apcf = with pkgs; [ geos ]; 850 SemiCompRisks = [ pkgs.gsl ]; 851 showtext = with pkgs; [ 852 zlib 853 libpng 854 icu 855 freetype.dev 856 ]; 857 simplexreg = [ pkgs.gsl ]; 858 spate = [ pkgs.fftw.dev ]; 859 ssanv = [ pkgs.proj ]; 860 stsm = [ pkgs.gsl ]; 861 stringi = [ pkgs.icu.dev ]; 862 parseLatex = [ pkgs.icu.dev ]; 863 survSNP = [ pkgs.gsl ]; 864 svglite = [ pkgs.libpng.dev ]; 865 sysfonts = with pkgs; [ 866 zlib 867 libpng 868 freetype.dev 869 ]; 870 systemfonts = with pkgs; [ 871 fontconfig.dev 872 freetype.dev 873 ]; 874 TAQMNGR = [ pkgs.zlib.dev ]; 875 TDA = [ pkgs.gmp ]; 876 tesseract = with pkgs; [ 877 tesseract 878 leptonica 879 ]; 880 tiff = [ pkgs.libtiff.dev ]; 881 tkrplot = with pkgs; [ 882 xorg.libX11 883 tk.dev 884 ]; 885 topicmodels = [ pkgs.gsl ]; 886 udunits2 = with pkgs; [ 887 udunits 888 expat 889 ]; 890 units = [ pkgs.udunits ]; 891 unigd = [ pkgs.pkg-config ]; 892 vdiffr = [ pkgs.libpng.dev ]; 893 V8 = [ pkgs.nodejs.libv8 ]; 894 XBRL = with pkgs; [ 895 zlib 896 libxml2.dev 897 ]; 898 XLConnect = [ pkgs.jdk ]; 899 xml2 = [ pkgs.libxml2.dev ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ pkgs.perl ]; 900 XML = with pkgs; [ 901 libtool 902 libxml2.dev 903 xmlsec 904 libxslt 905 ]; 906 affyPLM = [ pkgs.zlib.dev ]; 907 BitSeq = [ pkgs.zlib.dev ]; 908 DiffBind = with pkgs; [ 909 zlib.dev 910 xz.dev 911 bzip2.dev 912 ]; 913 ShortRead = [ pkgs.zlib.dev ]; 914 oligo = [ pkgs.zlib.dev ]; 915 gmapR = [ pkgs.zlib.dev ]; 916 Rsubread = [ pkgs.zlib.dev ]; 917 XVector = [ pkgs.zlib.dev ]; 918 Rsamtools = with pkgs; [ 919 zlib.dev 920 curl.dev 921 bzip2 922 xz 923 ]; 924 rtracklayer = with pkgs; [ 925 zlib.dev 926 curl.dev 927 ]; 928 affyio = [ pkgs.zlib.dev ]; 929 snpStats = [ pkgs.zlib.dev ]; 930 vcfppR = [ 931 pkgs.curl.dev 932 pkgs.bzip2 933 pkgs.zlib.dev 934 pkgs.xz 935 ]; 936 httpgd = with pkgs; [ cairo.dev ]; 937 SymTS = [ pkgs.gsl ]; 938 VBLPCM = [ pkgs.gsl ]; 939 dynr = [ pkgs.gsl ]; 940 mixlink = [ pkgs.gsl ]; 941 ridge = [ pkgs.gsl ]; 942 smam = [ pkgs.gsl ]; 943 rnetcarto = [ pkgs.gsl ]; 944 rGEDI = [ pkgs.gsl ]; 945 mmpca = [ pkgs.gsl ]; 946 monoreg = [ pkgs.gsl ]; 947 mvst = [ pkgs.gsl ]; 948 mixture = [ pkgs.gsl ]; 949 jSDM = [ pkgs.gsl ]; 950 immunoClust = [ pkgs.gsl ]; 951 hSDM = [ pkgs.gsl ]; 952 flowPeaks = [ pkgs.gsl ]; 953 fRLR = [ pkgs.gsl ]; 954 eaf = [ pkgs.gsl ]; 955 diseq = [ pkgs.gsl ]; 956 cit = [ pkgs.gsl ]; 957 abn = [ pkgs.gsl ]; 958 SimInf = [ pkgs.gsl ]; 959 RJMCMCNucleosomes = [ pkgs.gsl ]; 960 RDieHarder = [ pkgs.gsl ]; 961 QF = [ pkgs.gsl ]; 962 PICS = [ pkgs.gsl ]; 963 RationalMatrix = [ 964 pkgs.pkg-config 965 pkgs.gmp.dev 966 ]; 967 RcppCWB = [ 968 pkgs.pkg-config 969 pkgs.pcre2 970 ]; 971 redux = [ pkgs.pkg-config ]; 972 s2 = [ pkgs.pkg-config ]; 973 rswipl = with pkgs; [ 974 cmake 975 pkg-config 976 ]; 977 scorematchingad = [ pkgs.cmake ]; 978 rrd = [ pkgs.pkg-config ]; 979 surveyvoi = [ pkgs.pkg-config ]; 980 Rbwa = [ pkgs.zlib.dev ]; 981 tergo = with pkgs; [ 982 cargo 983 rustc 984 ]; 985 gglinedensity = [ pkgs.cargo ]; 986 trackViewer = [ pkgs.zlib.dev ]; 987 themetagenomics = [ pkgs.zlib.dev ]; 988 Rsymphony = [ pkgs.pkg-config ]; 989 NanoMethViz = [ pkgs.zlib.dev ]; 990 RcppMeCab = [ pkgs.pkg-config ]; 991 HilbertVisGUI = with pkgs; [ 992 pkg-config 993 which 994 ]; 995 textshaping = [ pkgs.pkg-config ]; 996 ragg = [ pkgs.pkg-config ]; 997 qqconf = [ pkgs.pkg-config ]; 998 qspray = [ pkgs.pkg-config ]; 999 ratioOfQsprays = [ pkgs.pkg-config ]; 1000 watcher = with pkgs; [ 1001 cmake 1002 which 1003 ]; 1004 symbolicQspray = [ pkgs.pkg-config ]; 1005 sphereTessellation = [ pkgs.pkg-config ]; 1006 vapour = [ pkgs.pkg-config ]; 1007 xdvir = [ pkgs.freetype.dev ]; 1008 }; 1009 1010 packagesWithBuildInputs = { 1011 # sort -t '=' -k 2 1012 adbcpostgresql = with pkgs; [ 1013 readline.dev 1014 zlib.dev 1015 openssl.dev 1016 libkrb5.dev 1017 openpam 1018 libpq 1019 ]; 1020 asciicast = with pkgs; [ 1021 bzip2.dev 1022 icu.dev 1023 libdeflate 1024 xz.dev 1025 zlib.dev 1026 zstd.dev 1027 ]; 1028 island = [ pkgs.gsl.dev ]; 1029 knowYourCG = with pkgs; [ 1030 zlib.dev 1031 ncurses.dev 1032 ]; 1033 svKomodo = [ pkgs.which ]; 1034 transmogR = [ pkgs.zlib.dev ]; 1035 ulid = [ pkgs.zlib.dev ]; 1036 unrtf = with pkgs; [ 1037 bzip2.dev 1038 icu.dev 1039 libdeflate 1040 xz.dev 1041 zlib.dev 1042 zstd.dev 1043 ]; 1044 nat = [ pkgs.which ]; 1045 nat_templatebrains = [ pkgs.which ]; 1046 pbdZMQ = [ pkgs.zeromq ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ pkgs.darwin.binutils ]; 1047 bigmemory = lib.optionals stdenv.hostPlatform.isLinux [ pkgs.libuuid.dev ]; 1048 bayesWatch = [ pkgs.boost.dev ]; 1049 clustermq = [ pkgs.pkg-config ]; 1050 coga = [ pkgs.gsl.dev ]; 1051 mBvs = [ pkgs.gsl.dev ]; 1052 rcontroll = [ pkgs.gsl.dev ]; 1053 deepSNV = with pkgs; [ 1054 xz.dev 1055 bzip2.dev 1056 zlib.dev 1057 ]; 1058 epialleleR = with pkgs; [ 1059 xz.dev 1060 bzip2.dev 1061 zlib.dev 1062 ]; 1063 gdalraster = with pkgs; [ 1064 gdal 1065 proj.dev 1066 sqlite.dev 1067 ]; 1068 mitoClone2 = with pkgs; [ 1069 xz.dev 1070 bzip2.dev 1071 zlib.dev 1072 ]; 1073 gpg = [ pkgs.gpgme ]; 1074 webp = [ pkgs.libwebp ]; 1075 RMark = [ pkgs.which ]; 1076 RPushbullet = [ pkgs.which ]; 1077 stpphawkes = [ pkgs.gsl ]; 1078 registr = with pkgs; [ 1079 icu.dev 1080 zlib.dev 1081 bzip2.dev 1082 xz.dev 1083 libdeflate 1084 ]; 1085 RCurl = [ pkgs.curl.dev ]; 1086 R2SWF = [ pkgs.pkg-config ]; 1087 rDEA = [ pkgs.glpk ]; 1088 rgl = with pkgs; [ 1089 libGLU 1090 libGL 1091 xorg.libX11.dev 1092 freetype.dev 1093 libpng.dev 1094 ]; 1095 RGtk2 = [ pkgs.pkg-config ]; 1096 RProtoBuf = [ pkgs.pkg-config ]; 1097 Rpoppler = [ pkgs.pkg-config ]; 1098 RPostgres = with pkgs; [ libpq ]; 1099 XML = [ pkgs.pkg-config ]; 1100 apsimx = [ pkgs.which ]; 1101 cairoDevice = [ pkgs.pkg-config ]; 1102 chebpol = [ pkgs.pkg-config ]; 1103 baseline = [ pkgs.lapack ]; 1104 eds = [ pkgs.zlib.dev ]; 1105 pgenlibr = [ pkgs.zlib.dev ]; 1106 fftw = [ pkgs.pkg-config ]; 1107 gdtools = [ pkgs.pkg-config ]; 1108 archive = [ pkgs.libarchive ]; 1109 gdalcubes = with pkgs; [ 1110 proj.dev 1111 gdal 1112 sqlite.dev 1113 netcdf 1114 ]; 1115 rsbml = [ pkgs.libsbml ]; 1116 SuperGauss = [ 1117 pkgs.pkg-config 1118 pkgs.fftw.dev 1119 ]; 1120 ravetools = with pkgs; [ 1121 pkg-config 1122 fftw.dev 1123 ]; 1124 specklestar = [ pkgs.fftw.dev ]; 1125 cartogramR = with pkgs; [ 1126 fftw.dev 1127 pkg-config 1128 ]; 1129 jqr = [ pkgs.jq.out ]; 1130 kza = [ pkgs.pkg-config ]; 1131 igraph = with pkgs; [ 1132 gmp 1133 libxml2.dev 1134 glpk 1135 ]; 1136 interpolation = with pkgs; [ 1137 gmp 1138 mpfr 1139 ]; 1140 image_textlinedetector = with pkgs; [ 1141 pkg-config 1142 opencv 1143 ]; 1144 lwgeom = with pkgs; [ 1145 pkg-config 1146 proj.dev 1147 sqlite.dev 1148 ]; 1149 magick = [ pkgs.pkg-config ]; 1150 mwaved = [ pkgs.pkg-config ]; 1151 odbc = [ pkgs.pkg-config ]; 1152 openssl = [ pkgs.pkg-config ]; 1153 pdftools = [ pkgs.pkg-config ]; 1154 qckitfastq = [ pkgs.zlib.dev ]; 1155 raer = with pkgs; [ 1156 zlib.dev 1157 xz.dev 1158 bzip2.dev 1159 ]; 1160 RQuantLib = with pkgs; [ 1161 quantlib.dev 1162 boost.dev 1163 ]; 1164 sf = with pkgs; [ 1165 pkg-config 1166 sqlite.dev 1167 proj.dev 1168 ]; 1169 terra = with pkgs; [ 1170 pkg-config 1171 sqlite.dev 1172 proj.dev 1173 ]; 1174 showtext = [ pkgs.pkg-config ]; 1175 spate = [ pkgs.pkg-config ]; 1176 stringi = [ pkgs.pkg-config ]; 1177 sysfonts = [ pkgs.pkg-config ]; 1178 systemfonts = [ pkgs.pkg-config ]; 1179 tesseract = [ pkgs.pkg-config ]; 1180 Cairo = [ pkgs.pkg-config ]; 1181 CLVTools = [ pkgs.gsl ]; 1182 excursions = [ pkgs.gsl ]; 1183 OpenCL = with pkgs; [ 1184 opencl-clhpp 1185 ocl-icd 1186 ]; 1187 gpuMagic = [ pkgs.ocl-icd ]; 1188 JMcmprsk = [ pkgs.gsl ]; 1189 KSgeneral = [ pkgs.fftw.dev ]; 1190 mashr = [ pkgs.gsl ]; 1191 hadron = [ pkgs.gsl ]; 1192 AMOUNTAIN = [ pkgs.gsl ]; 1193 Rsymphony = with pkgs; [ 1194 symphony 1195 doxygen 1196 graphviz 1197 subversion 1198 cgl 1199 clp 1200 ]; 1201 tcltk2 = with pkgs; [ 1202 tcl 1203 tk 1204 ]; 1205 rswipl = with pkgs; [ 1206 ncurses.dev 1207 libxcrypt 1208 zlib.dev 1209 ]; 1210 GrafGen = [ pkgs.zlib ]; 1211 tikzDevice = with pkgs; [ 1212 which 1213 texliveMedium 1214 ]; 1215 gridGraphics = [ pkgs.which ]; 1216 adimpro = with pkgs; [ 1217 which 1218 xorg.xdpyinfo 1219 ]; 1220 tfevents = [ pkgs.protobuf ]; 1221 rsvg = [ pkgs.librsvg.dev ]; 1222 ssh = with pkgs; [ libssh ]; 1223 s2 = with pkgs; [ 1224 abseil-cpp 1225 openssl.dev 1226 ]; 1227 ArrayExpressHTS = with pkgs; [ 1228 zlib.dev 1229 curl.dev 1230 which 1231 ]; 1232 bbl = with pkgs; [ gsl ]; 1233 diffHic = with pkgs; [ 1234 xz.dev 1235 bzip2.dev 1236 ]; 1237 writexl = with pkgs; [ zlib.dev ]; 1238 xslt = 1239 with pkgs; 1240 [ 1241 libxslt 1242 libxml2 1243 ] 1244 ++ lib.optionals stdenv.hostPlatform.isDarwin [ xz ]; 1245 qpdf = with pkgs; [ 1246 libjpeg.dev 1247 zlib.dev 1248 ]; 1249 vcfR = with pkgs; [ zlib.dev ]; 1250 bio3d = with pkgs; [ zlib.dev ]; 1251 arrangements = with pkgs; [ gmp.dev ]; 1252 gfilogisreg = [ pkgs.gmp.dev ]; 1253 spp = with pkgs; [ zlib.dev ]; 1254 bamsignals = with pkgs; [ 1255 zlib.dev 1256 xz.dev 1257 bzip2 1258 ]; 1259 Rbowtie = with pkgs; [ zlib.dev ]; 1260 gaston = with pkgs; [ zlib.dev ]; 1261 csaw = with pkgs; [ 1262 zlib.dev 1263 xz.dev 1264 bzip2.dev 1265 curl 1266 ]; 1267 DirichletMultinomial = with pkgs; [ gsl ]; 1268 DiffBind = with pkgs; [ zlib.dev ]; 1269 CNEr = with pkgs; [ zlib ]; 1270 GMMAT = with pkgs; [ 1271 zlib.dev 1272 bzip2.dev 1273 ]; 1274 rmumps = with pkgs; [ zlib.dev ]; 1275 HiCDCPlus = [ pkgs.zlib.dev ]; 1276 PopGenome = [ pkgs.zlib.dev ]; 1277 QuasR = with pkgs; [ 1278 zlib.dev 1279 xz.dev 1280 bzip2.dev 1281 ]; 1282 Rarr = [ pkgs.zlib.dev ]; 1283 Rbowtie2 = [ pkgs.zlib.dev ]; 1284 Rfastp = with pkgs; [ 1285 xz.dev 1286 bzip2.dev 1287 zlib.dev 1288 ]; 1289 maftools = with pkgs; [ 1290 zlib.dev 1291 bzip2 1292 xz.dev 1293 ]; 1294 Rmmquant = [ pkgs.zlib.dev ]; 1295 SICtools = with pkgs; [ 1296 zlib.dev 1297 ncurses.dev 1298 ]; 1299 Signac = [ pkgs.zlib.dev ]; 1300 TransView = with pkgs; [ 1301 xz.dev 1302 bzip2.dev 1303 zlib.dev 1304 ]; 1305 bigsnpr = [ pkgs.zlib.dev ]; 1306 zlib = [ pkgs.zlib.dev ]; 1307 divest = [ pkgs.zlib.dev ]; 1308 hipread = [ pkgs.zlib.dev ]; 1309 jack = with pkgs; [ 1310 gmp.dev 1311 mpfr.dev 1312 ]; 1313 jackalope = with pkgs; [ 1314 zlib.dev 1315 xz.dev 1316 bzip2.dev 1317 ]; 1318 largeList = [ pkgs.zlib.dev ]; 1319 mappoly = [ pkgs.zlib.dev ]; 1320 VariantAnnotation = with pkgs; [ 1321 zlib.dev 1322 curl.dev 1323 bzip2.dev 1324 xz.dev 1325 ]; 1326 matchingMarkets = [ pkgs.zlib.dev ]; 1327 methylKit = with pkgs; [ 1328 zlib.dev 1329 bzip2.dev 1330 xz.dev 1331 ]; 1332 ndjson = [ pkgs.zlib.dev ]; 1333 podkat = with pkgs; [ 1334 zlib.dev 1335 xz.dev 1336 bzip2.dev 1337 ]; 1338 qrqc = [ pkgs.zlib.dev ]; 1339 rJPSGCS = [ pkgs.zlib.dev ]; 1340 rhdf5filters = with pkgs; [ 1341 zlib.dev 1342 bzip2.dev 1343 ]; 1344 symengine = with pkgs; [ 1345 mpfr 1346 symengine 1347 flint 1348 ]; 1349 rtk = [ pkgs.zlib.dev ]; 1350 scPipe = with pkgs; [ 1351 bzip2.dev 1352 xz.dev 1353 zlib.dev 1354 ]; 1355 seqTools = [ pkgs.zlib.dev ]; 1356 seqbias = with pkgs; [ 1357 zlib.dev 1358 bzip2.dev 1359 xz.dev 1360 ]; 1361 sparkwarc = [ pkgs.zlib.dev ]; 1362 RoBMA = [ pkgs.jags ]; 1363 RoBSA = [ pkgs.jags ]; 1364 pexm = [ pkgs.jags ]; 1365 rGEDI = with pkgs; [ 1366 libgeotiff.dev 1367 libaec 1368 zlib.dev 1369 hdf5.dev 1370 ]; 1371 rawrr = [ pkgs.mono ]; 1372 HDF5Array = [ pkgs.zlib.dev ]; 1373 FLAMES = with pkgs; [ 1374 zlib.dev 1375 bzip2.dev 1376 xz.dev 1377 ]; 1378 ncdfFlow = [ pkgs.zlib.dev ]; 1379 proj4 = [ pkgs.proj.dev ]; 1380 rtmpt = [ pkgs.gsl ]; 1381 mixcat = [ pkgs.gsl ]; 1382 libstableR = [ pkgs.gsl ]; 1383 landsepi = [ pkgs.gsl ]; 1384 flan = [ pkgs.gsl ]; 1385 econetwork = [ pkgs.gsl ]; 1386 crandep = [ pkgs.gsl ]; 1387 catSurv = [ pkgs.gsl ]; 1388 ccfindR = [ pkgs.gsl ]; 1389 RcppPlanc = with pkgs; [ 1390 hwloc 1391 hdf5.dev 1392 ]; 1393 screenCounter = [ pkgs.zlib.dev ]; 1394 SPARSEMODr = [ pkgs.gsl ]; 1395 RKHSMetaMod = [ pkgs.gsl ]; 1396 LCMCR = [ pkgs.gsl ]; 1397 BNSP = [ pkgs.gsl ]; 1398 scModels = [ pkgs.mpfr.dev ]; 1399 multibridge = with pkgs; [ 1400 pkg-config 1401 mpfr.dev 1402 ]; 1403 RcppCWB = with pkgs; [ 1404 pcre.dev 1405 glib.dev 1406 ]; 1407 redux = [ pkgs.hiredis ]; 1408 RmecabKo = [ pkgs.mecab ]; 1409 markets = [ pkgs.gsl ]; 1410 rlas = [ pkgs.boost ]; 1411 bgx = [ pkgs.boost ]; 1412 PoissonBinomial = [ pkgs.fftw.dev ]; 1413 poisbinom = [ pkgs.fftw.dev ]; 1414 PoissonMultinomial = [ pkgs.fftw.dev ]; 1415 psbcGroup = [ pkgs.gsl.dev ]; 1416 rrd = [ pkgs.rrdtool ]; 1417 flowWorkspace = [ pkgs.zlib.dev ]; 1418 RITCH = [ pkgs.zlib.dev ]; 1419 RcppMeCab = [ pkgs.mecab ]; 1420 PING = [ pkgs.gsl ]; 1421 PROJ = [ pkgs.proj.dev ]; 1422 RcppAlgos = [ pkgs.gmp.dev ]; 1423 RcppBigIntAlgos = [ pkgs.gmp.dev ]; 1424 spaMM = [ pkgs.gsl ]; 1425 shrinkTVP = [ pkgs.gsl ]; 1426 sbrl = with pkgs; [ 1427 gsl 1428 gmp.dev 1429 ]; 1430 surveyvoi = with pkgs; [ 1431 gmp.dev 1432 mpfr.dev 1433 ]; 1434 unigd = 1435 with pkgs; 1436 [ 1437 cairo.dev 1438 libpng.dev 1439 ] 1440 ++ lib.optionals stdenv.hostPlatform.isDarwin [ 1441 expat 1442 xorg.libXdmcp 1443 ]; 1444 HilbertVisGUI = [ pkgs.gtkmm2.dev ]; 1445 textshaping = with pkgs; [ 1446 harfbuzz.dev 1447 freetype.dev 1448 fribidi 1449 libpng 1450 ]; 1451 DropletUtils = [ pkgs.zlib.dev ]; 1452 RMariaDB = [ pkgs.libmysqlclient.dev ]; 1453 ijtiff = with pkgs; [ 1454 libtiff 1455 libjpeg 1456 zlib 1457 ]; 1458 ragg = 1459 with pkgs; 1460 [ 1461 freetype.dev 1462 libpng.dev 1463 libtiff.dev 1464 zlib.dev 1465 libjpeg.dev 1466 bzip2.dev 1467 ] 1468 ++ lib.optional stdenv.hostPlatform.isDarwin lerc.dev; 1469 qqconf = [ pkgs.fftw.dev ]; 1470 spFW = [ pkgs.fftw.dev ]; 1471 qspray = with pkgs; [ 1472 gmp.dev 1473 mpfr.dev 1474 ]; 1475 ratioOfQsprays = with pkgs; [ 1476 gmp.dev 1477 mpfr.dev 1478 ]; 1479 symbolicQspray = with pkgs; [ 1480 gmp.dev 1481 mpfr.dev 1482 ]; 1483 sphereTessellation = with pkgs; [ 1484 gmp.dev 1485 mpfr.dev 1486 ]; 1487 vapour = with pkgs; [ 1488 proj.dev 1489 gdal 1490 ]; 1491 MedianaDesigner = [ pkgs.zlib.dev ]; 1492 ChemmineOB = with pkgs; [ 1493 eigen 1494 openbabel 1495 ]; 1496 DGP4LCF = [ 1497 pkgs.lapack 1498 pkgs.blas 1499 ]; 1500 }; 1501 1502 packagesRequiringX = [ 1503 "analogueExtra" 1504 "AnalyzeFMRI" 1505 "AnnotLists" 1506 "asbio" 1507 "BCA" 1508 "biplotbootGUI" 1509 "cairoDevice" 1510 "cncaGUI" 1511 "CommunityCorrelogram" 1512 "dave" 1513 "DeducerPlugInExample" 1514 "DeducerPlugInScaling" 1515 "DeducerSpatial" 1516 "DeducerSurvival" 1517 "DeducerText" 1518 "Demerelate" 1519 "diveR" 1520 "dpa" 1521 "dynamicGraph" 1522 "EasyqpcR" 1523 "exactLoglinTest" 1524 "fisheyeR" 1525 "forams" 1526 "forensim" 1527 "GGEBiplotGUI" 1528 "gsubfn" 1529 "gWidgets2RGtk2" 1530 "gWidgets2tcltk" 1531 "HiveR" 1532 "ic50" 1533 "iDynoR" 1534 "iplots" 1535 "likeLTD" 1536 "loon" 1537 "loon_ggplot" 1538 "loon_shiny" 1539 "loon_tourr" 1540 "Meth27QC" 1541 "mixsep" 1542 "multibiplotGUI" 1543 "OligoSpecificitySystem" 1544 "optbdmaeAT" 1545 "optrcdmaeAT" 1546 "paleoMAS" 1547 "RandomFields" 1548 "rfviz" 1549 "RclusTool" 1550 "RcmdrPlugin_coin" 1551 "RcmdrPlugin_FuzzyClust" 1552 "RcmdrPlugin_IPSUR" 1553 "RcmdrPlugin_lfstat" 1554 "RcmdrPlugin_PcaRobust" 1555 "RcmdrPlugin_plotByGroup" 1556 "RcmdrPlugin_pointG" 1557 "RcmdrPlugin_sampling" 1558 "RcmdrPlugin_SCDA" 1559 "RcmdrPlugin_SLC" 1560 "RcmdrPlugin_steepness" 1561 "rich" 1562 "RSurvey" 1563 "simba" 1564 "SimpleTable" 1565 "SOLOMON" 1566 "soptdmaeA" 1567 "strvalidator" 1568 "stylo" 1569 "SyNet" 1570 "switchboard" 1571 "tkImgR" 1572 "TTAinterfaceTrendAnalysis" 1573 "twiddler" 1574 "uHMM" 1575 "VecStatGraphs3D" 1576 ]; 1577 1578 packagesRequiringHome = [ 1579 "aroma_affymetrix" 1580 "aroma_cn" 1581 "aroma_core" 1582 "avotrex" 1583 "beer" 1584 "ceramic" 1585 "connections" 1586 "covidmx" 1587 "csodata" 1588 "DiceView" 1589 "facmodTS" 1590 "gasanalyzer" 1591 "margaret" 1592 "MSnID" 1593 "OmnipathR" 1594 "orthGS" 1595 "pannotator" 1596 "precommit" 1597 "protGear" 1598 "PCRA" 1599 "PSCBS" 1600 "iemisc" 1601 "red" 1602 "repmis" 1603 "R_cache" 1604 "R_filesets" 1605 "RKorAPClient" 1606 "R_rsp" 1607 "salso" 1608 "scholar" 1609 "SpatialDecon" 1610 "stepR" 1611 "styler" 1612 "tabs" 1613 "teal_code" 1614 "TreeTools" 1615 "TreeSearch" 1616 "ACNE" 1617 "APAlyzer" 1618 "BAT" 1619 "EstMix" 1620 "Patterns" 1621 "PECA" 1622 "Quartet" 1623 "ShinyQuickStarter" 1624 "TIN" 1625 "cfdnakit" 1626 "CaDrA" 1627 "GNOSIS" 1628 "TotalCopheneticIndex" 1629 "TreeDist" 1630 "biocthis" 1631 "calmate" 1632 "fgga" 1633 "fulltext" 1634 "dataverse" 1635 "immuneSIM" 1636 "mastif" 1637 "shinymeta" 1638 "shinyobjects" 1639 "wppi" 1640 "pins" 1641 "CoTiMA" 1642 "TBRDist" 1643 "Rogue" 1644 "fixest" 1645 "paxtoolsr" 1646 "systemPipeShiny" 1647 "matlab2r" 1648 "GNOSIS" 1649 ]; 1650 1651 packagesToSkipCheck = [ 1652 "MsDataHub" # tries to connect to ExperimentHub 1653 "Rmpi" # tries to run MPI processes 1654 "ReactomeContentService4R" # tries to connect to Reactome 1655 "PhIPData" # tries to download something from a DB 1656 "RBioFormats" # tries to download jar during load test 1657 "pbdMPI" # tries to run MPI processes 1658 "CTdata" # tries to connect to ExperimentHub 1659 "rfaRm" # tries to connect to Ebi 1660 "data_table" # fails to rename shared library before check 1661 "coMethDMR" # tries to connect to ExperimentHub 1662 "multiMiR" # tries to connect to DB 1663 "snapcount" # tries to connect to snaptron.cs.jhu.edu 1664 ]; 1665 1666 # Packages which cannot be installed due to lack of dependencies or other reasons. 1667 brokenPackages = [ 1668 "av" 1669 "NetLogoR" 1670 "valse" 1671 "HierO" 1672 "HIBAG" 1673 "HiveR" 1674 "minired" # deprecated on CRAN 1675 1676 # Impure network access during build 1677 "BulkSignalR" 1678 "waddR" 1679 "tiledb" 1680 "switchr" 1681 1682 # ExperimentHub dependents, require net access during build 1683 "DuoClustering2018" 1684 "FieldEffectCrc" 1685 "GenomicDistributionsData" 1686 "hpar" 1687 "HDCytoData" 1688 "HMP16SData" 1689 "PANTHER_db" 1690 "RNAmodR_Data" 1691 "SCATEData" 1692 "SingleMoleculeFootprintingData" 1693 "TabulaMurisData" 1694 "benchmarkfdrData2019" 1695 "bodymapRat" 1696 "clustifyrdatahub" 1697 "CTexploreR" 1698 "depmap" 1699 "emtdata" 1700 "metaboliteIDmapping" 1701 "msigdb" 1702 "muscData" 1703 "org_Mxanthus_db" 1704 "scpdata" 1705 "signatureSearch" 1706 "nullrangesData" 1707 ]; 1708 1709 otherOverrides = old: new: { 1710 ACME = old.ACME.overrideAttrs (attrs: { 1711 env = (attrs.env or { }) // { 1712 # Avoid incompatible pointer type error 1713 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -Wno-incompatible-pointer-types"; 1714 }; 1715 }); 1716 1717 vegan3d = old.vegan3d.overrideAttrs (attrs: { 1718 RGL_USE_NULL = "true"; 1719 }); 1720 1721 # it can happen that the major version of arrow-cpp is ahead of the 1722 # rPackages.arrow that would be built from CRAN sources; therefore, to avoid 1723 # build failures and manual updates of the hash, we use the R source at 1724 # the GitHub release state of libarrow (arrow-cpp) in Nixpkgs. This may 1725 # not exactly represent the CRAN sources, but because patching of the 1726 # CRAN R package is mostly done to meet special CRAN build requirements, 1727 # this is a straightforward approach. Example where patching was necessary 1728 # -> arrow 14.0.0.2 on CRAN; was lagging behind libarrow release: 1729 # https://github.com/apache/arrow/issues/39698 ) 1730 arrow = old.arrow.overrideAttrs (attrs: { 1731 src = pkgs.arrow-cpp.src; 1732 name = "r-arrow-${pkgs.arrow-cpp.version}"; 1733 prePatch = "cd r"; 1734 postPatch = '' 1735 patchShebangs configure 1736 ''; 1737 buildInputs = attrs.buildInputs ++ [ 1738 pkgs.arrow-cpp 1739 ]; 1740 }); 1741 1742 gifski = old.gifski.overrideAttrs (attrs: { 1743 cargoDeps = pkgs.rustPlatform.fetchCargoVendor { 1744 src = attrs.src; 1745 sourceRoot = "gifski/src/myrustlib"; 1746 hash = "sha256-yz6M3qDQPfT0HJHyK2wgzgl5sBh7EmdJ5zW8SJkk+wY="; 1747 }; 1748 1749 cargoRoot = "src/myrustlib"; 1750 1751 nativeBuildInputs = attrs.nativeBuildInputs ++ [ 1752 pkgs.rustPlatform.cargoSetupHook 1753 pkgs.cargo 1754 pkgs.rustc 1755 ]; 1756 }); 1757 1758 gmapR = old.gmapR.overrideAttrs (attrs: { 1759 env = (attrs.env or { }) // { 1760 # Avoid incompatible pointer type error 1761 NIX_CFLAGS_COMPILE = 1762 attrs.env.NIX_CFLAGS_COMPILE 1763 + " -Wno-implicit-function-declaration -Wno-incompatible-pointer-types"; 1764 }; 1765 }); 1766 1767 timeless = old.timeless.overrideAttrs (attrs: { 1768 preConfigure = "patchShebangs configure"; 1769 cargoDeps = pkgs.rustPlatform.fetchCargoVendor { 1770 src = attrs.src; 1771 sourceRoot = "timeless/src/rust"; 1772 hash = "sha256-5TV7iCzaaFwROfJNO6pvSUbJBzV+wZlU5+ZK4AMT6X0="; 1773 }; 1774 1775 cargoRoot = "src/rust"; 1776 1777 nativeBuildInputs = attrs.nativeBuildInputs ++ [ 1778 pkgs.rustPlatform.cargoSetupHook 1779 pkgs.cargo 1780 ]; 1781 }); 1782 1783 arcpbf = old.arcpbf.overrideAttrs (attrs: { 1784 postPatch = "patchShebangs configure"; 1785 }); 1786 1787 arcgisplaces = old.arcgisplaces.overrideAttrs (attrs: { 1788 postPatch = "patchShebangs configure"; 1789 }); 1790 1791 cartogramR = old.cartogramR.overrideAttrs (attrs: { 1792 postPatch = "patchShebangs configure"; 1793 }); 1794 1795 rshift = old.rshift.overrideAttrs (attrs: { 1796 postPatch = "patchShebangs configure"; 1797 }); 1798 1799 ymd = old.ymd.overrideAttrs (attrs: { 1800 postPatch = "patchShebangs configure"; 1801 }); 1802 1803 SynExtend = old.SynExtend.overrideAttrs (attrs: { 1804 # build might fail due to race condition 1805 enableParallelBuilding = false; 1806 }); 1807 1808 orbweaver = old.orbweaver.overrideAttrs (attrs: { 1809 postPatch = "patchShebangs configure"; 1810 nativeBuildInputs = attrs.nativeBuildInputs ++ [ 1811 pkgs.cargo 1812 pkgs.rustc 1813 ]; 1814 }); 1815 1816 xml2 = old.xml2.overrideAttrs (attrs: { 1817 preConfigure = '' 1818 export LIBXML_INCDIR=${pkgs.libxml2.dev}/include/libxml2 1819 patchShebangs configure 1820 ''; 1821 }); 1822 1823 findpython = old.findpython.overrideAttrs (attrs: { 1824 postPatch = '' 1825 substituteInPlace "R/find_python_cmd.r" \ 1826 --replace-fail 'python_cmds[which(python_cmds != "")]' \ 1827 'python_cmds <- c(python_cmds, file.path("${lib.getBin pkgs.python3}", "bin", "python3")) 1828 python_cmds[which(python_cmds != "")]' 1829 ''; 1830 }); 1831 1832 fcl = old.fcl.overrideAttrs (attrs: { 1833 postPatch = "patchShebangs configure"; 1834 }); 1835 1836 fio = old.fio.overrideAttrs (attrs: { 1837 postPatch = "patchShebangs configure"; 1838 }); 1839 1840 hypeR = old.hypeR.overrideAttrs (attrs: { 1841 postPatch = '' 1842 substituteInPlace NAMESPACE R/db_msig.R --replace-fail \ 1843 "msigdbr_show_species" "msigdbr_species" 1844 ''; 1845 }); 1846 1847 alcyon = old.alcyon.overrideAttrs (attrs: { 1848 configureFlags = [ 1849 "--enable-force-openmp" 1850 ]; 1851 }); 1852 1853 awdb = old.awdb.overrideAttrs (attrs: { 1854 postPatch = '' 1855 patchShebangs configure 1856 ''; 1857 }); 1858 1859 clarabel = old.clarabel.overrideAttrs (attrs: { 1860 postPatch = '' 1861 patchShebangs configure 1862 ''; 1863 }); 1864 1865 cn_farms = old.cn_farms.overrideAttrs (attrs: { 1866 postPatch = '' 1867 # https://developer.r-project.org/blosxom.cgi/R-devel/NEWS/2025/01/08#n2025-01-08 1868 substituteInPlace "src/sparse_farms.c" \ 1869 --replace-fail "Calloc" "R_Calloc" \ 1870 --replace-fail "Free" "R_Free" 1871 ''; 1872 }); 1873 1874 PICS = old.PICS.overrideAttrs (attrs: { 1875 postPatch = '' 1876 # https://developer.r-project.org/blosxom.cgi/R-devel/NEWS/2025/01/08#n2025-01-08 1877 substituteInPlace "src/segment.c" \ 1878 --replace-fail "Calloc" "R_Calloc" 1879 ''; 1880 }); 1881 1882 genoCN = old.genoCN.overrideAttrs (attrs: { 1883 postPatch = '' 1884 # https://developer.r-project.org/blosxom.cgi/R-devel/NEWS/2025/01/08#n2025-01-08 1885 substituteInPlace "src/xCNV.c" \ 1886 --replace-fail "Calloc" "R_Calloc" \ 1887 --replace-fail "Free" "R_Free" 1888 ''; 1889 }); 1890 1891 trigger = old.trigger.overrideAttrs (attrs: { 1892 postPatch = '' 1893 # https://developer.r-project.org/blosxom.cgi/R-devel/NEWS/2025/01/08#n2025-01-08 1894 substituteInPlace "src/trigger.c" \ 1895 --replace-fail "Calloc" "R_Calloc" \ 1896 --replace-fail "Free" "R_Free" 1897 ''; 1898 }); 1899 1900 lwgeom = old.lwgeom.overrideAttrs (attrs: { 1901 configureFlags = [ 1902 "--with-proj-lib=${pkgs.lib.getLib pkgs.proj}/lib" 1903 ]; 1904 }); 1905 1906 sf = old.sf.overrideAttrs (attrs: { 1907 configureFlags = [ 1908 "--with-proj-lib=${pkgs.lib.getLib pkgs.proj}/lib" 1909 ]; 1910 }); 1911 1912 terra = old.terra.overrideAttrs (attrs: { 1913 configureFlags = [ 1914 "--with-proj-lib=${pkgs.lib.getLib pkgs.proj}/lib" 1915 ]; 1916 }); 1917 1918 vapour = old.vapour.overrideAttrs (attrs: { 1919 configureFlags = [ 1920 "--with-proj-lib=${pkgs.lib.getLib pkgs.proj}/lib" 1921 ]; 1922 }); 1923 1924 rzmq = old.rzmq.overrideAttrs (attrs: { 1925 preConfigure = "patchShebangs configure"; 1926 }); 1927 1928 nanoparquet = old.nanoparquet.overrideAttrs (attrs: { 1929 postPatch = "patchShebangs configure"; 1930 }); 1931 1932 nanonext = old.nanonext.overrideAttrs (attrs: { 1933 NIX_LDFLAGS = "-lnng -lmbedtls -lmbedx509 -lmbedcrypto"; 1934 }); 1935 1936 clustermq = old.clustermq.overrideAttrs (attrs: { 1937 preConfigure = "patchShebangs configure"; 1938 }); 1939 1940 Cairo = old.Cairo.overrideAttrs (attrs: { 1941 NIX_LDFLAGS = "-lfontconfig"; 1942 }); 1943 1944 curl = old.curl.overrideAttrs (attrs: { 1945 preConfigure = "patchShebangs configure"; 1946 }); 1947 1948 Cyclops = old.Cyclops.overrideAttrs (attrs: { 1949 preConfigure = "patchShebangs configure"; 1950 }); 1951 1952 RcppParallel = old.RcppParallel.overrideAttrs (attrs: { 1953 preConfigure = "patchShebangs configure"; 1954 }); 1955 1956 Colossus = old.Colossus.overrideAttrs (_: { 1957 postPatch = "patchShebangs configure"; 1958 }); 1959 1960 arcgisutils = old.arcgisutils.overrideAttrs (_: { 1961 postPatch = "patchShebangs configure"; 1962 }); 1963 1964 arcgisgeocode = old.arcgisgeocode.overrideAttrs (_: { 1965 postPatch = "patchShebangs configure"; 1966 }); 1967 1968 gmailr = old.gmailr.overrideAttrs (attrs: { 1969 postPatch = "patchShebangs configure"; 1970 }); 1971 1972 prqlr = old.prqlr.overrideAttrs (attrs: { 1973 postPatch = "patchShebangs configure"; 1974 }); 1975 1976 pingr = old.pingr.overrideAttrs (_: { 1977 postPatch = "patchShebangs configure"; 1978 }); 1979 1980 heck = old.heck.overrideAttrs (attrs: { 1981 postPatch = "patchShebangs configure"; 1982 }); 1983 1984 surtvep = old.surtvep.overrideAttrs (attrs: { 1985 postPatch = "patchShebangs configure"; 1986 }); 1987 1988 rtiktoken = old.rtiktoken.overrideAttrs (attrs: { 1989 postPatch = "patchShebangs configure"; 1990 nativeBuildInputs = attrs.nativeBuildInputs ++ [ 1991 pkgs.cargo 1992 pkgs.rustc 1993 ]; 1994 }); 1995 1996 purrr = old.purrr.overrideAttrs (attrs: { 1997 patchPhase = "patchShebangs configure"; 1998 }); 1999 2000 tergo = old.tergo.overrideAttrs (attrs: { 2001 patchPhase = "patchShebangs configure"; 2002 }); 2003 2004 luajr = old.luajr.overrideAttrs (attrs: { 2005 hardeningDisable = [ "format" ]; 2006 postPatch = "patchShebangs configure"; 2007 }); 2008 2009 RcppArmadillo = old.RcppArmadillo.overrideAttrs (attrs: { 2010 patchPhase = "patchShebangs configure"; 2011 }); 2012 2013 RcppGetconf = old.RcppGetconf.overrideAttrs (attrs: { 2014 postPatch = "patchShebangs configure"; 2015 }); 2016 2017 SpliceWiz = old.SpliceWiz.overrideAttrs (attrs: { 2018 postPatch = "patchShebangs configure"; 2019 }); 2020 2021 zoomerjoin = old.zoomerjoin.overrideAttrs (attrs: { 2022 nativeBuildInputs = [ 2023 pkgs.cargo 2024 pkgs.rustc 2025 ] 2026 ++ attrs.nativeBuildInputs; 2027 postPatch = "patchShebangs configure"; 2028 }); 2029 2030 AneuFinder = old.AneuFinder.overrideAttrs (attrs: { 2031 postPatch = '' 2032 substituteInPlace src/utility.cpp src/densities.cpp src/loghmm.cpp src/scalehmm.cpp \ 2033 --replace-fail "Calloc(" "R_Calloc(" \ 2034 --replace-fail "Free(" "R_Free(" 2035 ''; 2036 }); 2037 2038 b64 = old.b64.overrideAttrs (attrs: { 2039 nativeBuildInputs = 2040 with pkgs; 2041 [ 2042 cargo 2043 rustc 2044 ] 2045 ++ attrs.nativeBuildInputs; 2046 postPatch = "patchShebangs configure"; 2047 }); 2048 2049 ocf = old.ocf.overrideAttrs (attrs: { 2050 postPatch = "patchShebangs configure"; 2051 }); 2052 2053 data_table = old.data_table.overrideAttrs (attrs: { 2054 env = (attrs.env or { }) // { 2055 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -fopenmp"; 2056 }; 2057 patchPhase = "patchShebangs configure"; 2058 }); 2059 2060 cisPath = old.cisPath.overrideAttrs (attrs: { 2061 hardeningDisable = [ "format" ]; 2062 }); 2063 2064 HilbertVis = old.HilbertVis.overrideAttrs (attrs: { 2065 hardeningDisable = [ "format" ]; 2066 }); 2067 2068 HilbertVisGUI = old.HilbertVisGUI.overrideAttrs (attrs: { 2069 hardeningDisable = [ "format" ]; 2070 }); 2071 2072 MANOR = old.MANOR.overrideAttrs (attrs: { 2073 hardeningDisable = [ "format" ]; 2074 }); 2075 2076 rGADEM = old.rGADEM.overrideAttrs (attrs: { 2077 hardeningDisable = [ "format" ]; 2078 }); 2079 2080 rsgeo = old.rsgeo.overrideAttrs (attrs: { 2081 nativeBuildInputs = [ pkgs.cargo ] ++ attrs.nativeBuildInputs; 2082 postPatch = "patchShebangs configure"; 2083 }); 2084 2085 instantiate = old.instantiate.overrideAttrs (attrs: { 2086 postPatch = "patchShebangs configure"; 2087 }); 2088 2089 exifr = old.exifr.overrideAttrs (attrs: { 2090 postPatch = '' 2091 for f in .onLoad .onAttach ; do 2092 substituteInPlace R/load_hook.R \ 2093 --replace-fail \ 2094 "$f <- function(libname, pkgname) {" \ 2095 "$f <- function(libname, pkgname) { 2096 options( 2097 exifr.perlpath = \"${lib.getBin pkgs.perl}/bin/perl\", 2098 exifr.exiftoolcommand = \"${lib.getBin pkgs.exiftool}/bin/exiftool\" 2099 )" 2100 done 2101 ''; 2102 }); 2103 2104 NGCHM = old.NGCHM.overrideAttrs (attrs: { 2105 postPatch = '' 2106 substituteInPlace "inst/base.config/conf.d/01-server-protocol-scl.R" \ 2107 --replace-fail \ 2108 "/bin/hostname" "${lib.getBin pkgs.hostname}/bin/hostname" 2109 ''; 2110 }); 2111 2112 metahdep = old.metahdep.overrideAttrs (attrs: { 2113 env = (attrs.env or { }) // { 2114 # Avoid incompatible pointer type error 2115 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -Wno-int-conversion"; 2116 }; 2117 }); 2118 2119 ModelMetrics = old.ModelMetrics.overrideAttrs (attrs: { 2120 env = (attrs.env or { }) // { 2121 NIX_CFLAGS_COMPILE = 2122 attrs.env.NIX_CFLAGS_COMPILE + lib.optionalString stdenv.hostPlatform.isDarwin " -fopenmp"; 2123 }; 2124 }); 2125 2126 rawrr = old.rawrr.overrideAttrs (attrs: { 2127 postPatch = '' 2128 substituteInPlace "R/zzz.R" "R/dotNetAssembly.R" --replace-warn \ 2129 "Sys.which('mono')" "'${lib.getBin pkgs.mono}/bin/mono'" 2130 2131 substituteInPlace "R/dotNetAssembly.R" --replace-warn \ 2132 "Sys.which(\"xbuild\")" "\"${lib.getBin pkgs.mono}/bin/xbuild\"" 2133 2134 substituteInPlace "R/dotNetAssembly.R" --replace-warn \ 2135 "cmd <- ifelse(Sys.which(\"msbuild\") != \"\", \"msbuild\", \"xbuild\")" \ 2136 "cmd <- \"${lib.getBin pkgs.mono}/bin/xbuild\"" 2137 2138 substituteInPlace "R/rawrr.R" --replace-warn \ 2139 "Sys.which(\"mono\")" "\"${lib.getBin pkgs.mono}/bin/mono\"" 2140 ''; 2141 }); 2142 2143 rpf = old.rpf.overrideAttrs (attrs: { 2144 patchPhase = "patchShebangs configure"; 2145 }); 2146 2147 rJava = old.rJava.overrideAttrs (attrs: { 2148 preConfigure = '' 2149 export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/ 2150 export JAVA_HOME=${pkgs.jdk} 2151 substituteInPlace R/zzz.R.in \ 2152 --replace-fail ".onLoad <- function(libname, pkgname) {" \ 2153 ".onLoad <- function(libname, pkgname) { 2154 Sys.setenv(\"JAVA_HOME\" = Sys.getenv(\"JAVA_HOME\", unset = \"${pkgs.jdk}\"))" 2155 ''; 2156 }); 2157 2158 JavaGD = old.JavaGD.overrideAttrs (attrs: { 2159 preConfigure = '' 2160 export JAVA_CPPFLAGS=-I${pkgs.jdk}/include/ 2161 export JAVA_HOME=${pkgs.jdk} 2162 ''; 2163 }); 2164 2165 jqr = old.jqr.overrideAttrs (attrs: { 2166 preConfigure = '' 2167 patchShebangs configure 2168 ''; 2169 }); 2170 2171 pathfindR = old.pathfindR.overrideAttrs (attrs: { 2172 postPatch = '' 2173 substituteInPlace "R/zzz.R" \ 2174 --replace-fail " check_java_version()" " Sys.setenv(JAVA_HOME = \"${lib.getBin pkgs.jre_minimal}\"); check_java_version()" 2175 substituteInPlace "R/active_snw_search.R" \ 2176 --replace-fail "system(paste0(\"java" "system(paste0(\"${lib.getBin pkgs.jre_minimal}/bin/java" 2177 ''; 2178 }); 2179 2180 pbdZMQ = old.pbdZMQ.overrideAttrs (attrs: { 2181 postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' 2182 for file in R/*.{r,r.in}; do 2183 sed -i 's#system("which \(\w\+\)"[^)]*)#"${pkgs.cctools}/bin/\1"#g' $file 2184 done 2185 ''; 2186 }); 2187 2188 quarto = old.quarto.overrideAttrs (attrs: { 2189 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ pkgs.quarto ]; 2190 postPatch = '' 2191 substituteInPlace "R/quarto.R" \ 2192 --replace-fail "Sys.getenv(\"QUARTO_PATH\", unset = NA_character_)" "Sys.getenv(\"QUARTO_PATH\", unset = '${lib.getBin pkgs.quarto}/bin/quarto')" 2193 ''; 2194 }); 2195 2196 Rhisat2 = old.Rhisat2.overrideAttrs (attrs: { 2197 enableParallelBuilding = false; 2198 }); 2199 2200 s2 = old.s2.overrideAttrs (attrs: { 2201 preConfigure = '' 2202 substituteInPlace "configure" \ 2203 --replace-fail "absl_s2" "absl_flags absl_check" 2204 ''; 2205 }); 2206 2207 Rmpi = old.Rmpi.overrideAttrs (attrs: { 2208 configureFlags = [ 2209 "--with-Rmpi-type=OPENMPI" 2210 ]; 2211 }); 2212 2213 Rmpfr = old.Rmpfr.overrideAttrs (attrs: { 2214 configureFlags = [ 2215 "--with-mpfr-include=${pkgs.mpfr.dev}/include" 2216 ]; 2217 }); 2218 2219 CNEr = old.CNEr.overrideAttrs (attrs: { 2220 patches = [ ./patches/CNEr.patch ]; 2221 }); 2222 2223 covidsymptom = old.covidsymptom.overrideAttrs (attrs: { 2224 preConfigure = "rm R/covidsymptomdata.R"; 2225 }); 2226 2227 cubature = old.cubature.overrideAttrs (attrs: { 2228 enableParallelBuilding = false; 2229 }); 2230 2231 RVowpalWabbit = old.RVowpalWabbit.overrideAttrs (attrs: { 2232 configureFlags = [ 2233 "--with-boost=${pkgs.boost.dev}" 2234 "--with-boost-libdir=${pkgs.boost.out}/lib" 2235 ]; 2236 }); 2237 2238 RAppArmor = old.RAppArmor.overrideAttrs (attrs: { 2239 patches = [ ./patches/RAppArmor.patch ]; 2240 LIBAPPARMOR_HOME = pkgs.libapparmor; 2241 }); 2242 2243 # Append cargo path to path variable 2244 # This will provide cargo in case it's not set by the user 2245 rextendr = old.rextendr.overrideAttrs (attrs: { 2246 postPatch = '' 2247 substituteInPlace R/zzz.R --replace-fail \ 2248 ".onLoad <- function(...) {" \ 2249 '.onLoad <- function(...) { 2250 Sys.setenv(PATH = paste0(Sys.getenv("PATH"), ":${lib.getBin pkgs.cargo}/bin"))' 2251 ''; 2252 }); 2253 2254 RMySQL = old.RMySQL.overrideAttrs (attrs: { 2255 MYSQL_DIR = "${pkgs.libmysqlclient}"; 2256 PKGCONFIG_CFLAGS = "-I${pkgs.libmysqlclient.dev}/include/mysql"; 2257 NIX_CFLAGS_LINK = "-L${pkgs.libmysqlclient}/lib/mysql -lmysqlclient"; 2258 preConfigure = '' 2259 patchShebangs configure 2260 ''; 2261 }); 2262 2263 devEMF = old.devEMF.overrideAttrs (attrs: { 2264 NIX_CFLAGS_LINK = "-L${pkgs.xorg.libXft.out}/lib -lXft"; 2265 NIX_LDFLAGS = "-lX11"; 2266 }); 2267 2268 hdf5r = old.hdf5r.overrideAttrs (attrs: { 2269 buildInputs = attrs.buildInputs ++ [ new.Rhdf5lib.hdf5 ]; 2270 }); 2271 2272 slfm = old.slfm.overrideAttrs (attrs: { 2273 PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack"; 2274 }); 2275 2276 SamplerCompare = old.SamplerCompare.overrideAttrs (attrs: { 2277 PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack"; 2278 }); 2279 2280 FLAMES = old.FLAMES.overrideAttrs (attrs: { 2281 patches = [ ./patches/FLAMES.patch ]; 2282 }); 2283 2284 openssl = old.openssl.overrideAttrs (attrs: { 2285 preConfigure = '' 2286 patchShebangs configure 2287 ''; 2288 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; 2289 PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; 2290 }); 2291 2292 websocket = old.websocket.overrideAttrs (attrs: { 2293 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; 2294 PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; 2295 }); 2296 2297 Rserve = old.Rserve.overrideAttrs (attrs: { 2298 patches = [ ./patches/Rserve.patch ]; 2299 configureFlags = [ 2300 "--with-server" 2301 "--with-client" 2302 ]; 2303 }); 2304 2305 universalmotif = old.universalmotif.overrideAttrs (attrs: { 2306 patches = [ ./patches/universalmotif.patch ]; 2307 }); 2308 2309 V8 = old.V8.overrideAttrs (attrs: { 2310 postPatch = '' 2311 substituteInPlace configure \ 2312 --replace-fail " -lv8_libplatform" "" 2313 # Bypass the test checking if pointer compression is needed 2314 substituteInPlace configure \ 2315 --replace-fail "./pctest1" "true" 2316 ''; 2317 2318 preConfigure = '' 2319 export INCLUDE_DIR=${pkgs.nodejs.libv8}/include 2320 export LIB_DIR=${pkgs.nodejs.libv8}/lib 2321 patchShebangs configure 2322 ''; 2323 2324 R_MAKEVARS_SITE = lib.optionalString (pkgs.stdenv.system == "aarch64-linux") ( 2325 pkgs.writeText "Makevars" '' 2326 CXX14PICFLAGS = -fPIC 2327 '' 2328 ); 2329 }); 2330 2331 acs = old.acs.overrideAttrs (attrs: { 2332 preConfigure = '' 2333 patchShebangs configure 2334 ''; 2335 }); 2336 2337 gdtools = old.gdtools.overrideAttrs (attrs: { 2338 preConfigure = '' 2339 patchShebangs configure 2340 ''; 2341 NIX_LDFLAGS = "-lfontconfig -lfreetype"; 2342 }); 2343 2344 magick = old.magick.overrideAttrs (attrs: { 2345 preConfigure = '' 2346 patchShebangs configure 2347 ''; 2348 }); 2349 2350 libgeos = old.libgeos.overrideAttrs (attrs: { 2351 preConfigure = '' 2352 patchShebangs configure 2353 ''; 2354 }); 2355 2356 protolite = old.protolite.overrideAttrs (attrs: { 2357 preConfigure = '' 2358 patchShebangs configure 2359 ''; 2360 }); 2361 2362 rgoslin = old.rgoslin.overrideAttrs (attrs: { 2363 enableParallelBuilding = false; 2364 }); 2365 2366 rpanel = old.rpanel.overrideAttrs (attrs: { 2367 preConfigure = '' 2368 export TCLLIBPATH="${pkgs.tclPackages.bwidget}/lib/bwidget${pkgs.tclPackages.bwidget.version}" 2369 ''; 2370 TCLLIBPATH = "${pkgs.tclPackages.bwidget}/lib/bwidget${pkgs.tclPackages.bwidget.version}"; 2371 }); 2372 2373 networkscaleup = old.networkscaleup.overrideAttrs (attrs: { 2374 env = (attrs.env or { }) // { 2375 # needed to avoid "log limit exceeded" on Hydra 2376 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -Wno-ignored-attributes"; 2377 }; 2378 2379 # consumes a lot of resources in parallel 2380 enableParallelBuilding = false; 2381 }); 2382 2383 OpenMx = old.OpenMx.overrideAttrs (attrs: { 2384 env = (attrs.env or { }) // { 2385 # needed to avoid "log limit exceeded" on Hydra 2386 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -Wno-ignored-attributes"; 2387 }; 2388 preConfigure = '' 2389 patchShebangs configure 2390 ''; 2391 }); 2392 2393 odbc = old.odbc.overrideAttrs (attrs: { 2394 preConfigure = '' 2395 patchShebangs configure 2396 ''; 2397 }); 2398 2399 x13binary = old.x13binary.overrideAttrs (attrs: { 2400 preConfigure = '' 2401 patchShebangs configure 2402 ''; 2403 }); 2404 2405 FlexReg = old.FlexReg.overrideAttrs (attrs: { 2406 env = (attrs.env or { }) // { 2407 # needed to avoid "log limit exceeded" on Hydra 2408 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -Wno-ignored-attributes"; 2409 }; 2410 2411 # consumes a lot of resources in parallel 2412 enableParallelBuilding = false; 2413 }); 2414 2415 geojsonio = old.geojsonio.overrideAttrs (attrs: { 2416 buildInputs = [ cacert ] ++ attrs.buildInputs; 2417 }); 2418 2419 float = old.float.overrideAttrs (attrs: { 2420 enableParallelBuilding = false; 2421 }); 2422 2423 redatamx = old.redatamx.overrideAttrs (attrs: { 2424 preConfigure = 2425 let 2426 redatam-core = pkgs.fetchzip { 2427 url = "https://redatam-core.s3.us-west-2.amazonaws.com/core-dev/linux/redatamx-core-linux-20241222.zip"; 2428 hash = "sha256-CagDpv7v5fj/NgaC5fmYc5UuKuBVlT3gauH2ItVnIIY="; 2429 }; 2430 in 2431 '' 2432 mkdir -p ./inst/redengine/ 2433 cp ${redatam-core}/lib/libredengine-1.0.0-rc2.so ./inst/redengine/libredengine-1.0.0-rc2.so 2434 ''; 2435 }); 2436 2437 immunotation = 2438 let 2439 MHC41alleleList = fetchurl { 2440 url = "https://services.healthtech.dtu.dk/services/NetMHCpan-4.1/allele.list"; 2441 hash = "sha256-CRZ+0uHzcq5zK5eONucAChXIXO8tnq5sSEAS80Z7jhg="; 2442 }; 2443 2444 MHCII40alleleList = fetchurl { 2445 url = "https://services.healthtech.dtu.dk/services/NetMHCIIpan-4.0/alleles_name.list"; 2446 hash = "sha256-K4Ic2NUs3P4IkvOODwZ0c4Yh8caex5Ih0uO5jXRHp40="; 2447 }; 2448 2449 # List of valid countries, regions and ethnic groups 2450 # The original page is changing a bit every day, but the relevant 2451 # content does not. Use archive.org to get a stable snapshot. 2452 # It can be updated from time to time, or when the package becomes 2453 # deficient. This may be difficult to know. 2454 # Update the snapshot date, and add id_ after it, as described here: 2455 # https://web.archive.org/web/20130806040521/http://faq.web.archive.org/page-without-wayback-code/ 2456 validGeographics = fetchurl { 2457 url = "https://web.archive.org/web/20240418194005id_/http://www.allelefrequencies.net/hla6006a.asp"; 2458 hash = "sha256-m7Wkmh/cPxeqn94LwoznIh+fcFXskmSGErUYj6kTqak="; 2459 }; 2460 in 2461 old.immunotation.overrideAttrs (attrs: { 2462 patches = [ ./patches/immunotation.patch ]; 2463 postPatch = '' 2464 substituteInPlace "R/external_resources_input.R" --replace-fail \ 2465 "nix-NetMHCpan-4.1-allele-list" ${MHC41alleleList} 2466 2467 substituteInPlace "R/external_resources_input.R" --replace-fail \ 2468 "nix-NETMHCIIpan-4.0-alleles-name-list" ${MHCII40alleleList} 2469 2470 substituteInPlace "R/AFND_interface.R" --replace-fail \ 2471 "nix-valid-geographics" ${validGeographics} 2472 ''; 2473 }); 2474 2475 nearfar = 2476 let 2477 angrist = fetchurl { 2478 url = "https://raw.githubusercontent.com/joerigdon/nearfar/master/angrist.csv"; 2479 hash = "sha256-lb+HMHnRGonc26merFGB0B7Vk1Lk+sIJlay+JtQC8m4="; 2480 }; 2481 in 2482 old.nearfar.overrideAttrs (attrs: { 2483 postPatch = '' 2484 substituteInPlace "R/nearfar.R" --replace-fail \ 2485 'url("https://raw.githubusercontent.com/joerigdon/nearfar/master/angrist.csv")' '"${angrist}"' 2486 ''; 2487 }); 2488 2489 BiocParallel = old.BiocParallel.overrideAttrs (attrs: { 2490 env = (attrs.env or { }) // { 2491 NIX_CFLAGS_COMPILE = 2492 attrs.env.NIX_CFLAGS_COMPILE 2493 + lib.optionalString stdenv.hostPlatform.isDarwin " -Wno-error=missing-template-arg-list-after-template-kw"; 2494 }; 2495 }); 2496 2497 rstan = old.rstan.overrideAttrs (attrs: { 2498 env = (attrs.env or { }) // { 2499 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION"; 2500 }; 2501 }); 2502 2503 mongolite = old.mongolite.overrideAttrs (attrs: { 2504 preConfigure = '' 2505 patchShebangs configure 2506 ''; 2507 PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include -I${pkgs.cyrus_sasl.dev}/include -I${pkgs.zlib.dev}/include"; 2508 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"; 2509 }); 2510 2511 ChemmineOB = old.ChemmineOB.overrideAttrs (attrs: { 2512 # pkg-config knows openbabel-3 without the .0 2513 # Eigen3 is also looked for in the wrong location 2514 # pointer was changed in newer version of openbabel: 2515 # https://github.com/openbabel/openbabel/commit/305a6fd3183540e4a8ae1d79d10bf1860e6aa373 2516 postPatch = '' 2517 substituteInPlace configure \ 2518 --replace-fail openbabel-3.0 openbabel-3 2519 substituteInPlace src/Makevars.in \ 2520 --replace-fail "-I/usr/include/eigen3" "-I${pkgs.eigen}/include/eigen3" 2521 substituteInPlace src/ChemmineOB.cpp \ 2522 --replace-fail "obsharedptr<" "std::shared_ptr<" 2523 ''; 2524 2525 # copied from fastnlo-toolkit: 2526 # None of our currently packaged versions of swig are C++17-friendly 2527 # Use a workaround from https://github.com/swig/swig/issues/1538 2528 env = (attrs.env or { }) // { 2529 NIX_CFLAGS_COMPILE = 2530 (attrs.env.NIX_CFLAGS_COMPILE or "") 2531 + lib.optionalString stdenv.hostPlatform.isDarwin " -D_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES"; 2532 }; 2533 }); 2534 2535 ps = old.ps.overrideAttrs (attrs: { 2536 preConfigure = "patchShebangs configure"; 2537 }); 2538 2539 rlang = old.rlang.overrideAttrs (attrs: { 2540 preConfigure = "patchShebangs configure"; 2541 }); 2542 2543 systemfonts = old.systemfonts.overrideAttrs (attrs: { 2544 preConfigure = "patchShebangs configure"; 2545 }); 2546 2547 littler = old.littler.overrideAttrs ( 2548 attrs: with pkgs; { 2549 buildInputs = [ 2550 pcre 2551 xz 2552 zlib 2553 bzip2 2554 icu 2555 which 2556 zstd.dev 2557 ] 2558 ++ attrs.buildInputs; 2559 postInstall = '' 2560 install -d $out/bin $out/share/man/man1 2561 ln -s ../library/littler/bin/r $out/bin/r 2562 ln -s ../library/littler/bin/r $out/bin/lr 2563 ln -s ../../../library/littler/man-page/r.1 $out/share/man/man1 2564 # these won't run without special provisions, so better remove them 2565 rm -r $out/library/littler/script-tests 2566 ''; 2567 } 2568 ); 2569 2570 lpsymphony = old.lpsymphony.overrideAttrs (attrs: { 2571 preConfigure = '' 2572 patchShebangs configure 2573 ''; 2574 }); 2575 2576 sodium = old.sodium.overrideAttrs ( 2577 attrs: with pkgs; { 2578 preConfigure = '' 2579 patchShebangs configure 2580 ''; 2581 nativeBuildInputs = [ pkg-config ] ++ attrs.nativeBuildInputs; 2582 buildInputs = [ libsodium.dev ] ++ attrs.buildInputs; 2583 } 2584 ); 2585 2586 keyring = old.keyring.overrideAttrs (attrs: { 2587 preConfigure = '' 2588 patchShebangs configure 2589 ''; 2590 }); 2591 2592 Rhtslib = old.Rhtslib.overrideAttrs (attrs: { 2593 preConfigure = '' 2594 substituteInPlace R/zzz.R --replace-fail "-lcurl" "-L${pkgs.curl.out}/lib -lcurl" 2595 ''; 2596 }); 2597 2598 h2o = old.h2o.overrideAttrs (attrs: { 2599 preConfigure = '' 2600 # prevent download of jar file during install and postpone to first use 2601 sed -i '/downloadJar()/d' R/zzz.R 2602 2603 # during runtime the package directory is not writable as it's in the 2604 # nix store, so store the jar in the user's cache directory instead 2605 substituteInPlace R/connection.R --replace-fail \ 2606 'dest_file <- file.path(dest_folder, "h2o.jar")' \ 2607 'dest_file <- file.path("~/.cache/", "h2o.jar")' 2608 ''; 2609 }); 2610 2611 SICtools = old.SICtools.overrideAttrs (attrs: { 2612 postPatch = '' 2613 substituteInPlace src/Makefile --replace-fail "-lcurses" "-lncurses" 2614 ''; 2615 hardeningDisable = [ "format" ]; 2616 }); 2617 2618 Rbwa = old.Rbwa.overrideAttrs (attrs: { 2619 # Parallel build cleans up *.o before they can be packed in a library 2620 postPatch = '' 2621 substituteInPlace src/Makefile --replace-fail \ 2622 "all:\$(PROG) ../inst/bwa clean" \ 2623 "all:\$(PROG) ../inst/bwa" \ 2624 ''; 2625 }); 2626 2627 ROracle = old.ROracle.overrideAttrs (attrs: { 2628 configureFlags = [ 2629 "--with-oci-lib=${pkgs.oracle-instantclient.lib}/lib" 2630 "--with-oci-inc=${pkgs.oracle-instantclient.dev}/include" 2631 ]; 2632 }); 2633 2634 xslt = old.xslt.overrideAttrs (attrs: { 2635 env = (attrs.env or { }) // { 2636 NIX_CFLAGS_COMPILE = attrs.env.NIX_CFLAGS_COMPILE + " -fpermissive"; 2637 }; 2638 }); 2639 2640 sparklyr = old.sparklyr.overrideAttrs (attrs: { 2641 # Pyspark's spark is full featured and better maintained than pkgs.spark 2642 preConfigure = '' 2643 if grep "onLoad" R/zzz.R; then 2644 echo "onLoad is already present, patch needs to be updated!" 2645 exit 1 2646 fi 2647 2648 cat >> R/zzz.R <<EOF 2649 .onLoad <- function(...) { 2650 Sys.setenv("SPARK_HOME" = Sys.getenv("SPARK_HOME", unset = "${pkgs.python3Packages.pyspark}/${pkgs.python3Packages.python.sitePackages}/pyspark")) 2651 Sys.setenv("JAVA_HOME" = Sys.getenv("JAVA_HOME", unset = "${pkgs.jdk}")) 2652 } 2653 EOF 2654 ''; 2655 }); 2656 2657 rrd = old.rrd.overrideAttrs (attrs: { 2658 preConfigure = '' 2659 patchShebangs configure 2660 ''; 2661 }); 2662 2663 ChIPXpress = old.ChIPXpress.override { hydraPlatforms = [ ]; }; 2664 2665 rgl = old.rgl.overrideAttrs (attrs: { 2666 RGL_USE_NULL = "true"; 2667 }); 2668 2669 Rrdrand = old.Rrdrand.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; }; 2670 2671 symengine = old.symengine.overrideAttrs (_: { 2672 preConfigure = '' 2673 rm configure 2674 cat > src/Makevars << EOF 2675 PKG_LIBS=-lsymengine 2676 all: $(SHLIB) 2677 EOF 2678 ''; 2679 }); 2680 2681 RandomFieldsUtils = old.RandomFieldsUtils.override { 2682 platforms = lib.platforms.x86_64 ++ lib.platforms.x86; 2683 }; 2684 2685 flowClust = old.flowClust.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; }; 2686 2687 RcppCGAL = old.RcppCGAL.overrideAttrs (_: { 2688 postPatch = "patchShebangs configure"; 2689 }); 2690 2691 httr2 = old.httr2.overrideAttrs (attrs: { 2692 preConfigure = "patchShebangs configure"; 2693 }); 2694 2695 dbarts = old.dbarts.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; }; 2696 2697 geomorph = old.geomorph.overrideAttrs (attrs: { 2698 RGL_USE_NULL = "true"; 2699 }); 2700 2701 gpuMagic = old.gpuMagic.overrideAttrs (_: { 2702 hardeningDisable = [ "format" ]; 2703 }); 2704 2705 Rdisop = old.Rdisop.overrideAttrs (_: { 2706 hardeningDisable = [ "format" ]; 2707 }); 2708 2709 opencv = 2710 let 2711 opencvGtk = pkgs.opencv.override (old: { 2712 enableGtk2 = true; 2713 }); 2714 in 2715 old.opencv.overrideAttrs (attrs: { 2716 buildInputs = attrs.buildInputs ++ [ opencvGtk ]; 2717 }); 2718 2719 Rhdf5lib = 2720 let 2721 hdf5 = pkgs.hdf5_1_10; 2722 in 2723 old.Rhdf5lib.overrideAttrs (attrs: { 2724 propagatedBuildInputs = attrs.propagatedBuildInputs ++ [ 2725 hdf5.dev 2726 pkgs.libaec 2727 ]; 2728 patches = [ ./patches/Rhdf5lib.patch ]; 2729 passthru.hdf5 = hdf5; 2730 }); 2731 2732 rhdf5filters = old.rhdf5filters.overrideAttrs (attrs: { 2733 patches = [ ./patches/rhdf5filters.patch ]; 2734 }); 2735 2736 rhdf5 = old.rhdf5.overrideAttrs (attrs: { 2737 patches = [ ./patches/rhdf5.patch ]; 2738 env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; 2739 }); 2740 2741 rmarkdown = old.rmarkdown.overrideAttrs (_: { 2742 preConfigure = '' 2743 substituteInPlace R/pandoc.R \ 2744 --replace-fail '"~/opt/pandoc"' '"~/opt/pandoc", "${pkgs.pandoc}/bin"' 2745 ''; 2746 }); 2747 2748 webfakes = old.webfakes.overrideAttrs (_: { 2749 postPatch = "patchShebangs configure"; 2750 }); 2751 2752 redland = old.redland.overrideAttrs (_: { 2753 PKGCONFIG_CFLAGS = "-I${pkgs.redland}/include -I${pkgs.librdf_raptor2}/include/raptor2 -I${pkgs.librdf_rasqal}/include/rasqal"; 2754 PKGCONFIG_LIBS = "-L${pkgs.redland}/lib -L${pkgs.librdf_raptor2}/lib -L${pkgs.librdf_rasqal}/lib -lrdf -lraptor2 -lrasqal"; 2755 }); 2756 2757 textshaping = old.textshaping.overrideAttrs (attrs: { 2758 env.NIX_LDFLAGS = "-lfribidi -lharfbuzz"; 2759 }); 2760 2761 httpuv = old.httpuv.overrideAttrs (_: { 2762 preConfigure = '' 2763 patchShebangs configure 2764 ''; 2765 }); 2766 2767 oligo = old.oligo.overrideAttrs (_: { 2768 hardeningDisable = [ "format" ]; 2769 }); 2770 2771 tesseract = old.tesseract.overrideAttrs (_: { 2772 preConfigure = '' 2773 substituteInPlace configure \ 2774 --replace-fail 'PKG_CONFIG_NAME="tesseract"' 'PKG_CONFIG_NAME="tesseract lept"' 2775 ''; 2776 }); 2777 2778 ijtiff = old.ijtiff.overrideAttrs (_: { 2779 preConfigure = '' 2780 patchShebangs configure 2781 ''; 2782 }); 2783 2784 torch = old.torch.overrideAttrs (attrs: { 2785 preConfigure = '' 2786 patchShebangs configure 2787 ''; 2788 }); 2789 2790 pak = old.pak.overrideAttrs (attrs: { 2791 preConfigure = '' 2792 patchShebangs configure 2793 patchShebangs src/library/curl/configure 2794 patchShebangs src/library/keyring/configure 2795 patchShebangs src/library/pkgdepends/configure 2796 patchShebangs src/library/ps/configure 2797 ''; 2798 }); 2799 2800 pkgdepends = old.pkgdepends.overrideAttrs (attrs: { 2801 postPatch = '' 2802 patchShebangs configure 2803 ''; 2804 }); 2805 }; 2806in 2807self