commit 6010749e511c07abd0707e24f6635dd8b219a889 Author: EnumDev Date: Thu Jun 18 10:56:59 2026 +0300 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9d96df7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Ignore BPM archives and signatures +*.bpm +*.bpm.sig diff --git a/check-version.sh b/check-version.sh new file mode 100644 index 0000000..44f234a --- /dev/null +++ b/check-version.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# Gitlab repository +REPO="xiph/libao" + +# Replace slash with URL encoded representation +REPO=$(echo "$REPO" | sed 's|/|%2F|g') + +# Get tag name using Gitlab Rest API +TAG_NAME=$(curl -s -L https://gitlab.xiph.org/api/v4/projects/"$REPO"/repository/tags | jq -r '.[0].name') + +# Trim 'v' character in TAG_NAME variable +VERSION=$(echo "$TAG_NAME" | tr -d 'v') + +echo "$VERSION" diff --git a/info.yml b/info.yml new file mode 100644 index 0000000..1c848de --- /dev/null +++ b/info.yml @@ -0,0 +1,19 @@ +name: libao +description: Cross-platform audio output library and plugins +version: 1.2.2 +revision: 1 +url: https://xiph.org/ao/ +license: GPL-2.0-or-later +maintainers: + - enumdev@enumerated.dev +architecture: any +type: source +depends: + - alsa-lib + - glibc + - libpulse +downloads: + - url: https://gitlab.xiph.org/xiph/libao/-/archive/${BPM_PKG_VERSION}/libao-${BPM_PKG_VERSION}.tar.gz + extract_to: ${BPM_SOURCE} + extract_strip_components: 1 + checksum: df8a6d0e238feeccb26a783e778716fb41a801536fe7b6fce068e313c0e2bf4d diff --git a/recipe.sh b/recipe.sh new file mode 100644 index 0000000..96f02ff --- /dev/null +++ b/recipe.sh @@ -0,0 +1,31 @@ +# This is the recipe.sh script. It is executed by BPM in a temporary directory when compiling a source package +# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE +# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT + +# The prepare function is executed in the root of the temp directory +# This function is used for putting downloaded files to the correct location or applying patches +prepare() { + cd "$BPM_SOURCE" + patch -Np1 -i "$BPM_WORKDIR"/libao-1.2.2-add-missing-time-include.patch + + autoreconf -fi +} + +# The build function is executed in the source directory +# This function is used to compile the source code +build() { + ./configure --prefix=/usr --enable-alsa-mmap + make +} + +# The package function is executed in the source directory +# This function is used to move the compiled files into the output directory +package() { + make DESTDIR="$BPM_OUTPUT" install + + # Install default config + install -Dm644 "$BPM_WORKDIR"/libao.conf "$BPM_OUTPUT"/etc/libao.conf + + # Install package license + install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/libao/COPYING +} diff --git a/source-files/libao-1.2.2-add-missing-time-include.patch b/source-files/libao-1.2.2-add-missing-time-include.patch new file mode 100644 index 0000000..8f3a177 --- /dev/null +++ b/source-files/libao-1.2.2-add-missing-time-include.patch @@ -0,0 +1,24 @@ +From 1f998f5d6d77674dad01b181811638578ad68242 Mon Sep 17 00:00:00 2001 +From: Tristan Matthews +Date: Sun, 15 Jan 2017 12:15:07 -0500 +Subject: [PATCH] pulse: fix missing include warning for nanosleep + +--- + src/plugins/pulse/ao_pulse.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/plugins/pulse/ao_pulse.c b/src/plugins/pulse/ao_pulse.c +index 9835273..2d10d57 100644 +--- a/src/plugins/pulse/ao_pulse.c ++++ b/src/plugins/pulse/ao_pulse.c +@@ -30,6 +30,7 @@ + #include + #include + #include ++#include + #include + + #include +-- +GitLab + diff --git a/source-files/libao.conf b/source-files/libao.conf new file mode 100644 index 0000000..f8f7edb --- /dev/null +++ b/source-files/libao.conf @@ -0,0 +1,3 @@ +default_driver=alsa +dev=default +quiet