aboutsummaryrefslogtreecommitdiffstats
path: root/games
diff options
context:
space:
mode:
authorjbeich <jbeich@FreeBSD.org>2018-08-04 01:36:22 +0800
committerjbeich <jbeich@FreeBSD.org>2018-08-04 01:36:22 +0800
commit008097542bf447665890f6768ad1daea2047b159 (patch)
treee6953b53300d0c522f8f4c9fe928e3148ba4ce51 /games
parentb053f9972b26301789eae302ce436bc42c5a8a5b (diff)
downloadfreebsd-ports-gnome-008097542bf447665890f6768ad1daea2047b159.tar.gz
freebsd-ports-gnome-008097542bf447665890f6768ad1daea2047b159.tar.zst
freebsd-ports-gnome-008097542bf447665890f6768ad1daea2047b159.zip
games/freeorion: unbreak with boost 1.68
In file included from GG/src/GUI.cpp:44: GG/src/gilext/io/png_io.hpp:39:10: fatal error: 'boost/gil/extension/io/io_error.hpp' file not found #include <boost/gil/extension/io/io_error.hpp> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GG/src/gilext/io/png_io_private.hpp:46:37: error: use of undeclared identifier 'bits8' template <> struct png_is_supported<bits8,gray_t> {BOOST_STATIC_CONSTANT(bool,value=true);}; ^ In file included from GG/src/Texture.cpp:39: GG/src/gilext/io/png_dynamic_io.hpp:37:10: fatal error: 'boost/gil/extension/io/dynamic_io.hpp' file not found #include <boost/gil/extension/io/dynamic_io.hpp> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from GG/src/gilext/io/png_dynamic_io.hpp:43: In file included from GG/src/gilext/io/png_io.hpp:38: In file included from GG/src/gilext/io/png_io_private.hpp:30: GG/src/gilext/io/../typedefs.hpp:30:40: error: too few arguments provided to function-like macro invocation GIL_DEFINE_BASE_TYPEDEFS(8, gray_alpha) ^ /usr/local/include/boost/gil/typedefs.hpp:86:9: note: macro 'GIL_DEFINE_BASE_TYPEDEFS' defined here #define GIL_DEFINE_BASE_TYPEDEFS(B, CM, CS) \ ^ In file included from GG/src/GUI.cpp:44: In file included from GG/src/gilext/io/png_io.hpp:40: GG/src/gilext/io/png_io_private.hpp:167:27: error: expected class name class png_reader : public file_mgr { ^ PR: 229699 Obtained from: upstream Approved by: maintainer timeout (2 weeks)
Diffstat (limited to 'games')
-rw-r--r--games/freeorion/Makefile1
-rw-r--r--games/freeorion/files/patch-boost168168
2 files changed, 169 insertions, 0 deletions
diff --git a/games/freeorion/Makefile b/games/freeorion/Makefile
index 7bca3dba4bf7..a7493f4e3c57 100644
--- a/games/freeorion/Makefile
+++ b/games/freeorion/Makefile
@@ -4,6 +4,7 @@
PORTNAME= freeorion
DISTVERSIONPREFIX= v
DISTVERSION= 0.4.8-rc1
+PORTREVISION= 1
CATEGORIES= games
MAINTAINER= amdmi3@FreeBSD.org
diff --git a/games/freeorion/files/patch-boost168 b/games/freeorion/files/patch-boost168
new file mode 100644
index 000000000000..da4abc40376d
--- /dev/null
+++ b/games/freeorion/files/patch-boost168
@@ -0,0 +1,168 @@
+https://github.com/freeorion/freeorion/pull/2221
+
+--- GG/CMakeLists.txt.orig 2018-06-14 14:12:09 UTC
++++ GG/CMakeLists.txt
+@@ -144,6 +144,16 @@ if(USE_STATIC_LIBS)
+ )
+ endif()
+
++target_compile_definitions(GiGi
++ PRIVATE
++
++ # Starting with boost 1.68 boost::gil integrates support for
++ # grayscale-alpha png images, so prefer their implementation
++ # instead of our hacky gilext code.
++ $<$<VERSION_LESS:${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION},1.68>:GIGI_CONFIG_USE_OLD_IMPLEMENTATION_OF_GIL_PNG_IO>
++ $<$<VERSION_GREATER:${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION},1.67>:BOOST_GIL_IO_ENABLE_GRAY_ALPHA>
++)
++
+ target_include_directories(GiGi SYSTEM
+ PRIVATE
+ ${Boost_INCLUDE_DIRS}
+--- GG/src/GUI.cpp.orig 2018-06-14 14:12:09 UTC
++++ GG/src/GUI.cpp
+@@ -37,14 +37,19 @@
+ #include <GG/ZList.h>
+
+ #if GG_HAVE_LIBPNG
+-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 7)
+-# pragma GCC diagnostic push
+-# pragma GCC diagnostic ignored "-Wunused-local-typedefs"
++# if GIGI_CONFIG_USE_OLD_IMPLEMENTATION_OF_GIL_PNG_IO
++# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 7)
++# pragma GCC diagnostic push
++# pragma GCC diagnostic ignored "-Wunused-local-typedefs"
++# endif
++# include "gilext/io/png_io.hpp"
++# include "gilext/io/png_io_v2_compat.hpp"
++# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 7)
++# pragma GCC diagnostic pop
++# endif
++# else
++# include <boost/gil/extension/io/png.hpp>
+ # endif
+-# include "gilext/io/png_io.hpp"
+-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 7)
+-# pragma GCC diagnostic pop
+-# endif
+ #endif
+
+ #include <boost/algorithm/string/predicate.hpp>
+@@ -132,12 +137,15 @@ namespace {
+ glPopClientAttrib();
+
+ using namespace boost::gil;
+- png_write_view(filename,
+- flipped_up_down_view(
+- interleaved_view(Value(size.x),
+- Value(size.y),
+- static_cast<rgba8_pixel_t*>(static_cast<void*>(&bytes[0])),
+- Value(size.x) * sizeof(rgba8_pixel_t))));
++ write_view(
++ filename,
++ flipped_up_down_view(
++ interleaved_view(
++ Value(size.x),
++ Value(size.y),
++ static_cast<rgba8_pixel_t*>(static_cast<void*>(&bytes[0])),
++ Value(size.x) * sizeof(rgba8_pixel_t))),
++ png_tag());
+ #endif
+ }
+ }
+--- GG/src/Texture.cpp.orig 2018-06-14 14:12:09 UTC
++++ GG/src/Texture.cpp
+@@ -36,7 +36,12 @@
+ #include <boost/algorithm/string/case_conv.hpp>
+
+ #if GG_HAVE_LIBPNG
+-# include "gilext/io/png_dynamic_io.hpp"
++# if GIGI_CONFIG_USE_OLD_IMPLEMENTATION_OF_GIL_PNG_IO
++# include "gilext/io/png_dynamic_io.hpp"
++# include "gilext/io/png_io_v2_compat.hpp"
++# else
++# include <boost/gil/extension/io/png.hpp>
++# endif
+ #endif
+
+ #include <iostream>
+@@ -241,12 +246,12 @@ void Texture::Load(const boost::filesystem::path& path
+ // formats above.
+ #if GG_HAVE_LIBPNG
+ if (extension == ".png")
+- gil::png_read_image(path, image);
++ gil::read_image(filename, image, gil::image_read_settings<gil::png_tag>());
+ else
+ #endif
+ #if GG_HAVE_LIBTIFF
+ if (extension == ".tif" || extension == ".tiff")
+- gil::tiff_read_image(filename, image);
++ gil::read_image(filename, image, gil::image_read_settings<gil::tiff_tag>());
+ else
+ #endif
+ throw BadFile("Texture file \"" + filename + "\" does not have a supported file extension");
+@@ -256,14 +261,14 @@ void Texture::Load(const boost::filesystem::path& path
+ #if GG_HAVE_LIBPNG
+ if (extension == ".png") {
+ gil::rgba8_image_t rgba_image;
+- gil::png_read_and_convert_image(path, rgba_image);
++ gil::read_and_convert_image(filename, rgba_image, gil::image_read_settings<gil::png_tag>());
+ image.move_in(rgba_image);
+ }
+ #endif
+ #if GG_HAVE_LIBTIFF
+ if (extension == ".tif" || extension == ".tiff") {
+ gil::rgba8_image_t rgba_image;
+- gil::tiff_read_and_convert_image(filename, rgba_image);
++ gil::read_and_convert_image(filename, rgba_image, gil::image_read_settings<gil::tiff_tag>());
+ image.move_in(rgba_image);
+ }
+ #endif
+--- GG/src/gilext/io/png_io_v2_compat.hpp.orig 2018-07-20 13:44:48 UTC
++++ GG/src/gilext/io/png_io_v2_compat.hpp
+@@ -0,0 +1,45 @@
++#ifndef GILEXT_PNG_IO_V2_COMPAT_H
++#define GILEXT_PNG_IO_V2_COMPAT_H
++
++namespace boost { namespace gil {
++
++struct png_tag {};
++
++template< typename Tag>
++struct image_read_settings {};
++
++template< typename String
++ , typename Image
++ , typename FormatTag
++ >
++inline
++void read_image( const String& file_name
++ , Image& image
++ , const FormatTag& tag
++ )
++{ boost::gil::png_read_image(file_name, image); }
++
++template< typename String
++ , typename Image
++ , typename FormatTag
++ >
++inline
++void read_and_convert_image( const String& file_name
++ , Image& image
++ , const FormatTag& tag
++ )
++{ boost::gil::png_read_and_convert_image(file_name, image); }
++} }
++
++template< typename String
++ , typename View
++ , typename FormatTag
++ >
++inline
++void write_view( const String& file_name
++ , const View& view
++ , const FormatTag& tag
++ )
++{ boost::gil::png_write_view( file_name, view); }
++
++#endif