3
0
Fork 0
forked from mirrors/nixpkgs
Commit graph

1233 commits

Author SHA1 Message Date
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 1e6dfdf29c clang-wrapper: Remove explicit dependency on libc++
Now libc++ is just another build input propagated from clang-wrapper.
2014-09-24 17:55:05 +02:00
Eelco Dolstra 07f603f89e libc++: Use the right libc++abi re-export list
Also, remove the explicit -lc++abi flag from clang-wrapper. It's not
needed because libc++ re-exports the necessary symbols from libc++abi.
2014-09-24 16:39:36 +02:00
Eelco Dolstra ae18038c6d fixDarwinDylibNames: Use new hook mechanism 2014-09-24 16:12:49 +02:00
Eelco Dolstra 66dedaa6ee gcc-wrapper: Remove NIX_GCC_NEEDS_GREP
This is not needed on any currently supported platform.
2014-09-23 19:43:38 +02: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
Eelco Dolstra cd71f7a2e6 Merge branch 'darwin-stdenv' of github.com:joelteon/nixpkgs into staging
Conflicts:
	pkgs/development/interpreters/ruby/ruby-19.nix
	pkgs/development/libraries/libc++/default.nix
	pkgs/development/libraries/libc++abi/default.nix
	pkgs/tools/text/sgml/opensp/default.nix
2014-09-23 11:27:53 +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
Eelco Dolstra 552b105206 gcc-wrapper: Use a real date
Analogous to the fake timestamp in the Linux kernel build.
2014-09-15 09:26:41 +02:00
Gergely Risko e766f0b0d0 Fix __DATE__ and __TIME__ purification in gcc-wrapper 2014-09-14 22:33:48 +02:00
Vladimír Čunát d957b4bd78 Merge recent master into staging
Hydra nixpkgs: ?compare=1151601
2014-09-13 21:48:29 +02:00
Alexander Kjeldaas aa119e1106 gcc-wrapper: make __DATE__/__TIME__ deterministic
...when NIX_ENFORCE_PURITY=1.

@vcunat corrected the date according to docs.
https://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html
In order to handle the spaces well, the extraAfter array had to be
quoted more properly and appended by +=.
2014-09-13 15:32:34 +02:00
Joel Taylor 3e8344d334 suitable clang stdenv 2014-09-09 13:54:24 -07:00
Christoph Hrdinka 4f5b4ceb85 build-fhs-chrootenv: bind mount chroots /tmp to hosts /tmp 2014-09-09 12:10:54 +02:00
Vladimír Čunát 82797f98f2 Merge branch 'staging' into modular-stdenv
Conflicts:
	pkgs/development/interpreters/perl/5.10/setup-hook.sh
	pkgs/development/interpreters/perl/5.8/setup-hook.sh
	pkgs/stdenv/linux/default.nix
2014-09-08 18:24:58 +02:00
Vladimír Čunát 1e389c976c merge 'staging' into modular-stdenv
In 2c62a36b77 the messages in pkgs/stdenv/generic/default.nix
were not merged correctly.

Conflicts:
	pkgs/stdenv/generic/default.nix
2014-09-08 18:16: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
Vladimír Čunát e51f73652d Merge recent master into staging
Hydra: ?compare=1149952

Conflicts:
	nixos/doc/manual/configuration.xml (changed split file)
	nixos/modules/config/users-groups.nix (choosing filterNull instead of inline definition)
	pkgs/development/libraries/readline/readline6.3.nix (auto-solved)
2014-08-30 10:04:02 +02:00
aszlig 5e7a1cf955
build-support: Fix nix-prefetch-* on OS X.
Fixes a regression on OS X introduced by f83af95.

Don't use --tmpdir for mktemp, because that flag doesn't exist on OS X.
However, using -t is deprecated in GNU coreutils, so as suggested by
@ip1981 we're now using parameter expansion on ${TMPDIR:-/tmp} to
provide /tmp as a fallback if TMPDIR is not set and use it instead.

