From 4caf55a84dcb2a2da1bb20ae825943715b1079be Mon Sep 17 00:00:00 2001 From: "Tobias C. Berner" Date: Fri, 29 Mar 2019 19:07:31 +0000 Subject: [PATCH] graphics/exiv2: add patch to fix gimp Modify upstrams fix [1] for FreeBSD. PR: 236677 Reported by: Vladimir Omelchuk --- graphics/exiv2/Makefile | 1 + graphics/exiv2/files/patch-git_04c9b1 | 88 +++++++++++++++++++++++++++ graphics/gexiv2/Makefile | 2 +- graphics/gimp-app/Makefile | 2 +- 4 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 graphics/exiv2/files/patch-git_04c9b1 diff --git a/graphics/exiv2/Makefile b/graphics/exiv2/Makefile index 5567b525f744..ba731d348dac 100644 --- a/graphics/exiv2/Makefile +++ b/graphics/exiv2/Makefile @@ -4,6 +4,7 @@ PORTNAME= exiv2 DISTVERSION= 0.27.0 DISTVERSIONSUFFIX= a-Source +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= graphics MASTER_SITES= http://www.exiv2.org/builds/ diff --git a/graphics/exiv2/files/patch-git_04c9b1 b/graphics/exiv2/files/patch-git_04c9b1 new file mode 100644 index 000000000000..55f3cce0cb79 --- /dev/null +++ b/graphics/exiv2/files/patch-git_04c9b1 @@ -0,0 +1,88 @@ +Slightly modified: + +From 04c9b181cc2c7741fcb134ccc43f2bafc1f86f19 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= +Date: Sat, 12 Jan 2019 12:15:27 +0000 +Subject: [PATCH] Fix #644. Export specializations of BasicError + +- Only export BasicError::setMsg which is the only implementation present in the .cpp +- Only export BasicError specialization on __APPLE__ + +It seems that gcc automatically adds the attribute when the visibility +settings are set to hidden. See this link for more information: +https://reviews.llvm.org/D35388 +--- + cmake/mainSetup.cmake | 6 ++++-- + include/exiv2/error.hpp | 3 ++- + src/error.cpp | 6 ++++-- + 3 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/cmake/mainSetup.cmake b/cmake/mainSetup.cmake +index 05c16004d..a4d983d4c 100644 +--- cmake/mainSetup.cmake ++++ cmake/mainSetup.cmake +@@ -13,8 +13,10 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + +-set(CMAKE_CXX_VISIBILITY_PRESET hidden) +-set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) ++if (NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang") ++ set(CMAKE_CXX_VISIBILITY_PRESET hidden) ++ set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) ++endif() + + set(CMAKE_CXX_STANDARD 98) + set(CMAKE_CXX_STANDARD_REQUIRED ON) +diff --git a/include/exiv2/error.hpp b/include/exiv2/error.hpp +index 0f9714e5b..42a0959c4 100644 +--- include/exiv2/error.hpp ++++ include/exiv2/error.hpp +@@ -315,7 +315,7 @@ namespace Exiv2 { + std::basic_string arg3_; //!< Third argument + std::string msg_; //!< Complete error message + #ifdef EXV_UNICODE_PATH +- std::wstring wmsg_; //!< Complete error message as a wide string ++ std::wstring wmsg_; //!< Complete error message as a wide string + #endif + }; // class BasicError + +@@ -389,6 +389,7 @@ namespace Exiv2 { + return wmsg_.c_str(); + } + #endif ++ + #ifdef _MSC_VER + # pragma warning( default : 4275 ) + #endif +diff --git a/src/error.cpp b/src/error.cpp +index 6d3a24bd8..c8e2d9e0d 100644 +--- src/error.cpp ++++ src/error.cpp +@@ -224,7 +224,6 @@ namespace Exiv2 { + { + } + +- //! @cond IGNORE + template<> + void BasicError::setMsg() + { +@@ -257,7 +256,9 @@ namespace Exiv2 { + wmsg_ = s2ws(msg); + #endif + } +- //! @endcond ++#ifdef __FreeBSD__ ++ template class EXIV2API BasicError; ++#endif + + #ifdef EXV_UNICODE_PATH + template<> +@@ -291,6 +292,7 @@ namespace Exiv2 { + wmsg_ = wmsg; + msg_ = ws2s(wmsg); + } ++ template class EXIV2API BasicError; + #endif + + const char* errMsg(int code) diff --git a/graphics/gexiv2/Makefile b/graphics/gexiv2/Makefile index 021b6ec33ecd..c6edf957e4ba 100644 --- a/graphics/gexiv2/Makefile +++ b/graphics/gexiv2/Makefile @@ -3,7 +3,7 @@ PORTNAME= gexiv2 PORTVERSION= 0.10.9 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= graphics MASTER_SITES= GNOME diff --git a/graphics/gimp-app/Makefile b/graphics/gimp-app/Makefile index 9367f5cdabbd..e3297fcd3cdb 100644 --- a/graphics/gimp-app/Makefile +++ b/graphics/gimp-app/Makefile @@ -3,7 +3,7 @@ PORTNAME?= gimp-app PORTVERSION= 2.10.8 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH?= 1 CATEGORIES?= graphics gnome MASTER_SITES= GIMP/gimp/v${PORTVERSION:R}