Skip to content

Commit

Permalink
media-gfx/digikam: Fix build with KF-5.31 or clang
Browse files Browse the repository at this point in the history
Gentoo-bug: 609114

Package-Manager: portage-2.3.3
  • Loading branch information
a17r committed Feb 12, 2017
1 parent 1c51450 commit da6579f
Show file tree
Hide file tree
Showing 3 changed files with 241 additions and 1 deletion.
6 changes: 5 additions & 1 deletion media-gfx/digikam/digikam-5.3.0-r1.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,11 @@ RDEPEND="${COMMON_DEPEND}
RESTRICT=test
# bug 366505

PATCHES=( "${FILESDIR}/${P}-db-lock.patch" )
PATCHES=(
"${FILESDIR}/${P}-db-lock.patch"
"${FILESDIR}/${P}-clang.patch"
"${FILESDIR}/${P}-kf-5.31.patch"
)

pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
Expand Down
160 changes: 160 additions & 0 deletions media-gfx/digikam/files/digikam-5.3.0-clang.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
commit 86cd0d1d89c8b4d13f06dc8a353bdd99f13c4758
Author: Gilles Caulier <[email protected]>
Date: Wed Jan 18 10:13:20 2017 +0100

Fix compilation with clang

diff --git a/libs/database/imagehistory/imagehistorygraph_boost.h b/libs/database/imagehistory/imagehistorygraph_boost.h
index 4ba89c9..d7e6c77 100644
--- a/libs/database/imagehistory/imagehistorygraph_boost.h
+++ b/libs/database/imagehistory/imagehistorygraph_boost.h
@@ -28,7 +28,7 @@
#include "digikam_config.h"

// Pragma directives to reduce warnings from Boost header files.
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#endif
@@ -1554,7 +1554,7 @@ protected:
} // namespace Digikam

// Restore warnings
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic pop
#endif

diff --git a/libs/dimg/filters/greycstoration/greycstorationfilter.cpp b/libs/dimg/filters/greycstoration/greycstorationfilter.cpp
index f5d0640..91e443d 100644
--- a/libs/dimg/filters/greycstoration/greycstorationfilter.cpp
+++ b/libs/dimg/filters/greycstoration/greycstorationfilter.cpp
@@ -52,7 +52,7 @@
#define GREYSTORATION_USING_GFACT 1

// Pragma directives to reduce warnings from CImg header files.
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
@@ -71,7 +71,7 @@
#include "cimg/CImg.h"

// Restore warnings
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic pop
#endif

diff --git a/libs/dimg/filters/randomnumbergenerator.cpp b/libs/dimg/filters/randomnumbergenerator.cpp
index 93d7cc4..d7b2ed8 100644
--- a/libs/dimg/filters/randomnumbergenerator.cpp
+++ b/libs/dimg/filters/randomnumbergenerator.cpp
@@ -26,7 +26,7 @@
// Boost includes

// Pragma directives to reduce warnings from Boost header files.
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wundef"
#endif
@@ -44,7 +44,7 @@
#include <boost/random/variate_generator.hpp>

// Restore warnings
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic pop
#endif

diff --git a/libs/dimg/filters/sharp/matrix.cpp b/libs/dimg/filters/sharp/matrix.cpp
index 4f32aa3..1a3c65a 100644
--- a/libs/dimg/filters/sharp/matrix.cpp
+++ b/libs/dimg/filters/sharp/matrix.cpp
@@ -43,7 +43,7 @@
// Eigen includes

// Pragma directives to reduce warnings from Eigen header files.
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
@@ -53,7 +53,7 @@
#include <Eigen/LU>

// Restore warnings
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic pop
#endif

diff --git a/libs/dmetadata/metaengine_p.cpp b/libs/dmetadata/metaengine_p.cpp
index 2c83b58..2b44e06 100644
--- a/libs/dmetadata/metaengine_p.cpp
+++ b/libs/dmetadata/metaengine_p.cpp
@@ -49,7 +49,7 @@ extern "C"
#include "digikam_debug.h"

// Pragma directives to reduce warnings from Exiv2.
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif
@@ -723,7 +723,7 @@ void MetaEngine::Private::loadSidecarData(Exiv2::Image::AutoPtr xmpsidecar)
} // namespace Digikam

