Commit Graph

5885 Commits

Author SHA1 Message Date
Vladimír Čunát
6890557c17
Revert "Merge #191724: cc-wrapper: remove duplicate include flags"
Let's redo this later, with more testing and less bugs.
This reverts commits 4f6e99870b and d700d8e8a2.
2022-10-28 10:28:12 +02:00
Robert Hensing
3cf3fef372 testers: Add missing doc link comments 2022-10-27 14:06:39 +02:00
Robert Hensing
e20a362908 testers.testEqualContents: init 2022-10-27 14:06:38 +02:00
Robert Hensing
44d0f37833 testers.testBuildFailure: init 2022-10-27 14:06:38 +02:00
Daniel Barter
77bd639c4c cc-wrapper: adding a cc-wrapper-hook to the cc-wrapper 2022-10-26 09:33:43 -07:00
github-actions[bot]
81a6c5a54c
Merge staging-next into staging 2022-10-25 18:16:24 +00:00
Sandro Jäckel
0f386859f5
build-dotnet-module: don't end with exit code 1 when update was sucessfull
otherwise scripts might end prematurely
2022-10-25 16:12:22 +02:00
github-actions[bot]
f332a666fb
Merge staging-next into staging 2022-10-25 12:02:09 +00:00
Vincent Laporte
8b11f0a513 ocamlPackages.buildOcaml: remove 2022-10-25 09:40:57 +02:00
github-actions[bot]
683aa50df6
Merge staging-next into staging 2022-10-23 06:08:06 +00:00
Anderson Torres
749231c9a2
Merge pull request #196681 from corngood/fix-nuget-to-nix
nuget-to-nix: fix warning when package is installed from sdk
2022-10-23 00:58:56 -03:00
github-actions[bot]
d86d8a1a3d
Merge staging-next into staging 2022-10-20 00:05:50 +00:00
github-actions[bot]
aac580f88f
Merge master into staging-next 2022-10-20 00:05:13 +00:00
Sandro
23d0060889
Merge pull request #192639 from ylecornec/ylecornec/buildBazelPackage-tests 2022-10-19 23:36:53 +02:00
github-actions[bot]
e9d710f780
Merge staging-next into staging 2022-10-19 06:25:17 +00:00
github-actions[bot]
cea1c3f0cd
Merge master into staging-next 2022-10-19 06:24:39 +00:00
Daniel Poelzleithner
9331c0c772 FHSEnv: export /etc/shells
/etc/shells is often read by programs to determine which shells should be
provided. Fixes problems with extensions in vscode-fhs
2022-10-18 22:59:26 -07:00
Stella
fbf83cda37 build-fhs-userenv-bubblewrap: use -m not -f for readlink
This change will let more inexistent paths be passed along, avoiding extremely weird and hard to debug behavior. See https://github.com/containers/bubblewrap/issues/520 for what I personally encountered.
2022-10-18 22:50:59 -07:00
David McFarland
abebf5f591 nuget-to-nix: fix warning when package is installed from sdk 2022-10-18 23:42:46 -03:00
github-actions[bot]
262bce30e8
Merge staging-next into staging 2022-10-17 00:04:53 +00:00
github-actions[bot]
18a6423900
Merge master into staging-next 2022-10-17 00:04:21 +00:00
Sergei Trofimovich
8480f40236
Merge pull request #191134 from Et7f3/remove-duplicate-code-cc-wrapper
cc-wrapper: remove duplicate C{C,XX}${role_post}
2022-10-16 21:02:04 +01:00
Maximilian Bosch
a914b9460d
Merge pull request #193075 from Ma27/nextcloud-pkg-fix
fetchNextcloudApp: rewrite with fetchzip & applyPatches
2022-10-16 20:07:57 +02:00
Vladimír Čunát
d700d8e8a2
stdenv cc-wrapper: revert a problematic change for non-Linux
The change from 0bea4a194f (PR #191724) broke stdenv bootstap
on *-darwin, and I didn't want to drop the *-linux binaries
that we have already.
2022-10-14 09:40:48 +02:00
Martin Weinelt
c728598b84 Merge remote-tracking branch 'origin/staging-next' into staging 2022-10-13 23:29:04 +02:00
Robert Hensing
8fca2fd4bf
Merge pull request #141050 from koenw/dockertools_too_many_arguments
build-support: Fix error when building images with many layers
2022-10-13 21:45:10 +01:00
github-actions[bot]
7df9a7a84c
Merge staging-next into staging 2022-10-13 18:07:50 +00:00
Koen Wilde
2f5fcda329 build-support: Fix error when building images with many layers
When building a docker image using `dockertools.buildLayeredImage`, the
resulting image layers are passed to `jq` through the command line. When
building an image with too many layers this would exceed the maximum
command line argument length.

Hence, we store the list of layers in the Nix store and pass them to
`jq` as a file argument using `--slurpfile`.

Fixes #140908.
2022-10-13 16:27:13 +02:00
Shea Levy
ee7722a7de
Merge pull request #100634 from fzakaria/faridzakaria/buildmaven-nix
buildMaven: Update buildMaven to pure Nix
2022-10-13 08:06:26 -04:00
Vladimír Čunát
00a757ed3f
Merge branch 'master' into staging 2022-10-13 08:27:55 +02:00
Artturi
e66d2fd89d
Merge pull request #194256 from Artturin/treewides2 2022-10-13 00:08:01 +03:00
lassulus
85a36f9146 writers.writeJS: pass arguments to script 2022-10-11 20:16:37 +02:00
github-actions[bot]
5d957f3dba
Merge staging-next into staging 2022-10-11 00:05:26 +00:00
Martin Weinelt
85713b7e37 Merge remote-tracking branch 'origin/master' into staging-next 2022-10-11 00:18:04 +02:00
pacien
0495b0217b writers.writeFish: avoid loading user config files
This makes the Fish interpreter ignore user configuration files.
This was not desirable for running scripts, especially system ones.
2022-10-10 23:10:36 +02:00
Martin Weinelt
294201004f Merge remote-tracking branch 'origin/master' into staging-next 2022-10-10 21:45:18 +02:00
pacien
6e4a14b54f writers: add writeFish and writeFishBin
This adds writers for Fish shell scripts, with syntax checking.
2022-10-10 15:59:23 +02:00
Artturin
7e49471316 treewide: optional -> optionals where the argument is a list
the argument to optional should not be list
2022-10-10 15:40:21 +03:00
Artturin
f4ea1208ec treewide: *Flags convert to list from str
*Flags implies a list

slightly relevant:
> stdenv: start deprecating non-list configureFlags https://github.com/NixOS/nixpkgs/pull/173172

the makeInstalledTests function in `nixos/tests/installed-tests/default.nix` isn't available outside of nixpkgs so
it's not a breaking change
2022-10-10 15:30:59 +03:00
adisbladis
01535ff0b0 autoPatchelfHook: support glob patterns
so for example cuda could be ignored by setting:
``` nix
autoPatchelfIgnoreMissingDeps = [ "*cuda*.so*" ];
```
2022-10-10 17:55:11 +13:00
adisbladis
41c09640e7 autoPatchelfHook: fix turning [ "*" ] into bash array
Previously globs were incorrectly handled and expanded by bash into the files in the temporary build directory.
2022-10-10 17:55:11 +13:00
github-actions[bot]
cdfb8a30a4
Merge staging-next into staging 2022-10-08 12:02:12 +00:00
Vladimír Čunát
6565abc264
Merge branch 'master' into staging-next 2022-10-08 10:20:07 +02:00
Sergei Trofimovich
7d7030c6d5
Merge pull request #193871 from trofi/FORTIFY-unset-and-set
cc-wrapper/add-hardening.sh: always unset _FORTIFY_SOURCE before re-s…
2022-10-08 07:30:17 +01:00
Alex Martens
bac7ee3208 rustc: fix build for no_std targets 2022-10-07 07:35:29 -07:00
Anderson Torres
10c7f50248
Merge pull request #194425 from SuperSandro2000/remove-double-fixed-output
Add support for pname+version to fetchzip/fetchurl
2022-10-06 22:24:11 -03:00
Vladimír Čunát
4f6e99870b
Merge #191724: cc-wrapper: remove duplicate include flags
...into staging
2022-10-05 20:01:34 +02:00
Sandro
1fd6cf192a
fixup! fetchurl: add pname+version support 2022-10-05 15:54:57 +02:00
github-actions[bot]
2ae4a931aa
Merge master into staging-next 2022-10-05 06:10:04 +00:00
Sandro Jäckel
01dfd3cb58
fetchzip: add pname+version support 2022-10-04 18:57:46 +02:00
Sandro Jäckel
7deac8b8f7
fetchurl: add pname+version support 2022-10-04 17:30:06 +02:00
Lin Jian
4f65cecd45
emacs: remove warning of xargs when doing AOT native-comp
Before, there is a warning:

xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value

According to the  manual[1], swap -I and -n can remove this warning.

[1]: https://www.gnu.org/software/findutils/manual/html_node/find_html/Conflicting-xargs-options.html
2022-10-04 02:53:55 +08:00
Yves-Stan Le Cornec
b739da0693 buildBazelPackage: optionally run bazel tests in checkPhase
Tests from the bazelTestTargets argument will be run before the build. The new  bazelTestFlags argument can be used to pass additional flags to this phase.
2022-10-03 12:52:57 +02:00
github-actions[bot]
74f2e36035
Merge master into staging-next 2022-10-03 00:04:07 +00:00
Yureka
aa3dc6440e
fetchYarnDeps: support passing src attribute (#193047) 2022-10-02 22:41:31 +02:00
Ivv
1a958fae46
Merge pull request #193033 from corngood/dotnet-deterministic-fetch-deps
dotnet: fix some problems with nuget-to-nix and make it deterministic
2022-10-02 21:31:01 +02:00
David McFarland
b60c9fd2fe nuget-to-nix: find sources deterministically
The source used to download a particular package still isn't
deterministic in nuget. Even worse, the hash of the package can vary
between sources. This makes nuget use the first enabled source
containing the package.

The order of the dependencies may be slightly different because it now
uses glob order of the lower-case package names and versions, instead of
sorting the output.

If the package actually downloaded was the first source that contains
the package, then it will be hashed from disk to avoid downloading it
again.
2022-10-02 16:09:27 -03:00
David McFarland
f8763b87e0 nuget-to-nix: exclude by package source, not list
This allows exclusions to be by version.
2022-10-02 16:09:27 -03:00
David McFarland
0eb6874732 build-dotnet-module: fix fetch-deps usage message 2022-10-02 16:09:27 -03:00
David McFarland
f716d092e2 build-dotnet-module: limit package platforms by sdk support 2022-10-02 16:09:27 -03:00
David McFarland
4b40579b2d build-dotnet-module: clean up tmp file handling
Having:

rm -rf "$src" "$HOME"

Was slightly terrifying IMO, especially where the trap was installed
before HOME was set.
2022-10-02 16:09:24 -03:00
github-actions[bot]
0ae3aa5345
Merge master into staging-next 2022-10-02 17:45:43 +00:00
Théo Zimmermann
2dc3552aa1 coqPackages.mkCoqDerivation: upgrade to Dune 3
And remove the version number from the corresponding attributes.
2022-10-02 14:42:28 +02:00
github-actions[bot]
e879e7d54e
Merge master into staging-next 2022-10-02 00:04:43 +00:00
figsoda
a1d50eecab
Merge pull request #193132 from figsoda/clean-up
treewide: clean up
2022-10-01 17:03:11 -04:00
Sergei Trofimovich
2a9fc04635 cc-wrapper/add-hardening.sh: always unset _FORTIFY_SOURCE before re-setting it
On darwin clang driver always sets -D_FORTIFY_SOURCE=0 under asan.
This causes -Werror to trip over macro redefinition:

    <command line>:1:9: error: '_FORTIFY_SOURCE' macro redefined [-Werror,-Wmacro-redefined]
    #define _FORTIFY_SOURCE 2
            ^

To avoid it let's always explicitly undefine it first before redefining.
2022-10-01 08:30:11 +01:00
github-actions[bot]
9c14978f84
Merge master into staging-next 2022-09-29 12:01:25 +00:00
Robert Hensing
aed1deab05 nixos/testing: Fix release.nix tests evaluation
Fixes the problem introduced by 12b3066aae
which caused nixos/release.nix to return the wrong attributes, while
intending to only affect nixos/lib's runTest.
This also removes callTest from the test options, because callTest is
only ever invoked by all-tests.nix.
2022-09-29 10:49:09 +02:00
Daniel Barter
0bea4a194f cc-wrapper/setup-hook.sh: remove duplicate flags in NIX_CFLAGS_COMPILE 2022-09-28 13:24:42 -07:00
Vladimír Čunát
292756e9ff
Merge #190093: rustc: propagate libiconv on darwin
...into staging
2022-09-28 09:45:11 +02:00
figsoda
dd73077dc3 srcOnly: remove unused binding 2022-09-26 22:18:55 -04:00
figsoda
dc19b95eff rustPlatform.buildRustPackage: remove unused function 2022-09-26 21:53:37 -04:00
Maximilian Bosch
3ca9b9a8ad
fetchNextcloudApp: rewrite with fetchzip & applyPatches
There are the following issues with the current implementation:

* `fetchurl` with a tarball from GitHub appears to break occasionally
  because the tarballs are not necessarily reproducible. Because of
  that, `fetchFromGitHub` unpacks the tarball already because the
  contents are actually reproducible in contrast to the tarball. To have
  the same behavior here, we use `fetchzip` now (and `applyPatches` on
  top to apply additional patches if needed).

* Fixes the way how patches are applied. Previously, when having patches
  for a git checkout of the app, these wouldn't apply because the
  `appname-version` prefix is missing.

* Because all old hashes are broken with this, I added an evaluation
  check that breaks evaluation when using the old API (i.e. with
  `name`/`version` which are not needed anymore).
2022-09-26 20:32:33 +02:00
github-actions[bot]
892a84aea0
Merge staging-next into staging 2022-09-26 18:02:33 +00:00
github-actions[bot]
59a37c822b
Merge master into staging-next 2022-09-26 18:01:53 +00:00
Ivv
2650d450a7
Merge pull request #190403 from IvarWithoutBones/dotnetmodule-fixes
buildDotnetModule: several usability improvements
2022-09-26 15:04:31 +02:00
github-actions[bot]
cbfc406adc
Merge staging-next into staging 2022-09-26 12:02:05 +00:00
github-actions[bot]
7a06ced970
Merge master into staging-next 2022-09-26 12:01:27 +00:00
Sandro
ff3be8e16c
Merge pull request #161278 from gdamjan/make-portable 2022-09-26 11:38:13 +02:00
Frederik Rietdijk
63e480ba16 Merge staging-next into staging 2022-09-26 09:31:50 +02:00
Frederik Rietdijk
de57d754a0 Merge master into staging-next 2022-09-26 09:31:22 +02:00
Sandro
c4cdfe815b
Merge pull request #188041 from SuperSamus/appimage-run 2022-09-26 00:34:21 +02:00
Ivar Scholten
987d32bbac buildRustPackage: dont rely on NIX_BUILD_TOP in cargoSetupPostPatchHook
This breaks the builder when a nix-shell or keepBuildTree is used. The
issue occurs because paths to cargo lockfiles are read with NIX_BUILD_TOP,
which is not reliable.

This breaks a nix-shell because NIX_BUILD_TOP simply is not set, causing
an invalid path to be used. This can be worked around using
NIX_BUILD_TOP=$PWD, but that obviously is not great.

This breaks keepBuildTree because it changes the working directory to a
different path than NIX_BUILD_TOP. Since the lockfiles are copied based
on the working directory, but read based on NIX_BUILD_TOP, this causes
the hook to not be able to find them.

This was solved by both reading these files based on the working directory,
using absolute paths to avoid having to traverse back in the directory tree.

Fixes: #138554
2022-09-25 16:17:36 +02:00
Дамјан Георгиевски
499aebcf34 portableService: tooling to create portable service images
see https://systemd.io/PORTABLE_SERVICES/ about the definition of
portable services. this tooling is analogous to the `pkgs.dockerTools.buildImage`
tooling and is called `pkgs.portableService`.

systemd (since version 239) supports a concept of “Portable Services”.
“Portable Services” are a delivery method for system services that uses
two specific features of container management:

* Applications are bundled. I.e. multiple services, their binaries and all
  their dependencies are packaged in an image, and are run directly from it.
* Stricter default security policies, i.e. sandboxing of applications.

The primary tool for interacting with Portable Services is portablectl,
and they are managed by the systemd-portabled service.

This function will create a squashfs raw image in `result/$pname_$version.raw`
that has the required files by the portable services spec, and all the
dependencies for the running program in the nix store.
2022-09-22 20:11:25 +02:00
github-actions[bot]
7f9508dfa0
Merge staging-next into staging 2022-09-21 06:24:07 +00:00
github-actions[bot]
071a9fc320
Merge master into staging-next 2022-09-21 06:23:26 +00:00
Robert Hensing
97f6e8b3e6
Merge pull request #191988 from zombiezen/fix-docker-ca-certificates
dockerTools: add missing mkdir to caCertificates derivation
2022-09-21 01:20:00 +01:00
Anderson Torres
0502262f1c
Merge pull request #191769 from osama-re/melpa-fetchers-v2
emacs: fix emacs packages with new fetchers
2022-09-20 21:14:54 -03:00
Robert Hensing
cbb1f39264 nixosTests.docker-tools: Add image-with-certs 2022-09-21 01:00:04 +01:00
Ross Light
f140b54916 dockerTools: add missing mkdir to caCertificates derivation 2022-09-20 08:07:23 -07:00
github-actions[bot]
abd82bc57d
Merge staging-next into staging 2022-09-20 12:02:05 +00:00
Martin Weinelt
5d4267b0f2 Merge remote-tracking branch 'origin/master' into staging-next 2022-09-20 12:25:19 +02:00
Theodore Ni
c319d8ae3b
cc-wrapper: comment explaining C++ stdlib order
There is context here that I needed when resolving an issue in which
libc was added to NIX_CFLAGS_COMPILE before the C++ stdlib that took
me awhile to understand.

It was suggested to me that this context be included as a comment,
since it is not obvious and could help others in the future.
2022-09-20 12:14:51 +02:00
Uri Baghin
24ac72e8a1
Merge pull request #147649 from veprbl/pr/bazel_darwin_sandbox_fix
buildBazelPackage: fix sandboxed builds on darwin
2022-09-20 16:18:14 +10:00
Robert Hensing
8deb17a36e
Merge pull request #186323 from ShamrockLee/make-setuphook-passthru
trivial-builders.nix: Add input argument `passthru` to makeSetupHook
2022-09-19 11:30:37 +01:00
Ivar Scholten
4a8eb528be
buildDotnetModule: add the option to keep sources to fetch-deps 2022-09-18 18:02:03 +02:00
Ivar Scholten
8e00d6ac26
buildDotnetModule: move nugetDeps throw to when its actually needed
Previously we had an assert that would complain when nugetDeps wasnt set,
which also didnt allow any passthru attributes (like fetch-deps) to be
build. That causes a cycle where you need nugetDeps to fetch the nuget
deps, but arent able to build the script to do so.
2022-09-18 18:00:37 +02:00
Ivar Scholten
03a1b62cb3
buildDotnetModule: dont require specifing a projectFile
In a lot of cases dotnet can figure this out by itself, so we can just
invoke it without the project argument.
2022-09-18 18:00:37 +02:00
Ivar Scholten
a7c598e458
buildDotnetModule: minor changes to hooks
Abide by `set -e` rules and use `local -r` where applicable.
2022-09-18 18:00:37 +02:00
Ivar Scholten
e100b74627
buildDotnetModule: format with nixpkgs-fmt 2022-09-18 18:00:29 +02:00