about summary refs log tree commit diff
path: root/pkgs/build-support
Commit message (Collapse)AuthorAge
* build-support/php: update warnings when `composer validate` failsPol Dellaiera2024-03-14
|
* Merge pull request #293416 from DanielSidhion/remove-makesnapSilvan Mosberger2024-03-14
|\ | | | | snapTools: remove
| * snapTools: removeDS2024-03-04
| | | | | | | | | | | | | | | | | | | | | | | | `snapTools.makeSnap` has produced broken snaps since at least Oct 2020, as indicated by the following issue: https://github.com/NixOS/nixpkgs/issues/100618 No person has shown interest in maintaining it, and given that there is no fix available, it's assumed that all attempts made to fix that function have not succeeded. Given that `snapTools` only contained `makeSnap`, it was removed completely.
* | npmHooks.npmInstallHook: ignore bundle deps when calculating files to installLily Foster2024-03-14
| | | | | | | | | | | | | | | | | | | | | | This assumes that downstream users of `buildNpmPackage` would rather our own built `node_modules` be copied to the output rather than only the `bundleDependencies` specified in the `package.json` file. Having the latter behavior seems unexpected and unintuitive, and would not work as installing from an `npm pack` is intended to (since doing that would not do a `rebuild` step on those dependencies and it would skip reifying a full dependency tree).
* | Merge pull request #295378 from hercules-ci/makeDerivationArgumentRobert Hensing2024-03-14
|\ \ | | | | | | make-derivation.nix: Factor out `makeDerivationArgument`
| * | make-derivation.nix: Split makeDerivationArgument, mkDerivation with ↵Robert Hensing2024-03-12
| | | | | | | | | | | | duplicate functionality
* | | Merge pull request #294944 from hercules-ci/docs-dedup-trivial-buildersSilvan Mosberger2024-03-12
|\ \ \ | | | | | | | | trivial-builders: Deduplicate docs
| * | | trivial-builders: Deduplicate docsRobert Hensing2024-03-11
| |/ / | | | | | | | | | | | | I didn't have the opportunity to do all work at once, so I've added TODOs to bring attention to the situation.
* | | Merge pull request #292259 from dawidd6/docker-nix-sslSilvan Mosberger2024-03-12
|\ \ \ | |/ / |/| | dockerTools: set NIX_SSL_CERT_FILE in image
| * | dockerTools: set NIX_SSL_CERT_FILE in imageDawid Dziurla2024-02-29
| | |
* | | Merge pull request #290351 from corngood/dotnet-fixesDavid McFarland2024-03-09
|\ \ \ | | | | | | | | dotnet: infrastructure cleanup
| * | | nuget-to-nix: fix error handlingDavid McFarland2024-03-06
| | | |
* | | | Merge master into staging-nextgithub-actions[bot]2024-03-08
|\ \ \ \
| * \ \ \ Merge pull request #289231 from adisbladis/fetchnpmlockadisbladis2024-03-08
| |\ \ \ \ | | | | | | | | | | | | importNpmLock: init
| | * | | | importNpmLock: initadisbladis2024-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an alternative to `fetchNpmDeps` that is notably different in that it uses metadata from `package.json` & `package-lock.json` instead of specifying a fixed-output hash. Notable features: - IFD free. - Only fetches a node dependency once. No massive FODs. - Support for URL, Git and path dependencies. - Uses most of the existing `npmHooks` `importNpmLock` can be used _only_ in the cases where we need to check in a `package-lock.json` in the tree. Currently this means that we have 13 packages that would be candidates to use this function, though I expect most usage to be in private repositories. This is upstreaming the builder portion of https://github.com/adisbladis/buildNodeModules into nixpkgs (different naming but the code is the same). I will archive this repository and consider nixpkgs the new upstream once it's been merged. For more explanations and rationale see https://discourse.nixos.org/t/buildnodemodules-the-dumbest-node-to-nix-packaging-tool-yet/35733 Example usage: ``` nix stdenv.mkDerivation { pname = "my-nodejs-app"; version = "0.1.0"; src = ./.; nativeBuildInputs = [ importNpmLock.hooks.npmConfigHook nodejs nodejs.passthru.python # for node-gyp npmHooks.npmBuildHook npmHooks.npmInstallHook ]; npmDeps = buildNodeModules.fetchNodeModules { npmRoot = ./.; }; } ```
* | | | | | Merge master into staging-nextgithub-actions[bot]2024-03-06
|\| | | | |
| * | | | | Merge pull request #293582 from ↵Pol Dellaiera2024-03-06
| |\ \ \ \ \ | | |_|/ / / | |/| | | | | | | | | | | | | | | | drupol/build-support/php/improve-composer-validate build-support/php: update `composer validate` steps
| | * | | | build-support/php: update `composer validate` stepsPol Dellaiera2024-03-05
| | | | | |
* | | | | | Merge master into staging-nextgithub-actions[bot]2024-03-06
|\| | | | |
| * | | | | Merge pull request #190129 from corngood/dotnet-sdkDavid McFarland2024-03-05
| |\ \ \ \ \ | | |/ / / / | |/| | | | dotnetCorePackages.dotnet_8: build from source
| | * | | | mkNugetDeps: provide default for nugetDepsDavid McFarland2024-03-03
| | | | | |
| | * | | | nuget-to-nix: skip local sourcesDavid McFarland2024-03-03
| | | | | |
| * | | | | build-support/php: move functions around (dry)Pol Dellaiera2024-03-05
| | | | | |
| * | | | | phpPackages.composer: 2.6.6 -> 2.7.1Pol Dellaiera2024-03-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Diff: https://github.com/composer/composer/compare/2.6.6..2.7.1 Changelog: https://github.com/composer/composer/releases/tag/2.7.1 Fix CVE: CVE-2024-24821
| * | | | | build-support/php/composer-local-repo-plugin: 1.0.3 -> 1.1.0Pol Dellaiera2024-03-05
| | |/ / / | |/| | |
* | | | | Merge master into staging-nextgithub-actions[bot]2024-03-04
|\| | | |
| * | | | Revert "writers: add support for wrapping"Vladimír Čunát2024-03-04
| | | | |
* | | | | Merge master into staging-nextgithub-actions[bot]2024-03-04
|\| | | |
| * | | | Merge pull request #291854 from DavHau/writers-wraplassulus2024-03-04
| |\ \ \ \ | | |/ / / | |/| | | writers: add support for wrapping
| | * | | writers: add support for wrappingDavHau2024-02-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a makeWrapperArgs argument to all script writers under pkgs.writers. This can be used to set, prefix, or suffix the PATH or other environment variables which improves the ability to generate scripts with reproducible behavior. Some of the writers (writeBash, writeDash, writeFish, writeNu) previously did not support passing an argument set, for example ``` writeBash "example" "echo hello" ``` In order to add the new capability to these writers as well, their call signature is now overloaded in order to allow the following: (The old call style from the example above remains intact) ``` writeBash "example" { makeWrapperArgs = [ "--prefix" "PATH" ":" "${pkgs.hello}/bin" ]; } '' hello '' ``` Done as well: - add tests - add more docs - fix some misleading docs - extend existing docs with more examples
* | | | | Merge pull request #292777 from alyssais/rustdoc-wrapMartin Weinelt2024-03-02
|\ \ \ \ \ | | | | | | | | | | | | wrapRustc: wrap rustdoc
| * | | | | wrapRustc: wrap rustdocAlyssa Ross2024-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to set -crt-static on musl for rustdoc as well, so let's unify the wrappers. Ideally, rather than wrapping rustdoc, we'd have rustdoc use the wrapped rustc, but that's currently only possible with an unstable option (--test-builder). The options set by the wrapper, -C target-feature and --sysroot, are supported by both rustdoc and rustc, but other flags maybe not be supported by both, so I've introduced different environment variables (the existing NIX_RUSTFLAGS and a new NIX_RUSTDOCFLAGS) to allow those to be set independently. This fixes cargo-auditable in pkgsMusl., which broke because its doctests stopped working when -crt-static was moved to the wrapper. Fixes: 79156bf13ae7 ("rustc: move crt-static default override to wrapper (#291829)")
* | | | | | Merge master into staging-nextgithub-actions[bot]2024-03-02
|\ \ \ \ \ \ | |/ / / / / |/| / / / / | |/ / / /
| * | | / macOS support for NixOS tests (#282401)Gabriella Gonzalez2024-03-02
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #193336 Closes #261694 Related to #108984 The goal here was to get the following flake to build and run on `aarch64-darwin`: ```nix { inputs.nixpkgs.url = <this branch>; outputs = { nixpkgs, ... }: { checks.aarch64-darwin.default = nixpkgs.legacyPackages.aarch64-darwin.nixosTest { name = "test"; nodes.machine = { }; testScript = ""; }; }; } ``` … and after this change it does. There's no longer a need for the user to set `nodes.*.nixpkgs.pkgs` or `nodes.*.virtualisation.host.pkgs` as the correct values are inferred from the host system.
* | | | Merge master into staging-nextgithub-actions[bot]2024-03-01
|\| | |
| * | | Merge pull request #292300 from hsjobeki/writerslassulus2024-03-01
| |\ \ \ | | | | | | | | | | doc & fix: Clean up writers/data.nix file
| | * | | doc: improve pkgs.writers commentsJohannes Kirschbauer2024-02-29
| | | |/ | | |/|
* | | | Merge #291901: clang: don't set -march for overridden targetVladimír Čunát2024-03-01
|\ \ \ \ | | | | | | | | | | | | | | | ...into staging-next
| * | | | clang: don't set -march for overridden targetAlyssa Ross2024-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If -target is explicitly passed to clang, we shouldn't pass our -march value for the default target, because it probably won't exist for the target being used. Up until now, clang has been lenient with this, but it's a hard error with clang 17, so since gcc.arch is always set on aarch64, fixing this is a hard requirement for upgrading our default clang to 17. Before (with clang 17 on aarch64-linux): $ clang -target bpf -c -o /dev/null test.bpf.c clang: warning: ignoring '-fstack-protector-strong' option as it is not currently supported for target 'bpf' [-Woption-ignored] clang: error: unsupported option '-march=' for target 'bpf' clang: warning: argument unused during compilation: '--gcc-toolchain=/nix/store/cngak08nb1yk44gnjipv5rg1ahh1xkax-gcc-13.2.0' [-Wunused-command-line-argument] After: $ clang -target bpf -c -o /dev/null test.bpf.c clang: warning: ignoring '-fstack-protector-strong' option as it is not currently supported for target 'bpf' [-Woption-ignored] clang: warning: argument unused during compilation: '--gcc-toolchain=/nix/store/cngak08nb1yk44gnjipv5rg1ahh1xkax-gcc-13.2.0' [-Wunused-command-line-argument]
* | | | | Merge staging-next into staginggithub-actions[bot]2024-02-29
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | Merge pull request #289840 from PigeonF/masterPol Dellaiera2024-02-29
| |\ \ \ \ | | |_|/ / | |/| | | Make `dockerTools.buildImageWithNixDb` reproducible
| | * | | nixos/dockerTools: make buildImageWithNixDb reproduciblepigeon2024-02-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The loaded database contains timestamps of when the nix paths were registered. Depending on the host store, these can differ between runs. Resetting them to a well known values ensures that the produced image is reproducible.
* | | | | Merge remote-tracking branch 'origin/staging-next' into stagingMartin Weinelt2024-02-29
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: - pkgs/development/python-modules/influxdb/default.nix - pkgs/development/tools/misc/binutils/default.nix
| * | | | applyPatches: Fix a bug (#283887)Thomas Lepoix2024-02-29
| | | | |
| * | | | substitute: Deprecate `replacements`, introduce `replacementsList`Silvan Mosberger2024-02-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also: - Add tests - Treewide update - Improve docs
* | | | | rustc: move crt-static default override to wrapper (#291829)Alyssa Ross2024-02-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, when cross compiling from non-musl to musl, the crt-static default override wouldn't be applied, because the compiler wouldn't have been built with it due to fastCross. Moving it to the wrapper fixes this without having to introduce extra compiler rebuilds. And because the wrapper is applied even to the bootstrap rustc, we no longer need special handling of crt-static in the Cargo expression. Unlike --sysroot, rustc allows -C target-feature= to be passed multiple times, with later instances taking precedence over earlier ones. This means that it's very easy to set the default in the wrapper, just by our overridden default before any other arguments. This fixes pkgsCross.aarch64-multiplatform-musl.mesa from x86_64-linux.
* | | | | Merge staging-next into staginggithub-actions[bot]2024-02-28
|\| | | |
| * | | | Merge pull request #282886 from WxNzEMof/docker-tools-uidRobert Hensing2024-02-28
| |\ \ \ \ | | |_|_|/ | |/| | | Allow streaming layered containers with non-root Nix store
| | * | | Remove the redundant comments from streamLayeredImage parametersWxNzEMof2024-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | The proper place to describe them is the documentation, where they are described thoroughly.
| | * | | streamLayeredImage: Change mode of /nix, /nix/store to 755WxNzEMof2024-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change is insignificant when the owner is root. However, when it is not root, this change is needed to allow using Nix (as an unprivileged user) inside the container.