Commit graph

1086 commits

Author SHA1 Message Date
Tuomas Tynkkynen 6b42f9f4be Merge commit 'bde820' from staging
http://hydra.nixos.org/eval/1252653 - only ~9400 packages to go at the
time of writing this.
2016-04-06 01:18:28 +03:00
Charles Strahan bde82098b8 stdenv: don't complain about configure script not existing
Close #14335.
Since 89036ef76a, when a package doesn't include a configure script,
the build complains with:

    grep: : No such file or directory
    grep: : No such file or directory

This prevents that.
2016-04-02 20:52:19 +02:00
Eelco Dolstra 13a1c7b8c1 useOldCXXAbi: Change into a setup hook
Stdenv adapters considered weird.
2016-04-01 13:36:59 +02:00
Vladimír Čunát ab15a62c68 Merge branch 'master' into closure-size
Beware that stdenv doesn't build. It seems something more will be needed
than just resolution of merge conflicts.
2016-04-01 10:06:01 +02:00
Nikolay Amiantov 9134f9358a stdenvAdapters.useOldCXXAbi: add new adapter 2016-03-31 19:52:33 +03:00
Domen Kožar b07e7bfc7b Merge remote-tracking branch 'origin/staging' 2016-03-27 13:19:04 +01:00
Nikolay Amiantov 0c6db0ca48 cc-wrapper: add option to skip flags for native optimizations 2016-03-24 20:16:17 +03:00
Eelco Dolstra 7fc24dfd21 stdenv-darwin: Fix dependency on bootstrapTools
Commit 2040a9ac57 changed the order of
$PATH elements, causing initialpath to appear after buildInputs. Thus
gnugrep ended up depending on bin/sh from bootstrapTools, rather than
from pkgs.bash. The fix is to provide pkgs.bash via buildInputs rather
than initialPath.

http://hydra.nixos.org/build/33276697
2016-03-23 18:15:16 +01:00
Tuomas Tynkkynen cdef1cdd38 ARM stdenv: Update bootstrap tools
For some reason, the current bootstrap tools fail to build gettext:

