Commit Graph
100 Commits
Author SHA1 Message Date
John Ericson b57c5d4456 python: Use makeScopeWithSplicing
Now non-`buildInputs` that are python packages should be resolved
correctly.
2020-11-19 11:58:07 -05:00
John Ericson 330d468002 python: Use packages from previous stage in setup-hooks
This makes sense as these are tools we want to run at build time.
2020-11-19 11:58:03 -05:00
John Ericson a6218c058b lib: Create makeScopeWithSplicing
It's ugly as hell, but I suppose it is needed to codify how to make
spliced package sets.
2020-11-19 00:07:14 -05:00
John Ericson 9f05c50be1 libarchive: Fix Windows build 2020-10-29 00:38:45 +00:00
John Ericson 437dc4c047 zstd: Fix MinGW build 2020-10-28 23:34:51 +00:00
John Ericson 54b4b470c3 makeRustPlatform: Put back in it's own file.
We expose it on the top level, but I don't think it makes sense to pull
it from a specific version of the rust tools when it is in fact version
agnostic.

This reverts a tiny portion of 912dca193a.
2020-10-13 20:05:29 -04:00
John Ericson e75f863bd4 darwin bootstrapping: Dedup code a bit 2020-10-13 19:26:13 -04:00
John Ericson 5235a1e1fc Merge remote-tracking branch 'obsidian/cmake-nativeBuildInputs' into cmake-optional-openssl 2020-10-13 19:23:14 -04:00
John Ericson e6294cfb7e cmake: Tighten deps
- OpenSSL is evidentally an optional dep. I guess pkg-config found it
   before because it was a transitive dep?

 - `zstd` and cross-built CMake can get by with a `cmakeMinimal that we
   use during bootstrapping, so let's restrict to that.
2020-10-02 15:52:11 +00:00
John Ericson 54b7d5266b cmake: Don't be target sensative
pkg-config now has a target-sensative wrapper. We shouldn't rebuild
CMake because that wrapper changes. The setup hook should also be a
build time dep.

Fix #99325
2020-10-02 15:02:58 +00:00
John Ericson f60fc7f61f meson: Remove propagated native C compiler
Now that we have a Meson release containting [1], Meson will work fine
without a native compiler, so we don't need this trick anymore.

Fixes #58831

[1]: https://github.com/mesonbuild/meson/pull/6512
2020-09-30 10:31:39 -04:00
John Ericson 92f96f47b0 treewide: Get rid of cc.gcc
Instead, we have a new `gccForLibs`, which has the appropriate
definition for e.g. avoiding `x86_32` linking problems.
2020-08-02 17:12:05 +00:00
John Ericson 1ed248eac2 nixos/nix-daemon: Organize buildMachine options with a submodule 2020-07-05 16:51:55 +02:00
John Ericson 704daf7a6e {bintools,cc}-wrapper: Ensure nix-support/*-flags files exist
This will unbreak firefox and a few other packages which try to grab
some of the libcxx flags.
2020-06-30 18:26:37 +00:00
John Ericson 1085403acd {cc,bintools}-wrapper: Comments no longer spliced
This means we can freely keep the comments up to date without the
penalty of a mass rebuild.
2020-06-30 15:04:10 +00:00
John Ericson 4422ff588f Merge remote-tracking branch 'upstream/nixos-unstable-small' into staging 2020-06-22 04:21:03 +00:00
John Ericson e00d4d6021 emscripten: Don't always clain to have a GCC 2020-06-22 00:17:03 -04:00
John Ericson a997afb7da zstd: Fix cross
CMake is a build-time dep, so we need to override it with
`buildPackages`, explicitly.
2020-06-20 15:21:19 +00:00
John Ericson 7156cd1c39 libgpg-error: Fix cross build
See comment for details

Fixes #91016
2020-06-20 01:19:28 +00:00
John Ericson 4044d81d5c IPFS NixOS module: Socket unit file more precise
The systemd socket unit files now more precisely track the IPFS
configuration, by including any multaddr they can make a `ListenStream`
for. (The daemon doesn't currently support anything which would use
`ListDatagram`, so we don't need to worry about that.)

The tests use some of these features.
2020-06-17 21:43:04 +00:00
John Ericson fd4dcae884 Merge remote-tracking branch 'upstream/nixpkgs-unstable' into staging 2020-06-14 21:46:35 +00:00
John Ericson c1b9f86cdd php < 7.4: Fix validation of PKG_CONFIG var
They were assuming it is an absolute path, but it (conventionally) can
be something to look up on the PATH too.

Fixes #90202
2020-06-13 19:06:33 +00:00
John Ericson 2a8b8f6593 release-lib: Avoid filtering twice
We were using `supportedMatches` both when getting the list of
platforms, and before `genAttrs` the derivation for each. Now we just
filter the second time,
2020-06-12 15:23:21 -04:00
John Ericson 41dc003692 perlPackages.ExtUtilsPkgConfig: Fix build
Fixes #90084
2020-06-12 18:22:37 +00:00
John Ericson a239864fc6 systemd: Fix cross build
This was very similar to the Mesa issues fixed in
62e6d73a09: the user-written code is
looking up an unprefixed binutils program.

[I think we should have a way in Meson of specifying a program prefix in
the cross / native files, as a fallback for any program that isn't
explicitly specified. This could both be availible for user written
rules, and help with the default rules.]

Fixes https://github.com/NixOS/mobile-nixos/issues/161
2020-06-08 00:29:51 +00:00
John Ericson 87e86b4574 autoen: Fix cross build
See comments for details. Patch can be removed whend version is bumped.
2020-06-07 16:04:42 +00:00
John Ericson b78c6d47ee autogen: More normal formatting 2020-06-07 16:04:42 +00:00
John Ericson f005272623 wayland: Simplify cross build
Now that we have a pkg-config wrapper, we can get build-time deps via
pkg-config.
2020-05-27 17:27:24 +00:00
John Ericson 162c0c3e61 mkDerivation: Don't need to specify pkg-config for meson any more
Env var will work fine.
2020-05-27 16:07:58 +00:00
John Ericson 7e9d807f2c pkg-config-wrapper: Move comments outside of strings
This is much better because then we can freely keep the comments up to
date without causing mass rebuilds.

Someday, somebody should make the same change with `cc-wrapper` and
`bintools-wrapper`.
2020-05-21 11:35:46 -04:00
John Ericson 95080ea90b pkgconf: Wrap with pkg-config-wrapper 2020-05-21 11:35:46 -04:00
John Ericson 23490e3f50 pkgconf: Multiple outputs 2020-05-21 11:35:45 -04:00
John Ericson 4b2ab665fb pkg-config-wrapper: Provide autoconf macros
This fixes libarchive, and probably numerous other builds.
2020-05-21 09:16:34 -04:00
John Ericson f29919da61 pkg-config: Multiple outputs
This is good practice, and will help with tests. Wrapper adjust to match
bintools-wrapper re these new outputs.
2020-05-21 08:58:34 -04:00
John Ericson 42b2035730 pkg-config: If building vanilla version, can run original tests 2020-05-21 08:52:20 -04:00
John Ericson 26f635d39a pkg-config: Document new location of bug 2020-05-21 08:49:21 -04:00
John Ericson c71ab32a67 pkg-config-wrapper: Init
This fixes longstanding build issues
2020-05-16 00:21:21 +00:00
John Ericson ee8cfe4bf3 treewide: pkg-config has targetPrefix 2020-05-16 00:21:21 +00:00
John Ericson 27edd9efb3 cross/tests: Use crossPkgs.runCommand so we have strictDeps 2020-05-16 00:21:21 +00:00
John Ericson ade7faea72 Revert "Revert "libbfd: fix build""
This reverts commit 237ef3095c.

Looks like we're trying to bump binutils again?
2020-05-14 09:38:14 +02:00
John Ericson c10f0a32d2 Revert "Revert "libbfd: fix build""
This reverts commit 237ef3095c.

Looks like we're trying to bump binutils again?
2020-05-13 04:39:18 +00:00
John Ericson 1ac5398589 *-wrapper; Switch from infixSalt to suffixSalt
I hate the thing too even though I made it, and rather just get rid of
it. But we can't do that yet. In the meantime, this brings us more
inline with autoconf and will make it slightly easier for me to write a
pkg-config wrapper, which we need.
2020-05-12 00:44:44 -04:00
John Ericson cf858e6d57 mkDerivation mesonFlags: Fix cross file logic to handle more cases
Otherwise eval breaks
2020-04-28 16:51:44 -04:00
John Ericson 8245230753 meson: Make target-agnostic
The cross file is added in the `mkDerivation`. It isn't nice putting
build tool-specific stuff here, but our current architecture gives us
little alternative.
2020-04-28 10:55:33 -04:00
John Ericson 128b93e061 meson: Patch to ingest env vars like autoconf
See comment in code and the PR it references,
https://github.com/mesonbuild/meson/pull/6827, for details.

We can remove entries from the cross file because they will be gotten
from env vars now.
2020-04-28 10:11:41 -04:00
John Ericson 3c00ca03a2 meson: Don't set CC and CXX
I've since convinced upstream to not use such vars for the build
platform during cross. Finally!
2020-04-26 16:50:06 -04:00
John Ericson 607522c78d numpy: Use blas and lapack dev outputs for include dirs 2020-04-20 21:40:48 -04:00
John Ericson 1ea80c2cc3 Merge remote-tracking branch 'upstream/master' into staging 2020-04-18 15:40:49 -04:00
John Ericson 33c2a76c5e Merge remote-tracking branch 'upstream/master' into staging 2020-04-17 18:40:51 -04:00
John Ericson 6bf6ec8a96 Merge remote-tracking branch 'upstream/master' into consistent-bazel-ref 2020-04-01 16:16:30 -04:00
John Ericson 6f94f8fd3f bazel-*: Consistently self reference
Using `bazel_self` for self-references makes managing bazel versions
easier: their less risk of changing defaults or copy pasted code for no
versions leading to incorrect self-references.
2020-04-01 16:16:26 -04:00
John Ericson cef0110b84 tensorflow-estimator-1.x: Put back comment 2020-03-30 17:43:56 +00:00
John Ericson 1fa310549c Merge remote-tracking branch 'upstream/master' into add-tensorflow-2 2020-03-30 13:59:16 +00:00
John Ericson d4de62dedd bazel_0_29: init at 0.29.1
Needed for Tensorflow 2.1
2020-03-30 04:30:40 +00:00
John Ericson ea5c800175 Merge branch 'tensorflow-versions'
No code is changed, just trying to assist with eventual backport.
2020-03-27 20:53:40 +00:00
John Ericson 33d64b1e24 Merge branch 'tensorflow-versions'
This changes no code, but assists in backports.
2020-03-25 17:40:13 +00:00
John Ericson e95ccab981 Merge branch 'master' of github.com:nixos/nixpkgs 2020-03-25 11:51:19 -04:00
John Ericson 506811aee2 Merge branch 'master' of github.com:nixos/nixpkgs 2020-03-25 11:50:07 -04:00
John Ericson 546cd363d4 Merge branch 'bazel-versions'
This doesn't change any code, just will make some backports easier
2020-03-25 11:46:24 -04:00
John Ericson 6da742383b Merge commit '2607aae93fc9db7b05541d8338a7e6bb9871d057' into tenserflow-versions 2020-03-25 11:26:54 -04:00
John Ericson 7c0d3f6f70 lib: Fix systems test for new armv6l-none 2020-03-18 17:43:11 -04:00
John Ericson 0c73297c07 compiler-rt-{7,8,9}: Fix cmakeFlags in a few ways
- Cross to bare metal with GCC works

 - Flags are deduplicated

 - Darwin bootstrapping for 8 and 0 closer.

 - Flags are same across versions.
2020-03-18 12:10:09 -04:00
John Ericson bc054004ac cc-wrapper, clang: libstdcxxHook should a propagated build input
Lumping it in with the target platform libraries was incorrect, and
caused eval failures when gcc couldn't be built for the target platform.
2020-03-18 11:28:52 -04:00
John Ericson 99c18b3441 clang-*: Sync wrapping logic
We only want to refer to GCC under these conditions.
2020-03-18 11:28:05 -04:00
John Ericson 84497cabd1 Merge remote-tracking branch 'upstream/master' into staging 2020-03-13 17:39:11 -04:00
John Ericson 783fa4616e rustc: Add way to override the arch and config triple for rust
Sometimes it is useful for it to be slightly different. Going forward we
should, however, try to make this fallback rarely needed.
2020-03-12 09:56:55 -04:00
John Ericson 00afca0929 lib: Add armv6l-none to doubles list 2020-03-12 09:56:17 -04:00
John Ericson 0b0e691833 rust 1.41: Fix build with no_std only target
See https://github.com/rust-lang/rust/pull/69381
2020-02-22 18:34:05 -05:00
John Ericson 196682b175 Merge remote-tracking branch 'upstream/master' into work-on-multi-shellFor 2020-02-22 17:34:08 -05:00
John Ericson 1c07ee7925 haskell shellFor: Fix hoogle 2020-02-22 13:10:30 -05:00
John Ericson cb46b97ae9 release.nix: Make hydra build all unit tests
We have just a few, and these are regular jobs not must-pass. The tests
that were must-pass are left as is.
2020-01-17 10:48:42 -05:00
John Ericson ba9066abca Merge together merge bases of 19.09 and master 2020-01-15 18:54:36 -05:00
John Ericson 28c37155d7 xcode: Add more hashes, and fix some old ones 2020-01-03 15:19:08 -05:00
John Ericson c1fb358a78 Merge remote-tracking branch 'obsidian/ghcjs-cross-without-cc-common' into ghcjs-cross-without-cc 2019-12-30 18:16:22 -05:00
John Ericson 6078f094c6 pkgs/stdenv/booter.nix: Add comment explaining hasCC trickery 2019-12-30 18:09:45 -05:00
John Ericson c4508df25d Merge remote-tracking branch 'obsidian/ghcjs-cross-without-cc-19.09' into ghcjs-cross-without-cc 2019-11-26 12:58:13 -05:00
John Ericson 8737963735 Fix lib tests
js-ghcjs didn't fit in an existing categor.
2019-11-26 12:57:16 -05:00
John Ericson f191360ad0 Merge remote-tracking branch 'upstream/staging-next' into staging 2019-11-25 15:59:05 -05:00
John Ericson d60532bc71 coq: Fix setup hook 2019-11-25 14:20:10 +00:00
John Ericson 80524db331 Merge branch 'ghcjs-cross-without-cc-19.09' into ghcjs-cross-without-cc 2019-11-25 14:11:18 +00:00
John Ericson 765d2608b6 Fix lib tests
js-ghcjs didn't fit in an existing categor.
2019-11-25 14:09:50 +00: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 ea9a2c5ec2 haskell genenric-builder: Make the C compiler optional
This is GHCJS, and perhaps other obscure targets.
2019-11-25 00:12:39 +00:00
John Ericson c739c420db Add support for cross compiling to js-ghcjs
This platform doesn't have a C compiler, and so relies and the changes
in the previous commit to work.
2019-11-25 00:12:38 +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 5858d7229a ghcjs-ng: The GHC source should be configured with native build inputs
This matters once we start treating GHCJS as cross compilation, as we
should be.
2019-11-24 23:08:47 +00:00
John Ericson ef328622e0 cctools, darwin biutils: Use pname and version 2019-11-24 18:36:40 +00:00
John Ericson 4f1261134e Merge remote-tracking branch 'upstream/master' into staging 2019-11-24 18:33:54 +00:00
John Ericson 234446a447 binutils: Use pname 2019-11-24 18:32:26 +00:00
John Ericson 04f3bc518e binutils: Inherit 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 51991e9606 Merge branch 'wrapper-pname-support-19.09' into wrapper-pname-support 2019-11-24 17:37:19 +00:00
John Ericson 97baa2e21b doc: Fix and clarify allowInsecurePredicate example
I had made inbalanced parens. Remove unneeded parens for legibility too.
2019-11-24 17:36:17 +00:00
John Ericson d34d84a61d firefox-wrapper: Get rid of name argument
Only pname + version is supported now. (Both are still optional,
however.)
2019-11-24 17:27:45 +00:00
John Ericson d0d5136cce Merge remote-tracking branch 'upstream/master' into wrapper-pname-support 2019-11-24 17:25:07 +00:00
John Ericson 9b090ccbca treewide: Get rid of most parseDrvName without breaking compat
That is because this commit should be merged to both master and
release-19.09.
2019-11-24 17:22:28 +00:00
John Ericson 84a105254d lib: Add getName to mirror getVersion 2019-11-24 16:24:50 +00:00
John Ericson ae8a90554e rocksdb: Build with Ninja
This is sightly faster/simpler.
2019-11-23 17:27:16 +00:00
John Ericson 4686cfcc94 Merge remote-tracking branch 'upstream/master' into mingw-rocksdb
Can just use single commit from
https://github.com/facebook/rocksdb/pull/6076 for rocksdb!
2019-11-23 17:26:49 +00:00