// Restore warnings
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic pop
#endif

diff --git a/libs/jpegutils/jpegutils.cpp b/libs/jpegutils/jpegutils.cpp
index c823f40..60c7469 100644
--- a/libs/jpegutils/jpegutils.cpp
+++ b/libs/jpegutils/jpegutils.cpp
@@ -53,7 +53,7 @@ extern "C"
}

// Pragma directives to reduce warnings from libjpeg transupp header file.
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-parameter"
#endif
@@ -69,7 +69,7 @@ extern "C"
}

// Restore warnings
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic pop
#endif

diff --git a/libs/rawengine/drawdecoder_p.h b/libs/rawengine/drawdecoder_p.h
index a27e199..ea653b4 100644
--- a/libs/rawengine/drawdecoder_p.h
+++ b/libs/rawengine/drawdecoder_p.h
@@ -31,7 +31,7 @@
#include <QByteArray>

// Pragma directives to reduce warnings from LibRaw header files.
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif
@@ -46,7 +46,7 @@
#include <libraw.h>

// Restore warnings
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic pop
#endif

76 changes: 76 additions & 0 deletions media-gfx/digikam/files/digikam-5.3.0-kf-5.31.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
commit 3793b47b6f57a627911bcce819b1ecc2dc9e422a
Author: Kevin Funk <[email protected]>
Date: Wed Jan 18 13:34:55 2017 +0100

Fix compilation with new KDECompilerSettings.cmake

diff --git a/app/utils/libopencv.h.cmake.in b/app/utils/libopencv.h.cmake.in
index cc58b7c..6abf642 100644
--- a/app/utils/libopencv.h.cmake.in
+++ b/app/utils/libopencv.h.cmake.in
@@ -27,7 +27,7 @@
#define LIB_OPEN_CV_H

// Pragma directives to reduce warnings from OpenCV header files.
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
#pragma GCC diagnostic ignored "-Woverloaded-virtual"
@@ -82,7 +82,7 @@
#endif

// Restore warnings
-#if not defined(__APPLE__) && defined(__GNUC__)
+#if !defined(__APPLE__) && defined(__GNUC__)
#pragma GCC diagnostic pop
#endif

diff --git a/libs/database/CMakeLists.txt b/libs/database/CMakeLists.txt
index c5d9c27..14a7180 100644
--- a/libs/database/CMakeLists.txt
+++ b/libs/database/CMakeLists.txt
@@ -10,6 +10,9 @@ if (POLICY CMP0063)
cmake_policy(SET CMP0063 NEW)
endif (POLICY CMP0063)

+# Boost uses operator names (and, not, ...)
+string(REPLACE "-fno-operator-names" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+
set(libdatabasecore_SRCS
server/databaseserverstarter.cpp
server/databaseservererror.cpp
diff --git a/libs/dimg/CMakeLists.txt b/libs/dimg/CMakeLists.txt
index 3bcada5..04a0a22 100644
--- a/libs/dimg/CMakeLists.txt
+++ b/libs/dimg/CMakeLists.txt
@@ -11,6 +11,9 @@ endif (POLICY CMP0063)

kde_enable_exceptions()

+# Boost uses operator names (and, not, ...)
+string(REPLACE "-fno-operator-names" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+
set(libdimg_SRCS
dimg.cpp
drawdecoding.cpp
commit b318820530a4f001bc6621532b5416bf3c4a43cf
Author: Kevin Funk <[email protected]>
Date: Wed Jan 18 15:20:36 2017 +0100

tests/dimg needs -fno-operator-names dropped, too

diff --git a/tests/dimg/CMakeLists.txt b/tests/dimg/CMakeLists.txt
index 6d9e6d6..5133f88 100644
--- a/tests/dimg/CMakeLists.txt
+++ b/tests/dimg/CMakeLists.txt
@@ -8,6 +8,9 @@ if (POLICY CMP0063)
cmake_policy(SET CMP0063 NEW)
endif (POLICY CMP0063)

+# Boost uses operator names (and, not, ...)
+string(REPLACE "-fno-operator-names" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+
include_directories(
$<TARGET_PROPERTY:KF5::XmlGui,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:KF5::I18n,INTERFACE_INCLUDE_DIRECTORIES>

0 comments on commit da6579f

Please sign in to comment.