[packages/dyninst] - updated to 13.0.0 (new sonames); libsymLite disabled as mutually exclusive with libdyninstAPI now
qboosh
qboosh at pld-linux.org
Wed Aug 13 21:12:13 CEST 2025
commit b616ea747ac08a2585c1b6c56ef8ef6adf45fc38
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Wed Aug 13 21:14:33 2025 +0200
- updated to 13.0.0 (new sonames); libsymLite disabled as mutually exclusive with libdyninstAPI now
dyninst-install.patch | 15 +++++++++
dyninst-libname.patch | 16 ++++-----
dyninst-tbb.patch | 12 -------
dyninst-x32.patch | 11 -------
dyninst-x86.patch | 10 ++++++
dyninst.spec | 88 ++++++++++++++++++++++++--------------------------
missing-includes.patch | 37 ---------------------
7 files changed, 76 insertions(+), 113 deletions(-)
---
diff --git a/dyninst.spec b/dyninst.spec
index 4c70031..287215c 100644
--- a/dyninst.spec
+++ b/dyninst.spec
@@ -1,26 +1,26 @@
Summary: API for Run-time Code Generation
Summary(pl.UTF-8): API do generowania kodu w czasie działania
Name: dyninst
-Version: 12.3.0
-Release: 5
+Version: 13.0.0
+Release: 1
License: LGPL v2.1+
Group: Libraries
#Source0Download: https://github.com/dyninst/dyninst/releases
Source0: https://github.com/dyninst/dyninst/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: c3a6fc1fc59bb26472f918d4cb797f11
+# Source0-md5: e594b64007d63f641cda3eef97e94b50
Patch0: %{name}-libname.patch
Patch1: %{name}-x32.patch
-Patch2: %{name}-tbb.patch
-Patch3: missing-includes.patch
+Patch2: %{name}-x86.patch
+Patch3: %{name}-install.patch
URL: https://dyninst.org/dyninst
# libiberty
BuildRequires: binutils-devel
-BuildRequires: boost-devel >= 1.70.0
-BuildRequires: cmake >= 3.4.0
+BuildRequires: boost-devel >= 1.71.0
+BuildRequires: cmake >= 3.14.0
BuildRequires: elfutils-devel >= 0.186
BuildRequires: flex
BuildRequires: libgomp-devel
-BuildRequires: libstdc++-devel >= 6:4.7
+BuildRequires: libstdc++-devel >= 6:6.0
BuildRequires: rpmbuild(macros) >= 1.605
BuildRequires: sed >= 4.0
BuildRequires: tbb-devel >= 2021.4
@@ -30,7 +30,8 @@ Obsoletes: dyninst-doc < 12.2
ExclusiveArch: %{ix86} %{x8664} x32 aarch64 ppc ppc64 aarch64
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define skip_post_check_so libparseAPI\.so.*
+%define abiver 13.0
+%define skip_post_check_so libparseAPI\.so.*
%description
Dyninst is an Application Program Interface (API) to permit the
@@ -57,7 +58,9 @@ Summary: Header files for dyninst libraries
Summary(pl.UTF-8): Pliki nagłówkowe bibliotek dyninst
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: libstdc++-devel >= 6:4.7
+Requires: boost-devel >= 1.71.0
+Requires: elfutils-devel >= 0.186
+Requires: libstdc++-devel >= 6:6.0
Requires: tbb-devel >= 2021.4
%description devel
@@ -87,15 +90,13 @@ Statyczne biblioteki dyninst.
%build
export CXXFLAGS="%{rpmcxxflags} -DTBB_DEFINE_STD_HASH_SPECIALIZATIONS"
-install -d build
-cd build
-%cmake .. \
- -DINSTALL_CMAKE_DIR:PATH=%{_libdir}/cmake/Dyninst \
- -DINSTALL_DOC_DIR:PATH=%{_docdir}/dyninst \
- -DINSTALL_INCLUDE_DIR:PATH=%{_includedir}/dyninst \
- -DINSTALL_LIB_DIR:PATH=%{_libdir} \
+%cmake -B build \
+ -DCMAKE_INSTALL_INCLUDEDIR:PATH=include/dyninst \
+ -DENABLE_DEBUGINFOD=ON
-%{__make}
+# -DLIGHTWEIGHT_SYMTAB enabled libsymLite and disables libdyninstAPI
+
+%{__make} -C build
%install
rm -rf $RPM_BUILD_ROOT
@@ -114,47 +115,44 @@ rm -rf $RPM_BUILD_ROOT
%doc COPYRIGHT CHANGELOG.md README.md
%attr(755,root,root) %{_bindir}/parseThat
%attr(755,root,root) %{_libdir}/libdynC_API.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdynC_API.so.12.3
+%ghost %{_libdir}/libdynC_API.so.%{abiver}
%attr(755,root,root) %{_libdir}/libdynDwarf.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdynDwarf.so.12.3
+%ghost %{_libdir}/libdynDwarf.so.%{abiver}
%attr(755,root,root) %{_libdir}/libdynElf.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdynElf.so.12.3
+%ghost %{_libdir}/libdynElf.so.%{abiver}
%attr(755,root,root) %{_libdir}/libdyncommon.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdyncommon.so.12.3
+%ghost %{_libdir}/libdyncommon.so.%{abiver}
%attr(755,root,root) %{_libdir}/libdyninstAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdyninstAPI.so.12.3
+%ghost %{_libdir}/libdyninstAPI.so.%{abiver}
%attr(755,root,root) %{_libdir}/libdyninstAPI_RT.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdyninstAPI_RT.so.12.3
+%ghost %{_libdir}/libdyninstAPI_RT.so.%{abiver}
%attr(755,root,root) %{_libdir}/libinstructionAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libinstructionAPI.so.12.3
+%ghost %{_libdir}/libinstructionAPI.so.%{abiver}
%attr(755,root,root) %{_libdir}/libparseAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libparseAPI.so.12.3
+%ghost %{_libdir}/libparseAPI.so.%{abiver}
%attr(755,root,root) %{_libdir}/libpatchAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpatchAPI.so.12.3
+%ghost %{_libdir}/libpatchAPI.so.%{abiver}
%attr(755,root,root) %{_libdir}/libpcontrol.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpcontrol.so.12.3
+%ghost %{_libdir}/libpcontrol.so.%{abiver}
%attr(755,root,root) %{_libdir}/libstackwalk.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libstackwalk.so.12.3
-%attr(755,root,root) %{_libdir}/libsymLite.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsymLite.so.12.3
+%ghost %{_libdir}/libstackwalk.so.%{abiver}
%attr(755,root,root) %{_libdir}/libsymtabAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsymtabAPI.so.12.3
+%ghost %{_libdir}/libsymtabAPI.so.%{abiver}
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libdynC_API.so
-%attr(755,root,root) %{_libdir}/libdynDwarf.so
-%attr(755,root,root) %{_libdir}/libdynElf.so
-%attr(755,root,root) %{_libdir}/libdyncommon.so
-%attr(755,root,root) %{_libdir}/libdyninstAPI.so
-%attr(755,root,root) %{_libdir}/libdyninstAPI_RT.so
-%attr(755,root,root) %{_libdir}/libinstructionAPI.so
-%attr(755,root,root) %{_libdir}/libparseAPI.so
-%attr(755,root,root) %{_libdir}/libpatchAPI.so
-%attr(755,root,root) %{_libdir}/libpcontrol.so
-%attr(755,root,root) %{_libdir}/libstackwalk.so
-%attr(755,root,root) %{_libdir}/libsymLite.so
-%attr(755,root,root) %{_libdir}/libsymtabAPI.so
+%{_libdir}/libdynC_API.so
+%{_libdir}/libdynDwarf.so
+%{_libdir}/libdynElf.so
+%{_libdir}/libdyncommon.so
+%{_libdir}/libdyninstAPI.so
+%{_libdir}/libdyninstAPI_RT.so
+%{_libdir}/libinstructionAPI.so
+%{_libdir}/libparseAPI.so
+%{_libdir}/libpatchAPI.so
+%{_libdir}/libpcontrol.so
+%{_libdir}/libstackwalk.so
+%{_libdir}/libsymtabAPI.so
%{_includedir}/dyninst
%{_libdir}/cmake/Dyninst
diff --git a/dyninst-install.patch b/dyninst-install.patch
new file mode 100644
index 0000000..45d24a9
--- /dev/null
+++ b/dyninst-install.patch
@@ -0,0 +1,15 @@
+--- dyninst-13.0.0/cmake/DyninstLibrarySettings.cmake.orig 2024-03-01 00:12:39.000000000 +0100
++++ dyninst-13.0.0/cmake/DyninstLibrarySettings.cmake 2025-08-13 19:33:43.940409757 +0200
+@@ -25,9 +25,9 @@ else()
+ set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
+ endif()
+
+-set(DYNINST_INSTALL_BINDIR "bin")
+-set(DYNINST_INSTALL_LIBDIR "lib")
+-set(DYNINST_INSTALL_INCLUDEDIR "include")
++set(DYNINST_INSTALL_BINDIR ${CMAKE_INSTALL_BINDIR})
++set(DYNINST_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR})
++set(DYNINST_INSTALL_INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR})
+ set(DYNINST_INSTALL_CMAKEDIR "${DYNINST_INSTALL_LIBDIR}/cmake/Dyninst")
+
+ # -- Set up the RPATH ---
diff --git a/dyninst-libname.patch b/dyninst-libname.patch
index 19408c4..3cd1dcc 100644
--- a/dyninst-libname.patch
+++ b/dyninst-libname.patch
@@ -1,10 +1,10 @@
---- dyninst-12.2.0/common/CMakeLists.txt.orig 2022-08-22 21:01:05.719446769 +0200
-+++ dyninst-12.2.0/common/CMakeLists.txt 2022-08-23 05:32:43.279810477 +0200
-@@ -103,6 +103,7 @@ endif()
- add_definitions(-DCOMMON_LIB)
-
- dyninst_library(common)
+--- dyninst-13.0.0/common/CMakeLists.txt.orig 2024-03-01 00:12:39.000000000 +0100
++++ dyninst-13.0.0/common/CMakeLists.txt 2025-08-12 19:40:59.318316405 +0200
+@@ -168,6 +168,7 @@ dyninst_library(
+ PUBLIC_DEPS Dyninst::TBB Dyninst::Boost
+ PRIVATE_DEPS Dyninst::LibIberty OpenMP::OpenMP_CXX Dyninst::Valgrind Threads::Threads
+ )
+set_target_properties(common PROPERTIES OUTPUT_NAME dyncommon)
+ # cmake-format: on
- if(TARGET LibIberty)
- add_dependencies(common LibIberty)
+ if(DYNINST_OS_Windows)
diff --git a/dyninst-tbb.patch b/dyninst-tbb.patch
deleted file mode 100644
index f32f2a6..0000000
--- a/dyninst-tbb.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- dyninst-12.2.0/cmake/Modules/FindTBB.cmake.orig 2022-08-23 05:33:29.156228610 +0200
-+++ dyninst-12.2.0/cmake/Modules/FindTBB.cmake 2022-08-23 05:37:07.615045117 +0200
-@@ -154,7 +154,8 @@ find_path(
- if(TBB_INCLUDE_DIRS)
- # Starting in 2020.1.1, tbb_stddef.h is replaced by version.h
- set(_version_files "${TBB_INCLUDE_DIRS}/tbb/tbb_stddef.h"
-- "${TBB_INCLUDE_DIRS}/tbb/version.h")
-+ "${TBB_INCLUDE_DIRS}/tbb/version.h"
-+ "${TBB_INCLUDE_DIRS}/oneapi/tbb/version.h")
- foreach(f IN ITEMS ${_version_files})
- if(EXISTS ${f})
- set(_version_file ${f})
diff --git a/dyninst-x32.patch b/dyninst-x32.patch
index 9f740c6..3c0a873 100644
--- a/dyninst-x32.patch
+++ b/dyninst-x32.patch
@@ -9,14 +9,3 @@
__asm__("mov %%rbp, %0\n"
: "=r"(frame_pointer));
#elif defined(os_linux) || defined(os_freebsd)
---- dyninst-12.3.0/scripts/sysname~ 2023-02-22 22:39:56.000000000 +0100
-+++ dyninst-12.3.0/scripts/sysname 2024-12-18 23:38:23.746358396 +0100
-@@ -344,6 +344,8 @@
- echo "${UNAME_MACHINE}-unknown-linuxcoff" ; exit 0
- elif echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: elf64_ia64"; then
- echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
-+ elif echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: elf32_x86_64"; then
-+ echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
- elif echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: elf_x86_64"; then
- echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
- elif test "${UNAME_MACHINE}" = "alpha" ; then
diff --git a/dyninst-x86.patch b/dyninst-x86.patch
new file mode 100644
index 0000000..9d69748
--- /dev/null
+++ b/dyninst-x86.patch
@@ -0,0 +1,10 @@
+--- dyninst-13.0.0/cmake/DyninstPlatform.cmake.orig 2024-03-01 00:12:39.000000000 +0100
++++ dyninst-13.0.0/cmake/DyninstPlatform.cmake 2025-08-12 20:46:53.688030762 +0200
+@@ -10,6 +10,7 @@ endif()
+
+ # Equivalent to CMAKE_HOST_SYSTEM_PROCESSOR and `uname -m` on Unixes
+ cmake_host_system_information(RESULT _host_arch QUERY OS_PLATFORM)
++string(REGEX REPLACE "i[456]86" "i386" _host_arch ${_host_arch})
+
+ set(_known_arches "x86_64" "ppc64le" "aarch64" "i386" "amd64")
+ if(NOT ${_host_arch} IN_LIST _known_arches)
diff --git a/missing-includes.patch b/missing-includes.patch
deleted file mode 100644
index d03f794..0000000
--- a/missing-includes.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -ur dyninst-12.2.1.orig/instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.h dyninst-12.2.1/instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.h
---- dyninst-12.2.1.orig/instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.h 2022-11-21 20:46:38.000000000 +0100
-+++ dyninst-12.2.1/instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.h 2023-02-19 21:33:54.774376195 +0100
-@@ -33,6 +33,9 @@
- #include "Immediate.h"
- #include "dyn_regs.h"
-
-+#include <array>
-+#include <string>
-+
- namespace Dyninst {
- namespace InstructionAPI {
-
-diff -ur dyninst-12.2.1.orig/instructionAPI/src/AMDGPU/vega/InstructionDecoder-amdgpu-vega.h dyninst-12.2.1/instructionAPI/src/AMDGPU/vega/InstructionDecoder-amdgpu-vega.h
---- dyninst-12.2.1.orig/instructionAPI/src/AMDGPU/vega/InstructionDecoder-amdgpu-vega.h 2022-11-21 20:46:38.000000000 +0100
-+++ dyninst-12.2.1/instructionAPI/src/AMDGPU/vega/InstructionDecoder-amdgpu-vega.h 2023-02-19 21:33:48.364566725 +0100
-@@ -33,6 +33,9 @@
- #include "Immediate.h"
- #include "dyn_regs.h"
-
-+#include <array>
-+#include <string>
-+
- namespace Dyninst {
- namespace InstructionAPI {
-
---- dyninst-12.3.0.orig/instructionAPI/src/InstructionDecoder-aarch64.h 2022-11-21 20:46:38.000000000 +0100
-+++ dyninst-12.3.0/instructionAPI/src/InstructionDecoder-aarch64.h 2023-02-19 21:33:39.774822043 +0100
-@@ -33,6 +33,8 @@
- #include "Immediate.h"
- #include "dyn_regs.h"
-
-+#include <string>
-+
- namespace Dyninst {
- namespace InstructionAPI {
-
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/dyninst.git/commitdiff/b616ea747ac08a2585c1b6c56ef8ef6adf45fc38
More information about the pld-cvs-commit
mailing list