Commit Graph

6771 Commits

Author SHA1 Message Date
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
github-actions[bot]
f5a8109c46
Merge staging-next into staging 2023-07-02 00:03:47 +00: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
linsui
e05bacf4e8 importCargoLock: fix git dep config file 2023-06-29 21:47:27 +08:00
Sandro
198bd0a4a7
Merge pull request #239622 from corngood/dotnet-misc
dotnet: misc fixes
2023-06-28 23:41:18 +02: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
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
Domen Kožar
4f72b6af8b fetchgit: fetch submodules in parallel 2023-06-20 10:36:10 +01:00