Add TOML configuration files for various packages

- Introduced build configurations for graphene, gst-plugins-bad, gst-plugins-base, gstreamer, gtk4, iso-codes, jbig2dec, libepoxy, libsoup3, libtheora, libxpm, lynx, md4c, openjpeg2, poppler-data, python-attrs, python-automat, python-constantly, python-hyperlink, python-incremental, python-twisted, python-versioneer, python-zope-interface, qpdf, sdl12-compat, tinysparql, unixodbc, vmaf, xcb-util-cursor, xcb-util-image, xcb-util-renderutil, xcb-util-wm, xcb-util, xdg-utils.
- Each package includes build type, dependencies, runtime requirements, and source URLs.
- Added necessary post-install scripts and configurations where applicable.
This commit is contained in:
2026-03-29 02:51:06 -05:00
parent 45bcdeddaf
commit 2bb4d5187c
69 changed files with 2774 additions and 54 deletions
@@ -0,0 +1,13 @@
diff --git a/tools/hciattach.h b/tools/hciattach.h
index dfa4c1e..c21dbda 100644
--- a/tools/hciattach.h
+++ b/tools/hciattach.h
@@ -41,7 +41,7 @@
#define HCI_UART_VND_DETECT 5
#ifndef FIRMWARE_DIR
-#define FIRMWARE_DIR "/etc/firmware"
+#define FIRMWARE_DIR "/lib/firmware"
#endif
int read_hci_event(int fd, unsigned char *buf, int size);
+12
View File
@@ -0,0 +1,12 @@
#!/sbin/openrc-run
name="Bluetooth"
command="/usr/lib/bluetooth/bluetoothd"
pidfile="/run/bluetoothd.pid"
command_background=true
depend() {
after coldplug
need dbus localmount hostname
}
+160
View File
@@ -0,0 +1,160 @@
[build]
type = "custom"
[build.flags]
keep = [
"etc/bluetooth/main.conf",
"etc/bluetooth/input.conf",
"etc/bluetooth/network.conf",
"etc/bluetooth/mesh-main.conf",
"etc/conf.d/*"
]
[dependencies]
build = [
"alsa-lib",
"cups",
"dbus",
"ell",
"json-c",
"libical",
"python-docutils",
"python-pygments",
"libudev-zero"
]
runtime = [ "alsa-lib", "dbus", "glib2", "glibc" ]
[[manual_sources]]
file = "004-Move-the-43xx-firmware-into-lib-firmware.patch"
[[manual_sources]]
file = "bluetooth.initd"
[[manual_sources]]
file = "modules-load.conf"
[[manual_sources]]
file = "mpris-proxy.desktop"
[[manual_sources]]
file = "org.bluez.obex.service"
[[manual_sources]]
file = "rfcomm.confd"
[[manual_sources]]
file = "rfcomm.initd"
[package]
description = "Daemons for the bluetooth protocol stack"
homepage = "http://www.bluez.org/"
license = "GPL-2.0-only"
name = "bluez"
version = "5.86"
[package_dependencies.bluez-cups]
runtime = [
"cups",
"dbus",
"glib2",
"glibc",
]
[package_dependencies.bluez-deprecated-tools]
runtime = [
"dbus",
"glib2",
"glibc",
"json-c",
"readline",
"libudev-zero",
]
[package_dependencies.bluez-hid2hci]
runtime = [
"glibc",
"libudev-zero",
]
[package_dependencies.bluez-libs]
runtime = ["glibc"]
[package_dependencies.bluez-mesh]
runtime = [
"ell",
"glibc",
"json-c",
"readline",
]
[package_dependencies.bluez-obex]
runtime = [
"dbus",
"glib2",
"glibc",
"libical",
"readline",
]
[package_dependencies.bluez-utils]
runtime = [
"dbus",
"glibc",
"glib2",
"libudev-zero",
"readline",
]
[[packages]]
description = "CUPS printer backend for Bluetooth printers"
homepage = "http://www.bluez.org/"
license = "GPL-2.0-only"
name = "bluez-cups"
version = "5.86"
[[packages]]
description = "Deprecated tools for Bluez that are no longer maintained"
homepage = "http://www.bluez.org/"
license = "GPL-2.0-only"
name = "bluez-deprecated-tools"
version = "5.86"
[[packages]]
description = "Put HID proxying bluetooth HCI's into HCI mode"
homepage = "http://www.bluez.org/"
license = "GPL-2.0-only"
name = "bluez-hid2hci"
version = "5.86"
[[packages]]
description = "Deprecated libraries for the bluetooth protocol stack"
homepage = "http://www.bluez.org/"
license = "GPL-2.0-only"
name = "bluez-libs"
version = "5.86"
[[packages]]
description = "Services for bluetooth mesh"
homepage = "http://www.bluez.org/"
license = "GPL-2.0-only"
name = "bluez-mesh"
version = "5.86"
[[packages]]
description = "Object Exchange daemon for sharing content"
homepage = "http://www.bluez.org/"
license = "GPL-2.0-only"
name = "bluez-obex"
version = "5.86"
[[packages]]
description = "Development and debugging utilities for the bluetooth protocol stack"
homepage = "http://www.bluez.org/"
license = "GPL-2.0-only"
name = "bluez-utils"
version = "5.86"
[[source]]
extract_dir = "bluez-$version"
url = "https://www.kernel.org/pub/linux/bluetooth/bluez-$version.tar.xz"
patches = [ "004-Move-the-43xx-firmware-into-lib-firmware.patch" ]
+204
View File
@@ -0,0 +1,204 @@
#!/bin/sh
set -eu
makei() {
echo "==> Running: make DESTDIR=\"$pkgdir\" install $*"
make DESTDIR="$pkgdir" install "$@"
}
mesoni() {
echo "==> Running: meson install --destdir \"$pkgdir\" $*"
meson install --destdir "$pkgdir" "$@"
}
cmakei() {
echo "==> Running: cmake --install $*"
DESTDIR="$pkgdir" cmake --install "$@"
}
starmove() {
[ "$#" -ge 1 ] || {
echo "starmove: requires at least one path pattern" >&2
return 1
}
[ "${DEPOT_OUTPUT_NAME:-}" != "" ] || {
echo "starmove: DEPOT_OUTPUT_NAME is not set" >&2
return 1
}
haul "$DEPOT_OUTPUT_NAME" "$@"
}
depot_starbuild_sync_srcdir() {
workdir=${DEPOT_STARBUILD_WORKDIR:?}
compat_root="$workdir/.depot-starbuild"
mkdir -p "$compat_root/packages"
for entry in "$workdir"/* "$workdir"/.[!.]* "$workdir"/..?*; do
[ -e "$entry" ] || [ -L "$entry" ] || continue
base=$(basename "$entry")
[ "$base" = ".depot-starbuild" ] && continue
[ "$base" = "packages" ] && continue
ln -snf "$entry" "$compat_root/$base"
done
mkdir -p "$compat_root/packages/bluez/"
ln -snf "${DEPOT_PRIMARY_DESTDIR:-$DESTDIR}" "$compat_root/packages/bluez/files"
mkdir -p "$compat_root/packages/bluez-cups/"
ln -snf "$(subdestdir 'bluez-cups')" "$compat_root/packages/bluez-cups/files"
mkdir -p "$compat_root/packages/bluez-deprecated-tools/"
ln -snf "$(subdestdir 'bluez-deprecated-tools')" "$compat_root/packages/bluez-deprecated-tools/files"
mkdir -p "$compat_root/packages/bluez-hid2hci/"
ln -snf "$(subdestdir 'bluez-hid2hci')" "$compat_root/packages/bluez-hid2hci/files"
mkdir -p "$compat_root/packages/bluez-libs/"
ln -snf "$(subdestdir 'bluez-libs')" "$compat_root/packages/bluez-libs/files"
mkdir -p "$compat_root/packages/bluez-mesh/"
ln -snf "$(subdestdir 'bluez-mesh')" "$compat_root/packages/bluez-mesh/files"
mkdir -p "$compat_root/packages/bluez-obex/"
ln -snf "$(subdestdir 'bluez-obex')" "$compat_root/packages/bluez-obex/files"
mkdir -p "$compat_root/packages/bluez-utils/"
ln -snf "$(subdestdir 'bluez-utils')" "$compat_root/packages/bluez-utils/files"
srcdir="$compat_root"
export srcdir
}
depot_starbuild_setup_env() {
package_name=$1
package_version='5.86'
pkgdir=${DESTDIR:?}
export package_name package_version pkgdir
LANG=C
LC_ALL=C
export LANG LC_ALL
depot_starbuild_sync_srcdir
}
depot_build() {
depot_starbuild_setup_env 'bluez'
rm -rf ell
./configure \
--prefix=/usr \
--mandir=/usr/share/man \
--sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=/usr/lib \
--with-udevdir=/usr/lib/udev \
--with-dbusconfdir=/usr/share \
--enable-btpclient \
--enable-midi \
--enable-sixaxis \
--enable-mesh \
--enable-hid2hci \
--enable-experimental \
--enable-datafiles \
--enable-external-ell \
--enable-library --enable-deprecated --disable-systemd
make
}
depot_install() {
depot_starbuild_setup_env 'bluez'
make DESTDIR="$pkgdir" install install-pluginLTLIBRARIES
install -D -m644 src/main.conf "$pkgdir"/etc/bluetooth/main.conf
install -Dm755 "$srcdir"/bluetooth.initd "$pkgdir"/etc/init.d/bluetooth
install -Dm755 "$srcdir"/rfcomm.initd "$pkgdir"/etc/init.d/rfcomm
install -Dm644 "$srcdir"/rfcomm.confd "$pkgdir"/etc/conf.d/rfcomm
install -Dm755 test/simple-agent "$pkgdir"/usr/bin/bluez-simple-agent
install -Dm755 tools/btmgmt -t "$pkgdir"/usr/bin/
install -Dm755 attrib/gatttool -t "$pkgdir"/usr/bin/
install -Dm755 tools/obex-client-tool -t "$pkgdir"/usr/bin/
install -Dm644 "$srcdir"/org.bluez.obex.service "$pkgdir"/usr/share/dbus-1/services/org.bluez.obex.service
# Autostart mpris-proxy to pass through MPRIS control over BlueZ
install -Dm644 "$srcdir"/mpris-proxy.desktop -t "$pkgdir"/etc/xdg/autostart/
# modules which are required for some bluetooth accessories (keyboards, AVRCP, etc)
install -Dm644 "$srcdir"/modules-load.conf "$pkgdir"/usr/lib/modules-load.d/bluez.conf
for files in $(find tools/ -type f -perm -755); do
filename=$(basename "$files")
install -Dm755 "$files" "$pkgdir/usr/bin/$filename"
done
}
depot_install_bluez_cups() {
depot_starbuild_setup_env 'bluez-cups'
starmove usr/lib/cups/backend/bluetooth
}
depot_install_bluez_deprecated_tools() {
depot_starbuild_setup_env 'bluez-deprecated-tools'
starmove usr/bin/ciptool usr/bin/hciattach usr/bin/hciconfig usr/bin/hcidump usr/bin/hcitool usr/bin/meshctl usr/bin/rfcomm usr/bin/sdptool
starmove usr/share/man/man1/ciptool.1 usr/share/man/man1/hciattach.1 usr/share/man/man1/hciconfig.1 usr/share/man/man1/hcidump.1 usr/share/man/man1/hcitool.1 usr/share/man/man1/rfcomm.1 usr/share/man/man1/sdptool.1
starmove usr/share/man/man7/rfcomm.7
}
depot_install_bluez_hid2hci() {
depot_starbuild_setup_env 'bluez-hid2hci'
starmove usr/lib/udev/*
starmove usr/share/man/man1/hid2hci.1
}
depot_install_bluez_libs() {
depot_starbuild_setup_env 'bluez-libs'
starmove usr/include/bluetooth/*
starmove usr/lib/libbluetooth.so*
starmove usr/lib/pkgconfig/*
}
depot_install_bluez_mesh() {
depot_starbuild_setup_env 'bluez-mesh'
starmove etc/bluetooth/mesh-main.conf
starmove usr/bin/mesh-cfgclient usr/bin/mesh-cfgtest
starmove usr/lib/bluetooth/bluetooth-meshd
starmove usr/share/dbus-1/system.d/bluetooth-mesh.conf
starmove usr/share/man/man8/bluetooth-meshd.8
chmod -v 555 "${pkgdir}"/etc/bluetooth
}
depot_install_bluez_obex() {
depot_starbuild_setup_env 'bluez-obex'
install -Dm755 tools/obexctl -t "$pkgdir"/usr/bin/
cd $srcdir
starmove usr/bin/obex-client-tool usr/bin/obex-server-tool
starmove usr/lib/bluetooth/obexd
starmove usr/share/dbus-1/system.d/obex.conf
starmove usr/share/man/man5/org.bluez.obex*.5
starmove usr/share/dbus-1/services/org.bluez.obex.service
}
depot_install_bluez_utils() {
depot_starbuild_setup_env 'bluez-utils'
for files in $(find "${DEPOT_PRIMARY_DESTDIR}/usr/bin" -maxdepth 1 -type f -perm -755 2>/dev/null); do
filename=$(basename "$files")
case "$filename" in
advtest|avinfo|avtest|bcmfw|bdaddr|bluemoon|bluetoothctl|bluetooth-player|bneptest|btattach|btconfig|btgatt-client|btgatt-server|btinfo|btiotest|btmgmt|btmon|btpclient|btpclientctl|btproxy|btsnoop|check-selftest|cltest|create-image|eddystone|gatt-service|hcieventmask|hcisecfilter|hex2hcd|hid2hci|hwdb|ibeacon|isotest|l2ping|l2test|mpris-proxy|nokfw|oobtest|rctest|rtlfw|scotest|seq2bseq|test-runner)
starmove "usr/bin/$filename"
;;
esac
done
for files in $(find "${DEPOT_PRIMARY_DESTDIR}/usr/share/man/man1" -maxdepth 1 -type f 2>/dev/null); do
filename=$(basename "$files")
case "$filename" in
bluetoothctl*.1|btattach.1|btmgmt.1|btmon.1|isotest.1|l2ping.1|rctest.1)
starmove "usr/share/man/man1/$filename"
;;
esac
done
for files in $(find "${DEPOT_PRIMARY_DESTDIR}/usr/share/man/man5" -maxdepth 1 -type f 2>/dev/null); do
filename=$(basename "$files")
case "$filename" in
org.bluez.A*.5|org.bluez.B*.5|org.bluez.D*.5|org.bluez.G*.5|org.bluez.I*.5|org.bluez.L*.5|org.bluez.M*.5|org.bluez.N*.5|org.bluez.P*.5)
starmove "usr/share/man/man5/$filename"
;;
esac
done
for files in $(find "${DEPOT_PRIMARY_DESTDIR}/usr/share/man/man7" -maxdepth 1 -type f 2>/dev/null); do
filename=$(basename "$files")
case "$filename" in
hci.7|l2cap.7|mgmt.7|sco.7|iso.7)
starmove "usr/share/man/man7/$filename"
;;
esac
done
[ -f "${DEPOT_PRIMARY_DESTDIR}/usr/share/zsh/site-functions/_bluetoothctl" ] && starmove usr/share/zsh/site-functions/_bluetoothctl
}
+2
View File
@@ -0,0 +1,2 @@
uinput
uhid
+8
View File
@@ -0,0 +1,8 @@
[Desktop Entry]
Type=Application
Name=mpris-proxy
Comment=Start mpris-proxy in daemon mode
Exec=/usr/bin/mpris-proxy
TryExec=/usr/bin/mpris-proxy
Terminal=false
X-KDE-autostart-phase=2
+3
View File
@@ -0,0 +1,3 @@
[D-BUS Service]
Name=org.bluez.obex
Exec=/usr/lib/bluetooth/obexd -n
+5
View File
@@ -0,0 +1,5 @@
# Bind rfcomm devices (allowed values are "true" and "false")
RFCOMM_ENABLE=true
# Config file for rfcomm
RFCOMM_CONFIG="/etc/bluetooth/rfcomm.conf"
+27
View File
@@ -0,0 +1,27 @@
#!/sbin/openrc-run
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-wireless/bluez/files/rfcomm-init.d,v 1.1 2011/12/31 21:09:18 pacho Exp $
depend() {
after coldplug
need dbus localmount hostname
}
start() {
if [ "${RFCOMM_ENABLE}" = "true" -a -x /usr/bin/rfcomm ]; then
if [ -f "${RFCOMM_CONFIG}" ]; then
ebegin "Starting rfcomm"
/usr/bin/rfcomm -f "${RFCOMM_CONFIG}" bind all
eend $?
else
ewarn "Not enabling rfcomm because RFCOMM_CONFIG does not exists"
fi
fi
}
stop() {
ebegin "Shutting down rfcomm"
/usr/bin/rfcomm release all
eend $?
}