Commit Graph

3623 Commits

Author SHA1 Message Date
Joachim Fasting
bad07dfac5
tree-wide: replace uses of splitString "." with lib.versions
Quoting from the splitString docstring:

   NOTE: this function is not performant and should never be used.

This replaces trivial uses of splitString for splitting version
strings with the (potentially builtin) splitVersion.
2019-09-26 17:42:49 +02:00
Chuck
a45b3ad89f
makeWrapper: Remove unused extraFlagsArray feature
There is a bug in this feature: It allows extra arguments to leak in
from the environment. For example:

  $ export extraFlagsArray=date
  $ man ls

Note that you get the man page for date rather than for ls. This happens
because 'man' happens to use a wrapper (to add groff to its PATH).

An attempt to fix this was made in 5ae18574fc in PR #19328 for
issue #2537, but 1. That change didn't actually fix the problem because
it addressed makeWrapper's environment during the build process, not the
constructed wrapper script's environment after installation, and 2. That
change was apparently accidentally lost when merged with 7ff6eec5fd.

Rather than trying to fix the bug again, we remove the extraFlagsArray
feature, since it has never been used in the public repo in the ten
years it has been available.

wrapAclocal continues to use its own, separate flavor of extraFlagsArray
in a more limited context. The analogous bug there was fixed in
4d7d10da6b in 2011.
2019-09-25 09:23:09 -07:00
Vladimír Čunát
192fb9d11b
Merge branch 'staging-next' into staging 2019-09-24 08:15:01 +02:00
Vladimír Čunát
eab41878ac
Merge branch 'master' into staging-next 2019-09-24 08:14:34 +02:00
Jörg Thalheim
71daf2ddb2
Merge pull request #65817 from bgamari/add-appimage-deps
build-support: Add p11_kit to appimage dependency set
2019-09-23 21:36:30 +01:00
Robin Gloster
602282538b
Merge pull request #69022 from mayflower/buildenv
buildEnv: check pathsToLink before checking collisions
2019-09-23 15:52:42 +02:00
Mario Rodas
aed74e8284
cargo-vendor: drop
Cargo 1.37 imported `cargo-vendor` as built-in command [1]

[1] https://github.com/rust-lang/cargo/pull/6869
2019-09-22 20:20:20 -05:00
Vladimír Čunát
22a216849b
Re-Revert "Merge branch 'staging-next'"
This reverts commit f8a8fc6c7c.
2019-09-22 09:38:09 +02:00
Vladimír Čunát
f8a8fc6c7c
Revert "Merge branch 'staging-next'"
This reverts commit 41af38f372, reversing
changes made to f0fec244ca.

Let's delay this.  We have some serious regressions.
2019-09-21 20:05:09 +02:00
Matthew Bauer
268d510024
Merge pull request #69131 from xzfc/subshells
Avoid subshells
2019-09-20 17:47:15 -04:00
Albert Safin
26547013a5 bintools-wrapper: avoid subshells: glob match 2019-09-20 02:45:56 +00:00
Albert Safin
bbc5b22ad8 bintools-wrapper: avoid subshells: upcase 2019-09-20 02:45:56 +00:00
Frederik Rietdijk
0b12d44c06 Merge master into staging-next 2019-09-19 16:59:42 +02:00
Yegor Timoshenko
17a6ae03cb
Merge pull request #66617 from transumption-unstable/201908/rust-aarch64-linux-musl
buildRustPackage: fix cross-compilation to aarch64-unknown-linux-musl
2019-09-19 01:21:55 +00:00
Robert Helgesson
241e28e3d1
emacs: use runCommand to generate wrapper
This removes the unnecessary compiler build dependency. We also set

    preferLocalBuild = true;
    allowSubstitutes = false;

to not farm out the build on a remote builder or bother with trying to
find a binary substitution.
2019-09-18 22:32:19 +02:00
Jan Tojnar
62791c3743
Merge branch 'master' into staging-next 2019-09-18 21:15:35 +02:00
Linus Heckemann
3125ab3afe buildEnv: check pathsToLink before checking collisions
Fixes #32683
2019-09-18 15:13:50 +02:00
Matthew Bauer
b32fd0c093
Merge pull request #68898 from nspin/pr/docker-image-cross
build-support/docker: set default image arch to host arch
2019-09-17 18:04:59 -04:00
worldofpeace
7d16370c63
Merge pull request #68873 from lattfein/appimage-tools-libatspi
appimageTools: add at-spi2-core to multiPkgs
2019-09-17 13:03:42 -04:00
Léo Gaspard
ffaf2661fb
Merge branch 'master' into os-prober-test 2019-09-16 23:21:15 +02:00
Nick Spinale
8166bc934b build-support/docker: set default image arch to host arch
The architecture of an image should default to the architecture for
which that image is being composed or pulled. buildPackages.go.GOARCH is
an easy way to compute that architecture with the correct terminology.
2019-09-16 14:22:30 +00:00
Koki Yasuno
968f357f9a
appimageTools: add at-spi2-core to multiPkgs 2019-09-16 23:15:38 +09:00
Jan Tojnar
a441eaa7b1
Merge branch 'staging-next' into staging 2019-09-12 22:49:43 +02:00
Yegor Timoshenko
08b73c1d58
buildRustPackage: fix cross-compilation to aarch64-unknown-linux-musl 2019-09-12 09:00:17 +00:00
Jan Tojnar
f2718dbbc0
wrapGAppsHook: address some shellcheck suggestions
These should not cause issues in practice but it is good idea to handle them.

