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: e3ca8e03c6c527e80e7da5135a1b6beb
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
43 Valgrind is a GPL'd system for debugging and profiling Linux programs.
44 With the tools that come with Valgrind, you can automatically detect
45 many memory management and threading bugs, avoiding hours of
46 frustrating bug-hunting, making your programs more stable. You can
47 also perform detailed profiling to help speed up your programs.
49 %description -l pl.UTF-8
50 Valgrind jest systemem służącym do odpluskwiania i profilowania
51 programów na Linuksie. Używając dostarczanych z nim narzędzi można
52 automatycznie wykrywać wiele błędów związanych z zarządzaniem pamięcią
53 i wątkowaniem, dzięki czemu unika się frustrującego polowania na
54 błędy, a także czyni się programy bardziej stabilnymi. Możliwe jest
55 również dokładne profilowanie, dzięki któremu programy zaczną szybciej
70 ac_cv_path_GDB=/usr/bin/gdb \
73 %{!?with_mpi:--with-mpicc=/bin/false} \
74 %if "%{_lib}" != "lib"
78 LDFLAGS="" # no strip!
83 rm -rf $RPM_BUILD_ROOT
86 DESTDIR=$RPM_BUILD_ROOT
88 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/doc
89 cp -p docs/index.pdf docs/valgrind_manual.pdf
90 cp -p docs/index.ps docs/valgrind_manual.ps
93 rm -rf $RPM_BUILD_ROOT
96 %defattr(644,root,root,755)
97 %doc AUTHORS NEWS README README_MISSING_SYSCALL_OR_IOCTL
98 %doc docs/html docs/valgrind_manual.pdf docs/valgrind_manual.ps
99 %attr(755,root,root) %{_bindir}/callgrind_annotate
100 %attr(755,root,root) %{_bindir}/callgrind_control
101 %attr(755,root,root) %{_bindir}/cg_annotate
102 %attr(755,root,root) %{_bindir}/cg_diff
103 %attr(755,root,root) %{_bindir}/cg_merge
104 %attr(755,root,root) %{_bindir}/ms_print
105 %attr(755,root,root) %{_bindir}/valgrind
106 %attr(755,root,root) %{_bindir}/valgrind-di-server
107 %attr(755,root,root) %{_bindir}/valgrind-listener
108 %attr(755,root,root) %{_bindir}/vgdb
109 %dir %{_libdir}/%{name}
110 %{_libdir}/%{name}/lib*-linux.a
113 %attr(755,root,root) %{_libdir}/%{name}/libmpiwrap-*-linux.so
115 %if "%{_libexecdir}" != "%{_libdir}"
116 %dir %{_libexecdir}/%{name}
118 %attr(755,root,root) %{_libexecdir}/%{name}/*-linux
119 %attr(755,root,root) %{_libexecdir}/%{name}/vgpreload_*-linux.so
120 %{_libexecdir}/%{name}/*.xml
121 %{_libexecdir}/%{name}/default.supp
123 %{_includedir}/valgrind
124 %{_mandir}/man1/callgrind_annotate.1*
125 %{_mandir}/man1/callgrind_control.1*
126 %{_mandir}/man1/cg_annotate.1*
127 %{_mandir}/man1/cg_diff.1*
128 %{_mandir}/man1/cg_merge.1*
129 %{_mandir}/man1/ms_print.1*
130 %{_mandir}/man1/valgrind.1*
131 %{_mandir}/man1/valgrind-di-server.1*
132 %{_mandir}/man1/valgrind-listener.1*
133 %{_mandir}/man1/vgdb.1*
134 %{_pkgconfigdir}/valgrind.pc