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