Commit Graph

1340 Commits

Author SHA1 Message Date
Shea Levy
9949d0255e Merge branch 'make-the-kernel-build-repeatable' of git://github.com/alexanderkjeldaas/nixpkgs
Make the kernel build and initrd generation binary repeatable (#2128)
2014-04-06 17:02:16 -04:00
Alexander Kjeldaas
f67015cae4 Make initrd and the kernel builds repeatable. 2014-04-05 08:41:06 +02:00
Vladimír Čunát
1ed628acb2 gcc-wrapper: don't fail when cpp doesn't exist
This is fixup for 1d3917bb #1820. Gnatboot doesn't have cpp.
2014-04-02 19:07:58 +02:00
Vladimír Čunát
de11c288c1 gcc-wrapper: preferLocalBuild, as it does little work
This is re-revert of e31523a369.
2014-04-02 19:05:57 +02:00
Bjørn Forsman
25f0b7cb50 gcc-{,cross-}wrapper: add 'cpp' wrapper (close #1820)
The gcc-wrapper doesn't wrap 'cpp'. This breaks some software (such as
Buildroot) because the 'cpp' they get come from the non-wrapped gcc
package which doesn't know about any standard include paths.

gcc-cross-wrapper is untested.
2014-04-02 19:05:57 +02:00
Peter Simons
903df21f65 Merge pull request #2010 from ambrop72/fetchgit-no-submodules
fetchgit: Implement option to not check out submodules.
2014-03-26 11:11:25 +01:00
ambrop7@gmail.com
3a765a7309 fetchgit: Implement option to not check out submodules. 2014-03-25 20:03:55 +01:00
Shea Levy
d4c711ee1d Add memcache php module 2014-03-24 08:37:36 -04:00
Shea Levy
e07b58fee3 Merge branch 'pkgs/build-support/writeTextDir' of git://github.com/offlinehacker/nixpkgs
build-support: Add writeTextDir
2014-03-23 20:50:14 -04:00
Jaka Hudoklin
7c2d00aefd build-support: Add writeTextDir
This `writeTextFile` based helper function is especially usefull for writing a
bunch of configuration files to root of the output folder
2014-03-23 10:05:38 +00:00
Eelco Dolstra
f73ff0529e runInLinuxVM: Set the clock properly 2014-03-18 15:02:09 +01:00
Shea Levy
a330e244ad Revert "Merge branch 'nix-run' of git://github.com/rickynils/nixpkgs"
nix-run's functionality is subsumed by nix-shell -p.

This reverts commit 3cc2b243c7, reversing
changes made to 4d5d6aed29.
2014-03-15 08:15:22 -04:00
Shea Levy
3cc2b243c7 Merge branch 'nix-run' of git://github.com/rickynils/nixpkgs
Add nix-run and myEnvRun
2014-03-14 18:52:50 -04:00
aszlig
b25ac9ea55
gcc-cross-wrapper: Revert adding LD program name.
This reverts commit c5ab2bfd25.

As mentioned in the previous commit, this is now no longer needed.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:58:55 +01:00
aszlig
c7bac81c66
Merge 'mingw-w64' and 'darwin' into cross-win-osx.
Both branches have quite a lot in common, so it's time for a merge and
do the cleanups with respect to both implementations and also generalize
both implementations as much as possible.

This also closes #1876.

Conflicts:
	pkgs/development/interpreters/lua-5/5.2.nix
	pkgs/development/libraries/SDL/default.nix
	pkgs/development/libraries/glew/default.nix
	pkgs/top-level/all-packages.nix
2014-03-12 10:16:51 +01:00
aszlig
2d17335f68
gcc-cross-wrapper: Allow to pass US X min version.
This allows to pass a new attribute osxMinVersion to crossSystem, which
specifies the minimum Mac OS X version you want to be compatible to.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-12 10:00:47 +01:00
Vladimír Čunát
9d4a3f83e8 Merge pull request #1869 from lovek323/texlive-full
texLiveFull: fix build on Darwin
2014-03-08 08:12:04 +01:00
aszlig
bd2d120c08
vm/windows: Allow to specify a different arch.
So far, we determined this based on stdenv.is64bit, but there are cases
where you want to run/build a 32bit program on a 64 bit Windows.

This is now possible, by passing windowsImage.arch = "i686" | "x86_64"
to runInWindowsVM. Based an what was passed, the corresponding Cygwin
packages and setup.exe are bootstrapped.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-04 09:22:18 +01:00
aszlig
e86ffa08b7
vm/windows: Update SHAs for Cygwin setup.ini.
Another very annoying part. Unfortunately, the only option we might have
here is to include it in nixpkgs or maybe make a fixed Hash on the
result of the closure fetcher.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-03 23:37:41 +01:00
aszlig
5bd52771ba
vm/windows: Replace binary with cross cygwinSetup.
As the official Cygwin setup binary download doesn't come in snapshots
or even versioned, the fetchurl of setup.exe will frequently fail, which
in turn will annoy us as hell (or at least me).

One warning though: The fetchurl is currently broken and the cross-build
might not work yet for example on mingw32 (mingw-w64 branch on its way),
but the upstream URL has already changed and the new version contains a
bug (not yet tracked down) which breaks our Windows bootstrap process.

So to conclude: If it's already broken, make it at least "less broken".

"Not broken" is coming soon with the merge of the mingw-w64 branch.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-03 23:21:34 +01:00
aszlig
40635ed343
vm/windows: Remove stray "import <nixpkgs>".
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-03 22:45:14 +01:00
aszlig
ca8cdcda06
vm/windows: Fix typo in runInWindowsVM.
Coincidentally, even with this typo, most tests work anyway, so I didn't
notice it in the first place.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-03 22:42:10 +01:00
Eelco Dolstra
497997cc38 Move generation of coverage reports from nixos/lib/testing to releaseTools
Also, turn some stdenv adapters into setup hooks.
2014-03-03 13:57:08 +01:00
Jason "Don" O'Conal
a577082e5e re-enable au debian mirror 2014-03-03 21:57:38 +11:00
aszlig
c5ab2bfd25
gcc-cross-wrapper: Explicitly add LD program name.
This is because autoconf is passing -print-prog-name=ld to the
cross-gcc, which in turn assumes a FHS compliant filesystem hierarchy
and searches ../../../../$crossConfig/bin/ld for the correct ld.

Of course, this won't work on Nix, hence we're explicitly passing the
correct LD program name.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-27 18:28:32 +01:00
aszlig
88ea17284e
vmTools: Hook in runInWindowsVM function.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 06:21:48 +01:00
aszlig
895a683d39
vm/windows: Add setup.ini for 32bit architecture.
Also update 64bit setup.ini and check whether we have a 64 bit stdenv in
order to choose the proper Cygwin version. Otherwise we now have the
setup.ini for 32bit available as well.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 06:20:24 +01:00
aszlig
623f1940c0
vm/windows: Make list of dependencies explicit.
So far, the VMs have always been using the native architecture, because
it was reimporting <nixpkgs> several times. Now, we propagate a list of
packages down to all sub-imports, which not only makes clearer which
dependencies a part actually has, but also will make it easier in case
we want to refactor those parts to use callPackage.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 05:43:34 +01:00
aszlig
d8e66722a3
vm/windows: Factor out bootstrapping process.
This now isolates the vmTools integration from the bootstrap process and
thus removes our fixed Windows ISO and product key. The latter can now
be provided by an attribute "windowsImage" to runInWindowsVM.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:52:01 +01:00
aszlig
e40f41e505
vm/windows: Collect exit code from xchg.
This is the last item that was missing to get a fully working
runInWindowsVM function. Apart from checking exit codes, we also now
have preVM/postVM hooks which we can use to write arbitrary constructs
around this architecture, without the need to worry about specific
details.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:52:00 +01:00
aszlig
b01c9624cf
vm/windows: Add new runInWindowsVM function.
This function is quite similar to runInLinuxVM, but also ensures that
the builder is run decoupled of the Nix store and using the userland
inside the VM.

We're now picking up the environment variables saved in the previous
commit.

The reason we suppress all errors from the source operation is that it
would emit a ton of errors because we're trying to set read-only
variables.

Also, detecting whether the origBuilder is using the default builder
from the stdenv is currently a bit of a workaround until we have a
specialized pseudo-cross-stdenv someday in the future[TM].

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:52:00 +01:00
aszlig
dd8b0fcf52
vm/windows: Save envirenoment before running VM.
Later, when we start the actual builder, we're going to restore those
environment variables. We're using "(set; declare -p)", here, because
the former is just printing _all_ environment variables, even those not
supported, and the latter only lists specifically declared variables,
which also encludes exports.

The "declare -p" command also emits those variables in a format similar
to the "export" command.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:52:00 +01:00
aszlig
707b7ad1bd
vm/windows: Generate mounts from an attribute set.
This is mainly to make it easier to quickly change mappings, without
making room for errors such as typos.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:59 +01:00
aszlig
5258bbe4c9
vm/windows: Create fstab entries in suspended VM.
Cygwin initializes mounts on _every_ login via SSH and doesn't keep them
consistently like on Unix systems, that's why we need to also add fstab
entries for the bind mounts to the store and xchg shares.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:59 +01:00
aszlig
d16dae8d32
vm/windows: Use &&, not set -e in runAndSuspend.
We now have proper quoting, so we no longer need the workaround using
"set -e".

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:59 +01:00
aszlig
084238c6ec
vm/windows: Fix perms of the Samba shares.
We now map all guest accounts to the root user, because in the end the
permissions of the current user boil down to the build user of the Nix
builder of the host. That way it's not possible to gain more permissions
at all and just makes the VM communication a lot easier.

However, setting "writable" to yes instead of "read only" to no doesn't
change anything here, I just found it to be clearer.

Also, we now no longer need to have a "nobody" user.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:59 +01:00
aszlig
5241bb1d5e
vm/windows: Avoid shadowing the Nix store.
This is done by putting the non-initrd /nix/store into a subdirectory,
which we then chroot to and pass along the SSH command.

Also, we now collect the exit code after the chroot command and power
off the VM thereafter, because the store is no longer shadowed and we
have still access to the busybox inside the initrd.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:58 +01:00
aszlig
a1d7974acd
vm/windows: Remove Samba from installMode.
This should trim down possible dependencies on the base installation and
hereby reduce the need for reinstallation of the damn VM to only changes
that affect the Windows installation and the base Cygwin + OpenSSH
setup.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:58 +01:00
aszlig
fedf13e6cf
vm/windows: Implement and use "xchg" share.
This now finally introduces our xchg share and also uses it for
exchanging state while suspending a VM. However, accessing the _real_
Nix store still isn't possible because we're shadowing the directory in
the initrd.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:58 +01:00
aszlig
0ce1fd07fe
vm/windows: Reintroduce setting up /nix/store.
Now we're doing this at the point where we're saving the VM state.
Unfortunately it's not quite right, because the controller VM is shut
down _before_ we're saving the state, so the share gets disconnected
despite autodisconnect being deactivated during setup.

We can get around this issue by finally introducing the xchg share,
which is the last item to be implemented before we can merge to master.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:57 +01:00
aszlig
aa65a7057f
vm/windows: Properly escape shell command.
Security-wise it's not a big issue because we're still sandboxed, but I
really don't want to write something like \\\\\\\\192.168.0.2\\\\share
in order to set up network shares.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:57 +01:00
aszlig
cfa859d792
vm/windows: Don't init /nix/store on install.
We're going to do this during the suspendedVM phase, so we're able to
more easily change the shares without reinstalling the whole VM.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:57 +01:00
aszlig
3e91192f07
vm/windows: Wait for VDE switch to startup.
This could possibly cause flapping whenever qemu is too fast in starting
up. As we are running with the shell's -e flag, the socat check also
ensures that the VDE switch is properly started and causes the whole
build to fail, should it not start up within 20 seconds.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:56 +01:00
aszlig
c731467e2c
vm/windows: Split install into several stages.
These stages are in particular:

 * Install of the bare Windows VM with Cygwin and shut down.
 * Boot up the same VM again without the installation media and dump the
   VMs memory to state.gz.
 * Resume from state.gz and build whatever we want to build.

Every single stage involves a new "controller", which is more like an
abstraction on the Nix side that constructs the madness described in
276b72fb93.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:51:56 +01:00
aszlig
5105e7f0bf
vm/windows: Update sha256 of Cygwin's setup.ini.
This is kinda stupid to do every little time the file is automatically
regenerated upstream. But let's see how often that happens and whether
it will become a major annoyance or not, and if yes, we might be forced
to include it in our source tree.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:50:55 +01:00
aszlig
9b1862ca1f
vm/windows: Move creating SSH key into install/.
This SSH key is specifically only for accessing the installed Cygwin
within the Windows VM, so we only need to expose the private key. Yes,
you heard right, the private key. It's not security-relevant because the
machine is completely read-only, only exposed to the filesystem and
networking is not available.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:50:54 +01:00
aszlig
4e21215d52
vm/windows: Move the installer into install/.
At least the largest portion of the installer, because in the end we
don't want the installer to *actually* save the state but only prepare
the base image.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:50:54 +01:00
aszlig
276b72fb93
vm: Introduce new Windows VM installer for Cygwin.
After quite a lot of fighting against Windows and its various
limitations, this new is the base architecture for installing and
accessing the Windows VM and thus the Cygwin environment inside it:

                .------------.
          .---> | vde_switch |
          |     `-[#]----[#]-'
          |        |      |
         ,'       .'      `---.___
       ,'    192.168.0.1          `.
       |          |            192.168.0.2
      ,'    _____[#]____           |
    ,'     |            |   ______[#]______
    |      | Windows VM |  |    .--'       |
    |      |____________|  |    |          |
    |             |  /|\   |  .-|          |
    | .---------. |   |    |  | |          |
  .-|-| manager |-'   |    |  | |          |
  | | `---------'     |    |  | |          |
  | |                 |    |  | |          |
  | | .-------------. |    | Samba         |
  | | | BOOTSTRAP   | |    |  | |          |
  | | |-------------| |    |  | |   .------|
  | `-| spawn VMs   |-+--> |  | `---| xchg | <-------.
  |   |-------------|      |  | .---^------|         |
  |   | install     |---.  |  `-| nixstore | <----.  |
  |   |-------------|   |  |    `----------|      |  |
  |---| suspend VM  |   |  |               |      |  |
  |   `------.------'   |  | Controller VM |      |  |
  |          |          |  |_______________|      |  |
  |       .--'          |         /|\            VirtIO
  |       |           __|__________:____________  |  |
  |      \|/         |  |          `.           | |  |
  | .------------.   |  |           :           | |  |
  | | REAL BUILD |   |  |   .-------^--------.  | |  |
  | |------------|   |  `-> | serial console |  | |  |
  `-| revive VM  |   |      `----------------'  | |  |
    |------------|   |------------.             | |  |
    | build      |-->| /nix/store >>>-----------|-'  |
    |------------|   |------------|             |    |
    | collect    |<--| xchg       >>>-----------|----'
    `-----.------'   |------------'             |
          |          |                          |
         \|/         |    |  |  __   ___  |     |
                     |    |--| |  | (__  -|-    |
    F I N I S H E D  |    |  | |__| ___)  |     |
                     |__________________________|

This might look a bit overwhelming, but let me try to explain:

We're starting at the base derivation ("BOOTSTRAP" above), where we
actually install the Cygwin envirenment. Over there we basically fire up
a vde_switch process and two virtual machines: One is the Windows
machine, the other is a NixOS machine, which serves as some kind of
proxy between the host and the Windows machine.

The reason we're doing this, is because we don't have a lot of options
for sharing files between a stock Windows machine and the host. In
earlier experiments, I've tried to communicate with the Windows guest by
using pipes and OpenSSH, but obviously this wasn't a big speed rush (or
to say it bluntly: It was fucking slow).

Using TCP/IP directly for accessing the guest would have been another
option, but it could lead to possible errors when the port or a range of
ports are in use at the Host system. Also, we would need to punch a hole
into the sandbox of the Nix builder (as it doesn't allow networking),
which in turn will possibly undermine deterministic builds/runs (well,
at least as deterministic as it can be, we're running Windows,
remember?).

So, let's continue: The responsibility of the NixOS (controller) VM is
to just wait until an SSH port becomes available on the Windows VM,
whereas the Windows VM itself is installed using an unattended
installation file provided via a virtual floppy image.

With the installation of the basic Windows OS, we directly install
Cygwin and start up an OpenSSH service.

At this point the bootstrapping is almost finished and as soon as the
port is available, the controller VM sets up Samba shares and makes it
available as drive letters within Windows and as bind mounts (for
example /nix/store) within Cygwin.

Finally we're making a snapshot of the memory of the Windows VM in order
to revive it within a few seconds when we want to build something.

Now, the build process itself is fairly straightforward: Revive VM and
build based on existing store derivations and collect the result _and_
the exit code from the xchg share/directory.

Conclusion: This architecture may sound a bit complicated, but we're
trying to achieve deterministic and reproducable builds and/or test
runs.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-26 04:50:53 +01:00
aszlig
92c59d37a7
gcc-cross-wrapper: Enable dontStrip in setup hook.
At least for x86_64-w64-mingw32, it doesn't make sense to use the native
strip tool for stripping of symbols. To the contrary it results in
unusable archive files.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-02-24 07:26:23 +01:00
Eelco Dolstra
83ca2c272a fetchurl: Ensure that ‘urls’ is a list 2014-02-19 13:58:42 +01:00
Eelco Dolstra
a8ded9d5d3 fetchgit: Require a content hash
Without this, the result will not be a fixed-output derivation and
won't work in general.
2014-02-18 19:13:07 +01:00
Petr Rockai
97721af469 VMs: Add Fedora 17 to the list of distros (only had 16 and 18). 2014-02-15 12:57:21 +01:00
Eelco Dolstra
8ba1fdef00 debian: Update to 7.4 2014-02-14 20:29:43 +01:00
Vladimír Čunát
e31523a369 preferLocalBuild: revert a stdenv change 2014-02-10 23:33:49 +01:00
Vladimír Čunát
161d029d7d preferLocalBuild: set to true for wrappers and fetchers 2014-02-10 21:04:17 +01:00
Peter Simons
1a40e97ba6 Merge pull request #1674 from errge/haddockhoogle
Generate hoogle databases beside HTML haddock documentation for Haskell packages
2014-02-06 22:46:12 +01:00
Eelco Dolstra
77376a215e debBuild: Allow setting a maintainer address 2014-02-06 14:36:50 +01:00
Eelco Dolstra
6b613f285c Fix nixBuild 2014-02-06 12:30:26 +01:00
Eelco Dolstra
a123a2675b lcov: Filter out /nix/store/* by default 2014-02-05 19:18:33 +01:00
Eelco Dolstra
80647127a3 Turn the coverage analysis stdenv adapters into setup hooks
Stdenv adapters are kinda weird and un-idiomatic (especially when they
don't actually change stdenv).  It's more idiomatic to say

  buildInputs = [ makeCoverageAnalysisReport ];
2014-02-05 19:18:33 +01:00
Eelco Dolstra
7703f04b75 Add a stdenv adapter ‘useGoldLinker’ to force use of Gold 2014-02-05 19:18:33 +01:00
Gergely Risko
2c8e492691 Generate hoogle databases beside HTML haddock documentation for Haskell packages 2014-02-04 18:11:57 +01:00
Rob Vermaas
13e13f279b Do not assume a .rev attribute in available in src in maven-build.nix 2014-01-24 15:52:31 +01:00
Eelco Dolstra
6a8485af6b clang-wrapper: Set $CXX to clang
This is useful for non-Autoconf-based packages, since GNU Make's
default for CXX is "g++".  (The CC default is "cc" so should work fine
with Clang already.)
2014-01-23 11:24:17 +01:00
Eelco Dolstra
f4af2a8737 clang-wrapper: Sync with gcc-wrapper 2014-01-23 10:57:49 +01:00
Vladimír Čunát
ac6761c908 Merge master into stdenv-updates
Conflicts:
	pkgs/applications/version-management/gource/default.nix
	pkgs/top-level/all-packages.nix
2014-01-20 19:39:28 +01:00
Shea Levy
55e6303d6a Add full llvm build, update libc++ and dragonegg
Some packages in the llvm suite (e.g. compiler-rt) cannot be built
separate from the build of llvm, and while some others (e.g. clang) can
the combined build is much better tested (we've had to work around
annoying issues before). So this puts llvm, clang, clang-tools-extra,
compiler-rt, lld, lldb, and polly all into one big build (llvmFull).
This build includes a static llvm, as dynamic is similarly less tested
and has known failures.

This also updates libc++ and dragonegg. libc++ now builds against
libc++abi as a separate package rather than building it during the
libc++ build.

The clang purity patch is gone. Instead, we simply set --sysroot to
/var/empty for pure builds, as all impure paths are either looked up in
the gcc prefix (which we hard-code at compile time) or in the sysroot.
This also means that if NIX_ENFORCE_PURITY is 0 then clang will look in
the normal Linux paths by default, which is the proper behavior IMO.

polly required an updated isl. When stdenv-updates is merged, perhaps we
can update the isl used by gcc and avoid having two versions.

Since llvm on its own is now separate from the llvm used by clang, I've
removed myself as maintainer from llvm and will leave maintenance of
that to those who are interested in llvm separate from clang.

Signed-off-by: Shea Levy <shea@shealevy.com>
2014-01-20 05:42:38 -05:00
Shea Levy
b529a34b4a Add Fedora 20
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-01-19 20:50:46 -05:00
Vladimír Čunát
0a58b512cb Merge master into stdenv-updates
Conflicts (simple):
	pkgs/development/compilers/gcc/4.8/default.nix
	pkgs/development/compilers/llvm/default.nix
	pkgs/development/libraries/gmp/5.1.1.nix
	pkgs/development/libraries/gmp/5.1.3.nix
	pkgs/development/libraries/gmp/5.1.x.nix
	pkgs/top-level/all-packages.nix
2014-01-18 14:46:20 +01:00
Rob Vermaas
1625743902 Fix Fedora8 vm builds. 2014-01-15 21:32:38 +01:00
Eelco Dolstra
8622548160 Add a setup hook for fixing dylib install names on Darwin
Install names need to be absolute paths, otherwise programs that link
against the dylib won't work without setting $DYLD_LIBRARY_PATH.  Most
packages do this correctly, but some (like Boost and ICU) do not.
This setup hook absolutizes all install names.
2014-01-15 13:41:09 +01:00
Rob Vermaas
ed9520bfb5 Allow specifying extra qemu flags using QEMU_OPTS. Replace CentOS 6.3 with CentOS 6.5 (6.3 is removed from site). 2014-01-14 22:51:26 +01:00
Eelco Dolstra
6fb27abf33 Merge branch 'java' 2014-01-13 13:16:17 +01:00
Vladimír Čunát
a2c316288c Merge master into stdenv-updates
Conflicts:
	pkgs/development/lisp-modules/stumpwm/default.nix (auto-solved)
	pkgs/top-level/all-packages.nix (trivial)
2014-01-12 12:29:24 +01:00
William A. Kennington III
42229f1040 nix-prefetch-git: Convert relative submodule URLS to absolute URLS
nix-prefetch-git does not convert relative submodule urls into absolute
urls based on the parent's origin. This patch adds support for
repositories which are using the relative url syntax.
2014-01-10 17:28:35 -06:00
Eelco Dolstra
51713fbbfc gcc-wrapper: Use -isystem instead of -I
This mostly matters for "gcc -MMD", which distinguishes between user
and system header files.
2014-01-10 13:29:29 +01:00
Eelco Dolstra
16e626a80d Replace lib/java -> share/java 2014-01-09 13:01:38 +01:00
Eelco Dolstra
3abcd7e268 debian: Update to 7.3 2014-01-06 15:51:00 +01:00
Eelco Dolstra
5d6259a973 Add a setup hook that automatically sets up $CLASSPATH
All JARs in $pkg/share/java (for each $pkg in the build inputs) are
added to $CLASSPATH.  Thus, you can say

  buildInputs = [ setJavaClassPath someJavaDependency ];

and the JARs in someJavaDependency will be found automatically by
tools like javac or ant.

Note that the manual used to say that JARs should be installed in
lib/java; this is now share/java, following the Debian policy:

  http://www.debian.org/doc/packaging-manuals/java-policy/x110.html

The directory share/java makes more sense because JARs are
architecture-independent.  (Also, a quick grep shows that we were not
exactly consistent about this in Nixpkgs.)
2014-01-06 14:36:14 +01:00
Eelco Dolstra
4728ec3f99 Fix some references to apacheAntOpenJDK 2014-01-06 14:36:13 +01:00
Shea Levy
e6dae5d7f4 Add fetchbower function to go along with bower2nix
Signed-off-by: Shea Levy <shea@shealevy.com>
2014-01-06 08:20:22 -05:00
Vladimír Čunát
9443129b08 Merge master into stdenv-updates
Conflicts:
	pkgs/development/libraries/glibc/2.18/common.nix (take stdenv-updates)
	pkgs/misc/emulators/zsnes/default.nix (more complex, build tested)
	pkgs/top-level/all-packages.nix (auto-solved)
2014-01-04 18:34:53 +01:00
Michael Raskin
af9db522cf Update FLTK and TigerVNC; doesn't fix TigerVNC Xvnc build per se 2014-01-01 01:36:57 +04:00
Peter Simons
631ad32b5d pkgs/build-support/cabal: the configure-phase warning check can be
disabled by setting 'strictConfigurePhase' to 'false'

This is necessary for some packages, like dns, because cabal warns about
multiple versions of the same dependency being used, but the usage is fine,
actually, so we want the build to succeed. Packages that depend on 'doctest'
also have this issue <https://github.com/sol/doctest-haskell/issues/69>.
2013-12-29 12:26:05 +01:00
Peter Simons
6209bb8556 pkgs/build-support/cabal: add 'buildTarget' attribute to allow passing flags to "./Setup build" 2013-12-29 12:26:05 +01:00
Peter Simons
63c60638fc pkgs/build-support/cabal: clean up the code that sets rpath for shared executables 2013-12-29 12:26:05 +01:00
Peter Simons
7d577eb822 build-support/cabal: recognize the "this package indirectly depends on
multiple versions of the same package" warning from Cabal and abort the
build if it occurs.
2013-12-29 12:26:05 +01:00
Peter Simons
f0ebdd4296 pkgs/build-support/cabal: add 'buildTarget' attribute to allow passing flags to "./Setup build" 2013-12-16 21:21:31 +01:00
Peter Simons
8b11fb8fcb pkgs/build-support/cabal: clean up the code that sets rpath for shared executables 2013-12-16 21:20:49 +01:00
Peter Simons
45e8de9a7d Merge branch 'origin/master' into stdenv-updates.
Conflicts:
	pkgs/tools/misc/less/default.nix
2013-12-16 21:13:24 +01:00
Peter Simons
edaa56041c pkgs/build-support/cabal: configure a proper library rpath for dynamically linked executables 2013-12-16 21:11:29 +01:00
Peter Simons
2bc29e4e6d Merge branch 'master' into stdenv-updates. 2013-12-10 22:29:20 +01:00
Benno Fünfstück
ebdff3841a haskell: Propagate cabal dependencies to user env
Before this commit, if a haskell library X depends on Y, and X was added to
systemPackages, only X would be available in the user environment. Y
would not be avialable, which causes X to be broken. This commit solves
the issue by setting propagatedUserEnvPkgs to all packages X depends
on when X is a library.
2013-12-10 20:41:36 +01:00
Peter Simons
ea20904aef cabal: add support for the enableStaticLibrary flag to enable/disable building of static libraries
Disabling static libraries is supported only in GHC 7.7 or later.
2013-12-10 20:41:36 +01:00
Peter Simons
c32bf83301 Merge remote-tracking branch 'origin/master' into stdenv-updates.
Conflicts:
	pkgs/development/interpreters/perl/5.16/default.nix
	pkgs/tools/networking/curl/default.nix
	pkgs/top-level/all-packages.nix
	pkgs/top-level/release-python.nix
	pkgs/top-level/release-small.nix
	pkgs/top-level/release.nix
2013-12-04 18:33:52 +01:00
Rickard Nilsson
8685278f11 Add nix-run and myEnvRun
This adds nix-run, which is a thin wrapper around nix-build.
nix-run calls nix-build, and then executes the resulting build.
If no executable artifact is built, nix-runs outputs an error
message.

myEnvRun calls myEnvFun and builds a script that directly runs
the load-env-* script.

Together, nix-run and myEnvRun allows you to set up an environment
that can be loaded in this way:

  envs.nix:
    {
      gcc = myEnvRun {
        name = "gcc";
        buildInputs = [ gcc ];
      };
    }

  $ nix-run -A gcc envs.nix

You end up directly in your environment without having to do
nix-env -i. You will always have a fresh environment and you
don't have to pollute you profile with a lot of env packages.
2013-12-01 09:36:55 +01:00
William A. Kennington III
49b36a3a77 Fix nix-prefetch-git
The nix-prefect git script was broken when trying to parse certain
groups of submodules. This patch fixes the url detection for submodule
repositories to use the more reliable `git config` commands.
2013-11-24 14:03:34 +01:00
Petr Rockai
dde70f9378 clang-wrapper: Optionally use libc++ instead of libstdc++. 2013-11-16 13:53:48 +01:00
Petr Rockai
7c3f07f97c clang-wrapper: Guard against LD_LIBRARY_PATH. 2013-11-16 13:53:48 +01:00
Bjørn Forsman
2d79cc7950 fetchsvn: handle redirect(s)
Instead of failing if the server redirects us to a new URL, accept up to
2 redirects by printing 2 extra p's to subversion.
2013-11-01 22:54:13 +01:00
Mathijs Kwik
609f8dc04b Merge branch 'master' into stdenv-updates
Conflicts:
	pkgs/top-level/all-packages.nix
2013-11-01 08:31:54 +01:00
Michael Raskin
92e3206c2a Updating SlimerJS to Git version for compatibility with fresh xulrunner 2013-10-31 02:59:45 +04:00
Michael Raskin
22ddf66b54 Adding a facility to generate Lisp module definitions from QuickLisp; no sane update facility yet; adding Esrap-PEG as a test 2013-10-29 10:56:33 +04:00
Peter Simons
d64917ad17 Back-port Haskell-related improvements from stdenv-updates.
* There now is full support for building Haskell packages as shared libraries
   for GHC versions 7.4.2 or later. The Cabal builder recognizes the following
   attributes:

    - enableSharedLibraries configures Cabal to build of shared libraries in
      addition to static ones. This option requires that all dependencies of
      the package have been compiled for use in shared libraries, too.

    - enableSharedExecutables configures Cabal to prefer shared libraries when
      linking executables.

   The default values for these attributes are arguments to the haskellPackages
   expression.

 * Haskell builds now run in a LANG="en_US.UTF-8" environment to avoid plenty
   of build and test suite errors. Without this setting, GHC seems unable to
   deal with the UTF-8 character encoding that's generally considered standard
   in the Haskell world.

 * The Cabal builder supports a new attribute 'testTarget' to specify the exact
   set of tests to be run during the check phase.

 * The ghc-wrapper attribute ghcVersion has been removed. Instead, we use the
   ghc.version attribute, which exists in unwrapped GHC derivations, too.
2013-10-27 10:09:36 +01:00
Peter Simons
91f2c362de Merge remote-tracking branch 'origin/master' into stdenv-updates.
Conflicts:
	pkgs/top-level/all-packages.nix
2013-10-26 18:28:05 +02:00
Eelco Dolstra
4747796a9e Build RPMs for i686 rather than i386
The default target (i386-linux) causes flags like "-march i386" to be
added, which breaks on recent Fedora releases (18 and up), resulting
in errors like:

  /usr/lib/gcc/i686-redhat-linux/4.7.2/../../../../include/c++/4.7.2/ext/atomicity.h:48: undefined reference to `__atomic_fetch_add_4'

So set the target to i686-linux.

http://hydra.nixos.org/build/6567357
2013-10-23 12:55:07 +02:00
Eelco Dolstra
531ff5a43f Remove currently broken Debian mirror 2013-10-23 11:31:29 +02:00
Eelco Dolstra
391de89913 Debian 7: Update to 7.2
Also rename "debian70" to "debian7" to reflect the Wheezy's new
versioning scheme.
2013-10-23 11:30:51 +02:00
Eelco Dolstra
d6f97c3601 Debian 6: Update to 6.0.8 2013-10-23 11:17:20 +02:00
Eelco Dolstra
27e91e0044 Add Fedora 19 2013-10-23 11:15:45 +02:00
Eelco Dolstra
34fcf33c0b Add Ubuntu 13.10 2013-10-23 11:08:12 +02:00
Michael Raskin
e5e17e73e3 Add conspy Linux console proxy 2013-10-20 18:02:07 +04:00
Peter Simons
911ca85240 pkgs/build-support/cabal: stabilize shared linking support
We cannot pass the --{enable,disable}-executable-dynamic flags to GHC
versions prior to 7.4.x.

Building shared libraries via --{enable,disable}-shared is possible in theory
with GHC 6.12.x or later, but doesn't work in practice because our GHC 6.10.x
builds don't provide shared versions of their base libraries. This could
probably be fixed, but it's probably not worth the effort.
2013-10-20 15:40:36 +02:00
Peter Simons
312d081b6a pkgs/build-support/cabal: move current postFixup hook into installPhase to free up the postFixup hook for users to override
Builds tend to override pre and post hooks for each phase, so we should not use
them to perform regular build commands that cannot be omitted.
2013-10-20 15:40:36 +02:00
Peter Simons
82bc91a548 build-support/cabal: add an option to enable shared library support
enableSharedLibraries configures Cabal to build of shared libraries. This
option requires that all dependencies of the package have been compiled
for use in shared libraries, too.

enableSharedExecutables configures Cabal to prefer shared libraries when
linking executables.

This patch partly fixes issue #1084.
2013-10-19 14:55:39 +02:00
Peter Simons
6be8ad3392 Merge branch 'origin/master' into stdenv-updates.
There was a minor conflict in 'stumpwm'. The package needs texinfo
version 4.x. At least is used to, I'm not sure whether it still does.
2013-10-18 18:57:24 +02:00
Michael Raskin
776adb5704 Updating TeXLive to 2013 using updated Debian snapshots.
Kept the old hacks where they don't break the build in case they things
they fix are still relevant.

I checked that the upgrade doesn't break:
1) Asymptote and EProver builds.
2) My XeLaTeX demo from configurations/ repository.
3) Some of my own files.

