Commit Graph

8491 Commits

Author SHA1 Message Date
r-vdp
995ee2fa2c
nuget-to-nix: add meta.mainProgram 2024-10-09 12:33:27 +02:00
Silvan Mosberger
c5cea342ce
lib.oldestSupportedReleaseIsAtLeast: rename from bad name (#347258) 2024-10-09 02:20:39 +02:00
Jörg Thalheim
8885a1e21a lib/systems/architectures: add sapphirerapids/emeraldrapids
For reference: https://en.wikichip.org/wiki/intel/microarchitectures/sapphire_rapids

https://www.phoronix.com/news/GCC-13-Initial-Emerald-Rapids
https://www.phoronix.com/news/LLVM-Adds-Intel-Emerald-Rapids
2024-10-08 14:19:23 +02:00
Robert Hensing
729225e355 treewide: lib.isInOldestRelease -> lib.oldestSupportedReleaseIsAtLeast 2024-10-08 11:14:24 +02:00
Fernando Rodrigues
4f8f36e5ad
xen: replace binutils override with binutils-unwrapped-all-targets
Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
2024-10-07 03:02:27 +00:00
Fernando Rodrigues
9279ecc1c4
xen: nuke half of the builder
- Removes the non-slim build instructions, massively simplifying
everything in the package.

- Removes unecessary patches.

- Inherits functions from lib instead of repeating lib.* everywhere.

Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
2024-10-06 20:24:27 +00:00
Fernando Rodrigues
d2bb9a9ca5
xen: revert minSupportedVersion to the upstream value.
As the builder is generic, more people may be using it, so we should try
to keep this value as close to the upstream source of truth as possible.

Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
2024-10-06 15:55:40 -03:00
Fernando Rodrigues
1dad6fe5cb
xen: turn the generic builder into the buildXenPackage function
Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
Co-authored-by: Yaroslav Bolyukin <iam@lach.pw>
2024-10-06 15:55:40 -03:00
euxane
ca23669cf8 writers: add writeNim and writeNimBin
This adds convenience writers for self-contained Nim programs.
Those are compiled into very small binaries.

Test with: `nix build .#pkgs.tests.writers.{bin,simple,wrapping}.nim`
2024-10-05 21:33:26 +02:00
Philip Taron
05fef7752c
buildFHSEnvBubblewrap: extraPreBwrapCmds after variable initialisation (#344404) 2024-10-04 18:25:49 -07: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
Philip Taron
d590835329
fetchers: uniformly support the hash attribute (#342173) 2024-09-30 07:55:36 -07:00
Doron Behar
796699f22b
fetch-yarn-deps: handle packages that are locally linked (#342186) 2024-09-29 22:59:39 +03:00
Mathieu Rene
2462edca10 fetch-yarn-deps: handle packages that are locally linked 2024-09-29 14:14:45 -04:00
Ulrik Strid
c61754ed9b
buildDunePackage: allow overriding stdenv (#342785) 2024-09-26 10:26:05 +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
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
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
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
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
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
Philip Taron
51296fce6f
writeTextFile,doc/build-helpers: assert destination without a leading slash (#343595) 2024-09-24 07:39:11 -07: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
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
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
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
José Luis Lafuente
55903a2f8e
writers: add babashka 2024-09-21 16:30:50 +02:00