summary refs log tree commit diff
path: root/pkgs/build-support
Commit message (Collapse)AuthorAge
* dockerTools: fix hash to accomodate the pullImage revertRobin Gloster2017-09-28
|
* Revert "dockerTools.pullImage: use skopeo to pull the image"Robin Gloster2017-09-28
| | | | | | | | This reverts commit 01174c5f4d7df0fd0928fbf8a2a8e633a9cf54aa. See https://github.com/NixOS/nixpkgs/pull/29302#issuecomment-332809092 for more information. This broke image format compatibility and therefore amongst others mesos.
* Revert "dockerTools.buildImage: Switch to the format image generated by Skopeo"Robin Gloster2017-09-28
| | | | | | This reverts commit 35f205a4b624bceca7c53b9c19ddac5f37a5ae4c. This does not use a standard format and by that breaks mesos
* dockerTools.examples.nix: set NIX_PAGER=cat environment variableAntoine Eiche2017-09-25
|
* Merge older stagingVladimír Čunát2017-09-24
|\ | | | | | | | | Hydra looks OK; not finished yet but already has more successes than on master.
| * Merge branch 'master' into stagingVladimír Čunát2017-09-23
| |\ | | | | | | | | | Thousands of rebuilds from master :-/
| * \ Merge branch 'master' into stagingJohn Ericson2017-09-20
| |\ \
| * \ \ Merge branch 'master' into stagingVladimír Čunát2017-09-19
| |\ \ \
| * \ \ \ Merge master-merged PRs #29547 and #29548 into stagingJohn Ericson2017-09-18
| |\ \ \ \
| * | | | | set-source-date-epoch-to-latest.sh: shut up a warningVladimír Čunát2017-09-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > bash: warning: command substitution: ignored null byte in input /cc #28227. Also break the overlong line.
* | | | | | dockerTools.buildImage: Switch to the format image generated by SkopeoAntoine Eiche2017-09-23
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were using 'Combined Image JSON + Filesystem Changeset Format' [1] to unpack and pack image and this patch switches to the format used by the registry. We used the 'repository' file which is not generated by Skopeo when it pulls an image. Moreover, all information of this file are also in the manifest.json file. We then use the manifest.json file instead of 'repository' file. Note also the manifest.json file is required to push an image with Skopeo. Fix #29636 [1] https://github.com/moby/moby/blob/749d90e10f989802638ae542daf54257f3bf71f2/image/spec/v1.1.md#combined-image-json--filesystem-changeset-format
* | | | | dockerTools.buildImageWithNixDb: Make output paths valid and add gcrootsAntoine Eiche2017-09-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The database dump doesn't contain sha and size. This leads to invalid path in the container. We have to fix the database by using nix-store. Note a better way to do this is available in Nix 1.12 (since the database dump contains all required information). We also add content output paths in the gcroots since they ca be used by the container.
* | | | | dockerTools.buildImageWithNixDb: populate the Nix Db of the image Nix storeAntoine Eiche2017-09-20
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the contents closure is copied to the layer but there is no nix database initialization. If pkgs.nix is added in the contents, nix-store doesn't work because there is no nix database. From the contents of the layer, this commit generates and loads the database in the nix store of the container. This only works if there is no parent layer that already have a nix store (to support several nix layers, we would have to merge nix databases of parent layers). We also add an example to play with the nix store inside the container. Note it seems `more` is a missing dependency of the nix package!
* | | | cc-wrapper, cc-wrapper-old: Simplify shell logicJohn Ericson2017-09-19
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. `crossDrv` is now the default so we don't need to worry about that in build != host builds. 2. shell is the build time shell, so `wrapCCCross` doesn't need to worry, as build == host. 3. `shell.shellPath` will always be appended where useful. 4. Complicated `shell == ""` logic served no purpose.
* | | Merge pull request #29548 from obsidiansystems/cc-wrapper-cross-miscJohn Ericson2017-09-18
|\ \ \ | | |/ | |/| cc-wrapper: Two trivial changes affecting cross compilation
| * | cc-wrapper: Use same dynamic loader on all Darwin, not just x86_64John Ericson2017-09-18
| | | | | | | | | | | | | | | In practice, this is correct because iOS is on ARM and puts the loader there.
| * | cc-wrapper: Remove obsolete assertionJohn Ericson2017-09-18
| |/ | | | | | | This was just causing evaluation problems on cross.
* | fetchRepoProject: Fetch into $out and make it deterministicMichael Weiss2017-09-17
| | | | | | | | | | | | | | | | | | | | | | | | Fetch into $out and remove all version control files to make it deterministic (.repo and all .git subdirectories - e.g. the .git/index files change every time). Additionally I've changed the default of "useArchive" to false because fetching with "--archive" will fail for some projects (e.g. "platform/external/iosched" from the AOSP). Now, this function should hopefully work for every tag of the AOSP.
* | dockerTools.pullImage: use skopeo to pull the imageAntoine Eiche2017-09-17
|/ | | | | | | | | | | | | Before this patch, a VM was used to spawn docker that pulled the VM. Now, the tool Skopeo does this job well so we can simplify our dockerTools since we doesn't need Docker anymore:) This also fixe the regression described in https://github.com/NixOS/nixpkgs/issues/29271 : cntlm proxy doesn't work in 17.09 while it worked in 17.03. Note Skopeo doesn't produce the same output than docker pull so, we have to update sha.
* gitRepo: Fix an error due to missing TLS certificatesMichael Weiss2017-09-16
| | | | | | | | | | | | | | | | This was a problem when run inside a sandbox, e.g. via "fetchRepoProject". The error message from repo seems unrelated: fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle fatal: error no host given But the exception is actually thrown due to missing certificates (/etc/ssl/certs). It should be possible to provide another location via environment variables (e.g. SSL_CERT_FILE, REQUESTS_CA_BUNDLE or CURL_CA_BUNDLE) but apparently that doesn't actually work for some reason (would have to study our Python packaging). Now "fetchRepoProject" works without the "--no-clone-bundle" option.
* fetchRepoProject: Fix the GnuPG verificationMichael Weiss2017-09-16
| | | | | | | | | | | The verification was failing with the following error: gpg: keyblock resource '/tmp/nix-build-XYZ.drv-0/.repo/repo/./.repoconfig/gnupg/pubring.kbx': No such file or directory Using an absolute path for $HOME fixes this. And since 175ecbab9163fa6d5dc7481c6258301833e02042 the dependencies on "git" and "gnupg" aren't required anymore as "gitRepo" already covers them.
* fetchRepoProject: Refactor the codeMichael Weiss2017-09-16
| | | | Should hopefully make it a bit more readable and less redundant.
* Merge remote-tracking branch 'upstream/master' into HEADFrederik Rietdijk2017-09-16
|\
| * Merge pull request #27780 from tilpner/overridable-buildenvFrederik Rietdijk2017-09-14
| |\ | | | | | | Make buildEnv overridable
| | * buildenv: Make buildEnv overridabletilpner2017-08-02
| | | | | | | | | | | | | | | | | | | | | | | | callPackage already calls makeOverridable, but that just makes the function that evaluates to buildEnv overridable, not buildEnv itself. If no overridable version of buildEnv is used during construction, users can't override e.g. `paths` at all
| * | vm: remove trusty-updates hash as it changes too oftenDomen Kožar2017-09-14
| | |
* | | Merge pull request #29381 from obsidiansystems/autoreconf-hookJohn Ericson2017-09-14
|\ \ \ | |/ / |/| | autoreconfHook: Simplify by avoiding `findInputs`
| * | autoreconfHook: Simplify by avoiding `findInputs`John Ericson2017-09-14
| | | | | | | | | | | | | | | `findInputs` is a stdenv/setup helper we should strive not to call elsewhere. Using normal deps is more idiomatic anyways.
* | | Merge pull request #28963 from nlewo/docker-readinessJörg Thalheim2017-09-13
|\ \ \ | |/ / |/| | dockerTools.pullImage: change the docker deamon readiness mechanism
| * | dockerTools.pullImage: change the docker deamon readiness mechanismAntoine Eiche2017-09-04
| | | | | | | | | | | | | | | | | | To wait for the docker deamon, curl requests are sent. However, if a http proxy is set, it will respond instead of the docker daemon. To avoid this, we send docker ps command instead of curl command.
* | | Merge remote-tracking branch 'upstream/master' into HEADFrederik Rietdijk2017-09-11
|\ \ \
| * | | vm: bump trusty-updates hashDomen Kožar2017-09-11
| |/ / | | | | | | | | | | | | In future we might just not use the updates if hash changes too often.
* | | Revert "Merge pull request #28557 from obsidiansystems/binutils-wrapper"Eelco Dolstra2017-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0a944b345e89ca0096974d168f49e1c6830c3fc2, reversing changes made to 61733ed6ccde3427016720f2e0cd191d3d95152c. I dislike these massive stdenv changes with unclear motivation, especially when they involve gratuitous mass renames like NIX_CC -> NIX_BINUTILS. The previous such rename (NIX_GCC -> NIX_CC) caused months of pain, so let's not do that again.
* | | macos-sierra-shared: Fix, after binutils-wrapper broke itJohn Ericson2017-09-06
| | | | | | | | | | | | | | | | | | | | | | | | cctool's as needs to be told use to use gnu as, or else we'd need a dependency cycle between cctools and clang for this case. In general, this is not a problem because clang uses its own integrated assembler where possible, and gnu as otherwise.
* | | binutils-wrapper: Accidentally deleted macOS Sierra reexport hackJohn Ericson2017-09-04
| | | | | | | | | | | | | | | | | | Did this when spliting off binutils-wrapper from cc-wrapper in 40e9b2a7e6490eef782e5c34703a99e61fae7017: I deleted the file instead of moving it.
* | | Merge pull request #28557 from obsidiansystems/binutils-wrapperJohn Ericson2017-09-03
|\ \ \ | | | | | | | | Binutils-wrapper: Init by refactoring out of cc-wrapper
| * | | binutils-wrapper: Import separately from cc-wrapperJohn Ericson2017-09-01
| | | |
| * | | binutils-wrapper: InitJohn Ericson2017-09-01
| | | | | | | | | | | | | | | | | | | | | | | | Factor a binutils wrapper out of cc-wrapper. While only LD is wrapped, the setup hook defines environment variables on behalf of other utilites.
| * | | cc-wrapper: Use separate mangler for "bool" variablesJohn Ericson2017-09-01
| | | | | | | | | | | | | | | | This avoids any `NIX_FOOBAR=1 1` not triggering conditions.
| * | | cc-wrapper: Pull variable mangler into utils.shJohn Ericson2017-09-01
| | | | | | | | | | | | | | | | In preparation for splitting out binutils-wrapper
| * | | cc-wrapper: Clean up dynamic linking with x86 multilibJohn Ericson2017-09-01
| | | | | | | | | | | | | | | | It's better layering to do everything in ld-wrapper.
* | | | Merge #28227: set-source-date-epoch-to-latest.sh: ignore generated filesVladimír Čunát2017-09-02
|\ \ \ \
| * | | | use \0 instead of \nvolth2017-08-13
| | | | |
| * | | | set-source-date-epoch-to-latest.sh: ignore generated filesvolth2017-08-13
| | | | | | | | | | | | | | | | | | | | set-source-date-epoch-to-latest.sh to ignore files newer than "$NIX_BUILD_TOP/.." (unlike "$NIX_BUILD_TOP" it is root-owned and cannot be touched by nixbld1).
* | | | | Merge remote-tracking branch 'upstream/master' into HEADFrederik Rietdijk2017-09-02
|\ \ \ \ \ | |_|/ / / |/| | / / | | |/ / | |/| |
| * | | Merge commit '2858c41' into HEADFrederik Rietdijk2017-08-30
| |\ \ \
| * | | | vm: Add trusty-updates to the packages listAntoine Eiche2017-08-30
| | | | |
* | | | | cc-wrapper: Remove support for NIX_LDFLAGS_HARDENJohn Ericson2017-08-31
| | | | | | | | | | | | | | | | | | | | It has long been deprecated
* | | | | cc-wrapper: Remove {START,EXEC}_HOOKJohn Ericson2017-08-31
| | | | | | | | | | | | | | | | | | | | These are no longer used by anything
* | | | | mkDerivation, cc-wrapper: Check hardening flag validity in NixJohn Ericson2017-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This becomes necessary if more wrappers besides cc-wrapper start supporting hardening flags. Also good to make the warning into an error. Also ensure interface is being used right: Not as a string, not just in bash.