The upgrade fixes problems with simultaneous use of 3D and LaTeX labels
in Asymptote.

Please provide a test that worked previously and is broken now if you
need to revert this update or its parts.
2013-10-14 10:58:54 +04:00
Peter Simons
ac5d5297dd Merge remote-tracking branch 'origin/master' into stdenv-updates. 2013-10-02 22:44:12 +02:00
Eelco Dolstra
a40f68ddfb Remove unused file 2013-10-01 13:12:45 +02:00
Justin Bedo
fdc6e4372f Wrapped R's package system similarly to perlPackages 2013-09-28 13:19:43 +02:00
Peter Simons
24366adf19 Merge remote-tracking branch 'origin/master' into stdenv-updates. 2013-09-14 15:28:40 +02:00
Sander van der Burg
28d8e93871 My attempt to get Steam working in NixOS. It uses a function called buildFHSChrootEnv {} that composed chroot environments. In such a chroot environment, I could run Steam without much problem 2013-09-13 23:58:59 +02:00
Peter Simons
bf3b9ccee3 pkgs/build-support/cabal: unconditionally set $LANG to "en_US.UTF-8" during Haskell builds
Haskell tools like Haddock require a locale to be configured, so do some
regression test suites.
2013-08-31 11:00:08 +02:00
Peter Simons
9f541bcdde pkgs/build-support/cabal: fix the logic of the 'noHaddock' flag that was broken in 27905ce17e 2013-08-30 10:42:40 +02:00
Peter Simons
fb83f8605f pkgs/build-support/cabal: add support for running specific tests only via 'testTarget'
The dns packages requires this feature, because it ships two test programs: one
of them requires network access (so we cannot run it), but the other test does
not. Setting testTarget appropriately allows us to run only one of the two
suites.
2013-08-26 12:39:33 +02:00
Peter Simons
9ac8ea937c Merge branch 'origin/master' into stdenv-updates. 2013-08-26 12:21:23 +02:00
Gergely Risko
27905ce17e pkgs/build-support/cabal: set LANG="en_US.UTF-8" for the Haddock run
Haskell packages that contain non-ascii characters in their .cabal file
or somewhere else in their haddock documentation fail to compile under
nixpkgs and usually flagged with noHaddock = true. I wanted to do the
same for modularArithmentic, when I realized that we just have to set
the locale to some UTF-8 compatible locale in build-support/cabal to fix
this issue correctly.
2013-08-26 11:59:51 +02:00
Eelco Dolstra
0ff6f51703 Build aggregates locally
They're so trivial that we don't want to copy all those dependencies
to remote machines.
2013-08-21 14:50:34 +02:00
Eelco Dolstra
7151b3719f Aggregates should not have a build product 2013-08-21 11:47:57 +02:00
Peter Simons
76244ac2e2 Merge branch 'master' into stdenv-updates
Conflicts:
	pkgs/development/compilers/ghc/with-packages.nix
