From: "David Roman" <davidroman96@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/guru:master commit in: dev-cpp/cpptrace/files/, dev-cpp/cpptrace/
Date: Mon, 29 Apr 2024 21:27:43 +0000 (UTC) [thread overview]
Message-ID: <1714385056.946a4de160ef5b7e0ab09cf470b621684ae7eefd.davidroman@gentoo> (raw)
Message-ID: <20240429212743.Bk4qEBUsmyRORygDhhgT1k1FoB3JnqugjfAJnSJzOTg@z> (raw)
commit: 946a4de160ef5b7e0ab09cf470b621684ae7eefd
Author: David Roman <davidroman96 <AT> gmail <DOT> com>
AuthorDate: Mon Apr 29 10:04:05 2024 +0000
Commit: David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Mon Apr 29 10:04:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=946a4de1
dev-cpp/cpptrace: fix missing zstd
Signed-off-by: David Roman <davidroman96 <AT> gmail.com>
dev-cpp/cpptrace/cpptrace-0.5.2-r1.ebuild | 27 ++++
dev-cpp/cpptrace/files/cpptrace-fix-zstd.patch | 177 +++++++++++++++++++++++++
2 files changed, 204 insertions(+)
diff --git a/dev-cpp/cpptrace/cpptrace-0.5.2-r1.ebuild b/dev-cpp/cpptrace/cpptrace-0.5.2-r1.ebuild
new file mode 100644
index 0000000000..263dff40eb
--- /dev/null
+++ b/dev-cpp/cpptrace/cpptrace-0.5.2-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Simple, portable, and self-contained stacktrace library for C++"
+HOMEPAGE="https://github.com/jeremy-rifkin/cpptrace"
+SRC_URI="https://github.com/jeremy-rifkin/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="dev-libs/libdwarf"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-fix-zstd.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPPTRACE_USE_EXTERNAL_LIBDWARF=On
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-cpp/cpptrace/files/cpptrace-fix-zstd.patch b/dev-cpp/cpptrace/files/cpptrace-fix-zstd.patch
new file mode 100644
index 0000000000..b05581fad4
--- /dev/null
+++ b/dev-cpp/cpptrace/files/cpptrace-fix-zstd.patch
@@ -0,0 +1,177 @@
+From c73b3faf73c51c2c3bfe0e971e3ca527e4e5e5c7 Mon Sep 17 00:00:00 2001
+From: Jeremy <51220084+jeremy-rifkin@users.noreply.github.com>
+Date: Sun, 28 Apr 2024 20:18:13 -0500
+Subject: [PATCH 1/3] Remove find_dependency(zstd)
+
+---
+ cmake/in/cpptrace-config-cmake.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/cmake/in/cpptrace-config-cmake.in b/cmake/in/cpptrace-config-cmake.in
+index 412a9d0..0b25aac 100644
+--- a/cmake/in/cpptrace-config-cmake.in
++++ b/cmake/in/cpptrace-config-cmake.in
+@@ -4,7 +4,6 @@
+ # Dependencies
+ if(@CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF@)
+ include(CMakeFindDependencyMacro)
+- find_dependency(zstd REQUIRED)
+ find_dependency(libdwarf REQUIRED)
+ endif()
+
+
+From 8d66998a67fcdfbf362aca39c8cc67060cf7a6d1 Mon Sep 17 00:00:00 2001
+From: Jeremy <51220084+jeremy-rifkin@users.noreply.github.com>
+Date: Sun, 28 Apr 2024 22:38:45 -0500
+Subject: [PATCH 2/3] Provide a Findzstd script
+
+---
+ cmake/Findzstd.cmake | 51 +++++++++++++++++++++++++++++++
+ cmake/InstallRules.cmake | 3 ++
+ cmake/in/cpptrace-config-cmake.in | 5 +++
+ 3 files changed, 59 insertions(+)
+ create mode 100644 cmake/Findzstd.cmake
+
+diff --git a/cmake/Findzstd.cmake b/cmake/Findzstd.cmake
+new file mode 100644
+index 0000000..fc8eb52
+--- /dev/null
++++ b/cmake/Findzstd.cmake
+@@ -0,0 +1,51 @@
++# Libdwarf needs zstd, cpptrace doesn't, and libdwarf has its own Findzstd but it doesn't define zstd::libzstd_static /
++# zstd::libzstd_shared targets which leads to issues, necessitating a find_dependency(zstd) in cpptrace's cmake config
++# and in order to support non-cmake-module installs we need to provide a Findzstd script.
++# https://github.com/jeremy-rifkin/cpptrace/issues/112
++
++# This will define
++# zstd_FOUND
++# zstd_INCLUDE_DIR
++# zstd_LIBRARY
++
++find_path(zstd_INCLUDE_DIR NAMES zstd.h)
++
++find_library(zstd_LIBRARY_DEBUG NAMES zstdd zstd_staticd)
++find_library(zstd_LIBRARY_RELEASE NAMES zstd zstd_static)
++
++include(SelectLibraryConfigurations)
++SELECT_LIBRARY_CONFIGURATIONS(zstd)
++
++include(FindPackageHandleStandardArgs)
++FIND_PACKAGE_HANDLE_STANDARD_ARGS(
++ zstd DEFAULT_MSG
++ zstd_LIBRARY zstd_INCLUDE_DIR
++)
++
++if(zstd_FOUND)
++ message(STATUS "Found Zstd: ${zstd_LIBRARY}")
++endif()
++
++mark_as_advanced(zstd_INCLUDE_DIR zstd_LIBRARY)
++
++if(zstd_FOUND)
++ # just defining them the same... cmake will figure it out
++ if(NOT TARGET zstd::libzstd_static)
++ add_library(zstd::libzstd_static UNKNOWN IMPORTED)
++ set_target_properties(
++ zstd::libzstd_static
++ PROPERTIES
++ IMPORTED_LOCATION "${zstd_LIBRARIES}"
++ INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}"
++ )
++ endif()
++ if(NOT TARGET zstd::libzstd_shared)
++ add_library(zstd::libzstd_shared UNKNOWN IMPORTED)
++ set_target_properties(
++ zstd::libzstd_shared
++ PROPERTIES
++ IMPORTED_LOCATION "${zstd_LIBRARIES}"
++ INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}"
++ )
++ endif()
++endif()
+diff --git a/cmake/InstallRules.cmake b/cmake/InstallRules.cmake
+index b35c4d7..5087cbb 100644
+--- a/cmake/InstallRules.cmake
++++ b/cmake/InstallRules.cmake
+@@ -62,6 +62,9 @@ install(
+ COMPONENT ${package_name}-development
+ )
+
++# Findzstd.cmake
++install(FILES "${PROJECT_SOURCE_DIR}/cmake/Findzstd.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${package_name}")
++
+ # support packaging library
+ if(PROJECT_IS_TOP_LEVEL)
+ include(CPack)
+diff --git a/cmake/in/cpptrace-config-cmake.in b/cmake/in/cpptrace-config-cmake.in
+index 0b25aac..a128d52 100644
+--- a/cmake/in/cpptrace-config-cmake.in
++++ b/cmake/in/cpptrace-config-cmake.in
+@@ -4,6 +4,11 @@
+ # Dependencies
+ if(@CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF@)
+ include(CMakeFindDependencyMacro)
++ set(CMAKE_MODULE_PATH_OLD "${CMAKE_MODULE_PATH}")
++ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_LIST_DIR}")
++ find_dependency(zstd)
++ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH_OLD}")
++ unset(CMAKE_MODULE_PATH_OLD)
+ find_dependency(libdwarf REQUIRED)
+ endif()
+
+
+From 27438a34eb3534a9efe3733c67e629ed611facb2 Mon Sep 17 00:00:00 2001
+From: Jeremy <51220084+jeremy-rifkin@users.noreply.github.com>
+Date: Sun, 28 Apr 2024 23:13:12 -0500
+Subject: [PATCH 3/3] Update handling in vcpkg
+
+---
+ cmake/InstallRules.cmake | 8 +++++++-
+ cmake/in/cpptrace-config-cmake.in | 15 ++++++++++-----
+ 2 files changed, 17 insertions(+), 6 deletions(-)
+
+diff --git a/cmake/InstallRules.cmake b/cmake/InstallRules.cmake
+index 5087cbb..529e51a 100644
+--- a/cmake/InstallRules.cmake
++++ b/cmake/InstallRules.cmake
+@@ -63,7 +63,13 @@ install(
+ )
+
+ # Findzstd.cmake
+-install(FILES "${PROJECT_SOURCE_DIR}/cmake/Findzstd.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${package_name}")
++# vcpkg doesn't like anything being put in share/, which is where this goes apparently on their setup
++if(NOT CPPTRACE_VCPKG)
++ install(
++ FILES "${PROJECT_SOURCE_DIR}/cmake/Findzstd.cmake"
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${package_name}"
++ )
++endif()
+
+ # support packaging library
+ if(PROJECT_IS_TOP_LEVEL)
+diff --git a/cmake/in/cpptrace-config-cmake.in b/cmake/in/cpptrace-config-cmake.in
+index a128d52..fc017ad 100644
+--- a/cmake/in/cpptrace-config-cmake.in
++++ b/cmake/in/cpptrace-config-cmake.in
+@@ -4,11 +4,16 @@
+ # Dependencies
+ if(@CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF@)
+ include(CMakeFindDependencyMacro)
+- set(CMAKE_MODULE_PATH_OLD "${CMAKE_MODULE_PATH}")
+- set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_LIST_DIR}")
+- find_dependency(zstd)
+- set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH_OLD}")
+- unset(CMAKE_MODULE_PATH_OLD)
++ # we don't go the Findzstd.cmake route on vcpkg
++ if(@CPPTRACE_VCPKG@)
++ find_dependency(zstd CONFIG REQUIRED)
++ else()
++ set(CMAKE_MODULE_PATH_OLD "${CMAKE_MODULE_PATH}")
++ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_LIST_DIR}")
++ find_dependency(zstd)
++ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH_OLD}")
++ unset(CMAKE_MODULE_PATH_OLD)
++ endif()
+ find_dependency(libdwarf REQUIRED)
+ endif()
+
next reply other threads:[~2024-04-29 21:27 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-29 10:04 David Roman [this message]
2024-04-29 21:27 ` [gentoo-commits] repo/proj/guru:master commit in: dev-cpp/cpptrace/files/, dev-cpp/cpptrace/ David Roman
-- strict thread matches above, loose matches on Subject: below --
2024-09-02 10:27 [gentoo-commits] repo/proj/guru:dev commit in: dev-cpp/cpptrace/, dev-cpp/cpptrace/files/ David Roman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1714385056.946a4de160ef5b7e0ab09cf470b621684ae7eefd.davidroman@gentoo \
--to=davidroman96@gmail.com \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox