Skip to content

Commit 8d6e7f9

Browse files
authored
Merge pull request #2733 from pygame-community/ankith26-pipewire
Add pipewire and libsamplerate+fftw3
2 parents d7abcbb + 0c21958 commit 8d6e7f9

File tree

8 files changed

+82
-1
lines changed

8 files changed

+82
-1
lines changed

buildconfig/manylinux-build/README.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,5 +172,4 @@ TODO
172172

173173
Maybe these need adding?
174174

175-
- audio resampling for SDL: libsamplerate (handles samplerate conversions better)
176175
- vulkan, via mesa?

buildconfig/manylinux-build/docker_base/Dockerfile-aarch64

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@ RUN ["bash", "/sndfile_build/build-sndfile.sh"]
128128
ADD pulseaudio /pulseaudio_build/
129129
RUN ["bash", "/pulseaudio_build/build-pulseaudio.sh"]
130130

131+
ADD libpipewire /libpipewire_build/
132+
RUN ["bash", "/libpipewire_build/build-libpipewire.sh"]
133+
131134
ADD libxmp /libxmp_build/
132135
RUN ["bash", "/libxmp_build/build-libxmp.sh"]
133136

@@ -144,6 +147,9 @@ RUN ["bash", "/fluidsynth_build/build-fluidsynth.sh"]
144147
ADD wavpack /wavpack_build/
145148
RUN ["bash", "/wavpack_build/build-wavpack.sh"]
146149

150+
ADD libsamplerate /libsamplerate_build/
151+
RUN ["bash", "/libsamplerate_build/build-libsamplerate.sh"]
152+
147153
ADD sdl_libs /sdl_build/
148154
RUN ["bash", "/sdl_build/build-sdl2-libs.sh"]
149155

buildconfig/manylinux-build/docker_base/Dockerfile-i686

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@ RUN ["linux32", "bash", "/sndfile_build/build-sndfile.sh"]
128128
ADD pulseaudio /pulseaudio_build/
129129
RUN ["linux32", "bash", "/pulseaudio_build/build-pulseaudio.sh"]
130130

131+
ADD libpipewire /libpipewire_build/
132+
RUN ["linux32", "bash", "/libpipewire_build/build-libpipewire.sh"]
133+
131134
ADD libxmp /libxmp_build/
132135
RUN ["linux32", "bash", "/libxmp_build/build-libxmp.sh"]
133136

@@ -144,6 +147,9 @@ RUN ["linux32", "bash", "/fluidsynth_build/build-fluidsynth.sh"]
144147
ADD wavpack /wavpack_build/
145148
RUN ["linux32", "bash", "/wavpack_build/build-wavpack.sh"]
146149

150+
ADD libsamplerate /libsamplerate_build/
151+
RUN ["linux32", "bash", "/libsamplerate_build/build-libsamplerate.sh"]
152+
147153
# Build and install SDL
148154
ADD sdl_libs /sdl_build/
149155
RUN ["linux32", "bash", "/sdl_build/build-sdl2-libs.sh"]

buildconfig/manylinux-build/docker_base/Dockerfile-x86_64

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@ RUN ["bash", "/sndfile_build/build-sndfile.sh"]
128128
ADD pulseaudio /pulseaudio_build/
129129
RUN ["bash", "/pulseaudio_build/build-pulseaudio.sh"]
130130

131+
ADD libpipewire /libpipewire_build/
132+
RUN ["bash", "/libpipewire_build/build-libpipewire.sh"]
133+
131134
ADD libxmp /libxmp_build/
132135
RUN ["bash", "/libxmp_build/build-libxmp.sh"]
133136

@@ -144,6 +147,9 @@ RUN ["bash", "/fluidsynth_build/build-fluidsynth.sh"]
144147
ADD wavpack /wavpack_build/
145148
RUN ["bash", "/wavpack_build/build-wavpack.sh"]
146149