2013-08-16 22:51:13 +02:00
Eelco Dolstra
68469ca342 releaseTools.aggregate: Rename ‘members’ to ‘constituents’ 2013-08-15 02:29:08 +02:00
Eelco Dolstra
d46858d5b8 Propagate failure of aggregate members 2013-08-15 01:40:33 +02:00
Ivan Kozik
1866619acc Fix a few typos 2013-08-11 10:55:53 +00:00
Eelco Dolstra
4c77c6e232 makeModulesClosure: Use kmod instead of module-init-tools 2013-08-07 22:46:11 +02:00
Eelco Dolstra
d846e97656 VM builds: Use Linux 3.10
3.4 apparently gives corrupt 9pfs data on x86.  See e.g.

  http://hydra.nixos.org/build/5661036

where reading /nix/store/kfldnrrsq0lbbv13gjxdfb3vb1sbaz88-vm-run-stage2
gives garbage.  Strangely it doesn't happen here:

  http://hydra.nixos.org/build/5658978

Ah well.
2013-08-07 14:48:22 +02:00
Eelco Dolstra
4342a32deb VM builds: Reduce kernel verbosity 2013-08-01 14:35:31 +02:00
Eelco Dolstra
d077851b7d VM builds: Use the default kernel 2013-08-01 14:35:31 +02:00
Eelco Dolstra
b5fcb5b67d Use the qemu-kvm wrapper 2013-07-31 14:53:35 +02:00
Peter Simons
522acfd2f4 Merge remote-tracking branch 'master' into stdenv-updates.
Conflicts:
	pkgs/applications/version-management/git-and-tools/git/default.nix
	pkgs/top-level/all-packages.nix
