Commit graph

6452 commits

Author SHA1 Message Date
cidkidnix 856936abc8 buildRustCrate: add libiconv to nativeBuildInputs on darwin
Fixes linker errors while building build.rs where it tries to link libiconv but cannot find it.

Rust executable build for Darwin need libiconv, and indeed buildInputs already has this case handled.
So why is another change needed? Suppose we are cross compiling from Darwin (the build platform) to something else, and the package has a build.rs build script.
The build script is built for the build platform (Darwin) and is also a regular Rust executable, needing libiconv, but due to cross compilation (and strict deps) we need an extra nativeBuildInput.
2023-03-08 14:39:25 -06:00
github-actions[bot] 6e1026530b
Merge staging-next into staging 2023-03-08 18:02:07 +00:00
github-actions[bot] 7072ae38b6
Merge master into staging-next 2023-03-08 18:01:34 +00:00
Robert Hensing 1e383aada5
Merge pull request #214438 from agbrooks/master
dockerTools.buildImage: Handle base images w/ duplicate rootfs diffs
2023-03-08 18:55:20 +01:00
github-actions[bot] aa83bbfbd1
Merge staging-next into staging 2023-03-08 00:03:09 +00:00
github-actions[bot] d4187810f9
Merge master into staging-next 2023-03-08 00:02:34 +00:00
Artturin b1e6e553fa trivial-builders.writeShellApplication: use unwrapped shellcheck
originally done in 62e1d58a6f

but

reverted in 6d8041b053

because it contained many haskell deps
2023-03-07 21:18:48 +02:00
Ilan Joselevich 99de63aafa
Merge pull request #219860 from hesiod/write-shell-application
writeShellApplication: Prefer lib.getExe over unwrapped ShellChecked
2023-03-07 20:37:17 +02:00
Tobias Markus 6d8041b053 writeShellApplication: Prefer lib.getExe over unwrapped ShellChecked
writeShellApplication currently uses the unwrapped (passthru) attribute
which is simply defined as the ShellCheck Haskell package.
Unfortunately the unwrapped version contains everything and the kitchen
sink, while the bin output of the top-level shellcheck package contains
only the static shellcheck executable.
In other words, by using writeShellApplication, currently 3GB of
packages have to be unnecessarily fetched just to run the checkPhase.

