commit:     62dd0d84ce139e725fb8890b85fc1cfbff2e0c4e
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  7 00:08:53 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Aug  7 07:05:39 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62dd0d84

media-gfx/exiv2: Fix build with clang

Reported-by: David Carlos Manuelda <StormByte <AT> gmail.com>
Closes: https://bugs.gentoo.org/662934
Package-Manager: Portage-2.3.44, Repoman-2.3.10

 media-gfx/exiv2/exiv2-0.26_p20180319.ebuild        |  3 +-
 .../files/exiv2-0.26_p20180319-clang-fix.patch     | 47 ++++++++++++++++++++++
 2 files changed, 49 insertions(+), 1 deletion(-)

diff --git a/media-gfx/exiv2/exiv2-0.26_p20180319.ebuild 
b/media-gfx/exiv2/exiv2-0.26_p20180319.ebuild
index 478ea7a79b1..eb2572dfcf3 100644
--- a/media-gfx/exiv2/exiv2-0.26_p20180319.ebuild
+++ b/media-gfx/exiv2/exiv2-0.26_p20180319.ebuild
@@ -48,9 +48,10 @@ DOCS=( README doc/ChangeLog doc/cmd.txt )
 S="${WORKDIR}/${PN^}-${PN}-${COMMIT:0:7}"
 
 PATCHES=(
-       # master, pending backports for 0.26
+       # 0.26 branch
        "${FILESDIR}"/${P}-CVE-2018-4868.patch
        "${FILESDIR}"/${P}-CVE-2017-18005.patch
+       "${FILESDIR}"/${P}-clang-fix.patch
        # TODO: Take to upstream
        "${FILESDIR}"/${PN}-0.26-fix-docs.patch
        "${FILESDIR}"/${PN}-0.26-tools-optional.patch

diff --git a/media-gfx/exiv2/files/exiv2-0.26_p20180319-clang-fix.patch 
b/media-gfx/exiv2/files/exiv2-0.26_p20180319-clang-fix.patch
new file mode 100644
index 00000000000..a80543a5ecd
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.26_p20180319-clang-fix.patch
@@ -0,0 +1,47 @@
+From 176ba44cc31064183fdfbce55a7dd7e6b5e2a962 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dan.cer...@cgc-instruments.com>
+Date: Fri, 8 Jun 2018 23:46:04 +0200
+Subject: [PATCH] Fix C & C++ flag adding in CMakeLists.txt
+
+---
+ CMakeLists.txt | 22 ++++++++++++----------
+ 1 file changed, 12 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2e179bf5..98a172ed 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -74,21 +74,23 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} 
"${CMAKE_SOURCE_DIR}/config/")
+ 
+ if( MINGW OR UNIX )
+     if (${CMAKE_CXX_COMPILER_ID} STREQUAL GNU)
+-        ADD_DEFINITIONS(-Wall
+-                    -Wcast-align
+-                    -Wpointer-arith
+-                    -Wformat-security
+-                    -Wmissing-format-attribute
+-                    -Woverloaded-virtual
+-                    -W
+-                   )
++        string(CONCAT WARNING_FLAGS " -Wall"
++          " -Wcast-align"
++          " -Wpointer-arith"
++          " -Wformat-security"
++          " -Wmissing-format-attribute"
++          " -Woverloaded-virtual"
++          " -W"
++          )
++        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS}")
++        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS}")
+     ENDIF()
+ 
+     message(STATUS "Compiler info: ${CMAKE_CXX_COMPILER_ID} 
(${CMAKE_CXX_COMPILER}) ; version: ${CMAKE_CXX_COMPILER_VERSION}")
+     IF ( CYGWIN OR (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 5.0))
+-        ADD_DEFINITIONS( -std=gnu++98 ) # to support snprintf
++        set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++98" ) # to support 
snprintf
+     ELSE()
+-        ADD_DEFINITIONS( -std=c++98 )
++        set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98" )
+     ENDIF()
+ 
+ ENDIF( MINGW OR UNIX )
\ No newline at end of file

Reply via email to