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