2 # - fix CC detection in configure, so CC=gcc won't be needed
5 %bcond_with mpi # MPI wrapper module
7 Summary: An open-source memory debugger
8 Summary(pl.UTF-8): Otwarty odpluskwiacz pamięci
13 Group: Development/Tools
14 Source0: https://sourceware.org/pub/valgrind/%{name}-%{version}.tar.bz2
15 # Source0-md5: b8b89b327732c12191306c3d31cfd4b1
16 Patch0: %{name}-native-cpuid.patch
17 Patch1: %{name}-ld_linux_strlen.patch
18 Patch2: %{name}-datadir.patch
19 URL: https://www.valgrind.org/
20 BuildRequires: autoconf >= 2.50
21 BuildRequires: automake >= 1:1.10
22 BuildRequires: gcc >= 5:3.0
24 BuildRequires: gcc-multilib-64 >= 5:3.0
26 # check in configure.ac:882 AC_MSG_CHECKING([the GLIBC_VERSION version])
27 BuildRequires: glibc-devel >= 6:2.2
28 BuildRequires: libgomp-devel
29 BuildRequires: libstdc++-devel
30 %{?with_mpi:BuildRequires: mpi-devel}
31 BuildRequires: rpmbuild(macros) >= 2.007
32 Obsoletes: valgrind-callgrind < 0.11
33 Obsoletes: valgrind-calltree < 0.10
34 ExclusiveArch: %{ix86} %{x8664} %{armv7} ppc ppc64 s390x x32 aarch64
35 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37 %define _noautostrip .*/vgpreload.*\\.so
38 %define filterout_c -fstack-protector-strong
42 %define specflags_arm -marm
45 Valgrind is a GPL'd system for debugging and profiling Linux programs.
46 With the tools that come with Valgrind, you can automatically detect
47 many memory management and threading bugs, avoiding hours of
48 frustrating bug-hunting, making your programs more stable. You can
49 also perform detailed profiling to help speed up your programs.
51 %description -l pl.UTF-8
52 Valgrind jest systemem służącym do odpluskwiania i profilowania
53 programów na Linuksie. Używając dostarczanych z nim narzędzi można
54 automatycznie wykrywać wiele błędów związanych z zarządzaniem pamięcią
55 i wątkowaniem, dzięki czemu unika się frustrującego polowania na
56 błędy, a także czyni się programy bardziej stabilnymi. Możliwe jest
57 również dokładne profilowanie, dzięki któremu programy zaczną szybciej
66 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python3(\s|$),#!%{__python3}\1,' \
67 cachegrind/cg_annotate.in \
68 cachegrind/cg_merge.in \
71 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+perl(\s|$),#!%{__perl}\1,' \
72 callgrind/callgrind_annotate.in \
73 callgrind/callgrind_control.in
81 ac_cv_path_GDB=/usr/bin/gdb \
84 %{!?with_mpi:--with-mpicc=/bin/false} \
85 %if "%{_lib}" != "lib"
89 LDFLAGS="" # no strip!
94 rm -rf $RPM_BUILD_ROOT
97 DESTDIR=$RPM_BUILD_ROOT
99 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/doc
100 cp -p docs/index.pdf docs/valgrind_manual.pdf
101 cp -p docs/index.ps docs/valgrind_manual.ps
104 rm -rf $RPM_BUILD_ROOT
107 %defattr(644,root,root,755)
108 %doc AUTHORS NEWS README README_MISSING_SYSCALL_OR_IOCTL
109 %doc docs/html docs/valgrind_manual.pdf docs/valgrind_manual.ps
110 %attr(755,root,root) %{_bindir}/callgrind_annotate
111 %attr(755,root,root) %{_bindir}/callgrind_control
112 %attr(755,root,root) %{_bindir}/cg_annotate
113 %attr(755,root,root) %{_bindir}/cg_diff
114 %attr(755,root,root) %{_bindir}/cg_merge
115 %attr(755,root,root) %{_bindir}/ms_print
116 %attr(755,root,root) %{_bindir}/valgrind
117 %attr(755,root,root) %{_bindir}/valgrind-di-server
118 %attr(755,root,root) %{_bindir}/valgrind-listener
119 %attr(755,root,root) %{_bindir}/vgdb
120 %dir %{_libdir}/%{name}
121 %{_libdir}/%{name}/lib*-linux.a
124 %attr(755,root,root) %{_libdir}/%{name}/libmpiwrap-*-linux.so
126 %if "%{_libexecdir}" != "%{_libdir}"
127 %dir %{_libexecdir}/%{name}
129 %attr(755,root,root) %{_libexecdir}/%{name}/*-linux
130 %attr(755,root,root) %{_libexecdir}/%{name}/valgrind-monitor.py
131 %attr(755,root,root) %{_libexecdir}/%{name}/valgrind-monitor-def.py
132 %attr(755,root,root) %{_libexecdir}/%{name}/vgpreload_*-linux.so
133 %{_libexecdir}/%{name}/*.xml
134 %{_libexecdir}/%{name}/default.supp
136 %{_includedir}/valgrind
137 %{_mandir}/man1/callgrind_annotate.1*
138 %{_mandir}/man1/callgrind_control.1*
139 %{_mandir}/man1/cg_annotate.1*
140 %{_mandir}/man1/cg_diff.1*
141 %{_mandir}/man1/cg_merge.1*
142 %{_mandir}/man1/ms_print.1*
143 %{_mandir}/man1/valgrind.1*
144 %{_mandir}/man1/valgrind-di-server.1*
145 %{_mandir}/man1/valgrind-listener.1*
146 %{_mandir}/man1/vgdb.1*
147 %{_pkgconfigdir}/valgrind.pc