Commit Graph

1016 Commits

Author SHA1 Message Date
Vladimír Čunát
2995439003 buildEnv: respect meta.outputsToInstall
As a result `systemPackages` now also respect it.
Only nix-env remains and that has a PR filed:
    https://github.com/NixOS/nix/pull/815
2016-04-07 15:59:44 +02:00
Vladimír Čunát
3342f717da stdenv: set meta.outputsToInstall unless overridden 2016-04-07 15:59:43 +02:00
Thomas Tuegel
2667e4f5d7 make-bootstrap-tools: fix evaluation error on Darwin 2016-03-11 10:30:28 -06:00
Vladimír Čunát
09af15654f Merge master into closure-size
The kde-5 stuff still didn't merge well.
I hand-fixed what I saw, but there may be more problems.
2016-03-08 09:58:19 +01:00
Vladimír Čunát
aa564c9ed0 make-bootstrap-tools: fix #13629: glibc problems
On x86_64-linux glibc started to use linker scripts more extensively.
2016-03-03 12:09:50 +01:00
Danny Wilson
850a1a3323 Fix "nix" stdenv (close #13554)
Broken by changes introduced in d96893647d
2016-02-28 19:49:35 +01:00
Eelco Dolstra
e6f61b4cf3 fetchurlBoot: Use Nix's builtin fetchurl function
This removes the need for curl in bootstrapTools, and enables https
for bootstrap tarballs.
2016-02-27 20:27:24 +01:00
Nikolay Amiantov
39609a0c94 stdenv: set SSL_CERT_FILE only if it isn't already 2016-02-25 13:53:29 +03:00
Eelco Dolstra
2f050b5d13 stdenvLinux: Use bash instead of sh from bootstrapTools
"sh" is also bash, but invoking it as "sh" disables certain features
like process substitution.

Closes #13395.
2016-02-24 11:01:11 +01:00
Eelco Dolstra
d71a4851e8 Don't try to apply patchelf to non-ELF binaries 2016-02-18 22:54:11 +01:00
Vladimír Čunát
ee994dfae6 bootstrap tools: have curl without http2 support
I assume there's not much use for it during bootstrapping.
This fixes them as well, as curl was compiled against libnghttp2 but the
lib wasn't copied to the bootstrap tools.
2016-02-17 10:04:32 +01:00
Dan Peebles
0a23d430bf stdenv-darwin: fix to work with multiple outputs 2016-02-13 15:48:22 -05:00
Vladimír Čunát
54299b60c4 Merge #12779: Mass replace pkg}/bin-style strings
... to refer to correct outputs
2016-02-03 17:25:22 +01:00
Vladimír Čunát
89036ef76a stdenv: accept wider range of $configureScript options
Fixes #12632.

I think it's better to quote this variable in general, because it is
common and even documented to pass space-separated commands in there.
The greps should just fail in that case and `if` won't proceed
which seems fine for such cases, and it's certainly better than
passing additional unintended parameters to grep
(which was happening all the time before).
2016-02-03 17:15:11 +01:00
Vladimír Čunát
ae74c356d9 Merge recent 'staging' into closure-size
Let's get rid of those merge conflicts.
2016-02-03 16:57:19 +01:00
Eelco Dolstra
917ca8920d Move setting $SSL_CERT_FILE to stdenv
Doing it in an openssl setup hook only works if packages have openssl
as a build input - it doesn't work if they're using a program linked
against openssl.
2016-02-03 13:59:10 +01:00
Tuomas Tynkkynen
5f4a8de754 treewide: Mass replace 'bzip2}/bin' to refer the 'bin' output 2016-02-01 20:45:57 +02:00
Eelco Dolstra
f4553d7219 defaultUnpack: Preserve timestamps when copying files
Commit 6d928ab684 changed this to not
preserve timestamps. However, that results in non-determinism; in
particular, it gives us a broken $SOURCE_DATE_EPOCH (especially for
everything using fetchFromGitHub). Builds affected by timestamps <
1980 should be fixed in some other way (e.g. changing the timestamp to
some fixed date > 1980).
2016-01-26 16:24:32 +01:00
Vladimír Čunát
98c7e70a3f linux stdenv bootstrap: avoid building grep twice
It's perfectly enough when we use the bootstrapped grep everywhere
except the one put into the final stdenv and final pkgs.
2016-01-25 09:55:00 +01:00
Tuomas Tynkkynen
ed7dbb46a8 treewide: Mass replace 'zlib}/lib' to refer the 'out' output 2016-01-24 10:03:39 +02:00
Tuomas Tynkkynen
ba87da9fd1 treewide: Mass replace 'pcre}/lib' to refer the 'out' output 2016-01-24 10:03:38 +02:00
Tuomas Tynkkynen
04c5830432 treewide: Mass replace 'mpfr}/lib' to refer the 'out' output 2016-01-24 10:03:38 +02:00
Tuomas Tynkkynen
c2ceed1ad1 treewide: Mass replace 'binutils}/lib' to refer the 'out' output 2016-01-24 10:03:33 +02:00
Anthony Cowley
5986aecc4c Linux stdenv update: pass gnugrep to cc-wrapper 2016-01-24 00:18:32 -05:00
Anthony Cowley
d96893647d cc-wrapper: fix on darwin
The ld-wrapper.sh script calls `readlink` in some circumstances. We need
to ensure that this is the `readlink` from the `coreutils` package so
that flag support is as expected.

This is accomplished by explicitly setting PATH at the top of each shell
script.

Without doing this, the following happens with a trivial `main.c`:

```
nix-env -f "<nixpkgs>" -iA pkgs.clang
$ clang main.c -L /nix/../nix/store/2ankvagznq062x1gifpxwkk7fp3xwy63-xnu-2422.115.4/Library -o a.out
readlink: illegal option -- f
usage: readlink [-n] [file ...]
```

The key element is the `..` in the path supplied to the linker via a
`-L` flag. With this patch, the above invocation works correctly on
darwin, whose native `/usr/bin/readlink` does not support the `-f` flag.

The explicit path also ensures that the `grep` called by `cc-wrapper.sh`
is the one from Nix.

Fixes #6447
2016-01-19 17:47:11 -05:00
Vladimír Čunát
716aac2519 Merge branch 'staging' into closure-size 2016-01-19 09:55:31 +01:00
Vladimír Čunát
620c147cce Merge branch 'master' into staging 2016-01-18 09:48:49 +01:00
Dan Peebles
edaf46fb64 stdenv-darwin: add parent attribute to bootstrap
This makes it far easier than before to hit/test early stages of the
stdenv bootstrap.
2016-01-16 14:54:11 -05:00
Eelco Dolstra
81e530a749 Set SOURCE_DATE_EPOCH to latest source file
This provides a timestamp that's more useful than 1970-01-01 yet still
deterministic.
2016-01-05 17:21:48 +01:00
Eelco Dolstra
f31fbadac3 Set a fallback default value for SOURCE_DATE_EPOCH
This is used by some build tools to provide reproducible builds. See

  https://reproducible-builds.org/specs/source-date-epoch/

for more info.

Later, we'll want to set this to a more intelligent value (such as the
most recent mtime of any source file).
2016-01-05 17:21:48 +01:00
Vladimír Čunát
b1acaffe67 Merge branch 'master' into staging 2016-01-05 10:28:58 +01:00
Vladimír Čunát
7c879d342d Merge #10816: improve FreeBSD support 2016-01-05 09:50:10 +01:00
Vladimír Čunát
1ebff73b88 stdenv/setup.sh: don't skip post-hooks (close #12032)
So far if no configure script is found or no makefile,
the rest of the phase is skipped, *including* post-hooks.
I find that behavior unexpected/unintuitive.

