Commit Graph

6977 Commits

Author SHA1 Message Date
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
Artturin
fb8fdc33e8 makeSetupHook: unbreak structuredAttrsByDefault 2023-06-30 19:38:26 +03:00
github-actions[bot]
c3cfd4a6c8
Merge staging-next into staging 2023-06-30 06:01:55 +00:00
Nick Cao
d1ff959a99
Merge pull request #240613 from SuperSandro2000/binary-cache
binary-cache: use lib.makeBinPath
2023-06-30 09:14:07 +08:00
github-actions[bot]
f6242f9557
Merge staging-next into staging 2023-06-30 00:03:00 +00:00
Sandro Jäckel
88888899e5
binary-cache: use lib.makeBinPath 2023-06-30 00:42:14 +02:00
Arthur Gautier
562f879cd1 runNixOSTest: adds support for lib.extend
When lib overrides were used, before this commit, they would not be made
available in the configuration evaluation of nixosTest's nodes.

Sample code:
``` nix
let
  pkgs = import ./. {
    overlays = [
      (new: old: {
        lib = old.lib.extend (self: super: {
          sorry_dave = builtins.trace "There are no pod bay doors" "sorry dave";
        });
      })
    ];
  };
in
pkgs.testers.runNixOSTest {
  name = "demo lib overlay";

  nodes = {
    machine = { lib, ... }: {
      environment.etc."got-lib-overlay".text = lib.sorry_dave;
    };
  };

  testScript = { nodes }:
    ''
      start_all()
      machine.succeed('grep dave /etc/got-lib-overlay')
    '';
}
```
2023-06-29 09:13:44 -07:00
Lily Foster
86f94c3e45
prefetch-yarn-deps: add tests passthru 2023-06-29 11:11:41 -04:00
Lily Foster
ba7a869a9a
prefetch-npm-deps: add env_logger 2023-06-29 09:51:37 -04:00
linsui
e05bacf4e8 importCargoLock: fix git dep config file 2023-06-29 21:47:27 +08:00
Lily Foster
d2897e463d
prefetch-npm-deps: use isahc instead of ureq 2023-06-29 09:46:35 -04:00
Lily Foster
aa2f51f0d2
prefetch-npm-deps: update deps and base64 usage 2023-06-29 09:46:35 -04:00
Lily Foster
9af0383296
prefetch-npm-deps: support NIX_BUILD_CORES 2023-06-29 09:46:33 -04:00
Lily Foster
19e48f0da9
buildNpmPackage: add npmWorkspace and npmPruneFlags args 2023-06-29 07:42:25 -04:00
Sandro
198bd0a4a7
Merge pull request #239622 from corngood/dotnet-misc
dotnet: misc fixes
2023-06-28 23:41:18 +02:00
Artturin
9999bf7a21 treewide: gobject-introspection from buildInputs to nativeBuildInputs
gobject-introspection should be in nativeBuildInputs for cross to work
properly (so propagations and hook work properly)
2023-06-28 22:33:40 +03:00
Lily Foster
33898b9ad7
Merge pull request #238452 from XYenon/master
prefetch-npm-deps: add retry
2023-06-28 14:01:57 -04:00
XYenon
4915de2600 prefetch-npm-deps: add retry 2023-06-29 00:20:25 +08:00
Winter
c9abff9027 buildNpmPackage: add lilyinstarlight as maintainer/code owner
This is long overdue, Lily has done more than me for Node.js in Nixpkgs
by this point.
2023-06-27 14:59:40 -04:00
Lily Foster
5c32e0ba7c
prefetch-yarn-deps: add --fixup-lockfile flag to fixup a yarn.lock (#214062)
The flag iterates through the lockfile entries, rewrites `resolved` URLs
to those that will be in the cache (like `fixup_yarn_lock` from
yarn2nix), removes `integrity` for git deps whose hash won't match the
reproducible repacking that the fetcher does, writes the amended
lockfile, and exits.
2023-06-27 20:27:33 +02:00
Janik
974b43038e
Merge pull request #236976 from amarshall/zip-reproducible 2023-06-27 00:24:36 +02:00
github-actions[bot]
4e9dcbbbc6
Merge master into staging-next 2023-06-26 18:01:29 +00:00
Michele Guerini Rocco
9e4e0807d2
Merge pull request #239658 from rnhmjoj/pr-compress-fw
compressFirmwareXz: preserve meta attributes
2023-06-26 17:25:16 +02:00
github-actions[bot]
2c439c14b6
Merge master into staging-next 2023-06-25 18:01:21 +00:00
Felix Buehler
6672dde558 treewide: use optionalAttrs instead of 'else {}' 2023-06-25 11:01:34 -03:00
github-actions[bot]
aa5d107299
Merge master into staging-next 2023-06-25 12:01:14 +00:00
Robert Scott
db3e94c3b2 hardening flags: enable fortify3 by default 2023-06-25 11:50:46 +01:00
rnhmjoj
4124eb7bd5
compressFirmwareXz: preserve meta attributes
Among other things, this preserves the package priority, which is
important when building the `hardware.firmware` environment in NixOS.
2023-06-25 11:08:32 +02:00
David McFarland
f2027f4960 nuget-to-nix: set nullglob
This stops nuget-to-nix from failing when there are no packages in the
output.
2023-06-24 19:13:16 -03:00
David McFarland
bca3a9edfc buildDotnetModule: fix indentation 2023-06-24 19:13:16 -03:00
David McFarland
afe26f5f1d buildDotnetModule: remove fetch-deps from tool packages
This helps if we want to run nixpkgs.*.fetch-deps.  Previously
e.g. fable.fetch-deps existed, but was broken.
2023-06-24 19:13:16 -03:00
David McFarland
d6fa0f0a26 buildDotnetModule: use tmp file for fetch-deps output 2023-06-24 19:13:16 -03:00
David McFarland
cf9976de74 buildDotnetModule: unset TMPDIR instead of setting it empty
This was breaking nix-prefetch-url when running fetch-deps in nix-shell.

e.g.

    $ TMPDIR= nix-prefetch-url foo
    nix-prefetch-url: src/libutil/util.cc:119: nix::Path
    nix::canonPath(PathView, bool): Assertion `path != ""' failed. [2]
    881198 abort (core dumped)
2023-06-24 19:13:16 -03:00
David McFarland
9c16cea2bb buildDotnetModule: allow lockFile path to be set in nugetDeps
This allows fetch-deps to find the lock-file for roslyn.
2023-06-24 17:17:41 -03:00
Felix Buehler
f3719756b5 treewide: use optionalString instead of 'then ""' 2023-06-24 20:19:19 +02:00
Fabián Heredia Montiel
79dfc50bb8 lib.systems.architectures: add microarchitecture levels
Variation on:
- https://github.com/NixOS/nixpkgs/pull/208398
- https://github.com/NixOS/nixpkgs/pull/224978

Co-authored-by: Sandro Jäckel <sandro.jaeckel@gmail.com>
Co-authored-by: Shawn8901 <shawn8901@googlemail.com>
Co-authored-by: AveryanAlex <alex@averyan.ru>
2023-06-24 00:50:40 -06:00
Mario Rodas
922d55bf2d fetchgit: add a default NIX_BUILD_CORES variable
NIX_BUILD_CORES might not be defined at runtime, so the command would
fail.
2023-06-24 04:20:00 +00:00
Peter Waller
e0d2053b87 build-support: Use response-expanded params in pie test
When a response file is in use, "$*" contains the response file and not
the parameters; both the linker and compiler wrappers are updated to use
the response-expanded params.

The compiler driver likes to pass parameters to the linker via a
response file, including -shared.

LLD rejects the combination of (-shared -pie), whereas other linkers
silently ignore the contradiction:

```
ld.lld: error: -shared and -pie may not be used together
```

This breaks certain configurations using LLD as a linker.

Changing `add-hardening.sh` results in a full rebuild. To avoid the
rebuild, here is a quick test case which shows the new hardening script
allows the link to succeed:

```
{ pkgs ? import <nixpkgs> {} }:

let
  # gcc silently accepts -shared -pie together, lld does not.
  linker = pkgs.wrapBintoolsWith { bintools = pkgs.llvmPackages.lld; };

  patchWrapper = prev: prev.overrideAttrs (final: prev: let
    prevScript = builtins.match (".*(/nix/store/[a-z0-9]+-add-hardening.sh).*") prev.postFixup;
  in {
    postFixup = (builtins.replaceStrings prevScript ["${./new-add-hardening.sh}"] prev.postFixup);
  });
in

pkgs.stdenv.mkDerivation {
  name = "nixpkgs-hardening-bug";

  src = pkgs.writeText "src.c" "int main(int argc, char* argv[]) { return 0; }";
  NIX_HARDENING_ENABLE = "pie";

  unpackPhase = ":";
  buildPhase = ''
    $CC -c -o src.o $src
    bash -x ${patchWrapper linker}/bin/ld.lld -o $out @${pkgs.writeText "responsefile" "-shared"} src.o
  '';
}
```

Fixes: #178162
Signed-off-by: Peter Waller <p@pwaller.net>
2023-06-23 11:09:49 +01:00
github-actions[bot]
22e89a1418
Merge staging-next into staging 2023-06-23 00:03:31 +00:00
Sandro
67f4868a43
Merge pull request #233422 from mdarocha/crossgen-fix
buildDotnetModule: support ReadyToRun and native binaries inside nuget files
2023-06-22 22:26:53 +02:00
Guillaume Girol
a3a23358fc
Merge pull request #237235 from alyssais/vmTools-deb
nixosTests.os-prober: fix
2023-06-22 19:14:11 +00:00
github-actions[bot]
15a20aee5e
Merge staging-next into staging 2023-06-22 18:01:45 +00:00
figsoda
ca96e292cf
Merge pull request #238593 from figsoda/maturin 2023-06-22 11:36:58 -04:00
mdarocha
29e770e0eb buildDotnetModule: support native binaries in nuget packages
This helps with ie. crossgen2 building, and packages that use protoc
2023-06-21 17:06:30 +02:00
mdarocha
c51141d997 buildDotnetModule: pass runtimeId whenever possible and disable trimming when not allowed.
This fixes up some build errors
2023-06-21 17:06:30 +02:00
github-actions[bot]
c562a088e4
Merge staging-next into staging 2023-06-21 12:02:27 +00:00
Domen Kožar
b51a53644c
Merge pull request #238733 from domenkozar/fetchgit-submodules-parallel
fetchgit: fetch submodules in parallel
2023-06-21 08:55:21 +01:00
figsoda
82ee5cb909
Merge pull request #236490 from alyssais/cargo-strip 2023-06-20 20:03:11 -04:00
github-actions[bot]
74d0f1c452
Merge staging-next into staging 2023-06-21 00:03:02 +00:00
mdarocha
3408b40fb5 buildDotnetGlobalTool: init 2023-06-20 17:20:52 +02:00
mdarocha
abf6081bc2 buildDotnetModule: add useDotnetFromEnv option
This causes an alternative wrapper to be used, that takes the dotnet
runtime from the environment.
2023-06-20 17:20:51 +02:00
mdarocha
6c639e869c buildDotnetModule: tweaks to support paket
Projects that use paket, and have it setup so that it's executed
transparently during "dotnet restore" as a dotnet tool should now work.
2023-06-20 17:20:51 +02:00
Alyssa Ross
f5d8384094
rustPlatform.cargoBuildHook: don't let cargo strip
This fixes debug info of cloud-hypervisor, which recently added
strip = true to its release profile in Cargo.toml.
2023-06-20 09:51:42 +00:00