app-id: gr.oscillate.gytparse
runtime: org.gnome.Platform
runtime-version: '41'
sdk: org.gnome.Sdk
command: gytparse
finish-args:
- --share=network
- --socket=wayland
- --socket=fallback-x11
- --filesystem=host
- --device=all
- --socket=pulseaudio
- --share=ipc
- --talk-name=org.kde.kwalletd5
- --talk-name=org.kde.kwalletd
- --talk-name=org.gnome.SettingsDaemon.MediaKeys
- --talk-name=org.freedesktop.Secrets
cleanup:
- '*.la'
- '*.a'
modules:
- name: x264
config-opts:
- --disable-cli
- --enable-shared
- --enable-pic
sources:
- type: git
url: https://code.videolan.org/videolan/x264.git
branch: stable
- name: numa
config-opts:
- --disable-static
- --enable-shared
sources:
- type: archive
url: https://github.com/numactl/numactl/releases/download/v2.0.14/numactl-2.0.14.tar.gz
sha256: 826bd148c1b6231e1284e42a4db510207747484b112aee25ed6b1078756bcff6
cleanup:
- /bin
- name: x265
buildsystem: cmake-ninja
builddir: true
subdir: source
config-opts:
- -DENABLE_SHARED=TRUE
- -DBUILD_SHARED_LIBS=ON
- -DCMAKE_POSITION_INDEPENDENT_CODE=ON
- -DHIGH_BIT_DEPTH=TRUE
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -Wno-dev
sources:
- type: archive
url: https://bitbucket.org/multicoreware/x265_git/downloads/x265_3.5.tar.gz
sha256: e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8
cleanup:
- /bin
- name: libvpx
config-opts:
- --disable-examples
- --disable-unit-tests
- --enable-vp9-highbitdepth
- --enable-pic
- --enable-shared
- --disable-static
- --as=yasm
modules:
- name: yasm
sources:
- type: archive
url: http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
md5: fc9e586751ff789b34b1f21d572d96af
cleanup:
- /bin
sources:
- type: archive
url: https://github.com/webmproject/libvpx/archive/v1.11.0.tar.gz
sha256: 965e51c91ad9851e2337aebcc0f517440c637c506f3a03948062e3d5ea129a83
- name: aom
buildsystem: cmake-ninja
builddir: true
config-opts:
- -DBUILD_SHARED_LIBS=1
- -DENABLE_TESTS=0
- -DENABLE_NASM=ON
- -DCMAKE_POSITION_INDEPENDENT_CODE=ON
- -DCMAKE_BUILD_TYPE=Release
sources:
- type: git
disable-shallow-clone: true
url: https://aomedia.googlesource.com/aom
tag: v1.0.0-errata1-avif
commit: 4eb1e7795b9700d532af38a2d9489458a8038233
cleanup:
- /bin
- name: libass
config-opts:
- --disable-static
- --enable-asm
- --enable-harfbuzz
- --enable-fontconfig
sources:
- type: archive
url: https://github.com/libass/libass/releases/download/0.15.2/libass-0.15.2.tar.xz
sha256: 1be2df9c4485a57d78bb18c0a8ed157bc87a5a8dd48c661961c625cb112832fd
- type: script
dest-filename: autogen.sh
commands:
- autoreconf -fiv
- name: libdrm
buildsystem: meson
config-opts:
- -Dudev=false
- -Dvalgrind=false
sources:
- type: archive
url: https://dri.freedesktop.org/libdrm/libdrm-2.4.110.tar.xz
sha256: eecee4c4b47ed6d6ce1a9be3d6d92102548ea35e442282216d47d05293cf9737
cleanup:
- /bin
- name: openh264
buildsystem: meson
modules:
- name: gtest
buildsystem: cmake-ninja
config-opts:
- -DBUILD_SHARED_LIBS=ON
- -Dgtest_build_tests=OFF
- -DCMAKE_BUILD_TYPE=Release
sources:
- type: archive
url: https://github.com/google/googletest/archive/release-1.10.0.tar.gz
sha256: 9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb
sources:
- type: archive
url: https://github.com/cisco/openh264/archive/v2.0.0.tar.gz
sha256: 73c35f80cc487560d11ecabb6d31ad828bd2f59d412f9cd726cc26bfaf4561fd
- name: kvazaar
config-opts:
- --disable-static
sources:
- type: archive
url: https://github.com/ultravideo/kvazaar/releases/download/v1.3.0/kvazaar-1.3.0.tar.xz
sha256: 8916bd616539e0ac7b0b4320190b37d7bf7223299bdd7e545f52eb79a949e26d
- type: script
dest-filename: autogen.sh
commands:
- autoreconf -fiv
- name: dav1d
buildsystem: meson
sources:
- type: archive
url: http://downloads.videolan.org/pub/videolan/dav1d/0.5.2/dav1d-0.5.2.tar.xz
sha256: f94cf88c4a3ac2fd3cb30d688e8ef5943854d73db2dd12985a78892e76560f0a
- name: zimg
config-opts:
- --disable-static
sources:
- type: archive
url: https://github.com/sekrit-twc/zimg/archive/release-3.0.3.tar.gz
sha256: 5e002992bfe8b9d2867fdc9266dc84faca46f0bfd931acc2ae0124972b6170a7
- name: ffnvcodec
no-autogen: true
make-install-args: [PREFIX=/app]
sources:
- type: archive
url: https://github.com/FFmpeg/nv-codec-headers/archive/n9.1.23.1.tar.gz
sha256: 063f49838113c90504fd430377a6025478e2a454f812ce8a4da033e474727dc8
- name: opencl
buildsystem: simple
build-commands:
- install -d "${FLATPAK_DEST}/include/CL"
- install -Dm644 CL/* "${FLATPAK_DEST}/include/CL"
sources:
- type: git
url: https://github.com/KhronosGroup/OpenCL-Headers.git
branch: main
- name: ffmpeg
config-opts:
- --pkg-config-flags=--static
- --enable-hardcoded-tables
- --disable-debug
- --disable-doc
- --enable-pic
- --enable-gpl
- --enable-version3
- --enable-nonfree
- --disable-podpages
- --enable-optimizations
- --enable-libaom
- --enable-libdrm
- --enable-libdav1d
- --enable-libopenh264
- --enable-libkvazaar
- --enable-libass
- --enable-libfdk-aac
- --enable-gnutls
- --enable-libfontconfig
- --enable-libfribidi
- --enable-libpulse
- --enable-libspeex
- --enable-libtheora
- --enable-libwebp
- --enable-nvdec
- --enable-nvenc
- --enable-openal
- --enable-opengl
- --enable-sdl2
- --enable-libfreetype
- --enable-libmp3lame
- --enable-libopus
- --enable-libvorbis
- --enable-libvpx
- --enable-libx264
- --enable-libx265
- --enable-nonfree
- --enable-libzimg
- --enable-opencl
sources:
- type: archive
url: https://ffmpeg.org/releases/ffmpeg-4.2.2.tar.xz
sha256: cb754255ab0ee2ea5f66f8850e1bd6ad5cac1cd855d0a2f4990fb8c668b0d29c
cleanup:
- /share/ffmpeg
- name: gtk
buildsystem: meson
config-opts:
- "-Dbuild-examples=false"
- "-Dbuild-tests=false"
sources:
- type: archive
url: https://download.gnome.org/sources/gtk/4.6/gtk-4.6.0.tar.xz
sha256: 782d5951fbfd585fc9ec76c09d07e28e6014c72db001fb567fff217fb96e4d8c
build-options:
build-args:
- --share=network
- name: libsass
buildsystem: meson
cleanup:
- "*"
sources:
- type: git
url: https://github.com/lazka/libsass.git
branch: meson
- name: sassc
buildsystem: meson
cleanup:
- "*"
sources:
- type: git
url: https://github.com/lazka/sassc.git
branch: meson
- name: libadwaita
buildsystem: meson
config-opts:
- "-Dvapi=false"
- "-Dexamples=false"
- "-Dtests=false"
sources:
- type: git
url: https://gitlab.gnome.org/GNOME/libadwaita.git
branch: main
- name: libXmu
buildsystem: autotools
sources:
- type: archive
url: https://github.com/freedesktop/libXmu/archive/libXmu-1.1.2.tar.gz
sha256: fb1485a0ffcc360c0cc8fe18f54a2f49af6fc384da743c0b136ab99cc6c6e54c
- name: xclip
buildsystem: autotools
sources:
- type: archive
url: https://github.com/astrand/xclip/archive/0.13.tar.gz
sha256: ca5b8804e3c910a66423a882d79bf3c9450b875ac8528791fb60ec9de667f758
- name: luajit
no-autogen: true
cleanup:
- /bin
- /include
- /lib/pkgconfig
- /share/man
sources:
- type: git
url: https://luajit.org/git/luajit-2.0.git
branch: v2.1
disable-shallow-clone: true
- type: shell
commands:
- sed -i 's|/usr/local|/app|' ./Makefile
- name: uchardet
buildsystem: cmake-ninja
config-opts:
- -DCMAKE_BUILD_TYPE=Release
- -DBUILD_STATIC=0
cleanup:
- /bin
- /include
- /lib/pkgconfig
- /share/man
sources:
- type: archive
url: https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.6.tar.xz
sha256: 8351328cdfbcb2432e63938721dd781eb8c11ebc56e3a89d0f84576b96002c61
- name: libv4l2
cleanup:
- /include
- /lib/pkgconfig
- /share/man
config-opts:
- --disable-static
- --disable-bpf
- --with-udevdir=/app/lib/udev
sources:
- type: archive
url: https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.20.0.tar.bz2
sha256: 956118713f7ccb405c55c7088a6a2490c32d54300dd9a30d8d5008c28d3726f7
- name: libcdio
config-opts:
- --disable-static
- --disable-example-progs
cleanup:
- /include
- /lib/pkgconfig
sources:
- type: archive
url: https://ftp.gnu.org/gnu/libcdio/libcdio-2.1.0.tar.bz2
sha256: 8550e9589dbd594bfac93b81ecf129b1dc9d0d51e90f9696f1b2f9b2af32712b
x-checker-data:
type: html
url: https://ftp.gnu.org/gnu/libcdio/
version-pattern: libcdio-(\d\.\d+\.?\d*).tar.bz2
url-template: https://ftp.gnu.org/gnu/libcdio/libcdio-$version.tar.bz2
- name: libcdio-paranoia
config-opts:
- --disable-static
- --disable-example-progs
cleanup:
- /include
- /lib/pkgconfig
sources:
- type: archive
url: https://ftp.gnu.org/gnu/libcdio/libcdio-paranoia-10.2+2.0.1.tar.bz2
sha256: 33b1cf305ccfbfd03b43936975615000ce538b119989c4bec469577570b60e8a
x-checker-data:
type: html
url: https://ftp.gnu.org/gnu/libcdio/
version-pattern: libcdio-paranoia-([\d\.\+-]+).tar.bz2
url-template: https://ftp.gnu.org/gnu/libcdio/libcdio-paranoia-$version.tar.bz2
- name: libdvdread
config-opts:
- --disable-static
cleanup:
- /include
- /lib/pkgconfig
sources:
- type: archive
url: https://download.videolan.org/pub/videolan/libdvdread/6.1.1/libdvdread-6.1.1.tar.bz2
sha256: 3e357309a17c5be3731385b9eabda6b7e3fa010f46022a06f104553bf8e21796
x-checker-data:
type: html
url: https://www.videolan.org/developers/libdvdnav.html
version-pattern: The latest version of libdvdread is ([\d\-\.]+)<
url-template: https://download.videolan.org/pub/videolan/libdvdread/$version/libdvdread-$version.tar.bz2
- name: libdvdnav
config-opts:
- --disable-static
cleanup:
- /include
- /lib/pkgconfig
sources:
- type: archive
url: https://download.videolan.org/pub/videolan/libdvdnav/6.1.1/libdvdnav-6.1.1.tar.bz2
sha256: c191a7475947d323ff7680cf92c0fb1be8237701885f37656c64d04e98d18d48
x-checker-data:
type: html
url: https://www.videolan.org/developers/libdvdnav.html
version-pattern: The latest version of libdvdnav is ([\d\-\.]+)\.
url-template: https://download.videolan.org/pub/videolan/libdvdnav/$version/libdvdnav-$version.tar.bz2
- name: libbluray
config-opts:
- --disable-static
- --disable-bdjava-jar
cleanup:
- /include
- /lib/pkgconfig
sources:
- sha256: e2dbaf99e84e0a9725f4985bcb85d41e52c2261cc651d8884b1b790b5ef016f9
type: archive
url: https://download.videolan.org/pub/videolan/libbluray/1.3.0/libbluray-1.3.0.tar.bz2
x-checker-data:
type: html
url: https://www.videolan.org/developers/libbluray.html
version-pattern: Latest release is libbluray (\d\.\d+\.?\d*)\.
url-template: https://download.videolan.org/pub/videolan/libbluray/$version/libbluray-$version.tar.bz2
- name: rubberband
buildsystem: meson
cleanup:
- /include
- /lib/pkgconfig
sources:
- type: archive
url: https://breakfastquay.com/files/releases/rubberband-2.0.2.tar.bz2
sha256: b9eac027e797789ae99611c9eaeaf1c3a44cc804f9c8a0441a0d1d26f3d6bdf9
x-checker-data:
type: html
url: https://www.breakfastquay.com/rubberband/
version-pattern: Rubber Band Library v(\d\.\d+\.?\d*) source
url-template: https://breakfastquay.com/files/releases/rubberband-$version.tar.bz2
- name: mujs
no-autogen: true
make-args:
- release
- shared
make-install-args:
- prefix=/app
- install-shared
cleanup:
- /bin
- /include
- /lib/pkgconfig
sources:
- type: git
url: https://github.com/ccxvii/mujs.git
tag: 1.2.0
commit: dd0a0972b4428771e6a3887da2210c7c9dd40f9c
x-checker-data:
type: git
url: https://api.github.com/repos/ccxvii/mujs/tags
tag-pattern: ^([\d.]+)$
- name: nv-codec-headers
cleanup:
- '*'
no-autogen: true
make-install-args:
- PREFIX=/app
sources:
- type: git
url: https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
tag: n11.1.5.1
commit: 84483da70d903239d4536763fde8c7e6c4e80784
x-checker-data:
type: git
tag-pattern: ^n([\d.]+)$
- name: libsixel
buildsystem: meson
cleanup:
- /include
- /lib/pkgconfig
sources:
- type: archive
archive-type: tar
url: https://api.github.com/repos/libsixel/libsixel/tarball/refs/tags/v1.10.3
sha256: 7be774befba882d53701e131b6657836118f6cdb15a7515f92345c7bb6e2bb5c
x-checker-data:
type: json
url: https://api.github.com/repos/libsixel/libsixel/tags
url-query: .[0].tarball_url
version-query: .[0].name
- name: vapoursynth
config-opts:
- --disable-static
- --with-python_prefix=/app
sources:
- type: git
url: https://github.com/vapoursynth/vapoursynth.git
tag: R57
commit: 325756ed04588b31840fdb74479537cddcba4bf7
x-checker-data:
type: git
tag-pattern: ^R([\d.]+)$
- name: libplacebo
buildsystem: meson
config-opts:
- -Dvulkan=enabled
- -Dshaderc=enabled
cleanup:
- /include
- /lib/pkgconfig
sources:
- type: git
url: https://code.videolan.org/videolan/libplacebo.git
tag: v4.192.0
x-checker-data:
type: git
tag-pattern: ^v([\d.]+)$
commit: f95f7aa2a23c818a1aea32754b7ff06cd5503fb7
modules:
- name: shaderc
buildsystem: cmake-ninja
builddir: true
config-opts:
- -DSHADERC_SKIP_COPYRIGHT_CHECK=ON
- -DSHADERC_SKIP_EXAMPLES=ON
- -DSHADERC_SKIP_TESTS=ON
cleanup:
- /bin
- /include
- /lib/cmake
- /lib/pkgconfig
post-install:
# copy libSPIRV, as it's only available in Sdk
- install -D /lib/$(gcc --print-multiarch)/libSPIRV*.so /app/lib
sources:
- type: archive
archive-type: tar
url: https://api.github.com/repos/google/shaderc/tarball/refs/tags/v2021.3
sha256: b7e54b23a83343d5e2da836d8833ae0db11926141955edf845e35d4dc1eb88d1
x-checker-data:
type: json
url: https://api.github.com/repos/google/shaderc/tags
url-query: .[0].tarball_url
version-query: .[0].name
- type: shell
commands:
- sed -i 's|SPIRV/GlslangToSpv.h|glslang/SPIRV/GlslangToSpv.h|' libshaderc_util/src/compiler.cc
- sed -i 's|add_subdirectory(third_party)||' CMakeLists.txt
- sed -i 's|add_custom_target(build-version|set(NOT_USE|' CMakeLists.txt
- |
LIB=/lib/$(gcc --print-multiarch)
VER_MATCH="[0-9]+\.[^\. ]+"
SHADERC=$(grep -m1 -oP "^v$VER_MATCH" CHANGES)
SPIRV=v$(grep -oP "(?<=Version:.)$VER_MATCH" $LIB/pkgconfig/SPIRV-Tools-shared.pc)
GLSLANG=v$(realpath $LIB/libglslang.so | grep -oP "(?<=so.)$VER_MATCH")
cat <<- EOF > glslc/src/build-version.inc
"shaderc $SHADERC"
"spirv-tools $SPIRV"
"glslang $GLSLANG"
EOF
- cat glslc/src/build-version.inc
- name: mpv
buildsystem: simple
cleanup:
- /include
- /lib/pkgconfig
build-commands:
- python3 waf configure --prefix=/app --enable-libmpv-shared --disable-build-date
--disable-manpage-build --disable-alsa --enable-sdl2 --enable-libarchive --enable-dvbin
--enable-cdda --enable-dvdnav --enable-shaderc --enable-vulkan
- python3 waf build
- python3 waf install
sources:
- type: archive
url: https://github.com/mpv-player/mpv/archive/v0.34.1.tar.gz
sha256: 32ded8c13b6398310fa27767378193dc1db6d78b006b70dbcbd3123a1445e746
- type: file
url: https://waf.io/waf-2.0.22
sha256: 0a09ad26a2cfc69fa26ab871cb558165b60374b5a653ff556a0c6aca63a00df1
dest-filename: waf
- name: gytparse
buildsystem: simple
sources:
- type: dir
path: ..
build-commands:
- pip3 install --prefix=${FLATPAK_DEST} requests yt-dlp dbus-python
- meson . _build -Dprefix=${FLATPAK_DEST}
- meson install -C _build
- ln -s /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-15.0.so /app/lib/libpulsecommon-15.0.so
- ln -s /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecore-15.0.so /app/lib/libpulsecore-15.0.so
- ln -s /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsedsp-15.0.so /app/lib/libpulsedsp-15.0.so
build-options:
build-args:
- --share=network