]> git.pld-linux.org Git - packages/valgrind.git/blobdiff - valgrind.spec
- rel 2; wrap malloc calls; no rdrand; from FC
[packages/valgrind.git] / valgrind.spec
index 7b4c27bd11270fc7be7cf13638d9df36a4b066c2..44cb1f5e61dd7aebffbd32aa52d3e66124190e2e 100644 (file)
-%define                snap    20030329
-Summary:       An open-source memory debugger for x86-GNU/Linux
-Summary(pl):   Otwarty odpluskwiacz pamiêci dla Linuksa x86
+# 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:       1.9.4
-Release:       1.%{snap}.1
-License:       GPL
-ExclusiveArch: %{ix86}
-Group:         Networking/Utilities
-#Source0:      http://developer.kde.org/~sewardj/%{name}-%{version}.tar.bz2
-Source0:       %{name}-%{snap}.tar.bz2
-URL:           http://developer.kde.org/~sewardj/
-BuildRequires: autoconf
-BuildRequires: automake
+Version:       3.11.0
+Release:       2
+License:       GPL v2+
+Group:         Development/Tools
+Source0:       http://valgrind.org/downloads/%{name}-%{version}.tar.bz2
+# Source0-md5: 4ea62074da73ae82e0162d6550d3f129
+Patch0:                %{name}-native-cpuid.patch
+Patch1:                %{name}-ld_linux_strlen.patch
+Patch2:                valgrind-3.11.0-wrapmalloc.patch
+Patch3:                valgrind-3.11.0-no-rdrand.patch
+URL:           http://valgrind.org/
+BuildRequires: autoconf >= 2.50
+BuildRequires: automake >= 1:1.10
+BuildRequires: gcc >= 5:3.0
+%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: libgomp-devel
+BuildRequires: libstdc++-devel
+%{?with_mpi:BuildRequires:     mpi-devel}
+Obsoletes:     valgrind-callgrind
+Obsoletes:     valgrind-calltree
+ExclusiveArch: %{ix86} %{x8664} arm ppc ppc64 s390x x32
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-# Valgrind binaries should _never_ be stripped
-%define                no_install_post_strip   1
-
-# Same name as libpthread
-%define                _noautoprovfiles %{_libdir}/%{name}/libpthread.so.0 %{_libdir}/%{name}/libpthread.so %{_libdir}/%{name}/valgrind.so %{_libdir}/%{name}/valgrinq.so
+%define                _noautostrip    .*/vgpreload.*\\.so
+%define                filterout_c     -fstack-protector-strong
+# ld portion broken
+%undefine      with_ccache
 
 %description
-Valgrind is a flexible tool for debugging and profiling Linux-x86
-executables. The tool consists of a core, which provides a synthetic
-x86 CPU in software, and a series of "skins", each of which is a
-debugging or profiling tool. The architecture is modular, so that new
-skins can be created easily and without disturbing the existing
-structure.
-
-A number of useful skins are supplied as standard. In summary, these
-are:
-- The memcheck skin detects memory-management problems in your
-  programs,
-- cachegrind performs detailed simulation of the I1, D1 and L2 caches
-  in your CPU and so can accurately pinpoint the sources of cache misses
-  in your code,
-- addrcheck skin is a lightweight version of memcheck,
-- helgrind is designed to find data races in multithreaded programs.
+Valgrind is a GPL'd system for debugging and profiling Linux programs.
+With the tools that come with Valgrind, you can automatically detect
+many memory management and threading bugs, avoiding hours of
+frustrating bug-hunting, making your programs more stable. You can
+also perform detailed profiling to help speed up your programs.
 
-%description -l pl
-Valgrind jest elastycznym narzêdziem s³u¿±cym do odpluskwiania i
-profilowania programów pod Linuksem. Sk³ada siê z rdzenia
-dostarczaj±cego syntetyczny emulowany procesor zgodny z x86 i ze
-"skórek" bêd±cych narzêdziami o ró¿nych zastosowaniach. Architektura
-programu jest modularna, wobec czego ³atwo mo¿na stworzyæ nowe skórki
-nie ryzykuj±c popsucia reszty.
-
-Standardowo dostarczone jest kilka u¿ytecznych skórek:
-- memcheck wykrywa problemy z zarz±dzaniem pamiêci± w programach,
-- cachegrind przeprowadza symulacjê pamiêci cache procesora w celu
-  znalezienia miejsc, w których cache zawodzi,
-- addrcheck jest lekk± wersj± memchecka,
-- helgrind wykrywa konflikty dostêpu w wielow±tkowych programach.
+%description -l pl.UTF-8
+Valgrind jest systemem służącym do odpluskwiania i profilowania
+programów na Linuksie. Używając dostarczanych z nim narzędzi można
+automatycznie wykrywać wiele błędów związanych z zarządzaniem pamięcią
+i wątkowaniem, dzięki czemu unika się frustrującego polowania na
+błędy, a także czyni się programy bardziej stabilnymi. Możliwe jest
+również dokładne profilowanie, dzięki któremu programy zaczną szybciej
+pracować.
 
 %prep
-%setup -q -n %{name}
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
-# pthread_atfork() not found (?)
-echo "main(){}" > corecheck/tests/pth_atfork1.c
+sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.ac
 
 %build
-rm -f missing
 %{__aclocal}
-%{__autoheader}
 %{__autoconf}
+%{__autoheader}
 %{__automake}
+
+ac_cv_path_GDB=/usr/bin/gdb \
 %configure \
+       CC=gcc \
+       --enable-tls \
+%if %{_lib} != "lib"
+       --enable-only64bit \
+%endif
        LDFLAGS="" # no strip!
+
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install DESTDIR=$RPM_BUILD_ROOT
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT
+
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/doc
+cp -p docs/index.pdf docs/valgrind_manual.pdf
+cp -p docs/index.ps docs/valgrind_manual.ps
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc ACKNOWLEDGEMENTS AUTHORS ChangeLog PATCHES_APPLIED
-%doc README README_MISSING_SYSCALL_OR_IOCTL TODO
-%doc $RPM_BUILD_ROOT%{_docdir}/valgrind/*.html
-%attr(755,root,root) %{_bindir}/*
-%{_includedir}/*
-%{_libdir}/%{name}
+%doc AUTHORS NEWS README README_MISSING_SYSCALL_OR_IOCTL
+%doc docs/html docs/valgrind_manual.pdf docs/valgrind_manual.ps
+%attr(755,root,root) %{_bindir}/callgrind_annotate
+%attr(755,root,root) %{_bindir}/callgrind_control
+%attr(755,root,root) %{_bindir}/cg_annotate
+%attr(755,root,root) %{_bindir}/cg_diff
+%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
+%if %{with mpi}
+# TODO: subpackage?
+%attr(755,root,root) %{_libdir}/%{name}/libmpiwrap-*-linux.so
+%endif
+%{_libdir}/%{name}/*.xml
+%{_libdir}/%{name}/default.supp
+%{_libdir}/%{name}/lib*-linux.a
+%{_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-listener.1*
+%{_mandir}/man1/vgdb.1*
+%{_pkgconfigdir}/valgrind.pc
This page took 0.053531 seconds and 4 git commands to generate.