void-packages/srcpkgs/gdb/template

60 lines
2.0 KiB
Bash

# Template file for 'gdb'
pkgname=gdb
version=9.1
revision=1
build_style=gnu-configure
pycompile_dirs="/usr/share/gdb"
configure_args="--disable-werror --disable-nls --with-system-readline
--with-system-gdbinit=/etc/gdb/gdbinit --with-system-zlib $(vopt_enable gdbserver)
$(vopt_if static 'CFLAGS=-static CXXFLAGS=-static LDFLAGS=-static')
$(vopt_if python --with-python=/usr/bin/python3)"
hostmakedepends="texinfo perl $(vopt_if python python3-devel)"
makedepends="ncurses-devel zlib-devel readline-devel expat-devel
$(vopt_if python 'python3-devel gettext-libs')"
short_desc="GNU Debugger"
maintainer="Anthony Iliopoulos <ailiop@altatus.com>"
license="GPL-3.0-or-later"
homepage="https://www.gnu.org/software/gdb/"
distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${version}.tar.xz"
checksum=699e0ec832fdd2f21c8266171ea5bf44024bd05164fdf064e4d10cc4cf0d1737
patch_args="-Np1"
if [ "${CROSS_BUILD}" ]; then
# Make python3.x detection work in cross builds
CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_inc}"
CXXFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_inc}"
fi
# Package build options
build_options="gdbserver static python"
desc_option_gdbserver="Enable support for building GDB server"
# Enable gdbserver if !static.
build_options_default="gdbserver python"
# Both options cannot be enabled at the same time
vopt_conflict gdbserver static
post_extract() {
vsed -i 's,sgidefs.h,asm/sgidefs.h,' gdb/mips-linux-nat.c
mkdir -p build
}
do_configure() {
cd ${wrksrc}/build
../configure ${configure_args/with-sysroot/with-build-sysroot}
export gl_cv_func_gettimeofday_clobber=no
export gl_cv_func_working_strerror=yes
export gl_cv_func_strerror_0_works=yes
}
do_build() {
cd ${wrksrc}/build
make ${makejobs} all
}
do_install() {
cd ${wrksrc}/build
make DESTDIR=${DESTDIR} ${makejobs} install
# resolve conflicts with binutils
rm -rf ${DESTDIR}/usr/include ${DESTDIR}/usr/lib
[ -d ${DESTDIR}/usr/lib64 ] && rm -rf ${DESTDIR}/usr/lib64
for f in bfd configure standards; do
rm -f ${DESTDIR}/usr/share/info/${f}.info*
done
}