Commit Graph

7230 Commits

Author SHA1 Message Date
Pol Dellaiera
1173a34d15
build-support/php: move internal tools in php/build-support/php/pkgs 2023-09-13 17:07:48 +02:00
Elis Hirwing
1e238b8afe
php: Fix shellcheck string warnings in composer-install-hook 2023-09-13 15:00:04 +02:00
Elis Hirwing
2160ed2bcc
composer: Stop exposing composer built from a phar file 2023-09-13 15:00:04 +02:00
Elis Hirwing
9e701e6328
composer-local-repo-plugin: Stop exposing this internal tool 2023-09-13 15:00:03 +02:00
Pol Dellaiera
b36ad2f517
php: add new builder buildComposerProject 2023-09-13 15:00:03 +02:00
Pol Dellaiera
27e3b694e7
composer-local-repo-plugin: init at 1.0.0 2023-09-13 15:00:03 +02:00
Jan Tojnar
1cd6d30f2f Merge branch 'master' into staging-next 2023-09-13 12:03:35 +02:00
Artturi
edada48556
Merge pull request #254815 from johannwagner/fix-leading-hyphens-for-testVersion 2023-09-13 01:23:09 +03:00
Robert Scott
9e64f794d1
Merge pull request #208944 from risicle/ris-dockertools-makeoverridable
dockerTools: use makeOverridable for buildImage family of functions
2023-09-12 23:16:06 +01:00
Johann Wagner
da073295d0 testers.testVersion: Fix usage of hyphens within the version argument 2023-09-12 21:54:10 +02:00
Vladimír Čunát
300eaad172
Merge branch 'master' into staging-next 2023-09-12 19:06:44 +02:00
Rick van Schijndel
a31a3eca58
Merge pull request #251066 from lilyinstarlight/feature/prefetch-npm-deps-tokens
prefetch-npm-deps: add support for NIX_NPM_TOKENS env var
2023-09-12 17:31:26 +02:00
Anderson Torres
3fc613c5ba
Merge branch 'master' into staging-next 2023-09-11 23:25:38 +00:00
Lily Foster
7f76ac6e09
fetchNpmDeps: pass NIX_NPM_TOKENS as an impure env var 2023-09-11 16:50:17 -04:00
Lily Foster
e271266179
prefetch-npm-deps: add support for NIX_NPM_TOKENS env var 2023-09-11 16:49:36 -04:00
Robert Scott
38c1400f67 dockerTools: use makeOverridable for buildImage family of functions
this allows nix users to modify existing images without having
to rely on container image inheritance mechanisms via fromImage
2023-09-11 21:10:37 +01:00
Artturi
bb446a19f7
Merge pull request #247682 from minijackson/fix-ppc64be-linker 2023-09-11 22:13:42 +03:00
Minijackson
5581c0677c
bintools-wrapper: fix dynamic linker for powerpc64 big-endian
fixes #245162
2023-09-11 13:55:43 +02:00
github-actions[bot]
66c722f52f
Merge master into staging-next 2023-09-09 18:01:05 +00:00
sternenseemann
bd374243c0 npmHooks: use adjacent packages, not buildPackages
Hooks are essentially implemented as special shell packages that run on
their respective host platform. When they are used, they appear as
nativeBuildInputs (as they need to be executed as part of the build of a
package using them) so are taken from buildPackages relative to the
derivation using them.

Since the override in buildNpmPackage nullifies splicing, we take
npmHooks from buildPackages manually.

Fixes pkgsCross.ghcjs.buildPackages.emscripten and thus
pkgsCross.ghcjs.haskellPackages.ghc.
2023-09-09 17:55:37 +02:00
github-actions[bot]
a376e04925
Merge master into staging-next 2023-09-09 00:02:10 +00:00
Maciej Krüger
6146406653
Merge pull request #252343 from nbraud/fetchurl/hashValidation 2023-09-09 00:55:19 +02:00
rnhmjoj
c945723356
buildFHSEnv: disable security features by default
The implicit contract of buildFHSUserEnv was that it allows to run
software built for a typical GNU/Linux distribution (not NixOS) without
patching it (patchelf, autoPatchelfHook, etc.). Note that this does not
inherently imply running untrusted programs.

buildFHSUserEnv was implemented by using chroot and assembling a
standard-compliant FHS environment in the new root. As expected, this
did not provide any kind of isolation between the system and the
programs.

