summary refs log tree commit diff
path: root/pkgs/development/libraries/boost
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2011-07-20 23:11:16 +0000
committerPeter Simons <simons@cryp.to>2011-07-20 23:11:16 +0000
commit7f94a9ffbf94a2f17c5508362f488fc8596474fb (patch)
tree191fc7872d281b7d2ac6a324fbc06ba065e34b89 /pkgs/development/libraries/boost
parentbb87bf9a5526efc48da65744de74e48a59084835 (diff)
downloadnixpkgs-7f94a9ffbf94a2f17c5508362f488fc8596474fb.tar
nixpkgs-7f94a9ffbf94a2f17c5508362f488fc8596474fb.tar.gz
nixpkgs-7f94a9ffbf94a2f17c5508362f488fc8596474fb.tar.bz2
nixpkgs-7f94a9ffbf94a2f17c5508362f488fc8596474fb.tar.lz
nixpkgs-7f94a9ffbf94a2f17c5508362f488fc8596474fb.tar.xz
nixpkgs-7f94a9ffbf94a2f17c5508362f488fc8596474fb.tar.zst
nixpkgs-7f94a9ffbf94a2f17c5508362f488fc8596474fb.zip
boost: fix "locale::facet::_S_create_c_locale name not valid" error
One would assume that the boost maintainers would have been able to apply this
two line change within the last 10 months or so, but apparently not.

svn path=/nixpkgs/trunk/; revision=27864
Diffstat (limited to 'pkgs/development/libraries/boost')
-rw-r--r--pkgs/development/libraries/boost/boost_filesystem.patch24
-rw-r--r--pkgs/development/libraries/boost/default.nix3
2 files changed, 27 insertions, 0 deletions
diff --git a/pkgs/development/libraries/boost/boost_filesystem.patch b/pkgs/development/libraries/boost/boost_filesystem.patch
new file mode 100644
index 00000000000..f32e9ed572d
--- /dev/null
+++ b/pkgs/development/libraries/boost/boost_filesystem.patch
@@ -0,0 +1,24 @@
+diff -ubr boost_1_47_0/libs/filesystem/v2/src/v2_path.cpp boost_1_47_0-patched/libs/filesystem/v2/src/v2_path.cpp
+--- boost_1_47_0/libs/filesystem/v2/src/v2_path.cpp	2011-01-11 22:39:33.000000000 +0100
++++ boost_1_47_0-patched/libs/filesystem/v2/src/v2_path.cpp	2011-07-21 01:06:26.000000000 +0200
+@@ -45,7 +45,7 @@
+   {
+ #if !defined(macintosh) && !defined(__APPLE__) && !defined(__APPLE_CC__) 
+     // ISO C calls this "the locale-specific native environment":
+-    static std::locale lc("");
++    static std::locale lc;
+ #else  // Mac OS
+     // "All BSD system functions expect their string parameters to be in UTF-8 encoding
+     // and nothing else."
+diff -ubr boost_1_47_0/libs/filesystem/v3/src/path.cpp boost_1_47_0-patched/libs/filesystem/v3/src/path.cpp
+--- boost_1_47_0/libs/filesystem/v3/src/path.cpp	2011-07-05 16:49:42.000000000 +0200
++++ boost_1_47_0-patched/libs/filesystem/v3/src/path.cpp	2011-07-21 01:06:26.000000000 +0200
+@@ -767,7 +767,7 @@
+     // or LANG are wrong, for example), so dynamic initialization is used to ensure
+     // that exceptions can be caught.
+ 
+-    return std::locale("");
++    return std::locale();
+ 
+ #   endif
+   }
diff --git a/pkgs/development/libraries/boost/default.nix b/pkgs/development/libraries/boost/default.nix
index bd3ddd2ba73..12aa1ba0fee 100644
--- a/pkgs/development/libraries/boost/default.nix
+++ b/pkgs/development/libraries/boost/default.nix
@@ -48,6 +48,9 @@ stdenv.mkDerivation {
     sha256 = "815a5d9faac4dbd523fbcf3fe1065e443c0bbf43427c44aa423422c6ec4c2e31";
   };
 
+  # See <http://svn.boost.org/trac/boost/ticket/4688>.
+  patches = [ ./boost_filesystem.patch ];
+
   enableParallelBuilding = true;
 
   buildInputs = [icu expat zlib bzip2 python];