Commit Graph

7033 Commits

Author SHA1 Message Date
Michael Hoang
b2ff7ceff2 nixos/tests: Test that Remote SSH can patch Node 2023-06-09 18:21:41 +10:00
Anderson Torres
5d68e9014c build-support/emacs: synchronize with emacs' modified attributes 2023-06-07 23:26:31 -03:00
github-actions[bot]
83e7490bd0
Merge staging-next into staging 2023-06-08 00:03:05 +00:00
Jack Leightcap
4c2970da7e
gcj: fix compiler
Signed-off-by: Jack Leightcap <jack@leightcap.com>
2023-06-07 01:42:02 -04:00
github-actions[bot]
9634f361e8
Merge staging-next into staging 2023-06-06 00:02:59 +00:00
Rick van Schijndel
6cdf7259d0
Merge pull request #235898 from panicgh/fetchgit-sparse-checkout-failhard
fetchgit: require sparseCheckout be a list of strings
2023-06-05 22:53:19 +02:00
figsoda
cfb9c8858e
Merge pull request #235438 from figsoda/rustc 2023-06-04 15:06:24 -04:00
github-actions[bot]
22e7031b28
Merge master into staging-next 2023-06-04 18:00:59 +00:00
figsoda
df34ed4185
Merge pull request #235204 from figsoda/text2 2023-06-04 13:02:55 -04:00
Nicolas Benes
52f3a1c42c fetchgit: require sparseCheckout be a list of strings
Passing a (multi-line) string was deprecated in #200082 in favour of
list of strings, but still supported (with warning). Now, enforce use of
list of strings.
2023-06-04 10:04:31 +02:00
figsoda
f4a6750079 rustPlatform.fetchCargoTarball: remove explicit sparse protocol
sparse protocol is now the default since rust 1.70
2023-06-02 21:28:57 -04:00
Vladimír Čunát
295ff35f24
cc-wrapper: try to better guess meta.mainProgram
Otherwise nix will guess it from (p)name which contains "-wrapper".
Fixes #235585
2023-06-02 17:32:06 +02:00
github-actions[bot]
8b93c4f667
Merge staging-next into staging 2023-06-02 00:03:07 +00:00
Andrew Brooks
04147e058d fetchurl: remove mirror kent.dl.sourceforge.net
The kent.dl.sourceforge.net domain doesn't seem to exist anymore. Because it's
not usable, this commit removes it from the list of sourceforge mirrors.
2023-06-01 15:30:14 -05:00
figsoda
137dd249c5 writeTextFile: revert workaround for executable = null 2023-05-31 09:25:18 -04:00
fetsorn
29f3903f62 nix-prefetch-git: fix typo 2023-05-31 04:00:32 +04:00
fetsorn
3565fdf30c pkgs/build-support: fix typos 2023-05-31 04:00:14 +04:00
Yueh-Shun Li
aea73adfdd buildGo{Module,Package}: remove input argument "tags"
Unify how ldflags and tags are passed
2023-05-31 07:14:18 +10:00
zowoq
a91f6eba1e buildGoPackage: remove ldflags and with builtins
as done for buildGoModule in abd5dfa013 and 3be02ada9e
2023-05-31 07:14:18 +10:00
Guillaume Maudoux
9c289b427e
Merge pull request #234994 from layus/autopatchelf-single-files
autoPatchelfHook: Add support for single files
2023-05-30 14:31:47 +02:00
github-actions[bot]
7443b1efc5
Merge staging-next into staging 2023-05-30 12:01:46 +00:00
github-actions[bot]
8ca315db3e
Merge master into staging-next 2023-05-30 12:01:07 +00:00
Guillaume Maudoux
dd0dee4c97 autoPatchelfHook: Add support for single files 2023-05-30 13:48:30 +02:00
zowoq
304940d98e buildGoModule: format
Co-authored-by: Yueh-Shun Li <shamrocklee@posteo.net>
2023-05-30 19:30:06 +10:00
github-actions[bot]
1df97aede2
Merge staging-next into staging 2023-05-30 00:02:56 +00:00
github-actions[bot]
ceb7ed5e38
Merge master into staging-next 2023-05-30 00:02:21 +00:00
figsoda
4431bab003 writeTextFile: fix when executable is not a bool 2023-05-29 15:48:49 -04:00
github-actions[bot]
5611fa71ab
Merge staging-next into staging 2023-05-29 18:01:43 +00:00
github-actions[bot]
698b4f4f63
Merge master into staging-next 2023-05-29 18:01:07 +00:00
figsoda
c82114ce5d
Merge pull request #234454 from figsoda/bin 2023-05-29 11:47:11 -04:00
github-actions[bot]
a0de937efb
Merge staging-next into staging 2023-05-29 12:02:05 +00:00
Sergei Trofimovich
e1356f9958
Merge pull request #232075 from trofi/gcc12-update
gcc12: 12.2.0 -> 12.3.0
2023-05-29 10:05:32 +01:00
Vladimír Čunát
2f9191eb88
Merge branch 'master' into staging-next 2023-05-29 08:14:18 +02:00
github-actions[bot]
3854041668
Merge master into staging-next 2023-05-28 18:01:12 +00:00
figsoda
d456b861b8 fetchCrate: fix registryDl
follow up to #234066, since I made a mistake
2023-05-28 13:20:03 -04:00
figsoda
44f8292544
Merge pull request #234066 from figsoda/crate 2023-05-28 13:13:42 -04:00
github-actions[bot]
98bba575c0
Merge master into staging-next 2023-05-28 06:01:07 +00:00
Winter
f9138c5ad6 npmHooks.npmInstallHook: allow disabling npm prune invocation
In some odd scenarios, `npm prune` either fails, or hangs. I have no idea
what could possibly be wrong at the moment, but let's provide an escape
hatch for packages that can still use the rest of the install hook's
functionality.
2023-05-28 00:47:54 -04:00
github-actions[bot]
7dd6245c3c
Merge master into staging-next 2023-05-28 00:02:31 +00:00
Yueh-Shun Li
1a89cfae1f buildGoModule: simplify go-module attribute structure without rebuild 2023-05-28 07:50:02 +10:00
figsoda
4b94ae4bc6 writeTextFile: set meta.mainProgram based on destination 2023-05-27 12:39:53 -04:00
Sergei Trofimovich
5d119a26aa mirrors/gcc: push 'bigsearch' lower
For some reason 'bigsearch' only partially mirrored 'gcc-12.3.0' and
still lacks the tarballs after a few weeks. Let's use next available
mirror.
2023-05-27 12:32:13 +01:00
github-actions[bot]
8f73f12f12
Merge master into staging-next 2023-05-27 00:02:24 +00:00
zowoq
0ba51a51f8 buildGoModule: alias vendorSha256 to vendorHash 2023-05-27 09:19:47 +10:00
github-actions[bot]
73ddcacb58
Merge master into staging-next 2023-05-26 18:01:05 +00:00
Raphael Robatsch
0d29814880 mkNugetSource: Also copy .nupkg files from subdirectories
Previously only .nupkg files directly in the deps directory were copied.
This is a regression because it breaks `projectReferences = [ ... ];` in
buildDotnetModule.
2023-05-26 16:18:07 +02:00
Ilan Joselevich
2b54d69007
Merge pull request #234072 from ShamrockLee/write-script-bin-mainprogram
writeScriptBin, writeShellScriptBin: add meta.mainProgram automatically
2023-05-26 17:07:42 +03:00
github-actions[bot]
fced6fe69b
Merge master into staging-next 2023-05-26 00:02:17 +00:00
Yueh-Shun Li
b29d5f60b8 writeScriptBin, writeShellScriptBin: add meta.mainProgram automatically 2023-05-26 04:54:03 +08:00
figsoda
545206f936 fetchCrate: allow overriding registryDl
This will allow `rustPlatform.importCargoLock` to use `fetchCrate`
directly instead of including its own implementation.
2023-05-25 16:29:01 -04:00
Cole Helbling
3e63608c7b makeInitrdNGTool: better errors
It's extremely frustrating seeing "Error: Os { code: 13, kind:
PermissionDenied, message: "Permission denied" }" without any hint as to
where exactly that occurred.

This commit fixes that by adding context to most errors.
2023-05-25 13:26:05 -07:00
github-actions[bot]
a048bbb694
Merge staging-next into staging 2023-05-25 00:02:48 +00:00
figsoda
3be02ada9e buildGoModule: remove unused lambda parameters 2023-05-24 11:58:12 -04:00
figsoda
abd5dfa013 buildGoModule: remove unused with builtins; 2023-05-24 11:56:21 -04:00
github-actions[bot]
8b49a663b0
Merge staging-next into staging 2023-05-22 18:02:03 +00:00
Atemu
d5f0da152a Revert "Merge pull request #230693 from Atemu/fix/fhsenv-escape-runScript-path"
This reverts commit 840f2e0ac5, reversing
changes made to d3ed0402e5.

This breaks appimage which puts args into the runScript and we don't provide a
good way to pass thru additional args.

