]>
Commit | Line | Data |
---|---|---|
6638e92f JB |
1 | Summary: API for Run-time Code Generation |
2 | Summary(pl.UTF-8): API do generowania kodu w czasie działania | |
3 | Name: dyninst | |
9ba8cdee | 4 | Version: 12.3.0 |
a0b0aeb1 | 5 | Release: 3 |
6638e92f JB |
6 | License: LGPL v2.1+ |
7 | Group: Libraries | |
91c3c392 JB |
8 | #Source0Download: https://github.com/dyninst/dyninst/releases |
9 | Source0: https://github.com/dyninst/dyninst/archive/v%{version}/%{name}-%{version}.tar.gz | |
9ba8cdee | 10 | # Source0-md5: c3a6fc1fc59bb26472f918d4cb797f11 |
6638e92f | 11 | Patch0: %{name}-libname.patch |
b42727c2 | 12 | Patch1: %{name}-x32.patch |
e0511022 | 13 | Patch2: %{name}-tbb.patch |
9848c5e5 | 14 | Patch3: missing-includes.patch |
6c5c9610 | 15 | URL: https://dyninst.org/dyninst |
4fe92e20 | 16 | # libiberty |
6638e92f | 17 | BuildRequires: binutils-devel |
3aef0a88 | 18 | BuildRequires: boost-devel >= 1.70.0 |
4273f5a9 | 19 | BuildRequires: cmake >= 3.4.0 |
e0511022 | 20 | BuildRequires: elfutils-devel >= 0.186 |
6638e92f | 21 | BuildRequires: flex |
4273f5a9 | 22 | BuildRequires: libgomp-devel |
4fe92e20 | 23 | BuildRequires: libstdc++-devel >= 6:4.7 |
e0511022 | 24 | BuildRequires: rpmbuild(macros) >= 1.605 |
6638e92f | 25 | BuildRequires: sed >= 4.0 |
fe4c339c | 26 | BuildRequires: tbb-devel >= 2021.4 |
e0511022 | 27 | Requires: elfutils >= 0.186 |
fe4c339c | 28 | Requires: tbb >= 2021.4 |
3aef0a88 | 29 | Obsoletes: dyninst-doc < 12.2 |
b42727c2 | 30 | ExclusiveArch: %{ix86} %{x8664} x32 aarch64 ppc ppc64 aarch64 |
6638e92f JB |
31 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
32 | ||
fe4c339c JP |
33 | %define skip_post_check_so libparseAPI\.so.* |
34 | ||
6638e92f JB |
35 | %description |
36 | Dyninst is an Application Program Interface (API) to permit the | |
37 | insertion of code into a running program. The API also permits | |
38 | changing or removing subroutine calls from the application program. | |
39 | Run-time code changes are useful to support a variety of applications | |
40 | including debugging, performance monitoring, and to support composing | |
41 | applications out of existing packages. The goal of this API is to | |
42 | provide a machine independent interface to permit the creation of | |
43 | tools and applications that use run-time code patching. | |
44 | ||
45 | %description -l pl.UTF-8 | |
46 | Dyninst to API (interfejs programowy) pozwalający na wstawianie kodu | |
47 | do działającego programu. API pozwala także na zmianę lub usuwanie | |
48 | wywołań funkcji z programu aplikacji. Zmiany kodu w czasie działania | |
49 | są przydatne w wielu zastosowaniach, w tym diagnostyce, monitorowaniu | |
50 | wydajności oraz wsparciu składania aplikacji z istniejących pakietów. | |
51 | Celem tego API jest zapewnienie niezależnego od maszyny interfejsu | |
52 | pozwalającego na tworzenie narzędzi i aplikacji wykorzystujących | |
53 | modyfikowanie kodu w czasie działania. | |
54 | ||
55 | %package devel | |
56 | Summary: Header files for dyninst libraries | |
57 | Summary(pl.UTF-8): Pliki nagłówkowe bibliotek dyninst | |
58 | Group: Development/Libraries | |
59 | Requires: %{name} = %{version}-%{release} | |
4fe92e20 | 60 | Requires: libstdc++-devel >= 6:4.7 |
a0b0aeb1 | 61 | Requires: tbb-devel >= 2021.4 |
6638e92f JB |
62 | |
63 | %description devel | |
64 | Header files for dyninst libraries. | |
65 | ||
66 | %description devel -l pl.UTF-8 | |
67 | Pliki nagłówkowe bibliotek dyninst. | |
68 | ||
69 | %package static | |
70 | Summary: Static dyninst libraries | |
71 | Summary(pl.UTF-8): Statyczne biblioteki dyninst | |
72 | Group: Development/Libraries | |
73 | Requires: %{name}-devel = %{version}-%{release} | |
74 | ||
75 | %description static | |
76 | Static dyninst libraries. | |
77 | ||
78 | %description static -l pl.UTF-8 | |
79 | Statyczne biblioteki dyninst. | |
80 | ||
81 | %prep | |
91c3c392 | 82 | %setup -q |
e6c07753 | 83 | %patch0 -p1 |
6638e92f | 84 | %patch1 -p1 |
49d420e8 | 85 | %patch2 -p1 |
9848c5e5 | 86 | %patch3 -p1 |
6638e92f | 87 | |
6638e92f | 88 | %build |
fe4c339c | 89 | export CXXFLAGS="%{rpmcxxflags} -DTBB_DEFINE_STD_HASH_SPECIALIZATIONS" |
3aef0a88 JB |
90 | install -d build |
91 | cd build | |
92 | %cmake .. \ | |
4fe92e20 JB |
93 | -DINSTALL_CMAKE_DIR:PATH=%{_libdir}/cmake/Dyninst \ |
94 | -DINSTALL_DOC_DIR:PATH=%{_docdir}/dyninst \ | |
95 | -DINSTALL_INCLUDE_DIR:PATH=%{_includedir}/dyninst \ | |
96 | -DINSTALL_LIB_DIR:PATH=%{_libdir} \ | |
6638e92f | 97 | |
4fe92e20 | 98 | %{__make} |
6638e92f JB |
99 | |
100 | %install | |
101 | rm -rf $RPM_BUILD_ROOT | |
102 | ||
3aef0a88 | 103 | %{__make} -C build install \ |
6638e92f JB |
104 | DESTDIR=$RPM_BUILD_ROOT |
105 | ||
106 | %clean | |
107 | rm -rf $RPM_BUILD_ROOT | |
108 | ||
109 | %post -p /sbin/ldconfig | |
110 | %postun -p /sbin/ldconfig | |
111 | ||
112 | %files | |
113 | %defattr(644,root,root,755) | |
770436bb | 114 | %doc COPYRIGHT CHANGELOG.md README.md |
91c3c392 | 115 | %attr(755,root,root) %{_bindir}/parseThat |
4fe92e20 | 116 | %attr(755,root,root) %{_libdir}/libdynC_API.so.*.*.* |
9ba8cdee | 117 | %attr(755,root,root) %ghost %{_libdir}/libdynC_API.so.12.3 |
6638e92f | 118 | %attr(755,root,root) %{_libdir}/libdynDwarf.so.*.*.* |
9ba8cdee | 119 | %attr(755,root,root) %ghost %{_libdir}/libdynDwarf.so.12.3 |
6638e92f | 120 | %attr(755,root,root) %{_libdir}/libdynElf.so.*.*.* |
9ba8cdee | 121 | %attr(755,root,root) %ghost %{_libdir}/libdynElf.so.12.3 |
6638e92f | 122 | %attr(755,root,root) %{_libdir}/libdyncommon.so.*.*.* |
9ba8cdee | 123 | %attr(755,root,root) %ghost %{_libdir}/libdyncommon.so.12.3 |
6638e92f | 124 | %attr(755,root,root) %{_libdir}/libdyninstAPI.so.*.*.* |
9ba8cdee | 125 | %attr(755,root,root) %ghost %{_libdir}/libdyninstAPI.so.12.3 |
6638e92f | 126 | %attr(755,root,root) %{_libdir}/libdyninstAPI_RT.so.*.*.* |
9ba8cdee | 127 | %attr(755,root,root) %ghost %{_libdir}/libdyninstAPI_RT.so.12.3 |
6638e92f | 128 | %attr(755,root,root) %{_libdir}/libinstructionAPI.so.*.*.* |
9ba8cdee | 129 | %attr(755,root,root) %ghost %{_libdir}/libinstructionAPI.so.12.3 |
6638e92f | 130 | %attr(755,root,root) %{_libdir}/libparseAPI.so.*.*.* |
9ba8cdee | 131 | %attr(755,root,root) %ghost %{_libdir}/libparseAPI.so.12.3 |
6638e92f | 132 | %attr(755,root,root) %{_libdir}/libpatchAPI.so.*.*.* |
9ba8cdee | 133 | %attr(755,root,root) %ghost %{_libdir}/libpatchAPI.so.12.3 |
6638e92f | 134 | %attr(755,root,root) %{_libdir}/libpcontrol.so.*.*.* |
9ba8cdee | 135 | %attr(755,root,root) %ghost %{_libdir}/libpcontrol.so.12.3 |
6638e92f | 136 | %attr(755,root,root) %{_libdir}/libstackwalk.so.*.*.* |
9ba8cdee | 137 | %attr(755,root,root) %ghost %{_libdir}/libstackwalk.so.12.3 |
6638e92f | 138 | %attr(755,root,root) %{_libdir}/libsymLite.so.*.*.* |
9ba8cdee | 139 | %attr(755,root,root) %ghost %{_libdir}/libsymLite.so.12.3 |
6638e92f | 140 | %attr(755,root,root) %{_libdir}/libsymtabAPI.so.*.*.* |
9ba8cdee | 141 | %attr(755,root,root) %ghost %{_libdir}/libsymtabAPI.so.12.3 |
6638e92f JB |
142 | |
143 | %files devel | |
144 | %defattr(644,root,root,755) | |
4fe92e20 | 145 | %attr(755,root,root) %{_libdir}/libdynC_API.so |
6638e92f JB |
146 | %attr(755,root,root) %{_libdir}/libdynDwarf.so |
147 | %attr(755,root,root) %{_libdir}/libdynElf.so | |
148 | %attr(755,root,root) %{_libdir}/libdyncommon.so | |
149 | %attr(755,root,root) %{_libdir}/libdyninstAPI.so | |
150 | %attr(755,root,root) %{_libdir}/libdyninstAPI_RT.so | |
151 | %attr(755,root,root) %{_libdir}/libinstructionAPI.so | |
152 | %attr(755,root,root) %{_libdir}/libparseAPI.so | |
153 | %attr(755,root,root) %{_libdir}/libpatchAPI.so | |
154 | %attr(755,root,root) %{_libdir}/libpcontrol.so | |
155 | %attr(755,root,root) %{_libdir}/libstackwalk.so | |
156 | %attr(755,root,root) %{_libdir}/libsymLite.so | |
157 | %attr(755,root,root) %{_libdir}/libsymtabAPI.so | |
158 | %{_includedir}/dyninst | |
4fe92e20 | 159 | %{_libdir}/cmake/Dyninst |
6638e92f JB |
160 | |
161 | %files static | |
162 | %defattr(644,root,root,755) | |
163 | %{_libdir}/libdyninstAPI_RT.a |