Earlier version of this patch had problems due to me assuming
that $configureScript is always a simple path, but that turned out
to be false in many cases, e.g. perl.
2016-01-05 09:34:02 +01:00
Dan Peebles
0313b2e09c stdenv-darwin: allow easier testing of bootstrap tools
This un-hardcodes the bootstrap tools passed into the Darwin stdenv and
thus allows us to quickly iterate on improving the design of the full
bootstrap process. We can easily change the contents of the bootstrap
tools and evaluate an entire bootstrap all the way up to real packages.
2016-01-03 21:47:09 -05:00
Dan Peebles
88c41e1f95 stdenv-darwin: rename folder and associated attribute
No point in calling it pure-darwin anymore. It's the only stdenv we have
2016-01-03 21:08:40 -05:00
Dan Peebles
01b0b3cec0 stdenv-darwin: kill old impure Darwin stdenv
I'll be moving the other one over it next commit (I split it into two to
improve git's rename detection)
2016-01-03 21:06:24 -05:00
janus
072da541de FreeBSD: undo removal of Solaris and remove changes to native stdenv now that FreeBSD has its own 2016-01-01 17:01:13 +00:00
janus
3c8f0a92d3 FreeBSD: improve bootstrapping, re-enable bdb for heimdal 2016-01-01 17:01:13 +00:00
janus
55aa9163cc FreeBSD: minor fixes, add notes and make stdenv more robust 2016-01-01 17:01:13 +00:00
janus
a472d836f6 FreeBSD: apr-util, cyrus-sasl, berkeley db, glib, gnutls, kerberos, libelf-freebsd, openldap, serf, guile, tet, shishi, gawk, gnugrep 2016-01-01 17:01:13 +00:00
janus
9897b35661 FreeBSD: patch expat, kerberos, libedit, ossp-uuid, lz4, sharutils, add libelf-freebsd 2016-01-01 17:01:13 +00:00
janus
f351aaaf85 FreeBSD: use own stdenv, do not run libtiff tests, use PIC for zlib 2016-01-01 17:01:13 +00:00
janus
2d00f27230 FreeBSD: use clang37 2016-01-01 17:01:13 +00:00
janus
c01dbc4932 FreeBSD patches for GNU m4, stdenv, miniupnpc 2016-01-01 17:01:13 +00:00
Vladimír Čunát
f9f6f41bff Merge branch 'master' into closure-size
TODO: there was more significant refactoring of qtbase and plasma 5.5
on master, and I'm deferring pointing to correct outputs to later.
2015-12-31 09:53:02 +01:00
Dan Peebles
527f3574b7 stdenvBootstrapTools.x86_64-darwin: unbreak
This is blocking Hydra from updating the nixpkgs-unstable channel. Also
add myself as a maintainer so Hydra can notify me if it breaks again
2015-12-28 16:59:37 -05:00
Luca Bruno
5b0352a6a4 Merge branch 'master' into closure-size 2015-12-11 18:31:00 +01:00
Domen Kožar
781b9eab61 allow{reason}: a bit more explicit error message 2015-12-09 17:01:46 +01:00
Vladimír Čunát
263fd55d4b Merge recent staging built on Hydra
http://hydra.nixos.org/eval/1231884
Only Darwin jobs seem to be queued now,
but we can't afford to wait for that single build slave.
2015-12-05 11:11:51 +01:00
Luca Bruno
920b1d3591 Merge branch 'master' into closure-size 2015-11-29 16:50:26 +01:00