summary refs log tree commit diff
path: root/pkgs/build-support
Commit message (Collapse)AuthorAge
* bazel: add darwin supportUri Baghin2018-06-12
|
* azure: stop carrying qemu-220 patchCole Mickens2018-06-12
|
* pruneLibtoolFiles: init setup hook (#41819)Orivej Desh2018-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | A .la file specifies linker flags to link with the library it describes. Its "dependency_libs" field lists the libraries that this library depends upon. This list often contains "-l" flags without corresponding "-L" flags. Many packages in Nixpkgs deal with this in one of these ways: - delete .la file [1] - clear dependency_libs [2] - add -L flags to dependency_libs [3] - propagate dependencies [4] Sometimes "dependency_libs" contain wrong "-L" flags pointing to the "dev" output with headers rather than to the main output with libraries. They have to be edited or deleted to reduce closure size [5]. Deleting .la files is often but not always safe [6]. Atomatically deleting as many of them as possible is complex [7]. Deleting .la files that describe shared rather than static libraries is probably safe; but clearing their "dependency_libs" field achieves the same effect with less potential for unintended consequences. This is the approach that may be enabled for all Nixpkgs. [1] https://github.com/NixOS/nixpkgs/commit/2a79d296d3de74da77b49ca8dc9d356b1a7a1c8d [2] https://github.com/NixOS/nixpkgs/commit/c83a53098599c49ec57823bf655ce8b45f6aea10 [3] https://github.com/NixOS/nixpkgs/commit/9e0dcf3bd9fcfeed576132b9101b866aa3cb76ff [4] https://github.com/NixOS/nixpkgs/commit/01134e698fdfb3b61f8ab8ec3bf13e0718f63955 [5] https://github.com/NixOS/nixpkgs/commit/f6c73f1e37c735abb686d07449f349b796c54cf8 [6] https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Handling_Libtool_Archives [7] https://github.com/gentoo/gentoo/blob/fb1f2435/eclass/ltprune.eclass
* Merge pull request #17757 from copumpkin/fetchurl-user-agentDaniel Peebles2018-06-11
|\ | | | | fetchurl: add user agent
| * lib.release -> lib.trivial.releaseYegor Timoshenko2018-06-11
| |
| * Leverage lib.releaseYegor Timoshenko2018-06-11
| |
| * Readd --retry 3Yegor Timoshenko2018-06-11
| |
| * Merge branch 'master' into fetchurl-user-agentYegor Timoshenko2018-05-18
| |\
| * | fetchurl: add user agentDan Peebles2017-12-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It would be nice to be able to track Nix requests. It's not trustworthy, but can be helpful for stats and routing in HTTP logs. Since `fetchurl` is used so widely, we should "magically" get a UA on `fetchzip`, `fetchFromGitHub`, and other related fetchers. Since `fetchurl` is only used for fixed-output derivations, this should cause no mass rebuild. User-Agent example: curl/7.57.0 Nixpkgs/18.03
* | | alsa: setup mirrors for src downloads (#41761)Benjamin Hipple2018-06-10
| | | | | | | | | | | | | | | This commit adds a list of supported mirrors for all alsa projects, as described on the download section of the alsa-project hompage: http://alsa-project.org/main/index.php/Download
* | | autoPatchelfHook: Patch PIC exes/libs as wellaszlig2018-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If there is a shared object or executable that's using position-independent code, the file's mime type is "application/x-pie-executable", so until this change its dependencies wouldn't be patched. This simply adds the mime type to the search loop. Signed-off-by: aszlig <aszlig@nix.build>
* | | dockerTools.pullImage: expose image* attributes (#41366)lewo2018-06-03
| | | | | | | | | | | | | | | Attributes `imageName` and `imageTag` are exposed if the image is built by our Nix tools but not if the image is pulled. So, we expose these attributes for convenience and homogeneity.
* | | Merge pull request #41065 from Ralith/sanitizer-fixJohn Ericson2018-05-29
|\ \ \ | | | | | | | | clang_6: fix sanitizers under libstdc++
| * | | clang_6: fix sanitizers under libstdc++Benjamin Saunders2018-05-24
| | | |
* | | | mirrors: remove obsolete mysql mirrorOrivej Desh2018-05-29
| | | | | | | | | | | | | | | | It does not contain any of the versions currently in Nixpkgs.
* | | | Merge branch 'master' into stagingJan Malakhovski2018-05-26
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | Fixed conflicts: - lib/systems/for-meta.nix: in favor of staging - pkgs/os-specific/darwin/xcode/default.nix: in favor of master
| * | | Merge pull request #40947 from samueldr/fix/34779lewo2018-05-24
| |\ \ \ | | | | | | | | | | dockerTools: fixes extraCommands for mkRootLayer.
| | * | | tests/docker-tools: Adds regression test for #34779Samuel Dionne-Riel2018-05-24
| | | | |
| | * | | dockerTools: fixes extraCommands for mkRootLayer.Samuel Dionne-Riel2018-05-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The extraCommands was, previously, simply put in the body of the script using nix expansion `${extraCommands}` (which looks exactly like bash expansion!). This causes issues like in #34779 where scripts will eventually create invalid bash. The solution is to use a script like `run-as-root`. * * * Fixes #34779
| * | | | skopeo: 0.1.29 -> 0.1.30Antoine Eiche2018-05-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Skopeo used by our docker tools was patched to work in the build sandbox (it used /var/tmp which is not available in the sandbox). Since this temporary directory can now be set at build time, we remove the patch from our docker tools.
* | | | | Merge remote-tracking branch 'upstream/staging' into compiler-rtJohn Ericson2018-05-24
|\ \ \ \ \
| * | | | | Merge remote-tracking branch 'upstream/master' into stagingJohn Ericson2018-05-23
| |\| | | |
| * | | | | Merge remote-tracking branch 'upstream/master' into stagingJohn Ericson2018-05-21
| |\ \ \ \ \ | | | |/ / / | | |/| | |
| * | | | | Merge branch 'master' into stagingVladimír Čunát2018-05-20
| |\ \ \ \ \
| * \ \ \ \ \ Merge remote-tracking branch 'upstream/master' into stagingTuomas Tynkkynen2018-05-18
| |\ \ \ \ \ \ | | | |_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | Conflicts: pkgs/top-level/all-packages.nix
| * | | | | | Merge remote-tracking branch 'upstream/master' into stagingJohn Ericson2018-05-16
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keep the dontCheck because the test suite fails, get rid of the LDFLAGS hack because we don't need it!
| * \ \ \ \ \ \ Merge remote-tracking branch 'upstream/staging' into strictDepsJohn Ericson2018-05-14
| |\ \ \ \ \ \ \
| | * \ \ \ \ \ \ Merge remote-tracking branch 'upstream/master' into stagingMatthew Bauer2018-05-08
| | |\ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ Merge pull request #40139 from obsidiansystems/modular-setup-hooksJohn Ericson2018-05-07
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | treewide: Modular setup hooks
| | | * | | | | | | | {bintools,cc}-wrapper: Factor out role accumulation logicJohn Ericson2018-05-07
| | | | | | | | | | |
| | | * | | | | | | | treewide: Use pkgs/build-support/roles.bash to remove copy pastaJohn Ericson2018-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also fix some setup hooks that unnecessarily used environment hooks, which revolted in the same variable being modified too many times.
| | * | | | | | | | | Merge remote-tracking branch 'upstream/master' into stagingJohn Ericson2018-05-03
| | |\| | | | | | | |
| | * | | | | | | | | Merge branch 'staging' into fix-ncurses-darwin-extensionsMatthew Justin Bauer2018-05-02
| | |\ \ \ \ \ \ \ \ \
| | | * \ \ \ \ \ \ \ \ Merge pull request #39458 from oxij/stdenv/beautificationsJohn Ericson2018-04-26
| | | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | stdenv: better names for cc and bintools
| | | | * | | | | | | | | bintools-wrapper, cc-wrapper: don't add `targetPrefix` the second timeJan Malakhovski2018-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... binutils and gcc add it already anyway. Without this it's easy to get cross-toolchain paths longer than 256 chars and nix-daemon will then fail to commit them to /nix/store on XFS.
| | | * | | | | | | | | | Merge remote-tracking branch 'origin/master' into stagingWill Dietz2018-04-24
| | | |\ \ \ \ \ \ \ \ \ \ | | | | |/ / / / / / / / / | | | |/| | | | | | | | |
| | | * | | | | | | | | | Merge branch 'master' into stagingDaiderd Jordan2018-04-24
| | | |\ \ \ \ \ \ \ \ \ \
| | | * \ \ \ \ \ \ \ \ \ \ Merge pull request #34968 from timokau/rust-findDaiderd Jordan2018-04-23
| | | |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | buildRustPackage: Restrict `find` to files
| | | | * | | | | | | | | | | buildRustPackage: Restrict `find` to filesTimo Kaufmann2018-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `find -executable` finds everything with the executable bit set, including directories. Thats not harmful in this scenario as `cp` won't copy those directories, but it does result in a few warning messages.
| | | * | | | | | | | | | | | Merge remote-tracking branch 'upstream/master' into HEADTuomas Tynkkynen2018-04-22
| | | |\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: pkgs/development/tools/misc/binutils/default.nix
| | | * \ \ \ \ \ \ \ \ \ \ \ \ Merge remote-tracking branch 'upstream/master' into HEADTuomas Tynkkynen2018-04-16
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: pkgs/applications/version-management/git-and-tools/git/default.nix pkgs/top-level/all-packages.nix pkgs/top-level/unix-tools.nix
| | | * | | | | | | | | | | | | | {cc,bintools}-wrapper: fix removal of unsupported hardening flagsPiotr Bogdan2018-04-14
| | | | | | | | | | | | | | | | |
| | | * | | | | | | | | | | | | | Merge remote-tracking branch 'upstream/master' into stagingJan Tojnar2018-04-12
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | * | | | | | | | | | | | | | | Revert "Revert "Merge pull request #28029 from cstrahan/hardening-fix""John Ericson2018-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6c064e6b1f34a8416f990db0cc617a7195f71588, reapplying PR #28029 which was supposed to have gone to staging all along.
| * | | | | | | | | | | | | | | | | treewide: Get rid of all uses of crossConfigJohn Ericson2018-05-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hack of using `crossConfig` to enforce stricter handling of dependencies is replaced with a dedicated `strictDeps` for that purpose. (Experience has shown that my punning was a terrible idea that made more difficult and embarrising to teach teach.) Now that is is clear, a few packages now use `strictDeps`, to fix various bugs: - bintools-wrapper and cc-wrapper
| * | | | | | | | | | | | | | | | | treewide: isArm -> isAarch32John Ericson2018-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following legacy packing conventions, `isArm` was defined just for 32-bit ARM instruction set. This is confusing to non packagers though, because Aarch64 is an ARM instruction set. The official ARM overview for ARMv8[1] is surprisingly not confusing, given the overall state of affairs for ARM naming conventions, and offers us a solution. It divides the nomenclature into three levels: ``` ISA: ARMv8 {-A, -R, -M} / \ Mode: Aarch32 Aarch64 | / \ Encoding: A64 A32 T32 ``` At the top is the overall v8 instruction set archicture. Second are the two modes, defined by bitwidth but differing in other semantics too, and buttom are the encodings, (hopefully?) isomorphic if they encode the same mode. The 32 bit encodings are mostly backwards compatible with previous non-Thumb and Thumb encodings, and if so we can pun the mode names to instead mean "sets of compatable or isomorphic encodings", and then voilà we have nice names for 32-bit and 64-bit arm instruction sets which do not use the word ARM so as to not confused either laymen or experienced ARM packages. [1]: https://developer.arm.com/products/architecture/a-profile (cherry picked from commit ba52ae50488de85a9cf60a3a04f1c9ca7122ec74)
* | | | | | | | | | | | | | | | | | tests.cc-wrapper: verify building with sanitizersBenjamin Saunders2018-05-24
| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | Merge pull request #39214 from seppeljordan/add-nix-prefetch-githubJörg Thalheim2018-05-23
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | Add nix-prefetch-github
| * | | | | | | | | | | | | | | | nix-prefetch-github: init -> 1.3Sebastian Jordan2018-05-22
| | |_|_|_|_|_|_|_|_|_|/ / / / / | |/| | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | requireFile: Use stdenvNoCCJohn Ericson2018-05-21
| |_|_|_|_|_|_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no need for a C compiler