init2.c:37: MPFR assertion failed: (64 - 0) == ((64 - 0)/8) * 8 && sizeof(mp_limb_t) == ((64 - 0)/8)
libxml/xpath.c: In function 'xmlXPathCompPathExpr':
libxml/xpath.c:10627:1: internal compiler error: Aborted
 xmlXPathCompPathExpr(xmlXPathParserContextPtr ctxt) {
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[5]: *** [libxml/libxml_rpl_la-xpath.lo] Error 1

I didn't investigate why this is the case but rebuilding the bootstrap
tools seems to help.

I used this old-ish WIP branch https://github.com/dezgeg/nixpkgs/commits/arm-bootstrap
since latest master has even more problems with cross-compiling anything.
(I will eventually push this stuff and make the ARM bootstraps build on hydra.)
2016-03-17 15:59:04 +02:00
Vladimír Čunát c643ccaa8c Merge #13950: move ncurses utilities to $out 2016-03-16 08:39:37 +01:00
Tim Cuthbertson d05a3cd763 stdenv: don't overwrite $NIX_ENFORCE_PURITY setting
Close #13583.
2016-03-13 21:09:41 +01:00
Nicolas B. Pierron 6313a5698a Replace references to all-packages.nix, by references to the top-level of nixpkgs repository. 2016-03-13 18:25:52 +00:00
Thomas Tuegel 2667e4f5d7 make-bootstrap-tools: fix evaluation error on Darwin 2016-03-11 10:30:28 -06:00
Eelco Dolstra dd53c65dcc Merge remote-tracking branch 'origin/gcc-5' into staging
Still some breakage but no blockers:

http://hydra.nixos.org/eval/1242130?filter=x86_64-linux&compare=1237852&full=#tabs-now-fail
2016-03-11 16:02:38 +01:00
Eelco Dolstra 2af1cb3aa6 Merge remote-tracking branch 'origin/binutils-2.26' into staging
This still breaks a few packages, but nothing really major:

  http://hydra.nixos.org/eval/1241850?filter=x86_64-linux&compare=1237919&full=#tabs-now-fail
2016-03-11 11:58:49 +01:00
Thomas Tuegel 3ef7671cea ncurses: combine $lib and $out outputs
The $lib output refers to the terminfo database in $out, which is about
10x larger than the ncurses shared library. Splitting these outputs
saves a small amount of space for any derivations that use the terminfo
database but not the ncurses library, but we do not have evidence that
any such exist.
2016-03-08 11:35:24 -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
Tuomas Tynkkynen ad47355786 Merge remote-tracking branch 'upstream/master' into staging 2016-03-06 11:48:57 +02:00
Eelco Dolstra a6d19c28f1 Don't apply patchelf to itself
Since patchelf 0.8 rewrites binaries in place, this causes a bus
error.
2016-03-03 13:57:45 +01:00
Vladimír Čunát 5702bc3b55 make-bootstrap-tools: fix #13629: glibc problems
On x86_64-linux glibc started to use linker scripts more extensively.

(cherry picked from commit aa564c9ed0)
2016-03-03 13:57:45 +01:00
Eelco Dolstra 639d7409f2 Move testBootstrapTools to make-bootstrap-tools.nix 2016-03-03 13:57:45 +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 c388380bb4 Switch to GCC 5 2016-02-28 17:54:11 +01:00
Eelco Dolstra 2040a9ac57 stdenv-linux: Ensure binutils comes before bootstrapTools in $PATH
Otherwise, when building glibc and other packages, the "strip" from
bootstrapTools is used, which doesn't recognise some tags produced by
the newer "ld" from binutils.
2016-02-28 01:13:15 +01:00
Eelco Dolstra 559ecc9212 stdenv-linux: Avoid building m4/bison twice 2016-02-28 01:12:58 +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
Profpatsch ee07543ccd stdenv: licenseAllowed -> checkValidity
Rename and make it a true function (that can be re-used and could be
moved to the library).
2015-11-27 21:56:28 +01:00
Jude Taylor f5609a4d2a reintroduce impure host deps to all derivations 2015-11-21 15:51:48 -08:00
Jude Taylor 69e7f3bb74 switch to zero underscores for sandbox profiles; remove generateFrameworkProfile 2015-11-21 12:10:33 -08:00
Jude Taylor a63346e33c use single underscore for sandboxProfile 2015-11-21 11:17:30 -08:00
Vladimír Čunát 333d69a5f0 Merge staging into closure-size
The most complex problems were from dealing with switches reverted in
the meantime (gcc5, gmp6, ncurses6).
It's likely that darwin is (still) broken nontrivially.
2015-11-20 14:32:58 +01:00
Jude Taylor 131e831cb9 allow networking by default and remove it from derivations 2015-11-19 11:31:06 -08:00
Jude Taylor 163acc0efa remove useless muting lines; they interfere with debugging 2015-11-19 11:31:06 -08:00
Jude Taylor df80090d09 use per-derivation sandbox profiles 2015-11-19 11:31:06 -08:00
Jude Taylor 914e9baefe start on sandbox stuff 2015-11-19 11:31:06 -08:00
Wout Mertens 774f74b875 Don't fail if env-vars cannot be written to
env-vars is a debugging aid, see
3e5dbb2433
for a rationale for this change.
2015-11-04 16:32:59 +01:00
William A. Kennington III dd2de66d61 Merge branch 'master.upstream' into staging.upstream 2015-10-30 17:16:07 -07:00
Eelco Dolstra 971430f623 Move stdenv-darwin bootstrap binaries to nixos.org
These are taken from http://hydra.nixos.org/build/27002702.
2015-10-29 22:16:06 +01:00
Jude Taylor 85ba0035bd rebase on eelco's bootstrap-tools changes 2015-10-23 10:27:34 -07:00
Jude Taylor 1ddc52a782 update pure-darwin make-bootstrap-tools 2015-10-23 10:05:19 -07:00
Eelco Dolstra 45c7dd7d98 Add stdenv bootstrap tools generation to release.nix 2015-10-23 13:05:36 +02:00
Vladimír Čunát 4917a4f8b3 Merge master into staging 2015-10-23 01:57:14 +02:00
Eelco Dolstra 764a523cf9 Drop unnecessary __impureHostDeps
<nix/fetchurl.nix> is a builtin derivation so it shouldn't need any
host dependencies.
2015-10-21 15:16:45 +02:00
Jude Taylor c7cc743b52 inherit system for builtin fetchurl in PD 2015-10-15 18:08:53 -07:00
Jude Taylor c70ec3ec63 re-fix evaluation of libSystemClosure 2015-10-15 17:19:10 -07:00
Jude Taylor 9685b08db7 fix libSystemClosure on non-darwin machines 2015-10-15 14:09:30 -07:00
William A. Kennington III 8a44a36ca4 Merge branch 'master.upstream' into staging.upstream 2015-10-15 10:22:28 -07:00
Jude Taylor f4dbf6d7c8 Merge pull request #10187 from NixOS/switch-to-pd
Switch stdenvs to pure-darwin
2015-10-14 16:13:25 -07:00
Vladimír Čunát 99e4371526 curl: split into multiple outputs
Also use pkgconfig to be safer and fix (some) referrers.
2015-10-13 20:18:48 +02:00
Vladimír Čunát 17a3f6a6fa icu: split into multiple outputs 2015-10-13 20:18:44 +02:00
Eelco Dolstra 741bf840da Revert "Merge pull request #9543 from NixOS/staging.post-15.06"
This reverts commit f61176c539, reversing
changes made to a27ca029ee.

Conflicts:
	pkgs/development/libraries/ncurses/default.nix
2015-10-06 15:24:20 +02:00
Jude Taylor 7283bb7466 introduce separate cf-private package to account for no CLT 2015-10-06 00:11:10 -07:00
Jude Taylor 0a32eab91e fix LLVM packages to work in darwin stdenv 2015-10-05 08:46:56 -07:00
Vladimír Čunát f361938b21 Merge staging into closure-size
This makes gcc5 the default builder, etc.
2015-10-03 15:23:13 +02:00
Vladimír Čunát 5227fb1dd5 Merge commit staging+systemd into closure-size
Many non-conflict problems weren't (fully) resolved in this commit yet.
2015-10-03 13:33:37 +02:00
William A. Kennington III ed71860928 Merge branch 'staging.upstream' into staging.post-15.06 2015-10-02 12:41:04 -07:00