pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/45802: meta-pkgs/boost, update to 1.48 breaks games/wesnoth and possible others
>Number: 45802
>Category: pkg
>Synopsis: meta-pkgs/boost, update to 1.48 breaks games/wesnoth and
>possible others
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Jan 09 04:55:00 +0000 2012
>Originator: B.ICT A.P. deBROUWER Jr.
>Release: 5.99.59
>Organization:
-none-
>Environment:
NetBSD 10.0.2.17 5.99.59 NetBSD 5.99.59 (MONOLITHIC) #0: Tue Dec 27 01:19:12
UTC 2011
builds%b8.netbsd.org@localhost:/home/builds/ab/HEAD/i386/201112261820Z-obj/home/builds/ab/HEAD/src/sys/arch/i386/compile/MONOLITHIC
i386
>Description:
the latest boost update from 1.47.0 to 1.48.0 breaks games/wesnoth.
upstream boost is aware but no release yet.
https://svn.boost.org/trac/boost/ticket/6131
https://svn.boost.org/trac/boost/changeset/75540
games/wesnoth build will break like:
if [ "" = "" ] || [ "" = "exported" ]; then echo '' >/tmp/westemp$$; else echo
'#define REVISION ""' >/tmp/westemp$$; fi; if cmp -s revision.hpp
/tmp/westemp$$ 2>/dev/null; then :; else cp /tmp/westemp$$ revision.hpp; fi;
if [ -e /tmp/westemp$$ ]; then rm /tmp/westemp$$; fi
c++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -I/usr/pkg/include/SDL
-I/usr/pkg/include -I/usr/pkg/include/freetype2 -I/usr/include
-I/usr/pkg/include -pthread -D_REENTRANT -I/usr/pkg/include/pango-1.0
-I/usr/pkg/include/cairo -I/usr/pkg/include/glib/glib-2.0
-I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/pixman-1 -I/usr/pkg/include
-I/usr/pkg/include/freetype2 -I/usr/pkg/include/libpng15 -I/usr/pkg/include
-DHAVE_REVISION -I../intl -I../intl -I/usr/pkg/include/SDL -D_GNU_SOURCE=1
-D_REENTRANT -D_THREAD_SAFE -DWESNOTH_PATH=\"/usr/pkg/share/wesnoth\"
-DLOCALEDIR=\"translations\" -DHAS_RELATIVE_LOCALEDIR=1
-DFIFODIR=\"/usr/pkg/var/run/wesnothd\" -DWESNOTH_PREFIX=\"/usr/pkg\"
-Wno-unused-parameter -Wno-strict-aliasing -O2 -W -Wall -ansi -O2 -pthread
-I/usr/include -I/usr/pkg/include/SDL -I/usr/pkg/include
-I/usr/pkg/include/freetype2 -DDISABLE_POOL_ALLOC -DOLD_FRIBIDI
-I/usr/pkg/include/fribidi -D_X11 -I/usr/pkg/include -c -o language.o
language.cpp
In file included from language.cpp:18:0:
foreach.hpp:6:17: error: 'boost::BOOST_FOREACH' has not been declared
*** Error code 1
>How-To-Repeat:
cd pkgsrc/games/wesnoth && make
>Fix:
conform https://svn.boost.org/trac/boost/changeset/75540:
$NetBSD$
https://svn.boost.org/trac/boost/ticket/6131
--- boost/foreach.hpp.orig 2012-01-09 03:15:22.000000000 +0000
+++ boost/foreach.hpp 2012-01-09 03:16:51.000000000 +0000
@@ -165,7 +165,7 @@
// this one works on legacy compilers. Overload
boost_foreach_is_lightweight_proxy
// at the global namespace for your type.
template<typename T>
-inline boost::foreach::is_lightweight_proxy<T> *
+inline boost::BOOST_FOREACH::is_lightweight_proxy<T> *
boost_foreach_is_lightweight_proxy(T *&, BOOST_FOREACH_TAG_DEFAULT) { return
0; }
template<typename T>
@@ -190,7 +190,7 @@
// this one works on legacy compilers. Overload boost_foreach_is_noncopyable
// at the global namespace for your type.
template<typename T>
-inline boost::foreach::is_noncopyable<T> *
+inline boost::BOOST_FOREACH::is_noncopyable<T> *
boost_foreach_is_noncopyable(T *&, BOOST_FOREACH_TAG_DEFAULT) { return 0; }
namespace boost
$NetBSD$
--- boost/foreach_fwd.hpp.orig 2012-01-09 03:15:43.000000000 +0000
+++ boost/foreach_fwd.hpp 2012-01-09 03:25:32.000000000 +0000
@@ -14,6 +14,8 @@
#ifndef BOOST_FOREACH_FWD_HPP
#define BOOST_FOREACH_FWD_HPP
+#include <utility> // for std::pair
+
// This must be at global scope, hence the uglified name
enum boost_foreach_argument_dependent_lookup_hack
{
@@ -25,6 +27,9 @@
namespace foreach
{
+ template<typename T>
+ std::pair<T, T> in_range(T begin, T end);
+
///////////////////////////////////////////////////////////////////////////////
// boost::foreach::tag
//
@@ -46,6 +51,24 @@
} // namespace foreach
-} // namespace boost
+// Workaround for unfortunate https://svn.boost.org/trac/boost/ticket/6131
+namespace BOOST_FOREACH
+{
+ using foreach::in_range;
+ using foreach::tag;
+
+ template<typename T>
+ struct is_lightweight_proxy
+ : foreach::is_lightweight_proxy<T>
+ {};
+
+ template<typename T>
+ struct is_noncopyable
+ : foreach::is_noncopyable<T>
+ {};
+
+} // namespace BOOST_FOREACH
+} // namespace boost
+
#endif
Home |
Main Index |
Thread Index |
Old Index