summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2019-11-14 15:08:25 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2019-11-14 16:59:35 +0100
commit74f4ec456198c500f81f8294da29b1a2f9daee71 (patch)
tree442ceb89a53cd32303b0973c4c4ba5e357892fa9 /media-gfx
parentkde-apps/kio-extras: Fix build against >=net-libs/libssh-0.9.2 (diff)
downloadgentoo-74f4ec456198c500f81f8294da29b1a2f9daee71.tar.gz
gentoo-74f4ec456198c500f81f8294da29b1a2f9daee71.tar.bz2
gentoo-74f4ec456198c500f81f8294da29b1a2f9daee71.zip
media-gfx/exiv2: Fix build against >=net-libs/libssh-0.9.2
Package-Manager: Portage-2.3.79, Repoman-2.3.18 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/exiv2/exiv2-0.27.2.ebuild2
-rw-r--r--media-gfx/exiv2/files/exiv2-0.27.2-libssh-0.9.2.patch56
2 files changed, 58 insertions, 0 deletions
diff --git a/media-gfx/exiv2/exiv2-0.27.2.ebuild b/media-gfx/exiv2/exiv2-0.27.2.ebuild
index e70d4f902f15..3d6060c5535e 100644
--- a/media-gfx/exiv2/exiv2-0.27.2.ebuild
+++ b/media-gfx/exiv2/exiv2-0.27.2.ebuild
@@ -45,6 +45,8 @@ RDEPEND="${DEPEND}"
DOCS=( README.md doc/ChangeLog doc/cmd.txt )
+PATCHES=( "${FILESDIR}/${P}-libssh-0.9.2.patch" )
+
S="${S}-Source"
pkg_setup() {
diff --git a/media-gfx/exiv2/files/exiv2-0.27.2-libssh-0.9.2.patch b/media-gfx/exiv2/files/exiv2-0.27.2-libssh-0.9.2.patch
new file mode 100644
index 000000000000..abf165b83f47
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.27.2-libssh-0.9.2.patch
@@ -0,0 +1,56 @@
+From c59eb810728572fde84492d43a932dcac89746d6 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Thu, 14 Nov 2019 15:06:38 +0100
+Subject: [PATCH] EXIV2_ENABLE_SSH: Fix compatibility with >=libssh-0.9.2
+
+0.9.1 remains broken regardless and is beyond fixing in this place.
+
+Build-tested with both libssh 0.9.0 and 0.9.2.
+
+Solution copied from KDE's kio-extras commit 24506c2af8d1904a99538543804306c6c2b81ca2
+---
+ cmake/findDependencies.cmake | 13 +++++++++++--
+ src/CMakeLists.txt | 3 +--
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake
+index a458a0c9..ec3a43f5 100644
+--- a/cmake/findDependencies.cmake
++++ b/cmake/findDependencies.cmake
+@@ -26,8 +26,17 @@ if( EXIV2_ENABLE_WEBREADY )
+
+ if( EXIV2_ENABLE_SSH )
+ find_package(libssh CONFIG REQUIRED)
+- endif( )
+-endif( )
++ # Define an imported target to have compatibility with <=libssh-0.9.0
++ # libssh-0.9.1 is broken regardless.
++ if(NOT TARGET ssh)
++ add_library(ssh SHARED IMPORTED)
++ set_target_properties(ssh PROPERTIES
++ IMPORTED_LOCATION "${LIBSSH_LIBRARIES}"
++ INTERFACE_INCLUDE_DIRECTORIES "${LIBSSH_INCLUDE_DIR}"
++ )
++ endif()
++ endif()
++endif()
+
+ if (EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP)
+ message(FATAL_ERROR "EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP are mutually exclusive. You can only choose one of them")
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 27f8dbb1..bdd83fa0 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -173,8 +173,7 @@ target_include_directories(exiv2lib_int PUBLIC
+ if (EXIV2_ENABLE_WEBREADY)
+
+ if( EXIV2_ENABLE_SSH )
+- target_include_directories(exiv2lib SYSTEM PUBLIC ${LIBSSH_INCLUDE_DIR})
+- target_link_libraries(exiv2lib PUBLIC ${LIBSSH_LIBRARIES})
++ target_link_libraries(exiv2lib PUBLIC ssh)
+ endif()
+
+ if( EXIV2_ENABLE_CURL )
+--
+2.24.0
+