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: afe11b5572c3121a781433b7c0ab741b
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 Obsoletes: valgrind-callgrind < 0.11
32 Obsoletes: valgrind-calltree < 0.10
33 ExclusiveArch: %{ix86} %{x8664} armv7hl armv7hnl armv7l ppc ppc64 s390x x32 aarch64
34 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36 %define _noautostrip .*/vgpreload.*\\.so
37 %define filterout_c -fstack-protector-strong
42 Valgrind is a GPL'd system for debugging and profiling Linux programs.
43 With the tools that come with Valgrind, you can automatically detect
44 many memory management and threading bugs, avoiding hours of
45 frustrating bug-hunting, making your programs more stable. You can
46 also perform detailed profiling to help speed up your programs.
48 %description -l pl.UTF-8
49 Valgrind jest systemem służącym do odpluskwiania i profilowania
50 programów na Linuksie. Używając dostarczanych z nim narzędzi można
51 automatycznie wykrywać wiele błędów związanych z zarządzaniem pamięcią
52 i wątkowaniem, dzięki czemu unika się frustrującego polowania na
53 błędy, a także czyni się programy bardziej stabilnymi. Możliwe jest
54 również dokładne profilowanie, dzięki któremu programy zaczną szybciej
63 sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.ac
71 ac_cv_path_GDB=/usr/bin/gdb \
75 %{!?with_mpi:--with-mpicc=/bin/false} \
76 %if "%{_lib}" != "lib"
80 LDFLAGS="" # no strip!
85 rm -rf $RPM_BUILD_ROOT
88 DESTDIR=$RPM_BUILD_ROOT
90 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/doc
91 cp -p docs/index.pdf docs/valgrind_manual.pdf
92 cp -p docs/index.ps docs/valgrind_manual.ps
95 rm -rf $RPM_BUILD_ROOT
98 %defattr(644,root,root,755)
99 %doc AUTHORS NEWS README README_MISSING_SYSCALL_OR_IOCTL
100 %doc docs/html docs/valgrind_manual.pdf docs/valgrind_manual.ps
101 %attr(755,root,root) %{_bindir}/callgrind_annotate
102 %attr(755,root,root) %{_bindir}/callgrind_control
103 %attr(755,root,root) %{_bindir}/cg_annotate
104 %attr(755,root,root) %{_bindir}/cg_diff
105 %attr(755,root,root) %{_bindir}/cg_merge
106 %attr(755,root,root) %{_bindir}/ms_print
107 %attr(755,root,root) %{_bindir}/valgrind
108 %attr(755,root,root) %{_bindir}/valgrind-di-server
109 %attr(755,root,root) %{_bindir}/valgrind-listener
110 %attr(755,root,root) %{_bindir}/vgdb
111 %dir %{_libdir}/%{name}
112 %{_libdir}/%{name}/lib*-linux.a
115 %attr(755,root,root) %{_libdir}/%{name}/libmpiwrap-*-linux.so
117 %if "%{_libexecdir}" != "%{_libdir}"
118 %dir %{_libexecdir}/%{name}
120 %attr(755,root,root) %{_libexecdir}/%{name}/*-linux
121 %attr(755,root,root) %{_libexecdir}/%{name}/vgpreload_*-linux.so
122 %{_libexecdir}/%{name}/*.xml
123 %{_libexecdir}/%{name}/default.supp
125 %{_includedir}/valgrind
126 %{_mandir}/man1/callgrind_annotate.1*
127 %{_mandir}/man1/callgrind_control.1*
128 %{_mandir}/man1/cg_annotate.1*
129 %{_mandir}/man1/cg_diff.1*
130 %{_mandir}/man1/cg_merge.1*
131 %{_mandir}/man1/ms_print.1*
132 %{_mandir}/man1/valgrind.1*
133 %{_mandir}/man1/valgrind-di-server.1*
134 %{_mandir}/man1/valgrind-listener.1*
135 %{_mandir}/man1/vgdb.1*
136 %{_pkgconfigdir}/valgrind.pc