150+
ADD libsamplerate /libsamplerate_build/
151+
RUN ["bash", "/libsamplerate_build/build-libsamplerate.sh"]
152+
147153
ADD sdl_libs /sdl_build/
148154
RUN ["bash", "/sdl_build/build-sdl2-libs.sh"]
149155

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/bin/bash
2+
set -e -x
3+
4+
cd $(dirname `readlink -f "$0"`)
5+
6+
# use pinned commit (latest at the time of this comment) as 1.0.3 has compilation issues
7+
PIPEWIRE_VER="0cfe57f33d4a6e511577614e97c7491e6450f0eb" # 1.0.3
8+
PIPEWIRE="pipewire-$PIPEWIRE_VER"
9+
10+
curl -sL --retry 10 https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${PIPEWIRE_VER}/${PIPEWIRE}.tar.gz > ${PIPEWIRE}.tar.gz
11+
sha512sum -c libpipewire.sha512
12+
13+
tar xzf ${PIPEWIRE}.tar.gz
14+
cd $PIPEWIRE
15+
16+
# a minimal pipewire install will do for us (as SDL loads it dynamically)
17+
meson setup _build $PG_BASE_MESON_FLAGS -Dsession-managers=[] \
18+
-Dexamples=disabled -Dtests=disabled -Dsystemd=disabled -Dselinux=disabled \
19+
-Dpipewire-alsa=disabled -Dpipewire-jack=disabled -Dpipewire-v4l2=disabled \
20+
-Dspa-plugins=disabled -Ddbus=disabled -Dudev=disabled -Dsndfile=disabled \
21+
-Dx11=disabled -Dlibpulse=disabled -Davb=disabled
22+
23+
meson compile -C _build
24+
meson install -C _build
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
6ed0a6a140963a6c7b2bb53c8060ecbf5ede9514212d81f71bcbcc1edf685a7bb8f4bc57f43f8bef3590db392bd0bfb97b0670f2e365590c311f77d6ed8396b9 pipewire-0cfe57f33d4a6e511577614e97c7491e6450f0eb.tar.gz
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/bin/bash
2+
set -e -x
3+
4+
cd $(dirname `readlink -f "$0"`)
5+
6+
# This is a libsamplerate dependency
7+
FFTW_VER="3.3.10"
8+
FFTW="fftw-3.3.10"
9+
10+
LIBSAMPLERATE_VER="0.2.2"
11+
LIBSAMPLERATE="libsamplerate-$LIBSAMPLERATE_VER"
12+
13+
curl -sL --retry 10 https://www.fftw.org/${FFTW}.tar.gz > ${FFTW}.tar.gz
14+
curl -sL --retry 10 https://github.com/libsndfile/libsamplerate/releases/download/${LIBSAMPLERATE_VER}/${LIBSAMPLERATE}.tar.xz > ${LIBSAMPLERATE}.tar.xz
15+
sha512sum -c libsamplerate.sha512
16+
17+
tar xzf ${FFTW}.tar.gz
18+
cd ${FFTW}
19+
20+
mkdir build
21+
cd build
22+
23+
cmake .. $PG_BASE_CMAKE_FLAGS
24+
make
25+
make install
26+
27+
cd ../..
28+
29+
tar xf ${LIBSAMPLERATE}.tar.xz
30+
cd $LIBSAMPLERATE
31+
32+
mkdir build
33+
cd build
34+
35+
cmake .. $PG_BASE_CMAKE_FLAGS
36+
make
37+
make install
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2d34b5ccac7b08740dbdacc6ebe451d8a34cf9d9bfec85a5e776e87adf94abfd803c222412d8e10fbaa4ed46f504aa87180396af1b108666cde4314a55610b40 fftw-3.3.10.tar.gz
2+
d23ae54d23209ba22baae9e5fd178dd8e0e99205dada7e7c3a7b3a3d8cf816ed427a411bfeb008427f64da7767d645edce40811f238af11c8c386f5ef25a9f0c libsamplerate-0.2.2.tar.xz

0 commit comments

Comments
 (0)