-# NOTE
-# - Do not remove -lib package, it is required by FPC
+# NOTE: -lib package is used by fpc.spec
# TODO
+# - rpm5 librpm support (gdb/configure.ac checks for 4.x or so)
# - change install msg to poldek in buildid-locate-rpm-pld.patch when poldek allows it. LP#493922
#
# Conditional build:
+%bcond_without guile # Guile embedded scripting
%bcond_without python # build without python support
Summary: A GNU source-level debugger for C, C++ and Fortran
Summary(uk.UTF-8): Символьний відладчик для С та інших мов
Summary(zh_CN.UTF-8): [开发]C和其他语言的调试器
Summary(zh_TW.UTF-8): [.-A開發]C和.$)B其.-A他語.$)B言的調試器
-%define snap 20120926
Name: gdb
-Version: 7.6
+Version: 8.1
Release: 1
License: GPL v3+
Group: Development/Debuggers
-Source0: http://ftp.gnu.org/gnu/gdb/%{name}-%{version}.tar.bz2
-# Source0-md5: fda57170e4d11cdde74259ca575412a8
+Source0: http://ftp.gnu.org/gnu/gdb/%{name}-%{version}.tar.xz
+# Source0-md5: f46487561f9a16916a8102316f7fd105
Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
# Source1-md5: 2e8a48939ae282c12bbacdd54e398247
Source3: %{name}-gstack.man
Patch102: gdb-6.6-buildid-locate-rpm.patch
Patch103: gdb-6.6-buildid-locate-core-as-arg.patch
Patch104: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
-Patch105: gdb-6.3-gstack-20050411.patch
-Patch106: gdb-gdb-add-index-script.patch
+Patch105: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch
+Patch106: gdb-6.6-buildid-locate-rpm-scl.patch
+Patch110: gdb-6.3-gstack-20050411.patch
+Patch111: gdb-gdb-add-index-script.patch
+Patch112: gdb-archer-vla-tests.patch
+Patch113: gdb-vla-intel-fortran-strides.patch
+Patch114: gdb-vla-intel-stringbt-fix.patch
+Patch115: gdb-vla-intel-fortran-vla-strings.patch
+Patch116: gdb-vla-intel-tests.patch
Patch1000: %{name}-readline.patch
Patch1001: %{name}-info.patch
Patch1002: %{name}-passflags.patch
BuildRequires: autoconf >= 2.69
BuildRequires: automake
BuildRequires: bison
+BuildRequires: babeltrace-devel >= 1.1.0
BuildRequires: expat-devel
-BuildRequires: flex
-BuildRequires: gettext-devel
+BuildRequires: flex >= 2.6.4
+BuildRequires: gettext-tools >= 0.12.1
+%{?with_guile:BuildRequires: guile-devel >= 2.0}
BuildRequires: libselinux-devel
+BuildRequires: libstdc++-devel >= 6:4.8
BuildRequires: libtool
-BuildRequires: libunwind-devel >= 0.97
+BuildRequires: make >= 3.81
BuildRequires: ncurses-devel >= 5.2
BuildRequires: pkgconfig
BuildRequires: readline-devel
BuildRequires: rpmbuild(macros) >= 1.219
BuildRequires: texinfo >= 4.4
+BuildRequires: xz-devel
BuildRequires: zlib-devel
%if %{with python}
BuildRequires: python-devel
# for traceback module
Requires: python-modules
%endif
-Requires: libunwind >= 0.97
+%{?with_guile:Requires: guile >= 2.0.12}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Summary(pl.UTF-8): GDB w postaci biblioteki statycznej
Group: Development/Debuggers
# libraries that needs to be linked to fulfill libgdb.a symbol requirements
-Requires: binutils-static >= 2.17.50
-Requires: expat-static
-Requires: libselinux-static
-Requires: libsepol-static
-Requires: ncurses-static
-Requires: python-static
-Requires: readline-static
-Requires: xz-static
-Requires: zlib-static
+Requires: binutils-devel >= 2.17.50
+Requires: expat-devel
+Requires: libselinux-devel
+Requires: libsepol-devel
+Requires: ncurses-devel
+Requires: python-devel
+Requires: readline-devel
+Requires: xz-devel
+Requires: zlib-devel
%description lib
GDB in the form of a static library.
%patch104 -p1
%patch105 -p1
%patch106 -p1
+%patch110 -p1
+%patch111 -p1
+%patch112 -p1
+%patch113 -p1
+%patch114 -p1
+%patch115 -p1
+%patch116 -p1
%patch1000 -p1
%patch1001 -p1
--with-pythondir=%{py_sitescriptdir} \
%else
--without-python \
+%endif
+%if %{with guile}
+ --with-guile \
+%else
+ --without-guile \
%endif
--disable-gdbtk \
--disable-shared \
--without-included-regex \
--without-x
-%{__make} -j1
+%{__make}
%{__make} -j1 info
# gdb/ChangeLog: Build gdb directly from *.o files not using libgdb.a.
-%{__make} -j1 -C gdb libgdb.a
+%{__make} -C gdb libgdb.a
%install
rm -rf $RPM_BUILD_ROOT
%{__make} -j1 install install-info \
DESTDIR=$RPM_BUILD_ROOT
-# gdbtui seems all identical to gdb except when invoked as gdbtio, ncurses
+cp -a gdb/libgdb.a $RPM_BUILD_ROOT%{_libdir}
+
+# gdbtui seems all identical to gdb except when invoked as gdbtui, ncurses
# window is created too.
echo ".so gdb.1" > $RPM_BUILD_ROOT%{_mandir}/man1/gdbtui.1
ln -f $RPM_BUILD_ROOT%{_bindir}/{gdb,gdbtui}
bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
-cp -a gdb/libgdb.a $RPM_BUILD_ROOT%{_libdir}
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/README.gdb-non-english-man-pages
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
-rm -f $RPM_BUILD_ROOT%{_mandir}/README.gdb-non-english-man-pages
%if %{with python}
# Temporarily now:
-for LIB in lib lib64; do
+for LIB in lib lib64 libx32; do
LIBPATH="$RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{_prefix}/$LIB"
install -d $LIBPATH
done
install libdecnumber/libdecnumber.a $RPM_BUILD_ROOT%{_libdir}
# Remove the files that are part of a gdb build but that are owned and provided by other packages.
-# These are part of binutils
-rm -rf $RPM_BUILD_ROOT%{_localedir}
-rm -f $RPM_BUILD_ROOT%{_infodir}/bfd*
-rm -f $RPM_BUILD_ROOT%{_infodir}/standard*
-rm -f $RPM_BUILD_ROOT%{_infodir}/mmalloc*
-rm -f $RPM_BUILD_ROOT%{_infodir}/configure*
-rm -rf $RPM_BUILD_ROOT%{_includedir}
-rm -rf $RPM_BUILD_ROOT%{_libdir}/lib{bfd*,opcodes*,iberty*,mmalloc*}
+# These are part of binutils:
+%{__rm} $RPM_BUILD_ROOT%{_localedir}/*/LC_MESSAGES/{bfd,opcodes}.mo
+%{__rm} $RPM_BUILD_ROOT%{_infodir}/bfd.info*
+%{__rm} $RPM_BUILD_ROOT%{_includedir}/{ansidecl,bfd,bfdlink,dis-asm,symcat,plugin-api}.h
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib{bfd,opcodes}.la
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib{bfd,opcodes}.a
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/gdbtui
%attr(755,root,root) %{_bindir}/gdb-add-index
%attr(755,root,root) %{_bindir}/gstack
+%attr(755,root,root) %{_bindir}/gcore
%dir %{_datadir}/gdb
%dir %{_datadir}/gdb/auto-load
%dir %{_datadir}/gdb/auto-load%{_prefix}
%dir %{_datadir}/gdb/auto-load%{_prefix}/lib
-%ifarch %{x8664}
+%ifarch %{x8664} x32
%dir %{_datadir}/gdb/auto-load%{_prefix}/lib64
+%dir %{_datadir}/gdb/auto-load%{_prefix}/libx32
%endif
+%{?with_guile:%{_datadir}/gdb/guile}
%{_datadir}/gdb/syscalls
+%{_datadir}/gdb/system-gdbinit
%{_datadir}/gdb/python
%{_mandir}/man1/gdb.1*
%{_mandir}/man1/gdbtui.1*
+%{_mandir}/man1/gdb-add-index.1*
%{_mandir}/man1/gstack.1*
+%{_mandir}/man1/gcore.1*
+%{_mandir}/man5/gdbinit.5*
%lang(es) %{_mandir}/es/man1/*
%lang(fr) %{_mandir}/fr/man1/*
%lang(hu) %{_mandir}/hu/man1/*
%lang(pl) %{_mandir}/pl/man1/*
%{_infodir}/annotate.info*
%{_infodir}/gdb.info*
-%{_infodir}/gdbint.info*
%{_infodir}/stabs.info*
%files gdbserver
%defattr(644,root,root,755)
%{_libdir}/libdecnumber.a
%{_libdir}/libgdb.a
+%{_includedir}/gdb