2013-07-30 11:29:30 +02:00
aszlig
69dccda3c0
VM builds: Update debian Wheezy image to v7.1.
Wheezy has been released on June 15th and on all mirrors the SHA256 hash
of Packages.bz2 has changed to reflect the new release, so let's update.

Here is the release announcement from Debian:

http://www.debian.org/News/2013/20130615

It also seems that the versioning scheme has changed in version 7.x, so
they seem to have switched to a two digit versioning scheme. This means,
that the attribute name "debian70..." should really be something like
"debian7...", but I'm keeping the attribute as-is to not break
references.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-07-30 05:59:59 +02:00
aszlig
cd4b5e1a35
fillDiskWithDebs: Create fake start-stop-daemon.
This is needed in order to prevent services from starting while
populating the image with the contents of the .deb files. The procedure
used here is exactly the same as used in debootstrap.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-07-30 05:59:40 +02:00
Eelco Dolstra
59aca26975 * Use 'or'. 2013-07-15 14:33:27 +02:00
Vladimír Čunát
8ba92b8895 Merge master into stdenv-updates
Conflicts (simple):
	pkgs/development/tools/misc/binutils/default.nix
	pkgs/tools/package-management/disnix/default.nix
	pkgs/top-level/all-packages.nix
2013-07-08 10:48:05 +02:00
Rob Vermaas
da7db90068 Add CentOS 6.4 to vm images 2013-07-05 17:52:42 +02:00
Rob Vermaas
51a22a8f8a Add loopback network device and localhost entry to /etc/hosts for VM tests. 2013-07-05 15:02:43 +02:00
Eelco Dolstra
9f5f30a7e6 Remove runInGenericVM
It's not used anywhere and probably doesn't work anymore.
2013-07-05 00:17:04 +02:00
Eelco Dolstra
0e386d0c13 VM builds: Use 9p/virtfs instead of CIFS
9p (with caching enabled) is much faster than CIFS and doesn't require
Samba or virtual networking.  For instance, building GNU Hello with
CIFS takes ~323s on my laptop, but with 9p it takes 54s.

More measurements will be needed to see if "cache=fscache" is really
faster than "cache=loose" (the former seems to be a little bit
faster).
2013-07-05 00:17:04 +02:00
Eelco Dolstra
9efe759dd8 VM builds: Increase the default memory size to 512 MB 2013-07-05 00:17:04 +02:00
Eelco Dolstra
2321f2d55c VM builds: Panic on OOM 2013-07-05 00:17:04 +02:00
Eelco Dolstra
5f8571405b VM builds: Use ext4 instead of ext2 2013-07-05 00:17:03 +02:00
Eelco Dolstra
ed37a6b465 VM builds: Use qemu instead of the obsolete qemu-kvm 2013-07-05 00:17:03 +02:00
Eelco Dolstra
7afc1149d9 testRPMImage: Use x86_64 image 2013-07-04 18:27:26 +02:00
Jason \"Don\" O'Conal
dff980733a add au debian mirror 2013-07-04 13:07:40 +02:00
Eelco Dolstra
5cfa68ab50 Reinstate sec=none
Seems to be required, despite the subsequent sec=ntlm. But the NixOS
VM tests work fine without this flag :-S

