Commit graph

1030 commits

Author SHA1 Message Date
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