Commit Graph

8702 Commits

Author SHA1 Message Date
github-actions[bot]
e9c8665026
Merge master into staging-next 2024-10-05 00:14:01 +00:00
lassulus
d263cdfff4
writers: add babashka (#343510) 2024-10-04 21:40:48 +01:00
lassulus
a6521dc687
writers: disable broken test (fsharp) (#343507) 2024-10-04 21:40:32 +01:00
github-actions[bot]
4a1f411e5d
Merge staging-next into staging 2024-09-30 18:05:14 +00:00
K900
b29cb6c1f9 Merge remote-tracking branch 'origin/master' into staging-next 2024-09-30 20:23:25 +03:00
Philip Taron
d590835329
fetchers: uniformly support the hash attribute (#342173) 2024-09-30 07:55:36 -07:00
Guillaume Maudoux
ced27bf29e
autoPatchelfHook: expose script as top level package (#340162) 2024-09-30 10:03:28 +02:00
github-actions[bot]
09f18b89af
Merge master into staging-next 2024-09-30 00:14:50 +00:00
Doron Behar
796699f22b
fetch-yarn-deps: handle packages that are locally linked (#342186) 2024-09-29 22:59:39 +03:00
Gavin John
28ee6e7979
(WIP) srcOnly: Add noogle-compatible documentation 2024-09-29 12:51:40 -07:00
Gavin John
1463fe69c6
srcOnly: use derivation's stdenv and default to stdenvNoCC 2024-09-29 12:51:39 -07:00
Gavin John
13f0f6e596
srcOnly: Add warning if dontUnpack is set 2024-09-29 12:51:38 -07:00
Gavin John
0b77f4ad4f
srcOnly: some readability improvements 2024-09-29 12:51:36 -07:00
Mathieu Rene
2462edca10 fetch-yarn-deps: handle packages that are locally linked 2024-09-29 14:14:45 -04:00
Peder Bergebakken Sundt
6fd3990534 trivial: make symlinkJoin support pname+version alone 2024-09-28 01:35:47 +02:00
Artturin
e791a35b58 cc-wrapper: Use getExe for expand-response-params
The binary in `expand-response-params` may have an extension like `.exe`

`expand-response-params` is `""` in bootstrapping
2024-09-26 22:54:14 +03:00
github-actions[bot]
a36c24f249
Merge master into staging-next 2024-09-26 12:05:40 +00:00
Ulrik Strid
c61754ed9b
buildDunePackage: allow overriding stdenv (#342785) 2024-09-26 10:26:05 +02:00
Jörg Thalheim
ab5bad33c6 Reapply "closure-info: switch to stdenvNoCC (#344456)"
This reverts commit 6f733a03df.
2024-09-26 09:33:42 +02:00
Jörg Thalheim
f379c3f392 Merge remote-tracking branch 'upstream/master' into HEAD 2024-09-26 09:33:20 +02:00
Jörg Thalheim
6f733a03df Revert "closure-info: switch to stdenvNoCC (#344456)"
This reverts commit 58dd4924b9, reversing
changes made to 7da9f66ccb.

This was a mass-rebuild that was not intended to be merged.
2024-09-26 09:26:11 +02:00
github-actions[bot]
a3340e0fbf
Merge master into staging-next 2024-09-26 06:04:51 +00:00
K900
b964291466
{buildFHSEnvBubblewrap,buildFHSEnvChroot}: add nativeBuildInputs (#344516) 2024-09-26 08:38:07 +03:00
Artturin
d9eb52b026
fetchurl: fixup typo on a comment (#344330) 2024-09-26 05:56:56 +03:00
github-actions[bot]
57b5c92d8e
Merge master into staging-next 2024-09-26 00:13:55 +00:00
Artturin
f7ef27a982 {buildFHSEnvBubblewrap,buildFHSEnvChroot}: add nativeBuildInputs
`makeWrapper` is often used in these with `source "${makeWrapper}/nix-support/setup-hook"`
which causes `error: makeWrapper/makeShellWrapper must be in nativeBuildInputs` on cross.
2024-09-25 22:43:00 +03:00
K900
a9128ce2f2 Merge remote-tracking branch 'origin/master' into staging-next 2024-09-25 21:07:19 +03:00
Anderson Torres
ce21e97a1f fetchurl: nixfmt-rfc-style 2024-09-25 14:51:53 -03:00
Anderson Torres
a32c7a11dd fetchurl: fixup typo on a comment 2024-09-25 14:51:53 -03:00
Jörg Thalheim
7978828566 closure-info: switch to stdenvNoCC
This doesn't need a C/C++ compiler.
2024-09-25 17:10:54 +02:00
tomberek
d4567f66e4
dockerTools: Allow separately specifying metadata and filesystem timestamps (#327579) 2024-09-25 08:17:33 -04:00
benaryorg
9bc6d23111
buildFHSEnvBubblewrap: extraPreBwrapCmds after variable initialisation
Prior to this commit it was not possible to modify e.g. the list of ignored directories at all, however given that `buildFHSEnvBubblewrap` effectively uses a sandboxing tool (*bwrap*) I feel like this is a missed opportunity.
The code in nixpkgs already covers all the knobs that are required to get *Nix* itself to run inside bubblewrap, so why not allow users to make that additional modification?
While additional `ro_mounts` and such can be *added* to the bubblewrap invocation, the already mounted directories cannot be removed, and even if shadowed by e.g. a tmpfs mount, this would still allow something inside the sandbox to potentially unmount the tmpfs and access the data.

So what this change does is moving the snippet where custom code can be injected down by four lines so that users can actually modify those variables e.g. using `ignored+=( /home /srv /mnt /boot )`.
The only cases in which this would break is:

- someone using those variable names in `extraPreBwrapCmds` already and relying on them being overwritten; I would consider that chance slim, and the fix would be easy enough
- someone using a construct like `false && \` to disable the `ignored` initialisation and effectively working around this limitation; again the chances are slim (even though I know I'd be affected), and the fix would be easy enough (as this change makes the workaround needless anyway so it's an improvement)

Signed-off-by: benaryorg <binary@benary.org>
2024-09-25 09:32:41 +00:00
github-actions[bot]
ce44139ef1
Merge master into staging-next 2024-09-25 06:04:53 +00:00
Tom Bereknyei
d0b3364822 dockerTools: set mtime to epoch by default 2024-09-25 00:31:16 -04:00
WxNzEMof
847b4732e4 dockerTools: Allow separately specifying metadata and filesystem timestamps
Setting the image creation timestamp in the image metadata to a
constant date can cause problems with self-hosted container
registries, that need to e.g. prune old images.  This timestamp is
also useful for debugging.

However, it is almost never useful to set the filesystem timestamp to
a constant value.  Doing so not only causes the image to possibly no
longer be reproducible, but also removes any possibility of
deduplicating layers with other images, causing unnecessary storage
space usage.

Therefore, this commit introduces "mtime", a new parameter to
streamLayeredImage, which allows specifying the filesystem timestamps
separately from "created".  For backwards compatibility, "mtime"
defaults to the value of "created".
2024-09-25 00:23:20 -04:00
Artturin
f0e657f3b1 Merge branch 'master' into staging-next 2024-09-25 06:05:01 +03:00
David McFarland
9bb309d5b5 buildDotnetModule: set --no-restore in check/publish/pack 2024-09-24 20:43:24 -03:00
David McFarland
00fe5f61ba buildDotnetModule: remove duplicate attribute key 2024-09-24 20:43:24 -03:00
David McFarland
2c97d67f62 dotnet: split sdk packages by platform 2024-09-24 20:43:24 -03:00
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
Artturin
977411f10d
expand-response-params: Fix windows build (#341299) 2024-09-24 23:24:37 +03:00
github-actions[bot]
9108a87017
Merge master into staging-next 2024-09-24 18:04:41 +00:00
Philip Taron
51296fce6f
writeTextFile,doc/build-helpers: assert destination without a leading slash (#343595) 2024-09-24 07:39:11 -07:00
github-actions[bot]
6ef8ec38ed
Merge staging-next into staging 2024-09-24 12:05:42 +00:00
github-actions[bot]
bcd5388d39
Merge master into staging-next 2024-09-24 12:05:12 +00:00
Alois Wohlschlager
965289e5e0 replaceDependencies: do not build unused replacements
To prevent excessive build times when replacement lists are shared between
partially overlapping closures, skip the build of unused replacements.
Unfortunately, this also means that the replacement won't be applied any more
if another replacement that is applied introduces its source. But this is a
corner case, and we already show a warning, so make it clearer that handling
this situation (should it ever arise) is the responsibility of the user.
2024-09-24 12:20:15 +02:00
Alois Wohlschlager
6fc0699003 replaceDependencies: show warnings as such 2024-09-24 12:20:15 +02:00
Alois Wohlschlager
3616cfb8d9 replaceDependencies: add support for ca-derivations
Unlike regular input-addressed or fixed-output derivations, floating and
deferred derivations do not have their store path available at evaluation time,
so their outPath is a placeholder. The following changes are needed for
replaceDependencies to continue working:
* Detect the placeholder and retrieve the store path using another IFD hack
  when collecting the rewrite plan.
* Try to obtain the derivation name needed for replaceDirectDependencies from
  the derivation arguments if a placeholder is detected.
* Move the length mismatch detection to build time, since the placeholder has a
  fixed length which is unrelated to the store path.
2024-09-24 12:20:15 +02:00
Alois Wohlschlager
59ca239d1a replaceDirectDependencies: split off from replaceDependencies
This allows both swapping out and reusing the rewrite machinery.
2024-09-24 12:20:15 +02:00
Alois Wohlschlager
af3a3f64df replaceDependencies: evolve from replaceDependency
Rewrite replaceDependency so that it can apply multiple replacements in
one go. This includes correctly handling the case where one of the
replacements itself needs to have another replacement applied as well.
This rewritten function is now aptly called replaceDependencies.

For compatibility, replaceDependency is retained as a simple wrapper
over replaceDependencies. It will cause a rebuild because the unpatched
dependency is now referenced by derivation instead of by storePath, but
the functionality is equivalent.

Fixes: https://github.com/NixOS/nixpkgs/issues/199162
2024-09-24 12:20:15 +02:00
github-actions[bot]
cacde17803
Merge staging-next into staging 2024-09-24 00:14:39 +00:00
github-actions[bot]
ffeea32b7f
Merge master into staging-next 2024-09-24 00:14:15 +00:00
github-actions[bot]
20a908a749
Merge staging-next into staging 2024-09-23 18:05:00 +00:00
github-actions[bot]
9a6f63ebed
Merge master into staging-next 2024-09-23 18:04:34 +00:00
Thomas Gerbet
a169553f7e fetchurl: enable TLS verification when credentials are used
This make sure the credentials cannot be leaked in a MITM attack.
Note that this change might break some existing deployments if the users
tries to fetch resources on endpoints with invalid certificates.
The impacted users will have the following choices:
* fix the endpoint providing the resource
* override SSL_CERT_FILE to either disable the verification (not
  recommended) or to set it to a path including their CA certificate.
2024-09-23 18:27:02 +02:00
Philip Taron
44d7484cee
dub-to-nix: update recommended regen command (#343357) 2024-09-23 08:45:16 -07:00
Philip Taron
2bbb60748d
appimage-run: Add libsecret for bitwarden (#343845) 2024-09-23 08:17:20 -07:00
github-actions[bot]
f9cc0355f4
Merge staging-next into staging 2024-09-23 12:06:04 +00:00
github-actions[bot]
ac34133fb9
Merge master into staging-next 2024-09-23 12:05:36 +00:00
Pol Dellaiera
568bfef547
build-support/php: fix environment variables for Composer (#343900) 2024-09-23 12:58:17 +02:00
Pol Dellaiera
95f5cf75d3
build-support/php: fix typo 2024-09-23 11:41:15 +02:00
Vincent Laporte
94d0d22817
ocamlPackages.elpi: use release tarball (#343266)
coqPackages.metaFetch: Adding a github artifact option

Co-authored-by: Cyril Cohen <cohen@crans.org>
2024-09-23 09:52:07 +02:00
Pol Dellaiera
07e6929c81
build-support/php: fix environment variables for Composer 2024-09-23 09:20:42 +02:00
Pol Dellaiera
3bcaabbb71
build-support/php: fix comments in multi-lines command 2024-09-23 09:19:29 +02:00
alexyao2015
8658b1b648 appimage-run: Add libsecret for bitwarden
Previously running the Bitwarden AppImage would error.
This adds libsecret which resolves the error and allows the
Bitwarden AppImage to function normally.
2024-09-22 23:08:36 -05:00
github-actions[bot]
a468f6a433
Merge staging-next into staging 2024-09-23 00:14:52 +00:00
Fabián Heredia Montiel
9b2a506736 Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:

- pkgs/tools/package-management/nix/default.nix
2024-09-22 13:45:27 -06:00
networkException
6215daa520
writeTextFile: assert destination starting with a /
This patch adds an assertion to the writeTextFile trivial
builder, asserting that a specified destination starts with
a slash.

This matches the current behavior of the function and merely
provides a helpful error message.
2024-09-22 19:56:04 +02:00
Patka
a9d1d29522
build-support/php: fix reproducibility of buildComposerProject2 2024-09-22 18:59:35 +02:00
Jörg Thalheim
a50dabe867
rustPlatform.buildRustPackage: provide debug symbols on darwin (#327136) 2024-09-21 18:30:46 +02:00
José Luis Lafuente
55903a2f8e
writers: add babashka 2024-09-21 16:30:50 +02:00
José Luis Lafuente
e852c13342
writers: disable broken test (fsharp) 2024-09-21 15:59:22 +02:00
TomaSajt
fc16ae75ec
dub-to-nix: update recommended regen command 2024-09-20 23:26:41 +02:00
lelgenio
77292c4f5b buildDartApplication: include dart SDK builder by default 2024-09-20 17:04:09 -03:00
K900
f32ec5e6d7 buildenv: don't pass null paths to writeClosure 2024-09-19 23:09:26 +03:00
Antonio Nuno Monteiro
cadeeaa525 buildDunePackage: allow overriding stdenv 2024-09-18 14:13:53 +02:00
github-actions[bot]
81d645b6a9
Merge staging-next into staging 2024-09-18 06:05:20 +00:00
lelgenio
c499cb1399 yarnInstallHook: fix temporary directory location
Currently the directory is being created in $src/yarnInstallHook.XXXXXX
Giving the directory a readable name is not particularly useful
2024-09-17 16:01:33 -03:00
K900
87cbfcba1c Merge remote-tracking branch 'origin/staging-next' into staging 2024-09-17 21:07:02 +03:00
nicoo
7c19bb37a3 fetchipfs: simplify, error-out when given multiple hashes
Also dropped the `md5` attribute, as `stdenv.mkDerivation` rejects
MD5 since last year (87c22100a6)
2024-09-17 15:00:29 +00:00
nicoo
30361c578f fetchsvnssh: support hash attribute 2024-09-17 15:00:29 +00:00
nicoo
c3691d772d fetchfossil: simplify and check that multiple hashes were not passed in 2024-09-17 15:00:28 +00:00
nicoo
f723aa0f66 fetchpijul: minor simplification 2024-09-17 15:00:28 +00:00
nicoo
4b8644b7a6 fetchdarcs: support hash attribute 2024-09-17 15:00:28 +00:00
nicoo
54209fcd9e fetchmtn: support hash attribute 2024-09-17 15:00:28 +00:00
nicoo
3f7f5df38a nix-prefetch-cvs: emit SRI hashes by default 2024-09-17 15:00:28 +00:00
nicoo
ef232d59ac fetchcvs: support hash attribute 2024-09-17 15:00:27 +00:00
nicoo
07d3b14ce2 nix-prefetch-bzr: emit SRI hashes by default 2024-09-17 15:00:27 +00:00
nicoo
fb8a85e2bb fetchbzr: support hash attribute 2024-09-17 15:00:27 +00:00
nicoo
1ccd5ba540 fetchs3: support hash attribute 2024-09-17 15:00:27 +00:00
nicoo
b5aefcd40a fetchgx: support hash attribute 2024-09-17 15:00:27 +00:00
nicoo
45b95421fd
lib.fetchers: add hash-normalization helpers (#342072) 2024-09-17 14:59:43 +00:00
David McFarland
1b7f8c9165
dotnet: infrastructure improvements (#336824) 2024-09-17 11:42:45 -03:00
github-actions[bot]
73cf025711
Merge staging-next into staging 2024-09-17 12:05:50 +00:00
nicoo
633f94fa4a doc/coq: sha256hash 2024-09-17 10:47:31 +02:00
nicoo
0518f4d245 fetchgit: factor-out the hash logic to lib.fetchers.withNormalizedHash 2024-09-17 08:31:36 +00:00
nicoo
c361b3f7c8 buildBazelPackage: support fetchAttrs.hash 2024-09-17 06:34:07 +00:00
nicoo
80cafd06e6 fetchRepoProject: support hash attribute, wrapping in withnormalizedHash 2024-09-17 06:34:00 +00:00
David McFarland
424bbc430e addNuGetDeps: fix fetch-deps output path handling 2024-09-17 01:14:28 -03:00
David McFarland
be577a25f4 fetchNupkg: conservatively set sourceProvenance 2024-09-17 01:14:27 -03:00
David McFarland
f5e9dd4201 addNuGetDeps: print name of package being fetched 2024-09-17 01:14:27 -03:00
David McFarland
0e5b1ff245 add-nuget-deps: use NUGET_HTTP_CACHE_PATH from user's HOME 2024-09-17 01:12:13 -03:00
David McFarland
a4189437a3 add-nuget-deps: set HOME outside of nix-shell 2024-09-17 01:12:13 -03:00
David McFarland
206693180f add-nuget-deps: expose fetch derivation as passthru.fetch-drv 2024-09-17 01:12:13 -03:00
David McFarland
4bb15106d5 add-nuget-deps: use cacert via nativeBuildInputs 2024-09-17 01:12:13 -03:00
David McFarland
e6bca73d01 nuget-to-nix: use xmlstarlet instead of xq (yq)
xq has such a long startup time that this significantly improves
performance.
2024-09-17 01:12:13 -03:00
David McFarland
c693cb8ec6 addNuGetDeps: move TMPDIR handling out of fetch-deps
We now handle creating TMPDIR and setting the working directory outide
of nix-shell.  This allows nix-shell to set NIX_BUILD_TOP correctly.
2024-09-17 01:12:13 -03:00
David McFarland
521b7b5e5f fetch-nupkg: use helper from nuget-package-hook to unpack 2024-09-17 01:12:12 -03:00
David McFarland
b1685747a7 nuget-package-hook: move package unpacking from buildDotnetModule 2024-09-17 01:12:11 -03:00
David McFarland
c1ee815d03 dotnet-fixup-hook: obey dontFixup 2024-09-17 01:12:11 -03:00
David McFarland
60d3a7d230 nuget-to-nix: set SSL_CERT_FILE
This is required for curl.
2024-09-17 01:12:11 -03:00
David McFarland
1d4d0d3db7 nuget-to-nix: use dotnet from PATH
The dotnet sdk used usually needs to match the one required by the
project (global.json). Having the dependcy in nix just meant it always
had to be overridden.
2024-09-17 01:12:11 -03:00
David McFarland
e05c0c4f98 dotnet-fixup-hook: remove confusing logs 2024-09-17 01:12:11 -03:00
David McFarland
773cc0de74 dotnet-sdk-setup-hook: move nuget configuration from dotnetBuildModule 2024-09-17 01:12:11 -03:00
David McFarland
60eb0db2ab dotnet-sdk-setup-hook: add trailing slashes to NUGET_PACKAGES vars 2024-09-17 01:12:11 -03:00
David McFarland
f820d2cf3c dotnetCorePackages: split fetch-deps logic into addNuGetDeps 2024-09-17 01:12:11 -03:00
github-actions[bot]
1c3463dc7a
Merge staging-next into staging 2024-09-16 12:06:19 +00:00
Robert Hensing
20f9370d5f
lib.fixedPoints.toExtension: init (#336414) 2024-09-16 12:17:16 +02:00
github-actions[bot]
952947bdf8
Merge staging-next into staging 2024-09-15 18:04:54 +00:00
Emily
d71660e9a7
{gcc6,gcc6Stdenv,gfortran6,gcj}: drop (#341714) 2024-09-15 15:13:29 +01:00
Emily
de4388c609 {cc-wrapper,gcc}: drop unused logic and patches 2024-09-15 02:45:00 +01:00
Artturin
be13e1b404 expand-response-params: Fix windows build and add mainProgram 2024-09-15 00:26:11 +03:00
github-actions[bot]
70ab79847d
Merge staging-next into staging 2024-09-14 18:04:45 +00:00
Johannes Kirschbauer
e78c3b6d6e
Format: pkgs.writers 2024-09-14 19:23:41 +02:00
Johannes Kirschbauer
9d9decda25
Doc: {pkgs.writers.*} migrate doc-comments 2024-09-14 19:20:17 +02:00
Yueh-Shun Li
e31ace5cd4 buildGoModule: use lib.toExtension
Use toExtension from Nixpkgs library instead of the one defined locally.
2024-09-14 21:47:59 +08:00
github-actions[bot]
5c9c7359c3
Merge staging-next into staging 2024-09-14 00:13:49 +00:00
Artturin
19bf002d43
treewide: fix editorconfig (#341423) 2024-09-13 21:49:38 +03:00
github-actions[bot]
76501a1b92
Merge staging-next into staging 2024-09-13 18:04:52 +00:00
Artturin
a0c06061b4 treewide: follow editorconfig 2024-09-13 18:17:51 +03:00
Artturin
a4e4fc5d35 dotnetenv.{buildSolution,buildWrapper}: follow editorconfig & follow common bash style
There seems to be duplication and also improvements to one between these, so someone
should rework these.

Add missing `pre` and `post` hook runs.
2024-09-13 18:17:41 +03:00
Thiago Kenji Okada
303f08f0c2
flutter: move build-support/flutter to flutter directory (#332623) 2024-09-13 16:14:35 +01:00
github-actions[bot]
2616bf59e4
Merge staging-next into staging 2024-09-13 12:05:50 +00:00
Gabriel Nützi
ba2b91866b
chore: typos and comment fixups in Go build-support function 2024-09-13 13:26:51 +02:00
Sergei Trofimovich
35671aabff dotnet/build-dotnet-module: fix eval of fetch-deps
Without the change the eval fails as:

    $ nix build --no-link -f. csharp-ls.fetch-deps --show-trace
    error:
       … while evaluating a path segment
         at pkgs/build-support/dotnet/build-dotnet-module/default.nix:258:36:
          257|                   else
          258|                     ''$(mktemp -t "${finalAttrs.pname ? finalAttrs.finalPackage.name}-deps-XXXXXX.nix")'';
             |                                    ^
          259|                 nugetToNix = (nuget-to-nix.override { inherit dotnet-sdk; });

       error: cannot coerce a Boolean to a string: false

Switch from `?` operator (attribute presence predicate) to an `or`
("else" form).
2024-09-13 07:12:37 +01:00
Aleksana
eaa7682ca1
treewide: fix buildInputs attribute typos (#315204) 2024-09-13 13:00:47 +08:00
K900
6afe0e76eb
buildEnv: add includeClosures option (#341371) 2024-09-13 07:17:17 +03:00
Philip Taron
05e5a56f04
auto-patchelf: refactor structuredAttrs support (#340858) 2024-09-12 15:13:20 -07:00
Peder Bergebakken Sundt
b79305dfdd treewide: fix typos 2024-09-12 22:39:51 +02:00
Anderson Torres
a0f3c9ac50 flutter: move build-support/flutter to flutter directory
Rationale:

With the advent of RFC 140, Nixpkgs becomes to promote self-contained package
directories and strongly discourages scattering along the old and deprecated
filesystem hierarchy.

Further, `build-support/flutter/*` is not referenced by any other expressions in
Nixpkgs besides flutter itself.

Further, concentrating all Flutter-related toolset below a same directory
hierarchy (arguably?) eases maintenance and future migrations.
2024-09-12 13:20:33 -03:00
K900
db0914534a buildFHSEnv: force overwriting ld-linux.so.2
That can be a problem if we already have it in the inputs.
2024-09-12 15:27:46 +03:00
K900
4654ea4cc0 buildEnv: support pulling in closures of paths
This will become important for Steam.
2024-09-12 15:27:46 +03:00
Manuel Mendez
17b3df2861 rust: Write to .cargo/config.toml instead of .cargo/config
Seeing the following new warnings pop up on stderr when cargo was bumped
to 1.78:

```
warning: `/build/.cargo/config` is deprecated in favor of `config.toml`
note: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml`
```

which happens to break commitmsgfmt builds in nix (#320294).

closes #320294
2024-09-11 21:03:32 -04:00
Wolfgang Walther
bc0395ee6f
auto-patchelf: refactor structuredAttrs support
stdenv now provides better tooling to support structuredAttrs without
depending on $__structuredAttrs itself.
2024-09-11 19:29:39 +02:00
github-actions[bot]
408e32a8fe
Merge staging-next into staging 2024-09-11 00:13:38 +00:00
Philip Taron
fa26d1fe93
makeInitrdNG: fixup contents documentation (#341082)
Let's not let the perfect be the enemy of the drive-by contribution.
2024-09-10 16:38:35 -07:00
Axel Karjalainen
a99c334965
treewide: Fix remaining Android sdkVer and ndkVer references (#341106)
Fix remaining sdkVer and ndkVer references

1144d46 renamed sdkVer and ndkVer, but forgot one reference and
incorrectly replaced another
2024-09-11 01:06:52 +03:00
Emily
bf5f0b6e70
rust: support structuredAttrs in setup hooks (#340862) 2024-09-10 20:52:10 +01:00
Aaron Andersen
c7bb47aac1
makeInitrdNG: fixup contents documentation 2024-09-10 15:31:48 -04:00
Doron Behar
d77ecc757a
fetchYarnDeps: fix by deduplicating requests (#336784) 2024-09-10 18:17:48 +00:00
Wolfgang Walther
d5013e942e
rust: shellcheck setup hooks 2024-09-10 08:32:33 +02:00
Wolfgang Walther
9220a19a4d
rust: support structuredAttrs in setup hooks
Tested the following packages with and without structuredAttrs:
- rust-analyzer: cargo-build-hook, cargo-check-hook
- jujutsu: cargo-nextest-hook
- kornia-rs: maturin-build-hook
2024-09-10 08:32:33 +02:00
Fea
207072fca3 fetchYarnDeps: fix by deduplicating requests 2024-09-09 23:39:44 +02:00
github-actions[bot]
5725a1eed6
Merge staging-next into staging 2024-09-08 18:04:33 +00:00
github-actions[bot]
3b1652aad3
Merge master into staging-next 2024-09-08 18:04:04 +00:00
Matt Sturgeon
c8a0f01473
dotnetCorePackages.fetchNupkg: override avalonia to include upstream fix
Backport https://github.com/AvaloniaUI/Avalonia/pull/16835 to versions
11.1.0 through 11.2.0-beta1

Co-authored-by: Nick Cao <nickcao@nichi.co>
2024-09-08 16:38:43 +01:00
Sefa Eyeoglu
567bd7c6a6
autoPatchelfHook: expose script as top level package
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-09-08 15:57:53 +02:00
github-actions[bot]
5310eaa51e
Merge staging-next into staging 2024-09-07 18:04:28 +00:00
github-actions[bot]
5a5ebe5a1c
Merge master into staging-next 2024-09-07 18:04:01 +00:00
Ilan Joselevich
82bd98c069
buildRustCrate: Fix rust-overlay usage (#339298) 2024-09-07 19:19:40 +03:00
Philip Taron
4160ccc634
treewide: handle *Phases variables __structuredAttrs-agnostically (#339117) 2024-09-07 09:17:57 -07:00
github-actions[bot]
c35ab72937
Merge staging-next into staging 2024-09-07 12:05:25 +00:00
github-actions[bot]
de15243c9a
Merge master into staging-next 2024-09-07 12:04:51 +00:00
David McFarland
13a975148a
dotnet: add override mechanism for nuget packages (#339953) 2024-09-07 09:00:01 -03:00
github-actions[bot]
50da31693c
Merge staging-next into staging 2024-09-07 06:04:40 +00:00
github-actions[bot]
319af78438
Merge master into staging-next 2024-09-07 06:04:15 +00:00
éclairevoyant
3207bc2237
rustPlatform.fetchCargoTarball: support pname, version 2024-09-07 01:10:00 -04:00
éclairevoyant
1f0f59d5a1
rustPlatform.fetchCargoTarball: nixfmt 2024-09-07 01:09:59 -04:00
github-actions[bot]
899adc3017
Merge staging-next into staging 2024-09-07 00:13:22 +00:00
github-actions[bot]
b6b2ac4f61
Merge master into staging-next 2024-09-07 00:12:59 +00:00
David McFarland
e6c700ed11 dotnetCorePackages.fetchNupkg: override avalonia.x11 to find native libs 2024-09-06 16:32:08 -03:00
David McFarland
cc9c59c478 buildDotnetModule: use individual dependencies for nugetDeps 2024-09-06 16:05:19 -03:00
David McFarland
9a0be2fd28 dotnetCorePackages.fetchNupkg: override skiasharp to find fontconfig 2024-09-06 16:05:19 -03:00
John Ericson
f43cc75868
Clean up cross bootstrapping, take 2 (#321525) 2024-09-06 14:56:54 -04:00
John Ericson
5f134ec6cf Clean up cross bootstrapping
For a long time, we've had `crossLibcStdenv`, `*Cross` libc attributes,
and `*bsdCross` pre-libc package sets. This was always bad because
having "cross" things is "not declarative": the naming doesn't reflect
what packages *need* but rather how we *provide* something. This is
ugly, and creates needless friction between cross and native building.

Now, almost all of these `*Cross` attributes are gone: just these are
kept:

- Glibc's and Musl's are kept, because those packages are widely used
  and I didn't want to risk changing the native builds of those at this
  time.

- generic `libcCross`, `theadsCross`, and friends, because these relate
  to the convolulted GCC bootstrap which still needs to be redone.

The BSD and obscure Linux or freestnanding libcs have conversely all
been made to use a new `stdenvNoLibc`, which is like the old
`crossLibcStdenv` except:

1. It usable for native and cross alike

2. It named according to what it *is* ("a standard environment without
   libc but with a C compiler"), rather than some non-compositional
   jargon ("the stdenv used for building libc when cross compiling",
   yuck).

I should have done this change long ago, but I was stymied because of
"infinite recursions". The problem was that in too many cases we are
overriding `stdenv` to *remove* things we don't need, and this risks
cyles since those more minimal stdenvs are used to build things in the
more maximal stdenvs.

The solution is to pass `stage.nix` `stdenvNoCC`, so we can override to
*build up* rather than *tear down*. For now, the full `stdenv` is also
passed, so I don't need to change the native bootstraps, but I can see
this changing as we make things more uniform and clean those up.

(adapted from commit 51f1ecaa59)
(adapted from commit 1743662e55)
2024-09-06 10:26:56 -04:00
Ilan Joselevich
8d2ba0feae
buildRustCrate: Fix rust-overlay usage
I broke the usage of buildRustCrate with a toolchain from rust-overlay
when I added support for wasm32-unknown-unknown, this change adds
additional conditionals to restore the usage.

The toolchain can now be overriden either through
```
buildRustCrate {
  rust = toolchain;
  cargo = toolchain
}
```
or
```
buildRustCrate.override {
  rustc = toolchain;
  cargo = toolchain;
}
```
They should now be consistent with each other.
2024-09-06 16:47:29 +03:00
David McFarland
1f6cd35f5e dotnetCorePackages.fetchNupkg: add override mechanism 2024-09-05 23:46:24 -03:00
David McFarland
32ccfdc278 dotnetCorePackages.fetchNupkg: run missing hooks 2024-09-05 23:46:24 -03:00
David McFarland
7ea78aaf5a dotnetCorePackages.fetchNupkg: split from mkNugetDeps 2024-09-05 23:46:23 -03:00
David McFarland
2d43ecc400 buildDotnetModule: clean-up stdenv attributes
- stop binding attributes we don't care about (e.g. name, doCheck)
- remove attributes we handle in nix (e.g. useAppHost)
- inherit attributes with default values (e.g. packNupkg)
2024-09-05 23:46:23 -03:00
David McFarland
e78882326b mkNugetDeps: unpack to source/
Unpacking to the build root was a bad idea. stdenv uses dumpVars() to
create a file env-vars containing the entire environment.  This was
being installed in the derivation output, and since it contains lots of
store paths, it was bloating the closure for every nuget package.
2024-09-05 22:47:39 -03:00
David McFarland
e49642596f buildDotnetModule: set TMPDIR in fetch-deps
Some packages assume TMPDIR is unshared, even in nix-shell.
2024-09-05 22:47:39 -03:00
David McFarland
e530139caa buildDotnetModule: fix tool manifest detection 2024-09-05 22:47:38 -03:00
github-actions[bot]
d76d809dd4
Merge staging-next into staging 2024-09-05 00:13:35 +00:00
github-actions[bot]
74cdd9c9b1
Merge master into staging-next 2024-09-05 00:13:11 +00:00
sohalt
b60d3f6270 fetchgithub: support fetchLFS 2024-09-04 19:01:22 +02:00
Emily
a1dbc04bb9
gst_all_1.gstreamer: disable Rust if unavailable (#338999) 2024-09-04 16:12:25 +01:00
lelgenio
7783e118af yarnInstallHook: init 2024-09-04 11:15:47 -03:00
K900
23b4832da0 Merge remote-tracking branch 'origin/master' into staging-next 2024-09-04 08:53:48 +03:00
David McFarland
683ffbdc5c
buildDotnetModule: inherit enableParallelBuilding (#339335) 2024-09-03 20:56:37 -07:00
Ivan Trubach
2d33d5c778 buildDotnetModule: inherit enableParallelBuilding
After this change, enableParallelBuilding defaults to true for packages
using buildDotnetModule. The argument value already defaults to true,
but we did not use it. Note that default values in Nix are not present
in the arguments attribute set, e.g. `args` does not contain `def` for
`{ def ? true }@args: …` function unless this argument is explicitly
passed.
2024-09-03 22:57:52 +03:00
Jörg Thalheim
0e21bc6af9
buildGoModule: be nicer when overrideAttrs clears passthru (#339042) 2024-09-03 20:54:14 +02:00
Alyssa Ross
0852f8eb84
rustc: expose platform lists
Previously, it wasn't possible to access the list of platforms we can
build Rust programs for outside of buildRustPackage.  This was a
problem for packages that have optional Rust components, like
gstreamer or Meson, as there was no way to only build the Rust parts
for supported platforms.  Now it's possible to get that information
from rustc's passthru.
2024-09-03 17:47:27 +02:00
K900
105933cf4f pkgs/build-support/rust: fix warning-related eval issue 2024-09-03 17:04:55 +03:00
github-actions[bot]
a07f612219
Merge master into staging-next 2024-09-03 00:13:11 +00:00
Artturin
89bb3dfc21
cc-wrapper: fix guessing mainProgram (#323611) 2024-09-03 02:17:57 +03:00
Yueh-Shun Li
758056dac7 treewide: handle postPhases __structuredAttrs-agnostically
Always specify the postPhases attribute as a list instead of a string.

Append elements to the postPhases Bash variable using appendToVar
instead of string or Bash array concatenation.
2024-09-03 05:56:17 +08:00
Yueh-Shun Li
054c5f0e10 treewide: handle preDistPhases __structuredAttrs-agnostically
Always specify the preDistPhases attribute as a list instead of a string.

Append elements to the preDistPhases Bash variable using appendToVar
instead of string or Bash array concatenation.

Handle element insertion before a specific element using string
substitution as before, but handle both structured and unstructured
attributes.
2024-09-03 05:33:59 +08:00
Yueh-Shun Li
5d42a8b38c treewide: handle preConfigurePhases __structuredAttrs-agnostically
Always specify the preConfigurePhases attribute as a list instead of a
string.

Append elements to the preConfigurePhases Bash variable using
appendToVar instead of string or Bash array concatenation.
2024-09-03 05:33:59 +08:00
Yueh-Shun Li
21c0129841 treewide: handle prePhases __structuredAttrs-agnostically
Always specify the prePhases attribute as a list instead of a string.

Append elements to the prePhases Bash variable using appendToVar
instead of string or Bash array concatenation.
2024-09-03 05:33:59 +08:00