Also use this approach for nix-prefetch-cvs now in order to stay
consistent.

Reported-by: Vladimir Kirillov <proger@wilab.org.ua>
Tested-by: Igor Pashev <pashev.igor@gmail.com>
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-08-27 11:22:34 +02:00
aszlig f83af95f8a
build-support: Use mktemp -d in nix-prefetch-*.
Instead of relying on $$ to not collide with an existing path.

Quoting the Bash manual about $$:

> Expands to the process ID of the shell. In a () subshell, it expands
> to the process ID of the current shell, not the subshell.

So, this is different from $BASHPID:

> Expands to the process ID of the current bash process. This differs
> from $$ under certain circumstances, such as subshells that do not
> require bash to be re-initialized.

But even $BASHPID is prone to race conditions if the process IDs wrap
around, so to be on the safe side, we're using mktemp here.

Closes #3784.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-08-25 15:28:55 +02:00
Michael Raskin 8ba5e6fa24 Merge pull request #3650 from bennofs/prefetch-git-human-readable
prefetch-git: output human-readable rev to stderr
2014-08-23 13:05:55 +04:00
Vladimír Čunát d4e9fd2a90 Merge recent master into staging
Hydra: ?compare=1148749

Conflicts (easy):
	nixos/modules/virtualisation/containers.nix
2014-08-21 15:09:31 +02:00
Eelco Dolstra a0c60b76ec gcc: Revive the no-sys-dirs patch
For now, we don't NATIVE_SYSTEM_HEADER_DIR because it breaks the
build. However, it points to Glibc in the Nix store (not /usr/include)
so it's kind of okay.
2014-08-18 17:20:37 +02:00
Benno Fünfstück ce3e86702f prefetch-git: output human-readable rev to stderr
that way, the stdout stays compatible with nix-prefetch-{bzr,svn,hg}
2014-08-17 23:00:03 +02:00
Peter Simons 817c0e4144 cabal: enable multi-threaded builds with GHC 7.8.x or later
https://github.com/NixOS/nixpkgs/issues/3220
2014-08-17 00:20:12 +02:00
Peter Simons 462e067f45 cabal: cosmetic 2014-08-17 00:20:12 +02:00
Peter Simons a9fad50181 cabal: minor code re-factoring of shleavy's patch that allows building packages without a Setup.hs file
https://github.com/NixOS/nixpkgs/pull/3585
2014-08-17 00:20:12 +02:00
Shea Levy dc285e6895 cabal.mkDerivation: Use defaultMain if no Setup.{l,}hs exists.
This mirrors the default behaviour of cabal-install for the Simple build type
2014-08-16 00:13:14 -05:00
Patrick Mahoney d314461278 Add http mirror for postgresql. 2014-08-14 19:17:26 +02:00
Daniel Peebles a570251187 Make ant-build canonicalize the jars it produces so that we produce byte-for-byte identical jars (they normally contain timestamps and nondeterministic ordering of metadata lines) 2014-08-14 01:20:44 -04:00
Georges Dubus ca0b0a68e8 Fixed deterministicness of fetchgit with leaveDotGit
The shebang of .git/hooks depended the git's bash, which made the result
depend of that bash's path.
2014-08-10 16:25:29 +02:00
Eelco Dolstra 05e81e0d9f debian: Update to 6.0.10 2014-08-10 15:17:00 +02:00
Eelco Dolstra a8fc68a5c0 Move share/{man,info,doc} to the corresponding output 2014-08-09 12:47:05 +02:00
Eelco Dolstra 9e31c66d1b stdenv: Put moving docs to $out/share in a separate setup hook 2014-08-09 12:47:05 +02:00
Eelco Dolstra e3f7dbbac8 Cleanup: Use += to append to envHooks 2014-08-09 12:47:05 +02:00
Eelco Dolstra 2def8e7499 Remove addHook
Just use bash arrays directly. I.e.

  addHook preConfigure myPreConfigure

is now

  preConfigureHooks+=(myPreConfigure)
