3
0
Fork 0
forked from mirrors/nixpkgs
Commit graph

3593 commits

Author SHA1 Message Date
worldofpeace b07e790963
Merge pull request #74969 from marsam/remove-empty-inherits
treewide: remove empty inherits
2019-12-04 23:17:08 +00:00
Profpatsch c5c5465fe4 pkgs/build-support/trivial-builders: remove runCommandCCLocal
We shouldn’t force the user to have a C compiler in scope, just
because the derivation is forced to build locally. That can’t be
counted as “lightweight” anymore.

Co-Authored-By: Silvan Mosberger<contact@infinisil.com>
2019-12-04 21:17:01 +01:00
Profpatsch 8deaf41d60 pkgs/build-support/trivial-builders: add runCommandLocal
A definition I’ve been copy-pasting everywhere so far, so it’s finally
time to add it to nixpkgs.

I’m using a remote builder for my regular nix builds, so trivial
`runCommand`s which first try a substitution and then copy the inputs
to the builder to run for 0.2s are quite noticable.

If we just always build these, we gain some build time, so let’s make
it easy to switch from remote to local.
2019-12-04 21:17:01 +01:00
Mario Rodas e44d7c14f5
treewide: remove empty let blocks 2019-12-04 06:00:00 -05:00
Alyssa Ross fe16f7d7f9
fetchFromGitiles: init
This has the same motivation as fetchFromGitHub/fetchFromGitLab --
it's cheaper to download a tarball of a single revision than it is to
download a whole history.

