# Experimental panel + routing package, adapted from PR #8 (see attribution). # Use build.sh with the prepared, checksummed vendored release archive. # Builder commits are pinned there; the installed runtime tracks stable GNOME 50. # Host udev permissions and native services must be configured outside this sandbox. app-id: io.github.RamaAditya49.CadisWave runtime: org.gnome.Platform runtime-version: "50" sdk: org.gnome.Sdk sdk-extensions: - org.freedesktop.Sdk.Extension.rust-stable command: cadiswave rename-desktop-file: cadiswave.desktop rename-icon: cadiswave copy-icon: true finish-args: - --share=ipc - --socket=wayland - --socket=fallback-x11 - --device=all - --filesystem=xdg-run/pipewire-0 - --socket=pulseaudio - --talk-name=org.kde.StatusNotifierWatcher - --env=LADSPA_PATH=/app/lib/ladspa modules: # GTK4, libadwaita, expat, ncurses and libxml2 come from GNOME. - name: libusb config-opts: [--disable-udev] sources: - type: archive url: https://github.com/libusb/libusb/releases/download/v1.0.30/libusb-1.0.30.tar.bz2 sha256: fea36f34f9156400209595e300840767ab1a385ede1dc7ee893015aea9c6dbaf - name: alsa-lib sources: - type: archive url: https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.16.1.tar.bz2 sha256: f740db7f488255944ffd4428416ee3390a96742856916433df468c281436480e - name: alsa-utils config-opts: - --disable-alsamixer - --disable-xmlto - --disable-nls - --with-udev-rules-dir=/app/lib/udev/rules.d - --with-systemdsystemunitdir=no sources: - type: archive url: https://www.alsa-project.org/files/pub/utils/alsa-utils-1.2.16.tar.bz2 sha256: 092399d5e8749a1d5e188e393157521cec4b75693b60ebb79bbce728cff2232c - name: libsndfile buildsystem: cmake-ninja config-opts: - -DBUILD_SHARED_LIBS=ON - -DBUILD_PROGRAMS=OFF - -DBUILD_EXAMPLES=OFF - -DBUILD_TESTING=OFF - -DENABLE_EXTERNAL_LIBS=OFF - -DENABLE_MPEG=OFF - -DINSTALL_PKGCONFIG_MODULE=ON - -DCMAKE_POLICY_VERSION_MINIMUM=3.5 sources: - type: git url: https://github.com/libsndfile/libsndfile.git tag: "1.2.2" commit: 72f6af15e8f85157bd622ed45b979025828b7001 # pactl is a Pulse client, not a PipeWire or WirePlumber utility. - name: pulseaudio-client buildsystem: meson config-opts: - -Ddaemon=false - -Dclient=true - -Dtests=false - -Dman=false - -Ddoxygen=false - -Dgtk=disabled - -Dsystemd=disabled - -Dudev=disabled - -Ddatabase=simple - -Dbashcompletiondir=/app/share/bash-completion/completions - -Dzshcompletiondir=/app/share/zsh/site-functions sources: - type: git url: https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git tag: v17.0 commit: 1f020889c9aa44ea0f63d7222e8c2b62c3f45f68 - name: pipewire-tools buildsystem: meson config-opts: - -Dsession-managers=[] - -Dexamples=disabled - -Dtests=disabled - -Dgstreamer=disabled - -Dlibsystemd=disabled - -Dlogind=disabled - -Dsystemd-user-service=disabled - -Dsystemd-system-service=disabled - -Drlimits-install=false - -Dpipewire-alsa=disabled - -Dpipewire-jack=disabled - -Dpipewire-v4l2=disabled - -Dpw-cat=enabled - -Dsndfile=enabled - -Dudevrulesdir=/app/lib/udev/rules.d sources: - type: git url: https://gitlab.freedesktop.org/pipewire/pipewire.git tag: "1.6.8" commit: b741e0c74f5436f0c925f7741140db0efd32cf4e post-install: - test -x /app/bin/pw-top && test -x /app/bin/pipewire - test -f /app/lib/pipewire-0.3/libpipewire-module-filter-chain.so - test -f /app/lib/pipewire-0.3/libpipewire-module-protocol-native.so - test -f /app/lib/pipewire-0.3/libpipewire-module-client-node.so - test -f /app/lib/pipewire-0.3/libpipewire-module-adapter.so - test -f /app/lib/spa-0.2/support/libspa-support.so - test -f /app/lib/spa-0.2/audioconvert/libspa-audioconvert.so - name: lua buildsystem: simple build-commands: - make -C src all CC=cc MYCFLAGS="-fPIC -DLUA_USE_LINUX" MYLIBS="-ldl" - make install INSTALL_TOP=/app - | mkdir -p /app/lib/pkgconfig cat > /app/lib/pkgconfig/lua5.5.pc <<'EOF' prefix=/app libdir=${prefix}/lib includedir=${prefix}/include Name: Lua Description: Lua language engine Version: 5.5.1 Libs: -L${libdir} -llua -lm -ldl Cflags: -I${includedir} EOF sources: - type: archive url: https://www.lua.org/ftp/lua-5.5.1.tar.gz sha256: 1c4b4068d67061f2a2231ad2b5422e77acea1487ea9890f6320af614f4373dce - name: wireplumber buildsystem: meson config-opts: - -Dsystemd=disabled - -Delogind=disabled - -Ddoc=disabled - -Dintrospection=disabled - -Dtests=false - -Ddaemon=false - -Dsystem-lua=true - -Dsystem-lua-version=5.5 - -Dtools=true - -Dmodules=true sources: - type: git url: https://gitlab.freedesktop.org/pipewire/wireplumber.git tag: "0.5.17" commit: 11e501181fb87dc8e72e55156d672109fbad2434 - name: fftw-single config-opts: [--enable-float, --enable-shared, --disable-static, --disable-fortran] sources: - type: archive url: https://www.fftw.org/fftw-3.3.11.tar.gz sha256: 5630c24cdeb33b131612f7eb4b1a9934234754f9f388ff8617458d0be6f239a1 - name: perl-file-sharedir-install cleanup: ['*'] buildsystem: simple build-options: env: PERL5LIB: /app/lib/perl5 build-commands: - perl Makefile.PL INSTALL_BASE=/app - make - make install sources: - type: archive url: https://cpan.metacpan.org/authors/id/E/ET/ETHER/File-ShareDir-Install-0.14.tar.gz sha256: 8f9533b198f2d4a9a5288cbc7d224f7679ad05a7a8573745599789428bc5aea0 - name: perl-class-inspector cleanup: ['*'] buildsystem: simple build-options: env: PERL5LIB: /app/lib/perl5 build-commands: - perl Makefile.PL INSTALL_BASE=/app - make - make install sources: - type: archive url: https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Class-Inspector-1.36.tar.gz sha256: cc295d23a472687c24489d58226ead23b9fdc2588e522f0b5f0747741700694e - name: perl-file-sharedir cleanup: ['*'] buildsystem: simple build-options: env: PERL5LIB: /app/lib/perl5 build-commands: - perl Makefile.PL INSTALL_BASE=/app - make - make install sources: - type: archive url: https://cpan.metacpan.org/authors/id/R/RE/REHSACK/File-ShareDir-1.118.tar.gz sha256: 3bb2a20ba35df958dc0a4f2306fc05d903d8b8c4de3c8beefce17739d281c958 # SWH reads only local XML with NoLWP; there is no CPAN network installer. - name: perl-xml-parser cleanup: ['*'] buildsystem: simple build-options: env: PERL5LIB: /app/lib/perl5 build-commands: - perl Makefile.PL INSTALL_BASE=/app - make - make install # MakeMaker installs extensions read-only; Flatpak must split debug data. - chmod u+w /app/lib/perl5/*/auto/XML/Parser/Expat/Expat.so sources: - type: archive url: https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-2.59.tar.gz sha256: a358fd7c49f5e27717a644a9102bd21dc7fc25a415983279c59b1580e2b62a58 - name: swh-plugins build-options: env: PERL5LIB: /app/lib/perl5 config-opts: [--disable-static, --disable-nls] sources: - type: git url: https://github.com/swh/ladspa.git tag: v0.4.17 commit: 8b50f3434b8b30dff16020d17608ced9ee04477b - type: shell commands: [autoreconf -fiv] post-install: - test -f /app/lib/ladspa/gate_1410.so && test -f /app/lib/ladspa/sc4m_1916.so - name: cadiswave buildsystem: simple build-options: prepend-path: /usr/lib/sdk/rust-stable/bin env: CARGO_HOME: /run/build/cadiswave/cargo-home CARGO_NET_OFFLINE: "true" CARGO_TARGET_DIR: /run/build/cadiswave/target build-commands: - test "$(rustc --version | cut -d ' ' -f 2)" = 1.98.1 - test -f .cargo/config.toml && test -d vendor - cargo build --release --frozen --offline --workspace --bins - make install PREFIX=/app INSTALL_METHOD=flatpak BINARY_DIR=/run/build/cadiswave/target/release - /app/bin/cadiswave --version - /app/bin/cadiswave-daemon --help - /app/bin/cadiswave-diag --help - /app/bin/cadiswave-diag --version - /app/bin/cadiswave-probe --help - test -x /app/bin/pactl && test -x /app/bin/wpctl && test -x /app/bin/pw-top && test -x /app/bin/pw-cat - test -f /app/lib/ladspa/gate_1410.so && test -f /app/lib/ladspa/sc4m_1916.so sources: # build.sh replaces this source with the one verified release archive. - type: dir path: ../..