]> git.pld-linux.org Git - packages/dyninst.git/blob - dyninst.spec
R: tbb-devel in -devel; rel 3
[packages/dyninst.git] / dyninst.spec
1 Summary:        API for Run-time Code Generation
2 Summary(pl.UTF-8):      API do generowania kodu w czasie działania
3 Name:           dyninst
4 Version:        12.3.0
5 Release:        3
6 License:        LGPL v2.1+
7 Group:          Libraries
8 #Source0Download: https://github.com/dyninst/dyninst/releases
9 Source0:        https://github.com/dyninst/dyninst/archive/v%{version}/%{name}-%{version}.tar.gz
10 # Source0-md5:  c3a6fc1fc59bb26472f918d4cb797f11
11 Patch0:         %{name}-libname.patch
12 Patch1:         %{name}-x32.patch
13 Patch2:         %{name}-tbb.patch
14 Patch3:         missing-includes.patch
15 URL:            https://dyninst.org/dyninst
16 # libiberty
17 BuildRequires:  binutils-devel
18 BuildRequires:  boost-devel >= 1.70.0
19 BuildRequires:  cmake >= 3.4.0
20 BuildRequires:  elfutils-devel >= 0.186
21 BuildRequires:  flex
22 BuildRequires:  libgomp-devel
23 BuildRequires:  libstdc++-devel >= 6:4.7
24 BuildRequires:  rpmbuild(macros) >= 1.605
25 BuildRequires:  sed >= 4.0
26 BuildRequires:  tbb-devel >= 2021.4
27 Requires:       elfutils >= 0.186
28 Requires:       tbb >= 2021.4
29 Obsoletes:      dyninst-doc < 12.2
30 ExclusiveArch:  %{ix86} %{x8664} x32 aarch64 ppc ppc64 aarch64
31 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32
33 %define         skip_post_check_so       libparseAPI\.so.*
34
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}
60 Requires:       libstdc++-devel >= 6:4.7
61 Requires:       tbb-devel >= 2021.4
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
82 %setup -q
83 %patch0 -p1
84 %patch1 -p1
85 %patch2 -p1
86 %patch3 -p1
87
88 %build
89 export CXXFLAGS="%{rpmcxxflags} -DTBB_DEFINE_STD_HASH_SPECIALIZATIONS"
90 install -d build
91 cd build
92 %cmake .. \
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} \
97
98 %{__make}
99
100 %install
101 rm -rf $RPM_BUILD_ROOT
102
103 %{__make} -C build install \
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)
114 %doc COPYRIGHT CHANGELOG.md README.md
115 %attr(755,root,root) %{_bindir}/parseThat
116 %attr(755,root,root) %{_libdir}/libdynC_API.so.*.*.*
117 %attr(755,root,root) %ghost %{_libdir}/libdynC_API.so.12.3
118 %attr(755,root,root) %{_libdir}/libdynDwarf.so.*.*.*
119 %attr(755,root,root) %ghost %{_libdir}/libdynDwarf.so.12.3
120 %attr(755,root,root) %{_libdir}/libdynElf.so.*.*.*
121 %attr(755,root,root) %ghost %{_libdir}/libdynElf.so.12.3
122 %attr(755,root,root) %{_libdir}/libdyncommon.so.*.*.*
123 %attr(755,root,root) %ghost %{_libdir}/libdyncommon.so.12.3
124 %attr(755,root,root) %{_libdir}/libdyninstAPI.so.*.*.*
125 %attr(755,root,root) %ghost %{_libdir}/libdyninstAPI.so.12.3
126 %attr(755,root,root) %{_libdir}/libdyninstAPI_RT.so.*.*.*
127 %attr(755,root,root) %ghost %{_libdir}/libdyninstAPI_RT.so.12.3
128 %attr(755,root,root) %{_libdir}/libinstructionAPI.so.*.*.*
129 %attr(755,root,root) %ghost %{_libdir}/libinstructionAPI.so.12.3
130 %attr(755,root,root) %{_libdir}/libparseAPI.so.*.*.*
131 %attr(755,root,root) %ghost %{_libdir}/libparseAPI.so.12.3
132 %attr(755,root,root) %{_libdir}/libpatchAPI.so.*.*.*
133 %attr(755,root,root) %ghost %{_libdir}/libpatchAPI.so.12.3
134 %attr(755,root,root) %{_libdir}/libpcontrol.so.*.*.*
135 %attr(755,root,root) %ghost %{_libdir}/libpcontrol.so.12.3
136 %attr(755,root,root) %{_libdir}/libstackwalk.so.*.*.*
137 %attr(755,root,root) %ghost %{_libdir}/libstackwalk.so.12.3
138 %attr(755,root,root) %{_libdir}/libsymLite.so.*.*.*
139 %attr(755,root,root) %ghost %{_libdir}/libsymLite.so.12.3
140 %attr(755,root,root) %{_libdir}/libsymtabAPI.so.*.*.*
141 %attr(755,root,root) %ghost %{_libdir}/libsymtabAPI.so.12.3
142
143 %files devel
144 %defattr(644,root,root,755)
145 %attr(755,root,root) %{_libdir}/libdynC_API.so
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
159 %{_libdir}/cmake/Dyninst
160
161 %files static
162 %defattr(644,root,root,755)
163 %{_libdir}/libdyninstAPI_RT.a
This page took 0.144691 seconds and 4 git commands to generate.