2024-12-14 07:42:58 -05:00

92 lines
2.6 KiB
Bash

# Template file for 'brltty'
pkgname=brltty
version=6.4
revision=12
build_style=gnu-configure
configure_args="--enable-gpm --with-screen-driver=lx,sc
--with-tables-directory=/usr/share/brltty PYTHON=/usr/bin/python3"
hostmakedepends="pkg-config python3-Cython"
makedepends="ncurses-devel alsa-lib-devel gpm-devel icu-devel python3-devel libbluetooth-devel"
short_desc="Braille display driver for Linux/Unix"
maintainer="Orphaned <orphan@voidlinux.org>"
license="GPL-2.0-or-later, LGPL-2.1-or-later"
homepage="https://brltty.app"
distfiles="https://brltty.app/archive/brltty-${version}.tar.xz"
checksum=bc7573b0d0ab865c36607945b64c209312405571788f3b409397726f6143eaa6
python_version=3
case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*) configure_args="${configure_args} --with-ports-package=glibc";;
*) configure_args="${configure_args} --with-ports-package=none";;
esac
# glibc is a misnomer here, it's just ioperm inb outp and friends, works
# fine with musl.
pre_configure() {
case "$XBPS_TARGET_MACHINE" in
*-musl) # There is no ldconfig in musl libc
sed -e "s;/sbin/ldconfig -n;echo;" -i configure ;;
esac
export PYTHON_LIBS="-L${XBPS_CROSS_BASE}/usr/lib -lpython${py3_ver}${py3_abiver}"
export PYTHON_CPPFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc}"
}
post_configure() {
case "$XBPS_TARGET_MACHINE" in
arm*-musl) # Fix erroneously detected "#define HAVE_SYS_IO_H 1"
sed -i config.h -e"s;#define HAVE_SYS_IO_H 1;#undef HAVE_SYS_IO_H;" ;;
esac
}
post_build() {
# brltty has two problems with the xbps-src cross environment:
#
# - brltty has a lock.h that will be overshadowed by Python's lock.h
# when the build helper overrides CFLAGS to prefer the cross root
#
# - The brltty build process drops critical environment variables for
# cross compilation of Python exctensions
#
# To work around this, just manually build the Python package.
cd Bindings/Python
. "${XBPS_BUILDHELPERDIR}/python3.sh"
python3 setup.py build --build-temp .
}
do_install() {
make INSTALL_ROOT="${DESTDIR}" install
local _inst_args=(
--skip-build --record=installed-files --root="${DESTDIR}" --prefix=/usr
)
( cd Bindings/Python && python3 ./setup.py install "${_inst_args[@]}" )
vsv brltty
vsconf Documents/brltty.conf
vdoc Documents/ChangeLog
vcopy Documents/Manual-BRLTTY usr/share/doc/brltty
}
brltty-devel_package() {
short_desc+=" - development files"
depends="${sourcepkg}-${version}_${revision}"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
vmove usr/share/man/man3
}
}
python3-brlapi_package() {
short_desc+=" - Python3 bindings"
depends="python3"
pkg_install() {
vmove ${py3_sitelib}
}
}