The actual bug was in nix-alien which should escape paths; providing a valid
runScript is the responsibility of the caller.
2023-05-22 11:34:04 -03:00
github-actions[bot]
0a501274a4
Merge staging-next into staging 2023-05-22 06:01:38 +00:00
Winter
9117f01272
npmHooks.npmConfigHook: add npmRoot option 2023-05-21 17:26:22 -04:00
github-actions[bot]
fe05fe6f64
Merge staging-next into staging 2023-05-21 18:02:06 +00:00
Lily Foster
9f6f397165
Merge pull request #206477 from winterqt/build-npm-package-patch-npm
buildNpmPackage: patch npm to work around various roadblocks
2023-05-21 11:16:56 -04:00
github-actions[bot]
185bd73d28
Merge staging-next into staging 2023-05-21 12:01:53 +00:00
Ryan Hendrickson
0f6712d45a nix-prefetch-git: redirect git lfs to stderr 2023-05-21 09:05:49 +02:00
Winter
9f264f69f8
buildNpmPackage: use nodejs patch flag to work around roadblocks 2023-05-20 18:29:43 -04:00
github-actions[bot]
2881fdf82f
Merge staging-next into staging 2023-05-20 12:01:51 +00:00
figsoda
98b9e41f61 pkgs: fix typos 2023-05-19 22:31:04 -04:00
github-actions[bot]
4c15bc4505
Merge staging-next into staging 2023-05-19 00:02:49 +00:00
figsoda
9a7fd959fa
Merge pull request #228928 from DeeUnderscore/fix/replace-workspace-values-bool 2023-05-18 14:54:12 -04:00
github-actions[bot]
3ff58508a4
Merge staging-next into staging 2023-05-18 18:01:50 +00:00
Atemu
840f2e0ac5
Merge pull request #230693 from Atemu/fix/fhsenv-escape-runScript-path
buildFHSEnvBubblewrap: escape runScript path
2023-05-18 18:02:04 +02:00
github-actions[bot]
7c054a987b
Merge staging-next into staging 2023-05-17 12:02:19 +00:00
Weijia Wang
6b456c252b
Merge pull request #162447 from thefloweringash/remove-references-to-region
removeReferencesTo: correct region reference in fixupHook
2023-05-17 12:34:28 +03:00
Guillaume Maudoux
33399c9de8
Merge pull request #229008 from whonore/dafny-4
dafny: 2.3.0 -> 4.0.0
2023-05-17 09:53:06 +02:00
gilice
8991fac305 flutter: build-support: allow customizing wrapProgram args 2023-05-14 17:10:49 +02:00
github-actions[bot]
0b21b8d8a6
Merge master into staging-next 2023-05-13 06:01:08 +00:00
Maciej Krüger
0294e83aaa
Merge pull request #231319 from hacker1024/package/flutter-3.10
flutter: 3.7.12 -> 3.10.0
2023-05-13 03:14:42 +02:00
github-actions[bot]
2f665c348c
Merge master into staging-next 2023-05-13 00:02:05 +00:00
Lin Jian
133075787b emacs.pkgs.trivialBuild: generate autoload file 2023-05-12 20:42:09 -03:00
github-actions[bot]
206417b7a2
Merge master into staging-next 2023-05-12 18:01:18 +00:00
Jacek Galowicz
cc8e4ed375
Merge pull request #225313 from hercules-ci/testers-runNixOSTest
testers.runNixOSTest: init
2023-05-12 16:04:26 +02:00
Sandro
1f4ba79877
Merge pull request #229851 from raphaelr/mknugetsource-without-nuget 2023-05-12 16:04:20 +02:00
hacker1024
fdbb342402 dart: Properly set the dependency list derivation name 2023-05-12 23:09:41 +10:00
hacker1024
b511926a89 dart: Use doPubGet when generating the dependency list 2023-05-12 23:09:41 +10:00
hacker1024
49ce83d5b4 dart: Spoof Git dependency version checks 2023-05-12 23:04:33 +10:00
github-actions[bot]
30ae8398a9
Merge master into staging-next 2023-05-12 12:01:26 +00:00
Ulrik Strid
f05b051a58
Merge pull request #231405 from vbgl/ocaml-default-to-dune-version-3
ocamlPackages: default to version 3 of Dune
2023-05-12 12:42:40 +02:00
Vincent Laporte
e7b211e3d2
ocamlPackages: default to version 3 of Dune 2023-05-12 05:50:40 +02:00
github-actions[bot]
84352fc449
Merge master into staging-next 2023-05-12 00:01:57 +00:00
Kira Bruneau
d4652d33d6
Merge pull request #229770 from Misterio77/init-buildDartPackage
buildDartApplication: init
2023-05-11 14:43:20 -04:00
Robert Hensing
ac1134f321 testers.runNixOSTest: init
An up to date alternative to pkgs.nixosTest
2023-05-11 19:12:07 +02:00
github-actions[bot]
387f5d9a5f
Merge master into staging-next 2023-05-11 12:01:42 +00:00
Atemu
cd96817b29 buildFHSEnvBubblewrap: escape runScript path
Fixes https://github.com/NixOS/nixpkgs/issues/230651

Co-authored-by: Weijia Wang <9713184+wegank@users.noreply.github.com>
2023-05-11 08:28:05 +02:00
Dmitry Ivankov
e0d1e77c23 bazel_5: 5.4.0->5.4.1
Also update the updater script.

https://github.com/bazelbuild/bazel/releases/tag/5.4.1

- [X] recalculate fetchAttrs digest for packages built with bazel_5
2023-05-10 16:09:19 +02:00
github-actions[bot]
c3e196104d
Merge staging-next into staging 2023-05-10 06:02:13 +00:00
Alyssa Ross
376ba26812 buildRustPackage: disable auditing if it's broken
See also: ad3a532658 ("rust/cargo.nix: disable audit if audit.meta.broken")

Fixes cross eval of clippy.
2023-05-09 23:46:55 -04:00
github-actions[bot]
2d07e76d1a
Merge staging-next into staging 2023-05-10 00:03:33 +00:00
K900
f589521841
Merge pull request #230375 from lelgenio/fix-steam-beta-gsettings-schemas
steam: fix missing gsettings-schemas dependency
2023-05-09 21:35:52 +03:00
github-actions[bot]
b5b52a946a
Merge staging-next into staging 2023-05-09 18:02:32 +00:00
Adam Joseph
0e9ef0a07d cc-wrapper: when merging gcc32 and gcc64, merge libgcc as well
Our gcc_multi and glibc_multi expressions merge together a
32-bit-targeted and 64-bit-targeted gcc.  However they do not thread
through the passthru.libgcc from these merged gccs.

This commit corrects that.

It also extends passthru.libgcc to allow a *list* rather than just a
single outpath.

