patch from Fedora to fix "Unsupported arch_prctl option"; rel 3
[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.13.0
11 Release:        3
12 License:        GPL v2+
13 Group:          Development/Tools
14 Source0:        ftp://sourceware.org/pub/valgrind/%{name}-%{version}.tar.bz2
15 # Source0-md5:  817dd08f1e8a66336b9ff206400a5369
16 Patch0:         %{name}-native-cpuid.patch
17 Patch1:         %{name}-ld_linux_strlen.patch
18 Patch2:         valgrind-3.13.0-ld-separate-code.patch
19 Patch3:         valgrind-3.13.0-arch_prctl.patch
20 URL:            http://valgrind.org/
21 BuildRequires:  autoconf >= 2.50
22 BuildRequires:  automake >= 1:1.10
23 BuildRequires:  gcc >= 5:3.0
24 %ifarch x32
25 BuildRequires:  gcc-multilib-64 >= 5:3.0
26 %endif
27 # check in configure.ac:882 AC_MSG_CHECKING([the GLIBC_VERSION version])
28 BuildRequires:  glibc-devel >= 6:2.2
29 BuildRequires:  libgomp-devel
30 BuildRequires:  libstdc++-devel
31 %{?with_mpi:BuildRequires:      mpi-devel}
32 Obsoletes:      valgrind-callgrind
33 Obsoletes:      valgrind-calltree
34 ExclusiveArch:  %{ix86} %{x8664} arm ppc ppc64 s390x x32
35 BuildRoot:      %{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 %description
43 Valgrind is a GPL'd system for debugging and profiling Linux programs.
44 With the tools that come with Valgrind, you can automatically detect
45 many memory management and threading bugs, avoiding hours of
46 frustrating bug-hunting, making your programs more stable. You can
47 also perform detailed profiling to help speed up your programs.
48
49 %description -l pl.UTF-8
50 Valgrind jest systemem służącym do odpluskwiania i profilowania
51 programów na Linuksie. Używając dostarczanych z nim narzędzi można
52 automatycznie wykrywać wiele błędów związanych z zarządzaniem pamięcią
53 i wątkowaniem, dzięki czemu unika się frustrującego polowania na
54 błędy, a także czyni się programy bardziej stabilnymi. Możliwe jest
55 również dokładne profilowanie, dzięki któremu programy zaczną szybciej
56 pracować.
57
58 %prep
59 %setup -q
60 %patch0 -p1
61 %patch1 -p1
62 %patch2 -p1
63 %patch3 -p1
64
65 sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.ac
66
67 %build
68 %{__aclocal}
69 %{__autoconf}
70 %{__autoheader}
71 %{__automake}
72
73 ac_cv_path_GDB=/usr/bin/gdb \
74 %configure \
75         CC=gcc \
76         --enable-tls \
77 %if %{_lib} != "lib"
78         --enable-only64bit \
79 %endif
80         LDFLAGS="" # no strip!
81
82 %{__make}
83
84 %install
85 rm -rf $RPM_BUILD_ROOT
86
87 %{__make} install \
88         DESTDIR=$RPM_BUILD_ROOT
89
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
93
94 %clean
95 rm -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 %attr(755,root,root) %{_libdir}/%{name}/*-linux
113 %attr(755,root,root) %{_libdir}/%{name}/vgpreload_*-linux.so
114 %if %{with mpi}
115 # TODO: subpackage?
116 %attr(755,root,root) %{_libdir}/%{name}/libmpiwrap-*-linux.so
117 %endif
118 %{_libdir}/%{name}/*.xml
119 %{_libdir}/%{name}/default.supp
120 %{_libdir}/%{name}/lib*-linux.a
121 %{_includedir}/valgrind
122 %{_mandir}/man1/callgrind_annotate.1*
123 %{_mandir}/man1/callgrind_control.1*
124 %{_mandir}/man1/cg_annotate.1*
125 %{_mandir}/man1/cg_diff.1*
126 %{_mandir}/man1/cg_merge.1*
127 %{_mandir}/man1/ms_print.1*
128 %{_mandir}/man1/valgrind.1*
129 %{_mandir}/man1/valgrind-listener.1*
130 %{_mandir}/man1/vgdb.1*
131 %{_pkgconfigdir}/valgrind.pc
This page took 0.095094 seconds and 3 git commands to generate.