]> git.pld-linux.org Git - packages/valgrind.git/blobdiff - valgrind.spec
up to 3.23.0
[packages/valgrind.git] / valgrind.spec
index 3041d4801ad251528cf8224ef7e3f85a311b075f..d95f37ca346120bdc6d3924d9e692a14b59a2ad0 100644 (file)
@@ -1,38 +1,46 @@
 # TODO:
 # - fix CC detection in configure, so CC=gcc won't be needed
+#
+# Conditional build:
+%bcond_with    mpi     # MPI wrapper module
+#
 Summary:       An open-source memory debugger
 Summary(pl.UTF-8):     Otwarty odpluskwiacz pamięci
 Name:          valgrind
-Version:       3.7.0
-Release:       4
-License:       GPL
+Version:       3.23.0
+Release:       1
+License:       GPL v2+
 Group:         Development/Tools
-Source0:       http://valgrind.org/downloads/%{name}-%{version}.tar.bz2
-# Source0-md5: a855fda56edf05614f099dca316d1775
-Patch0:                %{name}-debuginfo.patch
-Patch1:                %{name}-native-cpuid.patch
-Patch2:                %{name}-automake-1.11.2.patch
-Patch3:                %{name}-ld_linux_strlen.patch
-Patch4:                %{name}-glibc.patch
-URL:           http://valgrind.org/
-BuildRequires: autoconf
-BuildRequires: automake
+Source0:       https://sourceware.org/pub/valgrind/%{name}-%{version}.tar.bz2
+# Source0-md5: c59775fcbfa82fcce796843d0aaa7538
+Patch0:                %{name}-native-cpuid.patch
+Patch1:                %{name}-ld_linux_strlen.patch
+Patch2:                %{name}-datadir.patch
+URL:           https://www.valgrind.org/
+BuildRequires: autoconf >= 2.50
+BuildRequires: automake >= 1:1.10
 BuildRequires: gcc >= 5:3.0
-# Needs libc.a
+%ifarch x32
+BuildRequires: gcc-multilib-64 >= 5:3.0
+%endif
+# check in configure.ac:882 AC_MSG_CHECKING([the GLIBC_VERSION version])
 BuildRequires: glibc-devel >= 6:2.2
-BuildRequires: glibc-devel < 6:2.16
-BuildRequires: glibc-static
 BuildRequires: libgomp-devel
 BuildRequires: libstdc++-devel
-Obsoletes:     valgrind-callgrind
-Obsoletes:     valgrind-calltree
-ExclusiveArch: %{ix86} %{x8664} arm ppc ppc64 s390x
+%{?with_mpi:BuildRequires:     mpi-devel}
+BuildRequires: rpmbuild(macros) >= 2.007
+Obsoletes:     valgrind-callgrind < 0.11
+Obsoletes:     valgrind-calltree < 0.10
+ExclusiveArch: %{ix86} %{x8664} %{armv7} ppc ppc64 s390x x32 aarch64
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _noautostrip    .*/vgpreload.*\\.so
+%define                filterout_c     -fstack-protector-strong
 # ld portion broken
 %undefine      with_ccache
 
+%define                specflags_arm   -marm
+
 %description
 Valgrind is a GPL'd system for debugging and profiling Linux programs.
 With the tools that come with Valgrind, you can automatically detect
@@ -51,27 +59,33 @@ pracować.
 
 %prep
 %setup -q
-%patch0
+%patch0 -p1
 %patch1 -p1
-%patch2 -p0
-%patch3 -p1
-%patch4 -p0
+%patch2 -p1
 
-sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.in
+%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python3(\s|$),#!%{__python3}\1,' \
+       cachegrind/cg_annotate.in \
+       cachegrind/cg_merge.in \
+       cachegrind/cg_diff.in
+
+%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+perl(\s|$),#!%{__perl}\1,' \
+       callgrind/callgrind_annotate.in \
+       callgrind/callgrind_control.in
 
 %build
 %{__aclocal}
-%{__autoheader}
 %{__autoconf}
+%{__autoheader}
 %{__automake}
 
 ac_cv_path_GDB=/usr/bin/gdb \
 %configure \
-       CC=gcc \
        --enable-tls \
-%if %{_lib} != "lib"
+       %{!?with_mpi:--with-mpicc=/bin/false} \
+%if "%{_lib}" != "lib"
        --enable-only64bit \
-%endif
+%endif \
+       --enable-lto \
        LDFLAGS="" # no strip!
 
 %{__make}
@@ -83,8 +97,8 @@ rm -rf $RPM_BUILD_ROOT
        DESTDIR=$RPM_BUILD_ROOT
 
 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/doc
-mv docs/index.pdf docs/valgrind_manual.pdf
-mv docs/index.ps docs/valgrind_manual.ps
+cp -p docs/index.pdf docs/valgrind_manual.pdf
+cp -p docs/index.ps docs/valgrind_manual.ps
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -100,18 +114,34 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/cg_merge
 %attr(755,root,root) %{_bindir}/ms_print
 %attr(755,root,root) %{_bindir}/valgrind
+%attr(755,root,root) %{_bindir}/valgrind-di-server
 %attr(755,root,root) %{_bindir}/valgrind-listener
 %attr(755,root,root) %{_bindir}/vgdb
 %dir %{_libdir}/%{name}
-%attr(755,root,root) %{_libdir}/%{name}/*-linux
-%attr(755,root,root) %{_libdir}/%{name}/vgpreload_*-linux.so
-%{_libdir}/%{name}/*.xml
-%{_libdir}/%{name}/default.supp
 %{_libdir}/%{name}/lib*-linux.a
+%if %{with mpi}
+# TODO: subpackage?
+%attr(755,root,root) %{_libdir}/%{name}/libmpiwrap-*-linux.so
+%endif
+%if "%{_libexecdir}" != "%{_libdir}"
+%dir %{_libexecdir}/%{name}
+%endif
+%attr(755,root,root) %{_libexecdir}/%{name}/*-linux
+%attr(755,root,root) %{_libexecdir}/%{name}/valgrind-monitor.py
+%attr(755,root,root) %{_libexecdir}/%{name}/valgrind-monitor-def.py
+%attr(755,root,root) %{_libexecdir}/%{name}/vgpreload_*-linux.so
+%{_libexecdir}/%{name}/*.xml
+%{_libexecdir}/%{name}/default.supp
+%{_datadir}/%{name}
 %{_includedir}/valgrind
 %{_mandir}/man1/callgrind_annotate.1*
 %{_mandir}/man1/callgrind_control.1*
 %{_mandir}/man1/cg_annotate.1*
+%{_mandir}/man1/cg_diff.1*
+%{_mandir}/man1/cg_merge.1*
 %{_mandir}/man1/ms_print.1*
 %{_mandir}/man1/valgrind.1*
+%{_mandir}/man1/valgrind-di-server.1*
+%{_mandir}/man1/valgrind-listener.1*
+%{_mandir}/man1/vgdb.1*
 %{_pkgconfigdir}/valgrind.pc
This page took 0.132878 seconds and 4 git commands to generate.