1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-26 05:02:18 +00:00

graphics/exiv2: add patch to fix gimp

Modify upstrams fix [1] for FreeBSD.

PR:		236677
Reported by:	Vladimir Omelchuk <admin@vladiom.com.ua>
This commit is contained in:
Tobias C. Berner 2019-03-29 19:07:31 +00:00
parent c6ab91852f
commit 4caf55a84d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=497188
4 changed files with 91 additions and 2 deletions

View File

@ -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/

View File

@ -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)

View File

@ -3,7 +3,7 @@
PORTNAME= gexiv2
PORTVERSION= 0.10.9
PORTREVISION= 3
PORTREVISION= 4
CATEGORIES= graphics
MASTER_SITES= GNOME

View File

@ -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}