diff options
author | Tobias C. Berner <tcberner@FreeBSD.org> | 2019-03-29 19:07:31 +0000 |
---|---|---|
committer | Tobias C. Berner <tcberner@FreeBSD.org> | 2019-03-29 19:07:31 +0000 |
commit | 4caf55a84dcb2a2da1bb20ae825943715b1079be (patch) | |
tree | bcf6552c48a7a6994045b22801bfff2a90c8ae29 /graphics/exiv2 | |
parent | c6ab91852f2c0b98b44278f71e28d5417a4bec9d (diff) | |
download | ports-4caf55a84dcb2a2da1bb20ae825943715b1079be.tar.gz ports-4caf55a84dcb2a2da1bb20ae825943715b1079be.zip |
graphics/exiv2: add patch to fix gimp
Modify upstrams fix [1] for FreeBSD.
PR: 236677
Reported by: Vladimir Omelchuk <admin@vladiom.com.ua>
Notes
Notes:
svn path=/head/; revision=497188
Diffstat (limited to 'graphics/exiv2')
-rw-r--r-- | graphics/exiv2/Makefile | 1 | ||||
-rw-r--r-- | graphics/exiv2/files/patch-git_04c9b1 | 88 |
2 files changed, 89 insertions, 0 deletions
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?= <piponazo@gmail.com> +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<charT> 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<char>::setMsg() + { +@@ -257,7 +256,9 @@ namespace Exiv2 { + wmsg_ = s2ws(msg); + #endif + } +- //! @endcond ++#ifdef __FreeBSD__ ++ template class EXIV2API BasicError<char>; ++#endif + + #ifdef EXV_UNICODE_PATH + template<> +@@ -291,6 +292,7 @@ namespace Exiv2 { + wmsg_ = wmsg; + msg_ = ws2s(wmsg); + } ++ template class EXIV2API BasicError<wchar_t>; + #endif + + const char* errMsg(int code) |