about summary refs log tree commit diff
path: root/pkgs/build-support
AgeCommit message (Collapse)AuthorFilesLines
2020-04-19blas: fix build on darwinSébastien Maret1-1/+1
2020-04-18Merge pull request #85468 from Ericson2314/no-dumpmachineJohn Ericson1-1/+1
treewide: Get rid of -dumpmachine in favor of static info
2020-04-18blas: fix buildMilan Pässler1-1/+1
2020-04-17setup-hooks/audit-blas.sh: initMatthew Bauer1-0/+37
Add a simple hook that makes sure blas and lapack are linked to the right place.
2020-04-17blas/lapack: add wrapper for “alternative”s of BLAS/LAPACK providerMatthew Bauer2-0/+248
This is based on previous work for switching between BLAS and LAPACK implementation in Debian[1] and Gentoo[2]. The goal is to have one way to depend on the BLAS/LAPACK libraries that all packages must use. The attrs “blas” and “lapack” are used to represent a wrapped BLAS/LAPACK provider. Derivations that don’t care how BLAS and LAPACK are implemented can just use blas and lapack directly. If you do care what you get (perhaps for some CPP), you should verify that blas and lapack match what you expect with an assertion. The “blas” package collides with the old “blas” reference implementation. This has been renamed to “blas-reference”. In addition, “lapack-reference” is also included, corresponding to “liblapack” from Netlib.org. Currently, there are 3 providers of the BLAS and LAPACK interfaces: - lapack-reference: the BLAS/LAPACK implementation maintained by netlib.org - OpenBLAS: an optimized version of BLAS and LAPACK - MKL: Intel’s unfree but highly optimized BLAS/LAPACK implementation By default, the above implementations all use the “LP64” BLAS and LAPACK ABI. This corresponds to “openblasCompat” and is the safest way to use BLAS/LAPACK. You may received some benefits from “ILP64” or 8-byte integer BLAS at the expense of breaking compatibility with some packages. This can be switched at build time with an override like: import <nixpkgs> { config.allowUnfree = true; overlays = [(self: super: { lapack = super.lapack.override { lapackProvider = super.lapack-reference; }; blas = super.blas.override { blasProvider = super.lapack-reference; }; })]; } or, switched at runtime via LD_LIBRARY_PATH like: $ LD_LIBRARY_PATH=$(nix-build -E '(with import <nixpkgs> {}).lapack.override { lapackProvider = pkgs.mkl; is64bit = true; })')/lib:$(nix-build -E '(with import <nixpkgs> {}).blas.override { blasProvider = pkgs.mkl; is64bit = true; })')/lib ./your-blas-linked-binary By default, we use OpenBLAS LP64 also known in Nixpkgs as openblasCompat. [1]: https://wiki.debian.org/DebianScience/LinearAlgebraLibraries [2]: https://wiki.gentoo.org/wiki/Blas-lapack-switch
2020-04-13treewide: Get rid of -dumpmachine in favor of static infoJohn Ericson1-1/+1
2020-04-13Merge pull request #85172 from andir/buildRustCrate-proc-macroAndreas Rammhold2-0/+15
buildRustCrate: support proc-macro in default prelude
2020-04-13Merge pull request #84179 from kolloch/build-rust-crate-multi-version-renameAndreas Rammhold2-9/+188
buildRustCrate: Allow version specific dependency renaming + parameter doc
2020-04-13buildRustCrate: support proc-macro in default preludeAndreas Rammhold2-0/+15
2020-04-11Merge pull request #84933 from matthewbauer/fix-bazel-coptsMatthew Bauer1-3/+3
build-bazel-package: fix linkopt flags
2020-04-10build-bazel-package: fix linkopt flagsMatthew Bauer1-3/+3
These values were incorrect. We need to use NIX_LDFLAGS, not NIX_LD_FLAGS. Also need to prefix all flags with -Wl, for GCC to accept it.
2020-04-10treewide: Per RFC45, remove all unquoted URLsMichael Reilly3-298/+298
2020-04-10buildRustCrate: Support versioned crate renamesPeter Kolloch2-4/+99
2020-04-10buildRustCrate: Document parametersPeter Kolloch1-5/+89
I know, heretic, but... I also know that this is not perfect but it is a good start, I think. It would be nice if this were part of the automatic "nixdoc" function reference. I'd like guidance if this should be part of the rust section or something else.
2020-04-05Merge pull request #83896 from etu/slim-down-default-php-v3Elis Hirwing1-2/+10
PHP: Make the default package more sane [v3]
2020-04-05php.packages.buildPecl: Introduce built-in extension dependenciestalyz1-2/+10
Introduce the internalDeps attribute used by mkExtension, to refer to internal php extensions built by mkExtension.
2020-04-05Merge master into staging-nextFrederik Rietdijk5-35/+30
2020-04-04Merge pull request #83112 from bhipple/dev/reltools-cleanupMatthew Bauer5-35/+30
releaseTools: no-op expression cleanup
2020-04-03Merge master into staging-nextFrederik Rietdijk2-10/+18
2020-04-02emacs: fix setup-hookRobert Helgesson1-8/+16
This change fixes byte compilation of, e.g., Helm without breaking builds using, e.g., `trivialBuild`. See https://github.com/NixOS/nixpkgs/pull/82604#issuecomment-607201755
2020-03-31Merge pull request #83894 from symphorien/unbreak-os-prober-testLéo Gaspard1-2/+2
Unbreak os prober test
2020-03-31Merge branch 'staging-next' into stagingJan Tojnar2-20/+30
2020-03-31Merge branch 'master' into staging-nextJan Tojnar5-30/+179
2020-03-31makeDesktopItem: make categories optionalOrivej Desh1-2/+2
"Application" is deprecated, "Other" is invalid, there are no generic categories, and the Categories fields is optional per the spec. Fixes the defaults after #75729.
2020-03-30Merge pull request #75729 from worldofpeace/validate-makeDesktopItemworldofpeace1-3/+10
makeDesktopItem: add desktop file validation
2020-03-30skawarePackages: support static builds via pkgsStaticProfpatsch1-0/+3
Most of the skaware packages already build just fine with pkgsStatic, however the wrapper scripts for execline and stdnotify-wrapper needed the `-lskarlib` argument to go at the end. `utmps` and `nsss` still fail with this error: ``` exec ./tools/install.sh -D -m 600 utmps-utmpd /bin/utmps-utmpd /build/utmps-0.0.3.1/tools/install.sh: line 48: can't create /bin/utmps-utmpd.tmp.479: Permission denied make: *** [Makefile:121: /bin/utmps-utmpd] Error 1 ```
2020-03-30buildSkawarePackage: use pname and version directlyProfpatsch1-1/+1
2020-03-30Revert "buildSkawarePackage: pass through extra args"Profpatsch1-15/+15
This reverts commit a50653295df5e2565b4a6a316923f9e939f1945b. The reasons cited were “debugging”, in which case you can just add the attribute to `buildSkawarePackage` and “customizing”, which is still possible with a normal `overrideDerivation`. The patch removed `outputs` for some reason (possible oversight), so building nsss failed. Plus lots of complexity (e.g. don’t forget to add new arguments to `removeAttrs` otherwise there’s a bug now).
2020-03-29vmTools.diskImageFuns.debian9i386: update source urlSymphorien Gibol1-2/+2
referenced packets were removed from the mirrors Fixes #77396 #80041
2020-03-29buildRustPackage: enable strictDepsJörg Thalheim1-0/+2
This will improve cross-compiling support by forcing users to specify buildInputs/nativeBuildInputs correctly.
2020-03-29Merge remote-tracking branch 'upstream/master' into HEADJörg Thalheim3-10/+149
2020-03-29buildRustCrate: Add tests for checking files in outputs.Peter Kolloch3-9/+133
...and remove superfluous dependency files (*.d). ...and copy dSYM directories on Mac OS when in release=false mode.
2020-03-28Merge staging-next into stagingFrederik Rietdijk4-8/+55
2020-03-28buildRustCrateTests: Fix link order test on darwinAndreas Rammhold1-5/+20
As it turns out Darwin does most of the things differently then "normal" systems. They are using a different shared library extension and require an obscure commandline parameter that has to be added to every build system out there. That issue seems to be with clang on Darwin as on Linux that flag isn't required to build the very same tests (when using clang). After adjusting these two details the tests are running fine on the darwin box that I was able to obtain.
2020-03-28Merge pull request #83379 from symphorien/rust-linkAndreas Rammhold3-7/+54
buildRustCrate: don't sort link flags
2020-03-28buildRustCrateTests: add regression test for link orderSymphorien Gibol1-1/+53
2020-03-27buildRustCrate: fewer backslashesAlyssa Ross1-1/+1
This is a slight readability boost, I think.
2020-03-26Revert "fetchzip, fetchgit: cleanup handling of optional features and ↵Benjamin Hipple3-41/+43
whitespace"
2020-03-26Merge pull request #79581 from bhipple/feature/fetcher-whitespace-cleanBenjamin Hipple3-43/+41
fetchzip, fetchgit: cleanup handling of optional features and whitespace
2020-03-25buildRustCrate: don't sort link flagsSymphorien Gibol2-6/+1
Linkage order is significant and sorting can result in link errors.
2020-03-24Merge branch 'staging-next' into stagingJan Tojnar1-2/+4
2020-03-23buildDunePackage: add a “useDune2” optionVincent Laporte1-2/+4
2020-03-23Merge branch 'master' into stagingOrivej Desh7-124/+105
2020-03-21releaseTools: no-op expression cleanupBenjamin Hipple5-35/+30
No functional change, was just reading through these and cleaning/sanitizing them a bit while I'm here.
2020-03-20patch-shebangs.sh: Fix error messages to go to stderr, not '0' file.Bryan Gardiner1-2/+2
2020-03-20Merge pull request #82404 from danieldk/build-script-link-fixAndreas Rammhold3-15/+76
buildRustCrate: only link build deps into build script
2020-03-19Merge pull request #82882 from obsidiansystems/armv6-embeddedJohn Ericson1-2/+2
Misc fixes for armv6 bare metal cross
2020-03-18rust: remove legacy cargo fetcherBenjamin Hipple2-98/+6
We have now migrated every single Rust package in NixPkgs! This deletes the legacy fetcher, which is now unused. Resolves #79975
2020-03-18cc-wrapper, clang: `libstdcxxHook` should a propagated build inputJohn Ericson1-2/+2
Lumping it in with the target platform libraries was incorrect, and caused eval failures when gcc couldn't be built for the target platform.
2020-03-14emacs: improve setup hookRobert Helgesson1-9/+21
- Add packages installed in a sub-directory of site-lisp, such as mu4e, to EMACSLOADPATH. - Add ELPA packages to EMACSLOADPATH. - Add each package only once to EMACSLOADPATH. Before, each package would typically be added twice for each transitive dependency leading to a huge variable for a package having many dependencies. Fixed #78680