]> git.pld-linux.org Git - packages/boost.git/commitdiff
- fix hash_value() issue in wesnoth auto/th/boost-1.51.0-3
authorJan Rękorajski <baggins@pld-linux.org>
Sat, 22 Sep 2012 21:54:39 +0000 (23:54 +0200)
committerJan Rękorajski <baggins@pld-linux.org>
Sat, 22 Sep 2012 21:54:39 +0000 (23:54 +0200)
- rel 3

boost-hash-enum.patch [new file with mode: 0644]
boost.spec

diff --git a/boost-hash-enum.patch b/boost-hash-enum.patch
new file mode 100644 (file)
index 0000000..e00795f
--- /dev/null
@@ -0,0 +1,40 @@
+$NetBSD: patch-boost_functional_hash_hash.hpp,v 1.1 2012/08/31 12:20:56 adam Exp $
+
+Allow hashing enums.
+
+--- boost/functional/hash/hash.hpp.orig        2012-07-15 23:28:30.000000000 +0000
++++ boost/functional/hash/hash.hpp
+@@ -15,6 +15,8 @@
+ #include <boost/functional/hash/detail/hash_float.hpp>
+ #include <string>
+ #include <boost/limits.hpp>
++#include <boost/type_traits/is_enum.hpp>
++#include <boost/utility/enable_if.hpp>
+ #if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
+ #include <boost/type_traits/is_pointer.hpp>
+@@ -90,6 +92,10 @@ namespace boost
+     template <typename T>
+     typename boost::hash_detail::ulong_numbers<T>::type hash_value(T);
++    template <typename T>
++    typename boost::enable_if<boost::is_enum<T>, std::size_t>::type
++      hash_value(T);
++
+ #if !BOOST_WORKAROUND(__DMC__, <= 0x848)
+     template <class T> std::size_t hash_value(T* const&);
+ #else
+@@ -179,6 +185,13 @@ namespace boost
+         return hash_detail::hash_value_unsigned(v);
+     }
++    template <typename T>
++    typename boost::enable_if<boost::is_enum<T>, std::size_t>::type
++      hash_value(T v)
++    {
++      return static_cast<std::size_t>(v);
++    }
++
+     // Implementation by Alberto Barbati and Dave Harris.
+ #if !BOOST_WORKAROUND(__DMC__, <= 0x848)
+     template <class T> std::size_t hash_value(T* const& v)
index 43d9bac8d900f84e04be9d6248c3176954a79592..18967aaaf7d6163755a51069a57c478408865add 100644 (file)
@@ -11,12 +11,13 @@ Summary:    The Boost C++ Libraries
 Summary(pl.UTF-8):     Biblioteki C++ "Boost"
 Name:          boost
 Version:       1.51.0
-Release:       2
+Release:       3
 License:       Boost Software License and others
 Group:         Libraries
 Source0:       http://downloads.sourceforge.net/boost/%{name}_%{fver}.tar.bz2
 # Source0-md5: 4b6bd483b692fd138aef84ed2c8eb679
 Patch0:                %{name}-link.patch
+Patch1:                %{name}-hash-enum.patch
 URL:           http://www.boost.org/
 BuildRequires: bzip2-devel
 BuildRequires: expat-devel
@@ -365,6 +366,7 @@ Dokumentacja dla biblioteki Boost C++.
 %prep
 %setup -q -n %{name}_%{fver}
 %patch0 -p1
+%patch1 -p0
 
 # - don't know how to pass it through (b)jam -s (no way?)
 #   due to oversophisticated build flags system.
This page took 0.184178 seconds and 4 git commands to generate.