$ nix path-info -Sh $(nix build --print-out-paths --no-link nixpkgs#shellcheck.unwrapped)
/nix/store/23x8702b9kqn0r8swah05ky7w5fnh6m2-ShellCheck-0.9.0             3.0G

$ nix path-info -Sh $(nix build --print-out-paths --no-link nixpkgs#shellcheck.bin)
/nix/store/594izb2jz3c57c7hgxfnb6irypnr4575-shellcheck-0.9.0-bin        45.3M

There is no benefit to using shellcheck.unwrapped in this case.
Therefore, replace shellcheck.unwrapped with lib.getExe shellcheck.
2023-03-07 15:01:59 +01:00
Felix Buehler d10e69c86b treewide: deprecate isNull
https://nixos.org/manual/nix/stable/language/builtins.html#builtins-isNull
2023-03-06 22:40:04 +01:00
github-actions[bot] 4bfbd859a1
Merge staging-next into staging 2023-03-06 18:01:40 +00:00
Martin Weinelt c288c37fdd Merge remote-tracking branch 'origin/master' into staging-next 2023-03-06 17:24:21 +00:00
Atemu d390c28a89
Merge pull request #218849 from Atemu/buildDotnetModule-put-dep-file-path-in-fetch-script
buildDotnetModule: point fetch-deps at module's deps file by default
2023-03-06 17:46:32 +01:00
Robert Hensing 15ce0d4069
Merge pull request #218407 from hercules-ci/issue-218011
[staging] Fix regression 218011, output named `var`
2023-03-06 00:43:55 +01:00
Artturin 9c72ea8725 multiple-outputs.sh: silence 'rmdir: failed to remove ... Directory not empty'
++ rmdir /nix/store/6f233lsgbqv87w4nmzpsdaydwhyapps6-at-spi2-core-aarch64-unknown-linux-gnu-2.46.0/lib
rmdir: failed to remove '/nix/store/6f233lsgbqv87w4nmzpsdaydwhyapps6-at-spi2-core-aarch64-unknown-linux-gnu-2.46.0/lib': Directory not empty
2023-03-04 14:43:38 +02:00
Martin Weinelt 5aeab34845
Merge pull request #218301 from rrbutani/fix/separate-debuginfo-with-lld
Fix `separate-debug-info` with lld
2023-03-04 00:43:26 +00:00
figsoda eedbf71d0d
Merge pull request #218472 from figsoda/cargo-setup 2023-03-03 19:40:55 -05:00
Martin Weinelt b44213aac1
Merge pull request #219011 from wegank/rust-cleanup
rust, firefox, spidermonkey: cleanup
2023-03-03 14:23:20 +00:00
Martin Weinelt 0580d85143 Merge remote-tracking branch 'origin/staging-next' into staging 2023-03-03 04:46:31 +01:00
Dennis Gosnell 81d23b8d3a
buildFHSUserEnv: rewrite not isNull check
Co-authored-by: Atemu <atemu.main@gmail.com>
2023-03-03 09:04:17 +09:00
Artturi 09b11341b9
Merge pull request #218984 from Artturin/replacedeplocal 2023-03-02 14:25:50 +02:00
github-actions[bot] f61eca4e68
Merge staging-next into staging 2023-03-02 06:01:44 +00:00
Dennis Gosnell 23ee769358
buildFHSUserEnv: add version arg
This lets you set the version for the derivation produced from
`buildFHSUserEnvChroot` and `buildFHSUserEnvBubblewrap`.

This can help to make it more clear to end-users to see the versions of
the packages they are using.
2023-03-02 10:07:06 +09:00
oxalica de408167ed buildRustPackage: don't passthru cargoDeps
`cargoDeps` is already passed as `mkDerivation` arguments, and should
not be `passthru`ed again. This fixes the mismatch of `drv.cargoDeps`
and the actual dependency when the original derivation is overriden.
2023-03-02 10:20:15 +10:00
Weijia Wang 39a2b0b3bf rust: remove aarch64-linux workaround
This commit reverts #209113, since aarch64-linux now uses GCC 12 by default.
2023-03-01 18:42:07 +02:00
Andreas Stührk b76ce89dfc buildDotnetModule: add support for args with spaces in makeWrapperArgs 2023-03-01 14:15:33 +01:00
Artturin 28ff7991a1 replaceDependency: use runCommandLocal
> Currently when distributed builds enabled each derivation is uploaded to the remote server to have their hashes rewritten.

fixes issue 13056
2023-03-01 14:36:49 +02:00
Mario Rodas b82b2b5303 fetchbzr: set cache directory to tmpdir
Breezy >3.3 writes the connections information to a cache directory,
which fails on sandbox.
2023-03-01 04:20:00 +00:00
Atemu 014eba883e buildDotnetModule: point fetch-deps at module's deps file by default
Previously, you had to provide the path to the deps.nix of the package inside
your Nixpkgs checkout as an argument manually. Now it just does that by default
when no argument is passed.
2023-02-28 19:04:56 +01:00
github-actions[bot] 445e4a4069
Merge staging-next into staging 2023-02-28 12:01:54 +00:00
Vincent Laporte db0dc68975 mkCoqDerivation: findlib is an optional input 2023-02-28 10:59:42 +00:00
figsoda 3e18607be3 rustPlatform.cargoSetupHook: dereference symlinks in cargoDeps
unpackFile doesn't dereference symlinks if cargoDeps is a directory, and
some cargo builds run into permission issues because the files the
symlinks point to are not writable.
2023-02-26 11:55:50 -05:00
Robert Hensing c8b7048233 multiple-outputs.sh: Make _assignFirst message more accurate 2023-02-26 09:57:19 +01:00
Robert Hensing 6e91cb046e multiple-outputs.sh: Do not leak _var variable from _assignFirst 2023-02-26 09:57:00 +01:00
Robert Hensing 71abb2c085 multiple-outputs.sh: Allow var as an output name 2023-02-26 09:55:45 +01:00
github-actions[bot] de3f71e277
Merge staging-next into staging 2023-02-26 06:02:30 +00:00
github-actions[bot] 399e2c78d4
Merge master into staging-next 2023-02-26 06:01:09 +00:00
figsoda 6fcd1dcb0b rustPlatform.importCargoLock: passthru lockFile
This is to make it possible to implement support for updating
`Cargo.lock`s in nix-update by exposing the path to the `Cargo.lock`
file
2023-02-26 00:46:36 -05:00
Winter 115e3413e1 rustPlatform.importCargoLock: add support for v1 lock files
v1 lock files (generated by default by Cargo versions 1.40 and below)
use a single table, `metadata`, to store the checksums of packages.

The primary motivation for doing this now is that we're considering
vendoring all Cargo lock files in Nixpkgs, some packages still use it
(e.g. cargo-asm), and adding support for it doesn't increase the
complexity of the function. No matter the outcome of the vendoring
discussion, this is a nice thing to have because Cargo still supports v1
lock files.
2023-02-26 00:45:40 -05:00
Rahul Butani b41933a1be
bintools-wrapper: specify SHA1 as the build-id hash style explicitly
NixOS/nixpkgs#146275 has more discussion on this; the abridged version
is that `lld` defaults to using `--build-id=fast` while GNU `ld` defaults
to `--build-id=sha1`. These differ in length and so
`separate-debug-info.sh`, as of this writing, errors on `lld`'s shorter
`--build-id=fast`-generated hashes.

`lld` offers the following `build-id` styles:
  - UUID (random; fast but bad for reproducibility)
  - fast (xxhash; fast but shorter hashes)
  - user provided hexstring
  - SHA1
  - MD5

GNU `ld` supports the latter three options, `mold` supports all of these
plus SHA256.

UUID is out because it's not reproducible, fast isn't supported by GNU
`ld`

Using a nix provided (sourced from the output base hash) hash as the
`build-id` seems tempting but would require a little extra work
(we have to include some characteristic of the binary being hashed
so that binaries within a derivation still have unique hashes; it
seems easy to get this wrong; i.e. a path based approach would make
two otherwise identical binaries that reside at different paths have
different `build-id` hashes)

That leaves SHA1 and MD5 and GNU `ld` already defaults to the former.

This commit adds `$NIX_BUILD_ID_STYLE` as an escape hatch, in case any
packages have strong opinions about which hash to use.

----

Note that if/when NixOS/nixpkgs#146275 goes through, this change can be
reverted if linker speed is a priority.
2023-02-25 12:49:40 -06:00
github-actions[bot] 13fb68e8cf
Merge staging-next into staging 2023-02-24 12:01:52 +00:00
github-actions[bot] 2384cd723b
Merge master into staging-next 2023-02-24 12:01:20 +00:00
Maximilian Bosch de100f17c3
Merge pull request #217663 from lheckemann/mkshell-preferlocalbuild
mkShell: set preferLocalBuild by default
2023-02-24 07:49:14 +01:00
Gabriella Gonzalez 79484b1707
bintools: Add response file support to ld-wrapper (#213831)
The motivation behind this is to alleviate the problem
described in https://github.com/NixOS/nixpkgs/issues/41340.
I'm not sure if this completely fixes the problem, but it
eliminates one more area where we can exceed command line
length limits.

This is essentially the same change as in #112449,
except for `ld-wrapper.sh` instead of `cc-wrapper.sh`.

However, that change alone was not enough; on macOS the
`ld` provided by `darwin.cctools` fails if you use process
substitution to generate the response file, so I put up a
PR to fix that:

https://github.com/tpoechtrager/cctools-port/pull/131

… and I included a patch referencing that fix so that the
new `ld-wrapper` still works on macOS.
2023-02-23 17:05:18 -08:00
github-actions[bot] 3cdd771820
Merge staging-next into staging 2023-02-23 18:01:49 +00:00
Alyssa Ross 52c286ee5b
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
	pkgs/development/libraries/pmdk/default.nix
2023-02-23 13:51:34 +00:00
Artturin f9fdf2d402 treewide: move NIX_CFLAGS_COMPILE to the env attrset
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper

this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
2023-02-22 21:23:04 +02:00
Linus Heckemann c4b83df38a mkShell: set preferLocalBuild by default
Before this change, `nix develop` would often result in all the
shell's dependencies being copied to a remote builder, only for the
remote builder to run a trivial derivation build. This change makes
`nix develop` much faster on systems with remote builders configured.
2023-02-22 11:53:51 +01:00
Winter 8c8524bc9a buildDotnetModule: fix sandboxed builds on darwin
ICU tries to unconditionally load files from /usr/share/icu on Darwin,
which makes builds fail in the sandbox. Thus, let's disable ICU during
the build on Darwin by setting DOTNET_SYSTEM_GLOBALIZATION_INVARIANT [0].

[0]: https://learn.microsoft.com/en-us/dotnet/core/runtime-config/globalization#invariant-mode
2023-02-21 18:04:39 -05:00
Sergei Trofimovich 3bc81feb0d
Merge pull request #216232 from amjoseph-nixpkgs/pr/cc-wrapper/useCcForLibs
cc-wrapper: allow non-clang compilers to use gccForLibs codepath
2023-02-21 19:41:25 +00:00
Adam Joseph 6b6c06e5d7 cc-wrapper: allow non-clang compilers to use gccForLibs codepath
cc-wrapper has essentially two separate codepaths: the `gccForLibs`
codepath, used only by non-gcc (i.e. clang) compilers, and the
"other" codepath.

This PR allows non-clang compilers to opt-in to the `gccForLibs`
codepath (off by default).  To allow this, a new parameter
`ccForLibs` is exposed, since it would be extremely confusing for
gcc to be able to use `gccForLibs` but not do so by default.
2023-02-20 23:03:44 -08:00
Robert Scott 436b0d9e1f cc-wrapper: fix inverted logic around fortify & fortify3 mutual exclusion 2023-02-21 00:27:57 +00:00
github-actions[bot] fc3641aa1e
Merge staging-next into staging 2023-02-21 00:03:04 +00:00
github-actions[bot] e3e8374b6f
Merge master into staging-next 2023-02-21 00:02:33 +00:00
Will Fancher bb7cd63150
Merge pull request #215381 from lilyinstarlight/fix/make-initrd-ng-wrapped-executables
make-initrd-ng: support wrapped executables
2023-02-20 14:11:48 -05:00
Lily Foster d01bc6f9cb
make-initrd-ng: document wrapped file behavior 2023-02-20 07:02:55 -05:00
Lily Foster 4df8f9a2f8
make-initrd-ng: support wrapped executables 2023-02-20 07:02:55 -05:00
github-actions[bot] 0a547ad8b7
Merge staging-next into staging 2023-02-20 12:02:08 +00:00
github-actions[bot] 507feca606
Merge master into staging-next 2023-02-20 12:01:32 +00:00
Jörg Thalheim d69bb82f56
Merge pull request #217256 from helsinki-systems/deb-closure-quote-urls
build-support/vm/deb/deb-closure: quote generated urls
2023-02-20 09:35:54 +01:00
Yureka 20539ac23d prefetch-npm-deps: add nix to PATH
Fixes "No such file or directory" error when running prefetch-npm-deps
in its default mode (print hashes, for update scripts etc),
in an environment that doesn't have a `nix` binary (for `nix hash`).
2023-02-20 01:20:56 -05:00
ajs124 3f8ad50f9a build-support/vm/deb/deb-closure: quote generated urls
otherwise, eval fails when the experimental no-url-literals feature is activated

unquoted urls are discouraged after https://github.com/NixOS/rfcs/pull/45
2023-02-20 01:38:31 +01:00
github-actions[bot] 1ce3b0f272
Merge staging-next into staging 2023-02-19 12:02:03 +00:00
github-actions[bot] 85ba84c218
Merge master into staging-next 2023-02-19 12:01:25 +00:00
sternenseemann bbe6402eca Merge remote-tracking branch 'origin/master' into haskell-updates 2023-02-18 21:56:57 +01:00
Artturi cdcca1cdcd
Merge pull request #215715 from Artturin/removegirworkarounds2 2023-02-18 20:12:57 +02:00
github-actions[bot] 0e856cc7de
Merge staging-next into staging 2023-02-18 18:01:58 +00:00
github-actions[bot] 05782cfb75
Merge master into staging-next 2023-02-18 18:01:22 +00:00
Artturi 76844dfcfd
Merge pull request #211187 from Artturin/movetestpatchshenbag 2023-02-18 19:13:17 +02:00
Naïm Favier 5de1815be9
Merge pull request #215990 from ncfavier/agda-tests
agda: fix passthru
2023-02-18 16:04:39 +01:00
Sergei Trofimovich f488b617ab
setup-hooks/reproducible-builds.sh: NIX_OUTPATH_USED_AS_RANDOM_SEED (take 2) (#216967)
This time the change targets `staging`.

This reverts commit e1f1c7eb79.
2023-02-18 15:53:42 +01:00
github-actions[bot] aaa6cd4e04
Merge staging-next into staging 2023-02-18 14:13:15 +00:00
Alyssa Ross 38f0121cce
Merge master (+ 11b095e revert) into staging-next
Conflicts:
	pkgs/development/libraries/libvisual/default.nix
2023-02-18 14:04:32 +00:00
Thiago Kenji Okada aea640a73b buildGraalvmNativeImage: allow overriding attributes
Remove the previous function closure, that would make it difficult to
access the inner derivation attributes.

Fix issue #216787.
2023-02-18 12:38:09 +00:00
Timothy DeHerrera 792907e3bf patch-shebangs: handle env -S shebangs
`env -S` allows one to set more than one argument in a shebang. This
small patch allows the patch-shebangs hook to handle this case
appropriately.
2023-02-17 22:22:26 +02:00
Artturin 2c471e6479 wrapGAppsHook: add gtk3 to depsTargetTargetPropagated
for typelibs and girs
2023-02-17 21:38:20 +02:00
Artturin 2168611677 wrapGAppsHook: run tests with strictDeps
'nix build -f . "wrapGAppsHook.tests"' pass
2023-02-17 21:34:59 +02:00
Artturin c4e7fb1036 wrapGAppsHook: move dconf.lib to depsTargetTargetPropagated
luckily the lib output does not contain binaries therefore its safe to
remove it from propagatedBuildInputs
2023-02-17 21:32:48 +02:00
Artturi ee54eb7d21
Merge pull request #216383 from Artturin/bintoolswrappermold 2023-02-17 19:32:06 +02:00
Artturin b5abc3d090 bintools-wrapper: dont wrap ld if it doesn't exist
not all linkers have a ld binary in bin

also note the '${ld:-}' which allows users to set the ld path with a env
var

> '${foo:-val}' $foo, or val if unset (or null)
2023-02-17 04:56:48 +02:00
github-actions[bot] f442a49be3
Merge master into haskell-updates 2023-02-17 00:14:22 +00:00
Robert Scott 0eedcfc3f4
Merge pull request #212498 from risicle/ris-fortify3
hardening flags: add `FORTIFY_SOURCE=3` support
2023-02-16 21:19:30 +00:00
github-actions[bot] 164a7e44c7
Merge master into staging-next 2023-02-16 18:01:12 +00:00
superherointj 0eae5c0532
Merge pull request #205156 from yu-re-ka/musl-runinlinuxvm
runInLinuxVM: fix on musl
2023-02-16 12:24:34 -03:00
John Ericson 35d6d3d7b5
Merge pull request #216555 from jordanisaacs/rust-vendor
build-support/rust/lib: Add `toTargetVendor`
2023-02-16 09:33:06 -05:00
github-actions[bot] 5c852cc587
Merge master into staging-next 2023-02-16 12:01:36 +00:00
K900 31b278c0a4
Merge pull request #215837 from K900/fhsenv-x11-socket-permissions
buildFHSUserEnv: fix permissions on /tmp/.X11-unix
2023-02-16 12:25:04 +03:00
Jordan Isaacs 66dccd88b8
build-support/rust/lib: Add toTargetVendor
Used in cases where you need to get the vendor of a target. Such as when
you need to perform dependency resolution outside of Cargo (eg in
Kolloch's crate2nix).
2023-02-15 20:37:45 -05:00
github-actions[bot] dd816c8cfd
Merge master into haskell-updates 2023-02-16 00:13:54 +00:00
Artturin 3697ddeabe bintools-wrapper: wrap all 'ld.*'
allows using wrapBintoolsWith with all linkers

```
$ nix build ".#binutils"
$ ls ./result/bin/ld*
./result/bin/ld*  ./result/bin/ld.bfd*  ./result/bin/ld.gold*

$ nix build "nixpkgs#binutils"
$ ls ./result/bin/ld*
./result/bin/ld*  ./result/bin/ld.bfd* ./result/bin/ld.gold*
```
2023-02-15 20:51:16 +02:00
github-actions[bot] c4fe2133de
Merge staging-next into staging 2023-02-15 06:01:44 +00:00
John Ericson 179bff391b
Merge pull request #216360 from Stunkymonkey/use-optionals
treewide: use lib.optionals
2023-02-14 21:54:13 -05:00
github-actions[bot] b56ce2853a
Merge master into haskell-updates 2023-02-15 00:14:20 +00:00
github-actions[bot] 58cfebde3e
Merge staging-next into staging 2023-02-15 00:02:50 +00:00
Bob van der Linden e3a10a12c7 rustPlatform.cargoSetupHook: improve cargoHash instructions
Currently cargo-setup-hook instructs the builder upon cargoSha256 or
cargoHash being out-of-date compared to the Cargo.lock file.

The instructions can be simplified a bit, because nowadays it is fine to
keep a hash empty, instead of filling it with
`0000000000000000000000000000000000000000000000000000`.

Nix nowadays outputs SRI hashes, which should usually be placed in
`cargoHash` instead of `cargoSha256`, but the instructions are still
only referring to `cargoSha256`.

Lastly, the output of Nix doesn't include `got: sha256: ` anymore, as it
now outputs `got: sha256-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=`.
It would be nice to make it clear that the trailing `=` is important as
well, so the full example SRI hash is mentioned.
2023-02-14 16:14:08 -05:00
Nikolay Korotkiy 8cf41cf4ef
Merge pull request #215713 from sikmir/vmtools
vmTools: update debian versions
2023-02-14 23:33:34 +04:00
Felix Buehler bc3d5934d7 treewide: use lib.optionals 2023-02-14 19:11:59 +01:00
Ingo Blechschmidt 168d9a5f1e agda: 2.6.2.2 -> 2.6.3 2023-02-14 14:45:39 +01:00
Felix Buehler cdb39a86e0 treewide: use optionalString 2023-02-13 21:52:34 +01:00
github-actions[bot] f60ea3cf39
Merge staging-next into staging 2023-02-13 18:01:55 +00:00
Vladimír Čunát f1f9ae6a3b
Merge #214010: staging-next 2023-02-01 2023-02-13 15:42:23 +01:00
Thiago Kenji Okada 04019089fd
Merge pull request #215583 from thiagokokada/graalvm-ce-refactor
graalvm*-ce: refactor, 22.3.0 -> 22.3.1
2023-02-13 14:39:15 +00:00
Thiago Kenji Okada d2e047f112 graalvm-ce: add it to all-packages pointing to graalvm11-ce 2023-02-12 19:08:44 +00:00
Naïm Favier 65e774e2a4
agda: fix passthru
The current `//` override to `agda.passthru.tests` is non-recursive so
it destroys everything else under `passthru`, and furthermore does not
go through `mkDerivation` so that we end up with different values for
`agda.tests` and `agda.passthru.tests`.

Fix it by moving the `allPackages` test to the definition of
`withPackages`.
2023-02-12 14:44:16 +01:00
K900 9788650f52 buildFHSUserEnv: fix permissions on /tmp/.X11-unix
This is kinda cursed, but it makes things like `steam-run gamescope` work OOTB.
2023-02-11 17:33:06 +03:00
Thiago Kenji Okada 6704d4f4e4 bbin: inherit graalvmDrv from babashka 2023-02-11 14:03:22 +00:00
Nikolay Korotkiy 4ed059d041
vmTools: update debian versions 2023-02-10 21:39:15 +03:00
Artturi aaa9ea8ec6
Merge pull request #208537 from Artturin/makesetuphooksupportstrictdeps 2023-02-10 20:08:32 +02:00
Thiago Kenji Okada 256195c07a native-image-installable-svm: init at 22.3.0
Also refactor the buildGraalvm derivation, allowing it to compose with
the other products.
2023-02-09 21:42:39 +00:00
github-actions[bot] 87e315024e
Merge staging-next into staging 2023-02-09 18:01:44 +00:00
github-actions[bot] b5d4dad2b8
Merge master into staging-next 2023-02-09 18:01:11 +00:00
Robert Hensing 1991c40759
Merge pull request #194345 from codedownio/binary-cache
Introduce mkBinaryCache function
2023-02-09 15:25:16 +01:00
github-actions[bot] bece38afcc
Merge staging-next into staging 2023-02-09 00:02:56 +00:00
github-actions[bot] 1f23f5ae02
Merge master into staging-next 2023-02-09 00:02:26 +00:00
Justin Bedő f2ab8c706d
Merge pull request #158486 from ShamrockLee/singularity-apptainer
singularity: fix defaultPath and reflect upstream changes
2023-02-08 23:47:32 +00:00
Vladimír Čunát 1e42908aa7
Merge branch 'master' into staging-next 2023-02-08 21:50:23 +01:00
Thiago Kenji Okada 9630f025c6
Merge pull request #215093 from thiagokokada/graalvm-native-compile-fix-libs
graalvm*-ce: wrap native-image to pass -H:CLibraryPath, misc improvements
2023-02-08 16:56:39 +00:00
Yueh-Shun Li 50788d2fb0 apptainer, singularity: fix defaultPath and reflect upstream changes
Upstream changes:
singularity 3.8.7 (the legacy) -> apptainer 1.1.3 (the renamed) / singularity 3.10.4 (Sylabs's fork)

Build process:
*   Share between different sources
*   Fix the sed regexp to make defaultPath patch work
*   allowGoReference is now true
*   Provied input parameter removeCompat (default to false)
    that removes the compatible "*singularity*" symbolic links
    and related autocompletion files when projectName != "singularity"
*   Change localstatedir to /var/lib
*   Format with nixpkgs-fmt
*   Fix the defaultPath patching
    and use it instead of the `<executable> path` config directive
    deprecated in Apptainer
*   Provide dependencies for new functionalities such as
    squashfuse (unprivileged squashfs mount)
*   Provide an attribute `defaultPathInputs` to override
    prefix of container runtime default PATH

NixOS module programs.singularity:
*   Allow users to specify packages
*   Place related directories to /var/lib
*   Format with nixpkgs-fmt

singularity-tools:
*   Allow users to specify packages
*   Place related directories to /var/lib when building images in VM
2023-02-08 18:03:11 +08:00
Yueh-Shun Li b33d6407cc singularity-tool: format expression 2023-02-08 17:42:03 +08:00
Tom McLaughlin d1a2a16a3a Introduce mkBinaryCache function 2023-02-07 16:16:07 -08:00
Artturin 680309fc9c add docs for makeSetupHook 2023-02-07 21:02:02 +02:00
Artturin 8f171925b3 makeSetupHook: deprecate deps argument 2023-02-07 21:02:02 +02:00
Artturin 4e3dcf364e treewide: makeSetupHook deps -> propagatedBuildInputs 2023-02-07 21:02:00 +02:00
Artturin 8be7ab60b1 wrapGAppsHook: make it work with strictDeps
remove unused input

add test for GDK_PIXBUF_MODULE_FILE

run tests with strictDeps

if the tests work with strictDeps then they work with non strictDeps
2023-02-07 21:00:18 +02:00
Artturin 9a9c42e19f makeSetupHook: support depsTargetTargetPropagated 2023-02-07 21:00:18 +02:00
Thiago Kenji Okada afb99ad5d4 graalvm*-ce: wrap native-image to pass -H:CLibraryPath, misc improvements
Fixes issue #214922 by not adding C libraries to the default library
path of GraalVM. This should reduce the closure size of native compiled
binaries in nixpkgs again, e.g.:

Before:
```
$ ldd ./result/bin/bb
	linux-vdso.so.1 (0x00007fff2669b000)
	libstdc++.so.6 => /nix/store/qbgfsaviwqi2p6jr7an1g2754sv3xqhn-gcc-11.3.0-lib/lib/libstdc++.so.6 (0x00007f77fc0cf000)
	libm.so.6 => /nix/store/l7vp7c9z03dspbmss3gq5wdwx5c6ifcq-graalvm11-ce-22.3.0/lib/svm/clibraries/linux-amd64/libm.so.6 (0x00007f77fbfef000)
	libpthread.so.0 => /nix/store/l7vp7c9z03dspbmss3gq5wdwx5c6ifcq-graalvm11-ce-22.3.0/lib/svm/clibraries/linux-amd64/libpthread.so.0 (0x00007f77fbfea000)
	libdl.so.2 => /nix/store/l7vp7c9z03dspbmss3gq5wdwx5c6ifcq-graalvm11-ce-22.3.0/lib/svm/clibraries/linux-amd64/libdl.so.2 (0x00007f77fbfe5000)
	librt.so.1 => /nix/store/l7vp7c9z03dspbmss3gq5wdwx5c6ifcq-graalvm11-ce-22.3.0/lib/svm/clibraries/linux-amd64/librt.so.1 (0x00007f77fbfde000)
	libc.so.6 => /nix/store/l7vp7c9z03dspbmss3gq5wdwx5c6ifcq-graalvm11-ce-22.3.0/lib/svm/clibraries/linux-amd64/libc.so.6 (0x00007f77fbdd5000)
	/nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/ld-linux-x86-64.so.2 => /nix/store/9xfad3b5z4y00mzmk2wnn4900q0qmxns-glibc-2.35-224/lib64/ld-linux-x86-64.so.2 (0x00007f77fc2e7000)
	libgcc_s.so.1 => /nix/store/qbgfsaviwqi2p6jr7an1g2754sv3xqhn-gcc-11.3.0-lib/lib/libgcc_s.so.1 (0x00007f77fbdbb000)
```

After:
```
$ ldd ./result/bin/bb
	linux-vdso.so.1 (0x00007fffdfd4e000)
	libstdc++.so.6 => /nix/store/qbgfsaviwqi2p6jr7an1g2754sv3xqhn-gcc-11.3.0-lib/lib/libstdc++.so.6 (0x00007fc3a5658000)
	libm.so.6 => /nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/libm.so.6 (0x00007fc3a5578000)
	libpthread.so.0 => /nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/libpthread.so.0 (0x00007fc3a5573000)
	libdl.so.2 => /nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/libdl.so.2 (0x00007fc3a556e000)
	librt.so.1 => /nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/librt.so.1 (0x00007fc3a5569000)
	libc.so.6 => /nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/libc.so.6 (0x00007fc3a535e000)
	/nix/store/c35hf8g5b9vksadym9dbjrd6p2y11m8h-glibc-2.35-224/lib/ld-linux-x86-64.so.2 => /nix/store/9xfad3b5z4y00mzmk2wnn4900q0qmxns-glibc-2.35-224/lib64/ld-linux-x86-64.so.2 (0x00007fc3a5870000)
	libgcc_s.so.1 => /nix/store/qbgfsaviwqi2p6jr7an1g2754sv3xqhn-gcc-11.3.0-lib/lib/libgcc_s.so.1 (0x00007fc3a5344000)
```

Also improves the installCheckPhase to include more tests and improve
the old onest .
2023-02-07 17:00:13 +00:00
github-actions[bot] 99cce0e1f1
Merge staging-next into staging 2023-02-07 06:02:00 +00:00
github-actions[bot] 41e5bd55d5
Merge master into staging-next 2023-02-07 06:01:28 +00:00
Winter e2b092fc52 Revert "rustPlatform.bindgenHook: use the same clang/libclang as rustc"
This reverts commit 46ee37ca1d, as it breaks
anything that uses libcxx on Darwin, as well as cross-compilation to at
least armv6l.

As there's no clear solution at this time, reverting it is the best
option, as this only reduces build time closure size (something we can
arguably live with).

https://github.com/NixOS/nixpkgs/pull/207352#issuecomment-1418363441
https://github.com/NixOS/nixpkgs/pull/207352#issuecomment-1420124250
2023-02-07 00:04:19 -05:00
figsoda 42d1d60a92
Merge pull request #206773 from SuperSandro2000/cleanup-unused-bindings
treewide: cleanup some unused bindings
2023-02-06 20:07:50 -05:00
Sandro Jäckel 50e0012f9d
treewide: cleanup some unused bindings 2023-02-07 01:36:15 +01:00
github-actions[bot] d3648def80
Merge staging-next into staging 2023-02-07 00:02:46 +00:00
github-actions[bot] b30088fc3f
Merge master into staging-next 2023-02-07 00:02:12 +00:00
zowoq 3feeedb5e2 buildGoModule: make the vendor fetcher error if it is empty 2023-02-07 06:23:39 +10:00
zowoq 421acf1022 buildGo{Module,Package}: respect nix hardening flags when setting buildmode 2023-02-07 06:20:57 +10:00
Andrew Brooks 84e04ccf85 dockerTools: Preprocess layers list before unpack to handle repeated layers 2023-02-06 12:19:29 -06:00
Noah Fontes 07c6e6b2b8
libredirect: fix build on musl libc
musl doesn't yet provide a wrapper for the statx syscall, so don't
bother wrapping it here unless it's actually available.
2023-02-06 10:18:52 -08:00
github-actions[bot] f876e1f1e9
Merge master into staging-next 2023-02-06 18:01:37 +00:00
John Ericson 6d0b3086f7
Merge pull request #214304 from obsidiansystems/pkg-config-meta
meta.pkgConfigModules: Init convention
2023-02-06 11:44:29 -05:00
github-actions[bot] 51cb32c692
Merge master into staging-next 2023-02-05 18:01:22 +00:00
milahu d1bb936cf7
symlinkJoin: print warning when keeping existing file 2023-02-05 09:58:20 +01:00
github-actions[bot] cb231fb28d
Merge master into staging-next 2023-02-05 06:01:18 +00:00
Robert Schütz f402501c2c
Merge pull request #213485 from dotlambda/opentsdb-2.4.1
opentsdb: 2.4.0 -> 2.4.1
2023-02-04 19:09:01 -08:00
Andrew Brooks f4e4cac0c8 dockerTools: Correctly unpack duplicate rootfs diffs
This PR addresses issue #214434 by preventing
dockerTools.buildImage from deleting rootfs diffs until after
they've been unpacked.
2023-02-03 17:50:36 -06:00
Vladimír Čunát d0d8c15bad
Merge branch 'master' into staging-next
pkgs/development/web/nodejs/v18.nix conflict:
  the fetched patch was already included in this release.
2023-02-03 23:02:19 +01:00
John Ericson 6e4a1b18d9 meta.pkgConfigModules: Init convention
See docs.

Follow-up work:

- Existing packages should be converted

- `defaultPkgConfigPackages` should assert on `meta.pkgConfigModules`
  and let `tests.pkg-config` alone test the build results.

CC @sternenseemann

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2023-02-03 09:37:31 -05:00
Ulrik Strid f12b9ea461 buildDunePackage: default to strictDeps = true 2023-02-03 08:59:34 +01:00
Ulrik Strid c53a63adf1 ocamlPackages treewide: strictDeps all packages 2023-02-03 08:59:34 +01:00
Robert Schütz 0bc28dafcd fetchMavenArtifact: add classifier to filename 2023-02-02 19:23:58 -08:00
github-actions[bot] fffb187b8e
Merge master into staging-next 2023-02-02 12:01:33 +00:00
Johannes Kirschbauer a2780dc543
Docs/fix: make doc-strings nixdoc compliant (#213570)
* re-format all doc-strings to make them nixdoc compliant

* reformat comments to make them markdown-renderable
2023-02-02 11:20:02 +01:00
github-actions[bot] ba176ec75c
Merge staging-next into staging 2023-02-01 06:01:40 +00:00
superherointj bc1b9307e7
Merge pull request #212303 from amjoseph-nixpkgs/pr/build-rust-crate/ilp32
build-rust-crate: handle ILP32 platforms correctly
2023-01-31 23:48:22 -03:00
Robert Scott 117178971a
Merge pull request #212678 from impl/libredirect-wrappers
libredirect: add more wrappers
2023-01-31 22:35:19 +00:00
zowoq c6d203467a buildRustPackage: drop cacert
not needed here, set by fetchCargoTarball
2023-02-01 06:53:43 +10:00
linsui 9bc4f34034 cargo: move cert info to fetch-cargo-tarball
As proposed in https://github.com/NixOS/nixpkgs/pull/82496, we should only set the related env vars for the fetcher instead of breaking the function of cargo itself.
2023-02-01 06:53:43 +10:00
github-actions[bot] 9f7ab547e6
Merge staging-next into staging 2023-01-31 18:02:01 +00:00
Artturi 7b0e7c6988
Merge pull request #213768 from Artturin/unamemisingspace 2023-01-31 16:02:27 +02:00
Artturin c4597fef1d deterministic-uname: add missing whitespace 2023-01-31 14:55:11 +02:00
wrvsrx b59d61aa48
cc-wrapper: revert change to -isystem 2023-01-31 11:40:23 +08:00
wrvsrx ee2b2cef35
cc-wrapper: add -cxx-isystem to libcxx-cxxflags instead of libc-cflags 2023-01-31 11:13:11 +08:00
wrvsrx 27dddbfc22
cc-wrapper: add the '-xc++' and -x*-header case to the wrapper 2023-01-31 11:12:39 +08:00
wrvsrx d0e80df0dc
cc-wrapper: replace "-isystem" by "-cxx-isystem" for c++ header 2023-01-31 11:12:32 +08:00
github-actions[bot] 645af55243
Merge staging-next into staging 2023-01-30 12:01:57 +00:00
github-actions[bot] 1a06f52c21
Merge master into staging-next 2023-01-30 12:01:22 +00:00
Robert Hensing b6bec17eb9 testers.hasPkgConfigModule: Extract and add tests, docs 2023-01-30 00:35:34 +01:00
Sergei Trofimovich 6b832b5332 build-support/cc-wrapper: revert "pass in non-existent --sysroot= to untangle from libc"
This reverts commit 8c80bd08b7
("build-support/cc-wrapper: pass in non-existent --sysroot= to untangle
from libc").

This change was good in spirit: we caught a few genuine problems with
`scons` based packages (`godot`, `fluxus`) and unexpected `-idirafter`
includes in various boot loadres (`ipxe`, wimboot`):

    https://github.com/NixOS/nixpkgs/pull/210004#issuecomment-1407162693

Unfortunately `--sysroot=` also has a negative impact on libary search
order for DT_NEEDED libraries and RUNPATHs of linked libraries. This
unexpectedly broke `dmd`, `d-seams`, `llvmPackages_rocm.compiler-rt`).

An interesting case of unexpected breakage is `usbmuxd2` where the bug
exposed incomplete library move on `libstdc++fs` in `gcc`.

The library breakage is very non-intuitive (on top of already unusual
layout of `cc-wrapper` driver). Let's revert this change for now.

Once it lands we can undo `--sysroot=/` workarounds merged for
`staging-next`.
2023-01-29 07:49:37 +00:00
github-actions[bot] fa361440fc
Merge staging-next into staging 2023-01-28 12:01:44 +00:00
Sergei Trofimovich 4763533cca build-support/cc-wrapper: add libstdc++fs into default library path for clang
After https://github.com/NixOS/nixpkgs/pull/210004 `usbmuxd2` started
failing to build as:

    usbmuxd2-unstable> .../ld: cannot find -lstdc++fs: No such file or directory
    usbmuxd2-unstable> clang-11: error: linker command failed with exit code 1 (use -v to see invocation)

This started happening because #210004 exposed a long-standing bug in
`gcc` derivation: `cc.lib` is missing `libstdc++fs` library:

    $ find $(nix-build --no-link -A stdenv.cc.cc.lib) | fgrep libstdc | unnix

    /<<NIX>>/gcc-11.3.0-lib/lib/libstdc++fs.la

    /<<NIX>>/gcc-11.3.0-lib/lib/libstdc++.la
    /<<NIX>>/gcc-11.3.0-lib/lib/libstdc++.so.6.0.29
    /<<NIX>>/gcc-11.3.0-lib/lib/libstdc++.so
    /<<NIX>>/gcc-11.3.0-lib/lib/libstdc++.so.6

It was not moved from `cc.out` output:

    $ find $(nix-build --no-link -A stdenv.cc.cc) | fgrep libstdc | unnix
    /<<NIX>>/gcc-11.3.0/lib/libstdc++.a
    /<<NIX>>/gcc-11.3.0/lib/libstdc++fs.a

This change adds `cc` library lookup path back to `staging-next` until
`gcc` is fixed.`
2023-01-28 07:30:33 +00:00
github-actions[bot] e11b11e738
Merge staging-next into staging 2023-01-27 12:01:56 +00:00
github-actions[bot] 92b7725154
Merge master into staging-next 2023-01-27 12:01:22 +00:00
Noah Fontes 2cfe8451ed
libredirect: add tests for new wrappers 2023-01-26 12:06:46 -08:00
Sandro Jäckel 5ce647b8bf
buildGoModule: forward prePatch, postPatch and postBuild to vendoring
to be more prediactable
2023-01-26 17:08:55 +01:00
Noah Fontes eb620ff9f7
libredirect: add more wrappers
This appears to satisfy the JVM and most coreutils programs like mkdir,
etc., as used in self-contained installers like Revenera
InstallAnywhere.
2023-01-25 14:39:22 -08:00
Artturi e42cdd2383
Merge pull request #212286 from Artturin/runonall
make-symlinks-relative: run on all outputs
2023-01-25 15:51:53 +02:00
github-actions[bot] 588d9ab6e2
Merge staging-next into staging 2023-01-25 12:02:09 +00:00
github-actions[bot] 20df8d00cc
Merge master into staging-next 2023-01-25 12:01:34 +00:00
Nick Cao 0ea2d480e4
postgresqlTestHook: run postgresqlTestSetupPost hook after setting up 2023-01-25 18:46:27 +08:00
github-actions[bot] c471a30584
Merge staging-next into staging 2023-01-25 00:02:54 +00:00
github-actions[bot] c47e4b69a3
Merge master into staging-next 2023-01-25 00:02:20 +00:00
Robert Scott 00aadf0bf7 cc-wrapper: add support for fortify3 flag 2023-01-24 21:52:10 +00:00
Alyssa Ross 2ae30c9f45 llvmPackages: use libcxxrt on FreeBSD
FreeBSD doesn't use LLVM's cxxabi implementation, for backwards
compatibility reasons.  Software expects the libcxxrt API when
building on FreeBSD.  This fixes the build of
pkgsCross.x86_64-freebsd.boost.
2023-01-24 21:18:39 +00:00
github-actions[bot] 8aee205b0c
Merge staging-next into staging 2023-01-24 12:01:46 +00:00
Vladimír Čunát 411405c9f6
Merge branch 'master' into staging-next
Trivial conflict in release notes, except that the xml/docbook parts
are horrible for (semi-)automatic conflict resolution.
Fortunately that's generated anyway.
2023-01-24 12:22:38 +01:00
Uri Baghin 619ba04b87 buildBazelPackage: make bazel explicit 2023-01-24 19:30:20 +11:00
Sandro 46d29bdaec
Merge pull request #207294 from happyalu/staging 2023-01-24 00:02:25 +01:00
John Ericson 8240bc77e8
Merge pull request #212275 from alyssais/libdl
treewide: remove -ldl linker flags
2023-01-23 16:28:21 -05:00
Adam Joseph eb98fefe24 build-rust-crate: handle ILP32 platforms correctly
This commit corrects the value of `CARGO_CFG_TARGET_POINTER_WIDTH`
for ILP32 machines like the Apple Watch and mips64n32.
2023-01-23 12:10:58 -08:00
Artturin cfb543a532 make-symlinks-relative: run on all outputs 2023-01-23 20:11:41 +02:00
Alyssa Ross 12d2821bf5
treewide: remove -ldl linker flags
With all libcs I'm aware of, libdl is now either empty (Glibc, musl,
uclibc, illumos), a symlink to libc or equivalent (Apple), or does not
exist (FreeBSD, NetBSD).  So explicitly linking libdl now does nothing
for the former platforms, and breaks the build for the latter
platforms.

With this patch I've removed -ldl from all overridden linker flags for
all free packages in Nixpkgs.  Everything still seems to build.
2023-01-23 15:34:53 +00:00
Guillaume Girol 4ce9749f74 Merge remote-tracking branch 'origin/staging' into staging-nativeCheckInputs 2023-01-21 17:18:51 +01:00
github-actions[bot] f04194698a
Merge staging-next into staging 2023-01-21 12:02:00 +00:00
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00
Guillaume Girol 25193e2732 postgresqlTestHook: adapt comment to nativeCheckInputs 2023-01-21 16:42:10 +01:00
Guillaume Girol 90c78aee6c Merge branch 'nativeCheckInputs' into staging-nativeCheckInputs 2023-01-21 12:00:00 +00:00
figsoda 3290828905 fetchPypi: move to top level
fetchPypi doesn't use python under the hood and doesn't need to be tied
to a specific version of python. Moving it to top level makes it more
consistent with other fetchers and makes code generation easier.
2023-01-21 08:21:33 +01:00
Sergei Trofimovich b9b1d958d0 Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts:
	pkgs/development/libraries/qt-6/modules/qtbase.nix
	pkgs/stdenv/linux/make-bootstrap-tools.nix
2023-01-20 21:56:57 +00:00
Alyssa Ross f5e63a0e9e bintools: add isGNU and isLLVM attributes 2023-01-20 18:35:25 +01:00
Yureka 7a05f9de7d
gccgo: wrap go binary (#207670) 2023-01-20 14:31:54 +01:00
Robert Hensing a1cd06f900
Merge pull request #211082 from hercules-ci/fix-issue-16182
Fix issue 16182  `Error: _assignFirst found no valid variant!`
2023-01-19 19:22:04 +01:00