app-backup/kup: Fix build with newer dev-libs/libgit2
authorAndreas Sturmlechner <asturm@gentoo.org>
Tue, 14 Apr 2020 15:27:07 +0000 (17:27 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Tue, 14 Apr 2020 15:28:05 +0000 (17:28 +0200)
Closes: https://bugs.gentoo.org/717408
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
app-backup/kup/files/kup-0.7.3-libgit2.patch [new file with mode: 0644]
app-backup/kup/kup-0.7.3.ebuild

diff --git a/app-backup/kup/files/kup-0.7.3-libgit2.patch b/app-backup/kup/files/kup-0.7.3-libgit2.patch
new file mode 100644 (file)
index 0000000..a6b1c53
--- /dev/null
@@ -0,0 +1,140 @@
+From 2ca19e917f895e24a5379be669b9ad77ff5692f5 Mon Sep 17 00:00:00 2001
+From: Simon Persson <simon.persson@mykolab.com>
+Date: Mon, 16 Mar 2020 17:03:33 +0800
+Subject: Remove copy of libgit2
+
+API seems to have stabilized a lot, such that different distros can be
+expected to have a compatible version.
+---
+ CMakeLists.txt                                     |   13 +-
+ filedigger/CMakeLists.txt                          |    2 +-
+ filedigger/main.cpp                                |   12 -
+ kioslave/CMakeLists.txt                            |    2 +-
+ kioslave/bupslave.cpp                              |    8 -
+
+From ee720980113162c019eecabc01dfa5763cfb7585 Mon Sep 17 00:00:00 2001
+From: Adriaan de Groot <groot@kde.org>
+Date: Mon, 6 Apr 2020 23:06:53 +0200
+Subject: Link to libgit2 via imported target
+
+---
+ filedigger/CMakeLists.txt | 2 +-
+ kioslave/CMakeLists.txt   | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2118193..76a1367 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,18 +6,7 @@ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
+ project(kup)
+-# Use this option if you want to use the system LibGit2 library.
+-# This is not recommended unless you know what you are doing.
+-option(USE_SYSTEM_LIBGIT2 "Don't set this option unless your are sure that your system version of LibGit2 library is fully compatible with Kup." OFF)
+-if (USE_SYSTEM_LIBGIT2)
+-  find_package(LibGit2 REQUIRED)
+-  set(libgit_link_name git2)
+-else (USE_SYSTEM_LIBGIT2)
+-  set(BUILD_SHARED_LIBS ON)
+-  add_subdirectory(libgit2-0.19.0)
+-  include_directories(${CMAKE_SOURCE_DIR}/libgit2-0.19.0/include)
+-  set(libgit_link_name git24kup)
+-endif (USE_SYSTEM_LIBGIT2)
++find_package(LibGit2 REQUIRED)
+ if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug" OR "${CMAKE_BUILD_TYPE}" STREQUAL "DebugFull")
+   message(WARNING "enabling debug output!")
+diff --git a/filedigger/CMakeLists.txt b/filedigger/CMakeLists.txt
+index 2fcdd82..fd6a3a0 100644
+--- a/filedigger/CMakeLists.txt
++++ b/filedigger/CMakeLists.txt
+@@ -37,7 +37,7 @@ KF5::I18n
+ KF5::I18n
+ KF5::IconThemes
+ KF5::JobWidgets
+-${libgit_link_name}
++LibGit2::LibGit2
+ )
+ ########### install files ###############
+diff --git a/filedigger/main.cpp b/filedigger/main.cpp
+index 6682985..43fe9ae 100644
+--- a/filedigger/main.cpp
++++ b/filedigger/main.cpp
+@@ -21,11 +21,7 @@
+ #include "filedigger.h"
+ #include "mergedvfs.h"
+-#if LIBGIT2_VER_MAJOR == 0 && LIBGIT2_VER_MINOR >= 24
+ #include <git2/global.h>
+-#else
+-#include <git2/threads.h>
+-#endif
+ #include <KAboutData>
+ #include <KLocalizedString>
+@@ -66,19 +62,11 @@ int main(int pArgCount, char **pArgArray) {
+       }
+       // This needs to be called first thing, before any other calls to libgit2.
+-      #if LIBGIT2_VER_MAJOR == 0 && LIBGIT2_VER_MINOR >= 24
+       git_libgit2_init();
+-      #else
+-      git_threads_init();
+-      #endif
+       FileDigger *lFileDigger = new FileDigger(lRepoPath, lParser.value(QStringLiteral("branch")));
+       lFileDigger->show();
+       int lRetVal = lApp.exec();
+-      #if LIBGIT2_VER_MAJOR == 0 && LIBGIT2_VER_MINOR >= 24
+       git_libgit2_shutdown();
+-      #else
+-      git_threads_shutdown();
+-      #endif
+       return lRetVal;
+ }
+diff --git a/kioslave/CMakeLists.txt b/kioslave/CMakeLists.txt
+index 7187f33..83e6122 100644
+--- a/kioslave/CMakeLists.txt
++++ b/kioslave/CMakeLists.txt
+@@ -17,7 +17,7 @@ target_link_libraries(kio_bup
+ Qt5::Core
+ KF5::KIOCore
+ KF5::I18n
+-${libgit_link_name}
++LibGit2::LibGit2
+ )
+ install(TARGETS kio_bup DESTINATION ${PLUGIN_INSTALL_DIR})
+diff --git a/kioslave/bupslave.cpp b/kioslave/bupslave.cpp
+index 1a7e1a3..0812658 100644
+--- a/kioslave/bupslave.cpp
++++ b/kioslave/bupslave.cpp
+@@ -64,22 +64,14 @@ BupSlave::BupSlave(const QByteArray &pPoolSocket, const QByteArray &pAppSocket)
+ {
+       mRepository = nullptr;
+       mOpenFile = nullptr;
+-      #if LIBGIT2_VER_MAJOR == 0 && LIBGIT2_VER_MINOR >= 24
+       git_libgit2_init();
+-      #else
+-      git_threads_init();
+-      #endif
+ }
+ BupSlave::~BupSlave() {
+       if(mRepository != nullptr) {
+               delete mRepository;
+       }
+-      #if LIBGIT2_VER_MAJOR == 0 && LIBGIT2_VER_MINOR >= 24
+       git_libgit2_shutdown();
+-      #else
+-      git_threads_shutdown();
+-      #endif
+ }
+ void BupSlave::close() {
+-- 
+cgit v1.1
+
index d479069e1b3f2bab6db5b301fc2f855b8004bf4a..8af41a81c73bdd41e4aa7eeeabba895fe8fc3edc 100644 (file)
@@ -49,9 +49,9 @@ RDEPEND="${DEPEND}
 
 S="${WORKDIR}/${PN^}-${P}"
 
-src_configure() {
-       local mycmakeargs=(
-               -DUSE_SYSTEM_LIBGIT2=ON
-       )
-       ecm_src_configure
+PATCHES=( "${FILESDIR}/${P}-libgit2.patch" )
+
+src_prepare() {
+       ecm_src_prepare
+       rm -r libgit2-0.19.0 || die "Failed to remove bundled libgit2-0.19.0"
 }