jobextra/bluez/PKGBUILD

203 lines
6.9 KiB
Bash

#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
# Website : https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgbase=bluez
pkgname=('bluez' 'bluez-utils' 'bluez-libs' 'bluez-cups' 'bluez-hid2hci' 'bluez-plugins')
pkgver=5.72
pkgrel=01
url="http://www.bluez.org/"
# options=('debug') ### uncomment this to have the debug pkgs produced
makedepends=('glibc' 'dbus' 'libical' 'alsa-lib' 'json-c' 'ell' 'python-docutils' 'python-pygments')
source=(https://www.kernel.org/pub/linux/bluetooth/${pkgname}-${pkgver}.tar.{xz,sign}
bluetooth.modprobe)
#https://gitlab.archlinux.org/archlinux/packaging/packages/bluez/-/issues/2
# see https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc
prepare() {
cd $pkgname-$pkgver
# fix autoconnection - https://github.com/bluez/bluez/issues/686
# https://github.com/tedd-an/bluez-upstream-test/pull/484
# patch -Np1 -i ../fix-bluez-5.71-autoconnection.diff
# fix coredump on a2dp suspend - https://gitlab.archlinux.org/archlinux/packaging/packages/bluez/-/issues/3
# https://lore.kernel.org/linux-bluetooth/20231219124916.44173-2-vlad.pruteanu@nxp.com/
# patch -Np1 -i ../fix-bluez-5.71-coredump-on-a2dp-suspend.diff
}
build() {
cd $pkgname-$pkgver
./configure \
--prefix=/usr \
--mandir=/usr/share/man \
--sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=/usr/lib \
--with-dbusconfdir=/usr/share \
--with-udevdir=/usr/lib/udev \
--enable-btpclient \
--enable-midi \
--enable-sixaxis \
--disable-systemd \
--enable-mesh \
--enable-hid2hci \
--enable-experimental \
--enable-library # this is deprecated
make
}
check() {
cd $pkgname-$pkgver
# fails test-vcp - https://github.com/bluez/bluez/issues/683
make check || /bin/true
}
package_bluez() {
pkgdesc="Daemons for the bluetooth protocol stack"
depends=('glibc' 'libical' 'dbus' 'glib2' 'alsa-lib' 'json-c')
backup=('etc/bluetooth/main.conf')
conflicts=('obexd-client' 'obexd-server')
cd "${pkgbase}"-${pkgver}
make DESTDIR=${pkgdir} \
install-pkglibexecPROGRAMS \
install-dbussessionbusDATA \
install-dbussystembusDATA \
install-dbusDATA \
install-man8
# ship upstream main config file
install -dm555 "${pkgdir}"/etc/bluetooth
install -Dm644 "${srcdir}"/"${pkgbase}"-${pkgver}/src/main.conf "${pkgdir}"/etc/bluetooth/main.conf
# add basic documention
install -dm755 "${pkgdir}"/usr/share/doc/"${pkgbase}"/dbus-apis
cp -a doc/*.txt "${pkgdir}"/usr/share/doc/"${pkgbase}"/dbus-apis/
# fix module loading errors
install -dm755 "${pkgdir}"/usr/lib/modprobe.d
install -Dm644 "${srcdir}"/bluetooth.modprobe "${pkgdir}"/usr/lib/modprobe.d/bluetooth-usb.conf
# load module at system start required by some functions
# https://bugzilla.kernel.org/show_bug.cgi?id=196621
install -dm755 "$pkgdir"/usr/lib/modules-load.d
echo "crypto_user" > "$pkgdir"/usr/lib/modules-load.d/bluez.conf
# FS#74157 - bluez systemd service fails without localstatedir present
# needs test to see if the same happens with 66
install -dm700 "${pkgdir}"/var/lib/bluetooth
# cleanup - these libs go into bluez-libs
rm "${pkgdir}"/usr/lib/libbluetooth.so*
}
package_bluez-utils() {
pkgdesc="Development and debugging utilities for the bluetooth protocol stack"
depends=('glibc' 'dbus' 'glib2' 'readline')
optdepends=('glibc' 'ell: for btpclient')
backup=('etc/bluetooth/mesh-main.conf')
conflicts=('bluez-hcidump')
provides=('bluez-hcidump')
replaces=('bluez-hcidump' 'bluez<=4.101')
cd $pkgbase-$pkgver
make DESTDIR=${pkgdir} \
install-binPROGRAMS \
install-dist_zshcompletionDATA \
install-man1
# add missing tools FS#41132, FS#41687, FS#42716
for files in `find tools/ -type f -perm -755`; do
filename=$(basename $files)
install -Dm755 "${srcdir}"/"${pkgbase}"-${pkgver}/tools/$filename "${pkgdir}"/usr/bin/$filename
done
# ship upstream mesh config file
install -dm555 "${pkgdir}"/etc/bluetooth
install -Dm644 "${srcdir}"/"${pkgbase}"-${pkgver}/mesh/mesh-main.conf "${pkgdir}"/etc/bluetooth/mesh-main.conf
# libbluetooth.so* are part of libLTLIBRARIES and binPROGRAMS targets
#make DESTDIR=${pkgdir} uninstall-libLTLIBRARIES
#rmdir ${pkgdir}/usr/lib
rm -rf ${pkgdir}/usr/lib
# move the hid2hci man page out
mv ${pkgdir}/usr/share/man/man1/hid2hci.1 ${srcdir}/
}
package_bluez-libs() {
pkgdesc="Deprecated libraries for the bluetooth protocol stack"
depends=('glibc' glibc)
provides=('libbluetooth.so')
license=('LGPL2.1')
cd $pkgbase-$pkgver
make DESTDIR=${pkgdir} \
install-pkgincludeHEADERS \
install-libLTLIBRARIES \
install-pkgconfigDATA
}
package_bluez-cups() {
pkgdesc="CUPS printer backend for Bluetooth printers"
depends=('glibc' 'cups')
cd $pkgbase-$pkgver
make DESTDIR=${pkgdir} install-cupsPROGRAMS
# cleanup - these libs go into bluez-libs
rm "${pkgdir}"/usr/lib/libbluetooth.so*
}
package_bluez-hid2hci() {
pkgdesc="Put HID proxying bluetooth HCI's into HCI mode"
cd $pkgbase-$pkgver
make DESTDIR=${pkgdir} \
install-udevPROGRAMS \
install-rulesDATA
install -dm755 ${pkgdir}/usr/share/man/man1
mv ${srcdir}/hid2hci.1 ${pkgdir}/usr/share/man/man1/hid2hci.1
# cleanup - these libs go into bluez-libs
rm "${pkgdir}"/usr/lib/libbluetooth.so*
}
package_bluez-plugins() {
pkgdesc="bluez plugins (PS3 Sixaxis controller)"
depends=('glibc' )
cd $pkgbase-$pkgver
make DESTDIR=${pkgdir} \
install-pluginLTLIBRARIES
# cleanup - these libs go into bluez-libs
rm "${pkgdir}"/usr/lib/libbluetooth.so*
}
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=('GPL2')
validpgpkeys=('E932D120BC2AEC444E558F0106CA9F5D1DCF2659') # Marcel Holtmann <marcel@holtmann.org>
sha256sums=(499d7fa345a996c1bb650f5c6749e1d929111fa6ece0be0e98687fee6124536e # bluez-5.72.tar.xz
5950ed797108c1060660f94693bd097dffd5e180c84e2445ba1429a72f808495 # bluez-5.72.tar.sign
46c021be659c9a1c4e55afd04df0c059af1f3d98a96338236412e449bf7477b4) # bluetooth.modprobe
## e53f994781867cdf25b3dda2547582bd1f93bd3ad82e3a6443cb9f568f1d8f8c bluez-5.72-01-x86_64.pkg.tar.lz
## d85291f489b22d98ba3546ccb20efc5314acf6108e58818dc4e3a0380c58d858 bluez-cups-5.72-01-x86_64.pkg.tar.lz
## 97d619b6be92a5a70ff9bbaec54cf03c98c0d2a1a88a4bed35834abf8b607d4a bluez-hid2hci-5.72-01-x86_64.pkg.tar.lz
## b2dcc976311010cc4e7d886a4f7a63d7dd524e65054b2bde122b27c75798f59a bluez-libs-5.72-01-x86_64.pkg.tar.lz
## 78cff69603e1e5ccc995610f88c6d9f14975b21cbe8f56119d0024938b9d6e71 bluez-plugins-5.72-01-x86_64.pkg.tar.lz
## a92833e6cdab9c5a8428edacd0676813d22c2c273b48784735da4359a2038c62 bluez-utils-5.72-01-x86_64.pkg.tar.lz