I could have gone with domain/group/repo, like fetchFromGitLab, but it
would have made implementation more difficult, and this syntax means
it's a drop-in replacement for fetchgit, so I decided it wasn't worth
it.
2019-12-02 22:44:33 +00:00
Matthew Bauer 162a935d3c
Merge pull request #74226 from bhpdt/fix/idirafter-stdenv
stdenv: Fix gcc -idirafter shell glob in cc-wrapper
2019-12-02 13:41:28 -05:00
Frederik Rietdijk 9f84415541 Merge staging-next into staging 2019-11-30 08:58:01 +01:00
Jörg Thalheim 435c3ecde7
rust: add support for armv6l-linux and armv7l-linux (#73472)
rust: add support for armv6l-linux and armv7l-linux
2019-11-29 12:47:15 +00:00
Florian Klink a905fcb40d buildBazelPackage: set $USER environment variable (#74538)
tensorflow assumes $USER to be set to something, otherwise it complains
like this:

```
FATAL: $USER is not set, and unable to look up name of current user: (error: 0): Success
Traceback (most recent call last):
  File "./configure.py", line 1602, in <module>
    main()
  File "./configure.py", line 1399, in main
    _TF_MAX_BAZEL_VERSION)
  File "./configure.py", line 478, in check_bazel_version
    ['bazel', '--batch', '--bazelrc=/dev/null', 'version'])
  File "./configure.py", line 156, in run_shell
    output = subprocess.check_output(cmd)
  File "/nix/store/drr8qcgiccfc5by09r5zc30flgwh1mbx-python3-3.7.5/lib/python3.7/subprocess.py", line 411, in check_output
    **kwargs).stdout
  File "/nix/store/drr8qcgiccfc5by09r5zc30flgwh1mbx-python3-3.7.5/lib/python3.7/subprocess.py", line 512, in run
    output=stdout, stderr=stderr)
```

Spotted while changing the hash of its fixed-output derivation on
purpose.

We could also set this in the tensorflow-specific part, but very likely,
other programs will fail as well.
2019-11-28 16:14:45 -08:00
Andrew Dunham 5e24b9e4ed buildBazelPackage: also set the SSL_CERT_FILE environment variable 2019-11-28 13:39:20 -08:00
Andreas Rammhold 059faab65a
Merge pull request #73803 from andir/buildRustCrate-lib-output
buildRustCrate: add lib output
2019-11-28 15:36:45 +01:00
David Wood 4d26c18306 cc-wrapper: expose wrapper script as overridable attribute (#65813) 2019-11-27 14:15:56 -05:00
Andrew Dunham 3f86f21207 buildBazelPackage: allow specifying whether to remove rules_cc 2019-11-27 10:43:34 +01:00
Dima df7f3e0f98 nix-prefetch-git: list --branch-name in help
Listing the option and brief explanation.
Addresses: https://github.com/NixOS/nixpkgs/issues/74182
2019-11-26 20:43:23 +01:00
Andreas Rammhold 1b748554d5
buildRustCrate: add lib output
This cuts down the dependency tree on some rust builds where a crate not
just exposes a binary but also a library. `$out/lib` contained a bunch
of extra support files that among other information carry linker flags
(including the full path to link-time dependencies). Worst case this led
to some binary outputs depending on the full build closure of rust
crates.

Moving all the `$out/lib` files to `$lib/lib` solves this nicely.

`lib` might be a bit weird here as they are most of the time just rlib
files (rust libraries). Those are essential only required during
compilation but they can also be shared objects (like with traditional
C-style packages). Which is why I went with `lib` for the new output.

One of the caveats we are running into here is that we do not (always)
know ahead of time of a crate produces just a library or just a binary.
Cargo allows for some ambiguity regarding whether or not a crate
provides one, two, … binaries and libraries as it's outputs. Ideally we
would be able to rely on the `crateType` entirely but so far that isn't
the case. More work on that area might show how difficult that actually
is.
2019-11-26 15:05:01 +01:00
Ben Hipple 5f589d8d5d stdenv: Fix gcc -idirafter shell glob in cc-wrapper
If an empty string is passed to `-idirafter`, it breaks gcc. This commit makes
the stdenv less fragile by expanding out the shell glob and ensuring no empty
arguments get passed.
2019-11-26 00:55:16 +00:00
John Ericson f191360ad0 Merge remote-tracking branch 'upstream/staging-next' into staging 2019-11-25 15:59:05 -05:00
Jason Felice 7a77629490 java classpath hook: allow unbound $CLASSPATH 2019-11-24 23:30:05 -05:00
John Ericson 6bc456c91c Merge remote-tracking branch 'upstream/master' into ghcjs-cross-without-cc 2019-11-25 00:23:07 +00:00
John Ericson 63bd851e95 stdenv: Introduce hasCC attribute
Before, we'd always use `cc = null`, and check for that. The problem is
this breaks for cross compilation to platforms that don't support a C
compiler.

It's a very subtle issue. One might think there is no problem because we
have `stdenvNoCC`, and presumably one would only build derivations that
use that. The problem is that one still wants to use tools at build-time
that are themselves built with a C compiler, and those are gotten via
"splicing". The runtime version of those deps will explode, but the
build time / `buildPackages` versions of those deps will be fine, and
splicing attempts to work this by using `builtins.tryEval` to filter out
any broken "higher priority" packages (runtime is the default and
highest priority) so that both `foo` and `foo.nativeDrv` works.

However, `tryEval` only catches certain evaluation failures (e.g.
exceptions), and not arbitrary failures (such as `cc.attr` when `cc` is
null). This means `tryEval` fails to let us use our build time deps, and
everything comes apart.

The right solution is, as usually, to get rid of splicing. Or, baring
that, to make it so `foo` never works and one has to explicitly do
`foo.*`. But that is a much larger change, and certaily one unsuitable
to be backported to stable.

Given that, we instead make an exception-throwing `cc` attribute, and
create a `hasCC` attribute for those derivations which wish to
condtionally use a C compiler: instead of doing `stdenv.cc or null ==
null` or something similar, one does `stdenv.hasCC`. This allows quering
without "tripping" the exception, while also allowing `tryEval` to work.

No platform without a C compiler is yet wired up by default. That will
be done in a following commit.
2019-11-25 00:12:38 +00:00
John Ericson 6d3b7458cc
Merge pull request #74065 from Ericson2314/cc-versions
compilers, binutils: Add version and pname
2019-11-24 18:35:13 -05:00
John Ericson 814f9104d7
Merge pull request #72657 from cleverca22/vc4
Initial implementation of vc4 cross-compile
2019-11-24 16:04:15 -05:00
Craig Hall da3c053482 {cc,bintools}-wrapper: Inherit compiler version 2019-11-24 18:32:26 +00:00
John Ericson 747d5a3dbf Merge branch 'wrapper-pname-support-19.09' into wrapper-pname-support 2019-11-24 18:00:29 +00:00
John Ericson 4a0a297861 bintools-wrapper: Fix version 2019-11-24 17:57:06 +00:00
John Ericson d0d5136cce Merge remote-tracking branch 'upstream/master' into wrapper-pname-support 2019-11-24 17:25:07 +00:00
Craig Hall 99537e994f {cc,bintools}-wrapper: use cc pname/version if set 2019-11-24 16:33:21 +00:00
Ben Wolsieffer 83ac9c07e4 rust: add support for armv6l-linux and armv7l-linux 2019-11-23 19:19:31 -05:00
Jan Tojnar 937ec235b7
appimage: do not use alias 2019-11-23 21:28:01 +01:00
Herwig Hochleitner 42eeca722c emacs package setup hook: Fix Fix
A trailing separator in emacs load paths has semantics

cc @Ericson2314 @adisbladis https://github.com/NixOS/nixpkgs/pull/73287

This partially reverts commit ca782498a9
2019-11-23 19:49:56 +01:00
Michael Bishop 4aa1ffae04
initial implementation of vc4 cross-compile 2019-11-19 22:19:15 -04:00
Jan Tojnar da76deffd1
Merge branch 'master' into staging-next 2019-11-14 23:25:36 +01:00
John Ericson bca2e8255e treewide: CAML_LD_LIBRARY_PATH may be undefined 2019-11-14 13:44:07 -05:00
adisbladis e578b8499f fetchgitPrivate: Remove fetcher
Since Nix 2.0 we have `builtins.fetchGit` which is a much better
option since it runs in the evaluator and has access to the regular
users ssh keys.
2019-11-14 09:34:12 -08:00
Frederik Rietdijk d688c7cd05 Merge staging-next into staging 2019-11-12 14:32:56 +01:00
John Ericson 16f0fe7fe3 Merge remote-tracking branch 'upstream/master' into mingw-mcfthreads 2019-11-11 20:48:14 -05:00
Demin Dmitriy b6e37c3146 libredirect: fix access return type
`access` should return `int` not `int*`. Actually compiler produced
identical assembly with any of those types, so by luck it "just worked".
2019-11-12 04:29:11 +03:00
Demin Dmitriy 6432f92e42 libredirect: fix argument forwarding in open* functions
Flag `O_TMPFILE` was added in Linux 3.11. It affects whether or not
`mode` argument should be passed.
2019-11-12 04:29:11 +03:00
John Ericson 38ebb8ff82 fetchurl: Eliminate pointless cross differences 2019-11-11 00:25:24 -05:00
John Ericson f7fdc997bf Merge commit 'afa48f16f265fd3e88073bca7929e1e103bd3dc3' into bash-no-undef-vars 2019-11-08 13:58:27 -05:00
John Ericson ca782498a9 emacs package setup hook: Fix
1. Make the test more robust

2. EMACSLOADPATH may be initially undefined.

3. did `targetOffset` twice when meant `hostOffset` too
2019-11-08 13:28:59 -05:00
John Ericson fae8d2627d cc-wrapper, bintools-wrapper: Remove now unneeded set {+,-}u 2019-11-04 19:57:14 -05:00
John Ericson c5cf009996 multiple-outputs setup hook: Remove accidentally added tab
I don't want to just rebase this away because the original commit is
also in #72074.
2019-11-04 19:51:04 -05:00
Sebastian Jordan 8db9c3ef45 nix-prefetch-github: Delete redundant source, build from python3Packages instead 2019-11-04 09:14:00 +01:00
John Ericson 7eecf4f8fb find-xml-catalogues: Ensure XML_CATALOG_FILES is defined 2019-11-01 14:44:44 -04:00
John Ericson 2811b032d6 treewide: Make still dont* Variables are optional in most cases
Go beyond the obvious setup hooks now, with a bit of sed, with a skipped case:

 - cc-wrapper's `dontlink`, because it already is handled.

Also, in nix files escaping was manually added.

EMP
2019-11-01 14:44:44 -04:00
John Ericson 545e7518a8 bintools-wrapper: Don't stop set -u-ing
Same justification as previous commit.
2019-11-01 14:44:43 -04:00
John Ericson 43a98868ae common setup hooks: set -u robustness
Explicitly handle `dont*` and friends not being defined.
2019-11-01 14:44:43 -04:00
Jörg Thalheim 56240d7f20
Merge pull request #71899 from decentriq/aslemmer/build-rust-package-add-target
build-support/rust: Add target option
2019-11-01 15:46:47 +00:00
exfalso a588b1dfbc build-support/rust: Add target option 2019-10-24 11:39:08 +01:00
Lassulus f417dd9c89
Merge pull request #71586 from Lassulus/writers
writers: fix writeC & tests
2019-10-23 21:45:29 +02:00
lassulus 6d807882ad writers test: use writeC with library for testing 2019-10-23 20:47:27 +02:00
lassulus e7cccb74ee writers test: fix python2 linter errors 2019-10-23 20:47:27 +02:00
lassulus a5d874935e writers: fix writeC libraries detection 2019-10-23 20:47:27 +02:00
Frederik Rietdijk d7a921cad9
Merge pull request #71221 from NixOS/staging-next
Staging next
2019-10-22 09:15:19 +02:00
Andreas Rammhold 8d77a83e96
Merge pull request #70259 from andir/rust-checkflags
rust introduce `checkFlags` to parametrize test execution
2019-10-21 17:33:10 +02:00
Frederik Rietdijk ad8bd84fc9 Merge master into staging-next 2019-10-20 16:22:45 +02:00
Andreas Rammhold d13022417f buildRustPackage: support checkFlags and checkFlagsArray 2019-10-20 02:31:13 +02:00
Profpatsch bbcdd01f6b Revert "skawarePackages.execline: wrap execlineb with tools"
Using wrapProgram adds a call to `bash` around every call
of `execline`, which clearly misses the basic idea behind
`execline` in the first place …

This reverts commit b64d25c447.
2019-10-18 16:43:51 +02:00
Eelco Dolstra 328796d734
makeInitrd: Use stdenvNoCC 2019-10-11 17:12:09 +02:00
Eelco Dolstra cae6db88d3
nukeReferences: Use stdenvNoCC 2019-10-11 17:12:09 +02:00
Robin Gloster 356464388f
Merge pull request #69370 from chkno/no-extra-flags
makeWrapper: Remove unused extraFlagsArray feature
2019-10-09 01:32:28 +02:00
Jan Tojnar b3fcd9375d
Merge branch 'master' into staging-next 2019-10-03 01:47:08 +02:00
Nikolay Amiantov 280f17c893 buildBazelPackage: remove rules_cc
It's a new builtin dependency from Bazel 0.29.
2019-10-02 00:46:55 +03:00
zimbatm f8d67ec135
buildRustPackage: add verifyCargoDeps option
One issue with cargoSha256 is that it's hard to detect when it needs to
be updated or not. It's possible to upgrade a package and forget to
update cargoSha256 and run with old versions of the program or
libraries.

This commit introduces `verifyCargoDeps` which, when enabled, will check
that the Cargo.lock is not out of date in the cargoDeps by comparing it
with the package source.
2019-09-30 17:09:52 +00:00
Frederik Rietdijk 503081fa5b Merge staging into staging-next 2019-09-29 11:05:22 +02:00
Vladimír Čunát 217cf982c7
Merge branch 'master' into staging-next 2019-09-27 22:13:02 +02:00
adisbladis 17a388d9dd
Merge pull request #69045 from rycee/emacs-wrapper-using-runcommand
emacs: use runCommand to generate wrapper
2019-09-27 12:58:38 +01:00
Jörg Thalheim c0cba22090
Add intel-compute-runtime / Intel NEO driver stack (#63705)
Add intel-compute-runtime / Intel NEO driver stack
2019-09-27 11:52:55 +01:00
Joachim F ad773d31e2
Merge pull request #69345 from joachifm/feat/split-version
Replace uses of splitString for splitting version strings
2019-09-27 06:19:18 +00:00
Joachim Fasting bad07dfac5
tree-wide: replace uses of splitString "." with lib.versions
Quoting from the splitString docstring:

   NOTE: this function is not performant and should never be used.

This replaces trivial uses of splitString for splitting version
strings with the (potentially builtin) splitVersion.
2019-09-26 17:42:49 +02:00
Chuck a45b3ad89f
makeWrapper: Remove unused extraFlagsArray feature
There is a bug in this feature: It allows extra arguments to leak in
from the environment. For example:

  $ export extraFlagsArray=date
  $ man ls

Note that you get the man page for date rather than for ls. This happens
because 'man' happens to use a wrapper (to add groff to its PATH).

An attempt to fix this was made in 5ae18574fc in PR #19328 for
issue #2537, but 1. That change didn't actually fix the problem because
it addressed makeWrapper's environment during the build process, not the
constructed wrapper script's environment after installation, and 2. That
change was apparently accidentally lost when merged with 7ff6eec5fd.

Rather than trying to fix the bug again, we remove the extraFlagsArray
feature, since it has never been used in the public repo in the ten
years it has been available.

wrapAclocal continues to use its own, separate flavor of extraFlagsArray
in a more limited context. The analogous bug there was fixed in
4d7d10da6b in 2011.
2019-09-25 09:23:09 -07:00
Vladimír Čunát 192fb9d11b
Merge branch 'staging-next' into staging 2019-09-24 08:15:01 +02:00
Vladimír Čunát eab41878ac
Merge branch 'master' into staging-next 2019-09-24 08:14:34 +02:00
Jörg Thalheim 71daf2ddb2
Merge pull request #65817 from bgamari/add-appimage-deps
build-support: Add p11_kit to appimage dependency set
2019-09-23 21:36:30 +01:00
Robin Gloster 602282538b
Merge pull request #69022 from mayflower/buildenv
buildEnv: check pathsToLink before checking collisions
2019-09-23 15:52:42 +02:00
Mario Rodas aed74e8284
cargo-vendor: drop
Cargo 1.37 imported `cargo-vendor` as built-in command [1]

[1] https://github.com/rust-lang/cargo/pull/6869
2019-09-22 20:20:20 -05:00
Vladimír Čunát 22a216849b
Re-Revert "Merge branch 'staging-next'"
This reverts commit f8a8fc6c7c.
2019-09-22 09:38:09 +02:00
Vladimír Čunát f8a8fc6c7c
Revert "Merge branch 'staging-next'"
This reverts commit 41af38f372, reversing
changes made to f0fec244ca.

Let's delay this.  We have some serious regressions.
2019-09-21 20:05:09 +02:00
Matthew Bauer 268d510024
Merge pull request #69131 from xzfc/subshells
Avoid subshells
2019-09-20 17:47:15 -04:00
Albert Safin 26547013a5 bintools-wrapper: avoid subshells: glob match 2019-09-20 02:45:56 +00:00
Albert Safin bbc5b22ad8 bintools-wrapper: avoid subshells: upcase 2019-09-20 02:45:56 +00:00
Frederik Rietdijk 0b12d44c06 Merge master into staging-next 2019-09-19 16:59:42 +02:00
Yegor Timoshenko 17a6ae03cb
Merge pull request #66617 from transumption-unstable/201908/rust-aarch64-linux-musl
buildRustPackage: fix cross-compilation to aarch64-unknown-linux-musl
2019-09-19 01:21:55 +00:00
Robert Helgesson 241e28e3d1
emacs: use runCommand to generate wrapper
This removes the unnecessary compiler build dependency. We also set

    preferLocalBuild = true;
    allowSubstitutes = false;

to not farm out the build on a remote builder or bother with trying to
find a binary substitution.
2019-09-18 22:32:19 +02:00
Jan Tojnar 62791c3743
Merge branch 'master' into staging-next 2019-09-18 21:15:35 +02:00
Linus Heckemann 3125ab3afe buildEnv: check pathsToLink before checking collisions
Fixes #32683
2019-09-18 15:13:50 +02:00
Matthew Bauer b32fd0c093
Merge pull request #68898 from nspin/pr/docker-image-cross
build-support/docker: set default image arch to host arch
2019-09-17 18:04:59 -04:00
worldofpeace 7d16370c63
Merge pull request #68873 from lattfein/appimage-tools-libatspi
appimageTools: add at-spi2-core to multiPkgs
2019-09-17 13:03:42 -04:00
Léo Gaspard ffaf2661fb
Merge branch 'master' into os-prober-test 2019-09-16 23:21:15 +02:00
Nick Spinale 8166bc934b build-support/docker: set default image arch to host arch
The architecture of an image should default to the architecture for
which that image is being composed or pulled. buildPackages.go.GOARCH is
an easy way to compute that architecture with the correct terminology.
2019-09-16 14:22:30 +00:00
Koki Yasuno 968f357f9a
appimageTools: add at-spi2-core to multiPkgs 2019-09-16 23:15:38 +09:00
Jan Tojnar a441eaa7b1
Merge branch 'staging-next' into staging 2019-09-12 22:49:43 +02:00
Yegor Timoshenko 08b73c1d58
buildRustPackage: fix cross-compilation to aarch64-unknown-linux-musl 2019-09-12 09:00:17 +00:00
Jan Tojnar f2718dbbc0
wrapGAppsHook: address some shellcheck suggestions
These should not cause issues in practice but it is good idea to handle them.

* prefix and targetOffset are mandatory, as they are always set by the generic builder.
* wrapPrefixVariables and dontWrapGApps are now defaulting to empty value, as they are not mandatory.
2019-09-10 16:24:11 +02:00
Jan Tojnar c54ba9aec9
wrapGAppsHook: simplify taking env vars
using indirect variable access must be better than eval
2019-09-10 16:24:11 +02:00
Jan Tojnar 3c1563f49d
wrapGAppsHook: add wrapGApp helper 2019-09-10 16:24:10 +02:00
Andreas Rammhold a69a6c1117
Merge pull request #68296 from danieldk/crateRenames
buildRustCrate: add support for renaming crates
2019-09-10 10:57:54 +02:00
Frederik Rietdijk e3f25191c4 Merge staging-next into staging 2019-09-09 08:11:34 +02:00
volth 7b8fb5c06c treewide: remove redundant quotes 2019-09-08 23:38:31 +00:00