]> git.pld-linux.org Git - packages/valgrind.git/blame_incremental - valgrind.spec
on %{arm} ensure valgrind is built in arm mode
[packages/valgrind.git] / valgrind.spec
... / ...
CommitLineData
1# TODO:
2# - fix CC detection in configure, so CC=gcc won't be needed
3#
4# Conditional build:
5%bcond_with mpi # MPI wrapper module
6#
7Summary: An open-source memory debugger
8Summary(pl.UTF-8): Otwarty odpluskwiacz pamięci
9Name: valgrind
10Version: 3.20.0
11Release: 1
12License: GPL v2+
13Group: Development/Tools
14Source0: https://sourceware.org/pub/valgrind/%{name}-%{version}.tar.bz2
15# Source0-md5: e3ca8e03c6c527e80e7da5135a1b6beb
16Patch0: %{name}-native-cpuid.patch
17Patch1: %{name}-ld_linux_strlen.patch
18Patch2: %{name}-datadir.patch
19URL: https://www.valgrind.org/
20BuildRequires: autoconf >= 2.50
21BuildRequires: automake >= 1:1.10
22BuildRequires: gcc >= 5:3.0
23%ifarch x32
24BuildRequires: gcc-multilib-64 >= 5:3.0
25%endif
26# check in configure.ac:882 AC_MSG_CHECKING([the GLIBC_VERSION version])
27BuildRequires: glibc-devel >= 6:2.2
28BuildRequires: libgomp-devel
29BuildRequires: libstdc++-devel
30%{?with_mpi:BuildRequires: mpi-devel}
31BuildRequires: rpmbuild(macros) >= 2.007
32Obsoletes: valgrind-callgrind < 0.11
33Obsoletes: valgrind-calltree < 0.10
34ExclusiveArch: %{ix86} %{x8664} %{armv7} ppc ppc64 s390x x32 aarch64
35BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36
37%define _noautostrip .*/vgpreload.*\\.so
38%define filterout_c -fstack-protector-strong
39# ld portion broken
40%undefine with_ccache
41
42%define specflags_arm -marm
43
44%description
45Valgrind is a GPL'd system for debugging and profiling Linux programs.
46With the tools that come with Valgrind, you can automatically detect
47many memory management and threading bugs, avoiding hours of
48frustrating bug-hunting, making your programs more stable. You can
49also perform detailed profiling to help speed up your programs.
50
51%description -l pl.UTF-8
52Valgrind jest systemem służącym do odpluskwiania i profilowania
53programów na Linuksie. Używając dostarczanych z nim narzędzi można
54automatycznie wykrywać wiele błędów związanych z zarządzaniem pamięcią
55i wątkowaniem, dzięki czemu unika się frustrującego polowania na
56błędy, a także czyni się programy bardziej stabilnymi. Możliwe jest
57również dokładne profilowanie, dzięki któremu programy zaczną szybciej
58pracować.
59
60%prep
61%setup -q
62%patch0 -p1
63%patch1 -p1
64%patch2 -p1
65
66%build
67%{__aclocal}
68%{__autoconf}
69%{__autoheader}
70%{__automake}
71
72ac_cv_path_GDB=/usr/bin/gdb \
73%configure \
74 --enable-tls \
75 %{!?with_mpi:--with-mpicc=/bin/false} \
76%if "%{_lib}" != "lib"
77 --enable-only64bit \
78%endif \
79 --enable-lto \
80 LDFLAGS="" # no strip!
81
82%{__make}
83
84%install
85rm -rf $RPM_BUILD_ROOT
86
87%{__make} install \
88 DESTDIR=$RPM_BUILD_ROOT
89
90%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/doc
91cp -p docs/index.pdf docs/valgrind_manual.pdf
92cp -p docs/index.ps docs/valgrind_manual.ps
93
94%clean
95rm -rf $RPM_BUILD_ROOT
96
97%files
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
113%if %{with mpi}
114# TODO: subpackage?
115%attr(755,root,root) %{_libdir}/%{name}/libmpiwrap-*-linux.so
116%endif
117%if "%{_libexecdir}" != "%{_libdir}"
118%dir %{_libexecdir}/%{name}
119%endif
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
124%{_datadir}/%{name}
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
This page took 0.045955 seconds and 4 git commands to generate.