Commit graph

5573 commits

Author SHA1 Message Date
Thiago Kenji Okada 8f58bc3a1d buildGraalvmNativeImage: allow LC_ALL overrides 2022-07-03 18:16:38 +01:00
sternenseemann f76ac449d1 srcOnly: fix with separateDebugInfo and/or multiple outputs
Before this change `srcOnly git` gives:

    duplicate derivation output 'debug', at pkgs/stdenv/generic/make-derivation.nix:270:7

This was because separateDebugInfo = true was passed on to the srcOnly
mkDerivation as well as the outputs list _including_ the debug output.
Luckily we don't need to untangle this mess since srcOnly is only
supposed to have a single output anyways.
2022-07-02 19:32:24 +02:00
Robert Hensing 1e17bb943e
Merge pull request #164662 from infinisil/fetchurl-curlOpts-list
fetchurl: Allow passing curl options with spaces
2022-06-30 21:10:57 +02:00
Silvan Mosberger 588439e131 fetchurl: Add curlOptsList test 2022-06-30 19:49:54 +02:00
Sebastian Jordan 783e2ef46e Revert "nix-prefetch-git: Fix inconsistency with fetchgit regarding deepClone"
This reverts commit 1dfaad73ed.
2022-06-30 11:52:36 +00:00
Profpatsch a1aed2a716 builders/writeHaskell: build with threaded GHC runtime
Some haskell code starts silently hanging when not built with a
threaded runtime, so let’s assume people using `writeHaskell` don’t
care about micro-optimizations like this and do the expected thing.

Some architectures don’t support a threaded runtime, for these we
provide the `threadedRuntime` option to turn it off (it should fail at
build time in that case, easy to detect).

If somebody already passed `"-threaded"` before via ghcArgs, this
will not add the flag a second time. Thus it’s backward-compatible in
this regard.

I tested out both branches (with `-threaded` set and not set before),
on an example I had where the runtime would hang when not compiled
with `-threaded`.
2022-06-30 10:12:50 +02:00
ajs124 45ec5898cb maintainers: remove tstrobel
was ts468 on github afaict and was actually a committer, but that account hasn't been active since early 2018
2022-06-29 00:54:53 +02:00
Maximilian Bosch e4bf881ee0
Merge pull request #177575 from seppeljordan/nix-prefetch-git-fix
nix-prefetch-git: Fix inconsistency with fetchgit regarding deepClone
2022-06-28 14:03:41 +02:00
github-actions[bot] 506a80a667
Merge staging-next into staging 2022-06-23 00:02:43 +00:00
Robert Hensing 1751679911
Merge pull request #177326 from a-m-joseph/pr/fetchgit/allowedRequisites
fetchgit: inherit allowedRequisites in mkDerivation
2022-06-22 23:21:17 +02:00
github-actions[bot] 9a2405d657
Merge staging-next into staging 2022-06-22 18:02:10 +00:00
Robert Hensing 9d92bee00a
Merge pull request #175474 from hercules-ci/issue-148456-dockerTools-example-etc
dockerTools: Add example of using NixOS' etc
2022-06-22 15:43:29 +02:00
github-actions[bot] cea2503d73
Merge staging-next into staging 2022-06-21 18:01:45 +00:00
Ivv 8168651288
Merge pull request #178446 from zimbatm/dotnet-nugetdeps
buildDotnetModule: allow passing derivations to nugetDeps
2022-06-21 16:00:48 +02:00
zimbatm ba2f31b6db
buildDotnetModule: allow passing derivations to nugetDeps
Sometimes I want to pass a different implementation of `mkNugetDeps`.
For example in private repos, it can be handy to use `__noChroot = true`
and bypass the deps.nix generation altogether. Or some Nuget packages
ship with ELF binaries that need to be patched, and that's best done as
soon as possible.
2022-06-21 15:45:52 +02:00
mdarocha 5b7f8d2e43 buildDotnetModule: use src-only in fetch-deps script 2022-06-21 12:13:39 +02:00
mdarocha fb94bb0b20 src-only: pass all arguments
This allows executing postPatch and other hooks correctly
2022-06-21 12:13:38 +02:00
mdarocha c277bd86a5 make-nuget-deps: support an url field in fetchNuGet
If a package source defines an url field, use it instead of the
url based on package name and version, which assumes nuget.org as
a package source.
2022-06-21 12:13:37 +02:00
mdarocha 2f07f578b2 nuget-to-nix: support custom package sources
If the package was not restored from nuget.org (determinted by checking
the "source" field of ".nupkg.metadata"), query the custom source for
the package endpoint (the way nuget api is built we can't determine it
without an API query) and build a custom package URL to save in the
generated deps file.
2022-06-21 12:13:34 +02:00
github-actions[bot] 3746a49dcc
Merge staging-next into staging 2022-06-21 00:02:48 +00:00
Robert Scott 0886438a2c
Merge pull request #177308 from risicle/ris-native-source-provenance-appimage
appimageTools.wrapAppImage: default produced derivations to `sourceProvenance` `binaryNativeCode`
2022-06-20 20:02:26 +01:00
Sergei Trofimovich ef2a9cba19
Merge pull request #178084 from KAction/fix-darwin-bootstrap
cc-wrapper: fix typo in shell script
2022-06-20 18:07:01 +00:00
github-actions[bot] 9f3b3514f1
Merge staging-next into staging 2022-06-19 00:03:16 +00:00
github-actions[bot] b7aba4fb0f
Merge master into staging-next 2022-06-19 00:02:36 +00:00
Vincent Laporte af888339b6
mkCoqDerivation: do not set DESTDIR
Fixes #178109
2022-06-18 11:54:21 +02:00
Dmitry Bogatov 6eb689d490
cc-wrapper: fix typo in shell script
Noticed this bug when was trying to bootstrap m4 on darwin. That fixes

	line 163: no such file or directory error