However, when it was later reimplemented using bubblewrap
(PR #225748), which *is* a security tool, several isolation features
involving detaches Linux namespaces were turned on by default.
This decision has introduced a number of breakages that are very
difficult to debug and trace back to this change.
For example: `unshareIPC` breaks software audio mixing in programs using
ALSA (dmix) and `unsharePID` breaks gdb,

Since:

  1. the security features were enable without any clear threat model;
  2. `buildFHSEnvBubblewrap` is supposed to be a drop-in replacement of
     `buildFHSEnvChrootenv` (see the release notes for NixOS 23.05);
  3. the change is breaking in several common cases (security does not
     come for free);
  4. the contract was not changed, or at least communicated in a clear
     way to the users;

all security features should be turned off by default.

P.S. It would be useful to create a variant of buildFHSEnv that does
provide some isolation. This could unshare some namespaces and mount
only limited parts of the filesystem.
Note that buildFHSEnv mounts every directory in / under the new root, so
again, very little is gained by unsharing alone.
2023-09-08 09:15:50 +02:00
Artturi
fa3a4a18c0
Merge pull request #192459 from danielfullmer/fix-cc-wrapper-libdir 2023-09-07 01:58:51 +03:00
github-actions[bot]
aba6d8043f
Merge staging-next into staging 2023-09-06 18:01:28 +00:00
Silvan Mosberger
7cbc8215fd
Merge pull request #252865 from emily-is-my-username/fix/fetchgit-deepclone
`fetchgit`: don't shallow clone if `deepClone` is requested
2023-09-06 14:08:06 +02:00
github-actions[bot]
848091ac53
Merge staging-next into staging 2023-09-06 06:01:30 +00:00
github-actions[bot]
82535bc9c1
Merge master into staging-next 2023-09-06 06:00:55 +00:00
Lin Jian
cae7f23ed8 build-support/emacs: fix name when overrideAttrs is used
Before:

nix-repl> (pkgs.emacs.pkgs.eglot.overrideAttrs { version = "6.0"; }).name
"emacs-eglot-1.15"

After:

nix-repl> (pkgs.emacs.pkgs.eglot.overrideAttrs { version = "6.0"; }).name
"emacs-eglot-6.0"
2023-09-06 02:24:07 +00:00
Lin Jian
35ccb9db3f build-support/emacs: make version non-optional
I do not think there is a good reason for it to be optional.

There were only two packages without a version attr.  The version attr
is added to them in this patch.
2023-09-06 02:24:07 +00:00
github-actions[bot]
1a5c2acd74
Merge staging-next into staging 2023-09-05 00:02:47 +00:00
github-actions[bot]
77a8486bb3
Merge master into staging-next 2023-09-05 00:02:14 +00:00
Artturi
b80a27d04f
Merge pull request #249567 from antonmosich/typo 2023-09-05 00:38:52 +03:00
Artturi
31c9deb4f7
Merge pull request #218783 from timbertson/stripExcludeExtensions 2023-09-05 00:37:17 +03:00
Artturi
d5139e3017
Merge pull request #245909 from Artturin/setupshchanges2 2023-09-04 20:41:16 +03:00
Artturin
fa98c56f75 setup-hooks/separate-debug-info.sh: Warn if necessary variables are not set
`$OBJCOPY` is not available in bootstrap tools
`stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.stdenv.__bootPackages.bash.stdenv.cc.bintools`
2023-09-03 23:02:45 +03:00
Tim Cuthbertson
0bffcc3f3c setup-hooks/strip: add stripExclude 2023-09-03 20:18:10 +03:00
Peter Waller
e08ce498f0 cc-wrapper: Account for NIX_LDFLAGS and NIX_CFLAGS_LINK in linkType
Without this, pkgsStatic.pkgsLLVM.hello fails with segfaulting binaries
because of the issue described at [0].

In summary, llvm's linker has a different behaviour to GCC's when
supplied with both -static and -Wl,-dynamic-linker=...; GCC copes with
it, but LLVM produces a binary which segfaults on startup. It appears to
be necessary to omit the dynamic linker in this case.

nixpkgs' static adaptor passes -static via NIX_CFLAGS_LINK which was not
accounted for prior to this commit in the checkLinkType logic. For good
measure I put the other NIX_ flags affecting link in the same logic.

Additionally, $NIX_CFLAGS_LINK_@suffixSalt@ is not available until later
than it was originally set, so set $linkType close to its point of use.
I checked for earlier uses by studying the shell trace output and
couldn't find any.

[0] https://github.com/NixOS/nixpkgs/issues/111010#issuecomment-1536424163

Signed-off-by: Peter Waller <p@pwaller.net>
2023-09-03 13:49:50 +01:00
Artturin
1db1e3c467 stdenv: Fix possible issues discovered with
```
set -o errexit -o nounset -o pipefail
shopt -s inherit_errexit
```

in `stdenv/default-builder.sh`
2023-09-02 03:25:36 +03:00
github-actions[bot]
14f4a764c5
Merge master into staging-next 2023-09-02 00:02:17 +00:00
figsoda
eee0a82ee0
Merge pull request #251369 from srid/writeShellApplication-meta 2023-09-01 16:53:49 -04:00
Vladimír Čunát
e1b1a251f7
Merge #252459: win-dll-links: also copy dll from dependencies
...into staging-next.  It's a topologically earlier remerge.
2023-09-01 07:17:35 +02:00
brano543
1086f093a9 win-dll-links: also copy dll from dependencies
Fixes running `pkgsCross.mingwW64._7zz` in wine.

Fixes issue 38451

```
tree result/bin
result/bin
├── 7zz.exe
└── mcfgthread-12.dll -> ../../wmgj476qjfw26f9aij1d64lxrjfv6kk0-mcfgthreads-x86_64-w64-mingw32-git/bin/mcfgthread-12.dll
```

Co-authored-by: marius david <marius@mariusdavid.fr>
2023-08-31 21:47:48 +03:00
Atemu
4867914ee3
Merge pull request #250500 from trofi/fix-buildFHSEnv-BINTOOLS-wrapper
buildFHSEnv: fix `NIX_LDFLAGS` propagation to `ld` wrapper
2023-08-31 18:58:34 +02:00
aleksana
981754aba8 nix-prefetch-git: fix make_deterministic_repo in submodules 2023-08-31 18:25:06 +08:00
Maciej Krüger
b9ab9a92b9
Merge pull request #251409 from gilice/flutter-313 2023-08-30 22:00:14 +02:00
nicoo
af5682b3e1 fetchurl: Correctly handle { outputHash != ""; outputHashAlgo = "" }
Previously, the error that would be thrown would have been confusing:
```
fetchurl requires a hash for fixed-output derivation
```
2023-08-30 09:51:22 +00:00
nicoo
a59f03079c fetchurl: Validate that a single hash was passed 2023-08-30 09:51:22 +00:00
nicoo
76aedfaaee fetchDebianPatch: Handle the case of lib* packages 2023-08-30 08:28:45 +00:00
nicoo
e4162c9e7b fetchDebianPatch: add test 2023-08-30 07:55:07 +00:00
nicoo
d4e265327f fetchDebianPatch: Rename patch parameter, make name overrideable
This allows using the fetcher with `invalidateFetcherByDrvHash` for testing.
2023-08-30 07:53:05 +00:00
nicoo
741ed30e77 fetchDebianPatch: init 2023-08-30 07:53:04 +00:00
Artturi
bacceeba12
Merge pull request #252067 from lucasew/fix-buildFlutterApplication-passthru 2023-08-29 17:48:06 +03:00
hacker1024
1dcba055e5 buildDartApplication: Supply CA bundle to Dart in FOD
DART_VM_OPTIONS is not effective.
2023-08-29 13:12:15 +02:00
hacker1024
41bbc2c311 flutter: Supply CA bundle in sandbox 2023-08-29 13:12:01 +02:00
lucasew
acafc8e76e flutter.buildFlutterApplication: fix passthru being ignored
Signed-off-by: lucasew <lucas59356@gmail.com>
2023-08-28 22:54:36 -03:00
Lin Jian
6505082e72 emacsWithPackages: load compiled site-start.el of $emacs if possible
The first log in *Message* before this patch:

  Loading /nix/store/bikm18vy6v07hmrvrll501i68440w9iw-emacs-29.1-rc1/share/emacs/site-lisp/site-start.el (source)...done

and after this patch:

  Loading /nix/store/bikm18vy6v07hmrvrll501i68440w9iw-emacs-29.1-rc1/share/emacs/site-lisp/site-start (native compiled elisp)...done
2023-08-28 15:46:04 +00:00
Lin Jian
e8f6a5ce34 emacsWithPackages: do not symlink $emacs/share/emacs
I see no reason to symlink this dir.

Doing so may shadow unwanted libraries since the site-start.el of
Emacs adds paths under NIX_PROFILES to load-path.

It is added in [1] to fix "building emacs".  However, I have no issue
in building and using Emacs after removing it.

[1]: https://github.com/NixOS/nixpkgs/pull/89351
2023-08-28 15:46:04 +00:00
Lin Jian
f5fbea9761 emacsWithPackages: do not add the wrapper path twice
"$out/share/emacs/site-lisp" is added to load-path in wrapper.sh[1]
using EMACSLOADPATH and "$out/share/emacs/native-lisp/" is added to
native-comp-eln-load-path in wrapper.sh[2] using
EMACSNATIVELOADPATH. There is no point to add them again here.

Additionally, the trailing "/" in "$out/share/emacs/native-lisp/"
causes duplicate entries in native-comp-eln-load-path:

("/nix/store/hash1-emacs-packages-deps/share/emacs/native-lisp/" ; [3]
 "/home/user/.emacs.d/eln-cache/"
 "/nix/store/hash1-emacs-packages-deps/share/emacs/native-lisp"  ; [2]
 "/nix/store/hash2-emacs-29.1-rc1/lib/emacs/29.1/native-lisp/")

load-path does not change with this patch applied.

[1]: 1476c13422/pkgs/build-support/emacs/wrapper.sh (L47)
[2]: 1476c13422/pkgs/build-support/emacs/wrapper.sh (L50)
[3]: 1476c13422/pkgs/build-support/emacs/wrapper.nix (L166)
2023-08-28 15:46:04 +00:00
Robert Scott
df02fcb79b cc-wrapper: don't use fortify-headers for non-gcc compilers 2023-08-28 15:06:44 +01:00
hacker1024
84347c2195 flutter: Use wrapGAppsHook
Flutter's Linux desktop embedding uses GTK. wrapGAppsHook should be used.
2023-08-28 11:59:44 +10:00
github-actions[bot]
4cdbb53d13
Merge master into staging-next 2023-08-26 12:01:05 +00:00
Ryan Lahfa
3506ce32c5
Merge pull request #238407 from RaitoBezarius/licenses-for-nc-plugins 2023-08-26 13:38:21 +02:00
Adam Joseph
52374770b0
Merge pull request #251534 from amjoseph-nixpkgs/pr/default-crate-overrides/libseat-sys
default-crate-overrides: add libseat-sys
2023-08-26 10:52:14 +00:00
markuskowa
212d454c2a
Merge pull request #246867 from markuskowa/add-mpi-hook
add mpiCheckPhaseHook
2023-08-26 11:54:56 +02:00
Adam Joseph
2ea678ed48 default-crate-overrides: add libseat-sys
This is needed for building `cosmic-comp` using `crate2nix` instead
of `buildRustPackage` (like
https://github.com/NixOS/nixpkgs/pull/251365/ does).
2023-08-26 01:08:29 -07:00
github-actions[bot]
e79f8fd118
Merge master into staging-next 2023-08-25 18:00:58 +00:00
Lin Jian
3e025f1393 emacsWithPackages: add a note for EMACSNATIVELOADPATH 2023-08-25 17:42:21 +00:00
Lin Jian
7f8cd3d8f9 emacsWithPackages: remove redundant colons 2023-08-25 17:42:21 +00:00
Lin Jian
d380784357 emacsWithPackages: fix logic of adding EMACSNATIVELOADPATH
Without this change, EMACSNATIVELOADPATH will not be added if
EMACSLOADPATH is added.
2023-08-25 17:42:21 +00:00
Sridhar Ratnakumar
250d324776
trivial-builders: add meta to writeShellApplication 2023-08-25 09:38:21 -04:00
github-actions[bot]
abaaf09a76
Merge master into staging-next 2023-08-24 18:00:52 +00:00
Shea Levy
c7417f5a3c
Merge pull request #250577 from shlevy/nix-buffer-new-emacs
nixBufferBuilders fixes
2023-08-24 08:53:56 -04:00
github-actions[bot]
4328391132
Merge master into staging-next 2023-08-24 12:01:05 +00:00
Brian McGee
9aa91ec7b5 build-support/vm: fix makeImageTestScript
`qemu-img create` now requires an additional `-F <second_image_format>` flag.

https://github.com/qemu/qemu/blob/master/docs/about/removed-features.rst#qemu-img-backing-file-without-format-removed-in-61
2023-08-24 09:09:43 +01:00
github-actions[bot]
b179570bca
Merge master into staging-next 2023-08-23 06:01:21 +00:00
Adam Joseph
be547cb31f
Merge pull request #247527 from oxij/metrics/fetchzip
fetchzip: cleanup and improve metrics
2023-08-23 05:12:47 +00:00
OTABI Tomoya
ccaca85500
Merge pull request #249091 from TomaSajt/dotnet-fix
Fix useDotnetFromEnv's DOTNET_ROOT detection
2023-08-23 14:04:47 +09:00
OTABI Tomoya
55e2339423
Merge pull request #249176 from TomaSajt/build-dotnet-global-tool-fix
buildDotnetGlobalTool: fix typo
2023-08-23 13:57:55 +09:00
Markus Kowalewski
587a19e43c mpiCheckPhaseHook: add new setup hook for MPI aware check phases
Add this hook to checkPhase to allow for running MPI application in
the sandbox. It detects the MPI implementations and sets the respective
environment variables.
2023-08-22 23:27:47 +02:00
github-actions[bot]
1f6fb14d17
Merge staging-next into staging 2023-08-22 00:02:25 +00:00
zowoq
9b562802e0 Revert "buildGoModule: set GOPROXY to go default"
This reverts commit 3392d56b72.

Fixed in cbc976a97c
2023-08-22 09:20:22 +10:00
Sergei Trofimovich
2da0307220 buildFHSEnv: fix NIX_LDFLAGS propagation to ld wrapper
Before the change the following command did not work:

    $ nix develop -i --impure --expr 'with import <nixpkgs> { system = "i686-linux"; }; (buildFHSUserEnv { name = "t"; targetPkgs = ps: with ps; [ libmpc stdenv.cc ]; }).env'
    $ ld -lmpc -o a
    ld: cannot find -lmpc: No such file or directory

It is expected to work as `NIX_LDFLAGS` does contain valid values:

    $ echo $NIX_LDFLAGS
    -L/usr/lib -L/usr/lib32

Note that for `gcc` it does work:

    $ printf "int main(){}" |  gcc -x c - -lmpc -o a

It happens because `HOST` role is enabled for `cc`:

    $ echo $NIX_CC_WRAPPER_TARGET_HOST_i686_unknown_linux_gnu
    1

But not for `BINTOOLS`:

    $ echo $NIX_BINTOOLS_WRAPPER_TARGET_HOST_i686_unknown_linux_gnu
    <empty>

The change adds BINTOOLS role and fixes linking:

    $ nix develop -i --impure --expr 'with import ~/nm { system = "i686-linux"; }; (buildFHSUserEnv { name = "t"; targetPkgs = ps: with ps; [ libmpc stdenv.cc ]; }).env'
    $ printf "int main(){}" |  gcc -x c - -lmpc -o a
    $ ld -lmpc -o a
    ld: warning: cannot find entry symbol _start; not setting start address
2023-08-21 07:50:37 +01:00
Michael Hoang
66884a4912 writeDarwinBundle: use binary wrapper
Previously `writeDarwinBundle` used a handcrafted shell wrapper, however
this causes issues on Apple Silicon Macs as script-only application
bundles are always run under Rosetta[0][1].

Replacing the handcrafted shell wrapper with a binary wrapper allows
apps to run natively instead of requiring Rosetta. However, this means
we can no longer use `$1` and `$@`.

After checking nearly every current usage of `desktopToDarwinBundle`,
there were no apps that used `%[fFuU]` before the last argument, meaning
removing them naively is good enough for the current apps.

[0]: https://developer.apple.com/documentation/apple-silicon/building-a-universal-macos-binary
[1]: https://stackoverflow.com/a/68208374
2023-08-21 13:29:12 +10:00
Maximilian Bosch
9a62a46874
fetchNextcloudApp: remove backwards compat for old interface
The `name` & `version` attributes only existed in a previous form of
the API before it was switched over to using `fetchzip` &
`applyPatches`[1]. The attributes existed to be able to throw an
evaluation error with upgrade instructions when this was used. However,
this was before 22.11, so this shouldn't be in use anymore (and if
somebody is doing a migration from a very old NixOS, this is still
documented in the 22.11 release-notes[2]).

Anyways, this simplifies the code a little bit and also having both
`appName`/`appVersion` and `name`/`version` in there is quite confusing. But
still, I figured it's less confusing to not re-use attributes that were
deprecated in the past, hence the alternative naming.

[1] 3ca9b9a8ad
[2] d41b381310
2023-08-20 13:41:43 +02:00
Maximilian Bosch
c317dcec0d
nextcloud*Packages: expose proper license information
This change makes sure that each Nextcloud plugin installed provides a
`meta` section with proper license information.

Unfortunately, the metadata from the appstore is useless for this
purpose since it doesn't differentiate between e.g. AGPL 3.x and AGPL
3.x or any later version. In fact, this isn't consistent between their
software, e.g. `bookmarks` has `agpl3Plus` according to the files'
headers[1] whereas `twofactor_nextcloud_notification` is AGPL 3 only[2].

I don't think there's any trivial and reasonable way to retrieve this
information programatically, so I decided to change the format of
`nextcloud-apps.json`[3] to also contain the license in the form of the
license attribute we have in `lib/licenses.nix`, i.e. GNU AGPL 3 or
later is `agpl3Plus`.

I retrieved the information using the following approach:

* go to the source code of $app at the revision we currently have
  packaged
* check for a license identifier (does it specify the license only or
  the license "or any later version")?
  * first in `src/main.js` because most apps from Nextcloud itself used
    actual spdx identifiers in the frontend's source-code.
  * then in `lib/AppInfo/Application.php` which each Nextcloud app has.

License changes should be updated accordingly when updating the apps. As
with any other package in nixpkgs as well, this currently needs to be
done manually (or as part of the review process)[4].

Also, I decided to change the `name` of the `applyPatches` derivation
from `source-patched` to `nextcloud-app-${appName}-${appVersion}`. When
deploying a lot of apps (and probably displaying the diff using
`nix store diff-closures` on deploy), the current output isn't very
helpful. This is purely optional because I didn't want to break the
interface of `fetchNextcloudApp` again.

[1] https://github.com/nextcloud/bookmarks/blob/v13.1.0/lib/AppInfo/Application.php#L6
[2] https://github.com/nextcloud/twofactor_nextcloud_notification/blob/v3.7.0/lib/AppInfo/Application.php
[3] This isn't really well-defined since it's preprocessed with `jq(1)`
    before passing the apps to nc4nix.
[4] Though notable license changes (e.g. agpl -> gpl) would also pop up
    in the diff of <nextcloudversion>.json, so this is pretty easy to
    catch.
2023-08-20 13:39:44 +02:00
Maximilian Bosch
850af44435
applyPatches: fix adding meta information 2023-08-20 11:51:21 +02:00
Raito Bezarius
b4b1ce2443
fetchNextcloudApp: meta propagation for licenses, etc.
This improves the metadata propgation for nc4nix-generated packages.

Adds:

- licenses (best effort given spdxId doesn't seem guaranteed here)
- homepage
- longDescription
2023-08-20 11:49:15 +02:00
Raito Bezarius
ccbd98db50
trivial-builders/applyPatches: carry meta information to the patched source
There is no reason to not carry licenses and other information to any patched source.

This should improve our metadata in those situations.
2023-08-20 11:49:14 +02:00
github-actions[bot]
f6d3a09e06
Merge staging-next into staging 2023-08-20 06:01:25 +00:00
github-actions[bot]
1bb285561e
Merge master into staging-next 2023-08-20 06:00:56 +00:00
Robert Schütz
cf970f13ab
Merge pull request #249879 from dotlambda/carto-buildNpmPackage
carto: use buildNpmPackage
2023-08-20 04:11:43 +00:00
github-actions[bot]
8a62479e06
Merge staging-next into staging 2023-08-20 00:03:24 +00:00
github-actions[bot]
f6a4c6f912
Merge master into staging-next 2023-08-20 00:02:29 +00:00
Adam Joseph
af0400c500
Merge pull request #193086 from Atry/stdenv.cc.libcxx
clang-wrapper and gcc-wrapper: add `stdenv.cc.libcxx` to detect the standard C++ library
2023-08-19 21:11:51 +00:00
github-actions[bot]
9145b3fd81
Merge staging-next into staging 2023-08-19 18:01:22 +00:00
github-actions[bot]
b34f222b02
Merge master into staging-next 2023-08-19 18:00:51 +00:00
Robert Schütz
96e5dce777 buildNpmPackage: use installManPage 2023-08-19 10:04:00 -07:00
Robert Hensing
65d41fb588
Merge pull request #248735 from considerate/considerate/merge-docker
dockerTools: replace --no-clobber with --update=none
2023-08-19 17:58:40 +02:00
Viktor Kronvall
ca072c08a2 dockerTools: replace fakechroot with proot
The command `fakechroot` errored with buffer overflows. The `proot`
command doesn't seem to suffer from the same problem. The tar command
creating the layer errors with "permission denied" on a bunch of paths
in /proc but the layer seems to get built anyway.
2023-08-19 23:34:21 +09:00
Robert Scott
658ab4b45b cc-wrapper: add fortify flags after invocation args, not before
this splits hardeningCFlags into hardeningCFlagsAfter and
hardeningCFlagsBefore (where most flags still remain) to allow
us to *append* `-D_FORTIFY_SOURCE=` values to the command-line,
forcing our choice of fortify level and avoiding potential
redefinition warnings/errors through use of `-U_FORTIFY_SOURCE`
2023-08-19 14:59:06 +01:00
github-actions[bot]
c9e2cfa3f4
Merge staging-next into staging 2023-08-19 06:01:31 +00:00
github-actions[bot]
1e271fd42a
Merge master into staging-next 2023-08-19 06:01:05 +00:00
aszlig
8e6c0c14a4
libredirect: Fix segfault handling null paths
While using libredirect in conjunction with geckodriver, I stumbled on
odd segfaults that happened when running the wrapped statx() call from
libredirect:

  0x00007ffff7ddd541 in __strncmp_avx2 () from .../lib/libc.so.6
  0x00007ffff7f6fe57 in statx () from .../lib/libredirect.so
  0x00005555558d35bd in std::sys::unix::fs::try_statx::h2045d39b0c66d4e8 ()
  0x00005555558d2230 in std::sys::unix::fs::stat::ha063998dfb361520 ()
  0x0000555555714019 in mozversion::firefox_version::hdc3b57eb04947426 ()
  0x00005555556a603c in geckodriver::capabilities::FirefoxCapabilities::version::h58e289917bd3c721 ()
  0x00005555556a77f5 in <geckodriver::capabilities::FirefoxCapabilities as webdriver::capabilities::BrowserCapabilities>::validate_custom::h62d23cf9fd63b719 ()
  0x000055555562a7c8 in webdriver::capabilities::SpecNewSessionParameters::validate::h60da250d33f0989f ()
  0x00005555556d7a13 in <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold::h9427a360a3d0bf8f ()
  0x0000555555669d85 in <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter::hd274d536ea29bb33 ()
  0x00005555555c05ef in core::iter::adapters::try_process::hdf96a01ec1f9b8bd ()
  0x000055555561768d in <webdriver::capabilities::SpecNewSessionParameters as webdriver::capabilities::CapabilitiesMatching>::match_browser::hfbd8c38f6db17e9f ()
  0x00005555555ca6ef in <geckodriver::marionette::MarionetteHandler as webdriver::server::WebDriverHandler<geckodriver::command::GeckoExtensionRoute>>::handle_command::h13b98b9cb87a69d6 ()
  0x00005555555e859e in webdriver::server::Dispatcher<T,U>::run::h746a8bf2f0bc24fd ()
  0x000055555569ff0f in std::sys_common::backtrace::__rust_begin_short_backtrace::h3b920773bd467d2a ()
  0x00005555555dbc99 in core::ops::function::FnOnce::call_once{{vtable.shim}}::h81ba7228877515f7 ()
  0x00005555558d31a3 in std::sys::unix:🧵:Thread:🆕:thread_start::h4514580219a899c5 ()
  0x00007ffff7d0ce24 in start_thread () from .../lib/libc.so.6
  0x00007ffff7d8e9b0 in clone3 () from .../lib/libc.so.6

The reason why I found this odd was because it happens in the following
piece of code (shortened a bit):

   1 static const char * rewrite(const char * path, char * buf)
   2 {
   3   if (path == NULL) return path;
   4   for (int n = 0; n < nrRedirects; ++n) {
   5     int len = strlen(from[n]);
   6     if (strncmp(path, from[n], len) != 0) continue;
   7     if (snprintf(buf, PATH_MAX, "%s%s", to[n], path + len) >= PATH_MAX)
   8       abort();
   9     return buf;
  10   }
  11   return path;
  12 }

When inspecting the assembly, I found that the check for the null
pointer in line 3 was completely missing and the code was directly
entering the loop and then eventually segfault when running strncmp()
with a null pointer as its first argument.

I confirmed that indeed that check was missing by compiling libredirect
with "-O0" and comparing the generated assembly with the optimized one.
The one compiled with "-O0" had that check while the optimized one did
not and indeed when running geckodriver with the unoptimized version it
worked fine.

Digging in the Git history, I found 5677ce2008,
which actually introduced the null pointer check. Going back to that
commit however, the check actually was still in the generated assembly.

So I bisected between that commit and the most recent one and ended up
with commit ca8aa5dc87, which moved
everything to use GCC 7.

I haven't found out why *exactly* GCC was optimizing the check away, but
playing around on Godbolt with various other compilers seems that other
compilers such as Clang are doing it as well. Additionally, given that
passing NULL to stat() is UB, my guess is that compilers tend to assume
that such an argument can't be NULL. My assumption is based on the fact
that GCC warns with "argument 1 null where non-null expected" when
passing NULL to eg. stat().

To address this for now, I marked the path argument of the rewrite()
volatile and also added a test that should cause a segfault in case this
would regress again as it already did.

Signed-off-by: aszlig <aszlig@nix.build>
2023-08-19 00:58:43 +02:00
Pierre Bourdon
28693fb1c3
buildNpmPackage: symlink manpages to the correct output directory 2023-08-18 12:41:05 +02:00
Shea Levy
bf7a81d8dd
nixBufferBuilders: Don't assume the user has used eshell 2023-08-18 04:49:33 -04:00
Shea Levy
994f2560d0
Fix nixBufferBuilders for newer emacs 2023-08-17 10:38:37 -04:00
Viktor Kronvall
b35440bfcf dockerTools: replace --no-clobber with --update=none
Since coreutils v9.2 the `--no-clobber` flag results in a non-zero exit
code when the destination files exist. Using `--update=none` will now
reproduce the old behavior of `--no-clobber`.

However, the `--update=none` flag was introduced in coreutils v9.3 and
thus `mergeImages` will fail if you have an older version than v9.3 in
stdenv after applying this commit.

[coreutils v9.3 changelog](f386722dc0/NEWS (L48))
2023-08-17 01:37:07 +09:00
Anton Mosich
04df8d6442 make-startupitem: fix typo in comment 2023-08-16 18:03:02 +02:00
TomaSajt
9646cb5c49
buildDotnetGlobalTool: fix typo 2023-08-14 20:56:27 +02:00
github-actions[bot]
674c2b1920
Merge master into staging-next 2023-08-14 18:01:03 +00:00
Artturin
b93da3f4b7 treewide: overrideScope' -> overrideScope
`lib.makeScope` `overrideScope'` has been renamed to `overrideScope`

`fd --type f | xargs sd --string-mode "overrideScope'" "overrideScope"`
2023-08-14 18:46:47 +03:00
Adam Joseph
a97e8fc272 make-initrd-ng: use hostPlatform.ubootArch for uinitrdArch
This allows make-initrd-ng to pick up the few cases where Linux and
u-boot disagree.
2023-08-14 01:34:08 -07:00
Yang, Bo
1b8ca87a83
Merge branch 'master' into stdenv.cc.libcxx 2023-08-12 14:19:01 -07:00
github-actions[bot]
9cc6a98540
Merge master into staging-next 2023-08-11 18:00:55 +00:00
Charlie Moog
0b4c5d23cd
trivial-builders: add meta.mainProgram to writeShellScriptBin
Derivations built with `writeShellScriptBin`
should always be runnable with `nix run`. At present,
the derivation is missing both `meta.mainProgram`
and `pname`– this means that `nix run` falls back
to inferring the bin path from `name`. This is
unreliable and depends on faulty heuristics.

For context, reference the following snippet from
`nix run --help`:

    If installable evaluates to a derivation, it will try to execute the
    program <out>/bin/<name>, where out is the primary output store path
    of the derivation, and name is the first of the following that exists:

      · The meta.mainProgram attribute of the derivation.
      · The pname attribute of the derivation.
      · The name part of the value of the name attribute of the derivation.
2023-08-11 00:40:37 -05:00
Artturi
442314b689
Merge pull request #247759 from Artturin/stripmktempdir 2023-08-10 15:18:58 +03:00
Lily Foster
785ed11d0a
prefetch-npm-deps: fix error typo and unnecessary name qualifier 2023-08-09 19:13:26 -04:00
github-actions[bot]
37cdcaae78
Merge staging-next into staging 2023-08-09 12:01:51 +00:00
Francesco Gazzetta
b2e987dd16
Merge pull request #240348 from fgaz/write-shell-application/check-platforms
writeShellApplication: use shellcheck only where supported
2023-08-09 12:17:46 +02:00
github-actions[bot]
792f4d7934
Merge staging-next into staging 2023-08-08 18:01:27 +00:00
sternenseemann
af60e68744 testers.hasPkgConfigModules: allow checking multiple pkg-config mods
This is very useful in conjunction with meta.pkgConfigModules, as the
new tester can use the list provided by this meta attribute as a default
value for moduleNames, making its usage in passthru.tests very
convenient.

For backwards compatibility, a shim under the old name is maintained
with a warning.
2023-08-08 19:16:48 +02:00
Jan Malakhovski
9437e4da35 fetchurl: cleanup a bit by moving the warning into assert 2023-08-08 13:38:11 +00:00
Jan Malakhovski
9dcecbdb31 fetchzip: cleanup and improve metrics a bit 2023-08-08 13:25:28 +00:00
github-actions[bot]
f19f490d4e
Merge staging-next into staging 2023-08-08 12:01:54 +00:00
Nick Cao
b98f6d9072
Merge pull request #246712 from NickCao/jax-rework
python3Packages.{jax,jaxlib}: update to 0.4.14
2023-08-08 01:58:03 -06:00
TomaSajt
ed60ed3562
Fix useDotnetFromEnv's DOTNET_ROOT detection 2023-08-08 00:37:49 +02:00
Artturin
520a544ee5 setup-hooks/strip: Create the log file in '$TMDPIR'
vcunat said

> This invocation of mktemp creates the file in the current directory, which is bad practice. We should add "--tmpdir=$TMPDIR" or make the template absolute.

> I noticed because one package did cd $src during installing, which is a read-only path...
2023-08-07 18:20:56 +03:00
Robert Scott
0865f1f4d7
Merge pull request #219421 from risicle/ris-fortify-headers-auto
cc-wrapper: include fortify-headers before libc includes for musl
2023-08-06 22:50:48 +01:00
github-actions[bot]
bbf876fefa
Merge staging-next into staging 2023-08-06 18:01:26 +00:00
github-actions[bot]
191e60634e
Merge master into staging-next 2023-08-06 18:01:04 +00:00
Robert Scott
95c4a1fe96 cc-wrapper: include fortify-headers before libc includes for musl 2023-08-06 17:52:28 +01:00
Weijia Wang
b3e14fbf79
Merge pull request #247501 from oxij/fix/fetchrepoproject
fetchrepoproject: fix a bug
2023-08-06 16:32:48 +02:00
Jan Malakhovski
2c50e3491e fetchrepoproject: fix a bug that was there since bef6bef0d2 2023-08-06 12:17:09 +00:00
github-actions[bot]
0031ae7742
Merge staging-next into staging 2023-08-06 00:03:36 +00:00
github-actions[bot]
c90f3611dc
Merge master into staging-next 2023-08-06 00:02:21 +00:00
Francesco Gazzetta
2c5990f03a writeShellApplication: use shellcheck only where supported 2023-08-05 18:31:20 +02:00
Naïm Favier
ec2efb7476
Merge pull request #247164 from tjni/make-wrapper-dependencies
makeBinaryWrapper: remove cc dependency on aarch64-darwin
2023-08-05 10:30:54 +02:00
Vladimír Čunát
d5732d9669
Merge branch 'staging-next' into staging 2023-08-05 07:45:29 +02:00
Theodore Ni
ca73fb024a
makeBinaryWrapper: remove cc dependency on aarch64-darwin 2023-08-04 14:12:56 -07:00
K900
8bd0cd850b requireFile: fix error message with SRI hashes 2023-08-04 15:34:30 +03:00
Artturi
c0731df13c
Merge pull request #238525 from tie/patch-shebang-update-store-paths 2023-08-04 01:21:07 +03:00
github-actions[bot]
5827446dce
Merge master into staging-next 2023-08-03 00:01:56 +00:00
Weijia Wang
67633c2a6f
Merge pull request #238323 from szlend/fixed-path-codesign-allocate
codesign_allocate: use absolute path
2023-08-02 22:10:22 +02:00
Weijia Wang
7c1239a54a
Merge pull request #245282 from reckenrode/gccStdenv-fix
cc-wrapper: use a temporary file for reponse file
2023-08-02 11:04:25 +02:00
Gaetan Lepage
e754f2946b
buildBazelPackage: add support for bazel run targets 2023-08-02 16:05:55 +08:00
Nick Cao
8423edb179
Revert "Update JAX" 2023-08-01 21:23:27 -06:00
Nick Cao
2673bcc912
Merge pull request #227145 from GaetanLepage/jax
Update JAX
2023-08-01 19:42:01 -06:00
Simon Žlender
8e912feb29 codesign_allocate: reference cctools 2023-08-01 21:27:09 +02:00
zowoq
3392d56b72 buildGoModule: set GOPROXY to go default 2023-08-02 01:08:27 +10:00
zowoq
86cd7e0948 buildGo{Module,Package}: set GOTOOLCHAIN to local
prevent go from downloading another toolchain
2023-08-02 01:08:27 +10:00
zowoq
41ccfa322e buildGoModule: refactor GO111MODULE 2023-08-02 01:08:27 +10:00
Robert Hensing
0ed9e35a22 writers: Set mainProgram
Part of https://github.com/NixOS/nixpkgs/pull/246386
2023-08-01 12:21:06 +02:00
Randy Eckenrode
6f2b3ba027 cc-wrapper: use a temporary file for reponse file
The Darwin stdenv rework conditionally sets `NIX_CC_USE_RESPONSE_FILE`
depending on the `ARG_MAX` of the build system. If it is at least 1 MiB,
the stdenv passes the arguments on the command-line (like Linux).
Otherwise, it falls back to the response file. This was done to prevent
intermitent failures with clang 16 being unable to read the response
file. Unfortunately, this breaks `gccStdenv` on older Darwin platforms.

Note: While the stdenv logic will also be reverted, this change is
needed for compatibility with clang 16.

GCC is capable of using a response file, but it does not work correctly
when the response file is a file descriptor. This can be reproduced
using the following sequence of commands:

    $ nix shell nixpkgs#gcc; NIX_CC_USE_RESPONSE_FILE=1 gcc
    # Linux
    /nix/store/9n9gjvzci75gp2sh1c4rh626dhizqynl-binutils-2.39/bin/ld: unrecognized option '-B/nix/store/vnwdak3n1w2jjil119j65k8mw1z23p84-glibc-2.35-224/lib/'
    /nix/store/9n9gjvzci75gp2sh1c4rh626dhizqynl-binutils-2.39/bin/ld: use the --help option for usage information
    collect2: error: ld returned 1 exit status
    # Darwin
    ld: unknown option: -mmacosx-version-min=11.0
    collect2: error: ld returned 1 exit status

Instead of using process substitution, create a temporary file and
remove it in a trap. This should also prevent the intermitent build
failures with clang 16 on older Darwin systems.

Fixes #245167
2023-08-01 10:32:56 +02:00
Vladimír Čunát
2141d9879a
Revert "stdenv: use improved strip.sh for aarch64-linux"
This reverts commit 39919b8f21.
The parent merge resolved this more properly.
2023-07-31 11:20:15 +02:00
Linus Heckemann
a3d2e71a6c
Merge pull request #246164 from trofi/strip-no-symlinks
setup-hooks/strip: resolve/uniq symlinks before stripping
2023-07-31 11:02:20 +02:00
Vladimír Čunát
39919b8f21
stdenv: use improved strip.sh for aarch64-linux
Adapted from PR #246164
TODO: clean up / use it everywhere on the next rebuild.
2023-07-30 21:18:30 +02:00
Sergei Trofimovich
7adf0a4eeb setup-hooks/strip: resolve/uniq symlinks before stripping
Before the change the hook had a chance to run `strip` against the same
file using multiple link paths. In case of `gcc` `libgcc.a` was stripped
multiple times in parallel and produces corrupted archive.

The change runs inputs via `realpath | uniq` to make sure we don't
attempt to strip the same files multiple times.
2023-07-30 16:27:18 +01:00
Martin Weinelt
167f6dfee4
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
- pkgs/development/libraries/science/astronomy/cfitsio/default.nix
2023-07-30 03:54:27 +02:00
Pol Dellaiera
83085359e3
Merge pull request #244010 from majiru/add-fetch9front
fetch9front: init
2023-07-29 08:28:24 +02:00
github-actions[bot]
d64d339ecf
Merge master into staging-next 2023-07-29 06:01:06 +00:00
Andrew Marshall
ffabc8c658 fetchfirefoxaddon: fix passing md5 to fetchurl
Broken in 6f30e0a906.

See https://github.com/NixOS/nixpkgs/issues/245949.
2023-07-28 16:18:15 -04:00
github-actions[bot]
eec08f8a6d
Merge staging-next into staging 2023-07-28 12:01:43 +00:00
Ben Wolsieffer
025af47303 writers: use runCommand instead of runCommandNoCC
runCommandNoCC is now an alias for runCommand, which was causing ofborg
failures with allowAliases = false.
2023-07-28 00:39:21 -04:00
Ben Wolsieffer
09dd973987 writers: use callPackages to import sub-groups of writers
Use callPackages instead of plain import to get proper splicing. Without this,
writeNginxConfig fails when cross-compiling.
2023-07-27 22:54:41 -04:00
github-actions[bot]
433ca82232
Merge staging-next into staging 2023-07-27 12:01:56 +00:00
Vladimír Čunát
1c0d654684
Merge #239191: treewide: gobject-introspection from buildInputs to nativeBuildInputs
...into staging
2023-07-26 20:53:32 +02:00
Vladimír Čunát
13dd8ab149
Merge #243558: libredirect: fix build with clang 16
...into staging
2023-07-26 19:20:34 +02:00
Robert Hensing
0dd3989cef tests.trivial-builders.writeTextFile: Test meta.mainProgram logic 2023-07-26 18:45:54 +02:00
Robert Hensing
a6aabd9d28 tests.trivial-builders.references: Only run where supported 2023-07-26 18:22:34 +02:00
Robert Hensing
89bdfd4687 trivial-builders: Move test list closer 2023-07-26 18:22:33 +02:00
Robert Hensing
d1dc8384ca writeCBin: Add meta.mainProgram
... and add tests.
2023-07-26 18:22:26 +02:00
github-actions[bot]
f5a346e8e7
Merge staging-next into staging 2023-07-26 12:02:08 +00:00
Vladimír Čunát
88dec0c7a9
Merge #243595: cc-wrapper: -fwrapv instead of -fno-strict-overflow in clang
..into staging
2023-07-26 11:55:59 +02:00
Pol Dellaiera
435d7c0799
Merge pull request #216365 from Stunkymonkey/use-optionalAttrs
treewide: use lib.optionalAttrs
2023-07-26 10:37:07 +02:00
MicroBlock
c2b8bf7f4e
feat: implement redirect for fetch-yarn-deps
This would fix NixOS/nixpkgs#245415
2023-07-26 15:13:37 +08:00
github-actions[bot]
c494d3a0da
Merge staging-next into staging 2023-07-26 00:02:44 +00:00
Lassulus
17d98b5b7c
Merge pull request #244835 from zimbatm/data-writers
writers: add data-centric writers
2023-07-25 22:58:15 +02:00
Felix Buehler
099935b624 treewide: use lib.optionalAttrs 2023-07-24 21:59:17 +02:00
github-actions[bot]
cecfbb286d
Merge staging-next into staging 2023-07-24 12:02:11 +00:00
Artturin
7da39a7a9e
treewide .goModules: revert renaming the derivation
This is a workaround to avoid exposing non-reproducible .goModules
At least for now.
https://github.com/NixOS/nixpkgs/pull/242905#issuecomment-1646820126
2023-07-24 08:15:48 +02:00
Jacob Moody
db097eb3b5 lib: add fetchFrom9Front 2023-07-23 13:16:28 -05:00
Artturi
2afcd08762
Merge pull request #244400 from Artturin/stripprinterr 2023-07-23 03:38:20 +03:00
zimbatm
504e42b559 writers: introduce data writers
Make it easy to write structured data back to disk.
2023-07-22 17:54:41 +02:00
zimbatm
d0c7ffc596 writers: make room for other types of writers 2023-07-22 17:54:41 +02:00
zimbatm
73ee03cbc5 writers: split out the tests
Make it easier to run and debug individual tests.
2023-07-22 17:53:52 +02:00
github-actions[bot]
941ae3102b
Merge staging-next into staging 2023-07-22 12:02:07 +00:00
github-actions[bot]
045f0259fe
Merge master into staging-next 2023-07-22 12:01:28 +00:00
zimbatm
c04c43ccd1 writers: fix fsharp writer
dotnet needs a writable $HOME to operate
2023-07-22 13:36:31 +02:00
Felix Bühler
0a2745684e
Merge pull request #239624 from Stunkymonkey/use-optionalString-then
treewide: use optionalString instead of 'then ""'
2023-07-22 13:02:47 +02:00
Artturin
f46c8c1bcd setup-hooks/strip: Exit if cmd or ranlibCmd are empty 2023-07-21 21:57:44 +03:00
Artturin
2ae18b7e10 setup-hooks/strip: Add -- before $cmd 2023-07-21 21:57:44 +03:00
Artturin
5093766f79 setup-hooks/strip: Print strip stderr if command fails
This is easiest to do through a file.

mktemp needs six X because busybox only accepts exactly six X.
2023-07-21 21:57:44 +03:00
github-actions[bot]
6689e744ea
Merge staging-next into staging 2023-07-21 06:01:41 +00:00
github-actions[bot]
17a15a50ab
Merge master into staging-next 2023-07-21 06:01:05 +00:00
Theodore Ni
02ce2e9c86
fetchsvnssh: clean up md5 references 2023-07-20 21:24:13 -07:00
Theodore Ni
63804228e5
fetchgit: clean up md5 references 2023-07-20 21:24:13 -07:00
Theodore Ni
a96b466396
fetchdarcs: clean up md5 references 2023-07-20 21:24:13 -07:00
Theodore Ni
4c9ed3189c
fetchhg: clean up md5 references 2023-07-20 21:24:13 -07:00
Theodore Ni
eadaf81055
fetchsvn: clean up md5 references 2023-07-20 21:24:07 -07:00
Theodore Ni
6f30e0a906
fetchurl: clean up md5 references 2023-07-20 21:23:04 -07:00
github-actions[bot]
6ce03a2dbd
Merge staging-next into staging 2023-07-20 18:01:51 +00:00
github-actions[bot]
da1f279ece
Merge master into staging-next 2023-07-20 18:01:17 +00:00
Sandro
081d7a5712
Merge pull request #243568 from tjni/fetchsvn 2023-07-20 17:08:53 +02:00
Gaetan Lepage
263a816ac7 buildBazelPackage: add support for bazel run targets 2023-07-20 16:53:36 +02:00
Artturi
bba1411f25
Merge pull request #207101 from DeterminateSystems/parallel-strip 2023-07-19 01:42:23 +03:00
Theodore Ni
acb182363b
cc-wrapper: use -fwrapv instead of -fno-strict-overflow in clang 2023-07-17 23:41:33 -07:00
figsoda
14da6bed8a
Merge pull request #243859 from blaggacao/fix-maturin-hook-with-python-hooks 2023-07-17 23:16:34 -04:00
github-actions[bot]
8717af0ce1
Merge staging-next into staging 2023-07-17 18:01:56 +00:00
Ryan Lahfa
8fbe8379b3
Merge pull request #240808 from nrabulinski/fetchpijul 2023-07-17 19:31:53 +02:00
Nikodem Rabuliński
080e97c7f9
build-support: Add fetchpijul function. 2023-07-17 18:44:06 +02:00
github-actions[bot]
fad49da923
Merge staging-next into staging 2023-07-17 06:02:22 +00:00
Lily Foster
249efd2271
Merge pull request #223457 from lilyinstarlight/fix/fetch-yarn-deps-pulsar
fetchYarnDeps: account for more yarn.lock spec edge cases
2023-07-16 20:24:16 -04:00
github-actions[bot]
5b36eb4172
Merge staging-next into staging 2023-07-17 00:03:32 +00:00
Lily Foster
eb8c6ca753
Merge pull request #243604 from stasjok/remove-redundant-passthru
buildNpmPackage: remove redundant passthru.npmDeps
2023-07-16 19:23:39 -04:00
David Arnold
b3d2765271
rustPlatform.maturinBuildHook: fix postBuild hook to use ./dist contract 2023-07-16 16:09:37 -05:00
github-actions[bot]
034c3854f0
Merge staging-next into staging 2023-07-16 18:01:40 +00:00
Naïm Favier
4dadd7ef86
Merge pull request #242099 from ncfavier/runCommand-meta-position
runCommand: don't set meta.position if meta is given
2023-07-16 14:50:23 +02:00
Stanislav Asunkin
38ca04ed64 buildNpmPackage: remove redundant passthru.npmDeps 2023-07-15 10:29:55 +03:00
Theodore Ni
4cbdf0d1fc
fetchsvn: support hash parameter alongside sha256 2023-07-14 18:07:07 -07:00
Randy Eckenrode
d02150a783
libredirect: fix build with clang 16
* Preferentially use the stdenv clang if it is new enough to produce
  arm64e binaries; and
* Fix incompatible function pointer conversions (results in an error
  with clang 16).
2023-07-14 18:10:13 -06:00
Artturi
c831e7939f
Merge pull request #242905 from Artturin/gomodu1 2023-07-14 01:36:16 +03:00
Artturin
1c29673fcc treewide: go-modules -> goModules
In 787af0f79f
I had to change ${go-modules} to $goModules to allow overrideAttrs to work;
However, env vars cannot contain -, so  i had to change go-modules too.
This in turn broke nix-update because it uses the go-modules attr.

Instead of making nix-update more complicated, make go-modules naming match cargoDeps.

`fd --type f | xargs sd '\bgo-modules\b' 'goModules'`
and revert change to pkgs/applications/misc/dstask/default.nix
and pkgs/servers/http/dave/default.nix
and pkgs/os-specific/darwin/plistwatch/default.nix

release note added
2023-07-14 00:18:06 +03:00
github-actions[bot]
ddce1ebd78
Merge staging-next into staging 2023-07-12 12:02:00 +00:00
github-actions[bot]
bc41da4eb9
Merge master into staging-next 2023-07-12 12:01:23 +00:00
Pol Dellaiera
99152c0f2e
Merge pull request #240939 from PedroHLC/nix-prefetch-git-sri
nix-prefetch-git: add sri-hash to output
2023-07-12 13:17:08 +02:00
Felix Buehler
bec27fabee treewide: use lib.optional instead of 'then []' 2023-07-12 09:36:28 +01:00
Artturi
de5a74e9bf
Merge pull request #242532 from league/builder-info-bug
fixes #242394
2023-07-10 20:48:02 +03:00
Linus Heckemann
70945eb79b setup-hooks/strip: parallelise stripping
This makes bootstrapping to GNU hello ~1-2% faster on an 8-core
machine and ~3-4% faster on a 64-core machine.
2023-07-10 12:24:13 +02:00
Christopher League
ef2d657a01 buildenv: Limit exclusion of info/dir
While trying to exclude a generated `/share/info/dir` in a package
from symlinking into a profile, we also ended up excluding the Emacs
info manual for `dired-x`.  This change excludes only the dir file.
2023-07-09 22:06:26 -04:00
PedroHLC ☭
0142902fc4
nix-prefetch-git: add sri-hash to output 2023-07-09 14:46:58 -03:00
github-actions[bot]
e949ec41bd
Merge master into staging-next 2023-07-08 18:01:04 +00:00
Lily Foster
bee82b47b5
Merge pull request #240419 from lilyinstarlight/feature/prefetch-npm-deps-isahc
prefetch-npm-deps: use isahc instead of ureq
2023-07-08 14:18:07 +02:00
github-actions[bot]
3ab86b3cfa
Merge master into staging-next 2023-07-08 12:01:04 +00:00
Atemu
67eec418ab
Merge pull request #240860 from Atemu/fhsenv-no-multiarch
buildFHSEnv: disable multiArch by default
2023-07-08 13:53:41 +02:00
Mario Rodas
43b091f45c
Merge pull request #233804 from lilyinstarlight/feature/npm-workspaces
buildNpmPackage: add npmWorkspace and npmPruneFlags args
2023-07-08 06:45:46 -05:00
Atemu
67ac4b83ec buildFHSEnv: disable multiArch by default
Most FHSEnv-wrapped packages in Nixpkgs wrap a x86_64-linux binary; making
multiArch unnecessary bloat closure size. Saves about 1G in anki-bin.

This makes multiArch FHSEnvs the exception rather than the rule.
2023-07-07 21:33:04 +02:00
Naïm Favier
9be0bfb5e0
runCommand: don't set meta.position if meta is given
Fixes #242093 without breaking #237589

If `meta` is given we probably already have position information, so no
need to get it from the arguments.
2023-07-07 19:12:35 +02:00
github-actions[bot]
1a76e12ddc
Merge master into staging-next 2023-07-06 18:01:11 +00:00
Robert Hensing
fcea105698 buildEnv: Nix's buildEnv should be stable
It's mostly used by nix-env, but Nix should remain simple and small
for reproducibility.
2023-07-06 16:13:38 +02:00
Vladimír Čunát
58392652f0
Merge #224822: hardening flags: enable fortify3 by default
...into staging
2023-07-06 10:33:24 +02:00
Artturi
8bf1b878cf
Merge pull request #239331 from pwaller/fix-pie-hardening 2023-07-06 02:14:35 +03:00
Jan Tojnar
2819e547d3 Merge branch 'staging-next' into staging
; Conflicts:
;	pkgs/development/libraries/nss/generic.nix

- bb53634671 removed the conditionals since firefox-esr-91 and nss <3.69 has been dropped a while ago.
- cb3762857d updated the conditionals to always partition the tests based on the nss_latest version. Chosen that since it will remain future proof.
2023-07-05 02:22:26 +02:00
Artturi
359e1136a6
Merge pull request #239120 from LibreCybernetics/arch-stuff 2023-07-05 00:20:25 +03:00
Lily Foster
fb9252fa48
prefetch-npm-deps: use exponential backoff 2023-07-04 14:47:13 -04:00
github-actions[bot]
f5a8109c46
Merge staging-next into staging 2023-07-02 00:03:47 +00:00
Atemu
62b2adc753 buildFHSEnv: add multiArch flag
The intention is to allow the user control over whether 32bit deps are supposed
to be included in the fhsenv
2023-07-01 13:41:14 +02:00
Atemu
167264179b buildFHSEnv: cleanup 2023-07-01 13:41:09 +02:00
Emily
ad94541662 fetchgit: don't shallow clone if deepClone is requested
fixes: https://github.com/NixOS/nixpkgs/issues/179788
2023-07-01 00:10:26 +02:00
Artturin
fb8fdc33e8 makeSetupHook: unbreak structuredAttrsByDefault 2023-06-30 19:38:26 +03:00