Resolves part of #221891 (at least getting it back to the error
message it gave before).
2023-05-09 00:16:24 -07:00
lelgenio
8aafc553ae buildFHSEnv: use default values as fallback for XDG_DATA_DIRS 2023-05-08 18:56:51 -03:00
John Ericson
f4868c6c7d
Merge pull request #229754 from rrbutani/fix/cc-wrapper-extra-positional-args
Support `--` in `cc-wrapper`
2023-05-08 06:55:52 -04:00
piegames
794b05a09d
Merge pull request #158968: Make fetchFromGitHub & friends overridable 2023-05-07 21:59:36 +02:00
github-actions[bot]
3510094ebe
Merge master into staging-next 2023-05-07 00:02:36 +00:00
figsoda
955f4f6512
Merge pull request #230177 from SuperSandro2000/lib-fromJSON-2
treewide: switch builtins.fromJSON(builtins.readFile ./file.json) to …
2023-05-06 14:12:43 -04:00
Sandro Jäckel
00000001b4
treewide: switch builtins.fromJSON(builtins.readFile ./file.json) to lib.importJSON ./file.json #2 2023-05-06 16:20:13 +02:00
github-actions[bot]
805ffdeca7
Merge master into staging-next 2023-05-06 12:01:05 +00:00
Et7f3
caf436a52b ocamlPackages.buildDunePackage: deprecate useDune2 2023-05-06 08:11:25 +02:00
github-actions[bot]
f62c3cbbdc
Merge master into staging-next 2023-05-06 00:02:06 +00:00
Sandro
cac19e0266
trivial-builders: move into the directory named alike (#223429)
While searching for something different I wondered why there is a
trivial-builders.nix file next to the trivial-builders directory where
only tests live. Lets fix that.
2023-05-06 00:16:26 +02:00
Raphael Robatsch
d347b0400c mkNugetSource: remove mono from build closure
A directory full of *.nupkg files is a valid nuget source. We do not need mono
and the Nuget command line tool to create this structure. This has two
advantages:

- Nuget is currently broken due to a kernel bug affecting mono (#229476).
  Replacing the mkNugetSource implementation allows affected users on 6.1+
  kernels compile .NET core packages again.
- It removes mono from the build closure of .NET core packages. .NET core
  builds should not depend on .NET framework tools like mono.

There is no equivalent of the `nuget init` command in .NET core. The closest
command is `dotnet nuget push`, which just copies the *.nupkg files around
anyway, just like this PR does with `cp`.

`nuget init` used to extract the *.nuspec files from the nupkgs, this new
implementation doesn't. .NET core doesn't care, but it makes the license
extraction more difficult. What was previously done with find/grep/xml2 is now
a python script (extract-licenses-from-nupkgs.py).
2023-05-05 18:38:06 +00:00
Gabriel Fontes
70d3f5c0b4
buildFlutterApplication: default vendorHash to ""
This makes it more ergonomical to use, and is consistent with
buildDartApplication.
2023-05-05 13:32:51 -03:00
Gabriel Fontes
782c8b44dd
buildDartApplication: init
This adds a function for easily packaging non-flutter dart apps.
2023-05-05 13:32:45 -03:00
github-actions[bot]
33859d6094
Merge master into staging-next 2023-05-05 00:02:09 +00:00
Lily Foster
6a6f328ef5
Merge pull request #214454 from winterqt/prefetch-npm-deps-reproducibility
prefetch-npm-deps: fix reproducibility
2023-05-04 19:15:59 -04:00
Rahul Butani
53b268ad4a
cc-wrapper: support --
Fixes #228136.
2023-05-03 16:42:15 -05:00
Ryan Lahfa
00997c5dd6
Merge pull request #228820 from alyssais/link.exe-purity
wrapBintoolsWith: support LINK.EXE-style args in purity checks
2023-05-01 16:28:49 +02:00
Vladimír Čunát
50983f16a3
Merge #229154: staging: make wrapProgram<Type> use the right wrapper
...into staging
2023-05-01 10:17:18 +02:00
github-actions[bot]
0fe0497793
Merge staging-next into staging 2023-05-01 00:03:33 +00:00
github-actions[bot]
fa2258cd02
Merge master into staging-next 2023-05-01 00:02:46 +00:00
Artturi
e6090800bd
Merge pull request #224178 from Yarny0/patch-ppd-files-meta 2023-04-30 21:15:46 +03:00
K900
a3cad4378e pkgs/build-support: call the right makeWrapper function from wrapProgram<Type> 2023-04-30 20:35:27 +03:00
Winter
ac35d7ea86
prefetch-npm-deps: look up hashes from cache when fixing up lockfiles 2023-04-30 10:29:46 -04:00
Guillaume Maudoux
6efefdc8c1 buildDotnetModule: add support for dotnet tools 2023-04-29 18:54:04 -04:00
D Anzorge
38fb742663 rustPlatform.importCargoLock: fix [package] section handling
Members of the [package] table in Cargo.toml can be either subtables, or
values like strings and bools. Python is happy to check for membership
of "workspace" in a string, since Python strings are iterables, but if
the value is a bool, Python will throw an exception.
2023-04-29 21:05:05 +02:00
Alyssa Ross
194ddeefd5
wrapBintoolsWith: support LINK.EXE-style args in purity checks
LLD supports Windows-style linker arguments, but these previously
triggered purity check false positives, because it saw that they
started with a '/' and assumed they were paths.

This tweaks the path detection to allow through certain values that
could be paths, but are much more likely to be LINK.EXE-style flags.
The risk of false negatives here is low — the only things we'd now
fail to catch would be attempts to link with libraries in the root
directory, which doesn't happen in practice.

We also teach the wrapper how to apply its purity checks to library
paths specified with the /LIBPATH: option.

Tested that paths we expect to be rejected (like /lib/libfoo.so) still
are.
2023-04-29 01:37:00 +00:00
Winter
7efebca89c
prefetch-npm-deps: fix reproducibility
v1 lockfiles can contain multiple references to the same version of a
package, and these references can contain different `integrity` values,
such as one having SHA-1 and SHA-512, while another just has SHA-512.

Given that HashMap iteration order isn't defined, this causes
reproducibility issues, as a different integrity value could be chosen
each time.

Thanks to @lilyinstarlight for discovering this issue originally, as well
as the idea for the sorting-based implementation.
2023-04-28 18:09:39 -04:00
github-actions[bot]
e1fd5ee13e
Merge staging-next into staging 2023-04-28 12:01:49 +00:00
github-actions[bot]
85a45c2a04
Merge master into staging-next 2023-04-28 12:01:08 +00:00
Weijia Wang
b2ef7956b6
Merge pull request #227560 from jackyliu16/loongnix-commit
lib.platforms.loongarch64: init
2023-04-28 13:21:42 +03:00
Alyssa Ross
bfc7aaa8af wrapCCWith: disable pic when building for Windows
According to <https://gcc.gnu.org/legacy-ml/gcc-patches/2015-08/msg00836.html>,
all code is position-independent on Windows.  Some compilers
apparently warn for -fPIC on Windows, and clang errors:

> clang-15: error: unsupported option '-fPIC' for target 'x86_64-pc-windows-msvc'

I'm guessing the check was hostPlatform instead of targetPlatform by mistake.
2023-04-28 10:01:22 +00:00
jackyliu16
b522b5a887 bintools: set dynamic linker 2023-04-28 12:09:43 +03:00
github-actions[bot]
63a3bd8731
Merge staging-next into staging 2023-04-26 18:01:39 +00:00
Vladimír Čunát
d6b863fd9b
Merge #226795: staging-next 2023-04-18 2023-04-26 18:35:28 +02:00
sternenseemann
1d71d2e883 buildBazelPackage: never append to fFetchAttrs.installPhase
In f8ee061247, the fallback installPhase
if fFetchAttrs.installPhase is not provided, became dynamically computed.
Due to operator precedence this had the side effect of appending to
fFetchAttrs.installPhase if it is provided, breaking custom
installPhases altogether.
2023-04-26 17:34:39 +02:00
github-actions[bot]
3f176be544
Merge staging-next into staging 2023-04-25 18:01:56 +00:00
github-actions[bot]
2e27a36b4b
Merge master into staging-next 2023-04-25 18:01:17 +00:00
toonn
acc386e521
Merge pull request #223759 from 2xsaiko/outgoing/darwin-bundle
desktopToDarwinBundle: Parsing & icon conversion fixes
2023-04-25 15:38:05 +02:00
github-actions[bot]
c9a253ff7f
Merge staging-next into staging 2023-04-25 12:02:03 +00:00
github-actions[bot]
a39805cda2
Merge master into staging-next 2023-04-25 12:01:31 +00:00
Maciej Krüger
9096817104
Merge pull request #201027 from hacker1024/patch-3 2023-04-25 11:16:53 +02:00
Alyssa Ross
57e73d23bb rustc,rustPlatform.buildRustPackage: broaden platforms
rustc supports way more platforms than Linux and Darwin.  We might not
be able to build it for every platform at the moment, but that's what
meta.broken is for.

There are other platforms that rustc can produce binaries for, but
can't run on itself, so those are listed in the defaults for
buildRustPackage.
2023-04-25 08:27:59 +00:00
github-actions[bot]
26e826e1f8
Merge staging-next into staging 2023-04-25 06:02:14 +00:00
github-actions[bot]
497ac06266
Merge master into staging-next 2023-04-25 06:01:40 +00:00
hacker1024
c4cbf526e9 Merge remote-tracking branch 'NixOS/master' into feature/futter-linux-desktop 2023-04-25 12:51:56 +10:00
Lily Foster
6fd6ce1094
Merge pull request #206476 from winterqt/prefetch-npm-deps-git-dev-deps
prefetch-npm-deps: download dev deps for git deps with install scripts
2023-04-24 20:26:32 -04:00
github-actions[bot]
405bff2673
Merge staging-next into staging 2023-04-25 00:02:39 +00:00
github-actions[bot]
9908dfacfa
Merge master into staging-next 2023-04-25 00:02:08 +00:00
Alyssa Ross
90a8b9e3fe rustPlatform.buildRustPackage: fix cross
.override breaks splicing, so this was using the shell for the host
platform.
2023-04-24 19:43:39 +00:00
Guillaume Girol
56009de17d
Merge pull request #227762 from raboof/separate-debug-info-deterministically
setup-hooks/separate-debug-info.sh: make deterministic
2023-04-23 13:41:09 +00:00
Arnout Engelen
9156daa547
setup-hooks/separate-debug-info.sh: make deterministic
If multiple files with the same build id were found, we silently randomly
overwrote one with the other.

Change the order to make the output deterministic, and emit a
warning when overwriting.
2023-04-23 11:53:47 +02:00
github-actions[bot]
cf8e955712
Merge master into staging-next 2023-04-23 00:02:24 +00:00
Weijia Wang
1d76b4d7f1
Merge pull request #227634 from GenericNerdyUsername/requireFile-hash
`requireFile`: allow using `hash` instead of `sha256`/`sha1`
2023-04-22 23:42:32 +03:00
piegames
a205795c8a treewide: Make some fetchers overridable 2023-04-22 22:29:23 +02:00
Weijia Wang
a6cf8594cb
Merge pull request #227510 from wegank/fhs-aarch64
buildFHSEnv: restrict pkgsi686Linux to x86_64-linux
2023-04-22 22:00:35 +03:00
github-actions[bot]
c1093794b3
Merge master into staging-next 2023-04-22 18:00:58 +00:00
GenericNerdyUsername
3687bee81c
requireFile: allow using hash instead of sha256/sha1 2023-04-22 16:02:34 +01:00
hacker1024
89bb0ed91b flutter.buildFlutterApplication: Add an option to generate the dependency list with IFD
This is useful for projects outside of Nixpkgs.
2023-04-23 00:32:24 +10:00
hacker1024
9f05297dc8 flutter.buildFlutterApplication: Manually supply the dependency list
This removes the need for IFD.
2023-04-23 00:12:45 +10:00
Artturi
5fd9ce4fa7
Merge pull request #190610 from amjoseph-nixpkgs/pr/build-rust-crate/gdk3 2023-04-22 15:45:56 +03:00
Weijia Wang
3c6e26b2ee buildFHSEnv: restrict pkgsi686Linux to x86_64-linux 2023-04-22 15:31:27 +03:00
github-actions[bot]
28227b79ab
Merge master into staging-next 2023-04-22 06:01:12 +00:00
Doron Behar
a82c8611ce
buildGoModule: don't inherit build hooks when building go-modules (#225349)
* buildGoModule: don't inherit postBuild hook when building go-modules

This is a slight revert of 5ce647b8bf
(#212800).

Inheriting these hooks in the `.go-modules` derivation can be confusing:
One doesn't expect them to run when generating the fixed output modules
derivation, but only on the main derivation. A `postBuild` hook that
adds some files to $out will cause a very hard to debug issue[1].

This commit adds support for a dedicated `modPostBuild` hook that will
be used only by the derivation building `.go-modules`. Additionally,
`go.section.md` now explains these attributes behavior better.

[1]:
https://discourse.nixos.org/t/cant-update-a-go-package-getting-go-inconsistent-vendoring/27063/6

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2023-04-22 11:08:54 +10:00
github-actions[bot]
ca0f3efdbe
Merge master into staging-next 2023-04-21 18:01:26 +00:00
Florian Klink
6b27ed3229
Merge pull request #169116 from ElvishJerricco/systemd-stage-1-networkd
Systemd stage 1 networkd
2023-04-21 18:40:59 +02:00
github-actions[bot]
f5d4a4e3d6
Merge master into staging-next 2023-04-19 06:01:15 +00:00
Artturi
ddc418f3b1
Merge pull request #187210 from pinn3/fetchgit/remove-outdated-comment 2023-04-19 03:49:19 +03:00
github-actions[bot]
23eaff7dae
Merge staging-next into staging 2023-04-17 18:01:41 +00:00
7c6f434c
17b4ad7c2f
Merge pull request #217587 from winterqt/build-dotnet-module-darwin-sandbox
buildDotnetModule: fix sandboxed builds on darwin
2023-04-17 14:08:21 +00:00
hacker1024
37e93f7c3b flutter.buildFlutterApplication: Supply package metadata to overrides 2023-04-17 14:40:18 +10:00
github-actions[bot]
3d3f04baba
Merge staging-next into staging 2023-04-17 00:02:39 +00:00
Adam Joseph
9e3b2a5822
Merge pull request #226366 from mmlb/rename-gnatboot
gnatboot: rename to gnat-bootstrap
2023-04-16 22:37:53 +00:00
hacker1024
0495725a1f flutter.buildFlutterApplication: Introduce a package override repository
Some Flutter packages require additional attribute values to be added to buildFlutterApplication, to add things like libraries and environment variables.

To prevent duplication in applications that use the packages, a repository of package overrides is kept. buildFlutterApplication will look for package overrides for each dependency, and apply them by calling overrideAttrs on itself.
2023-04-17 03:21:01 +10:00
hacker1024
329c494d0c flutter.buildFlutterApplication: Allow overriding configuration attributes
This allows thing like `flutterBuildFlags` and `runtimeDependencies` to be overridden with `overrideAttrs`.

Attributes that affect dependency retrieval cannot be overridden.
2023-04-17 02:59:02 +10:00
hacker1024
87f809e0c6 dart.list-dart-deps: Add list-dart-deps function
This uses `dart pub deps` (https://dart.dev/tools/pub/cmd/pub-deps) to retrieve information about project dependencies.

It requires a fetch-dart-deps derivation as input.
2023-04-16 23:16:17 +10:00
hacker1024
4f5dd08fe8 dart.fetch-dart-deps: Add hook runtime dependencies 2023-04-16 23:11:07 +10:00
hacker1024
b68a185b0f dart.fetch-dart-deps: Expose the package cache files through passthru 2023-04-16 23:06:22 +10:00
github-actions[bot]
2859a56694
Merge staging-next into staging 2023-04-16 12:01:49 +00:00
hacker1024
bbfc7911d3 flutter.buildFlutterApplication: Supply runtime dependencies
This wraps Flutter programs with an appropriate LD_LIBRARY_PATH.

For some reason, the RUNPATH of the executable is not used to load dynamic libraries in dart:ffi with DynamicLibrary.open().

This could alternatively be fixed with patchelf --add-needed, but this would cause all the libraries to be opened immediately,
which is not what application authors expect.

The name of the runtimeDependencies argument was chosen to match autoPatchelfHook, which has a similar feature.
2023-04-16 19:25:42 +10:00
Atemu
f63a12f296 tree-wide: buildFHSUserEnv -> buildFHSEnv 2023-04-16 10:15:13 +02:00
Vladimír Čunát
f2186222c6
Merge #225846: cc-wrapper: deunify clang/gcc handling of -B
...into staging
2023-04-16 09:59:54 +02:00
hacker1024
eefb67036f flutter.buildFlutterApplication: Move debugging symbols into another output
This reduces the size of the executable.

It works well with Nix - if the user includes the version in their bug report, the exact debugging symbols required can easily be found.
2023-04-16 16:47:08 +10:00
hacker1024
5a5435dea6 flutter.buildFlutterApplication: Add flutterBuildFlags argument 2023-04-16 15:45:09 +10:00
Manuel Mendez
31d6802773 gnatboot: rename to gnat-bootstrap
Most other bootstrap compilers are named -bootstrap so lets follow that
pattern.
2023-04-15 18:52:14 -04:00
hacker1024
1f7eab1c38 dart.fetch-dart-deps: Fix invalid syntax in pubspec validation statement 2023-04-16 03:56:14 +10:00
hacker1024
075f50f2d1 dart.fetch-dart-deps: Compress the generated pubspec.lock file
This is much more practical for users to copy, as it significantly reduces the length of the output.
2023-04-16 03:32:26 +10:00
hacker1024
643b62c8f1 dart.fetch-dart-deps: Don't allow overriding the deps derivation name 2023-04-16 03:21:29 +10:00
hacker1024
5fa3b41041 dart.fetch-dart-deps: Verify the pubspec.lock as well as pubspec.yaml
88275ca6d6 inadvertently stopped the pubspec.lock from changing, as it copied the file before running pub get.

pub get can modify the pubspec.lock to update it to newer formats (for example by adding hashes and updating URLs, see an example diff below). We do not need the modifications at any later stage, so we can preserve the original file.

      boolean_selector:
        dependency: transitive
        description:
          name: boolean_selector
    +      sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
    +      url: "https://pub.dev"
    -      url: "https://pub.dartlang.org"
        source: hosted
    +    version: "2.1.1"
    -    version: "2.1.0"
2023-04-16 03:20:36 +10:00
hacker1024
0e5db63dc3 dart.fetch-dart-deps: Don't delete .git/pub-packages 2023-04-16 02:56:43 +10:00
hacker1024
88275ca6d6 flutter.buildFlutterApplication: Allow using a custom pubspec.lock 2023-04-16 01:49:43 +10:00
hacker1024
d2ab34122d dart.fetch-dart-deps: Remove stray comment from the dependency derivation 2023-04-16 00:55:55 +10:00
gilice
4e68ee327e flutter.buildFlutterApplication: Add an explanation when a pubspec mismatch occurs 2023-04-16 00:35:15 +10:00
hacker1024
915a6779fc flutter.buildFlutterApplication: Refactor dependency setup as a standalone derivation with an output hook
This allows anything that needs to build a Dart application (such as a future `buildDartApplication` function) to use the same setup.
2023-04-16 00:17:41 +10:00
github-actions[bot]
a6e62de641
Merge staging-next into staging 2023-04-15 12:02:10 +00:00
Kira Bruneau
99a95083df
Merge pull request #178280 from veprbl/pr/ccache_clang_fix
cc-wrapper: disable response files for ccache
2023-04-15 06:47:01 -04:00
hacker1024
f00f918e27 flutter: Remove cached Git package Git directories
Pub does not perform any Git operations on the cached package directly, instead cloning it through a mirror.

The .git directories are not needed, and are a source of non-determinism.
2023-04-15 20:30:46 +10:00
hacker1024
c3a87421ae flutter: Don't tarball the package cache
Co-authored-by: FlafyDev <flafyarazi@gmail.com>

The dependency fixed-output derivation now uses the recursive hash mode to avoid tarballing and copying all the files.

https://github.com/NixOS/nix/issues/6660 was ran into during the development of this change. Input references were found in the Git package cache before nukeReferences was used.

It turns out that the mirrors in the Git package cache do not actually need to be preserved, as the SDK does not use them during the build process. They are therefore deleted in the dependency derivation and re-created as blank repositories in the main derivation.

A description of the Git package cache layout can be found here: c890afa1d6/lib/src/source/git.dart (L339)
2023-04-15 20:17:44 +10:00
github-actions[bot]
5f6ff7e8cf
Merge staging-next into staging 2023-04-15 00:02:38 +00:00
Weijia Wang
ddd8604a3b moveBuildTree: init 2023-04-14 21:08:27 +03:00
hacker1024
fdce3f30c4 flutter.mkFlutterApp: Don't hash more unstable files
Files and directories such as .dart_tool, .flutter-plugins, .packages and .pub-cache/hosted/*/.cache will be happily regenerated by the SDK in an offline environment.

The patches being made to these files and directories to remove non-determinism were flawed: They did not handle cases where files only appeared in one run, or cases where tooling versions had an effect on the output.
2023-04-15 03:18:56 +10:00
github-actions[bot]
6176f16de2
Merge staging-next into staging 2023-04-14 12:02:03 +00:00
Guillaume Maudoux
46a39c48c0
Merge pull request #226038 from SomeoneSerge/cuda_nvrtc-origin
cudaPackages: append $ORIGIN to Runpaths
2023-04-14 11:28:16 +02:00
Sandro
b04d4bad27
Merge pull request #216992 from SuperSandro2000/stdenvNative-fix-eval
{bintools,cc}-wrapper: don't fallback to version = null
2023-04-14 11:22:20 +02:00
Adam Joseph
c1e956e0a9 cc-wrapper: deunify clang/gcc handling of -B flag
Closes #225779
Closes #225780
2023-04-13 22:57:09 -07:00
hacker1024
7e12e3afaa flutter.mkFlutterApp: Remove the target architecture from the dependency derivation name
As the dependency tarballs no longer include SDK artifacts, they are not platform dependent.
2023-04-14 14:25:33 +10:00
hacker1024
30caca0839 flutter.mkFlutterApp: Add Git to nativeBuildInputs
The deterministic Git script depends on it.
2023-04-14 02:16:04 +10:00
Someone Serge
b612fe36b2
autoPatchelfHook: add appendRunpaths argument 2023-04-13 19:12:37 +03:00
hacker1024
f7e3c19cc8 flutter.mkFlutterApp: Don't vendor arbitrary configuration files 2023-04-14 01:49:09 +10:00
hacker1024
8f9aa6b18b flutter.mkFlutterApp: Don't use autoPatchelf on package cache
While this may be beneficial for packages that ship native binaries, this causes issues due to Flutter packages that have inappropriately uploaded build artifacts (such as those from example subprojects) to pub.dev.
2023-04-14 01:41:58 +10:00
hacker1024
04e7ced7e2 mkFlutterApp: Don't fetch prebuilt artifacts
Artifacts are now supplied by the Flutter SDK derivation.

In addition, they are no longer a factor in the dependency hash calculation.
2023-04-13 22:01:42 +10:00
hacker1024
6d50bcc487 mkFlutterApp: Deduplicate build environment setup
The build environment is now set up by the Flutter wrapper, and does not need to be done in mkFlutterApp.
2023-04-13 22:00:24 +10:00
hacker1024
d5aa0c1f97 Merge remote-tracking branch 'NixOS/master' into patch-3 2023-04-13 19:22:50 +10:00
github-actions[bot]
ae00b7fb14
Merge staging-next into staging 2023-04-13 00:02:47 +00:00
Sandro Jäckel
7090651071
{bintools,cc}-wrapper: don't fallback to version = null
mkDerivation cannot handle that
2023-04-12 22:08:36 +02:00
Sandro Jäckel
a7dbdb7644
cc-wrapper: don't set env to null when nativeTools is used
This is not allowed and fails fatal
2023-04-12 22:08:36 +02:00
Adam Joseph
42c8e4dd18 build-rust-crate: dontStrip=!release
Without this PR, unlike `RUST_LIB_BACKTRACE=1 cargo run` you won't
get line numbers in backtraces from binaries built with:

```
nix build -f Cargo.nix --arg release false
```

This PR fixes that.
2023-04-12 15:24:50 -04:00
Adam Joseph
15e2a735f8 Revert "cc-wrapper: add optional temporary hack for -B"
This reverts commit ac3acd956f.
2023-04-12 10:26:23 -07:00
github-actions[bot]
f4a0b6d5fa
Merge staging-next into staging 2023-04-12 12:02:59 +00:00
Vladimír Čunát
ac3acd956f
cc-wrapper: add optional temporary hack for -B
This fixes parts in llvmPackages_{13,rocm}
e.g. build .clang for testing.
Longterm mass-rebuild fix should come in PR #225846
2023-04-12 09:37:24 +02:00
Artturi
a2da3d62a6
Merge pull request #225220 from amjoseph-nixpkgs/pr/gfortran/do-not-disable-bootstrap 2023-04-11 22:33:14 +03:00
Will Fancher
762b69f2ff systemd-initrd: Fix up root directory mode 2023-04-11 15:20:47 -04:00
github-actions[bot]
1144179146
Merge staging-next into staging 2023-04-11 18:01:52 +00:00
github-actions[bot]
4e2c1815ed
Merge master into staging-next 2023-04-11 18:01:18 +00:00
Adam Joseph
de8ce81ff2 cc-wrapper: deunify clang/gcc treatment of -isystem
In https://github.com/NixOS/nixpkgs/pull/209870 I tried to unify the
treatment of clang and gcc in cc-wrapper as much as possible.
However it appears that I went too far.

Clang requires -isystem flags in order to be able to find gcc's
libstdc++.  Gcc does not need these flags.  If they are added,
gfortran will get confused:

  https://github.com/NixOS/nixpkgs/pull/209870#issuecomment-1500550903

This commit deunifies the chunk of code that adds the -isystem
flags, and explains why this chunk applies only to clang.
2023-04-11 20:19:58 +03:00
Artturin
b1d4dfddaf Revert "julia{18,19,}: fix build by a temporary hack"
This reverts commit e2691227cd.
2023-04-11 20:19:58 +03:00
Yarny0
fcbf9c6415 patch-ppd-files: use meta and passthru directly
When I authored the nix file in
335a9083b0,
`makeSetupHook` didn't know about `passthru` or `meta`.
So I foisted these attributes on the
derivation with `.overrideAttrs`.

Commits ba895a7da8 and
48034046bf enabled
`makeSetupHook` to receive these attributes directly.
It seems advisable to use that instead of `.overrideAttrs`.
2023-04-11 16:58:18 +02:00
Atemu
9f26295eaa
Merge pull request #225471 from Atemu/fhsenv-pname+version
buildFHSEnvBubblewrap: support pname + version
2023-04-11 15:35:43 +02:00
Atemu
7a1de48994 anki-bin: use pname + version instead of hacky override 2023-04-11 13:27:29 +02:00
github-actions[bot]
da9d584845
Merge staging-next into staging 2023-04-10 18:01:45 +00:00
Vladimír Čunát
e2691227cd
julia{18,19,}: fix build by a temporary hack
This is a low-rebuild version of PR #225273
/cc the proper and hopefully complete fix in PR #225220
2023-04-10 16:36:55 +02:00
Atemu
7398d5fc79 buildFHSEnvBubblewrap: support pname + version 2023-04-09 19:52:11 +02:00
github-actions[bot]
b32e5be4f2
Merge staging-next into staging 2023-04-09 06:01:59 +00:00
github-actions[bot]
fc0616b73d
Merge master into staging-next 2023-04-09 06:01:16 +00:00
figsoda
ce0ee58e84
Merge pull request #224893 from amjoseph-nixpkgs/pr/crate-overrides/evdev-sys
default-crate-overrides.nix: prevent `git fetch`
2023-04-09 00:01:20 -04:00
zowoq
dc73bd6430 buildGo{Module,Package}: minor cleanup 2023-04-09 12:23:16 +10:00
Sandro
4806f62694
Merge pull request #224669 from raboof/preserve-dates-while-stripping 2023-04-09 03:28:06 +02:00
github-actions[bot]
97afa6ec9b
Merge master into staging-next 2023-04-09 00:02:38 +00:00
Sandro
2341c80301
Merge pull request #219707 from Stunkymonkey/fetchmavenartifact-deprecate-phases 2023-04-09 01:42:04 +02:00
github-actions[bot]
8ae069b888
Merge master into staging-next 2023-04-08 12:01:05 +00:00
Franz Pletz
a50962e4c4
Merge pull request #224458 from helsinki-systems/upd/nginx
nginxMainline: 1.23.3 -> 1.23.4
2023-04-08 11:49:55 +02:00
github-actions[bot]
75e19b98bb
Merge master into staging-next 2023-04-08 00:02:03 +00:00
Justin Bedő
86dc68fab4
Merge pull request #224905 from NixOS/r-updates
rPackages: CRAN repository changes and treewide update
2023-04-08 06:45:19 +10:00
Adam Joseph
579b812b0e https://github.com/NixOS/nixpkgs/pull/224893#pullrequestreview-1375521876 2023-04-06 13:43:22 -07:00
Adam Joseph
482b61e142 default-crate-overrides.nix: prevent git fetch
The build.rs script shipped with evdev-sys attempts to detect cross
compilation and uses a completely different codepath which does a
`git fetch` inside the build script.  This doesn't work in nixpkgs.

This PR adds a `touch libevdev/.git` to trick the `build.rs` into
thinking that it is not necessary to do a `git fetch`.

Thanks to @figsoda for finding this more-elegant solution to the
problem (my original solution needed to patch `build.rs`):

  https://github.com/NixOS/nixpkgs/pull/224893#pullrequestreview-1373809617

Tested on:
- [x] `aarch64-linux` (cross from `x86_64-linux`)
2023-04-06 13:05:07 -07:00
github-actions[bot]
638ad26bf6
Merge master into staging-next 2023-04-06 16:11:06 +00:00
Winter
faa3de1bf5
prefetch-npm-deps: fix clippy lint 2023-04-06 11:32:47 -04:00
Winter
e1d64c1941
prefetch-npm-deps: throw better error when unsupported git service is used
See https://github.com/NixOS/nixpkgs/pull/206476#discussion_r1058689383.
2023-04-06 11:32:47 -04:00
Winter
7e247e6fec
prefetch-npm-deps: download dev deps for git deps with install scripts
Git dependencies with install scripts are built isolated from the main
package, so their development dependencies are required.

To take advantage of this, #206477 is needed.
2023-04-06 11:32:39 -04:00
Winter
3e68a27822
prefetch-npm-deps: refactor
This splits prefetch-npm-deps into multiple files, as well as making a
few small changes along the way, such as going from a `HashMap` to a `Vec`
as the container for packages, to deduplicate them more efficently.
2023-04-06 11:32:23 -04:00
Uri Baghin
0a65747324
Merge pull request #224917 from uri-canva/uri/fix-symlinks
buildBazelPackage: fix difference between linux and darwin deps
2023-04-06 22:10:59 +10:00
github-actions[bot]
6e7ab02752
Merge master into staging-next 2023-04-06 06:01:26 +00:00
Uri Baghin
f8ee061247 buildBazelPackage: fix difference between linux and darwin deps 2023-04-06 11:42:46 +10:00
figsoda
bb70c6cba3
Merge pull request #224892 from amjoseph-nixpkgs/pr/crate-overrides/prost-build 2023-04-05 20:27:51 -04:00
Uri Baghin
3df364d185
Merge pull request #224765 from uri-canva/uri/overwrite
buildBazelPackage: allow buildAttrs and fetchAttrs to override inherited attrs
2023-04-06 10:13:53 +10:00
github-actions[bot]
be07e18261
Merge master into staging-next 2023-04-06 00:02:09 +00:00
Justin Bedo
2231a9c89a
Merge remote-tracking branch 'origin/master' into r-updates 2023-04-06 08:51:55 +10:00
Adam Joseph
476fde08af default-crate-overrides.nix: prost-build needs protobuf 2023-04-05 15:40:17 -07:00
Artturi
38263d02cf
Merge pull request #224503 from Artturin/nixpredockerfix 2023-04-06 00:09:41 +03:00
github-actions[bot]
ae5b53747b
Merge master into staging-next 2023-04-05 12:01:10 +00:00
Uri Baghin
1ee2c5c9eb buildBazelPackage: allow buildAttrs and fetchAttrs to override inherited attrs 2023-04-05 20:51:52 +10:00
Justin Bedo
3e6b47a007
rPackages: switch to official CRAN mirrors 2023-04-05 13:25:06 +10:00
Uri Baghin
440b4de588 buildBazelPackage: support multiple targets 2023-04-05 12:59:54 +10:00
Arnout Engelen
112150ec70
setup-hooks/strip.sh: preserve file dates
AFAIK this doesn't have a noticable effect for typical
Linux executables, but will avoid setting the timestamp
inside the file for Windows executables to the build
date.
2023-04-04 18:52:39 +02:00
Vladimír Čunát
834334f2c2
Merge #169327: cc-wrapper: fix minor problems
...into staging
2023-04-04 09:25:59 +02:00
Vladimír Čunát
87a8a597e6
Merge #223741: writeTextFile: chmod before checkPhase
...into staging
2023-04-04 08:57:05 +02:00
Robin Bate Boerop
824c9ac5c9 nix-prefetch-docker: handle overrides correctly
Without this change, the `--os` and `--arch` switches are disregarded
for operations involving `skopeo inspect` invocations. This means that,
for example, one cannot fetch Linux images while on macOS.
2023-04-03 21:12:13 +03:00
github-actions[bot]
a59e8336d7
Merge staging-next into staging 2023-04-03 18:01:56 +00:00
Bernardo Meurer
f1f6ca8bcd
Merge pull request #209870 from amjoseph-nixpkgs/pr/stdenv/external-gcc-bootstrap 2023-04-03 08:19:03 -07:00
ajs124
b7cb74322c fetchhg: allow specifying (sri) hash 2023-04-03 12:40:35 +02:00
Andrew Hamon
e929a99848 writeShellApplication: allow substitutions and remote building.
Unlike most other trivial builders, writeShellApplication has a
relatively heavy checkphase that invokes shellcheck. On my system,
a small writeShellApplication takes over 1 second to build.

This PR allows substitutions and stops preferring local builds for
writeShellApplication.
2023-04-02 14:36:32 -07:00
Adam Joseph
6c209e862e emacs: path fixes resulting from libgccjit changes
The Nix-driven bootstrap of gcc resulted in some changes to the
structure of the `libgccjit` outpaths, and also added an additional
output (`libgcc`) to `gcc`.

This commit makes the corresponding changes in the `emacs`
derivation in order to not break emacs.

Emacs is the only user of `libgccjit` in nixpkgs at the moment.
2023-04-02 13:49:54 -07:00
Adam Joseph
7553d0fe29 stdenv: Nix-driven bootstrap of gcc
#### Summary

By default, when you type `make`, GCC will compile itself three
times.  This PR inhibits that behavior by configuring GCC with
`--disable-bootstrap`, and reimplements the triple-rebuild using
Nix rather than `make`/`sh`.

 #### Immediate Benefits

- Allow `gcc11` and `gcc12` on `aarch64` (without needing new
  `bootstrapFiles`)
- Faster stdenv rebuilds: the third compilation of gcc
  (i.e. stageCompare) is no longer a `drvInput` of the final stdenv.
  This allows Nix to build stageCompare in parallel with the rest of
  nixpkgs instead of in series.
- No more copying `libgcc_s` out of the bootstrap-files or other
  derivations
- No more Frankenstein compiler: the final gcc and the libraries it
  links against (mpfr, mpc, isl, glibc) are all built by the same
  compiler (xgcc) instead of a mixture of the bootstrapFiles'
  compiler and xgcc.
- No more [static lib{mpfr,mpc,gmp,isl}.a hack]
- Many other small `stdenv` hacks eliminated
- `gcc` and `clang` share the same codepath for more of `cc-wrapper`.

 #### Future Benefits

- This should allow using a [foreign] `bootstrap-files` so long as
  `hostPlatform.canExecute bootstrapFiles`.
- This should allow each of the libraries that ship with `gcc`
  (lib{backtrace, atomic, cc1, decnumber, ffi, gomp, iberty,
  offloadatomic, quadmath, sanitizer, ssp, stdc++-v3, vtv}) to be
  built in separate (one-liner) derivations which `inherit src;`
  from `gcc`, much like https://github.com/NixOS/nixpkgs/pull/132343

 #### Incorporates

- https://github.com/NixOS/nixpkgs/pull/210004
- https://github.com/NixOS/nixpkgs/pull/36948 (unreverted)
- https://github.com/NixOS/nixpkgs/pull/210325
- https://github.com/NixOS/nixpkgs/pull/210118
- https://github.com/NixOS/nixpkgs/pull/210132
- https://github.com/NixOS/nixpkgs/pull/210109
- https://github.com/NixOS/nixpkgs/pull/213909
- https://github.com/NixOS/nixpkgs/pull/216136
- https://github.com/NixOS/nixpkgs/pull/216237
- https://github.com/NixOS/nixpkgs/pull/210019
- https://github.com/NixOS/nixpkgs/pull/216232
- https://github.com/NixOS/nixpkgs/pull/216016
- https://github.com/NixOS/nixpkgs/pull/217977
- https://github.com/NixOS/nixpkgs/pull/217995

 #### Closes

- Closes #108305
- Closes #108111
- Closes #201254
- Closes #208412

 #### Credits

This project was made possible by three important insights, none of
which were mine:

1. @ericson2314 was the first to advocate for this change, and
   probably the first to appreciate its advantages.  Nix-driven
   (external) bootstrap is "cross by default".

2. @trofi has figured out a lot about how to get gcc to not mix up
   the copy of `libstdc++` that it depends on with the copy that it
   builds, by moving the `bootstrapFiles`' `libstdc++` into a
   [versioned directory].  This allows a Nix-driven bootstrap of gcc
   without the final gcc would still having references to the
   `bootstrapFiles`.

3. Using the undocumented variable [`user-defined-trusted-dirs`]
   when building glibc.  When glibc `dlopen()`s `libgcc_s.so`, it
   uses a completely different and totally special set of rules for
   finding `libgcc_s.so`.  This trick is the only way we can put
   `libgcc_s.so` in its own separate outpath without creating
   circular dependencies or dependencies on the bootstrapFiles.  I
   would never have guessed to use this (or that it existed!) if it
   were not for a [comment in guix] which @Mic92 [mentioned].

My own role in this PR was basically: being available to go on a
coding binge at an opportune moment, so we wouldn't waste a
[crisis].

[aarch64-compare-ofborg]: https://github.com/NixOS/nixpkgs/pull/209870/checks?check_run_id=10662822938
[amd64-compare-ofborg]: https://github.com/NixOS/nixpkgs/pull/209870/checks?check_run_id=10662825857
[nonexistent sysroot]: https://github.com/NixOS/nixpkgs/pull/210004
[versioned directory]: https://github.com/NixOS/nixpkgs/pull/209054
[`user-defined-trusted-dirs`]: https://sourceware.org/legacy-ml/libc-help/2013-11/msg00026.html
[comment in guix]: 5e4ec82181/gnu/packages/gcc.scm (L253)
[mentioned]: https://github.com/NixOS/nixpkgs/pull/210112#issuecomment-1379608483
[crisis]: https://github.com/NixOS/nixpkgs/issues/108305
[foreign]: https://github.com/NixOS/nixpkgs/pull/170857#issuecomment-1170558348
[static lib{mpfr,mpc,gmp,isl}.a hack]: 2f1948af9c/pkgs/stdenv/linux/default.nix (L380)
2023-04-02 13:49:41 -07:00
Adam Joseph
39c7885cd9 cc-wrapper: if isClang, add -L${gccForLibs.libgcc}/lib
When wrapping `clang` and using a `gccForLibs` whose `libgcc` is in
its own output (rather than the `lib` output), this commit will adds
`-L${gccForLibs.libgcc}/lib` to `cc-ldflags`.

If that flag is not added, `firefox` will fail to compile because it
invokes `clang-wrapper` with `-fuse-ld=lld` and passes `-lgcc_s` to
`lld`, but does not tell `lld` where to find `libgcc_s.so`.  In that
situation, firefox will fail to link.
2023-04-02 03:04:20 -07:00
Adam Joseph
3b49fb2ab6 trivial-builders/test/references.nix: fix eval
The command

```
nix-build -A tests.trivial-builders.references --show-trace
```

fails eval with

```
in job ‘nixpkgs.tests.trivial-builders.references’:
error: The option `meta.description' does not exist. Definition values:
       - In `makeTest parameters': "Run the Nixpkgs trivial builders tests"
```

because `meta.description` and `meta.license` are not valid for
`nixosTest`s (they are valid for `mkDerivation` of course).

This has been causing Hydra eval failures:

  https://hydra.nixos.org/jobset/nixos/pr-209870-gcc-external-bootstrap#tabs-errors

Let's fix eval by removing these attributes.
2023-04-02 03:04:20 -07:00
github-actions[bot]
47ddbcb1f0
Merge staging-next into staging 2023-03-31 00:03:05 +00:00
Sandro
06c40b7498
Merge pull request #218991 from Trundle/builddotnetmodule-space-wrapper-args 2023-03-31 01:19:55 +02:00
github-actions[bot]
04fb768a55
Merge staging-next into staging 2023-03-30 18:01:42 +00:00
Naïm Favier
62a3b6448f Revert "symlinkjoin: print warning when keeping existing file" 2023-03-30 13:21:42 -03:00
github-actions[bot]
0a1c5be4ef
Merge staging-next into staging 2023-03-30 06:01:44 +00:00
Marco Rebhan
f78175ad35 desktopToDarwinBundle: Fix icon selection algorithm
Now, the fallback icon is only used after considering all possible icons
instead of only the first one.
2023-03-29 16:42:57 +02:00
Marco Rebhan
d9a07bcd41 desktopToDarwinBundle: Add debug outputs for icon conversion 2023-03-29 16:42:57 +02:00
Naïm Favier
e6f19ea429
writeTextFile: chmod before checkPhase
Set the executable bit before running the check phase, so that the check
phase can run the script to test its behaviour.

This aligns with what `concatTextFile` is doing.

Also use explicit `if` statements so that we don't silently ignore
`chmod` failures.
2023-03-29 14:06:45 +02:00
sternenseemann
192d03bee4 writers: fix aarch64-darwin workaround if content is a string
When authoring #220966, I missed that the `//` would take effect solely
in the else branch, fixing hledger-check-fancyassertions, but not
tests.writers.bin.haskell.
2023-03-29 03:29:13 +02:00
github-actions[bot]
496dc37e4b
Merge staging-next into staging 2023-03-29 00:03:13 +00:00
Antonio Nuno Monteiro
91137380e6
buildDunePackage: use --mandir instead of --man 2023-03-28 11:07:28 -07:00
github-actions[bot]
202cb8119f
Merge staging-next into staging 2023-03-28 18:01:48 +00:00
Atemu
91f5aa3446
Merge pull request #213378 from Atemu/steam-env-vars
steam: add extraEnv argument
2023-03-28 17:25:14 +02:00
Lily Foster
a777753eb2
fetchYarnDeps: add more git url tests 2023-03-27 19:40:08 -04:00
Lily Foster
88375f1b74
fetchYarnDeps: fix test hashes 2023-03-27 19:40:08 -04:00
Lily Foster
e7cd275cd8
fetchYarnDeps: account for more yarn.lock spec edge cases
* Ignore relative `file:` paths.
* Support github codeload URLs with `refs/tags/tag` in addition to just `tag`.
* Support https://github.com/owner/repo/archive/ref.tar.gz URLs for git download.
2023-03-27 19:40:05 -04:00
figsoda
63b9aeed13
Merge pull request #223320 from figsoda/auditable 2023-03-27 19:32:02 -04:00
Vladimír Čunát
1acb9fd044
Merge branch 'master' into staging 2023-03-27 09:36:27 +02:00
Atemu
bdf0dd28b9
Merge pull request #219091 from cdepillabout/buildfhsuserenv-version
buildFHSUserEnv: add version arg
2023-03-27 08:46:24 +02:00
figsoda
201d4b7c5c rustPlatform.buildRustPackage: make auditable the default 2023-03-26 22:47:06 -04:00
zowoq
9861cf4a7f rustPlatform.fetchCargoTarball: use sparse protocol for crates.io 2023-03-27 08:08:40 +10:00
Felix Buehler
0f57b4bd73 fetchMavenArtifact: deprecate phases & use pname+version 2023-03-26 18:44:55 +02:00
Atemu
192c3ecd4b buildFHSEnvBubblewrap: allow deeper introspection via passthru 2023-03-26 17:19:29 +02:00
Marco Rebhan
b48f6118c4
desktopToDarwinBundle: Return at most 1 literal match from desktop file
This fixes multiple entries being returned from getDesktopParam, e.g. in the
case of localized key names: 'Name', 'Name[de]', and makes this function to
match this key exactly instead of a pattern for the same reason.
2023-03-26 12:47:52 +02:00
github-actions[bot]
72fc224baa
Merge staging-next into staging 2023-03-26 06:01:39 +00:00
github-actions[bot]
ff3e86d2b4
Merge master into staging-next 2023-03-26 06:01:06 +00:00
Yureka
4329de1264 rustPlatform.fetchCargoTarball: fail on git dependencies
The reason is that we can not expect the extended logic run on git
dependencies starting from Cargo 1.68 to be reproducible in future
 versions, and thus the output hash would not be sufficiently stable.
https://github.com/rust-lang/cargo/pull/11414
2023-03-26 01:52:03 +01:00
github-actions[bot]
333618087c
Merge staging-next into staging 2023-03-26 00:03:19 +00:00
github-actions[bot]
07fb9cae4e
Merge master into staging-next 2023-03-26 00:02:45 +00:00
Yureka
5ce282e57e rustPlatform.importCargoLock: follow symlinks when copying tree
fixes build when git dependencies contain symlinks into parent directory

needed for libdeltachat
2023-03-26 00:02:16 +01:00
Yureka
37b31d4a2f rustPlatform.importCargoLock: always fetch submodules when builtins.fetchGit is used 2023-03-26 00:02:16 +01:00
Artturin
780669daf5 treewide: don't hardcode /nix/store (no rebuilds changes)
improve experience for other store locations
2023-03-24 20:11:33 +02:00
github-actions[bot]
9e6337ddc0
Merge staging-next into staging 2023-03-24 12:02:22 +00:00
Vladimír Čunát
12dd95fbb1
Merge branch 'master' into staging-next 2023-03-24 09:07:41 +01:00
Vladimír Čunát
cb10bd6cb3
lapack: force a rebuild on x86_64-darwin
I have no idea why, but Hydra cached a corrupted binary
/nix/store/h0412qmi29ivgrc42lfhi1x290d6l429-lapack-3/lib/liblapack.dylib
so rebuilding it fixes issues in various dependants, e.g.
https://hydra.nixos.org/log/nqfq62pqbbmsq08kb2pljdkz9ldyr57b-python3.10-numpy-1.24.2.drv
2023-03-24 08:57:05 +01:00
Ivan Trubach
dcc576176c buildGo{Module,Package}: fix precedence for or operator 2023-03-24 15:45:25 +10:00
D Anzorge
c86b1a0bca rustPlatform.importCargoLock: handle workspace Cargo.toml false positives
Since we grep for 'workspace', it's possible the script ends up running
on a Cargo.toml that has the word 'workspace' in a comment, but does not
actually use workspaces
2023-03-24 15:45:16 +10:00
zowoq
6085b3b7f7
Merge pull request #215408 from astro/rust-sysroot 2023-03-24 15:44:59 +10:00
Vladimír Čunát
0a88dec4f3
Merge branch 'staging-next' into staging 2023-03-21 12:57:16 +01:00
Louis Blin
e2825fb1b5 rustPlatform.importCargoLock: improved semantics for 'extraRegistries' option
Clearer API following the recommendation on the pull request that
introduced this option a few days ago:
https://github.com/NixOS/nixpkgs/pull/221381#discussion_r1141226293
2023-03-20 14:40:04 -04:00
Martin Weinelt
9959ec97f8
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
- pkgs/development/python-modules/wxPython/4.0.nix
- pkgs/development/python-modules/wxPython/4.1.nix
2023-03-20 15:07:36 +01:00
mdarocha
d093086a2b buildDotnetModule: add support for using combinePackages as dotnet-sdk
This allows packages that require several dotnet versions to build (like
BeatSaberModManager) to properly depend on the dotnet-sdk specific deps.
This in turns avoids having to regenerate the deps of those packages
after each dotnet-sdk update.

This also changes nuget-to-nix to accept a file with a list of
exclusions instead of a folder.
2023-03-19 20:53:39 +01:00
github-actions[bot]
c70342c89c
Merge master into staging-next 2023-03-19 00:02:27 +00:00
Winter
5686f0064d rustPlatform.importCargoLock: add support for git dependencies that use workspace inheritance
Rust 1.64.0 added support for workspace inheritance, which allows
for crates to inherit values such as dependency version constraints or
package metadata information from their workspaces [0].

This works by having workspace members specify a value as a table, with
`workspace` set to true. Thus, supporting this in importCargoLock is as
simple as walking the crate's Cargo.toml, replacing inherited values
with their workspace counterpart.

This is also what a forthcoming Cargo release will do for `cargo vendor` [1],
but we can get ahead of it ;)

[0]: https://blog.rust-lang.org/2022/09/22/Rust-1.64.0.html#cargo-improvements-workspace-inheritance-and-multi-target-builds
[1]: https://github.com/rust-lang/cargo/pull/11414
2023-03-18 20:34:59 +01:00
github-actions[bot]
4742d1b3d6
Merge staging-next into staging 2023-03-18 18:01:35 +00:00
github-actions[bot]
403b148aa5
Merge master into staging-next 2023-03-18 18:01:02 +00:00
Robert Hensing
1dd6d307f7
Merge pull request #221766 from amjoseph-nixpkgs/pr/trivial-builders/test/fix-eval
trivial-builders/test/references.nix: fix eval
2023-03-18 15:20:53 +01:00
github-actions[bot]
00623e191a
Merge staging-next into staging 2023-03-18 14:01:22 +00:00
github-actions[bot]
7f0b38bc9a
Merge master into staging-next 2023-03-18 14:00:45 +00:00
Linus Heckemann
1ba1b35d7f
Merge pull request #183874 from zhaofengli/bwrap-fhs-preserve-etc-symlink
build-fhs-userenv-bubblewrap: Preserve symlinks in /etc
2023-03-18 13:15:44 +01:00
github-actions[bot]
ad9c132f13
Merge staging-next into staging 2023-03-18 06:01:47 +00:00
github-actions[bot]
36748936f9
Merge master into staging-next 2023-03-18 06:01:16 +00:00
Adam Joseph
1a657f18f7 trivial-builders/test/references.nix: fix eval
The command

```
nix-build -A tests.trivial-builders.references --show-trace
```

fails eval with

```
in job ‘nixpkgs.tests.trivial-builders.references’:
error: The option `meta.description' does not exist. Definition values:
       - In `makeTest parameters': "Run the Nixpkgs trivial builders tests"
```

because `meta.description` and `meta.license` are not valid for
`nixosTest`s (they are valid for `mkDerivation` of course).

This has been causing Hydra eval failures:

  https://hydra.nixos.org/jobset/nixos/pr-209870-gcc-external-bootstrap#tabs-errors

Let's fix eval by removing these attributes.
2023-03-17 20:56:20 -07:00
figsoda
1792c4f8c7
Merge pull request #221104 from figsoda/crate 2023-03-17 21:28:07 -04:00
github-actions[bot]
d681bc8661
Merge staging-next into staging 2023-03-18 00:03:01 +00:00
github-actions[bot]
2c8e6963dc
Merge master into staging-next 2023-03-18 00:02:30 +00:00
figsoda
7d23bdd221
Merge pull request #221413 from alyssais/rustc-musl 2023-03-17 17:25:30 -04:00
Sergei Trofimovich
0ebe51030f cc-wrapper: make $tool-prefixed cpp wrapping unconditional 2023-03-17 18:04:54 +00:00
github-actions[bot]
7105890faf
Merge staging-next into staging 2023-03-17 17:57:34 +00:00
Zhaofeng Li
42ef5ded06 build-fhs-userenv-bubblewrap: Use more descriptive names 2023-03-17 11:03:12 -06:00
Zhaofeng Li
58d73d2397 build-fhs-userenv-bubblewrap: Preserve symlinks in /etc
If the original file in /etc is a symlink, make it a symlink inside
the sandbox as well.

This fixes https://github.com/NixOS/nixpkgs/issues/126234#issuecomment-1192203498

Co-authored-by: Linus Heckemann <git@sphalerite.org>
2023-03-17 11:03:11 -06:00
Thiago Kenji Okada
f05d7d022c buildGraalvmNativeImage: allow overwriting {build,install}Phase/nativeBuildInputs 2023-03-17 16:50:52 +00:00
Sergei Trofimovich
4bdbae5ad1 cc-wrapper: wrap cpp for cross lust like to native
Without this change $target-cpp is used unwrapped and is missing
standard header search paths among other things).

Example failure:

    $ nix build -f. -L pkgsStatic.netbsd.compat
    ...
       > checking how to run the C preprocessor... x86_64-unknown-linux-musl-cpp
       > configure: error: in `/build/cvs-export/tools/compat':
       > configure: error: C preprocessor "x86_64-unknown-linux-musl-cpp" fails sanity check
       > See `config.log' for more details
2023-03-17 16:42:52 +00:00
figsoda
e939c1007c
Merge pull request #221381 from lbpdt/feature/import-cargo-lock-extra-registries 2023-03-16 20:50:20 -04:00
Louis Blin
48dc4386a4 rustPlatform.importCargoLock: support extra registries
This is useful to teach `importCargoLock` how to download crates from a
registry other than crates.io. Specifically, we publish our own crates
to an internal registry and this feature lets us pull from it seamlessly.
2023-03-16 19:13:33 -04:00
github-actions[bot]
455127ad5e
Merge master into staging-next 2023-03-16 18:01:20 +00:00
Bernardo Meurer
6e55733359
Merge pull request #219747 from Stunkymonkey/deprecate-isNull 2023-03-16 11:10:22 -03:00
Alyssa Ross
470e6130b3
rust: fix overriding rust flags on musl
If RUSTFLAGS is set in the environment, Cargo will ignore rustflags
settings in its TOML configuration.  So setting RUSTFLAGS=-g (like
separateDebugInfo does) to generate debug info breaks
dynamically-linked Rust packages on musl.  This breakage is visible
for any packages that call into C dynamic libraries.  If the binary is
linked directly to a C dynamic library, it will fail to build, and if
it depends on a Rust library which links a C dynamic library, it will
segfault at runtime when it tries to call a function from the C
library.  I noticed this because pkgsMusl.crosvm is broken for this
reason, since it sets separateDebugInfo = true.

It shouldn't be possible to end up with broken binaries just by using
RUSTFLAGS to do something innocuous like enable debug info, so I think
that, even though we liked the approach of modiyfing .cargo/config
better at the time, it's become clear that it's too brittle, and we
should bite the bullet and patch the compiler instead when targetting
musl.  It does not appear to be necessary to modify the compiler at
all when cross-compiling /from/ dynamically-linked Musl to another
target, so I'm only checking whether the target system is
dynamically-linked Musl when deciding whether to make the modification
to the compiler.

This reverts commit c2eaaae50d
("cargoSetupHook: pass host config flags"), and implements the
compiler patching approach instead.
2023-03-16 02:29:46 +00:00
Martin Weinelt
578fb7fd1f
Merge pull request #220557 from mweinelt/libxcrypt-strong
libxcrypt: Build only with strong hashes
2023-03-15 16:43:12 +00:00
github-actions[bot]
867440983f
Merge staging-next into staging 2023-03-15 06:01:43 +00:00
github-actions[bot]
068a7415f8
Merge master into staging-next 2023-03-15 06:01:09 +00:00
Chris Hodapp
1a8edfe192
emacs: Add basic tree-sitter support (#219559)
This commit adds basic support for tree-sitter in the emacs build,
such that (if the user opts into tree-sitter support), tree-sitter
will be enabled and binary library files for tree-sitter can be
included in the `lib` directory of packages passed to
`emacsWithPackages`. The libraries will be aggregated and included in
treesit-extra-load-path.

The previous pattern for this in the community was to add tree-sitter
libaries by patching emacs's `RUNPATH` with `patchelf` in a post-fixup
phase. However, this has the substantial drawback that two different
emacs installations with different lists of available tree-sitter
libraries must be entirely separate builds. By supplying the
tree-sitter libraries in the wrapping layer of `emacsWithpackages`, it
becomes possible to share a single, more-cacheable "core emacs".

This support defaults to "on" only in emacs 29 and up, since previous
versions do not support tree-sitter out of the box.
2023-03-15 16:51:29 +13:00
Martin Weinelt
3b8cf43350
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
- pkgs/development/python-modules/imageio/default.nix
- pkgs/development/python-modules/pytest-order/default.nix
2023-03-15 02:01:15 +01:00
github-actions[bot]
a3b786aa94
Merge staging-next into staging 2023-03-15 00:03:06 +00:00
figsoda
c1de216863
Merge pull request #221093 from alyssais/rustPlatform-postUnpack 2023-03-14 18:02:05 -04:00
Martin Weinelt
231c1145f2
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
- pkgs/development/python-modules/rflink/default.nix
2023-03-14 22:33:40 +01:00
sternenseemann
86dbc928fb writers: make codesign_allocate available in PATH on aarch64-darwin
codesign_allocate is assumed to be in PATH:

https://github.com/NixOS/nixpkgs/issues/154203
https://github.com/NixOS/nixpkgs/issues/148189

Using an absolute reference in post-link-sign-hook would be another
possibility, but hasn't been fruitful so far:
https://github.com/NixOS/nixpkgs/pull/148282
https://github.com/NixOS/nixpkgs/pull/208120
2023-03-14 19:45:53 +01:00
github-actions[bot]
9feb9fda3e
Merge staging-next into staging 2023-03-14 18:02:00 +00:00
Martin Weinelt
9e4d592114
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
- pkgs/development/python-modules/eve/default.nix
2023-03-14 16:49:37 +01:00
François Bobot
3b3e37f996 [OCaml] tell dune where to install man
`fixupPhase` move `$out/man` to `$out/share/man`. So the information of their location in the dune-project file is outdated which breaks dependencies on packages ( `(package foo)`).
2023-03-14 14:37:57 +01:00
github-actions[bot]
60e9cbe0f9
Merge staging-next into staging 2023-03-14 12:02:08 +00:00
Martin Weinelt
6b67186fe9
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
- pkgs/development/python-modules/crownstone-cloud/default.nix
- pkgs/development/python-modules/exrex/default.nix
- pkgs/development/python-modules/mkdocs-minify/default.nix
- pkgs/development/python-modules/myjwt/default.nix
- pkgs/development/tools/analysis/checkov/default.nix
2023-03-14 08:14:26 +01:00
figsoda
62327ff6a9 fetchCrate: add unpack option to use fetchurl instead of fetchzip 2023-03-13 22:15:02 -04:00
Alyssa Ross
cd6818baf7
rustPlatform: forward unpack hooks to cargo fetch
Sometimes it's more ergonomic to set up the build environment in
hooks, to add to the default behaviour rather than replacing it.  It's
very surprising that the fetcher works fine with a custom unpackPhase,
but not with custom preUnpack or postUnpack.

Packages that use preUnpack or postUnpack and Cargo FODs seem to be
very rare.  I searched Nixpkgs for files containing one of
"cargoHash", "cargoDeps", and "cargoSha256", and one of "preUnpack" or
"postUnpack", and only found two such packages:
python3.pkgs.tokenizers and rustdesk.  Neither of their Cargo FOD
hashes are affected by this change.  So if that's any indication,
we're unlikely to be breaking many out-of-tree hashes with these
changes either.
2023-03-14 00:26:11 +00:00
Sandro
112654fc41
Merge pull request #205115 from hraban/fetchdarcs-by-hash 2023-03-14 01:25:22 +01:00
Antonio Nuno Monteiro
45c3600bb1 buildDunePackage: fix doc installation
The default directory where dune expects docs is in
`$out/doc`, but Nix installs it in `$out/share/doc`
2023-03-13 20:50:15 +01:00
github-actions[bot]
59ffe854f9
Merge staging-next into staging 2023-03-13 18:01:48 +00:00
Martin Weinelt
bb14c4255b Merge remote-tracking branch 'origin/master' into staging-next 2023-03-13 17:14:19 +00:00
Artturi
db6255c185
Merge pull request #220030 from Artturin/write-shell-application-lighter 2023-03-13 14:44:20 +02:00
Martin Weinelt
4472cf44eb
treewide: Make yescrypt the default algorithm for pam_unix.so
This ensures `passwd` will default to yescrypt for newly generated
passwords.
2023-03-13 07:54:27 +01:00
Sergei Trofimovich
22b935ace8
Merge pull request #219683 from symphorien/separatedebuginfo_static
separate-debug-info.sh: succeed when output only contains static libs
2023-03-12 17:02:03 +00:00
github-actions[bot]
681b1c28a4
Merge staging-next into staging 2023-03-12 12:02:07 +00:00
Guillaume Girol
94c7bf576a separate-debug-info.sh: succeed when output does not contain elf files
Currently, separate-debug-info adds a debug output, and the build fail when it is
not created. the output is only created when at least one elf file is
stripped.
As a result, adding separateDebugInfo = true on a lib will break the
static build (unless the lib also contains an executable). In order to
not have to remember to add an exception every time, let's just create
the debug output unconditionally.
2023-03-12 12:00:00 +00:00
Astro
9d1aafcdeb build-support/rust: allow cross-compiling the sysroot 2023-03-12 12:24:23 +01:00
Astro
63c8961f8b build-support/rust/sysroot: let cargo-src crate become no_std 2023-03-12 12:24:23 +01:00
Astro
87837a5fcf build-support/rust/sysroot: update Cargo.lock 2023-03-12 12:24:23 +01:00
Astro
2d2aa463dd build-rust-package: call sysroot/src with the expected lib parameter 2023-03-12 12:24:23 +01:00
Vladimír Čunát
1dd94ad62f
Merge branch 'master' into staging-next 2023-03-12 09:06:28 +01:00
Artturin
23e999fd9b fetchpatch: add decode test 2023-03-11 21:39:29 +00:00
Alyssa Ross
dd6e94f2c1 fetchpatch: add "decode" argument for gerrit
(and gitiles)

This allows fetching a patch from servers that return them
base64-encoded, like this:

    fetchpatch {
      name = "gcc.patch";
      url = "f37ae3b1a8^!?format=TEXT";
      decode = "base64 -d";
      sha256 = "11j1bqz2p8xrfzgfrylgdvmqs45489c4ckl7l0ra1dpfgbqy94a8";
    }
2023-03-11 21:39:29 +00:00
Artturi
3b7e0ed336
Merge pull request #219182 from Artturin/multipleoutputsshdirnotempty 2023-03-10 23:46:23 +02:00
github-actions[bot]
96de0eded6
Merge staging-next into staging 2023-03-09 00:02:57 +00:00
github-actions[bot]
c8c1423cd9
Merge master into staging-next 2023-03-09 00:02:23 +00:00
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