2014-08-09 12:45:53 +02:00
Eelco Dolstra 15103e5e5f stdenv: Remove the special handling of gcc
Now gcc is just another build input, making it possible in the future
to have a stdenv that doesn't depend on a C compiler. This is very
useful on NixOS, since it would allow trivial builders like
writeTextFile to work without pulling in the C compiler.
2014-08-09 12:44:50 +02:00
Eelco Dolstra 1a44dbbbb9 unpackFile: Always copy directories
If $src refers to a directory, then always copy it. Previously, we
checked the extension first, so if the directory had an extension like
.tar, unpackPhase would fail.
2014-08-09 12:44:49 +02:00
Eelco Dolstra 5e82aab5d4 Drop redundant space 2014-08-09 12:44:49 +02:00
Eelco Dolstra daa66b8b1c Factor out fixup phase stuff into separate setup hooks 2014-08-09 12:44:49 +02:00
Georges Dubus f4fbcddd44 fetchgit: make deterministic with leaveDotGit (close #3392)
There was a few files containing timestamp, so we now remove them.

It shouldn't be a problem for logs. However, index might be. Anyway,
that's better than nothing.
2014-08-08 21:51:29 +02:00
Vladimír Čunát 52d9c93abe Merge 'staging' into master 2014-08-08 20:13:23 +02:00
Eelco Dolstra 940eb8bfc1 debBuild: Allow setting the package name and overriding the install command 2014-08-08 14:15:43 +02:00
Peter Simons b76a7504bb cabal: cosmetic fix to syntax highlighting in Emacs 2014-08-04 12:39:11 +02:00
Eelco Dolstra 7f410ef923 Merge remote-tracking branch 'origin/master' into staging
Conflicts:
	pkgs/misc/vim-plugins/default.nix
2014-07-22 11:00:00 +02:00
Michael Raskin c38a11316d Filter out broken-completely links 2014-07-18 17:42:00 +04:00
Shea Levy b969e9340b Separate fetchgitPrivate into a separate file 2014-07-16 18:05:56 -04:00
Eelco Dolstra ff97b7dbe6 Merge remote-tracking branch 'origin/master' into staging 2014-07-14 17:04:55 +02:00
Shea Levy b57bc220cc Merge branch 'master' of git://github.com/ip1981/nixpkgs
Added quilt-0.63
2014-07-14 10:26:39 -04:00
Igor Pashev 26f47ba388 Fixed main Savannah mirror directory 2014-07-14 15:39:08 +02:00
Eelco Dolstra 1245ca3ff7 debian: Update to 7.6 2014-07-14 14:35:09 +02:00
Peter Simons 5c677f7117 cabal: cosmetic 2014-07-12 15:13:58 +02:00
Florian Friesdorf 84030ee1f0 buildEnv to support passthru 2014-07-10 16:41:02 +02:00
Justin Bedo 0a12a50b11 Removed CRAN mirror that was incorrectly handling 404 errors, causing
builder to abort.
2014-07-08 11:00:41 +10:00
Eelco Dolstra 95b828de42 Merge remote-tracking branch 'origin/master' into staging 2014-07-07 13:16:26 +02:00
Shea Levy 90bfde59f8 Simplify php-packages.nix 2014-07-03 11:01:19 -04:00
Shea Levy 2fe4eb3df9 Make php packages available in nix-env 2014-07-03 10:19:57 -04:00
Eelco Dolstra a4f9b9c8b5 Partially merge gcc-wrapper and clang-wrapper
Having a separate clang-wrapper is really unfortunate because it
means that we'll forever forget to apply changes to both (e.g.
commit 289895fe2c). This commit
gets rid of the redundant copies of ld-wrapper.sh and utils.sh.
2014-07-02 20:10:40 +02:00
Eelco Dolstra 289895fe2c Fix SNAFU using $NIX_LDFLAGS_AFTER 2014-07-02 14:55:44 +02:00
Eelco Dolstra 0d8014f6fc Darwin: Search for libraries in $sdk/usr/lib
This required adding a new environment variable NIX_LDFLAGS_AFTER
that ensures that the -L.../usr/lib flag happens last.
2014-07-01 15:56:09 +02:00
Eelco Dolstra 06fc1ec34d Merge remote-tracking branch 'origin/master' into staging
Conflicts:
	pkgs/servers/serfdom/default.nix