* prefix and targetOffset are mandatory, as they are always set by the generic builder.
* wrapPrefixVariables and dontWrapGApps are now defaulting to empty value, as they are not mandatory.
2019-09-10 16:24:11 +02:00
Jan Tojnar
c54ba9aec9
wrapGAppsHook: simplify taking env vars
using indirect variable access must be better than eval
2019-09-10 16:24:11 +02:00
Jan Tojnar
3c1563f49d
wrapGAppsHook: add wrapGApp helper 2019-09-10 16:24:10 +02:00
Andreas Rammhold
a69a6c1117
Merge pull request #68296 from danieldk/crateRenames
buildRustCrate: add support for renaming crates
2019-09-10 10:57:54 +02:00
Frederik Rietdijk
e3f25191c4 Merge staging-next into staging 2019-09-09 08:11:34 +02:00
volth
7b8fb5c06c treewide: remove redundant quotes 2019-09-08 23:38:31 +00:00
Daniël de Kok
85c6d72011 buildRustCrate: add support for renaming crates
Before this change, buildRustCrate always called rustc with

--extern libName=[...]libName[...]

However, Cargo permits using a different name under which a dependency
is known to a crate. For example, rand 0.7.0 uses:

[dependencies]
getrandom_package = { version = "0.1.1", package = "getrandom", optional = true }

Which introduces the getrandom dependency such that it is known as
getrandom_package to the rand crate. In this case, the correct extern
flag is of the form

--extern getrandom_package=[...]getrandom[...]

which is currently not supported. In order to support such cases, this
change introduces a crateRenames argument to buildRustCrate. This
argument is an attribute set of dependencies that should be renamed. In
this case, crateRenames would be:

{
  "getrandom" = "getrandom_package";
}

The extern options are then built such that if the libName occurs as
an attribute in this set, it value will be used as the local
name. Otherwise libName will be used as before.
2019-09-08 19:17:52 +02:00
Matthieu Coudron
4d526d6fc6 fetchurl: add luarocks mirrors
luarocks defines by default the following mirrors:
83093e7da7/src/luarocks/core/cfg.lua (L205)

