media-gfx/exiv2: Fix build with clang
authorAndreas Sturmlechner <asturm@gentoo.org>
Tue, 7 Aug 2018 00:08:53 +0000 (02:08 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Tue, 7 Aug 2018 07:05:39 +0000 (09:05 +0200)
Reported-by: David Carlos Manuelda <StormByte@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
media-gfx/exiv2/files/exiv2-0.26_p20180319-clang-fix.patch [new file with mode: 0644]

index 478ea7a79b15acd52de8eb9116e55285e25b45f1..eb2572dfcf35fa5e469f9632da41e8a7b6685067 100644 (file)
@@ -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 (file)
index 0000000..a80543a
--- /dev/null
@@ -0,0 +1,47 @@
+From 176ba44cc31064183fdfbce55a7dd7e6b5e2a962 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dan.cermak@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