2014-07-01 11:25:41 +02:00
Michael Raskin 8ed1aeb712 Fix default tarball mask 2014-07-01 12:08:07 +04:00
Michael Raskin 0fcee20522 Allow pure-meta updates to specify tarball regexp 2014-07-01 11:54:09 +04:00
Michael Raskin 2e12709a26 Allow update-walker to run directly from meta attributes 2014-07-01 11:54:09 +04:00
Eelco Dolstra 7fe89be146 gcc: Fix purity
Somewhere the no-sys-dirs.patch got disabled, so gcc was looking in
/usr/local/include and /usr/lib. Since I can't fix the patch easily,
I've borrowed the --sysroot trick from clang-wrapper. This causes
builtin paths to be prefixed with /var/empty
(e.g. /var/empty/usr/lib), which don't exist.
2014-06-30 16:43:02 +02:00
Eelco Dolstra 40f7b0f9df Another attempt to eradicate ensureDir
See c556a6ea46.
2014-06-30 14:56:10 +02:00
Michael Raskin d41a7bd9e2 Merge pull request #2871 from auntieNeo/kochi-substitute
Added Kochi substitute Japanese font package
2014-06-30 10:14:14 +04:00
Alexander Kjeldaas 81172a77e6 Document paths-from-graph.pl somewhat. 2014-06-28 20:44:22 -05:00
Austin Seipp 4f933af158 Merge pull request #3116 from bennofs/cabal-hackage-mirror
cabal-builder: Use hackage mirror
2014-06-28 20:35:12 -05:00
Benno Fünfstück e10001042d fetchbzr, fetchdarcs, fetchhg: use rev attr
This makes it match the behaviour of fetchgit and fetchsvn, so it's
easier to write scripts that support all of them.
2014-06-28 21:06:10 +02:00
Benno Fünfstück c052d7297b cabal-builder: Use hackage mirror
It's now possible to use the mirror system for the cabal builder.
2014-06-28 20:01:40 +02:00
Michael Raskin 1b0b0c4257 Allow selection of named SF dirs 2014-06-27 16:33:45 +04:00
John Wiegley f41b446e49 Merge pull request #3073 from tailhook/git-describe-in-prefetch
Print output of `git describe` in `nix-prefetch-git`
2014-06-24 15:18:48 -07:00
John Wiegley 29a6f1cc78 Merge pull request #3037 from cstrahan/extra-fetchers
add nix-prefetch-zip
2014-06-24 15:17:49 -07:00
Paul Colomiets c1e24abfef Print output of git describe in nix-prefetch-git
I hope it will help make git-packages' versions much nicer

It's usually only useful in --deepClone is also specified.
2014-06-25 01:12:10 +03:00
Charles Strahan 9bd8dffd77 require gnused for all prefetch scripts 2014-06-23 01:25:40 -04:00
Austin Seipp 0399c5ee24 grsecurity: update stable/testing kernels, refactoring
This updates the new stable kernel to 3.14, and the new testing kernel
to 3.15.

This also removes the vserver kernel, since it's probably not nearly as
used.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2014-06-22 22:29:10 -05:00
Benno Fünfstück 7ac13c40ab Add hackage mirror to mirrors.nix 2014-06-21 20:15:45 +02:00
Michael Raskin 258040a939 Add a function to overwrite just the version and sha256 by grepping them 2014-06-13 13:37:12 +04:00
Michael Raskin c5f019e9a0 Merge pull request #2063 from redbaron/libmsgpack
Proper separation between build and runtime outputs
2014-06-12 13:05:40 +04:00
Benno Fünfstück 063efadd69 nix-prefetch-{bzr,hg,svn}: print fetched revision 2014-06-11 14:42:39 +02:00