Commit graph

1189 commits

Author SHA1 Message Date
Peter Simons
44273088ad cabal: enable multi-threaded builds with GHC 7.8.x or later for executables
Multi-threaded builds exacerbate the non-determinism in ghc package ids, which
is a serious problem for libraries. Packages that define only executables,
however, should be safe to  build with parallelism enabled.
2014-11-07 23:22:27 +01:00
Peter Simons
40bb2781ee cabal: add "-hidir $TMPDIR" parameter to ghc call that compiles Setup.hs
Packages that don't have a Setup.hs file get to use a default version that
lives in the Nix store. By default ghc tries to put the Setup.o and Setup.hi
files in the same directory as the source file, which isn't writable. This
leads to build errors [1]. Thus, we re-direct those paths to a build-local
writable location: $TMPDIR.

Arguably, we could also use "." or copy the /nix/store/deadbeef-Setup.hs file
into the local source directory before compiling, which would work fine, too.

[1] https://github.com/NixOS/nixpkgs/issues/4851
2014-11-07 23:22:25 +01:00
Joachim Fasting
71a443c1b2 Add mirrors for sage 2014-11-03 23:04:44 +01:00
Bjørn Forsman
96cacf01bf nix-prefetch-git: run single-threaded 'git repack'
Without this, the generated pack files are non-deterministic.

I didn't notice this issue in my earlier testing, because my test repo
had too few commits for the thread scheduling to take effect. (Test repo
had about 10 commits.)
2014-11-03 22:52:57 +01:00
Bjørn Forsman
53614cf1a7 nix-prefetch-git: fix determinism with leaveDotGit
Add more files to the delete list:

 * .git/FETCH_HEAD
 * .git/ORIG_HEAD
 * .git/refs/remotes/origin/HEAD
 * .git/config

Further, remove all remote branches, remove tags not reachable from the
given 'rev', do a full repack and then garbage collect unreferenced
objects.

According to my testing, the result is fully deterministic. As in "any
change done to the upstream repo, ahead of 'rev', will not affect the
hash of the resulting 'clone'". Even changing the clone URL will not
change the output hash, because .git/config is removed.

A new version of git can of course change store format, but that's
unavoidable.

For big repositories, the repack operation may be a bit heavy. But as
far as I can see there is no cheaper way to determinism.
2014-11-02 13:15:33 +01:00
Bjørn Forsman
faaa8a6acf nix-prefetch-git: remove unneeded semicolons
Shell isn't Perl ;-)
2014-11-01 15:17:11 +01:00
Bjørn Forsman
8ec8358724 nix-prefetch-git: whitespace cleanup
Use 4 spaces per indent level instead of a mix of 2 spaces, 4 spaces and
hardtab. (According to nixpkgs coding style for shell scripts.)
2014-11-01 13:47:37 +01:00
Moritz Ulrich
cdd2dd70aa Merge remote-tracking branch 'refs/remotes/origin/master' into chicken-eggs 2014-10-27 01:14:13 +01:00
Raffael Mancini
3ee2ca1d21 Added an up-to-date http debian mirror for those without ftp access. 2014-10-25 17:10:22 +02:00
Edward Tjörnhammar
a5af1c228e Adding fetchurl mirrors for roy marples projects(dhcpcd, openresolv) 2014-10-23 19:45:33 +02:00
Ricardo M. Correia
cb95ac1352 Merge pull request #4609 from alexanderkjeldaas/updated-grsec
Updated grsec.
2014-10-22 16:37:21 +02:00
Chris Double
40791a4ec5 Fix build-fhs-chrootenv mount script 2014-10-22 10:39:17 +02:00
Alexander Kjeldaas
005bb796e6 Updated grsec. 2014-10-22 02:18:41 +02:00
Peter Simons
bddf342631 Patch 7a20d76 failed when the Haskell expression lacked a meta attribute. This commit fixes that issue. 2014-10-22 00:23:12 +02:00
Peter Simons
7a20d76482 Disable all Haskell builds for Darwin on Hydra.
Hydra generates a GHC closure for Darwin that for no apparent reason
contains an ancient, broken Haddock binary -- probably because of an
impurity in the build system. That bug makes those GHC binaries
unusable: <https://github.com/NixOS/nixpkgs/issues/2689>.
2014-10-21 23:54:51 +02:00
Shea Levy
3fe41ca763 Debain 7.6-amd64 tarball was updated in place 2014-10-20 15:26:51 -04:00
Shea Levy
652030e85d debian packages tarball was updated in place 2014-10-20 15:23:44 -04:00
Shea Levy
a3ffe238e7 Revert "cabal: enable multi-threaded builds with GHC 7.8.x or later"
This likely exacerbates the non-determinism in ghc package ids, so until
that is fixed let's live with the slow builds.

This reverts commit 817c0e4144.
2014-10-16 13:17:30 -04:00
Nikolay Amiantov
09f33a4389 substituteAllFiles: add derivation
Closes #4145
2014-10-16 15:27:25 +01:00
Moritz Ulrich
e47428d0e2 Infrastructure to build chicken eggs. 2014-10-13 23:29:27 +02:00
Aristid Breitkreuz
5c0816567d fix fetchurl 2014-10-05 19:23:27 +02:00
Domen Kožar
d6b7778753 fetchurl: fix mirroring after ecf5a08831 2014-10-05 09:53:18 +02:00
Domen Kožar
ecf5a08831 Merge pull request #4350 from NixOS/curl_partial_download
fetchurl: resume download of curl exits with status code 18
2014-10-03 10:29:27 +02:00
Daniel Peebles
c55c435ade Add Apple command-line tools
Closes #4365
2014-10-02 06:50:09 +01:00
Domen Kožar
fd48e801d2 fetchurl: resume download of curl exits with status code 18 2014-10-01 13:58:42 +02:00
Daniel Peebles
0e9cf136af A simple ADC downloader for upcoming darwin awesomeness
Closes #4327
2014-10-01 02:10:31 +01:00
Russell O'Connor
94c6af494a Exponentially reduce computation time needed for replace-dependency by using memoization.
This patch makes two changes.

