about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2009-04-09 08:43:46 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2009-04-09 08:43:46 +0000
commitf2867f237ba197579f0f64dfd70711affac02ae0 (patch)
treea7c83df59e11a56bbbc03c94b7685c5a38e17626
parent4962864417775803ab32a92eacf6857e77fffa70 (diff)
downloadnixlib-f2867f237ba197579f0f64dfd70711affac02ae0.tar
nixlib-f2867f237ba197579f0f64dfd70711affac02ae0.tar.gz
nixlib-f2867f237ba197579f0f64dfd70711affac02ae0.tar.bz2
nixlib-f2867f237ba197579f0f64dfd70711affac02ae0.tar.lz
nixlib-f2867f237ba197579f0f64dfd70711affac02ae0.tar.xz
nixlib-f2867f237ba197579f0f64dfd70711affac02ae0.tar.zst
nixlib-f2867f237ba197579f0f64dfd70711affac02ae0.zip
* Boost: provide a variant boostFull that has all the static, debug,
  and single-threaded libraries.

svn path=/nixpkgs/trunk/; revision=14959
-rw-r--r--pkgs/development/libraries/boost/1.38.0.nix27
-rw-r--r--pkgs/top-level/all-packages.nix9
2 files changed, 33 insertions, 3 deletions
diff --git a/pkgs/development/libraries/boost/1.38.0.nix b/pkgs/development/libraries/boost/1.38.0.nix
index b88e1dc1fda1..0a01ca80e787 100644
--- a/pkgs/development/libraries/boost/1.38.0.nix
+++ b/pkgs/development/libraries/boost/1.38.0.nix
@@ -1,4 +1,27 @@
-{stdenv, fetchurl, icu, expat, zlib, bzip2, python}:
+{ stdenv, fetchurl, icu, expat, zlib, bzip2, python
+, enableRelease ? true
+, enableDebug ? false
+, enableSingleThreaded ? false
+, enableMultiThreaded ? true
+, enableShared ? true
+, enableStatic ? false
+}:
+
+let
+
+  variant = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableRelease "release" ++
+     stdenv.lib.optional enableDebug "debug");
+
+  threading = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableSingleThreaded "single" ++
+     stdenv.lib.optional enableMultiThreaded "multi");
+
+  link = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableShared "shared" ++
+     stdenv.lib.optional enableStatic "static");
+
+in
 
 stdenv.mkDerivation {
   name = "boost-1.38.0";
@@ -17,7 +40,7 @@ stdenv.mkDerivation {
   buildInputs = [icu expat zlib bzip2 python];
 
   preBuild = ''
-    makeFlagsArray=(BJAM_CONFIG="-sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=system variant=release threading=multi link=shared")
+    makeFlagsArray=(BJAM_CONFIG="-sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=system variant=${variant} threading=${threading} link=${link}")
   '';
     
   configureFlags = "--with-icu=${icu} --with-python=${python}";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2e676c9d64a5..4a0969e7e6ab 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2787,10 +2787,17 @@ let
     inherit fetchurl stdenv icu expat zlib bzip2 python;
   };
   
-  boost = import ../development/libraries/boost/1.38.0.nix {
+  boost = makeOverridable (import ../development/libraries/boost/1.38.0.nix) {
     inherit fetchurl stdenv icu expat zlib bzip2 python;
   };
 
+  # A Boost build with all library variants enabled.  Very large (about 250 MB).
+  boostFull = appendToName "full" (boost.override {
+    enableDebug = true;
+    enableSingleThreaded = true;
+    enableStatic = true;
+  });
+
   botan = builderDefsPackage (import ../development/libraries/botan) {
     inherit perl;
   };