Let's add them to nixpkgs. I have modified luarocks-nix to generate the
proper nixpkgs urls.
I bump luarocks-nix in the following commits.
2019-09-07 19:59:23 +09:00
Jan Tojnar
f9237f3152
Merge branch 'master' into staging-next 2019-09-06 16:55:11 +02:00
Silvan Mosberger
da72765041
Merge pull request #67805 from Infinisil/more-git-determinism
nix-prefetch-git: Remove some pack file non-determinism
2019-09-06 10:24:45 +02:00
Jan Tojnar
cdf426488b
Merge branch 'master' into staging-next
Fixed trivial conflicts caused by removing rec.
2019-09-06 03:20:09 +02:00
Katharina Fey
18f7f19ce2 ociTools: init 2019-09-04 22:46:42 +00:00
Lily Ballard
43dade238f
installShellFiles: init (#65211)
This is a new package that provides a shell hook to make it easy to
declare manpages and shell completions in a manner that doesn't require
remembering where to actually install them. Basic usage looks like

  { stdenv, installShellFiles, ... }:
  stdenv.mkDerivation {
    # ...
    nativeBuildInputs = [ installShellFiles ];
    postInstall = ''
      installManPage doc/foobar.1
      installShellCompletion --bash share/completions/foobar.bash
      installShellCompletion --fish share/completions/foobar.fish
      installShellCompletion --zsh share/completions/_foobar
    '';
    # ...
  }

See source comments for more details on the functions.
2019-09-04 23:19:17 +02:00
Vladimír Čunát
4aad2947f8
Merge branch 'master' into staging-next 2019-09-04 11:00:56 +02:00
Bas van Dijk
37831d6d35
Merge pull request #67930 from basvandijk/applyPatches
trivial-builders: add the applyPatches function
2019-09-03 08:00:22 +02:00
Vladimír Čunát
f21211ebfe
Merge branch 'master' into staging 2019-09-02 23:25:24 +02:00
Sebastian Jordan
b97a20a567 nix-prefetch-github: 2.3 -> 2.3.1 2019-09-02 14:32:41 +02:00
Bas van Dijk
05393ca217 trivial-builders: add the applyPatches function
applyPatches applies a list of patches to a source directory.

For example to patch nixpkgs you can use:

  applyPatches {
    src = pkgs.path;
    patches = [
      (pkgs.fetchpatch {
        url = "1f770d2055.patch";
        sha256 = "1nlzx171y3r3jbk0qhvnl711kmdk57jlq4na8f8bs8wz2pbffymr";
      })
    ];
  }
2019-09-02 11:18:52 +02:00
Craig Hall
0b7494ed2b cc-wrapper: add (partial) support for clang -cc1
We need this for intel-compute-runtime, see #63705
2019-09-01 16:53:06 +01:00
Silvan Mosberger
478e7184f8
nixos/modules: Remove all usages of types.string
And replace them with a more appropriate type

Also fix up some minor module problems along the way
2019-08-31 18:19:00 +02:00
Frederik Rietdijk
ad1d58c622 Merge staging-next into staging 2019-08-31 10:04:20 +02:00
Frederik Rietdijk
fc74ba8291 Merge master into staging-next 2019-08-31 09:50:38 +02:00
Silvan Mosberger
89636b9a5e
nix-prefetch-git: Remove some pack file non-determinism 2019-08-31 01:16:50 +02:00
adisbladis
41d1b8fa88
emacsPackages: Drop old emacsPackages (non-NG) sets
These have been deprecated for a long time now and has not seen much maintenance.
2019-08-30 16:43:16 +01:00
volth
08f68313a4 treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
Frederik Rietdijk
5061fe0c2c Merge staging-next into staging 2019-08-28 08:26:42 +02:00
volth
35d68ef143 treewide: remove redundant quotes 2019-08-26 21:40:19 +00:00
Vladimír Čunát
2e6bf42a22
Merge branch 'master' into staging-next
There ver very many conflicts, basically all due to
name -> pname+version.  Fortunately, almost everything was auto-resolved
by kdiff3, and for now I just fixed up a couple evaluation problems,
as verified by the tarball job.  There might be some fallback to these
conflicts, but I believe it should be minimal.

Hydra nixpkgs: ?compare=1538299
2019-08-24 08:55:37 +02:00
Josef Kemetmüller
bacf5619e2 mirrors: Add centos mirror (#66537)
This should remove the need to rename links from mirror.centos.org to
vault.centos.org as the removed comment mentions.
2019-08-20 16:40:07 -04:00
Dmitry Kalinkin
948025bca4
Merge pull request #66446 from bdesham/updated-boronine-perl-darwin-fix
Updated fix for Perl programs on Darwin
2019-08-19 19:18:19 -04:00
Nikolay Amiantov
3b3618ea3c buildBazelPackage: remove top-level symlinks
They always can be regenerated during the actual build, and they are sometimes
random, e.g in Tensorflow;

platforms -> NIX_BUILD_TOP/tmp/install/35282f5123611afa742331368e9ae529/_embedded_binaries/platforms
2019-08-19 11:23:17 +03:00
Benjamin Esham
3a9b0bd634 add shortenPerlShebang function
This setup hook modifies a Perl script so that any "-I" flags in its shebang
line are rewritten into a "use lib ..." statement on the next line. This gets
around a limitation in Darwin, which will not properly handle a script whose
shebang line exceeds 511 characters.
2019-08-18 16:22:23 -07:00
Nikolay Amiantov
e848ffe48c fetchurl mirrors: move steamrt mirror to another host
This one is hosted in a cloud so hopefully incidents like
https://github.com/NixOS/nixpkgs/pull/66853 won't repeat.
2019-08-19 01:26:01 +03:00
Frederik Rietdijk
fe9a3e3e63 Merge staging-next into staging 2019-08-17 09:39:23 +02:00
Frederik Rietdijk
c68f58d95c Merge master into staging-next 2019-08-17 09:30:16 +02:00
Graham Christensen
ee30e62e34
Merge pull request #66543 from grahamc/dt
dockerTools: document extraCommands, increase layers
2019-08-15 09:47:32 -04:00
volth
46420bbaa3 treewide: name -> pname (easy cases) (#66585)
treewide replacement of

stdenv.mkDerivation rec {
  name = "*-${version}";
  version = "*";

to pname
2019-08-15 13:41:18 +01:00
Yegor Timoshenko
da3da08cdf
buildRustPackage: link against pthreads-w32 on x86_64-pc-mingw32 2019-08-15 08:44:54 +00:00
Yegor Timoshenko
0fcffe88db
buildRustPackage: support cross-compilation to x86_64-pc-mingw32 2019-08-15 08:44:54 +00:00
Graham Christensen
8adaae2df2
dockertools.buildLayeredImage: default layer count up to 100 2019-08-12 19:59:40 -04:00
Frederik Rietdijk
9bd78cb048 Merge master into staging-next 2019-08-09 14:00:27 +02:00
Mario Rodas
50dd759948
Merge pull request #64852 from marsam/update-apache-mirrors
mirrors: update apache mirrors
2019-08-09 04:24:28 -05:00
Vincent Laporte
b1d37354d7
Merge pull request #65715 from mgttlinger/build-oasis-package
OCaml build support: add oasis build system
2019-08-07 08:07:55 +00:00
Merlin Göttlinger
b1f0e3ebc5
Suggested edits 2019-08-07 09:50:46 +02:00
Merlin Göttlinger
6e6c1448fa
Suggested edits 2019-08-07 06:51:36 +02:00
Merlin Göttlinger
961b83a99d
Don't use buildOcaml 2019-08-06 17:54:09 +02:00
Merlin Göttlinger
6ef367a5e8
Suggested changes 2019-08-06 06:46:03 +02:00
Ben Gamari
d1139e340d build-support: Add p11_kit to appimage dependency set
This was in the upstream list but missing from nixpkgs' list.
2019-08-02 16:56:18 -04:00
Merlin Göttlinger
2ea2643b13
OCaml build support: add oasis build system 2019-08-01 10:44:04 +02:00
Frederik Rietdijk
4ca8e53e1d Merge staging-next into staging 2019-08-01 09:44:06 +02:00
Frederik Rietdijk
55e4555b77 Merge master into staging-next 2019-08-01 09:42:54 +02:00
Sarah Brofeldt
19abdb765b
Merge pull request #63865 from dingxiangfei2009/dockertools-cross-compilation
dockerTools: use skopeo on the right platform
2019-07-31 20:11:18 +02:00
Adelbert Chang
4403d44763 buildRustPackage: fix cargo flag for release/debug build (#61521)
Previous behavior did not actually allow for "debug" build as it would
try to pass --debug to cargo, which is not a valid flag.
2019-07-31 13:19:01 +01:00
Timo Kaufmann
e458a34012 buildBazelPackage: add flags for build and fetch
They sometimes take separate flags.
2019-07-31 13:28:44 +03:00
Nikolay Amiantov
a956694aba buildBazelPackage: clear markers
Turns out markers are non-deterministic after all and even our patching still
doesn't solve this problem completely. For example (tensorflow deps, this is a
complete diff so actual dependencies don't differ):

30509c30509
< bc527ff00916b15caee38793bca8f294c748df4a256de55c5199281be0489e73  result/@bazel_skylib.marker
---
> 4e0303e815c78df1e43d4b88dfe65e73046e0c6157fb10aa9a4e8b910113cd9c  result/@bazel_skylib.marker
31045c31045
< fa13d04b2316214c3b4008b52546c2d5b633e006f6f019d597bb3f9745bacf7b  result/@bazel_toolchains.marker
---
> b36174bf5535e5157801b6de30c35ee03a03fe57766306393c3d65dd65cbebf4  result/@bazel_toolchains.marker
31144c31144
< b0ce4a3ac29ac22528336dd3a54b5b7af9ecc43bef2a2630713c1981a5cbbb51  result/@build_bazel_rules_swift.marker
---
> 7492528068ec4f8e7ace2ecf8f933ec4e1b2235bd7426ce6f70177919f1cd05e  result/@build_bazel_rules_swift.marker
36245c36245
< be2993536a8233d63251b664caf35b1e7cd57d194ab2a39a293876c232d6bbd0  result/@io_bazel_rules_closure.marker
---
> b6655cc3f2c78525e5a724d8a4e93b1e7f09f1e09fc817d231109e7f39103e88  result/@io_bazel_rules_closure.marker
36329c36329
< 087bc674c9509dfe157400d111db4a13eeb45fc76aeccd490cee9aad6771ecad  result/@io_bazel_rules_docker.marker
---
> f920ec07315ec71e800b05cd22b2a341c0a80807c6e335ee81739b13c532b422  result/@io_bazel_rules_docker.marker
79544d79543
< 85893a05a817036c61f6cd9f8247757baa1654f473c494ce4fc5253c2bbd2790  result/@platforms.marker

And here's an example of differences:

$ cat result-a/@bazel_skylib.marker
7dc7472d37424ba5ec6a5532765bc911
$MANAGED
cat result-b/@bazel_skylib.marker
a8f3f577798201157128e8e9934c4705
$MANAGED

Instead of trying to patch these markers further we now completely clear them.
Nix hacks for ignoring markers are restored and expanded so that we don't even
attempt to parse the marker.
2019-07-31 11:28:06 +03:00
Atkins
fb961d1cdb
buildRustPackage: Remove unneeded cat 2019-07-30 12:27:16 +01:00
Atkins
626ccd7121
buildRustPackage: Avoid altering .cargo/config in source 2019-07-30 12:26:27 +01:00
Jörg Thalheim
9aa00bf759
Merge pull request #65215 from marsam/default-platforms-buildRustPackage
buildRustPackage: by default use Rust's platforms
2019-07-29 07:15:31 +01:00
Frederik Rietdijk
0f6bda38fe Merge staging-next into staging 2019-07-26 14:45:31 +02:00
Wael Nasreddine
a8f174ff7c buildBazelPackage: autodetect nix toolchain instead of Xcode on Darwin (#65308)
* buildBazelPackage: autodetect nix toolchain instead of Xcode on Darwin

* do not export the variables outside of Darwin

* remove unecessary parens

* move comment within the darwin check
2019-07-25 11:43:45 +02:00
worldofpeace
b1bc0645ea gdk-pixbuf: rename from gdk_pixbuf 2019-07-22 18:50:57 -04:00
Frederik Rietdijk
835f6b67bf Revert "strip setup hook: Strip using --strip-unneeded instead of --strip-debug."
This broke the bootstrapping of Darwin.

This reverts commit 3e867d16cd.
2019-07-22 09:15:01 +02:00
Mario Rodas
da492d230b
buildRustPackage: by default use Rust's platforms 2019-07-21 00:00:00 -05:00
Ambroz Bizjak
3e867d16cd strip setup hook: Strip using --strip-unneeded instead of --strip-debug. 2019-07-17 10:31:01 +02:00
Nikolay Amiantov
4dad0ae560 buildBazelPackage: cleanup hacks and enforce them for all builds
Timestamp verification skip is no longer needed (not sure why). Generally we
better off always using the environment hack for all packages because that
ensures all NIX_* flags are correctly applied.

One possible improvement in future is to filter only NIX_* variables to
passthru in Bazel.
2019-07-17 10:40:38 +03:00
Danylo Hlynskyi
70d6271e47
Merge pull request #64421 from rycee/bugfix/writeTextDir-with-slash
trivial-builders: support '/' in writeTextDir
2019-07-16 21:11:50 +03:00
Mario Rodas
2a86ffa8e2
mirrors: update apache mirrors
+ Add backup mirrors
+ Remove unreachable mirror wwwftp.ciril.fr
+ Use https on apache mirrors
2019-07-15 20:44:55 -05:00
Robert Helgesson
6900a327ad
trivial-builders: support '/' in writeTextDir
Before one would get the following error

    nix-repl> pkgs.writeTextDir "share/my-file" "foo"
    error: invalid character '/' in name 'share/my-file'

Fixes #50347
2019-07-13 17:03:41 +02:00
Frederik Rietdijk
54065ae20d Merge master into staging-next 2019-07-13 09:45:40 +02:00
Eelco Dolstra
267c8d6b2f
fetchurl (and derived functions): Support SRI hashes
E.g.

  fetchFromGitHub {
    owner = "NixOS";
    repo = "nix";
    rev = "ad42a784690449873fccb20192bd2150da81c56d";
    hash = "sha256-ZXeadXUJMXV5lSLz6TOBeL/SSOVwQ8ywxU5AFMCnbRU=";
  }
2019-07-11 15:52:35 +02:00
worldofpeace
c0a0c1ebcf
Merge pull request #64541 from bhipple/mirrors/alsa
mirrors.nix: add alsa-project.org for alsa
2019-07-11 08:37:29 -04:00
Frederik Rietdijk
22cb7f25f2 Merge master into staging-next 2019-07-11 09:40:10 +02:00
Graham Christensen
dc336293a1
doc: fix after snaptools merge 2019-07-10 08:02:14 -07:00
Ben Hipple
14a7161fa5 mirrors.nix: add alsa-project.org for alsa
Aside from being an HTTPS endpoint, this is the canonical mirror for alsa
project downloads.
2019-07-09 19:05:59 +00:00
Frederik Rietdijk
79a03641d5 Merge staging-next into staging 2019-07-09 15:46:26 +02:00
Frederik Rietdijk
74c24385cb Merge master into staging-next 2019-07-09 15:46:00 +02:00
Graham Christensen
39a5867b3f
Merge pull request #63457 from grahamc/snap
snapTools.makeSnap: init
2019-07-07 08:15:08 -04:00
John Ericson
6c4ed49ed8
Merge pull request #63904 from matthewbauer/iframeworkdir
cc-wrapper: use -iframework instead of -F
2019-07-03 17:11:11 -04:00
Frederik Rietdijk
25a77b7210 Merge staging-next into staging 2019-07-03 08:59:42 +02:00
Timo Kaufmann
63e15d588a
Merge pull request #63809 from timokau/dm-sonnet-1.33
python.pkgs.dm-sonnet: 1.30 -> 1.33
2019-07-02 11:19:20 +02:00
Ding Xiang Fei
ceab72e21b dockerTools: use skopeo on the right platform 2019-07-02 14:53:24 +08:00
worldofpeace
3f4a353737 treewide: use dontUnpack 2019-07-01 04:23:51 -04:00
Erik Nygren
4e5b10d98c trivial-builders: Fix writeShellScript example (#63888) 2019-06-29 14:50:02 +00:00
Timo Kaufmann
34387bcf5b buildBazelPackage: fix preConfigure without dependencies 2019-06-28 22:44:21 +02:00
Timo Kaufmann
255686e8fc bzildBazelPackage: fix fetch with no markers
Previously the installPhase of the fixed ouput derivation would fail for
a package that has no markers, since `sed` would complain about having
no input files. If we use `find` instead of bash globs, that problem
goes away.
2019-06-28 22:44:20 +02:00
Matthew Bauer
f496357585 cc-wrapper: use -iframework instead of -F
This avoids dumping -Wall warnings when they appear in framework
headers. As a result, we are closer to how regular headers are
included (via -isystem).

Also remove ccIncludeFlag lookup, this was unused & not very useful.
2019-06-28 16:27:27 -04:00
Jan Tojnar
07d1d3ed68
Merge branch 'master' into staging 2019-06-25 18:06:43 +02:00
Vladimír Čunát
145a620802
Merge branch 'master' into staging-next
Hydra nixpkgs: ?compare=1527134
2019-06-25 14:04:12 +02:00
Bas van Dijk
cee35739ff mkshell: improve mergeInputs
mergeInputs is now simply defined in terms of `concatLists` and
`catAttrs` instead of a more complicated `foldr`.

Note that the order of PATH has also changed. For example running the
following with nix-shell:

  let
    pkgs = import <nixpkgs> {};

    shell1 = pkgs.mkShell {
      buildInputs = [ pkgs.htop ];
    };

    shell2 = pkgs.mkShell {
      buildInputs = [ pkgs.hello ];
    };

    shell3 = pkgs.mkShell {
      inputsFrom = [ shell1 shell2 ];
      buildInputs = [ pkgs.tree ];
    };

  in shell3

Results in the following PATH:

$ echo $PATH
...
/nix/store/yifq4bikf7m07160bpia7z48ciqddbfi-tree-1.8.0/bin:
/nix/store/vhxqk81234ivqw1a7j200a1c69k8mywi-htop-2.2.0/bin:
/nix/store/n9vm3m58y1n3rg3mlll17wanc9hln58k-hello-2.10/bin
...

Previously the order was:

/nix/store/n9vm3m58y1n3rg3mlll17wanc9hln58k-hello-2.10/bin
/nix/store/vhxqk81234ivqw1a7j200a1c69k8mywi-htop-2.2.0/bin:
/nix/store/yifq4bikf7m07160bpia7z48ciqddbfi-tree-1.8.0/bin:

I think the new order makes more sense because it allows to override
the PATH in the outermost mkShell.
2019-06-23 22:20:10 +02:00
Bas van Dijk
76ef802d3d mkShell: compose shellHooks
Running the following expression with nix-shell:

  let
    pkgs = import <nixpkgs> {};

    shell1 = pkgs.mkShell {
      shellHook = ''
        echo shell1
      '';
    };

    shell2 = pkgs.mkShell {
      shellHook = ''
        echo shell2
      '';
    };

    shell3 = pkgs.mkShell {
      inputsFrom = [ shell1 shell2 ];
      shellHook = ''
        echo shell3
      '';
    };
  in shell3

Will now results in:
shell2
shell1
shell3

Note that packages in the front of inputsFrom have precedence over
packages in the back. The outermost mkShell has precedence over all.
2019-06-23 22:13:57 +02:00
Frederik Rietdijk
dafee3d91a Merge master into staging-next 2019-06-23 15:38:41 +02:00
Frederik Rietdijk
72d647f3d8 Merge master into staging-next 2019-06-21 08:20:26 +02:00
Timo Kaufmann
883725b22f buildBazelPackage: disable multithreaded fetching
To work around https://github.com/bazelbuild/bazel/issues/6502.
2019-06-20 20:02:51 +02:00
Timo Kaufmann
0cfd90a109 buildBazelPackage: fix directory symlink handling
The previous behaviour would work fine as long as `symlink` is a link to
a file. If is a link to a directory though, the new `ln` wouldn't
overwrite it but would create a new link *in that directory* (with the
name of the link source).

Instead, we can precompute the target location, then first remove the
symlink and write the new one in its place.
2019-06-20 18:35:16 +02:00
Jan Tojnar
897d9050a3
Merge pull request #63447 from jtojnar/sublime-cleanup
sublime3: clean up
2019-06-19 00:52:04 +02:00
worldofpeace
6fa7263c1e
Merge pull request #63349 from seppeljordan/update-nix-prefetch-github
nix-prefetch-github: 2.2 -> 2.3
2019-06-18 18:11:58 -04:00
Sebastian Jordan
08dbc60974 nix-prefetch-github: Remove propagatedBuildInputs `requests'
`requests' is no longer required per setup.cfg
2019-06-19 00:06:29 +02:00
Maximilian Bosch
a3667ee6be
libredirect: add posix_spawnp support
After bumping sublime3 in #61636 we realized that saving files as root
doesn’t work anymore and somehow the paths weren’t patched by
`libredirect`.

After some debugging it came out that Sublime switched from `posix_spawn(3)`
to `posix_spawnp(3)` to start new processes internally. Since `libredirect`
only handled the former, `/usr/bin/pkexec` stopped being redirected.

Wrapping `posix_spawnp` fixes the problem.
2019-06-18 22:47:11 +02:00
Graham Christensen
a82901fb5e
snapTools.makeSnap: init 2019-06-18 18:51:58 +02:00
Matthew Bauer
c08cdfa781
Merge pull request #54543 from thefloweringash/git-prefetch-errors
nix-prefetch-git: propagate errors under --quiet
2019-06-18 11:20:28 -04:00
Frederik Rietdijk
f120248daf Merge staging-next into staging 2019-06-18 11:07:56 +02:00
Matthew Bauer
4d6f65b81f
Merge pull request #62167 from matthewbauer/alias-libgl
Add libGL* aliases
2019-06-17 15:18:29 -04:00
Matthew Bauer
263f5891b6 treewide: mesa_noglu, mesa_drivers, libGL_driver -> mesa
Just use mesa for these to be more clear. Move these to aliases.nix
2019-06-17 14:43:18 -04:00
Sebastian Jordan
3c66428859 nix-prefetch-github: 2.2 -> 2.3 2019-06-17 18:35:52 +02:00
volth
f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
Vladimír Čunát
788261a1a9
Merge branch 'master' into staging-next
Brings in Haskell rebuild.
Hydra nixpkgs: ?compare=1525186
2019-06-14 17:47:23 +02:00
Wael Nasreddine
da3ec20a72
Merge pull request #63035 from rvolosatovs/update/go
go: 1.12.5->1.12.6, 1.11.10->1.11.11
2019-06-12 08:50:39 -07:00
Elis Hirwing
039983bd7a
Merge pull request #62783 from Izorkin/php-packages
php: update build config and php package
2019-06-12 13:14:22 +02:00
Frederik Rietdijk
7184efb40a Merge master into staging-next 2019-06-12 09:22:07 +02:00
Izorkin
925f803e28 phpPackages: build phpPackages with re2c 2019-06-11 22:21:35 +03:00
Matthew Bauer
4e5c9b8cf4
Merge pull request #54921 from grabango/master
Use nativeBuildInputs for building Docker images
2019-06-10 21:38:47 -04:00
Matthew Bauer
ebd038dc2d
Merge pull request #56161 from coreyoconnor/appimage-run-xcbutil
appimage build-support: add xorg.xcbutil*
2019-06-10 21:37:15 -04:00
Frederik Rietdijk
e58f0f6c99 Merge master into staging-next 2019-06-10 10:35:50 +02:00
Symphorien Gibol
52184a7a62 nixos/tests: add a test for os-prober 2019-06-09 19:05:30 +02:00
Jaakko Luttinen
fa95878fd3 writeScript: fix docstring
Fixes #59299

See:
b23dbb1a5d
2019-06-09 12:45:31 +02:00
Frederik Rietdijk
d3afcac771 Merge master into staging-next 2019-06-09 12:28:52 +02:00
Mario Rodas
b2e56ccea0
mirrors: add osdn mirrors 2019-06-08 23:37:36 -05:00
Mario Rodas
c0eaf5e917
mirrors: rename sourceforgejp to osdn
SourceForge.jp renamed to OSDN on May 11, 2015.
https://osdn.net/projects/sourceforge/news/24923
2019-06-08 23:25:47 -05:00
lewo
0e28092a56
Merge pull request #62773 from danieldk/docker-shared-layer-test
nixos/tests/docker-tools: check layer sharing with buildLayeredImage
2019-06-08 09:01:11 +02:00
Vladimír Čunát
8f5edef47e
Merge branch 'staging-next' (PR #62209) 2019-06-07 08:07:10 +02:00
Daniël de Kok
3b0d5b5ed3 nixos/tests/docker-tools: check layer sharing with buildLayeredImage
Adapted from grahamc's blog post on layered Docker images in Nix:

https://grahamc.com/blog/nix-and-layered-docker-images
2019-06-06 15:03:08 +02:00
Daniël de Kok
d7f3186b48 dockerTools.buildLayeredImage: restore layer sharing
PR #58431 added /nix/store to each layer.tar. However, the timestamp was
not explicitly set while adding /nix and /nix/store to the archive. This
resulted in different SHA256 hashes of layer.tar between image builds.

This change sets time and owner when tar'ing /nix/store.
2019-06-06 07:40:20 +02:00
Matthew Bauer
87a69edf67
Merge pull request #60559 from JohnAZoidberg/patchshebangs-multiple-args
patchShebangs: Allow multiple args
2019-06-05 20:36:12 -04:00
Vladimír Čunát
576af17187
Merge branch 'master' into staging-next
Hydra nixpkgs: ?compare=1523575
2019-06-05 11:06:44 +02:00
Danylo Hlynskyi
f29b88df44
Merge pull request #53991 from arianvp/fix-initrd
build-support/make-initrd:  Don't derive derivation name from file name
2019-06-05 01:22:49 +02:00
Vladimír Čunát
c4724fb7bc
Merge branch 'master' into staging-next
Hydra nixpkgs: ?compare=1523028
2019-06-03 10:01:25 +02:00
Nikolay Amiantov
06f27dc2e9 chrootenv: propagate nested chrootenv /host
To avoid symlink loops to /host in nested chrootenvs we need to remove
one level of indirection. This is also what's generally expected of
/host contents.
2019-05-30 15:34:01 +03:00
Nikolay Amiantov
7664ffbbaf chrootenv: small improvements
* Remove unused argument from pivot_root;
* Factor out tmpdir creation into a separate function;
* Remove unused fstype from bind mount;
* Use unlink instead of a treewalk to remove empty temporary directory.
2019-05-30 15:34:01 +03:00
Nikolay Amiantov
e0d3bc292c chrootenv: make stackable
The problem with stacking chrootenv before was that CLONE_NEWUSER cannot
be used when a child uses chroot. So instead of that we use pivot_root
which replaces root in the whole namespace. This requires our new root
to be an actual fs so we mount tmpfs.
2019-05-30 15:33:30 +03:00
Arian van Putten
b086b342bb build-support/make-initrd: Don't derive derivation name from file name
not all valid file names are valid derivation names. This can cause
troubles when, for example, trying to place systemd template unit
files, which contain an '@' in their name,  in an initrd.

Fixes #53987
2019-05-29 16:07:05 +02:00
Frederik Rietdijk
b95dfb09b8 Merge staging into staging-next 2019-05-29 10:39:52 +02:00
Silvan Mosberger
b4e16b6c30
Merge pull request #62112 from Lassulus/writers-check
build-support/writers: actually run checks
2019-05-28 12:07:22 +02:00
Frederik Rietdijk
3685108787 Merge staging-next into staging 2019-05-28 08:32:57 +02:00
lassulus
9746fae577 build-support/writers: actually run checks 2019-05-28 07:51:46 +02:00
Silvan Mosberger
b6a959b59e
Merge pull request #62040 from abbradar/chrootenv-extend
buildFHSUserEnv: extend PATH and LD_LIBRARY_PATH
2019-05-27 17:56:04 +02:00
Las
50c215df4a
Fix chrootenv segfaulting on exit
glibc 2.27 (and possibly other versions) can't handle an `nopenfd` value larger than 2^19 in `ntfw`, which is problematic if you've set the maximum number of fds per process to a value higher than that.
2019-05-26 17:19:06 +02:00
Daniel Schaefer
7c3d7521f0 patchShebangs: Exit if no arguments were given
Commit "patchShebangs: Allow for multiple arguments" 4a1e51f957
removed the check. We don't want to break existing usages so this
introduces it again with a successful exit code.
2019-05-26 16:05:06 +02:00
Vladimír Čunát
b4ae841b23
Merge branch 'staging-next' into staging 2019-05-26 09:48:55 +02:00
Daniel Schaefer
4a1e51f957 patchShebangs: Allow for multiple arguments
It's tempting to think patchShebangs supports multiple arguments.
Without this patch it just silently ignores all but the first. Now it
patches the shebangs in all of its arguments.

Fixes: #57695
2019-05-25 16:15:54 +02:00
Daniel Schaefer
81d3bd60a4 patchShebangs: Explain that script must be executable 2019-05-25 16:15:54 +02:00
Nikolay Amiantov
668f8a12f7 buildFHSUserEnv: extend PATH and LD_LIBRARY_PATH
This allows one to run applications from PATH and override libraries for
applications inside chrootenv. Useful for development environments.
2019-05-25 11:37:01 +03:00
Dmitry Kalinkin
44f05df20b
Merge pull request #60877 from veprbl/pr/nuke-refs-quotemeta-fix
nukeReferences: fix for store paths with special characters
2019-05-23 17:07:18 -04:00
Dmitry Kalinkin
44b551c0c0
addOpenGLRunpath: only apply to ELF files
Fixes libglvnd build
2019-05-23 16:52:45 -04:00
Florian Klink
2ed6903da5
libglvnd, ocl-icd, vulkan-loader: Add /run/opengl-driver(-32) to RUNPATH. (#60985)
libglvnd, ocl-icd, vulkan-loader: Add /run/opengl-driver(-32) to RUNPATH.
2019-05-22 23:36:01 +02:00
Nikolay Amiantov
2874e849d9 addOpenGLRunpath: Add new hook for setting RUNPATH.
This hook allows to add NixOS driver libraries path to given ELF
objects' RUNPATH. We use it instead of settings RUNPATH manually
everywhere. It must be invoked in postFixup so that RUNPATH stripping
does not remove the path.

It puts the path first instead of last so that system-wide drivers
are always preferred.
2019-05-22 18:19:55 +02:00
Robin Gloster
6cf583cf2f
Merge pull request #60406 from JohnAZoidberg/remove-isnull
treewide: Remove usage of isNull
2019-05-18 09:36:24 +00:00
Frederik Rietdijk
d4464ff8fe Merge master into staging-next 2019-05-16 08:17:55 +02:00
Alexandre Peyroux
9760c3e7ec vmTools: update debian-9.4 repositories to debian-9.8 Release.xz urls 2019-05-14 21:06:12 +02:00
Frederik Rietdijk
8abe5ee07e Merge master into staging-next 2019-05-14 10:23:13 +02:00
lewo
42ee7cdf9d
Merge pull request #61089 from nlewo/pr-fix-layer-order
dockerTools: Fix Docker layers order
2019-05-13 15:27:43 +02:00
Frederik Rietdijk
ef0dbef7f1 Merge master into staging-next 2019-05-12 19:59:09 +02:00
Alyssa Ross
5c36a8d556
Merge pull request #61052 from deliciouslytyped/patch-2
trivial-builders: add writeShellScript and minor cleaning
2019-05-12 17:43:35 +00:00
deliciouslytyped
103ab24e94 trivial-builders: add writeShellScript and minor cleaning
Add writeShellScript
Small whitespace additions
Fix "Example:" docstring sections for some of the writeScript functions to use the correct function
2019-05-12 19:40:01 +02:00
Vladimír Čunát
0fb181b8ce
Merge #59422: patchutils: 0.3.3 -> 0.3.4, keep 0.3.3 for fetchpatch 2019-05-12 15:17:10 +02:00
Vladimír Čunát
e07c5ec107
fetchpatch: explain why we use 0.3.3 2019-05-12 15:16:45 +02:00
Antoine Eiche
a5a5820048 dockerTools: Fix the layer order
The layer order was not correct when a parent image was used: parent
image layers were above the new created layer.

This commits simplifies the code related to layer ordering. In
particular, layers in `layer-list` are ordered from bottom-most to
top-most. This is also the order of layers in the `rootfs.diff_ids`
attribute of the image configuration.
2019-05-07 16:52:25 +02:00
Antoine Eiche
5ef1223f30 nixos/tests/docker-tools: verify order of layers in stacked images 2019-05-07 16:52:13 +02:00
Jan Tojnar
e99ff9b98d
networkmanager: Stop using libredirect for building introspection (#60909)
networkmanager: Stop using libredirect for building introspection
2019-05-05 16:10:38 +02:00
Frederik Rietdijk
193b899af2 Merge master into staging-next 2019-05-04 17:34:04 +02:00
Jan Tojnar
a0c6efb9fd
libredirect: remove dlopen support
While it might be useful in some cases, there are too many caveats to be worth it.
When libredirect intercepts dlopen call and calls the original function, the dynamic
loader will use libredirect.so's DT_RUNPATH entry instead of the one from the ELF file
the dlopen call originated from. That means that when program tries to dlopen a library
that it expects to find on its RPATH, the call will fail.
This broke Sublime Text for just that reason.
2019-05-04 05:53:18 +02:00
Andreas Rammhold
46f84adc0c
nix-prefetch-git: add -h as shortcut for --help to improve quality of life
Especially as a new user it is a much better experience to receive a
proper help response to `-h`. Currently passing `-h` will cause some
runtime error with the `git remote` error help being shown. Not very
helpful.

It doesn't hurt to be a bit more user friendly in this case.
2019-05-03 23:56:40 +02:00
Dmitry Kalinkin
fdada4a45f
nukeReferences: fix for store paths with special characters (like '+' or '.')
This introduces extra escaping for $NIX_STORE that gets interpolated
into a PCRE. The escaping is performed using a standard Perl function
"quotemeta" (see "perldoc -f quotemeta" for reference). The same value
is also used in sed regex which uses POSIX basic regular expressions
instead of PCRE, so it needs fewer characters to be escaped. It should
not cause much problem to not change sed invocation, but I replace it
with equivalent Perl expression (actually the behavior is changed to not
output a newline character after the matched output).
2019-05-03 12:56:44 -04:00
Frederik Rietdijk
3462fe27d9 Merge staging-next into staging 2019-04-30 15:52:19 +02:00
Daniel Schaefer
786f02f7a4 treewide: Remove usage of isNull
isNull "is deprecated; just write e == null instead" says the Nix manual
2019-04-29 14:05:50 +02:00
Frederik Rietdijk
2f936f85d8 Merge master into staging-next 2019-04-29 13:46:20 +02:00
Will Dietz
7bd31a322f Revert "appimageTools: small simplification"
This reverts commit 1c06590fa9.
2019-04-28 09:41:31 -05:00
Frederik Rietdijk
042a01efbf Merge staging-next into staging 2019-04-27 07:02:02 +02:00
Frederik Rietdijk
883232c00d Merge master into staging-next 2019-04-27 07:01:38 +02:00
Matthew Bauer
23c520d95e cc-wrapper: only set -march when platform.gcc.arch is specified
We want to make sure this value is explicitly set. Infering it for
every arch leads to annoying failures like:

https://hydra.nixos.org/build/92583832/

Perhaps we can enable it in the future with some smarter handling of
cc-wrapper.sh.
2019-04-26 22:30:45 -04:00
Matthew Bauer
87944c3125
Merge pull request #56744 from matthewbauer/macos-10-12
Update macOS to 10.12
2019-04-26 22:20:03 -04:00
Matthew Bauer
a1533dfc41 patch-shebangs: fix dev detection
$output = $outputDev is the right condition. ${!outputDev} is only
useful if you want a path.
2019-04-26 21:54:48 -04:00
Matthew Bauer
61bc03c017 Revert "Revert "patch-shebangs: respect cross compilation""
This reverts commit 9c4b11e9a0.
2019-04-26 21:54:48 -04:00
Jan Tojnar
89a150355b
Merge branch 'master' into staging 2019-04-26 16:35:54 +02:00
Will Dietz
6e4fa85446
Merge pull request #56259 from dtzWill/feature/minetime
minetime: init at 1.4.12
2019-04-25 23:22:30 -05:00
volth
dba65df034 kernel: fix cross-build
Fix for #59225 regression proposed by @matthewbauer
https://github.com/NixOS/nixpkgs/pull/59225#issuecomment-486398003

(cherry picked from commit a6ea72a77d1f8e794244b063a7e9780c1b47486d)
2019-04-25 14:14:48 -04:00
Graham Christensen
a682d720c7
Merge pull request #60215 from nmattia/nm-tmp-timestamp
patchShebangs: create timestamp in tmp dir
2019-04-25 12:50:16 -04:00