Switch to new download format and update source.sh script

This commit is contained in:
2025-10-07 20:22:01 +03:00
parent cc9839b9c7
commit 84531c7a8e
2 changed files with 58 additions and 28 deletions
+53 -5
View File
@@ -1,15 +1,63 @@
name: pulseaudio name: pulseaudio
description: Sound server for POSIX OSes including Linux description: Sound server for POSIX OSes including Linux
version: 17.0 version: "17.0"
revision: 4 revision: 5
url: https://www.freedesktop.org/wiki/Software/PulseAudio/ url: https://www.freedesktop.org/wiki/Software/PulseAudio/
license: LGPL2.1-or-later license: LGPL2.1-or-later
architecture: any architecture: any
make_depends: ["alsa-lib","bluez","dbus","elogind","fftw","gcc","glib","glibc","libcap","libice","libsm","libsndfile","libtool","libxtst","sbc","speexdsp","attr","check","gtk3","meson","openssl","perl-xml-parser","valgrind"]
type: source type: source
make_depends:
- alsa-lib
- bluez
- dbus
- elogind
- fftw
- gcc
- glib
- glibc
- libcap
- libice
- libsm
- libsndfile
- libtool
- libxtst
- sbc
- speexdsp
- attr
- check
- gtk3
- meson
- openssl
- perl-xml-parser
- valgrind
downloads:
- url: https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-${BPM_PKG_VERSION}.tar.xz
extract_to: ${BPM_SOURCE}
extract_strip_components: 1
checksum: 053794d6671a3e397d849e478a80b82a63cb9d8ca296bd35b73317bb5ceb87b5
split_packages: split_packages:
- name: pulseaudio - name: pulseaudio
depends: ["alsa-lib","dbus","elogind","fftw","gcc-libs","glib","glibc","libcap","libice","libpulse","libsm","libsndfile","libtool","libxtst","speexdsp"] depends:
- alsa-lib
- dbus
- elogind
- fftw
- gcc-libs
- glib
- glibc
- libcap
- libice
- libpulse
- libsm
- libsndfile
- libtool
- libxtst
- speexdsp
- name: libpulse - name: libpulse
description: Pulseaudio shared libraries description: Pulseaudio shared libraries
depends: ["dbus","glib","glibc","libsndfile","libxcb"] depends:
- dbus
- glib
- glibc
- libsndfile
- libxcb
+5 -23
View File
@@ -2,22 +2,9 @@
# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE # 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 # BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT
DOWNLOAD="https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-${BPM_PKG_VERSION}.tar.xz"
FILENAME="${DOWNLOAD##*/}"
# The prepare function is executed in the root of the temp directory
# This function is used for downloading files and putting them into the correct location
prepare() {
wget "$DOWNLOAD"
tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE"
}
# The build function is executed in the source directory # The build function is executed in the source directory
# This function is used to compile the source code # This function is used to compile the source code
build() { build() {
mkdir build
cd build
meson setup --prefix=/usr \ meson setup --prefix=/usr \
--libdir=/usr/lib \ --libdir=/usr/lib \
--buildtype=release \ --buildtype=release \
@@ -25,32 +12,27 @@ build() {
-Delogind=enabled \ -Delogind=enabled \
-Ddatabase=gdbm \ -Ddatabase=gdbm \
-Ddoxygen=false \ -Ddoxygen=false \
.. build
ninja meson compile -C build
} }
# The check function is executed in the source directory # The check function is executed in the source directory
# This function is used to run tests to verify the package has been compiled correctly # This function is used to run tests to verify the package has been compiled correctly
check() { check() {
cd build meson test -C build --print-errorlogs
ninja test
} }
package_libpulse() { package_libpulse() {
cd build
# Replace 'output' directory with 'output-libpulse' # Replace 'output' directory with 'output-libpulse'
rmdir "$BPM_OUTPUT" rmdir "$BPM_OUTPUT"
mv "$BPM_SOURCE"/output-libpulse "$BPM_OUTPUT" mv "$BPM_SOURCE"/output-libpulse "$BPM_OUTPUT"
# Install package license # Install package license
install -Dm644 "$BPM_SOURCE"/LICENSE "$BPM_OUTPUT"/usr/share/licenses/pulseaudio/LICENSE install -Dm644 "$BPM_SOURCE"/LICENSE "$BPM_OUTPUT"/usr/share/licenses/libpulse/LICENSE
} }
package_pulseaudio() { package_pulseaudio() {
cd build meson install -C build --destdir="$BPM_OUTPUT"
DESTDIR="$BPM_OUTPUT" ninja install
# Move libraries to temporary directory for libpulse package # Move libraries to temporary directory for libpulse package
mkdir "$BPM_SOURCE"/output-libpulse mkdir "$BPM_SOURCE"/output-libpulse