summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp/sdbus-c++/files/sdbus-c++-1.4.0-fix-pkgconfig.patch')
-rw-r--r--dev-cpp/sdbus-c++/files/sdbus-c++-1.4.0-fix-pkgconfig.patch94
1 files changed, 94 insertions, 0 deletions
diff --git a/dev-cpp/sdbus-c++/files/sdbus-c++-1.4.0-fix-pkgconfig.patch b/dev-cpp/sdbus-c++/files/sdbus-c++-1.4.0-fix-pkgconfig.patch
new file mode 100644
index 000000000000..d9022bdcfe99
--- /dev/null
+++ b/dev-cpp/sdbus-c++/files/sdbus-c++-1.4.0-fix-pkgconfig.patch
@@ -0,0 +1,94 @@
+https://github.com/Kistler-Group/sdbus-cpp/commit/fb9e4ae37152648a67814458d3ff673b1d3ca089
+https://github.com/Kistler-Group/sdbus-cpp/pull/378
+https://bugs.gentoo.org/917678
+https://bugs.gentoo.org/922490
+
+From 674d370470a62c670bf457896561cc36668c04c6 Mon Sep 17 00:00:00 2001
+From: FuchtelJockel <25532271+FuchtelJockel@users.noreply.github.com>
+Date: Mon, 20 Nov 2023 14:41:59 +0100
+Subject: [PATCH] fix: correctly add libsystemd dependency to pkgconfig (#378)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* fix: correctly add libsystemd dependency to pkgconfig
+
+* refactor: solve sd-bus dependencies uniformly
+
+---------
+
+Co-authored-by: Stanislav Angelovič <stanislav.angelovic@protonmail.com>
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -12,7 +12,8 @@ include(GNUInstallDirs) # Installation directories for `install` command and pkg
+ # PERFORMING CHECKS & PREPARING THE DEPENDENCIES
+ #-------------------------------
+
+-set(LIBSYSTEMD "systemd")
++set(LIBSYSTEMD_IMPL "systemd")
++set(LIBSYSTEMD_LIB "libsystemd")
+
+ option(BUILD_LIBSYSTEMD "Build libsystemd static library and incorporate it into libsdbus-c++" OFF)
+
+@@ -23,13 +24,15 @@ if(NOT BUILD_LIBSYSTEMD)
+ message(WARNING "libsystemd not found, checking for libelogind instead")
+ pkg_check_modules(Systemd IMPORTED_TARGET GLOBAL libelogind>=236)
+ if(TARGET PkgConfig::Systemd)
+- set(LIBSYSTEMD "elogind")
++ set(LIBSYSTEMD_IMPL "elogind")
++ set(LIBSYSTEMD_LIB "libelogind")
+ string(REPLACE "." ";" VERSION_LIST ${Systemd_VERSION})
+ list(GET VERSION_LIST 0 Systemd_VERSION)
+ else()
+ message(WARNING "libelogind not found, checking for basu instead")
+ pkg_check_modules(Systemd IMPORTED_TARGET GLOBAL basu)
+- set(LIBSYSTEMD "basu")
++ set(LIBSYSTEMD_IMPL "basu")
++ set(LIBSYSTEMD_LIB "basu")
+ # https://git.sr.ht/~emersion/basu/commit/d4d185d29a26
+ set(Systemd_VERSION "240")
+ endif()
+@@ -125,8 +128,8 @@ add_library(sdbus-c++-objlib OBJECT ${SDBUSCPP_SRCS})
+ target_compile_definitions(sdbus-c++-objlib PRIVATE
+ BUILD_LIB=1
+ LIBSYSTEMD_VERSION=${LIBSYSTEMD_VERSION}
+- SDBUS_${LIBSYSTEMD}
+- SDBUS_HEADER=<${LIBSYSTEMD}/sd-bus.h>)
++ SDBUS_${LIBSYSTEMD_IMPL}
++ SDBUS_HEADER=<${LIBSYSTEMD_IMPL}/sd-bus.h>)
+ target_include_directories(sdbus-c++-objlib PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>)
+ if(BUILD_SHARED_LIBS)
+@@ -236,6 +239,7 @@ if(BUILD_SHARED_LIBS AND (BUILD_LIBSYSTEMD OR Systemd_LINK_LIBRARIES MATCHES "/l
+ else()
+ set(PKGCONFIG_REQS "")
+ endif()
++set(PKGCONFIG_DEPS ${LIBSYSTEMD_LIB})
+ configure_file(pkgconfig/sdbus-c++.pc.in pkgconfig/sdbus-c++.pc @ONLY)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/sdbus-c++.pc
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT dev)
+--- a/pkgconfig/sdbus-c++.pc.in
++++ b/pkgconfig/sdbus-c++.pc.in
+@@ -5,7 +5,7 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+
+ Name: @PROJECT_NAME@
+ Description: C++ library on top of sd-bus, a systemd D-Bus library
+-Requires@PKGCONFIG_REQS@: @LIBSYSTEMD@
++Requires@PKGCONFIG_REQS@: @PKGCONFIG_DEPS@
+ Version: @SDBUSCPP_VERSION@
+ Libs: -L${libdir} -l@PROJECT_NAME@
+ Cflags: -I${includedir}
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -106,7 +106,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+ add_executable(sdbus-c++-unit-tests ${UNITTESTS_SRCS})
+ target_compile_definitions(sdbus-c++-unit-tests PRIVATE
+ LIBSYSTEMD_VERSION=${LIBSYSTEMD_VERSION}
+- SDBUS_HEADER=<${LIBSYSTEMD}/sd-bus.h>)
++ SDBUS_HEADER=<${LIBSYSTEMD_IMPL}/sd-bus.h>)
+ target_link_libraries(sdbus-c++-unit-tests sdbus-c++-objlib GTest::gmock)
+
+ add_executable(sdbus-c++-integration-tests ${INTEGRATIONTESTS_SRCS})
+--
+2.43.0
+