That does not solve all problems staging has on darwin.
2022-06-17 20:25:27 -04:00
github-actions[bot] 8c938c76c8
Merge staging-next into staging 2022-06-16 18:01:58 +00:00
github-actions[bot] 1b3f8ec8e4
Merge master into staging-next 2022-06-16 18:01:17 +00:00
Sandro c4159a237e
Merge pull request #176095 from SuperSandro2000/prefer-remote-fetch
prefer-remote-fetch: don't overwrite fetcher's which set preferLocalB…
2022-06-16 17:44:41 +02:00
github-actions[bot] ca38c61118
Merge staging-next into staging 2022-06-16 00:02:52 +00:00
github-actions[bot] d1886be475
Merge master into staging-next 2022-06-16 00:02:14 +00:00
John Ericson e23e71f9e4
Merge pull request #176152 from mmlb/cc-wrapper-allow-target-override
cc-wrapper: Allow user to override -target for clang
2022-06-15 15:09:27 -04:00
Sergei Trofimovich 206b2cfd22
Merge pull request #176253 from trofi/fetchzip-forced-UTF-8
fetchzip: force UTF-8 compatible locale to unpack non-ASCII symbols
2022-06-15 18:32:41 +00:00
Chuang Zhu e3e091672f
fetchYarnDeps: support hash in pkg.integrity (#177255) 2022-06-15 20:13:41 +02:00
Manuel Mendez 0fdc72b7e9 cc-wrapper: Add clang specific options to clang specific file
This way gcc doesn't need to be rebuilt because of clang. This also avoids
rebuilding clang when only the wrapper needs to be tweaked.
2022-06-15 11:34:53 -04:00
github-actions[bot] 7d845ac90c
Merge staging-next into staging 2022-06-15 12:02:14 +00:00
Martin Weinelt cf610b5257 Merge remote-tracking branch 'origin/master' into staging-next 2022-06-15 13:05:54 +02:00
Alexander Bantyev a32637f296
Merge pull request #177360 from ilya-fedin/fix-replace-dependency
replace-dependency: fix a syntax error while generating references.nix
2022-06-15 11:21:51 +04:00
Ben Wolsieffer 882741f632 tests.buildRustCrate: add rcgen test
rcgen depends on ring, and therefore exercises support for static libraries
2022-06-14 20:09:33 -04:00
Ben Wolsieffer a6bbe3f794 buildRustCrate: pass link flags when building libraries
With Rust 1.61, it is necessary to link to external static/dynamic libaries
when building the rlib that uses them, rather than when linking the final
binary. In fact, it is no longer necessary to specify the libraries to link
when building the final binary, but the library search path flags must still
be included.
2022-06-14 20:09:33 -04:00
Sebastian Jordan 1dfaad73ed nix-prefetch-git: Fix inconsistency with fetchgit regarding deepClone
The fetchgit function in nixpkgs sets the leaveDotGit argument to true
if deepClone is set to true. nix-prefetch-git did behave differently. It
would not assume --leave-dotGit if --deepClone is specified. With this
change the inconsistency is addressed by assuming --leave-dotGit if
--deepClone is specified.
2022-06-14 00:23:16 +02:00
github-actions[bot] 15c142e5c0
Merge staging-next into staging 2022-06-13 18:02:13 +00:00
github-actions[bot] 6ccd35f78f
Merge master into staging-next 2022-06-13 18:01:35 +00:00
Matthieu Coudron fb6f9ee28f update-luarocks-package: fix mirrors 2022-06-13 11:17:36 +02:00
Thiago Kenji Okada 299538e834
Merge pull request #172769 from ncfavier/wrappers-append-args
makeWrapper,makeBinaryWrapper: implement `--append-flags`
2022-06-12 11:46:03 +01:00
Ilya Fedin f767bee1f4 replace-dependency: fix a syntax error while generating references.nix 2022-06-12 06:44:30 +04:00
Adam Joseph 5ed4944130 fetchgit: allow passing allowedRequisites through to stdenv.mkDerivation
When maintainers override stages of `fetchgit' (e.g. `postPatch`) it
is very easy for them to accidentally leak the outpath-hash of their
current `stdenv` into `fetchgit''s output, and therefore into the
value they paste into `sha256`.

This is a problem, because the resulting expression will break
whenever any change is made to `stdenv` or when anybody attempts to
build the expression on a different platform than the one used by the
original maintainer.

Almost as much of a problem is the fact that CI **does not catch**
these problems.  The `fetchgit` is run only once, then its output goes
into cachix, and all future builds (hydra, CI, ofborg) pull from
cachix.

Let's offer maintainers the option to check that they aren't making
this mistake, by passing through `allowedRequisites`.  The default
value is `null`, but it might be worth changing that at some point in
the future.

It is also sometimes difficult to communicate to package maintainers
why their expression is problematic.  Having `allowedRequisites`
passed through makes it easier to do this: "look, when I switch on
`allowedRequisites` your package breaks; are you sure you meant to
hardcode the hash today's `x86_64-linux.stdenv` into your expression?`

For an example use case, see https://github.com/NixOS/nixpkgs/pull/171223

The issue above is part of a larger problem with nixpkgs infra: there
large parts of cachix cannot be reproduced easily if they are lost.
Once something ends goes into cachix, we never ever again reverify the
procedure by which it was placed into cachix.
2022-06-11 12:42:33 -07:00
Robert Scott 6095bc6eb2 appimageTools.wrapAppImage: default produced derivations to sourceProvenance binaryNativeCode 2022-06-11 17:17:12 +01:00
Sergei Trofimovich ffb456ae61 fetchzip: force UTF-8 compatibel locale to unpack non-ASCII symbols
musl and darwin support UTF-8 locales without any extras. As a result
unzip can unpack UTF-8 filenames there as is. But on glibc without
locale archive presence files get mangled as:

    deps/αβ -> deps/#U03b1#U03b2

This makes `fetchzip` fixed-output derivations unstable.

Tested this change to fail in `coq.src` which was generated in system
that mangles UTF-8 symbols:

    $ nix build -f. coq.src --rebuild -L
    source> trying https://github.com/coq/coq/archive/V8.15.2.zip
    source>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    source>                                  Dload  Upload   Total   Spent    Left  Speed
    source>   0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
    source> 100 8945k  100 8945k    0     0  1513k      0  0:00:05  0:00:05 --:--:-- 1989k
    source> unpacking source archive /build/V8.15.2.zip
    error: hash mismatch in fixed-output derivation '/nix/store/hrnyykm7wgw8vxisgq7hc2bg5gr0y6s8-source.drv':
             specified: sha256-h81nFqkuvZkMR7YLHy7laTq5yOhjMW+w6rYzncxvyD4=
                got:    sha256-DTspmwyD3Evl1CUmvUy2MonbLGUezvsHN3prmP9eK2I=

Note: it means that some of existing caches for fixed output
derivations become incorrect. It should not break already cached
tarballs on cache.nixos.org thus the impact should not be widespread.
2022-06-11 11:25:58 +01:00
Manuel Mendez 19b6ccd9ac cc-wrapper: Allow for override of -target for clang/clang++
This enables users to make use of clang's multi-platform/target support
without having to go through full cross system setup. This is especially useful
for generating bpf object files, I'm not even usre what would a no-userland
cross compile system tuple even look like to even try going that route.

Fixes #176128
2022-06-09 16:57:15 -04:00