Commit Graph

4970 Commits

Author SHA1 Message Date
Alyssa Ross
b898e958da
Merge remote-tracking branch 'nixpkgs/master' into staging-next
Conflicts:
	pkgs/os-specific/linux/libfabric/default.nix
	pkgs/tools/filesystems/btrfs-progs/default.nix
2021-09-22 10:07:27 +00:00
Artturin
c6b56fbf58 fetchfirefoxaddon: add simple test 2021-09-22 05:26:31 +03:00
Jörg Thalheim
57e69a608a
Merge pull request #109636 from mroi/patch-vmtools
vmTools: fix cross compilation
2021-09-22 00:51:22 +01:00
github-actions[bot]
611b805c53
Merge master into staging-next 2021-09-21 18:01:16 +00:00
figsoda
22efdc986c rustPlatform.cargoCheckHook: respect cargoCheckType 2021-09-21 13:00:25 -04:00
Bruno Bigras
c426b46aee defaultCrateOverrides: add rdkafka-sys 2021-09-21 12:07:25 -04:00
Robert Hensing
1648346444
Merge pull request #136022 from hercules-ci/fetcher-testing
Fetcher testing
2021-09-21 14:50:28 +02:00
Ryan Burns
37d089c1af {cc,binutils}-wrapper: match leading/trailing arguments
fixes e.g.:
pkgsMusl.libfsm
pkgsMusl.libiscsi
pkgsMusl.nsjail
pkgsMusl.pv

match strings have whitespace on either side, which wasn't
matching leading/trailing arguments previously
2021-09-20 17:24:04 -07:00
Ryan Burns
bd8258a389 cc-wrapper: ensure PIE flags precede PIC flags
fixes:
pkgsMusl.bulletml
pkgsMusl.proot
pkgsMusl.python3

Debian explains this issue well in the dpkg-buildflags manpage:

-fPIE
    Can be linked into any program, but not a shared library (recommended).
-fPIC
    Can be linked into any program and shared library.

On projects that build both programs and shared libraries you might need to
make sure that when building the shared libraries -fPIC is always passed last
(so that it overrides any previous -PIE) to compilation flags such as CFLAGS.

