about summary refs log tree commit diff
path: root/pkgs/build-support
AgeCommit message (Collapse)AuthorFilesLines
2021-05-08gnome: rename from gnome3Jan Tojnar1-1/+1
Since GNOME version is now 40, it no longer makes sense to use the old attribute name.
2021-05-07fetchgit: document --fetch-lfs flagBjørn Forsman1-0/+1
Fixes: 74128561 ("fetchgit: add lfs support")
2021-05-07Merge pull request #121896 from raboof/extract-version-test-to-utilityRobert Hensing1-0/+33
test-utilities: version test
2021-05-07test-utilities: version testArnout Engelen1-0/+33
Extract 'version test' to a reusable test utility as discussed in https://github.com/NixOS/nixpkgs/pull/119636#issuecomment-826137021 and
2021-05-06emacs: adapt to renamed native-comp variablesMauricio Collares1-2/+2
2021-05-02buildFHSUserEnvBubblewrap: add dieWithParent option, and /etc/nixJonathan Ringer1-2/+10
Allows for processes which fork to not be immediately killed when the parent process dies.
2021-04-19Merge master into staging-nextgithub-actions[bot]1-0/+3
2021-04-19Merge pull request #114400 from mkg20001/fhs-etc-nixMaciej Krüger1-0/+3
buildFHSUserEnv: symlink /etc/nix
2021-04-16Merge master into staging-nextgithub-actions[bot]2-0/+55
2021-04-16Merge pull request #118018 from considerate/masterRobert Hensing2-0/+55
dockerTools: Implement merging of image tarballs
2021-04-12Merge remote-tracking branch 'upstream/staging-next' into down-integrate-stagingLuke Granger-Brown2-3/+8
2021-04-12Merge pull request #111988 from thefloweringash/darwin-platform-versionsJohn Ericson6-9/+167
Darwin platform versions
2021-04-12Merge pull request #102725 from thefloweringash/dockertools-procJörg Thalheim1-1/+5
dockerTools: fix absent /proc during runAsRoot
2021-04-11bintools-wrapper: ensure roles are set before mangling variablesAndrew Childs1-0/+9
2021-04-11bintools-wrapper, cc-wrapper: parameterize darwin min version variableAndrew Childs4-7/+13
These variables are the ones that the standard toolchain uses, so we should use those and not always use MACOSX_DEPLOYMENT_TARGET. See https://github.com/tpoechtrager/cctools-port/blob/236a426c1205a3bfcf0dbb2e2faf2296f0a100e5/cctools/ld64/src/ld/PlatformSupport.cpp#L54-L55
2021-04-11cc-wrapper, bintools-wrapper: support MACOSX_DEPLOYMENT_TARGET with rolesAndrew Childs4-12/+55
In a typical build environment the toolchain will use the value of the MACOSX_DEPLOYMENT_TARGET environment variable to determine the version of macOS to support. When cross compiling there are two distinct toolchains, but they will look at this single environment variable. To avoid contamination, we always set the equivalent command line flag which effectively disables the toolchain's internal handling. Prior to this change, the MACOSX_DEPLOYMENT_TARGET variable was ignored, and the toolchains always used the Nix platform definition (`darwinMinVersion`) unless overridden with command line arguments. This change restores support for MACOSX_DEPLOYMENT_TARGET, and adds nix-specific MACOSX_DEPLOYMENT_TARGET_FOR_BUILD and MACOSX_DEPLOYMENT_TARGET_FOR_TARGET for cross compilation.
2021-04-11cc-wrapper: use legacy -mmacosx-version-min for gccAndrew Childs1-4/+9
See https://github.com/NixOS/nixpkgs/pull/105026#discussion_r587169144
2021-04-11cc-wrapper: specify default -mmacos-version-minAndrew Childs1-0/+1
This avoids contamination via MACSOX_DEPLOYMENT_TARGET when cross compiling.
2021-04-11bintools-wrapper: default platform versions for darwinAndrew Childs3-5/+99
Instead of always supplying flags, apply the flags as defaults. Use clang's native flags instead of lifting the linker flags from binutils with `-Wl,`. If a project is using clang to drive linking, make clang do the right thing with MACOSX_DEPLOYMENT_TARGET. This can be overridden by command line arguments. This will cause modern clang to pass `-platform_version 10.12 0.0.0`, since it doesn't know about the SDK settings. Older versions of clang will pass down `-macos_version_min` flags with no sdk version. At the linker layer, apply a default value for anything left ambiguous. If nothing is specified, pass a full `-platform_version`. If only `-macos_version_min` is specified, then lock down the sdk_version explicitly with `-sdk_version`. If a min version and sdk version is passed, do nothing.
2021-04-10cc-wrapper: match useGccForLibs conditional orderarcnmx1-2/+3
This breaks an evaluation cycle between `cc` and `gccForLibs` for cross builds, fixing an infinite recursion error.
2021-04-08Merge master into staging-nextgithub-actions[bot]2-7/+9
2021-04-08build-rust-crate: disable incremental buildszseri2-7/+9
2021-04-08Merge master into staging-nextgithub-actions[bot]1-4/+7
2021-04-07Merge pull request #118530 from SuperSandro2000/fetchzip-urlsSandro1-4/+7
2021-04-07Merge master into staging-nextgithub-actions[bot]2-7/+29
2021-04-08dockerTools: add merged example imagesViktor Kronvall1-0/+19
2021-04-07dockerTools: preserve order of images in manifestViktor Kronvall1-4/+13
2021-04-07dockerTools: take a list of images in mergeImagesViktor Kronvall1-17/+16
2021-04-07dockerTools: Implement merging of image tarballsViktor Kronvall1-0/+28
The `docker load` command supports loading tarballs that contain multiple docker images with their respective image names and tags. This enables distributing these images as a single file which simplifies the release of software when an application requires multiple services to run. However, pkgs.dockerTools only create tarballs with a single docker image and there exists is no mechanism in nixpkgs to combine the created tarballs. This commit implements merging of tarballs in a way that is compatible with `docker load`.
2021-04-07Merge pull request #116749 from vroad/docker-layered-image-fakerootRobert Hensing2-7/+29
dockerTools.streamLayeredImage: add fakeRootCommands option
2021-04-07dockerTools.streamLayeredImage: Add test for fakeRootCommandsvroad1-0/+13
2021-04-07fetchzip: accept urlsSandro Jäckel1-4/+7
Required after 9bbfb268540e0cc0404a6b9ef33ea3bf160066ed
2021-04-06Merge branch 'master' into staging-nextJan Tojnar2-2/+2
2021-04-05Merge pull request #115936 from matthewmazzanti/bubblewrap-hardcode-readlinkSandro1-1/+1
fhs-userenv-bubblewrap: Add store path to readlink
2021-04-04lzma: deprecate aliasSandro Jäckel1-1/+1
2021-04-02Merge master into staging-nextgithub-actions[bot]1-2/+5
2021-04-02Merge pull request #116677 from alexarice/agda-test-hello-worldDoron Behar1-2/+5
2021-04-02Merge staging-next into staginggithub-actions[bot]1-1/+3
2021-04-01fetchurl: check that `url` is a stringVladimír Čunát1-1/+3
Otherwise we (may) get a hard to debug issue in the tarball job, e.g. see the grandparent commit.
2021-03-31treewide: use perl.withPackages when possiblernhmjoj1-12/+3
Since 03eaa48 added perl.withPackages, there is a canonical way to create a perl interpreter from a list of libraries, for use in script shebangs or generic build inputs. This method is declarative (what we are doing is clear), produces short shebangs[1] and needs not to wrap existing scripts. Unfortunately there are a few exceptions that I've found: 1. Scripts that are calling perl with the -T switch. This makes perl ignore PERL5LIB, which is what perl.withPackages is using to inform the interpreter of the library paths. 2. Perl packages that depends on libraries in their own path. This is not possible because perl.withPackages works at build time. The workaround is to add `-I $out/${perl.libPrefix}` to the shebang. In all other cases I propose to switch to perl.withPackages. [1]: https://lwn.net/Articles/779997/
2021-03-31Merge staging-next into staginggithub-actions[bot]1-2/+2
2021-03-31Merge master into staging-nextgithub-actions[bot]1-2/+2
2021-03-30agda nixos test: add to passthru for agda + stdlibAlex Rice1-2/+5
2021-03-29releaseTools: fix nixBuild functionSander van der Burg1-2/+2
Without this fix, I can no longer build anything with releaseTools.nixBuild {}. A job typically fails with: $ nix-build release.nix -A build.basic.x86_64-linux --show-trace error: while evaluating the attribute 'lib' of the derivation 'libnixxml-0.1pre1234' at /home/sander/teststuff/nixpkgs/pkgs/build-support/release/nix-build.nix:89:5: cannot coerce a set to a string, at /home/sander/teststuff/nixpkgs/pkgs/build-support/release/nix-build.nix:89:5 This is caused by the fact that `lib' is propagated as a parameter, which is a function. Functions cannot be converted to strings.
2021-03-26Merge staging-next into staginggithub-actions[bot]1-1/+3
2021-03-26Merge master into staging-nextgithub-actions[bot]1-1/+3
2021-03-25dockerTools.streamLayeredImage: resolve duplicate env varsLouis Blin1-1/+3
For images running on Kubernetes, there is no guarantee on how duplicate environment variables in the image config will be handled. This seems to be different from Docker, where the last environment variable value is consistently selected. The current code for `streamLayeredImage` was exploiting that assumption to easily propagate environment variables from the base image, leaving duplicates unchecked. It should rather resolve these duplicates to ensure consistent behavior on Docker and Kubernetes.
2021-03-24Merge staging-next into staginggithub-actions[bot]3-30/+178
2021-03-24Merge master into staging-nextgithub-actions[bot]3-30/+178
2021-03-23Merge pull request #115857 from lbpdt/feature/docker-tools-layered-base-imageBenjamin Hipple3-30/+178
dockerTools.buildLayeredImage: support fromImage