(1) It memoizes the computation of dependsOnOld.
(2) It replaces rewrittenDerivations with a similar memoized table rewriteMemo.

This prevents the entire tree of run-time dependencies from being traversed and instead only traverses the graph of run-time dependencies.
In the case of deep dependency changes (such as changing one's bash version for an entire NixOS system) this can lead to an exponential speedup in processing time
because shared dependencies are no longer traversed multiple times.

This patch isn't quite derivation-per-derivation equivalent to the original computation.
There are two immaterial differences.

(1) The previous version would always call upon sed to replace oldDependency with newDependency even when the store object being updated doesn't directly depend on
oldDependency.
The new version only replaceds oldDependency with newDependency when the store object being updated actually directly depends on oldDependency (which means there is
actually a hash to replace).
(2) The previous version would list the old store object as a source input of the new store object, *except* for the root derivation being updated.  Because the
root derivation being updated has its actual derivation avaiable the previous verions would make the updated root derivation depend on the old derivation as a
derivation input instead of a source input.
The new version always lists the old store object as a source input, including the root derivation.
2014-09-28 09:39:39 -04:00
Eelco Dolstra
91fa55e702 Remove references to <nixpkgs>
Nixpkgs should not use <nixpkgs> to refer to itself, because $NIX_PATH
might not be set or not point to the same Nixpkgs. It's also
unnecessary.
2014-09-23 15:48:15 +02:00
Mathijs Kwik
e80cbedbae VM builds: Use default kernel
(this was set to 3.10 when 3.4 was our default)
See commit d846e97656.
2014-09-23 09:17:01 +02:00
Christoph Hrdinka
4f5b4ceb85 build-fhs-chrootenv: bind mount chroots /tmp to hosts /tmp 2014-09-09 12:10:54 +02:00
Ricardo M. Correia
238a84ac78 grsecurity: Update stable and test patches
stable: 3.0-3.14.17-201408260041 -> 3.0-3.14.18-201409060013
test:   3.0-3.15.10-201408212335 -> 3.0-3.16.2-201409060014
2014-09-08 15:16:38 +02:00
Eelco Dolstra
585983bc95 Merge remote-tracking branch 'origin/staging'
Conflicts:
	pkgs/applications/version-management/subversion/default.nix
2014-09-08 11:42:09 +02:00
Vladimír Čunát
06fea81c6e Merge recent master into staging
Hydra: ?compare=1150594
2014-09-06 16:52:45 +02:00
Christoph Hrdinka
573aa18e9f steam: fix extraBuildCommandsMulti on i686 2014-09-06 00:25:49 +02:00
Christoph Hrdinka
c376b1afa0 build-fhs-chrootenv: fix gcc libs on i686 2014-09-06 00:25:49 +02:00
Christoph Hrdinka
64f873461f build-fhs-chrootenv: fix gcc libs on x86 2014-09-06 00:25:49 +02:00
Christoph Hrdinka
2d912e29d5 build-fhs-chrootenv: fix gcc_multi paths 2014-09-06 00:25:49 +02:00
Christoph Hrdinka
72b1f874ef buildFHSChrootEnv: fix merge error 2014-09-06 00:25:48 +02:00
Christoph Hrdinka
c5f51039f4 steam: fix steam on x86_64 2014-09-06 00:25:48 +02:00
Eelco Dolstra
7e744041f3 rpm-closure.pl: Reduce verbosity 2014-09-05 12:37:07 +02:00
Peter Simons
ca931e0e1e Merge pull request #3915 from Fuuzetsu/agda-builder
RFC: Agda builder
2014-09-04 11:28:47 +02:00
Michael Raskin
46cdc2e017 Allow git checkouts to have custom name 2014-09-03 21:54:25 +04:00
Michael Raskin
76f4eb5f93 Revert "python-wrapper: fix wrapped argv[0] w/o sed, maybe"
This reverts commit a6dd9bd0cb.
2014-09-02 20:45:41 +04:00
Michael Raskin
af4c369d0a Revert "Create wrapper directory outside of /bin/ for FHS chroots to be closer to FHS"
This reverts commit 9deb7f8aae.
2014-09-02 20:17:55 +04:00
Eelco Dolstra
715943a6fb ld-wrapper: Put back the --sysroot filter
We still need this because some clang-based packages depend on
it. (The sysroot filtering was originally done by clang-wrapper's
ld-wrapper, but we merged the ld-wrappers in
a4f9b9c8b5ec9ef106671ffdf93e0059835d0ec1.)

http://hydra.nixos.org/build/13906922
2014-09-02 13:18:03 +02:00
Peter Simons
1c0d15b90e Merge branch 'origin/master' into staging.
Conflicts:
	pkgs/development/libraries/ffmpeg/2.x.nix
	pkgs/development/libraries/serf/default.nix
2014-09-02 12:31:03 +02:00
Michael Raskin
5addaeb74f More support for SF.net in auto-updater 2014-09-02 14:25:16 +04:00
Michael Raskin
9deb7f8aae Create wrapper directory outside of /bin/ for FHS chroots to be closer to FHS 2014-09-02 01:45:15 +04:00
tv@shackspace.de
a6dd9bd0cb python-wrapper: fix wrapped argv[0] w/o sed, maybe 2014-09-02 01:31:49 +04:00
Mateusz Kowalczyk
d54b62ca60 Add a builder for Agda packages. 2014-09-01 01:05:48 +01:00