(from https://manpages.debian.org/bullseye/dpkg-dev/dpkg-buildflags.1.en.html#hardening)
2021-09-20 11:03:42 -07:00
github-actions[bot]
ecf5e75910
Merge master into staging-next 2021-09-20 18:01:12 +00:00
Mike Purvis
04b8e12ec7 fetchFromGitLab: Allow overriding protocol 2021-09-20 16:08:16 +00:00
Daniël de Kok
24b5074348
Merge pull request #137395 from dermetfan/cargo-lock-restricted
importCargoLock: introduce alternative parameter `lockFileContents`
2021-09-20 18:05:08 +02:00
Robin Stumm
d3018c4522 importCargoLock: introduce alternative parameter lockFileContents
In restricted mode (and therefore with flakes) `builtins.readFile` may not be the result of `builtins.toFile`,
making it impossible to use a generated lockFile (with or without IFD),
and thereby causing evaluation to fail if `system != builtins.currentSystem` on Hydra
so the jobs are not delegated to eligible build machines that support that system.

This is done in a way that avoids rebuilds.
2021-09-20 14:54:40 +02:00
github-actions[bot]
9e5021eef4
Merge master into staging-next 2021-09-20 12:01:15 +00:00
Robert Hensing
f44ece5469
Merge pull request #137302 from divanorama/patch-5
use --verbatim-files-from in dockerTools
2021-09-20 13:53:02 +02:00
Théo Zimmermann
20291381c1 coqPackages.mkCoqDerivation: rely on namePrefix to compute default opam-name
As suggested by Cyril Cohen in https://github.com/NixOS/nixpkgs/pull/134362#discussion_r698379405.
2021-09-20 11:10:23 +02:00
Noah Fontes
a7f5e8321e
autoPatchelfHook: fix packages that use stdenvNoCC
autoPatchelfHook actually doesn't depend on stdenv and only needs
bintools (with its wrapper). This change uses $NIX_BINTOOLS instead of
$NIX_CC and makes the dependency on bintools explicit.
2021-09-18 21:58:02 -07:00
Noah Fontes
4765a3e153
autoPatchelfHook: improve arch/ABI compatibility
Fully enabling crossSystem support for autoPatchelfHook came with some
perhaps unintended consequences of being a bit more aggressive about
patching ELF files from architectures/ABIs that differ from the target
(previously, those files would be ignored because ldd usually couldn't
handle them).

This change adds architecture and rough OS ABI detection to the script
so that it doesn't try to blindly replace the interpreter of files that
can't possibly use that interpreter, and also makes sure it doesn't
accidentally use libraries of other architectures/ABIs.
2021-09-18 21:57:08 -07:00
rnhmjoj
b29c2f97c3
nixos/lib/qemu-flags: rename to qemu-common
The current name is misleading: it doesn't contain cli arguments,
but several constants and utility functions related to qemu.
This commit also removes the use of `with import ...` for clarity.
2021-09-18 16:58:16 +02:00
sternenseemann
11fe2fc3cf stdenv: move --enable-deterministic-archives flag into GNU wrapper
`--enable-deterministic-archives` is a GNU specific strip flag and
causes other strip implementations (for example LLVM's, see #138013)
to fail. Since strip failures are ignored, this means that stripping
doesn't work at all in certain situation (causing unnecessary
dependencies etc.).

To fix this, no longer pass `--enable-deterministic-archives`
unconditionally, but instead add it in a GNU binutils specific strip
wrapper only.

`commonStripFlags` was only used for this flag, so we can remove
it altogether.

Future work could be to make a generic strip wrapper, with support for
nix-support/strip-flags-{before,after} and NIX_STRIP_FLAGS_{BEFORE,AFTER}.
This possibly overkill and unnecessary though -- also with the
additional challenge of incorporating the darwin strip wrapper somehow.
2021-09-18 15:11:17 +02:00
github-actions[bot]
c4fd2a8f99
Merge master into staging-next 2021-09-18 00:01:33 +00:00
github-actions[bot]
a21275cdae
Merge master into staging-next 2021-09-17 18:01:14 +00:00
John Ericson
d3407f1a3b cc-wrapper: Add support for -mthumb / -marm 2021-09-17 17:12:54 +00:00
sternenseemann
fb1348d433 bintools-wrapper: check if bintools to wrap isGNU, not stdenv
The wrapped bintools and the one used to build the wrapper can differ.
2021-09-17 17:06:24 +02:00
github-actions[bot]
6a10b23c61
Merge staging-next into staging 2021-09-16 00:02:05 +00:00
Markus Kowalewski
20b905a8df
alternatives/blas: fix ILP64 check
This fix allows for MKL ILP64 builds.
2021-09-15 17:07:21 +02:00
Dmitry Kalinkin
3e8668d9e5
Merge pull request #136535 from veprbl/pr/blas_id_fix_cblas
blas: fix library id on darwin for cblas
2021-09-15 10:33:43 -04:00
github-actions[bot]
0f78d9c4b7
Merge staging-next into staging 2021-09-15 00:02:12 +00:00
github-actions[bot]
728f30ca03
Merge master into staging-next 2021-09-15 00:01:33 +00:00
Guillaume Girol
3413d61035
Merge pull request #137351 from impl/autopatchelfhook-cross-fix
autoPatchelfHook: fix detection under crossSystem
2021-09-14 20:06:31 +00:00
github-actions[bot]
79a728d821
Merge staging-next into staging 2021-09-14 00:01:57 +00:00
github-actions[bot]
1db0c42d5a
Merge master into staging-next 2021-09-14 00:01:23 +00:00
Artturi
dddf775e4c
Merge pull request #137045 from Artturin/fetchzipw
fetchzip: recursively run chmod +w on the unpackDir
2021-09-13 21:16:05 +03:00
Noah Fontes
b79483d2b7
autoPatchelfHook: fix detection under crossSystem
In #84415, autoPatchelfHook was taught to use the correct path to the
readelf binary when a crossSystem is specified. Unfortunately, the
remainder of the functionality in the script depended on ldd, which only
reads ELF files of its own architecture. It has the further unfortunate
quality of not reporting any useful error, but rather that the file is
not a dynamic executable.

This change uses patchelf to directly analyze the DT_NEEDED tags in the
target files instead, which correctly works across architectures. It
also updates the use of objdump to be prefix-aware $OBJDUMP (which would
have been required in the PR mentioned above, but we never made it that
far into the script execution).
2021-09-12 15:07:15 -07:00
github-actions[bot]
fef6f602e6
Merge staging-next into staging 2021-09-12 18:01:50 +00:00
github-actions[bot]
a13bf1828b
Merge master into staging-next 2021-09-12 18:01:21 +00:00
Daniël de Kok
6f2ce2a65e treewide: remove danieldk as maintainer from a set of packages
I currently do not have much time to work on nixpkgs. Remove
myself as a maintainer from a bunch of packages to avoid that
people are waiting on me for a review.
2021-09-12 14:42:12 +00:00
github-actions[bot]
8bc930ca39
Merge staging-next into staging 2021-09-12 00:02:23 +00:00
github-actions[bot]
3f2255106a
Merge master into staging-next 2021-09-12 00:01:45 +00:00
Timothy DeHerrera
0171610faa
Merge pull request #73712 from virusdave/dnicponski/scratch/add_substitute_nix_support
substitute: init at 0
2021-09-11 15:21:40 -06:00
github-actions[bot]
d370d9ee99
Merge staging-next into staging 2021-09-11 18:01:51 +00:00
github-actions[bot]
c435b0e35f
Merge master into staging-next 2021-09-11 18:01:16 +00:00
Sandro
bcced5deff
Merge pull request #137204 from SuperSandro2000/fetchCargoTarball
rust.fetchCargoTarball: remove phases
2021-09-11 19:31:03 +02:00
github-actions[bot]
ff5297bcd3
Merge staging-next into staging 2021-09-11 12:01:45 +00:00
Alyssa Ross
56314db098
Merge remote-tracking branch 'nixpkgs/master' into staging-next
Conflicts:
	pkgs/development/compilers/ghc/8.10.7.nix
	pkgs/development/compilers/ghc/8.8.4.nix

I've removed the isWindows check from useLdGold in ghc, since that should
be covered by the new hasGold check.
2021-09-11 10:49:13 +00:00
Jörg Thalheim
f21712edaa importCargoLock: add docs how to run these tests 2021-09-11 11:14:58 +02:00
Yureka
34cc1821db
importCargoLock: add tests for branch and tag 2021-09-11 09:19:18 +02:00
Artturi
fb2781ff0a
Merge pull request #134881 from OmnipotentEntity/dont-compress-xz
setup-hooks: compress-man-pages.sh: Do not attempt to compress .xz files
2021-09-11 04:03:12 +03:00
Yureka
00b1ac5b23 importCargoLock: git deps with rev, branch or tag
Previously importCargoLog only recognized git dependencies with `rev =`.
This adds support for git dependencies with `branch =` or `tag =`.
2021-09-10 23:00:46 +02:00
divanorama
b012fe5e7e
use --verbatim-files-from in dockerTools
https://www.gnu.org/software/tar/manual/html_node/files.html
files starting with - can be treated as command line options, which isn't desirable here
2021-09-10 19:12:32 +02:00
Sandro Jäckel
012685943f
rust.fetchCargoTarball: remove phases 2021-09-09 19:17:48 +02:00
github-actions[bot]
a84ab6724a
Merge staging-next into staging 2021-09-08 18:01:37 +00:00
github-actions[bot]
31efc58eb0
Merge master into staging-next 2021-09-08 18:01:03 +00:00
Geoff Reedy
c524608dca
mkshell: small fix for #137005 (#137105)
I somehow accidentally left out the lib.flatten from mergeInputs. Without it, subtractLists won't ever remove anything from the inputs since the inputs will be a list of lists.
2021-09-08 16:54:24 +02:00
Théo Zimmermann
7136060765 mkCoqDerivation: use COQMF_COQLIB for dev versions of Coq 2021-09-08 15:15:28 +02:00
github-actions[bot]
888f8e8ac0
Merge staging-next into staging 2021-09-08 12:02:02 +00:00
github-actions[bot]
5ed67a849a
Merge master into staging-next 2021-09-08 12:01:27 +00:00
Geoff Reedy
087513bc11
mkShell: exclude inputsFrom from merged inputs (#137005)
The motivation for inputsFrom is to create a shell environment that is suitable for development of the packages listed in inputsFrom. This commit filters out any dependencies from one package in inputsFrom to another when computing the shell environment's inputs. This supports the use case where several closely related packages (perhaps even built from the same source tree) are being mutually developed. It is assumed that the user will configure their environment to resolve dependencies between these mutually developed packages.
2021-09-08 13:53:09 +02:00
Artturin
5c37214abb fetchzip: recursively run chmod +w on the unpackDir
Fixes https://github.com/NixOS/nixpkgs/issues/136030
2021-09-08 03:58:18 +03:00
Martin Weinelt
7f732aca66 Revert "Merge remote-tracking branch 'origin/python-unstable' into staging-next"
This reverts commit b041b2e1b2, reversing
changes made to 5b6c2380ad.
2021-09-05 15:02:25 +02:00
Martin Weinelt
b041b2e1b2 Merge remote-tracking branch 'origin/python-unstable' into staging-next 2021-09-05 14:51:26 +02:00
github-actions[bot]
c7c7dddded
Merge staging-next into staging 2021-09-04 12:01:34 +00:00
github-actions[bot]
1cef000dad
Merge master into staging-next 2021-09-04 12:01:03 +00:00
Pascal Bach
1871c113f1
Merge pull request #124157 from nh2/libredirect-children
libredirect: Fix redirects not working for subprocesses
2021-09-04 13:19:08 +02:00
github-actions[bot]
c82a5087e2
Merge staging-next into staging 2021-09-04 06:01:40 +00:00
github-actions[bot]
2c7fe86720
Merge master into staging-next 2021-09-04 06:01:06 +00:00
happysalada
c9f0c6f115 build-rust-crate: add global libiconv darwin buildInputs 2021-09-04 12:03:36 +09:00
happysalada
0585c981f1 build-rust-crate: nixpkgs-fmt 2021-09-04 12:03:36 +09:00
happysalada
0e8d59e3cb default-crate-overrides: nixpkgs-fmt 2021-09-04 12:03:36 +09:00
Pascal Bach
fc5196c2f0 libredirect: add subprocess test 2021-09-03 23:45:46 +02:00
Niklas Hambüchen
4961547d05 libredirect: Fix redirects not working for subprocesses 2021-09-03 22:26:22 +02:00
Niklas Hambüchen
0afbd6c86a libredirect: Enable debug symbols 2021-09-03 22:26:21 +02:00
Niklas Hambüchen
5ca0265505 libredirect: Add missing phase hooks 2021-09-03 22:26:20 +02:00
Dmitry Kalinkin
b27cb06557
blas: fix library id on darwin for cblas 2021-09-02 21:38:18 -04:00
github-actions[bot]
a4669c5baa
Merge staging-next into staging 2021-09-02 06:01:33 +00:00
github-actions[bot]
ba543de038
Merge master into staging-next 2021-09-02 06:01:01 +00:00
Matt Votava
ea4b37e679 buildFhsUserenv: inherit mounts from parent namespace 2021-09-01 18:37:54 -07:00
Manuel Bärenz
58ec6ce9b5 build-support/agda: Make includePaths configurable 2021-08-30 09:20:35 +02:00
happysalada
5b86e637d7 move-docs.sh: simplify redundant conditional
remove impossible check for empty variable after it's been set twice
2021-08-30 10:27:45 +09:00
github-actions[bot]
57ced08965
Merge staging-next into staging 2021-08-28 12:01:44 +00:00
github-actions[bot]
dbad333a72
Merge master into staging-next 2021-08-28 12:01:06 +00:00
Robert Hensing
0fa3d10d7d fetchgit.tests: init 2021-08-28 10:29:10 +02:00
Bjørn Forsman
9bd51f0db9 nix-prefetch-git: add fetchLFS flag to the JSON output
Similarly to the other flags (e.g. fetchSubmodules).
2021-08-28 10:14:48 +02:00
Bjørn Forsman
f43829a1d8 nix-prefetch-git: provide fallback for $TMPDIR
$TMPDIR is not set by default in NixOS (nor Ubuntu), so without this
change nix-prefetch-git fails when using git-lfs.
2021-08-28 10:14:48 +02:00
github-actions[bot]
1ed959d5eb
Merge staging-next into staging 2021-08-26 12:01:41 +00:00
github-actions[bot]
b13b005f0e
Merge master into staging-next 2021-08-26 12:01:09 +00:00
Jörg Thalheim
eafa8276d5
Merge pull request #135642 from Mic92/writers
writers: drop writeC
2021-08-26 11:48:23 +01:00
github-actions[bot]
1be90c9374
Merge staging-next into staging 2021-08-26 06:01:55 +00:00
Dmitry Kalinkin
262fd63a72
Merge branch 'master' into staging-next
Conflicts:
	pkgs/tools/networking/inetutils/default.nix
2021-08-26 00:57:08 -04:00
davidak
6f42a23a0c
Merge pull request #135004 from Stunkymonkey/vm-phases
vm: deprecate phases
2021-08-26 02:24:23 +02:00
Jörg Thalheim
982f46985e writers: drop writeC
This function is fundamentally broken.
Not even the ncurses example will compile.
The interface needs to be rethought for it to work (i.e. don't
unconditionally include all pc files, set include path and ld path and
rpath).
Since it is unlikely that in the current this has any user, just drop it for now.
2021-08-25 20:16:31 +02:00
github-actions[bot]
90fa603351
Merge staging-next into staging 2021-08-25 18:01:39 +00:00
Vladimír Čunát
70e05c1003
Merge branch 'master' into staging-next 2021-08-25 19:42:15 +02:00
Florian Klink
14b61efa87 dockerTools.usrBinEnv: add
This provides a /usr/bin/env, for shell scripts using the
"/usr/bin/env executable" shebang.
2021-08-25 16:08:39 +02:00
Sandro
e1e367ca31
Merge pull request #134347 from Stunkymonkey/emacs-elpa-package-phases 2021-08-25 14:01:54 +02:00
Sandro
be10cbd81f
Merge pull request #135493 from veprbl/pr/blas_id_fix
blas: fix library id on darwin
2021-08-24 23:37:10 +02:00
Sandro
da497034d8
Merge pull request #135464 from baloo/baloo/mirror-list/2021 2021-08-24 10:39:02 +02:00
Dmitry Kalinkin
de4c61a515
blas: fix library id on darwin
dyld: lazy symbol binding failed: Symbol not found: _dsyevd_
  Referenced from: /nix/store/lr8grz1knmh6vc7j830gni0ka68qf1lk-xfitter-2.0.1/bin/xfitter
  Expected in: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
2021-08-23 21:33:50 -04:00
Arthur Gautier
1825aae278 mirrors: get a second mirror for metalab
Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
2021-08-23 20:47:58 +00:00
Arthur Gautier
91db7bb1d0 mirrors: refresh the mirrors list
Some mirrors are gone, some migrated to http instead of ftp.

Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
2021-08-23 18:56:15 +00:00
Arthur Gautier
9d143d5a3b mirrors: oldsuse mirrors have been discontinued
Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
2021-08-23 18:45:15 +00:00
github-actions[bot]
095df456c2
Merge staging-next into staging 2021-08-22 06:01:44 +00:00
Gabriella Gonzalez
9a8850aea9
dhallToNix: Permit inputs referring to derivations (#134459)
Fixes https://github.com/dhall-lang/dhall-haskell/issues/2267

`pkgs.dhallToNix` currently fails when a Dhall package is
interpolated into the input source code, like this:

```nix
let
  pkgs = import <nixpkgs> { };

  f = { buildDhallPackage }: buildDhallPackage {
    name = "not";
    code = "λ(x : Bool) → x == False";
    source = true;
  };

  not = pkgs.dhallPackages.callPackage f {};

in
  pkgs.dhallToNix "${not}/source.dhall True"
```

This is because `dhallToNix` was using `builtins.toFile`, which
does not permit inputs with interpolated derivations.  However,
`pkgs.writeText` does not have this limitation, so we can switch
to using that instead.
2021-08-21 19:25:01 -07:00
Jan Tojnar
7a04c2ad68 Merge branch 'staging-next' into staging
- boost 171 removed on staging-next
- re-generated node-packages.nix

; Conflicts:
;	pkgs/development/java-modules/m2install.nix
;	pkgs/development/node-packages/node-packages.nix
;	pkgs/top-level/all-packages.nix
2021-08-22 01:13:41 +02:00
Sandro
20a82c1281
Merge pull request #135007 from Stunkymonkey/fetchgx-phases
fetchgx: deprecate phases
2021-08-21 15:13:32 +02:00
Sandro
4372fb396e
Merge pull request #134416 from Stunkymonkey/nix-template-rpm-phases 2021-08-21 02:19:24 +02:00
Felix Buehler
b5c8a485c6 fetchgx: deprecate phases 2021-08-20 23:47:21 +02:00
Felix Buehler
ae9337179b vm: deprecate phases 2021-08-20 23:31:26 +02:00
Florian Klink
f8031c60b7
dockerTools.fakeNss: add /etc/nsswitch.conf (#134958)
Apparently, a non-existent nsswitch.conf causes a very misleading host
resolution, differing from the defaults people are used to.

According to
https://github.com/golang/go/issues/22846#issuecomment-346377144, glibc
says the default is "dns [!UNAVAIL=return] files".

This means, `/etc/hosts` isn't really honored, causing all sorts of
unexpected behaviour.

Let's prevent this, and first ask `/etc/hosts` before querying DNS, like
we do on NixOS too.
2021-08-20 19:44:17 +02:00
Peter Ferenczy
1ec54d2fba
buildenv: fix regression introduced by #134215 2021-08-20 15:47:47 +03:00
Robin Stumm
3bdfca4491 buildRustPackage: remove unused parameter 2021-08-20 12:46:05 +02:00
John Ericson
a54bafe50a
Merge pull request #133008 from symphorien/ocaml-static
Misc static improvements (mainly ocaml and a regression linked to b0b5ef7286)
2021-08-20 01:56:16 -04:00
Michael Reilly
51f21e91e8 setup-hooks: compress-man-pages.sh: Do not attempt to compress .xz files 2021-08-19 17:13:05 -04:00
Robert Hensing
dac87fa350
Merge pull request #134215 from ggPeti/fix-buildenv
buildEnv: better warning and error messages
2021-08-19 13:28:41 +02:00
Guillaume Girol
a17fc03375 pkgsStatic.ocaml-ng: migrate static adapter to derivations themselves 2021-08-19 09:32:03 +02:00
Guillaume Girol
856fa067c5 buildDunePackage: use nativeBuildInputs for build tools 2021-08-19 09:29:55 +02:00
Guillaume Girol
ddd479fe7c ocamlPackages.mkDerivation: use nativeBuildInputs for build tools 2021-08-19 09:29:55 +02:00
github-actions[bot]
2970c28349
Merge staging-next into staging 2021-08-19 06:01:34 +00:00
davidak
a614698169
Merge pull request #134356 from Stunkymonkey/replace-secret-phases
replace-secret: deprecate phases
2021-08-19 04:30:08 +02:00
github-actions[bot]
599a736772
Merge staging-next into staging 2021-08-19 00:02:01 +00:00
Alyssa Ross
6e6c8b7338 s6-rc: fix cross builds that run s6-rc-compile
The reason for this change is explained in the long comment I added.

Here's a simple example of the problem:

	let
	  pkgs = import <nixpkgs> { crossSystem.system = "aarch64-linux"; };
	in

	pkgs.callPackage ({ stdenv, s6-rc }: stdenv.mkDerivation {
	  name = "s6-rc-compiled";

	  nativeBuildInputs = [ s6-rc ];

	  buildCommand = ''
	    mkdir in
	    s6-rc-compile $out in
	  '';
	}) {}

We're cross compiling for aarch64 here, so we'd expect the scripts
generated by this derivation to be things we could run on aarch64.
But when I build this on my x86_64 machine, without this change
applied, $out/servicedirs/s6rc-oneshot-runner/run gets generated full
of references to x86_64 non-cross store paths for execline, s6, and
s6-rc.

With this change applied, the scripts generated by the above
expression now refer to the cross-compiled aarch64 store paths for
execline, s6, and s6-rc.
2021-08-18 20:09:19 +00:00
github-actions[bot]
531afeda01
Merge staging-next into staging 2021-08-18 12:01:50 +00:00
Sandro
3f3e055bcd
Merge pull request #133905 from raboof/buf-use-testVersion-utility
buf: use testVersion utility
2021-08-18 11:59:49 +02:00
github-actions[bot]
ef802e744e
Merge staging-next into staging 2021-08-17 18:01:53 +00:00
Peter Ferenczy
f8be06a311 buildEnv: better warning and error messages 2021-08-17 18:16:20 +02:00
Ben Siraphob
6b7decf64b
Merge pull request #134413 from Zimmi48/package-hydra-battles 2021-08-17 08:32:21 -05:00
Théo Zimmermann
90654cce7d
coqPackages.mkCoqDerivation: fix useDune2
- Reuse build phase from the `buildDunePackage` function.
- Only install the package that was just built (useful for monorepo support).
- Introduces `opam-name` to override the default package name to build with Dune.
2021-08-17 14:38:47 +02:00
Felix Buehler
90f9565f1a nix-template-rpm: deprecate phases 2021-08-17 11:04:49 +02:00
Felix Buehler
454c6dee5e replace-secret: deprecate phases 2021-08-17 09:59:37 +02:00
Felix Buehler
829ed287f0 elpa-packages: deprecate phases 2021-08-16 21:34:58 +02:00
github-actions[bot]
4dfde9ac8e
Merge staging-next into staging 2021-08-15 18:01:33 +00:00
Dmitry Kalinkin
a57ca31b3b
Merge pull request #133350 from rasendubi/fetchzip-downloadname
fetchzip: add extension parameter
2021-08-15 13:04:32 -04:00
Robert Hensing
9feb144c8c runCommandNoCC: deprecate
It has been synonymous with runCommand ~5y.
2021-08-15 17:36:41 +02:00
Robert Hensing
a13aa64bd3 build-support/rust: remove unused runCommandNoCC 2021-08-15 17:36:41 +02:00
Robert Hensing
fbafeb7ad5 treewide: runCommandNoCC -> runCommand
This has been synonymous for ~5y.
2021-08-15 17:36:41 +02:00
sternenseemann
b4c9d6eb31 skawarePackages.buildManPages: derivation wrapper for skaware man page ports
GitHub user flexibeast has been porting the html documentation from
skarnet.org to mdoc, making them available as man pages. While the
documentation is non authorative, it is certainly useful and is also
linked from skarnet.org.

buildManPages implements the common mkDerivation machinery common to all
ported man page packages / repositories.
2021-08-15 11:43:10 +02:00
Jan Tojnar
513701efce Merge branch 'staging-next' into staging 2021-08-15 10:45:11 +02:00
Jörg Thalheim
ec9f44e541
Merge pull request #134119 from tekeri/rust-crate-override-pamsys
rust: fix build of pam-sys package
2021-08-15 09:35:22 +01:00
Arnout Engelen
1a604de2e7
buf: use testVersion utility
`installCheckPhase` is mainly intended for checks that are part of the
upstream package, for our 'own' checks we prefer `passthru.tests`.

This loses running `buf --help`, but I'm not sure how much that adds
on top of `buf --version`?
2021-08-15 09:00:30 +02:00
tekeri
2419ea4aff rust: fix build of pam-sys package 2021-08-15 15:55:20 +09:00
Jörg Thalheim
52657498f7
Merge pull request #133588 from zhaofengli/nuget-to-nix
nuget-to-nix: init
2021-08-15 07:02:43 +01:00
Luke Granger-Brown
dbe9bf9848 dockerTools.pullImage: fix for skopeo 1.4.x
skopeo 1.4.x doesn't accept --src-tls-verify as a flag to the *program*,
only as a flag to copy; we must pass it after the "copy" verb, or it
will fail with:

> FATA[0000] unknown flag: --src-tls-verify
2021-08-14 21:21:26 +00:00
Jan Tojnar
cdb1d29692 Merge branch 'staging-next' into staging 2021-08-14 14:43:16 +02:00
Zhaofeng Li
1ad800d919 nuget-to-nix: init
Adapted from `pkgs/games/osu-lazer/update.sh`.

Restore the packages to a directory with `--packages`, then run
`./nuget-to-nix.sh [path to packages] > deps.nix`.
2021-08-13 22:50:20 -07:00
Jan Tojnar
807d3ec359 Merge branch 'staging-next' into staging
; Conflicts:
;	pkgs/tools/misc/t1utils/default.nix
2021-08-11 16:34:11 +02:00
Shea Levy
9ecfbe0c5b
mingw: Disalbe FORTIFY_SOURCE by default.
In newer versions of mingw, programs compiled with FORTIFY_SOURCE need
to link to libssp or they will have link-time errors.

gmp has been broken since @pstn updated mingw-64 in c60a0b0447
2021-08-11 05:07:42 -04:00
Alexey Shmalko
1893e2be4d
fetchzip: add extension parameter
fetchzip downloads the file from specified URL, renames it to basename
of that url, and then relies on unzip to do the unpacking.

The first consequence is that this requires URL to end with proper
extension—otherwise it will fail to unpack. This is not always the
case and input-fonts workarounds this by adding “&.zip” query
parameter (which is obviously a hack and is not guaranteed to work
with every URL).

The second consequence is that basename of the url must be a valid
filename. I’ve tried to build a custom configuration of input-fonts
and I get an error from mv that the filename is too long:

> trying https://input.djr.com/build/?fontSelection=fourStyleFamily&regular=InputMonoNarrow-Regular&italic=InputMonoNarrow-Italic&bold=InputMonoNarrow-Bold&boldItalic=InputMonoNarrow-BoldItalic&a=0&g=0&i=topserif&l=serifs_round&zero=0&asterisk=height&braces=straight&preset=default&line-height=1.2&accept=I+do&email=&.zip
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100  406k  100  406k    0     0   230k      0  0:00:01  0:00:01 --:--:--  230k
> mv: failed to access '/build/?fontSelection=fourStyleFamily&regular=InputMonoNarrow-Regular&italic=InputMonoNarrow-Italic&bold=InputMonoNarrow-Bold&boldItalic=InputMonoNarrow-BoldItalic&a=0&g=0&i=topserif&l=serifs_round&zero=0&asterisk=height&braces=straight&preset=default&line-height=1.2&accept=I+do&email=&.zip': File name too long

We could use “name” parameter as the filename (that’s how it is used
in fetchurl). However, the previous attempt to do
so (fc01353703) was
reverted (24b5eb61eb) because of the
introduced regression—many fetchzip invocations use names without
extension (also the default name is just “source”).

This commit adds an optional “extension” parameter. If it is set,
fetchzip renames the downloaded file to “download.${extension}”
effectively solving both problems above without introducing a massive
regression.

This is a no-op for all existing packages.

Tested by updating my NixOS setup + the extra inputs-fonts
configuration mentioned above + tons of unstable emacs packages after
a nix-collect-garbage (3Gb downloaded) with this patch applied.
2021-08-10 19:57:08 +03:00
Sandro Jäckel
ceb417aaf1
docker: format 2021-08-10 10:32:46 +02:00
Linus Heckemann
b0fc6e8ff9 make-initrd: fix #132059 2021-08-08 07:53:59 +02:00
Sandro
f6b209b891
Merge pull request #132800 from deliciouslytyped/separatedebuginfo-extraneous-local
setup-hooks: separate-debug-info.sh: Remove extraneous local variable…
2021-08-07 11:53:29 +02:00
Vladimír Čunát
8ab6ba6b1c
Merge branch 'staging-next' into staging 2021-08-06 09:14:57 +02:00
deliciouslytyped
0e6b107cac setup-hooks: separate-debug-info.sh: Remove extraneous local variable originally used in ec5b66eb 2021-08-05 17:52:27 +02:00
Robert Hensing
1c4b1018a3
Merge pull request #132626 from zowoq/tarsum
tarsum: init
2021-08-05 12:14:35 +02:00
zowoq
5dde5ea73e tarsum: init
- move from dockerTools.tarsum
- remove go from runtime closure
2021-08-05 08:54:41 +10:00
github-actions[bot]
05e0d6aadf
Merge staging-next into staging 2021-08-04 12:01:50 +00:00
Robert Hensing
641bac80e5
dockerTools.buildImage: Allow build on darwin (#132640)
Indeed Docker can not run darwin exes, but darwin can build
Docker images, as some users already do with buildLayeredImage.
2021-08-04 06:06:06 -04:00
adisbladis
f09a770d9c
Merge pull request #130021 from neosimsim/fix-emacs-override-examples
emacs: fix overrideScope' examples
2021-08-04 03:08:33 -05:00
github-actions[bot]
2427da39ca
Merge staging-next into staging 2021-08-03 18:01:44 +00:00
sternenseemann
c3c4ef859a gprbuild, xmlada: init at 21.0.0
GPRbuild is a multi language build system developed by AdaCore which
is mostly used for build Ada-related projects using GNAT.

Since GPRbuild is used to build itself and its dependency library
XML/Ada we first build a bootstrap version of it using the provided
bash build script bootstrap.sh as the gprbuild-boot derivation.
gprbuild-boot is then used to build xmlada and the proper gprbuild
derivation.

GPRbuild has its own search path mechanism via GPR_PROJECT_PATH which
we address via a setupHook. It currently works quite similar to the
pkg-config one: It accumulates all inputs into GPR_PROJECT_PATH,
GPR_PROJECT_PATH_FOR_BUILD etc. However this is quite limited at the
moment as we don't have a gprbuild wrapper yet which understands the
_FOR_BUILD suffix. However, we'll need to address this in the future
as it is currently basically impossible to test since the distinction
only affects cross-compilation, but it is not possible to build a GNAT
cross-compiler in nixpkgs at the moment (I'm working on changing that,
however).

Another issue we had to solve was GPRbuild not finding the right GNAT
via its gprconfig tool: GPRbuild has a knowledge base with compiler
definitions which run some checks and collect info about binaries
which are in PATH. In the end the first compiler in PATH that supports
the desired language is selected.

We want GPRbuild to discover our wrapped GNAT since the unwrapped one
is incapable of producing working binaries since it won't find the
crt*.o objects distributed with libc. GPRbuild however needs to find
the Ada runtime distributed with GNAT which is not part of the wrapper
derivation, so it will skip the wrapper and select the unwrapped GNAT.
Symlinking the unwrapped's lib directory into the wrapper fixes this
problem, but breaks linking in some cases (e. g. when linking against
OMP from gcc, the runtime variant will shadow the problem dynamic lib
from buildInputs). Additionally it uses gnatls as an indicator it has
found GNAT which is not part of the wrapper.

The solution we opted to adopt here is to install a custom compiler
description into gprbuild's knowledge base which properly detects the
nixpkgs GNAT wrapper: It uses gnatmake to detect GNAT instead of
gnatls and discovers the runtime via a symlink we add to
`$out/nix-support`. This additional definition is enough to properly
detect GNAT, since the plain wrapped gcc detection works out of the
box. It may, however, be necessary to add special definitions for
other languages in the future where gprbuild also needs to discover
the runtime.

One future improvement would be to install libgpr into a separate
output or split it into a separate derivation (which would require to
link gprbuild statically always since otherwise we end up with a
cyclical dependency).
2021-08-03 14:58:49 +02:00
Manuel Bärenz
33355cc5be agdaPackages: Build reverse dependencies on test 2021-08-03 13:33:59 +02:00
happysalada
0900850680 stdenv: conservative undefined variables 2021-08-03 12:43:34 +09:00
Sandro
65c0fdf2a1
Merge pull request #131047 from SuperSandro2000/fetchfromgitlab
fetchgitlab: add deepClone, fetchSubmodules, leaveDotGit arguments
2021-08-02 14:06:02 +00:00
Jörg Thalheim
c145ac7eab build-fhs-userenv: fix defaults on aarch64 2021-07-30 11:23:37 +02:00
github-actions[bot]
d01381167a
Merge master into staging-next 2021-07-26 18:01:17 +00:00
github-actions[bot]
527dacdda6
Merge master into haskell-updates 2021-07-26 00:05:43 +00:00
github-actions[bot]
6a5e4f2c3d
Merge master into staging-next 2021-07-25 06:01:27 +00:00
Ben Siraphob
0f1204bd2b Initial implementation of s390 cross-compile 2021-07-25 10:12:18 +07:00
github-actions[bot]
0dfed52fcf
Merge master into haskell-updates 2021-07-25 00:05:51 +00:00
github-actions[bot]
859acbc1bc
Merge master into staging-next 2021-07-24 18:01:04 +00:00
John Ericson
c5a8d45d41
Merge pull request #131310 from siraben/m86k-cross
Initial implementation of m68k cross-compile
2021-07-24 09:25:53 -06:00
Ben Siraphob
407953e9df Initial implementation of m68k cross-compile 2021-07-24 14:37:35 +07:00
Jörg Thalheim
7bf8b97d68
Merge pull request #130601 from happysalada/stdenv_cosmetic
Stdenv cosmetic
2021-07-23 09:45:43 +01:00
github-actions[bot]
1019c5c2a8
Merge master into haskell-updates 2021-07-23 00:05:21 +00:00
github-actions[bot]
0b0a8c7c9a
Merge staging-next into staging 2021-07-22 18:01:39 +00:00
Guillaume Girol
f98bc23805
nix-gitignore: fix evaluation when .gitignore contains \# or \! (#130643) 2021-07-22 12:18:10 -04:00
Manuel Bärenz
af84eacb05 agdaPackages: Don't build broken packages on hydra 2021-07-22 17:29:09 +02:00
Sandro
202f0e817f
Merge pull request #129846 from sbruder/fhs-userenv-bwrap-pipewire-alsa 2021-07-22 17:17:35 +02:00
Sandro Jäckel
94848bd430
fetchgitlab: add deepClone, fetchSubmodules, leaveDotGit arguments 2021-07-22 13:09:14 +02:00
github-actions[bot]
7a1e77336a
Merge staging-next into staging 2021-07-21 18:01:41 +00:00
Thomas Tuegel
88cd726556
Merge pull request #128786 from pjones/pjones-fix-elpa-src
elpaBuild: Delay src evaluation so it can be overridden
2021-07-21 09:58:26 -05:00
github-actions[bot]
3087a2d2e9
Merge staging-next into staging 2021-07-21 12:02:00 +00:00
Jörg Thalheim
436c1a938e
Merge pull request #128927 from andersk/appimage
appimageTools.wrapAppImage: Fix passing arguments to wrapped executable
2021-07-21 07:40:30 +01:00
github-actions[bot]
94a7cf0dcd
Merge staging-next into staging 2021-07-21 00:02:24 +00:00
Sandro
f150d0a6bd
fetchurl: replace dead sourceforge mirrors (#130834) 2021-07-20 22:32:28 +02:00
happysalada
f3d9711f05 stdenv: add link to clarify 2021-07-19 14:50:01 +09:00
github-actions[bot]
8b40036d60
Merge staging-next into staging 2021-07-18 18:01:46 +00:00
github-actions[bot]
e15af378fb
Merge master into staging-next 2021-07-18 18:01:12 +00:00
Romanos Skiadas
23dd37dd5e rustPlatform.importCargoLock: add an assert for old Cargo.locks
near the end of 2019, the default Cargo.lock format was changed to
[[package]]
checksum = ...

This is what importCargoLock assumes. If the crate had not been `cargo
update`'d with a more recent toolchain than the one with the new
format as default, importCargoLock would fail when trying to access
pkg.checksum.

I ran into such a case (shamefully, in my own crate) and it took me a
while to figure out what was going on, so here is an assert with a
more user friendly message and a hint.
2021-07-18 18:19:50 +03:00
github-actions[bot]
08a8809bfe
Merge staging-next into staging 2021-07-18 00:02:06 +00:00
Vladimír Čunát
4bd38c330f
Revert #127736: stdenv changes towards an alternative shell
At least for now.  Such changes are risky (we have very many packages),
and apparently it needs more testing/review without blocking other
changes.

This reverts the whole range 4d0e3984918^..8752c327377,
except for one commit that got reverted in 6f239d7309 already.
(that MR didn't even get its merge commit)
2021-07-17 20:39:47 +02:00
github-actions[bot]
11332e9137
Merge staging-next into staging 2021-07-17 18:01:28 +00:00
github-actions[bot]
d6b748b2b3
Merge master into staging-next 2021-07-17 18:00:56 +00:00
Jörg Thalheim
6f18141c6d
Merge pull request #130040 from Atemu/nix-prefetch-git-shallow-hash
nix-prefetch-git: don't fetch everything when given a hash
2021-07-17 14:29:01 +01:00
github-actions[bot]
732bd85cf5
Merge staging-next into staging 2021-07-17 12:01:55 +00:00
github-actions[bot]
ee007cdc35
Merge master into staging-next 2021-07-17 06:01:21 +00:00
github-actions[bot]
e9ca8c2796
Merge master into haskell-updates 2021-07-17 00:05:09 +00:00
github-actions[bot]
e69bb567a4
Merge staging-next into staging 2021-07-16 06:01:38 +00:00
github-actions[bot]
7959589ea0
Merge master into staging-next 2021-07-16 06:01:04 +00:00
Matthew Bauer
f5074933b7
bintools: disable -pie when -r or -Ur are used (#128674)
* bintools: disable -pie when -r or -Ur are used

ld’s -r allows you to partially link object files. When -pie is passed with -r, though, we get:

  ld: -r and -pie may not be used together

Most build systems are intelligent enough to pass -no-pie before -r, but we might as well support those that
don’t.

Note: -pie is not enabled by default in Nixpkgs, but it is when you are using musl. So this solution is really
only useful for musl toolchains.

* bintools-wrapper: Add incremental -i check for pie
2021-07-15 20:08:33 -05:00
Matthew Bauer
ff327f36db
Merge pull request #127980 from matthewbauer/darwin-emacs-native-comp
Add gcc for emacs wrapper so native-comp works
2021-07-15 20:03:57 -05:00
github-actions[bot]
873ebe9785
Merge master into haskell-updates 2021-07-15 00:05:17 +00:00
github-actions[bot]
ad2f2574e5
Merge master into staging-next 2021-07-15 00:01:31 +00:00
adisbladis
0a908ddacc
Merge pull request #129458 from alyssais/package-build
emacs.pkgs.melpaBuild: package-build: 2018-10-05 -> 2021-04-13
2021-07-14 13:32:51 -05:00
Jörg Thalheim
7afa51c2bd Merge remote-tracking branch 'upstream/master' into HEAD 2021-07-14 15:45:51 +02:00
sternenseemann
6bd0c16f89 tests.writers: also expose path via passthru 2021-07-13 15:22:34 +02:00
Atemu
11df41199b nix-prefetch-git: don't fetch everything when given a hash
It's hugely inefficient as we can't use shallow cloning (--depth=1).

This has been tested and adapted for quite a few hosts fetchgit is used on in
Nixpkgs. For those where fetching the hash directly doesn't work (most notably
git.savannah.gnu.org), we simply fall back to the old method.
2021-07-12 20:50:52 +02:00
Alexander Ben Nasrallah
c81250a1d3 emacs: fix overrideScope' examples 2021-07-12 16:48:10 +02:00
Simon Bruder
ac5cd3a6a2
build-fhs-user-env-bubblewrap: add compatibility for pipewire alsa emulation
The NixOS pipewire module places its alsa compatiblity configuration in
/etc/alsa/conf.d/ instead of /etc/asound.conf. This commit enables
applications running in a bubblewrap fhs environment to use alsa on
systems running pipewire.
2021-07-10 12:50:52 +02:00
pandaman64
c39040195f build-rust-crate: disable incremental builds
According to rustc implementation[1], `-C incremental=no` enables
incremental builds with directory name `no`. This patch removes the
`-C incremental` argument to disable incremental builds.

[1]: ee86f96ba1/compiler/rustc_session/src/options.rs (L918-L919)
2021-07-09 22:55:38 +09:00
github-actions[bot]
958dc88d65
Merge master into staging-next 2021-07-08 12:01:23 +00:00
zowoq
05fe220746 dockerTools.tarsum: use current go 2021-07-08 16:31:33 +10:00
Alyssa Ross
9140d4b06f
emacs.pkgs.melpaBuild: package-build: 2018-10-05 -> 2021-04-13
I think this is due an update.  I've chosen to update to the latest
version that has been merged into Melpa.

Unfortunately we now need to hack around it trying to run VCS
commands.

My Emacs configuration with thirty-something leaf packages seems fine
after the rebuild.
2021-07-06 16:07:13 +00:00
Raphael Megzari
8752c32737 Update pkgs/build-support/setup-hooks/move-docs.sh: remove quote in conditional
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-07-06 09:27:18 +09:00
happysalada
44819162e8 multiple-outputs.sh: remove grep from combined conditional 2021-07-06 09:27:18 +09:00
happysalada
6d52db43d4 setup-hook.sh: use eval for dynamic variable export 2021-07-06 09:27:18 +09:00
happysalada
ef76a5e009 autoreconf.sh: define preConfigurePhases before assigning 2021-07-06 09:27:18 +09:00
happysalada
8ebfafbce8 shellcheck: shell=bash 2021-07-06 09:27:18 +09:00
happysalada
db37d37d84 reproducible-builds.sh: fatal: += not allowed in assignment
take in account undefined case
assign and export in separate step
https://github.com/koalaman/shellcheck/wiki/SC2155
2021-07-06 09:27:18 +09:00
Raphael Megzari
db78412f25 prefer [[ over [ for multiple conditionals
Co-authored-by: Jonas Chevalier <zimbatm@zimbatm.com>
2021-07-06 09:27:18 +09:00
happysalada
2bf424d6cc autopatchelf.sh: add link about grep -q 2021-07-06 09:27:18 +09:00
happysalada
a7d7e40c00 move-docs.sh: quote where semanticaly valid 2021-07-06 09:27:18 +09:00
happysalada
4e3d905b0d move-docs.sh: shellcheck 2166
https://github.com/koalaman/shellcheck/wiki/SC2166
2021-07-06 09:27:18 +09:00
Sandro
1619046572
Merge pull request #126894 from Stunkymonkey/pname&version 2021-07-05 18:52:04 +02:00
github-actions[bot]
6cead635ad
Merge master into staging-next 2021-07-03 12:01:23 +00:00
Luke Granger-Brown
48c23a086b dockerTools.pullImage: force disable skopeo's progress bar
skopeo will disable the progress bar if it detects that stdout isn't a
TTY - in order to make it think that stdout _isn't_ a TTY and therefore
avoid it printing a lot of "…" on separate lines, we pipe the output
through cat.

This changes the output from:

…
…
…
…
…
…

to the eminently more useful and less spammy:

Getting image source signatures
Copying blob sha256:[snip]
Copying blob sha256:[snip]
Copying blob sha256:[snip]
Copying config sha256:[snip]
Writing manifest to image destination
Storing signatures
2021-07-03 01:40:38 +00:00
Anders Kaseorg
b5160bba86 appimageTools.wrapAppImage: Fix passing arguments to wrapped executable
appimage-exec.sh parses its arguments with getopts, so we need to
delimit arguments intended for the wrapped executable with ‘--’, in
case some of them begin with ‘-’.

Without this fix, a wrapped application like Zulip Desktop can’t be
opened the normal way using the .desktop file, which includes
‘Exec=zulip --no-sandbox %U’ (as per the electron-builder default):

$ gtk-launch zulip.desktop
/usr/bin/appimage-exec.sh: illegal option -- -
Usage: appimage-run [appimage-run options] <AppImage> [AppImage options]
[…]

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2021-07-01 17:16:10 -07:00
Peter Jones
46d4bb5d01
elpaBuild: Delay src evaluation so it can be overridden
This change allows ELPA packages to have their src attribute updated
by overrideAttrs.  Without this change the installPhase references the
original src attribute and overriding is not possible.
2021-06-30 07:54:11 -07:00
Felix Buehler
6f04cd0e69 application/development: /s/name/pname&version/ 2021-06-30 09:55:22 +02:00
github-actions[bot]
dcfd9788a1
Merge master into staging-next 2021-06-29 00:10:52 +00:00
Yureka
7f07b70d08 Revert "writers: Allow string paths"
This reverts commit 33ffb05d39.
2021-06-28 22:40:40 +02:00
Michal Sojka
b681ad3254 buildFHSUserEnv: Allow having custom /opt in the FHS environment
buildFHSUserEnv is meant primarily for running 3rd-party software
which is difficult to patch for NixOS. Such software is often built to
run from /opt. Currently, running such a software from FHS environment
is difficult for two reasons:

1. If the 3rd-party software is put into the Nix store via a simple
   derivation (with e.g. installPhase = "dpkg-deb -x $src $out"), the
   content of /opt directory of that derivation does not appear in the
   FHSEnv even if the derivation is specified in targetPkgs. This is
   why we change env.nix.

2. If using buildFHSUserEnvChroot and the host system has the /opt
   directory, it always gets bind-mounted to the FHSEnv even if some
   targetPkgs contain /opt (NB buildFHSUserEnvBubblewrap does not have
   this problem). If that directory is not accessible for non-root
   users (which is what docker's containerd does with /opt :-(), the
   user running the FHSEnv cannot use it.

   With the change in chrootenv.c, /opt is not bind-mounted to the
   container, but instead created as user-modifiable symlink to
   /host/opt (see the init attribute in
   build-fhs-userenv/default.nix). If needed, the user can remove this
   symlink and create an empty /opt directory which is under his/her
   control.
2021-06-27 08:33:51 +02:00
github-actions[bot]
1016b5a6ba
Merge staging-next into staging 2021-06-27 00:10:43 +00:00
Elis Hirwing
94d07b7492
php: Run nixpkgs-fmt on all php related files 2021-06-26 20:07:56 +02:00
github-actions[bot]
947012b992
Merge staging-next into staging 2021-06-26 00:09:11 +00:00
Robert Schütz
d6234c2165 Merge branch 'master' into staging-next 2021-06-26 00:33:58 +02:00
Silvan Mosberger
33ffb05d39 writers: Allow string paths
Before this change, it was not possible to use string paths,
because then the `types.str.check` would succeed. So the only paths that
could be used were ones from the local filesystem via e.g.
`./some/path`.

We can easily fix this by using `types.path.check` instead to determine
whether we are dealing with a path.

This notably also allows using Nix-fetched sources as the content, e.g.
`fetchFromGitHub { ... } + "/some/file"`
2021-06-25 14:39:59 +02:00
Matthew Bauer
8bc10fbc56 Add gcc for emacs wrapper so native-comp works
On macos, we don’t have a gcc executable by default, which is required
for some reason when compiling site-start.
2021-06-23 23:02:11 -05:00
deliciouslytyped
a71e906e3a trivial-builders: refactor writeTextFile to be overridable
This fixes #126344, specifically with the goal of enabling overriding the
checkPhase argument. See `design notes` at the end for details.

This allows among other things, enabling bash extension for the `checkPhase`.
Previously using such bash extensions was prohibited by the `writeShellScript`
code because there was no way to enable the extension in the checker.

As an example:

```nix
(writeShellScript "foo" ''
  shopt -s extglob
  echo @(foo|bar)
'').overrideAttrs (old: {
  checkPhase = ''
    # use subshell to preserve outer environment
    (
      export BASHOPTS
      shopt -s extglob
      ${old.checkPhase}
    )
  '';
})
```

This commit also adds tests for this feature to `pkgs/tests/default.nix`,
under `trivial-overriding`. The test code is located at
`pkgs/build-support/trivial-builders/test-overriding.nix`.

Design notes:
-------------

Per discussion with @sternenseemann, the original approach of just wrapping
`writeTextFile` in `makeOverridable` had the issue that combined with `callPackage`
in the following form, would shadow the `.override` attribute of the `writeTextFile`:

```nix
with import <nixpkgs>;
callPackage ({writeShellScript}: writeShellScript "foo" "echo foo")
```

A better approach can be seen in this commit, where `checkPhase` is moved
from an argument of `writeTextFile`, which is substituted into `buildCommand`,
into an `mkDerivation` argument, which is substituted from the environment
and `eval`-ed. (see the source)

This way we can simple use `.overideAttrs` as usual, and this also makes
`checkPhase` a bit more conformant to `mkDerivation` naming, with respect to
phases generally being overridable attrs.

Co-authored-by: sterni <sternenseemann@systemli.org>
Co-authored-by: Naïm Favier <n@monade.li>
2021-06-18 01:39:59 +02:00
Jan Tojnar
e3dfa79441
Merge branch 'staging-next' into staging
Regenerated pkgs/servers/x11/xorg/default.nix to resolve the conflict.
2021-06-16 19:59:05 +02:00
github-actions[bot]
b08ae54dd9
Merge master into staging-next 2021-06-16 12:04:47 +00:00
Alyssa Ross
508aede4bd skawarePackages.buildPackage: add me as maintainer 2021-06-16 07:59:51 +00:00
github-actions[bot]
9a860729b2
Merge staging-next into staging 2021-06-14 00:08:51 +00:00
github-actions[bot]
13f31f60bf
Merge master into staging-next 2021-06-14 00:08:48 +00:00
Robert Hensing
ab11d2114e
Merge pull request #126680 from roberth/empty
emptyFile, emptyDirectory: init
2021-06-13 20:45:21 +02:00
Robert Hensing
c38c5dba10 tests.trivial: Add emptyFile, emptyDirectory to samples 2021-06-12 17:29:27 +02:00
Robert Hensing
047fe2fe23 emptyFile, emptyDirectory: init 2021-06-12 17:28:00 +02:00
github-actions[bot]
8e50248719
Merge staging-next into staging 2021-06-11 12:04:41 +00:00
github-actions[bot]
212846c302
Merge master into staging-next 2021-06-11 12:04:38 +00:00
superherointj
15807923f9 build-support.ocaml.dune: handle minimalOCamlVersion typo 2021-06-11 11:08:12 +02:00
Alyssa Ross
926765c5e3
Merge remote-tracking branch 'nixpkgs/staging-next' into staging
Conflicts:
	pkgs/servers/http/apache-httpd/2.4.nix
2021-06-11 02:05:00 +00:00