commit:     68390ee986e725c3b4c817a163460005370ca268
Author:     David Roman <davidroman96 <AT> gmail <DOT> com>
AuthorDate: Thu Aug  7 11:22:46 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug  8 03:17:39 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=68390ee9

dev-libs/libdwarf: new package, add 2.1.0

Signed-off-by: David Roman <davidroman96 <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/43369
Closes: https://github.com/gentoo/gentoo/pull/43369
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/libdwarf/Manifest                         |  1 +
 .../files/libdwarf-0.9.2-fix-include-patch.patch   | 22 +++++++++++
 dev-libs/libdwarf/libdwarf-2.1.0.ebuild            | 46 ++++++++++++++++++++++
 dev-libs/libdwarf/metadata.xml                     | 23 +++++++++++
 4 files changed, 92 insertions(+)

diff --git a/dev-libs/libdwarf/Manifest b/dev-libs/libdwarf/Manifest
new file mode 100644
index 000000000000..f22f7d7be0ff
--- /dev/null
+++ b/dev-libs/libdwarf/Manifest
@@ -0,0 +1 @@
+DIST libdwarf-2.1.0.tar.xz 2946744 BLAKE2B 
a6bae4f65140b58457be2a175b73fd5588bc9579ed5bf64cf073a0f5f0861e40c227457011f69572ed1bb4a4da2d239d3477c5622bfd556549bd079dbc04cf45
 SHA512 
fd58ee55fc7f685f70cf7e79733d926d7064752c4e1ffe3eede1b1cc1090e127c76c59def3a3b32d5514384cd901bb69f9f2afeefa518d0ce9460f529b498078

diff --git a/dev-libs/libdwarf/files/libdwarf-0.9.2-fix-include-patch.patch 
b/dev-libs/libdwarf/files/libdwarf-0.9.2-fix-include-patch.patch
new file mode 100644
index 000000000000..edc75ad1f66c
--- /dev/null
+++ b/dev-libs/libdwarf/files/libdwarf-0.9.2-fix-include-patch.patch
@@ -0,0 +1,22 @@
+diff --git a/src/lib/libdwarf/CMakeLists.txt b/src/lib/libdwarf/CMakeLists.txt
+index 6cb0b24e..12fa3e40 100644
+--- a/src/lib/libdwarf/CMakeLists.txt
++++ b/src/lib/libdwarf/CMakeLists.txt
+@@ -114,7 +114,7 @@ install(TARGETS dwarf
+         RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+         LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+         ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+-        PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
++        PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/libdwarf/"
+         )
+ 
+ configure_file(libdwarf.pc.cmake libdwarf.pc @ONLY)
+@@ -130,7 +130,7 @@ install(FILES 
"${CMAKE_CURRENT_BINARY_DIR}/libdwarfConfig.cmake" "${CMAKE_CURREN
+ install(TARGETS dwarf EXPORT libdwarfTargets
+         ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+         LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+-        PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
++        PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/libdwarf")
+ install(EXPORT libdwarfTargets
+         FILE libdwarf-targets.cmake
+         NAMESPACE libdwarf::

diff --git a/dev-libs/libdwarf/libdwarf-2.1.0.ebuild 
b/dev-libs/libdwarf/libdwarf-2.1.0.ebuild
new file mode 100644
index 000000000000..32c1a0c8c7ca
--- /dev/null
+++ b/dev-libs/libdwarf/libdwarf-2.1.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="The DWARF Debugging Information Format"
+HOMEPAGE="
+       https://www.prevanders.net/dwarf.html
+       https://github.com/davea42/libdwarf-code
+"
+SRC_URI="https://www.prevanders.net/${P}.tar.xz";
+
+LICENSE="BSD GPL-2 LGPL-2.1"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~amd64"
+IUSE="test dwarfexample dwarfgen"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+       app-arch/zstd:=
+       sys-libs/zlib:=
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS NEWS README.md )
+
+PATCHES=( "${FILESDIR}/${PN}-0.9.2-fix-include-patch.patch" )
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_SHARED=ON
+               -DBUILD_DWARFGEN=$(usex dwarfgen)
+               -DBUILD_DWARFEXAMPLE=$(usex dwarfexample)
+               -DDO_TESTING=$(usex test)
+       )
+
+       cmake_src_configure
+}
+
+src_install(){
+       cmake_src_install
+
+       dodoc ChangeLog* doc/*.pdf
+}

diff --git a/dev-libs/libdwarf/metadata.xml b/dev-libs/libdwarf/metadata.xml
new file mode 100644
index 000000000000..7b111fe732d5
--- /dev/null
+++ b/dev-libs/libdwarf/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>David Roman</name>
+       </maintainer>
+       <maintainer type="project" proxied="proxy">
+               <email>[email protected]</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>[email protected]</email>
+               <name>Gentoo Toolchain Project</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">davea42/libdwarf-code</remote-id>
+       </upstream>
+       <use>
+               <flag name="dwarfexample">enable dwarfexample compilation</flag>
+               <flag name="dwarfgen">enable dwarfgen compilation</flag>
+       </use>
+</pkgmetadata>

Reply via email to