]> git.pld-linux.org Git - packages/valgrind.git/blob - valgrind.spec
- updated to 3.20.0 (now knows rseq syscall)
[packages/valgrind.git] / valgrind.spec
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 #
7 Summary:        An open-source memory debugger
8 Summary(pl.UTF-8):      Otwarty odpluskwiacz pamięci
9 Name:           valgrind
10 Version:        3.18.1
11 Release:        1
12 License:        GPL v2+
13 Group:          Development/Tools
14 Source0:        https://sourceware.org/pub/valgrind/%{name}-%{version}.tar.bz2
15 # Source0-md5:  de56a5532b0c81781db677ca712c585a
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
23 %ifarch x32
24 BuildRequires:  gcc-multilib-64 >= 5:3.0
25 %endif
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)
35
36 %define         _noautostrip    .*/vgpreload.*\\.so
37 %define         filterout_c     -fstack-protector-strong
38 # ld portion broken
39 %undefine       with_ccache
40
41 %description
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.
47
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
55 pracować.
56
57 %prep
58 %setup -q
59 %patch0 -p1
60 %patch1 -p1
61 %patch2 -p1
62
63 sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.ac
64
65 %build
66 %{__aclocal}
67 %{__autoconf}
68 %{__autoheader}
69 %{__automake}
70
71 ac_cv_path_GDB=/usr/bin/gdb \
72 %configure \
73         --enable-tls \
74         %{!?with_mpi:--with-mpicc=/bin/false} \
75 %if "%{_lib}" != "lib"
76         --enable-only64bit \
77 %endif \
78         --enable-lto \
79         LDFLAGS="" # no strip!
80
81 %{__make}
82
83 %install
84 rm -rf $RPM_BUILD_ROOT
85
86 %{__make} install \
87         DESTDIR=$RPM_BUILD_ROOT
88
89 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/doc
90 cp -p docs/index.pdf docs/valgrind_manual.pdf
91 cp -p docs/index.ps docs/valgrind_manual.ps
92
93 %clean
94 rm -rf $RPM_BUILD_ROOT
95
96 %files
97 %defattr(644,root,root,755)
98 %doc AUTHORS NEWS README README_MISSING_SYSCALL_OR_IOCTL
99 %doc docs/html docs/valgrind_manual.pdf docs/valgrind_manual.ps
100 %attr(755,root,root) %{_bindir}/callgrind_annotate
101 %attr(755,root,root) %{_bindir}/callgrind_control
102 %attr(755,root,root) %{_bindir}/cg_annotate
103 %attr(755,root,root) %{_bindir}/cg_diff
104 %attr(755,root,root) %{_bindir}/cg_merge
105 %attr(755,root,root) %{_bindir}/ms_print
106 %attr(755,root,root) %{_bindir}/valgrind
107 %attr(755,root,root) %{_bindir}/valgrind-di-server
108 %attr(755,root,root) %{_bindir}/valgrind-listener
109 %attr(755,root,root) %{_bindir}/vgdb
110 %dir %{_libdir}/%{name}
111 %{_libdir}/%{name}/lib*-linux.a
112 %if %{with mpi}
113 # TODO: subpackage?
114 %attr(755,root,root) %{_libdir}/%{name}/libmpiwrap-*-linux.so
115 %endif
116 %if "%{_libexecdir}" != "%{_libdir}"
117 %dir %{_libexecdir}/%{name}
118 %endif
119 %attr(755,root,root) %{_libexecdir}/%{name}/*-linux
120 %attr(755,root,root) %{_libexecdir}/%{name}/vgpreload_*-linux.so
121 %{_libexecdir}/%{name}/*.xml
122 %{_libexecdir}/%{name}/default.supp
123 %{_datadir}/%{name}
124 %{_includedir}/valgrind
125 %{_mandir}/man1/callgrind_annotate.1*
126 %{_mandir}/man1/callgrind_control.1*
127 %{_mandir}/man1/cg_annotate.1*
128 %{_mandir}/man1/cg_diff.1*
129 %{_mandir}/man1/cg_merge.1*
130 %{_mandir}/man1/ms_print.1*
131 %{_mandir}/man1/valgrind.1*
132 %{_mandir}/man1/valgrind-di-server.1*
133 %{_mandir}/man1/valgrind-listener.1*
134 %{_mandir}/man1/vgdb.1*
135 %{_pkgconfigdir}/valgrind.pc
This page took 0.080098 seconds and 3 git commands to generate.