commit:     af4fdba984fe0b5fe9384fed31fcf87a40f7e539
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Fri Jan 19 12:43:40 2024 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Jan 30 23:20:52 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af4fdba9

dev-cpp/sdbus-c++: fix pkgconfig file

Closes: https://bugs.gentoo.org/922490
Bug: https://bugs.gentoo.org/917678
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/34898
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 .../files/sdbus-c++-1.4.0-fix-pkgconfig.patch      | 94 ++++++++++++++++++++++
 ...-c++-1.4.0.ebuild => sdbus-c++-1.4.0-r1.ebuild} |  1 +
 2 files changed, 95 insertions(+)

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+fuchteljoc...@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.angelo...@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
+

diff --git a/dev-cpp/sdbus-c++/sdbus-c++-1.4.0.ebuild 
b/dev-cpp/sdbus-c++/sdbus-c++-1.4.0-r1.ebuild
similarity index 97%
rename from dev-cpp/sdbus-c++/sdbus-c++-1.4.0.ebuild
rename to dev-cpp/sdbus-c++/sdbus-c++-1.4.0-r1.ebuild
index 1a1fadc23426..8ea87fbecc8e 100644
--- a/dev-cpp/sdbus-c++/sdbus-c++-1.4.0.ebuild
+++ b/dev-cpp/sdbus-c++/sdbus-c++-1.4.0-r1.ebuild
@@ -36,6 +36,7 @@ S="${WORKDIR}/sdbus-cpp-${PV}"
 
 PATCHES=(
        "${FILESDIR}"/${P}-gcc-14.patch
+       "${FILESDIR}"/${P}-fix-pkgconfig.patch
 )
 
 src_configure() {

Reply via email to