http://hydra.nixos.org/build/5451901
2013-07-03 14:38:56 +02:00
Eelco Dolstra
75e34854f6 Remove redundant cifs option 2013-07-02 17:03:29 +02:00
Eelco Dolstra
acba9240cd nixos.org/tarballs -> tarballs.nixos.org
It's currently the same machine, but tarballs.nixos.org should become
an S3/CloudFront site eventually.
2013-06-25 14:12:16 +02:00
Peter Simons
5718931dd3 Merge remote-tracking branch 'origin/master' into stdenv-updates. 2013-06-01 11:48:21 +02:00
Shea Levy
dddf921b51 fetchsvn: Allow setting the name of the output
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-05-26 11:58:01 -04:00
Peter Simons
728e305205 Merge remote-tracking branch 'origin/master' into stdenv-updates. 2013-05-22 12:30:02 +02:00
Jack Cummings
83e45309fd fetchhg: allow untrusted certs (merge #540)
It's for fixed-output derivations, security provided by output hash.
2013-05-20 21:24:25 +02:00
Michael Raskin
f75d60fd90 Adding jq JSON processor 2013-05-20 11:17:20 +04:00
Gergely Risko
07b26ce493 fetchUrl: add curlOpts parameter (merge #535) 2013-05-16 10:45:16 +02:00
Shea Levy
dd42dd480b runInLinuxImage: Fix derivation overriding.
This only ever worked because runInLinuxVM happened to call
overrideDerivation, which itself erroneously passed arbitrarily-added
attributes to the new call to derivation.

Hopefully this time Eelco won't have to revert my change ;)

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-05-15 01:15:16 -04:00
Lluís Batlle i Rossell
48f97bdae0 Some kde wrapper improvements. 2013-05-14 18:51:24 +02:00
Eelco Dolstra
9f9620f566 Doh 2013-05-13 22:04:33 +02:00
Eelco Dolstra
278b255388 Restore unintentionally deleted line 2013-05-13 18:15:02 +02:00
Eelco Dolstra
9df603b300 Use Linux 3.9 for VM builds
This seems to fix CIFS hangs like: http://hydra.nixos.org/build/4916655
2013-05-13 18:12:12 +02:00
Eelco Dolstra
6fb4c62f25 Fix some old Fedora builds
http://hydra.nixos.org/build/4949447
2013-05-13 17:47:20 +02:00
Lluís Batlle i Rossell
43615a640f kdewrapper: fixes in env vars 2013-05-09 18:44:27 +00:00
Lluís Batlle i Rossell
4e7208fe2e Adding a KDE wrapper, to easily have KDE programs in nix-env.
Specially for those not running KDE.
2013-05-09 18:40:29 +00:00
Eelco Dolstra
5815d18460 Add Fedora 18 2013-05-08 14:08:59 +02:00
Eelco Dolstra
e7480d9cb7 Add Debian 7.0 2013-05-07 11:19:46 +02:00
Shea Levy
fde3526e7d Merge branch 'master' into stdenv-updates
Conflict in kerberos, which was updated both in master and in
stdenv-updates. Kept the stdenv-updates version, except pulled in the
enableParallelBuilding change from master.

Signed-off-by: Shea Levy <shea@shealevy.com>

Conflicts:
	pkgs/development/libraries/kerberos/krb5.nix
2013-05-04 18:28:48 -04:00
Eelco Dolstra
1073187f78 Add Ubuntu 13.04 2013-05-03 14:01:32 +02:00
Bjørn Forsman
ae5664cc5e mirrors.nix: add http://backpan.perl.org/ for old CPAN modules
It seems only the latest version of perl modules are in CPAN(?). The
BackPan claims to have a complete history of CPAN.
2013-05-03 10:59:36 +02:00
Peter Simons
944ae2e5ff pkgs/build-support/cabal: disable split-objects for GHC 7.7 builds to work around broken compiler 2013-04-24 13:21:05 +02:00
Peter Simons
431b774cc0 ghc: greatly simplify the GHC compiler wrapper
The wrapper script accumulated some cruft over the last couple of months
because we did changes in freaky ways to avoid triggering re-builds of all
Haskell packages. Most of these kludges have been thrown out now.

This patch doesn't change the behavior of the wrapper except for one thing: the
internal helper scripts "ghc-get-packages.sh" and "ghc-packages.sh" are no
longer installed in the bin directory of the generated derivation.
2013-04-20 23:28:53 +02:00
Peter Simons
4914e63a89 Merge changes from branch 'master' into stdenv-updates.
Conflicts:
	pkgs/development/libraries/icu/default.nix
	pkgs/tools/misc/coreutils/default.nix
2013-04-19 11:48:11 +02:00
Peter Simons
6f1cec9acb haskell-packages.nix: fix the implementation of 'cabalNoTest'
The previous implementation used the following tying-the-knot trickery to
override 'doCheck' to false for the given build:

  cabalNoTest = {
    mkDerivation = x: rec {
      final = self.cabal.mkDerivation (self: (x final) // { doCheck = false; });
    }.final;
  };

That seemed to work, but for some reason it caused trouble with some builds --
not all -- that use jailbreakCabal. The problem was the 'stdenv' attribute
couldn't be evaluated properly anymore:

  $ nix-build ~/pkgs/top-level/release-haskell.nix -A optparseApplicative.ghc6104.x86_64-linux --show-trace
  error: while evaluating the attribute `drvPath' at `/nix/store/qkj5cxknwspz8ak0ganm97zfr2bhksgn-nix-1.5.2pre3082_2398417/share/nix/corepkgs/derivation.nix:19:9':
  while evaluating the builtin function `derivationStrict':
  while instantiating the derivation named `haskell-optparse-applicative-ghc6.10.4-0.5.2.1' at `/home/simons/.nix-defexpr/pkgs/build-support/cabal/default.nix:40:13':
  while evaluating the derivation attribute `configurePhase' at `/home/simons/.nix-defexpr/pkgs/build-support/cabal/default.nix:107:13':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/lib/strings.nix:55:26':
  while evaluating the attribute `outPath' at `/nix/store/qkj5cxknwspz8ak0ganm97zfr2bhksgn-nix-1.5.2pre3082_2398417/share/nix/corepkgs/derivation.nix:18:9':
  while evaluating the builtin function `getAttr':
  while evaluating the builtin function `derivationStrict':
  while instantiating the derivation named `jailbreak-cabal-1.1' at `/home/simons/.nix-defexpr/pkgs/build-support/cabal/default.nix:40:13':
  while evaluating the derivation attribute `nativeBuildInputs' at `/home/simons/.nix-defexpr/pkgs/stdenv/generic/default.nix:76:17':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/lib/lists.nix:135:21':
  while evaluating the attribute `buildInputs' at `/home/simons/.nix-defexpr/pkgs/build-support/cabal/default.nix:22:17':
  while evaluating the builtin function `filter':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/build-support/cabal/default.nix:22:60':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/top-level/haskell-packages.nix:119:17':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/lib/customisation.nix:61:22':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/lib/customisation.nix:56:24':
  while evaluating the builtin function `isAttrs':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/development/libraries/haskell/Cabal/1.14.0.nix:1:1':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/top-level/haskell-packages.nix:113:20':
  while evaluating the attribute `final' at `/home/simons/.nix-defexpr/pkgs/top-level/haskell-packages.nix:114:7':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/build-support/cabal/default.nix:9:5':
  while evaluating the function at `/home/simons/.nix-defexpr/pkgs/stdenv/generic/default.nix:51:24':
  while evaluating the attribute `meta.license' at `/home/simons/.nix-defexpr/pkgs/development/libraries/haskell/Cabal/1.14.0.nix:17:5':
  infinite recursion encountered

I tried to figure out why this happens, but eventually gave up. The new
implementation passes an argument called 'enableCheckPhase' to the Cabal
builder, which determines whether the user-specified doCheck value has any
effect or not. Now, a normal override can be used to disable unit testing.
2013-04-19 10:46:18 +02:00
Peter Simons
fd76a89bcb pkgs/build-support/release/nix-build.nix: unconfuse syntax highlighting 2013-04-18 12:18:39 +02:00
Lluís Batlle i Rossell
9ce7b29393 gcc-wrapper: avoiding one glibc rebuild, for gcc.crossDrv
In fact 'glibc.crossDrv' didn't work. I'm not sure it should work; I think it
isn't required for much.
2013-04-10 18:26:42 +02:00
Peter Simons
62e37492b9 Merge remote-tracking branch 'origin/master' into stdenv-updates. 2013-04-04 00:51:30 +02:00
Peter Simons
e5c3614d52 pkgs/build-support/cabal: fix spelling of the --extra-{include,lib}-dirs options to Cabal
It's quite amazing that we've managed to pass incorrectly spelled command line
flags to Cabal for ages without ever noticing. :-)

The search path options --extra-{include,lib}-dirs are usually unnecessary,
because the build environment is set up such that gcc and ld find those headers
and libraries automatically, i.e. without needing extra flags. The bubble burst
on MacOS X, though, where the build of haskell-text-icu couldn't find the icu
library without manually setting DYLD_LIBRARY_PATH in that build. Fortunately,
cabal takes care of that issue if a correctly spelled --extra-lib-dirs flag is
passed.
2013-04-01 14:06:56 +02:00
Michael Ashton
8c63762d64 - fetchbzr and nix-prefetch-bzr now only export, instead of cloning
- The option for cloning in nix-prefetch-bzr is removed
- ssl certificates are now ignored by fetchbzr

This means that no .bzr directory is downloaded.  Without this change, the
hash of the result is unpredictable, probably because of timestamping in the
.bzr directory.

Currently, the only package using fetchbzr is kicad.
2013-03-31 19:16:18 -07:00
Peter Simons
270b858905 pkgs/build-support/cabal: updated recognition of Haskell packages for the directory new layout used in the stdenv-updates branch 2013-03-28 14:25:51 +01:00
Peter Simons
fdbe2878f0 Merge remote-tracking branch 'origin/master' into stdenv-updates. 2013-03-28 14:02:56 +01:00
Peter Simons
0e1dfe702d pkgs/build-support/cabal: strip unnecessary --extra-lib-dir arguments for haskell packages
Packages that are registered in the ghc-pkg database don't need any
extra flags passed for Cabal to recognize them.
2013-03-28 12:58:10 +01:00
aszlig
463378f7cc
fetchsvn: Add ignoreExternals attribute.
There are some SVN repositories out there which don't have revision information
tied to externals. By using ignoreExternals, fetchsvn won't fetch these
externals anymore, so the fetch won't fail with a checksum mismatch, should
there be some changes in some of those external repositories.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-03-27 00:26:55 +01:00
Eelco Dolstra
b38647766d releaseTools: Add ‘aggregate’ function
An aggregate is a trivial build that depends on other builds.  This is
intended to provide a declarative replacement of Hydra's "view"
mechanism.

For instance, you can define an aggregate named "critical" that
depends on a selected set of jobs:

  critical = releaseTools.aggregate
    { name = "foo-${tarball.version}";
      members =
        [ tarball
          build.x86_64-linux
          ...
        ];
      meta.description = "Release-critical builds";
    };

The "critical" build will only succeed if all its members
(dependencies) succeed.
2013-03-26 11:58:59 +01:00
Peter Simons
0823aea0a6 Merge branch 'master' into stdenv-updates.
Conflicts:
	pkgs/development/libraries/libxslt/default.nix

Commit 1764ea2b0a introduced changes to libxslt
in an awkward way to avoid re-builds on Linux. This patch has been simplified
during this merge.
2013-03-25 13:43:45 +01:00
Peter Simons
32fb6ed5e3 pkgs/build-support/cabal: disable doCheck by default on GHC 7.0.x platforms
Trying to run the unit tests with GHC 7.0.4 causes so many builds to
fail that it's probably not worth-while.
2013-03-23 18:44:44 +01:00
Danny Wilson
d007a78ccb Merge remote-tracking branch 'origin/stdenv-updates' into illumos
Conflicts:
	pkgs/development/libraries/gmp/5.1.1.nix
	pkgs/development/libraries/mpc/default.nix
	pkgs/development/libraries/mpfr/default.nix
	pkgs/development/libraries/ppl/default.nix
	pkgs/tools/misc/coreutils/default.nix
2013-03-17 13:22:24 +01:00
Peter Simons
d09269a22e Use the same directory layout for user-installed Haskell libraries that GHC
uses for its core libraries, so that these files integrate seamlessly into one
profile, living right next to each other. This change is eventually going to
simply our with-packages wrapper quite a bit.
2013-03-15 20:38:15 +01:00
Eelco Dolstra
fb600a5d99 Debian VM image: Update to 6.0.7 2013-03-15 12:48:35 +01:00
Peter Simons
ffd11da9d9 pkgs/build-support/cabal: enable 'doCheck' only on GHC versions 7.x or later
Older GHC's come with a version of Cabal that doesn't even understand the
--{enable,disable}-tests command line arguments.
2013-03-11 12:25:53 +01:00
Michael Raskin
5ec1806564 Adding ZPAQ archiver 2013-03-09 16:33:14 +04:00
Shea Levy
1670244f80 Merge branch 'vlada/xfce-notg' of git://github.com/vcunat/nixpkgs
This branch refactors xfce and updates it to 4.10. I had been hoping to
find someone besides Vlada to test this (I don't use xfce), but no one
has come forward yet in 2 weeks so if this breaks something they can
make an issue or fix it. It all looks good by inspection.
2013-03-08 17:03:22 -05:00
Peter Simons
fcd895afb3 pkgs/build-support/cabal: disable the split objects feature on Darwin by default
According to <http://hackage.haskell.org/trac/ghc/ticket/4013>, this
feature won't work with XCode versions older than 3.2.

This means that Mac users will have considerably larger binaries because
some build-time dependencies (such as HTTP) will be mis-detected as
run-time dependencies.
2013-03-08 13:37:57 +01:00
Eelco Dolstra
674c51af3c Merge remote-tracking branch 'origin/master' into stdenv-updates 2013-03-07 19:33:52 +01:00
Eelco Dolstra
85d464a031 Remove some hackery 2013-03-06 16:57:57 +01:00
Vladimír Čunát
26af997d41 Merge branch 'master' into stdenv-updates
Conflicts (simple):
	pkgs/applications/networking/browsers/chromium/default.nix
	pkgs/development/libraries/libsoup/default.nix
	pkgs/os-specific/linux/kernel/manual-config.nix
	pkgs/os-specific/linux/qemu-kvm/default.nix
2013-03-02 10:41:53 +01:00
Eelco Dolstra
a1c5d6642b build-support/release: Simplify meta.description
Phrases like "Build of a ..." are redundant because everything is a
build.
2013-03-01 12:50:29 +01:00
Danny Wilson
15e865ac09 GCC 4.7.2 + updated libraries compiles on Illumos/SmartOS!
- Add solaris native ld support to GCC build wrapper
- Add solaris ld wrapper that fixes -L argument order
2013-02-28 20:04:02 +01:00
Peter Simons
d0bfd6936e pkgs/build-support/cabal: add 'testDepends' to 'extraBuildInputs' if 'doCheck' is set to 'true' 2013-02-25 00:32:40 +01:00
Peter Simons
d8974b47cb pkgs/build-support/cabal: filter 'doCheck=false' field from the expression to avoid unnecessary hash changes
In the master branch, doCheck defaults to 'false', which means that no package
will change its hash unless its doCheck field is set to 'true' explicitly. In
the stdenv-updates branch, however, all Haskell packages have a default setting
of 'doCheck=true'. Once that branch has been merged, filtering doCheck is no
longer necessary.
2013-02-24 23:43:34 +01:00
Peter Simons
c18e2ea902 pkgs/build-support/cabal: filter internal 'testDepends' field from the expression to avoid unnecessary hash changes 2013-02-24 23:41:08 +01:00
Peter Simons
e779adc607 pkgs/build-support/cabal: set 'checkPhase' only if 'doCheck' is true 2013-02-24 21:48:36 +01:00
Peter Simons
1dba3fe14a pkgs/build-support/cabal: enable 'doCheck=true' by default 2013-02-24 21:15:43 +01:00
Peter Simons
bf5ac53073 pkgs/build-support/cabal: add 'testDepends' field to specify build-time dependencies that are required only for running the test suites 2013-02-24 21:15:25 +01:00
Peter Simons
26b192edcc pkgs/build-support/cabal: unify all non-user-specified configure flags in the internal 'extraConfigureFlags' variable 2013-02-24 21:14:01 +01:00
Peter Simons
5f32207dfc Merge remote-tracking branch 'origin/master' into stdenv-updates. 2013-02-24 19:27:08 +01:00
Peter Simons
074137a19b pkgs/build-support/cabal/default.nix: add support for running test suites via Cabal
Set 'doCheck = true' to enable building and running of the test suite.
2013-02-22 16:53:23 +01:00
Shea Levy
acd4299e75 Merge branch 'master' into stdenv-updates
Conflicts:
	pkgs/applications/networking/browsers/chromium/default.nix
	pkgs/top-level/all-packages.nix

Merge conflicts seemed trivial, but a look from viric and aszlig would be nice.
2013-02-21 11:13:30 -05:00
Vladimír Čunát
e979d7ad2f vlada/xfce
Major Xfce refactoring, also adding versions 4.10.*

Signed-off-by: Vladimír Čunát <vcunat@gmail.com>
2013-02-21 12:16:51 +01:00
Shea Levy
79c3f992b4 makeInitrd: Make the compressor configurable 2013-02-19 11:49:31 -05:00
Shea Levy
aacca1902c Merge branch 'upstream-master' into stdenv-updates 2013-02-19 10:09:39 -05:00
Eelco Dolstra
19ab71ff7a releaseTools.nixBuild: Put hydra-build-products in each output
Putting a single hydra-build-products in $out can cause $out to have
unnecessary dependencies on other outputs.
2013-02-18 13:57:02 +01:00
Peter Simons
dd13aa9c94 pkgs/build-support/cabal: add 'enableSplitObjs' field to enable/disable object splitting
This patch configures all Cabal builds with '--enable-split-objs' unless the
Nix expression explicitly sets "enableSplitObjs = false". The Cabal manual [1]
describes this option as follows:

 | The GHC -split-objs reduces the final size of the executables that use the
 | library by allowing them to link with only the bits that they use rather
 | than the entire library. The downside is that building the library takes
 | longer and uses considerably more memory.

One immediate benefit of this change is that the 'darcs' closure defined in the
top-level no longer refers to GHC. The same is probably true with other
executable packages.

[1] http://www.haskell.org/cabal/users-guide/installing-packages.html#setup-configure
2013-02-18 12:32:15 +01:00
Eelco Dolstra
2aa6f262cb Merge remote-tracking branch 'origin/master' into stdenv-updates 2013-02-15 13:36:34 +01:00
Eelco Dolstra
a0a6f0edfd releaseTools.nixBuild: Support builds with multiple outputs 2013-02-13 13:54:32 +01:00
Eelco Dolstra
04765da09a fetchurl: Don't wait too long for the hashed mirrors
If the hashed mirror (nixos.org/tarballs) doesn't respond in 15
seconds, give up and try the original URL.
2013-02-06 15:15:28 +01:00
Eelco Dolstra
f337ab4430 fetchurl: Remove some compatibility hacks 2013-02-06 15:00:33 +01:00
Peter Simons
e5b51648b1 Move "darwin-native-x11-and-opengl" package into the "os-specific" hierarchy. 2013-01-30 14:53:04 +01:00
Peter Simons
e460a3f37c pkgs/build-support/native-darwin-x11-and-opengl: lift native X11 and OpenGL implementation from Darwin into the Nix store 2013-01-28 19:30:32 +01:00
Eelco Dolstra
d8f8a29758 gcc-upc: Remove
This version (4.0) is obsolete.  And UPC will be merged in GCC 4.8
anyway.
2013-01-28 17:19:04 +01:00
Eelco Dolstra
5bb548d2e4 Merge remote-tracking branch 'origin/master' into stdenv-updates 2013-01-17 14:19:14 +01:00
Rob Vermaas
a049615e91 source-tarball.nix: try src.revCount when src.rev is not available. 2013-01-15 15:04:38 +01:00
Eelco Dolstra
7fd42a8380 Get rid of the "sf" alias for "sourceforge" 2013-01-14 12:00:32 +01:00
Shea Levy
553e1b16f0 replace-dependency: Eelco has ruled, lowerCamelCase > dash-case :( 2013-01-13 11:15:01 -05:00
Shea Levy
96a834d42a replace-dependency: Better function names 2013-01-11 16:16:20 -05:00
Shea Levy
5dd1b8f204 replace-dependency: Don't strictly require that drv, old-dependency, and new-dependency be derivations 2013-01-11 16:13:58 -05:00
Shea Levy
779c74f795 Remove some artifacts of a failed attempt from replace-dependency 2013-01-11 16:09:07 -05:00
Shea Levy
d1662d7155 Add the replace-dependency build support function.
The use case is to do a deep replacement of a dependency without rebuilding the entire tree.
For example, suppose a security hole is found in glibc and a patch released. Ideally, you'd
just rebuild everything, but that takes time, space, and CPU that you might not have, so in
the mean time you could build a safe version of, say, firefox with:

  firefox-safe = replace-dependency { drv = firefox; old-dependency = glibc; new-dependency = patched-glibc; };

Building firefox-safe will rebuild glibc, but only do a simple copy/string replacement on all other dependencies
of firefox. On my system (MBP 13" mid-2012), after a new glibc had been build building firefox took around 11 seconds.

See the comments in the file for more details.
2013-01-11 14:42:09 -05:00
Lluís Batlle i Rossell
eb0422e4c1 Merge branch 'stdenv-updates' into pi-stdenv-updates 2012-12-29 14:18:43 +00:00
Lluís Batlle i Rossell
29fdf278ce Enabling support of ld-linux-armhf.so.3 ld.so, in ARM
I use wildcards.
2012-12-29 14:14:53 +00:00
Lluís Batlle i Rossell
b8c0279b9f Unifying buildergo.sh and builder.sh into one. 2012-12-29 15:11:32 +01:00
Lluís Batlle i Rossell
a8dedfc1d0 Merge branch 'stdenv-updates' into pi-stdenv-updates 2012-12-29 09:05:13 +00:00
Eelco Dolstra
01acc493ca Merge branch 'stdenv-updates' of github.com:NixOS/nixpkgs into stdenv-updates 2012-12-29 02:02:33 +01:00
Eelco Dolstra
080f1af51f Remove savannah mirror that seems to hang 2012-12-29 01:55:00 +01:00
Lluís Batlle i Rossell
67aa9243f0 Merge branch 'stdenv-updates' into pi-stdenv-updates
Conflicts:
	pkgs/development/compilers/gcc/4.7/default.nix

Trivial.
2012-12-28 23:30:53 +01:00
Lluís Batlle i Rossell
b58780c43d Merge remote-tracking branch 'eelco/master' into stdenv-updates
Conflicts:
	pkgs/development/compilers/gcc/4.7/default.nix

Trivial solution.
2012-12-28 23:28:16 +01:00
Lluís Batlle i Rossell
719ba63004 Merge branch 'stdenv-updates' into pi-stdenv-updates
Conflicts:
	pkgs/development/compilers/gcc/4.6/default.nix
	pkgs/development/compilers/gcc/4.7/default.nix

The 4.7 had some weird parameters added in crossAttrs; I've removed
them, but I don't understand where they come from.
2012-12-28 20:14:01 +00:00
Eelco Dolstra
84779a6f7d Remove unnecessary parentheses around if conditions
Pet peeve...
2012-12-28 19:54:15 +01:00
Eelco Dolstra
ab3eeabfed Rename buildNativeInputs -> nativeBuildInputs
Likewise for propagatedBuildNativeInputs, etc.  "buildNativeInputs"
sounds like an imperative rather than a noun phrase.
2012-12-28 19:20:09 +01:00
Eelco Dolstra
5be0a9acd7 Rename hostDrv -> crossDrv, buildDrv -> nativeDrv
This is for consistency with terminology in stdenv (and the terms
"hostDrv" and "buildDrv" are not very intuitive, even if they're
consistent with GNU terminology).
2012-12-28 19:08:19 +01:00
Lluís Batlle i Rossell
651734b619 gcc/gcc-cross-wrapper: making gcc47 work with uclibc
It wants pthreads, and libpthreads wants libdl, and this can
only be found with -rpath-link when cross building.
2012-12-26 22:00:33 +00:00
Michael Raskin
8630db2b55 More specific tracing of a relatively tricky replace once; account for default.nix being present everywhere. 2012-12-22 14:14:48 +04:00
Michael Raskin
248d160f7c Update-walker should use basename of .upstream file for default basename of .nix 2012-12-22 13:59:02 +04:00
Eelco Dolstra
b643316a42 VM builds: Use BusyBox
http://hydra.nixos.org/build/3510928
2012-12-18 16:57:11 +01:00
Lluís Batlle i Rossell
62fa1b8782 Adding ext4 to vmTools. Otherwise, nixos build-vm fails with 'useBootLoader'. 2012-12-16 21:43:35 +01:00
Aristid Breitkreuz
e89aea5e42 add luite's mirror to cabal/hackage download expression (for when hackage.haskell.org is down) 2012-12-15 23:34:49 +01:00
Eelco Dolstra
f364619e22 Merge remote-tracking branch 'origin/master' into stdenv-updates 2012-12-12 17:01:20 +01:00
Eelco Dolstra
88dcdc9bed postgresql: Update to latest versions 2012-12-11 14:08:41 +01:00
Michael Raskin
1c3434cc16 Update E prover 2012-12-09 00:36:38 +04:00
Michael Raskin
d3e5b8feee Fix dummy pseudo-updates being found for some packages 2012-12-08 13:05:43 +04:00
Eelco Dolstra
7f115621ca Add Ubuntu 12.10 2012-12-04 20:06:07 +01:00
Eelco Dolstra
85650db656 Update Debian Squeeze to 6.0.6 2012-12-04 19:58:21 +01:00
Eelco Dolstra
b29d424115 Get deb-closure.pl to work with the latest dpkg 2012-12-04 19:56:31 +01:00
Eelco Dolstra
5e256ccc88 Merge remote-tracking branch 'origin/master' into stdenv-updates 2012-12-04 17:12:35 +01:00
Michael Raskin
20b15673f4 Update Asymptote 2012-12-04 10:33:37 +04:00
Michael Raskin
363b1f9dc2 Fixing a typo and making steps more explicit 2012-12-04 09:56:38 +04:00
Michael Raskin
f8f54dc8d3 Allow to skip more options to update-walker in simple cases. Now just an URL can work if everything is set up in default way 2012-11-25 23:57:49 +04:00
Peter Simons
f67d5a9a39 Merge branch 'master' into stdenv-updates.
Conflicts have been resolved in:

        pkgs/tools/misc/file/default.nix
        pkgs/top-level/all-packages.nix
        pkgs/top-level/python-packages.nix
2012-11-21 16:20:36 +01:00
Michael Raskin
fe4b9beae7 Support for low-impact updaters; some SF.net boilerplate helper.
Added support code for comfortable writing of upstream data update
expressions that do not require change of layout of the updated
expressions (although they make assumptions about single assignment per
line). Also added a default for choosing file to update (it is supposed
to be default.nix in the same directory) and a one-liner for typical
sourceforge redirects (and sourceforge mirror:// handling).
2012-11-10 14:38:53 +04:00
Michael Raskin
a73aa0458a Unify and make customizable output of obtained upstream data 2012-11-08 23:15:33 +04:00
Michael Raskin
8af08d0d36 Allow relative paths in upstream expressions 2012-11-08 23:15:33 +04:00
Michael Raskin
c7d2e34758 Add nspluginwrapper, a tool to execute browser plugins out-of-process 2012-11-08 11:38:34 +04:00
Michael Raskin
af2fd342cd Updating SBCL to freshest release 1.1.1.
Replacing SBCL upstream tracking expression with a new version in a new
format.

Minuses: gave up on defining everything in Nix language (now update
expression is a series of actions to do when downloading fresh release,
it is actually interpreted by shell), now Nix expression contains
meaningful whitespace (the area to regenerate is determined by the
line with a specific comment and the closing brace on the otherwise
empty line).

Plusses: only one extra file which could even be moved out-of-tree if
desired, clean semantics for traversing multiple links (it is not found
in either Debian uscan or Gentoo euscan), the main expression is in one
file and is less different from usual style.
2012-11-04 23:52:19 +04:00
Rickard Nilsson
2c0ff9bf9b Remove deprecated option --ephemeral from fetchdarcs 2012-10-22 15:02:33 +02:00
Eelco Dolstra
d5758c99a3 Merge remote-tracking branch 'origin/master' into x-updates
Conflicts:
	pkgs/misc/maven/maven-1.0.nix
	pkgs/os-specific/linux/xf86-input-wacom/default.nix
2012-09-26 14:51:51 -04:00
Eelco Dolstra
e6077fbc46 Remove getConfig helper function
An expression like ‘getConfig [ "cabal" "libraryProfiling" ] false’
can be written more concisely as ‘config.cabal.libraryProfiling or false’.
2012-09-19 13:56:56 -04:00
Eelco Dolstra
2ab46949cf Add universe repo for older Ubuntu releases 2012-09-13 17:15:58 -04:00
Eelco Dolstra
fc35bed470 Fix incorrect version of Ubuntu Maverick (10.10) 2012-09-13 17:15:58 -04:00
Peter Simons
77a21eed08 Clean up changes to the Cabal builder, which needed to be done in an awkward fashion to avoid a complete re-build of all Haskell packages. 2012-09-11 16:53:48 +02:00
Peter Simons
d5677fe6c7 stdenv-updates: merge updates from 'master' branch 2012-09-11 16:48:41 +02:00
Peter Simons
470ade254e Add support for jailbreak-cabal utility to the Cabal builder.
Jailbreaks-cabal allows Nixpkgs maintainers to quick-fix builds of packages
that over-specify their version requirements by removing the version
restrictions of all dependencies from the Cabal file. Set

  jailbreak = true

in the build expression to activate this feature.
2012-09-10 12:36:10 +02:00
Eelco Dolstra
20de8c8086 Make the "universe" repository available to the Ubuntu image generator
Also fix Ubuntu 12.04 name from "oneiric" to "precise".
2012-08-27 13:53:07 -04:00
Eelco Dolstra
bacc6ab790 Remove trailing whitespace 2012-08-27 13:53:07 -04:00
Eelco Dolstra
395718e927 Create /dev/random and /dev/urandom in VMs
WWW::Curl needs this to prevent "Fatal: no entropy gathering module
detected".
2012-08-27 13:53:07 -04:00
Lluis Batlle
ba47bf7258 fetchhg: removing the nix dependency
I don't think it's required for anything. I tried once without it, and it
worked equally fine.
2012-08-26 23:16:28 +02:00
Rob Vermaas
1d26619edf use openjdk as default for ant-build.nix 2012-08-25 19:39:49 +02:00
Peter Simons
966b4c336d mirrors.nix: use GNU mirrors before hitting the master site
Our first download URL of choice is http://ftpmirror.gnu.org/, which is an
automatic re-director.
2012-08-22 14:28:50 +02:00
Eelco Dolstra
a54734e087 vmTools: Provide hook to add more Samba shares 2012-08-16 10:55:13 -04:00
Eelco Dolstra
1baf48f087 Do some let-floating to prevent repeated evaluation of impureEnvVars 2012-08-13 15:15:16 -04:00
Shea Levy
cff9e132e7 binary-tarball.nix: Forgot to source functions.sh 2012-08-09 07:12:20 -04:00
Lluís Batlle i Rossell
a375ffa53f Adding gccgo for gcc4.7.
I tested hello world, and it works.
2012-08-03 19:49:53 +02:00
Eelco Dolstra
03f9026ac5 buildEnv: don't warn about collisions in propagated packages
This mimicks buildenv in Nix more closely.
2012-07-25 23:18:39 -04:00
Petr Rockai
ce77a5ceec Factor out repeated scriptlets from build-support/release/*.nix. 2012-07-23 20:33:04 +02:00
Petr Rockai
1eb5450bd4 Add --nodeps to rpm when test-uninstalling after a rpmBuild. 2012-07-23 20:31:51 +02:00
Petr Rockai
e1c172ab6b Call rpm -U instead of rpm -i to test package installation. 2012-07-23 20:31:35 +02:00
Shea Levy
c514ee974a Merge remote-tracking branch 'upstream/master' into x-updates
mountall conflict was trivial

Conflicts:
	pkgs/os-specific/linux/mountall/default.nix
2012-07-14 14:24:27 -04:00
Michael Raskin
77b03dbc71 update-upstream-data: Fix a small bug 2012-07-07 20:11:06 +04:00
Peter Simons
94fe7bed1d Extend compiler wrapper scripts to allow compilation of "/dev/null" input.
This feature sounds crazy, but it is used in some configure scripts (e.g. xbmc).
This patch causes an almost complete rebuild of Nixpkgs.

Patch submitted by Jan Malakhovski <oxij@oxij.org>.
2012-07-02 17:15:21 +02:00
Kirill Elagin
1be62b87fe Handle invalid references 2012-06-20 23:28:53 -04:00
Kirill Elagin
ba766ebcf4 Do not use old way of setting url and rev
This was breaking `nix-prefetch-git --url smth --ref smth` (when
expected hash is not specified)
2012-06-20 23:28:52 -04:00
Michael Raskin
43bc3880f6 Process relative URLs
svn path=/nixpkgs/trunk/; revision=34367
2012-06-06 13:26:48 +00:00
Rob Vermaas
0cbfd8ff04 * update hashes for debian queeze
svn path=/nixpkgs/trunk/; revision=34316
2012-06-01 17:53:53 +00:00
Eelco Dolstra
c2fd3c184b * Install/uninstall all RPMs in one operation. This is necessary if
the RPMs have dependencies between each other.

svn path=/nixpkgs/trunk/; revision=34303
2012-05-31 13:50:47 +00:00
Eelco Dolstra
ed2564f750 * Set the version number of generated Debian packages. Note that dpkg
apparently doesn't allows underscores in version strings, so we
  replace them by dashes.  This is the exact opposite of RPM, which
  doesn't allow dashes.

svn path=/nixpkgs/trunk/; revision=34220
2012-05-24 15:07:38 +00:00
Eelco Dolstra
8336d55993 * Be less verbose generating initrds.
svn path=/nixpkgs/trunk/; revision=34199
2012-05-21 20:47:57 +00:00
Eelco Dolstra
41840af689 * Add a setup hook ‘autoreconfHook’ to simplify packages that need to
run autoreconf:

    buildInputs = [ autoreconfHook ];

  is essentially equivalent to

    buildInputs = [ autoconf automake libtool ];
    preConfigure = "autoreconf -i";

svn path=/nixpkgs/branches/x-updates/; revision=34181
2012-05-19 02:52:36 +00:00
Eelco Dolstra
b6917d3b73 * Added Ubuntu 12.04.
svn path=/nixpkgs/trunk/; revision=34055
2012-05-11 02:04:14 +00:00
Eelco Dolstra
40609ab6d5 * Add a hook for running a test after the RPMs have been installed.
svn path=/nixpkgs/trunk/; revision=33966
2012-05-01 20:31:01 +00:00
Peter Simons
5c1b0582d2 build-support/fetchurl/mirrors.nix: add funet.fi to more mirrors
Committed on behalf of Ilja Honkonen <ilja.honkonen@helsinki.fi>.

svn path=/nixpkgs/trunk/; revision=33946
2012-04-29 18:17:50 +00:00
Eelco Dolstra
fa276c45dd * Set preferLocalBuild on a few more trivial builders.
svn path=/nixpkgs/trunk/; revision=33935
2012-04-26 15:17:43 +00:00
Eelco Dolstra
e5fc65ed40 * writeTextFile: don't use the build hook. NixOS uses this function a
lot, and it causes a lot of unnecessary overhead on machines with
  remote building enabled.

svn path=/nixpkgs/trunk/; revision=33934
2012-04-26 15:01:41 +00:00
Ludovic Courtès
04600bbec1 Darwin: Add mig', lipo', etc. to `stdenvNative'.
Consequently, remove `darwinLipoUtility', `darwinArchUtility', etc.

svn path=/nixpkgs/trunk/; revision=33893
2012-04-23 15:47:31 +00:00
Eelco Dolstra
9aa30ba705 * Pass -cpu kvm64 to keep GMP from barfing.
svn path=/nixpkgs/trunk/; revision=33848
2012-04-19 18:44:02 +00:00
Nicolas Pierron
82b308bf11 Add armv7l support.
svn path=/nixpkgs/trunk/; revision=33798
2012-04-15 23:41:25 +00:00
Eelco Dolstra
8b0bc7a745 * Add modules required by Linux 3.2.
svn path=/nixpkgs/trunk/; revision=33742
2012-04-11 07:45:12 +00:00
Eelco Dolstra
8fb94bace5 * Remove some obsolete kernel.org mirrors.
svn path=/nixpkgs/trunk/; revision=33609
2012-04-05 09:12:38 +00:00
Eelco Dolstra
8ecdd3a0aa * Don't do a mkdir in the postHook.
svn path=/nixpkgs/trunk/; revision=33569
2012-04-04 16:05:08 +00:00
Lluís Batlle i Rossell
33e42bdd8e Removing usernixos from nixpkgs trunk.
I placed a repository starting at this same svn content removed at:
http://viric.name/cgi-bin/usernixos


svn path=/nixpkgs/trunk/; revision=33459
2012-03-28 20:18:56 +00:00
Lluís Batlle i Rossell
68b5044cc0 Adding 'usernixos', where I start a modular kind-of-nixos that can go into
"nix-env -i" profiles, as a container for flexible configuration at the style
of nixos, to be defined in .nixpkgs/config.nix, with the main target of
generating an activation script.


svn path=/nixpkgs/trunk/; revision=33445
2012-03-27 20:33:49 +00:00
Eelco Dolstra
2938819d7e * Remove an unnecessary function.
svn path=/nixpkgs/trunk/; revision=33271
2012-03-19 18:13:47 +00:00
Eelco Dolstra
c3072a8df8 * When doing coverage builds, set useTempPrefix (in case we're doing
an "installcheck").

svn path=/nixpkgs/trunk/; revision=33261
2012-03-19 16:05:29 +00:00
Eelco Dolstra
9f683a5aac * After building an RPM, install and uninstall it.
svn path=/nixpkgs/trunk/; revision=33257
2012-03-19 13:40:57 +00:00
Eelco Dolstra
ebd19ec705 * For "nix-build --run-env" it's desirable that $stdenv/setup (and by
extension postHook) does nothing else than set up the environment.
  It shouldn't touch $out because there may not be a $out.  So move
  the "imperative" bits of postHook into a separate phase.

svn path=/nixpkgs/trunk/; revision=33249
2012-03-19 03:45:36 +00:00
Eelco Dolstra
06d28ca8f1 * Support setting postPhases.
svn path=/nixpkgs/trunk/; revision=33247
2012-03-19 02:45:52 +00:00
Ludovic Courtès
adcc6d4102 gcc-cross-wrapper-libs: Gracefully deal with non-existent /TRIPLET/lib dir.
This fixes the cross-MinGW environment.

svn path=/nixpkgs/trunk/; revision=33010
2012-03-12 09:45:14 +00:00
Ludovic Courtès
9d125d64bf VM: Upgrade to Debian 5.0.10.
svn path=/nixpkgs/trunk/; revision=33008
2012-03-12 08:13:10 +00:00
Ludovic Courtès
0a433261c5 VM: Make sure `smbd' is in QEMU's $PATH.
svn path=/nixpkgs/trunk/; revision=32987
2012-03-11 14:23:32 +00:00
Ludovic Courtès
5d159f8a06 runInGenericVM: Use whatever the current system is.
svn path=/nixpkgs/trunk/; revision=32970
2012-03-10 11:44:47 +00:00
Ludovic Courtès
2f01e58e61 vmTools: Use stdenv's glibc in `initrd-utils'.
svn path=/nixpkgs/trunk/; revision=32878
2012-03-08 09:40:45 +00:00
Eelco Dolstra
ed325cd1ae * We accidentally lost xz support in rpm. This broke RPM builds
(http://hydra.nixos.org/build/2230623).

svn path=/nixpkgs/trunk/; revision=32847
2012-03-07 09:47:22 +00:00
Eelco Dolstra
5e4c7aa8f3 * This substitution causes bash to hang. Urgh. Bash's pattern
substitutions aren't very reliable.

svn path=/nixpkgs/trunk/; revision=32830
2012-03-06 18:49:44 +00:00
Yury G. Kudryashov
0210e20b5a svn merge ^/nixpkgs/trunk
svn path=/nixpkgs/branches/stdenv-updates/; revision=32713
2012-03-01 07:04:39 +00:00
Arie Middelkoop
d4960f72be Added an optional parameter to "make-startupitem" to provide a prefix to the ".desktop" file.
svn path=/nixpkgs/trunk/; revision=32686
2012-02-29 12:50:17 +00:00
Ludovic Courtès
bd68cc6f5b nix-build: Honor user-provided `failureHook'.
svn path=/nixpkgs/trunk/; revision=32680
2012-02-28 17:10:50 +00:00
Shea Levy
ea195b2507 svn merge ^/nixpkgs/trunk
svn path=/nixpkgs/branches/stdenv-updates/; revision=32564
2012-02-25 19:57:34 +00:00
Arie Middelkoop
70d56e0638 Fixed autoconfPhase so that it additionally tests if ./bootstrap is a file (and not a directory with executable permission) before executing it.
svn path=/nixpkgs/trunk/; revision=32530
2012-02-23 23:50:56 +00:00
Yury G. Kudryashov
d8454e538c svn merge ^/nixpkgs/trunk
svn path=/nixpkgs/branches/stdenv-updates/; revision=32417
2012-02-20 05:30:06 +00:00
Peter Simons
cecff49b34 Moved the cabal build driver function from development/libraries/haskell/cabal to build-support/cabal.
This change also resolves the "cabal" vs. "Cabal" ambiguity on file systems
that don't distinguish case.

svn path=/nixpkgs/trunk/; revision=32401
2012-02-19 17:03:35 +00:00
Yury G. Kudryashov
5144a19987 svn merge ^/nixpkgs/trunk
There were a few merge conflicts due to ensureDir->mkdir -p migration

svn path=/nixpkgs/branches/stdenv-updates/; revision=32174
2012-02-10 10:24:30 +00:00
Eelco Dolstra
f680a3c175 * Put back the Ubuntu 10.10 images that I accidentally removed.
svn path=/nixpkgs/trunk/; revision=32141
2012-02-08 11:38:46 +00:00
Eelco Dolstra
c303784a89 * Debian 6.0.4.
svn path=/nixpkgs/trunk/; revision=32112
2012-02-07 13:19:03 +00:00
Eelco Dolstra
78ab1dd995 * Added Fedora 16 images.
svn path=/nixpkgs/trunk/; revision=32110
2012-02-07 13:14:25 +00:00
Eelco Dolstra
b22276deea * Add disk images for Ubuntu 11.10.
svn path=/nixpkgs/trunk/; revision=32109
2012-02-07 12:38:32 +00:00
Yury G. Kudryashov
215a07c1a9 svn merge ^/nixpkgs/trunk
Merge conflicts:
* unzip (almost trivial)
* dvswitch (trivial)
* gmp (copied result of `git merge`)

The last item introduced gmp-5.0.3, thus full rebuild.
+ensureDir->mkdir -p in TeX packages was catched by git but not svn.

svn path=/nixpkgs/branches/stdenv-updates/; revision=32091
2012-02-06 23:03:12 +00:00
Rob Vermaas
d52b0c377f rpmclosure, remove exit
svn path=/nixpkgs/trunk/; revision=31965
2012-02-02 09:54:16 +00:00
Rob Vermaas
6a3feaa3dc rpmclosure, also take into account rel attribute when versions are the same
svn path=/nixpkgs/trunk/; revision=31964
2012-02-02 09:53:45 +00:00
Arie Middelkoop
acda2c1967 Makes a .desktop startup item from a .desktop menu entry.
svn path=/nixpkgs/trunk/; revision=31958
2012-02-01 22:06:49 +00:00
Yury G. Kudryashov
5b132f6e96 svn merge ^/nixpkgs/trunk
Conflicts: cups, all-packages.nix (gcc45_debug)

svn path=/nixpkgs/branches/stdenv-updates/; revision=31863
2012-01-26 15:27:03 +00:00
Lluís Batlle i Rossell
4a1c721c01 Changing every reference from mips64-linux to mips64el-linux. That's
what the new nix thinks the fuloong is.

Anyone having the old nix should use a nixpkgs previous to this change to build
the new nix. And then, with the new nix, he can use any newer nixpkgs revision.

svn path=/nixpkgs/trunk/; revision=31751
2012-01-21 00:34:51 +00:00
Eelco Dolstra
1e7d074f1d * builderDefs: don't use param1-5.
svn path=/nixpkgs/branches/stdenv-updates/; revision=31737
2012-01-20 15:10:56 +00:00
Eelco Dolstra
c556a6ea46 * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointless
function, so obsolete it.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31644
2012-01-18 20:16:00 +00:00
Yury G. Kudryashov
0c79434ccb svn merge ^/nixpkgs/trunk
svn path=/nixpkgs/branches/stdenv-updates/; revision=31567
2012-01-14 21:34:37 +00:00
Rob Vermaas
080c0b2f38 prefer local builds for fetchhg
svn path=/nixpkgs/trunk/; revision=31462
2012-01-10 06:41:44 +00:00
Yury G. Kudryashov
3d61c49b42 svn merge ^/nixpkgs/trunk
svn path=/nixpkgs/branches/stdenv-updates/; revision=31268
2012-01-04 09:54:17 +00:00
Yury G. Kudryashov
b3709689db Add modemmanager
svn path=/nixpkgs/trunk/; revision=31263
2012-01-04 09:05:22 +00:00