Commit graph

3353 commits

Author SHA1 Message Date
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
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
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
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
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
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