diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..10c9a25
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "flatpak/org.videolan.VLC/shared-modules"]
+ path = flatpak/org.videolan.VLC/shared-modules
+ url = https://github.com/flathub/shared-modules.git
diff --git a/flatpak/build.sh b/flatpak/build.sh
index 0dfac50..db1da44 100755
--- a/flatpak/build.sh
+++ b/flatpak/build.sh
@@ -1,5 +1,8 @@
#!/bin/bash
+# checkout the flathub shared-modules, needed for the VLC build
+git submodule update --init --recursive
+
# build PyMuPdf dependency file
PYMUPDF_VER=1.23.22
PY_TARGET=311
diff --git a/flatpak/org.openlp.OpenLP.yml b/flatpak/org.openlp.OpenLP.yml
index fad0040..3edee73 100644
--- a/flatpak/org.openlp.OpenLP.yml
+++ b/flatpak/org.openlp.OpenLP.yml
@@ -18,6 +18,14 @@ finish-args:
- --env=QTWEBENGINEPROCESS_PATH=/app/bin/QtWebEngineProcess
- --filesystem=host
modules:
+ - name: dbus-run-session
+ buildsystem: autotools
+ cleanup: ["*"]
+ sources:
+ - type: archive
+ url: https://gitlab.freedesktop.org/dbus/dbus/-/archive/dbus-1.15.8/dbus-dbus-1.15.8.tar.gz
+ sha256: 3ae23cd28b96beac175eab0798d65c8e21e9fcf57132d840c170aaa7b21cd818
+ - org.videolan.VLC/openlp-vlc.yaml
- python3-pymupdf.yaml
- python3-requirements.json
- name: OpenLP
diff --git a/flatpak/org.videolan.VLC/.gitmodules b/flatpak/org.videolan.VLC/.gitmodules
new file mode 100644
index 0000000..1e7a990
--- /dev/null
+++ b/flatpak/org.videolan.VLC/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "shared-modules"]
+ path = shared-modules
+ url = https://github.com/flathub/shared-modules.git
diff --git a/flatpak/org.videolan.VLC/README.md b/flatpak/org.videolan.VLC/README.md
new file mode 100644
index 0000000..4480f17
--- /dev/null
+++ b/flatpak/org.videolan.VLC/README.md
@@ -0,0 +1,12 @@
+# VLC plugin extension
+
+To package independent plugins for VLC you can create an extension org.videolan.VLC.Plugin.myplugin.
+
+The files in your extension will be available in /app/share/vlc/extra/myplugin.
+
+The lib folder will automatically be added in the runtime LD search paths so you can link your plugin to whatever is there.
+
+To add a VLC plugin put the .so inside a plugins directory at the root of your extension. It will then be available to VLC.
+
+All the .sh files available at the root of the extension will be sourced before launching VLC. You can then mess around with environment variables, and also modify VLC_ARGS which will be prepend to the args passed by the user.
+
diff --git a/flatpak/org.videolan.VLC/ffmpeg_binutils241.patch b/flatpak/org.videolan.VLC/ffmpeg_binutils241.patch
new file mode 100644
index 0000000..33fd3d4
--- /dev/null
+++ b/flatpak/org.videolan.VLC/ffmpeg_binutils241.patch
@@ -0,0 +1,76 @@
+From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001
+From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?=
+Date: Sun, 16 Jul 2023 18:18:02 +0300
+Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift
+ instructions within inline assembly
+
+Fixes assembling with binutil as >= 2.41
+
+Signed-off-by: James Almer
+---
+ libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++---
+ 1 file changed, 23 insertions(+), 3 deletions(-)
+
+diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h
+index 6298f5ed19..ca7e2dffc1 100644
+--- a/libavcodec/x86/mathops.h
++++ b/libavcodec/x86/mathops.h
+@@ -35,12 +35,20 @@
+ static av_always_inline av_const int MULL(int a, int b, unsigned shift)
+ {
+ int rt, dummy;
++ if (__builtin_constant_p(shift))
+ __asm__ (
+ "imull %3 \n\t"
+ "shrdl %4, %%edx, %%eax \n\t"
+ :"=a"(rt), "=d"(dummy)
+- :"a"(a), "rm"(b), "ci"((uint8_t)shift)
++ :"a"(a), "rm"(b), "i"(shift & 0x1F)
+ );
++ else
++ __asm__ (
++ "imull %3 \n\t"
++ "shrdl %4, %%edx, %%eax \n\t"
++ :"=a"(rt), "=d"(dummy)
++ :"a"(a), "rm"(b), "c"((uint8_t)shift)
++ );
+ return rt;
+ }
+
+@@ -113,19 +121,31 @@ __asm__ volatile(\
+ // avoid +32 for shift optimization (gcc should do that ...)
+ #define NEG_SSR32 NEG_SSR32
+ static inline int32_t NEG_SSR32( int32_t a, int8_t s){
++ if (__builtin_constant_p(s))
+ __asm__ ("sarl %1, %0\n\t"
+ : "+r" (a)
+- : "ic" ((uint8_t)(-s))
++ : "i" (-s & 0x1F)
+ );
++ else
++ __asm__ ("sarl %1, %0\n\t"
++ : "+r" (a)
++ : "c" ((uint8_t)(-s))
++ );
+ return a;
+ }
+
+ #define NEG_USR32 NEG_USR32
+ static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
++ if (__builtin_constant_p(s))
+ __asm__ ("shrl %1, %0\n\t"
+ : "+r" (a)
+- : "ic" ((uint8_t)(-s))
++ : "i" (-s & 0x1F)
+ );
++ else
++ __asm__ ("shrl %1, %0\n\t"
++ : "+r" (a)
++ : "c" ((uint8_t)(-s))
++ );
+ return a;
+ }
+
+--
+2.30.2
+
diff --git a/flatpak/org.videolan.VLC/gsm-makefile.patch b/flatpak/org.videolan.VLC/gsm-makefile.patch
new file mode 100644
index 0000000..8cda65d
--- /dev/null
+++ b/flatpak/org.videolan.VLC/gsm-makefile.patch
@@ -0,0 +1,12 @@
+diff --git a/Makefile b/Makefile
+index f7455de..620f773 100644
+--- a/Makefile
++++ b/Makefile
+@@ -389,6 +389,7 @@ $(GSM_INSTALL_MAN)/gsm_print.3: $(MAN)/gsm_print.3
+
+ $(GSM_INSTALL_INC)/gsm.h: $(INC)/gsm.h
+ -rm $(RMFLAGS) $@
++ mkdir $(GSM_INSTALL_INC)
+ cp $? $@
+ chmod 444 $@
+
diff --git a/flatpak/org.videolan.VLC/gsm.patch b/flatpak/org.videolan.VLC/gsm.patch
new file mode 100644
index 0000000..d608189
--- /dev/null
+++ b/flatpak/org.videolan.VLC/gsm.patch
@@ -0,0 +1,198 @@
+--- a/Makefile
++++ b/Makefile
+@@ -44,7 +44,7 @@
+ # CCFLAGS = -c -O
+
+ CC = gcc -ansi -pedantic
+-CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1 -Wall -Wno-comment
++CCFLAGS = -c -O2 -fPIC -DNeedFunctionPrototypes=1 -Wall -Wno-comment
+
+ LD = $(CC)
+
+@@ -96,11 +96,11 @@
+ # Other tools
+
+ SHELL = /bin/sh
+-LN = ln
++LN = ln -s -f
+ BASENAME = basename
+ AR = ar
+ ARFLAGS = cr
+-RMFLAGS =
++RMFLAGS = -f
+ FIND = find
+ COMPRESS = compress
+ COMPRESSFLAGS =
+@@ -139,7 +139,7 @@
+
+ # Targets
+
+-LIBGSM = $(LIB)/libgsm.a
++LIBGSMSO = $(LIB)/libgsm.so
+
+ TOAST = $(BIN)/toast
+ UNTOAST = $(BIN)/untoast
+@@ -257,7 +257,7 @@
+ # Install targets
+
+ GSM_INSTALL_TARGETS = \
+- $(GSM_INSTALL_LIB)/libgsm.a \
++ $(GSM_INSTALL_LIB)/libgsm.so \
+ $(GSM_INSTALL_INC)/gsm.h \
+ $(GSM_INSTALL_MAN)/gsm.3 \
+ $(GSM_INSTALL_MAN)/gsm_explode.3 \
+@@ -279,7 +279,7 @@
+
+ # Target rules
+
+-all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
++all: $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST)
+ @-echo $(ROOT): Done.
+
+ tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
+@@ -299,24 +299,23 @@
+
+ # The basic API: libgsm
+
+-$(LIBGSM): $(LIB) $(GSM_OBJECTS)
+- -rm $(RMFLAGS) $(LIBGSM)
+- $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
+- $(RANLIB) $(LIBGSM)
+-
++$(LIBGSMSO): $(LIB) $(GSM_OBJECTS)
++ $(LD) -shared -Wl,-soname,libgsm.so.1 -o $@.1.0.17 $(GSM_OBJECTS)
++ $(LN) libgsm.so.1.0.17 $(LIBGSMSO).1
++ $(LN) libgsm.so.1.0.17 $(LIBGSMSO)
+
+ # Toast, Untoast and Tcat -- the compress-like frontends to gsm.
+
+-$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
+- $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
++$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSMSO)
++ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB)
+
+ $(UNTOAST): $(BIN) $(TOAST)
+ -rm $(RMFLAGS) $(UNTOAST)
+- $(LN) $(TOAST) $(UNTOAST)
++ $(LN) toast $(UNTOAST)
+
+ $(TCAT): $(BIN) $(TOAST)
+ -rm $(RMFLAGS) $(TCAT)
+- $(LN) $(TOAST) $(TCAT)
++ $(LN) toast $(TCAT)
+
+
+ # The local bin and lib directories
+@@ -351,53 +350,54 @@
+ fi
+
+ $(TOAST_INSTALL_BIN)/toast: $(TOAST)
+- -rm $@
++ -rm $(RMFLAGS) $@
+ cp $(TOAST) $@
+ chmod 755 $@
+
+ $(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast
+- -rm $@
+- ln $? $@
++ -rm $(RMFLAGS) $@
++ $(LN) toast $@
+
+ $(TOAST_INSTALL_BIN)/tcat: $(TOAST_INSTALL_BIN)/toast
+- -rm $@
+- ln $? $@
++ -rm $(RMFLAGS) $@
++ $(LN) toast $@
+
+ $(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1
+- -rm $@
++ -rm $(RMFLAGS) $@
+ cp $? $@
+ chmod 444 $@
+
+ $(GSM_INSTALL_MAN)/gsm.3: $(MAN)/gsm.3
+- -rm $@
++ -rm $(RMFLAGS) $@
+ cp $? $@
+ chmod 444 $@
+
+ $(GSM_INSTALL_MAN)/gsm_option.3: $(MAN)/gsm_option.3
+- -rm $@
++ -rm $(RMFLAGS) $@
+ cp $? $@
+ chmod 444 $@
+
+ $(GSM_INSTALL_MAN)/gsm_explode.3: $(MAN)/gsm_explode.3
+- -rm $@
++ -rm $(RMFLAGS) $@
+ cp $? $@
+ chmod 444 $@
+
+ $(GSM_INSTALL_MAN)/gsm_print.3: $(MAN)/gsm_print.3
+- -rm $@
++ -rm $(RMFLAGS) $@
+ cp $? $@
+ chmod 444 $@
+
+ $(GSM_INSTALL_INC)/gsm.h: $(INC)/gsm.h
+- -rm $@
+- cp $? $@
+- chmod 444 $@
+-
+-$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM)
+- -rm $@
++ -rm $(RMFLAGS) $@
+ cp $? $@
+ chmod 444 $@
+
++$(GSM_INSTALL_LIB)/libgsm.so: $(LIBGSMSO)
++ -rm $(RMFLAGS) $@ $@.1 $@.1.0.17
++ cp $?.1.0.17 $@.1.0.17
++ chmod 755 $@.1.0.17
++ $(LN) libgsm.so.1.0.17 $@
++ $(LN) libgsm.so.1.0.17 $@.1
+
+ # Distribution
+
+@@ -425,7 +425,7 @@
+ -print | xargs rm $(RMFLAGS)
+
+ clean: semi-clean
+- -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \
++ -rm $(RMFLAGS) $(LIBGSMSO)* $(ADDTST)/add \
+ $(TOAST) $(TCAT) $(UNTOAST) \
+ $(ROOT)/gsm-1.0.tar.Z
+
+@@ -473,22 +473,22 @@
+ $(TST)/test-result: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/run
+ ( cd $(TST); ./run )
+
+-$(TST)/lin2txt: $(TST)/lin2txt.o $(LIBGSM)
++$(TST)/lin2txt: $(TST)/lin2txt.o $(LIBGSMSO)
+ $(LD) $(LFLAGS) -o $(TST)/lin2txt \
+- $(TST)/lin2txt.o $(LIBGSM) $(LDLIB)
++ $(TST)/lin2txt.o $(LIBGSMSO) $(LDLIB)
+
+-$(TST)/lin2cod: $(TST)/lin2cod.o $(LIBGSM)
++$(TST)/lin2cod: $(TST)/lin2cod.o $(LIBGSMSO)
+ $(LD) $(LFLAGS) -o $(TST)/lin2cod \
+- $(TST)/lin2cod.o $(LIBGSM) $(LDLIB)
++ $(TST)/lin2cod.o $(LIBGSMSO) $(LDLIB)
+
+-$(TST)/gsm2cod: $(TST)/gsm2cod.o $(LIBGSM)
++$(TST)/gsm2cod: $(TST)/gsm2cod.o $(LIBGSMSO)
+ $(LD) $(LFLAGS) -o $(TST)/gsm2cod \
+- $(TST)/gsm2cod.o $(LIBGSM) $(LDLIB)
++ $(TST)/gsm2cod.o $(LIBGSMSO) $(LDLIB)
+
+-$(TST)/cod2txt: $(TST)/cod2txt.o $(LIBGSM)
++$(TST)/cod2txt: $(TST)/cod2txt.o $(LIBGSMSO)
+ $(LD) $(LFLAGS) -o $(TST)/cod2txt \
+- $(TST)/cod2txt.o $(LIBGSM) $(LDLIB)
++ $(TST)/cod2txt.o $(LIBGSMSO) $(LDLIB)
+
+-$(TST)/cod2lin: $(TST)/cod2lin.o $(LIBGSM)
++$(TST)/cod2lin: $(TST)/cod2lin.o $(LIBGSMSO)
+ $(LD) $(LFLAGS) -o $(TST)/cod2lin \
+- $(TST)/cod2lin.o $(LIBGSM) $(LDLIB)
++ $(TST)/cod2lin.o $(LIBGSMSO) $(LDLIB)
diff --git a/flatpak/org.videolan.VLC/libbdplus-gpg-error.patch b/flatpak/org.videolan.VLC/libbdplus-gpg-error.patch
new file mode 100644
index 0000000..553cabe
--- /dev/null
+++ b/flatpak/org.videolan.VLC/libbdplus-gpg-error.patch
@@ -0,0 +1,14 @@
+diff --git a/configure.ac b/configure.ac
+index 215a7b5..9d9f907 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -143,7 +143,7 @@ if test x$gpg_error_config_prefix != x ; then
+ fi
+ fi
+
+-AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no)
++AC_PATH_PROG(GPG_ERROR_CONFIG, gpgrt-config, no)
+ if test x"$GPG_ERROR_CONFIG" = xno; then
+ AC_MSG_ERROR([gpg-error not found on system])
+ else
+
diff --git a/flatpak/org.videolan.VLC/libkate.patch b/flatpak/org.videolan.VLC/libkate.patch
new file mode 100644
index 0000000..3e0a692
--- /dev/null
+++ b/flatpak/org.videolan.VLC/libkate.patch
@@ -0,0 +1,103 @@
+diff --git a/Makefile.in b/Makefile.in
+index 50ce6f3..c12a423 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -260,7 +260,6 @@ INT64_T = @INT64_T@
+ LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LEX = @LEX@
+-LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+ LIBKATE_SHARED_VERSION = @LIBKATE_SHARED_VERSION@
+ LIBOBJS = @LIBOBJS@
+diff --git a/configure.ac b/configure.ac
+index 58ff478..a319fdd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -7,7 +7,7 @@ AC_PREREQ(2.53)
+
+ AC_CANONICAL_TARGET
+
+-AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
++AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
+ AC_CONFIG_HEADERS([include/config.h])
+
+ ifdef([AM_SILENT_RULES],[AM_SILENT_RULES])
+@@ -117,6 +117,7 @@ else
+ fi
+ AM_CONDITIONAL(HAVE_OGG_MERGE,test "x${OGG_MERGE}" != "x")
+
++m4_define_default([_AM_PYTHON_INTERPRETER_LIST],[python2])
+ AM_PATH_PYTHON(, HAVE_PYTHON=yes, HAVE_PYTHON=no)
+ AM_CONDITIONAL(HAVE_PYTHON,test "${HAVE_PYTHON}" = "yes")
+
+diff --git a/doc/Makefile.in b/doc/Makefile.in
+index 6ecfa32..d3bae00 100644
+--- a/doc/Makefile.in
++++ b/doc/Makefile.in
+@@ -125,7 +125,6 @@ INT64_T = @INT64_T@
+ LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LEX = @LEX@
+-LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+ LIBKATE_SHARED_VERSION = @LIBKATE_SHARED_VERSION@
+ LIBOBJS = @LIBOBJS@
+diff --git a/tests/Makefile.in b/tests/Makefile.in
+index 2fe27a1..52eabdd 100644
+--- a/tests/Makefile.in
++++ b/tests/Makefile.in
+@@ -156,7 +156,6 @@ INT64_T = @INT64_T@
+ LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LEX = @LEX@
+-LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+ LIBKATE_SHARED_VERSION = @LIBKATE_SHARED_VERSION@
+ LIBOBJS = @LIBOBJS@
+diff --git a/tools/KateDJ/Makefile.in b/tools/KateDJ/Makefile.in
+index ce31a00..2ed33bc 100644
+--- a/tools/KateDJ/Makefile.in
++++ b/tools/KateDJ/Makefile.in
+@@ -99,7 +99,6 @@ INT64_T = @INT64_T@
+ LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LEX = @LEX@
+-LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+ LIBKATE_SHARED_VERSION = @LIBKATE_SHARED_VERSION@
+ LIBOBJS = @LIBOBJS@
+diff --git a/tools/Makefile.am b/tools/Makefile.am
+index 2be12a3..48076a1 100644
+--- a/tools/Makefile.am
++++ b/tools/Makefile.am
+@@ -20,7 +20,7 @@ kateenc_SOURCES+=kpng.c
+ endif
+ katedec_SOURCES=katedec.c kkate.c ksrt.c klrc.c kutil.c kfuzz.c kstream.c kread.c kstrings.c
+ katalyzer_SOURCES=katalyzer.c kutil.c kstream.c kread.c kstrings.c kstats.c
+-kateenc_LDADD=../lib/liboggkate.la ../lib/libkate.la @OGG_LIBS@ @PNG_LIBS@ @LEXLIB@
++kateenc_LDADD=../lib/liboggkate.la ../lib/libkate.la @OGG_LIBS@ @PNG_LIBS@
+ katedec_LDADD=../lib/liboggkate.la ../lib/libkate.la @OGG_LIBS@
+ katalyzer_LDADD=../lib/liboggkate.la ../lib/libkate.la @OGG_LIBS@
+ kateenc_CFLAGS=@CWARNFLAGS_LIGHT@ @CFLAGS_FORTIFY_SOURCE@ @CFLAGS_DEBUG@ @OGG_CFLAGS@ @PNG_CFLAGS@
+diff --git a/tools/Makefile.in b/tools/Makefile.in
+index 23ca949..1c52ad1 100644
+--- a/tools/Makefile.in
++++ b/tools/Makefile.in
+@@ -223,7 +223,6 @@ INT64_T = @INT64_T@
+ LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LEX = @LEX@
+-LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+ LIBKATE_SHARED_VERSION = @LIBKATE_SHARED_VERSION@
+ LIBOBJS = @LIBOBJS@
+@@ -351,7 +350,7 @@ noinst_HEADERS = \
+ @HAVE_OGG_TRUE@ $(am__append_1)
+ @HAVE_OGG_TRUE@katedec_SOURCES = katedec.c kkate.c ksrt.c klrc.c kutil.c kfuzz.c kstream.c kread.c kstrings.c
+ @HAVE_OGG_TRUE@katalyzer_SOURCES = katalyzer.c kutil.c kstream.c kread.c kstrings.c kstats.c
+-@HAVE_OGG_TRUE@kateenc_LDADD = ../lib/liboggkate.la ../lib/libkate.la @OGG_LIBS@ @PNG_LIBS@ @LEXLIB@
++@HAVE_OGG_TRUE@kateenc_LDADD = ../lib/liboggkate.la ../lib/libkate.la @OGG_LIBS@ @PNG_LIBS@
+ @HAVE_OGG_TRUE@katedec_LDADD = ../lib/liboggkate.la ../lib/libkate.la @OGG_LIBS@
+ @HAVE_OGG_TRUE@katalyzer_LDADD = ../lib/liboggkate.la ../lib/libkate.la @OGG_LIBS@
+ @HAVE_OGG_TRUE@kateenc_CFLAGS = @CWARNFLAGS_LIGHT@ @CFLAGS_FORTIFY_SOURCE@ @CFLAGS_DEBUG@ @OGG_CFLAGS@ @PNG_CFLAGS@
diff --git a/flatpak/org.videolan.VLC/live555-add-pkgconfig-file.patch b/flatpak/org.videolan.VLC/live555-add-pkgconfig-file.patch
new file mode 100644
index 0000000..f10e8db
--- /dev/null
+++ b/flatpak/org.videolan.VLC/live555-add-pkgconfig-file.patch
@@ -0,0 +1,37 @@
+Description: Add a pkg-config file for the shared libraries.
+Author: Benjamin Drung
+
+diff --git a/Makefile.tail b/Makefile.tail
+--- a/Makefile.tail
++++ b/Makefile.tail
+@@ -22,7 +22,12 @@
+ @echo
+ @echo "For more information about this source code (including your obligations under the LGPL), please see our FAQ at http://live555.com/liveMedia/faq.html"
+
+-install:
++install_shared_libraries:
++ install -d $(DESTDIR)$(LIBDIR)/pkgconfig
++ sed "s#@PREFIX@#$(PREFIX)#;s#@LIBDIR@#$(LIBDIR)#;s#@VERSION@#$(VERSION)#" live555.pc.in > live555.pc
++ install -m 644 live555.pc $(DESTDIR)$(LIBDIR)/pkgconfig/live555.pc
++
++install: $(INSTALL2)
+ cd $(LIVEMEDIA_DIR) ; $(MAKE) install
+ cd $(GROUPSOCK_DIR) ; $(MAKE) install
+ cd $(USAGE_ENVIRONMENT_DIR) ; $(MAKE) install
+--- /dev/null 2017-01-19 15:35:15.538412775 +0100
++++ live.2016.07.19/live555.pc.in 2017-01-19 18:46:01.456059400 +0100
+@@ -0,0 +1,9 @@
++prefix=@PREFIX@
++libdir=${prefix}/lib
++includedir=${prefix}/include
++
++Name: live555
++Description: multimedia RTSP streaming library
++Version: @VERSION@
++Cflags: -I${includedir}/liveMedia -I${includedir}/groupsock -I${includedir}/BasicUsageEnvironment -I${includedir}/UsageEnvironment
++Libs: -L${libdir} -lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment
+--- live.2016.07.19/Makefile.head.orig 2017-01-19 18:47:50.376062631 +0100
++++ live.2016.07.19/Makefile.head 2017-01-19 18:48:09.940063212 +0100
+@@ -1 +1,2 @@
++VERSION = $(shell grep LIVEMEDIA_LIBRARY_VERSION_STRING liveMedia/include/liveMedia_version.hh | sed 's/.*"\([^"]*\)".*/\1/')
+ ##### Change the following for your environment:
diff --git a/flatpak/org.videolan.VLC/live555-nosignal.patch b/flatpak/org.videolan.VLC/live555-nosignal.patch
new file mode 100644
index 0000000..4f965f6
--- /dev/null
+++ b/flatpak/org.videolan.VLC/live555-nosignal.patch
@@ -0,0 +1,105 @@
+diff --git a/groupsock/GroupsockHelper.cpp b/groupsock/GroupsockHelper.cpp
+index 1ddf91f..2007e3e 100644
+--- a/groupsock/GroupsockHelper.cpp
++++ b/groupsock/GroupsockHelper.cpp
+@@ -44,6 +44,10 @@ extern "C" int initializeWinsockIfNecessary();
+ #endif
+ #include
+
++#ifndef MSG_NOSIGNAL
++# define MSG_NOSIGNAL 0
++#endif
++
+ // By default, use INADDR_ANY for the sending and receiving interfaces:
+ netAddressBits SendingInterfaceAddr = INADDR_ANY;
+ netAddressBits ReceivingInterfaceAddr = INADDR_ANY;
+@@ -399,7 +403,7 @@ Boolean writeSocket(UsageEnvironment& env,
+ unsigned char* buffer, unsigned bufferSize) {
+ do {
+ MAKE_SOCKADDR_IN(dest, address.s_addr, portNum);
+- int bytesSent = sendto(socket, (char*)buffer, bufferSize, 0,
++ int bytesSent = sendto(socket, (char*)buffer, bufferSize, MSG_NOSIGNAL,
+ (struct sockaddr*)&dest, sizeof dest);
+ if (bytesSent != (int)bufferSize) {
+ char tmpBuf[100];
+diff --git a/liveMedia/RTPInterface.cpp b/liveMedia/RTPInterface.cpp
+index 78b37d4..b042368 100644
+--- a/liveMedia/RTPInterface.cpp
++++ b/liveMedia/RTPInterface.cpp
+@@ -24,6 +24,10 @@ along with this library; if not, write to the Free Software Foundation, Inc.,
+ #include
+ #include
+
++#ifndef MSG_NOSIGNAL
++# define MSG_NOSIGNAL 0
++#endif
++
+ ////////// Helper Functions - Definition //////////
+
+ // Helper routines and data structures, used to implement
+@@ -363,7 +367,7 @@ Boolean RTPInterface::sendRTPorRTCPPacketOverTCP(u_int8_t* packet, unsigned pack
+ #endif
+
+ Boolean RTPInterface::sendDataOverTCP(int socketNum, u_int8_t const* data, unsigned dataSize, Boolean forceSendToSucceed) {
+- int sendResult = send(socketNum, (char const*)data, dataSize, 0/*flags*/);
++ int sendResult = send(socketNum, (char const*)data, dataSize, MSG_NOSIGNAL/*flags*/);
+ if (sendResult < (int)dataSize) {
+ // The TCP send() failed - at least partially.
+
+@@ -377,7 +381,7 @@ Boolean RTPInterface::sendDataOverTCP(int socketNum, u_int8_t const* data, unsig
+ fprintf(stderr, "sendDataOverTCP: resending %d-byte send (blocking)\n", numBytesRemainingToSend); fflush(stderr);
+ #endif
+ makeSocketBlocking(socketNum, RTPINTERFACE_BLOCKING_WRITE_TIMEOUT_MS);
+- sendResult = send(socketNum, (char const*)(&data[numBytesSentSoFar]), numBytesRemainingToSend, 0/*flags*/);
++ sendResult = send(socketNum, (char const*)(&data[numBytesSentSoFar]), numBytesRemainingToSend, MSG_NOSIGNAL/*flags*/);
+ if ((unsigned)sendResult != numBytesRemainingToSend) {
+ // The blocking "send()" failed, or timed out. In either case, we assume that the
+ // TCP connection has failed (or is 'hanging' indefinitely), and we stop using it
+diff --git a/liveMedia/RTSPClient.cpp b/liveMedia/RTSPClient.cpp
+index f47acb5..c3529a7 100644
+--- a/liveMedia/RTSPClient.cpp
++++ b/liveMedia/RTSPClient.cpp
+@@ -25,6 +25,10 @@ along with this library; if not, write to the Free Software Foundation, Inc.,
+ #include
+ #include "ourMD5.hh"
+
++#ifndef MSG_NOSIGNAL
++# define MSG_NOSIGNAL 0
++#endif
++
+ RTSPClient* RTSPClient::createNew(UsageEnvironment& env, char const* rtspURL,
+ int verbosityLevel,
+ char const* applicationName,
+@@ -1969,7 +1973,7 @@ int RTSPClient::write(const char* data, unsigned count) {
+ if (fTLS.isNeeded) {
+ return fTLS.write(data, count);
+ } else {
+- return send(fOutputSocketNum, data, count, 0);
++ return send(fOutputSocketNum, data, count, MSG_NOSIGNAL);
+ }
+ }
+
+diff --git a/liveMedia/RTSPServer.cpp b/liveMedia/RTSPServer.cpp
+index a6b1ca4..4884c86 100644
+--- a/liveMedia/RTSPServer.cpp
++++ b/liveMedia/RTSPServer.cpp
+@@ -24,6 +24,10 @@ along with this library; if not, write to the Free Software Foundation, Inc.,
+ #include "Base64.hh"
+ #include
+
++#ifndef MSG_NOSIGNAL
++# define MSG_NOSIGNAL 0
++#endif
++
+ ////////// RTSPServer implementation //////////
+
+ RTSPServer*
+@@ -882,7 +886,7 @@ void RTSPServer::RTSPClientConnection::handleRequestBytes(int newBytesRead) {
+ #ifdef DEBUG
+ fprintf(stderr, "sending response: %s", fResponseBuffer);
+ #endif
+- send(fClientOutputSocket, (char const*)fResponseBuffer, strlen((char*)fResponseBuffer), 0);
++ send(fClientOutputSocket, (char const*)fResponseBuffer, strlen((char*)fResponseBuffer), MSG_NOSIGNAL);
+
+ if (playAfterSetup) {
+ // The client has asked for streaming to commence now, rather than after a
diff --git a/flatpak/org.videolan.VLC/openlp-vlc.yaml b/flatpak/org.videolan.VLC/openlp-vlc.yaml
new file mode 100644
index 0000000..5a48923
--- /dev/null
+++ b/flatpak/org.videolan.VLC/openlp-vlc.yaml
@@ -0,0 +1,642 @@
+name: openlp-vlc
+cleanup:
+ - /share/doc
+ - /share/gtk-doc
+ - /share/info
+ - /share/man
+ - '*.la'
+ - '*.a'
+cleanup-commands:
+ - mkdir -p /app/share/vlc/extra
+ - ln -s /app/share/vlc/extra/plugins /app/lib/vlc/plugins/extra
+ - rm -f /app/lib/vlc/plugins/plugins.dat
+ - /app/lib/vlc/vlc-cache-gen /app/lib/vlc/plugins
+build-options:
+ env:
+ V: '1'
+modules:
+ - shared-modules/intltool/intltool-0.51.json
+ - shared-modules/SDL/SDL-1.2.15.json
+ - shared-modules/SDL/SDL_image-1.2.12.json
+ - shared-modules/lua5.3/lua-5.3.5.json
+ - shared-modules/glu/glu-9.json
+ - name: libraw1394
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://www.kernel.org/pub/linux/libs/ieee1394/libraw1394-2.1.2.tar.xz
+ sha256: 03ccc69761d22c7deb1127fc301010dd13e70e44bb7134b8ff0d07590259a55e
+ x-checker-data:
+ type: anitya
+ project-id: 1710
+ url-template: https://www.kernel.org/pub/linux/libs/ieee1394/libraw1394-$version.tar.xz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libavc1394
+ rm-configure: true
+ config-opts:
+ - --disable-static
+ sources:
+ - type: archive
+ url: https://downloads.sourceforge.net/sourceforge/libavc1394/libavc1394-0.5.4.tar.gz
+ sha256: 7cb1ff09506ae911ca9860bef4af08c2403f3e131f6c913a2cbd6ddca4215b53
+ x-checker-data:
+ type: anitya
+ project-id: 1562
+ url-template: https://downloads.sourceforge.net/sourceforge/libavc1394/libavc1394-$version.tar.gz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: zvbi
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://downloads.sourceforge.net/sourceforge/zapping/zvbi/0.2.35/zvbi-0.2.35.tar.bz2
+ sha256: fc883c34111a487c4a783f91b1b2bb5610d8d8e58dcba80c7ab31e67e4765318
+ x-checker-data:
+ type: anitya
+ project-id: 13803
+ url-template: https://downloads.sourceforge.net/sourceforge/zapping/zvbi/$version/zvbi-$version.tar.bz2
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libdc1394
+ rm-configure: true
+ config-opts:
+ - --disable-static
+ sources:
+ - type: archive
+ url: https://downloads.sourceforge.net/sourceforge/libdc1394/libdc1394-2/2.2.7/libdc1394-2.2.7.tar.gz
+ sha256: 537ceb78dd3cef271a183f4a176191d1cecf85f025520e6bd3758b0e19e6609f
+ x-checker-data:
+ type: anitya
+ project-id: 1591
+ url-template: https://downloads.sourceforge.net/sourceforge/libdc1394/libdc1394-2/$version/libdc1394-$version.tar.gz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libcddb
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://downloads.sourceforge.net/sourceforge/libcddb/libcddb/1.3.2/libcddb-1.3.2.tar.bz2
+ sha256: 35ce0ee1741ea38def304ddfe84a958901413aa829698357f0bee5bb8f0a223b
+ x-checker-data:
+ type: anitya
+ project-id: 1572
+ url-template: https://downloads.sourceforge.net/sourceforge/libcddb/libcddb/$version/libcddb-$version.tar.bz2
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: aalib
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://downloads.sourceforge.net/sourceforge/aa-project/aa-lib/1.4rc5/aalib-1.4rc5.tar.gz
+ sha256: fbddda9230cf6ee2a4f5706b4b11e2190ae45f5eda1f0409dc4f99b35e0a70ee
+ x-checker-data:
+ type: anitya
+ project-id: 7921
+ stable-only: false
+ url-template: https://downloads.sourceforge.net/sourceforge/aa-project/aa-lib/$version/aalib-$version.tar.gz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libshout
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://downloads.xiph.org/releases/libshout/libshout-2.4.6.tar.gz
+ sha256: 39cbd4f0efdfddc9755d88217e47f8f2d7108fa767f9d58a2ba26a16d8f7c910
+ x-checker-data:
+ type: anitya
+ project-id: 11084
+ url-template: https://downloads.xiph.org/releases/libshout/libshout-$version.tar.gz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libupnp
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://downloads.sourceforge.net/sourceforge/pupnp/libupnp-1.14.18.tar.bz2
+ sha256: 16a7cee93ce2868ae63ab1a8164dc7de43577c59983b9f61293a310d6888dceb
+ x-checker-data:
+ type: anitya
+ project-id: 21315
+ url-template: https://downloads.sourceforge.net/sourceforge/pupnp/libupnp-$version.tar.bz2
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: taglib
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ - -DWITH_MP4=ON
+ - -DWITH_ASF=ON
+ sources:
+ - type: archive
+ url: https://taglib.org/releases/taglib-1.13.1.tar.gz
+ sha256: c8da2b10f1bfec2cd7dbfcd33f4a2338db0765d851a50583d410bacf055cfd0b
+ x-checker-data:
+ type: anitya
+ project-id: 1982
+ url-template: https://taglib.org/releases/taglib-$version.tar.gz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+# - name: gsm
+# no-autogen: true
+# build-options:
+# cflags: -fPIC
+# cxxflags: -c -fPIC
+# make-install-args:
+# - -j1
+# - INSTALL_ROOT=/app
+# - GSM_INSTALL_INC=/app/include/gsm
+# - GSM_INSTALL_MAN=/app/share/man/man3
+# - TOAST_INSTALL_MAN=/app/share/man/man1
+# sources:
+# - type: archive
+# url: https://www.quut.com/gsm/gsm-1.0.17.tar.gz
+# sha256: 855a57d1694941ddf3c73cb79b8d0b3891e9c9e7870b4981613b734e1ad07601
+## TODO needs some patch updates
+## x-checker-data:
+## type: anitya
+## project-id: 12587
+## url-template: https://www.quut.com/gsm/gsm-$version.tar.gz
+# - type: patch
+# path: gsm.patch
+# - type: patch
+# path: gsm-makefile.patch
+ - name: libdvbpsi
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://download.videolan.org/pub/libdvbpsi/1.3.3/libdvbpsi-1.3.3.tar.bz2
+ sha256: 02b5998bcf289cdfbd8757bedd5987e681309b0a25b3ffe6cebae599f7a00112
+ x-checker-data:
+ type: anitya
+ project-id: 21684
+ url-template: https://download.videolan.org/pub/libdvbpsi/$version/libdvbpsi-$version.tar.bz2
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libkate
+ rm-configure: true
+ config-opts:
+ - --disable-static
+ - --disable-doc
+ sources:
+ - type: archive
+ url: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libkate/libkate-0.4.1.tar.gz
+ sha256: c40e81d5866c3d4bf744e76ce0068d8f388f0e25f7e258ce0c8e76d7adc87b68
+ - type: patch
+ path: libkate.patch
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libass
+ config-opts:
+ - --enable-harfbuzz
+ - --enable-fontconfig
+ sources:
+ - type: archive
+ url: https://github.com/libass/libass/releases/download/0.17.1/libass-0.17.1.tar.xz
+ sha256: f0da0bbfba476c16ae3e1cfd862256d30915911f7abaa1b16ce62ee653192784
+ x-checker-data:
+ type: anitya
+ project-id: 1560
+ url-template: https://github.com/libass/libass/releases/download/$version/libass-$version.tar.xz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libebml
+ builddir: true
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ sources:
+ - type: archive
+ url: https://dl.matroska.org/downloads/libebml/libebml-1.4.5.tar.xz
+ sha256: 4971640b0592da29c2d426f303e137a9b0b3d07e1b81d069c1e56a2f49ab221b
+ x-checker-data:
+ type: anitya
+ project-id: 7879
+ url-template: https://dl.matroska.org/downloads/libebml/libebml-$version.tar.xz
+ - name: libmatroska
+ builddir: true
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ sources:
+ - type: archive
+ url: https://dl.matroska.org/downloads/libmatroska/libmatroska-1.7.1.tar.xz
+ sha256: 572a3033b8d93d48a6a858e514abce4b2f7a946fe1f02cbfeca39bfd703018b3
+ x-checker-data:
+ type: anitya
+ project-id: 1657
+ url-template: https://dl.matroska.org/downloads/libmatroska/libmatroska-$version.tar.xz
+ - name: libssh2
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://www.libssh2.org/download/libssh2-1.11.0.tar.gz
+ sha256: 3736161e41e2693324deb38c26cfdc3efe6209d634ba4258db1cecff6a5ad461
+ x-checker-data:
+ type: anitya
+ project-id: 1730
+ url-template: https://www.libssh2.org/download/libssh2-$version.tar.gz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libvncserver
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ - -DWITH_FFMPEG=OFF
+ sources:
+ - type: archive
+ url: https://github.com/LibVNC/libvncserver/archive/LibVNCServer-0.9.14.tar.gz
+ sha256: 83104e4f7e28b02f8bf6b010d69b626fae591f887e949816305daebae527c9a5
+ x-checker-data:
+ type: anitya
+ project-id: 1756
+ url-template: https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$version.tar.gz
+ - name: libdvdread
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/libdvdread/6.1.3/libdvdread-6.1.3.tar.bz2
+ sha256: ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369
+ x-checker-data:
+ type: anitya
+ project-id: 5614
+ url-template: https://download.videolan.org/videolan/libdvdread/$version/libdvdread-$version.tar.bz2
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libdvdnav
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/libdvdnav/6.1.1/libdvdnav-6.1.1.tar.bz2
+ sha256: c191a7475947d323ff7680cf92c0fb1be8237701885f37656c64d04e98d18d48
+ x-checker-data:
+ type: anitya
+ project-id: 5615
+ url-template: https://download.videolan.org/videolan/libdvdnav/$version/libdvdnav-$version.tar.bz2
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libdvdcss
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/libdvdcss/1.4.3/libdvdcss-1.4.3.tar.bz2
+ sha256: 233cc92f5dc01c5d3a96f5b3582be7d5cee5a35a52d3a08158745d3d86070079
+ x-checker-data:
+ type: anitya
+ project-id: 5568
+ url-template: https://download.videolan.org/videolan/libdvdcss/$version/libdvdcss-$version.tar.bz2
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libmodplug
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://downloads.sourceforge.net/sourceforge/modplug-xmms/libmodplug/0.8.9.0/libmodplug-0.8.9.0.tar.gz
+ sha256: 457ca5a6c179656d66c01505c0d95fafaead4329b9dbaa0f997d00a3508ad9de
+ x-checker-data:
+ type: anitya
+ project-id: 5669
+ url-template: https://downloads.sourceforge.net/sourceforge/modplug-xmms/libmodplug/$version/libmodplug-$version.tar.gz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: x264
+ config-opts:
+ - --enable-pic
+ - --enable-shared
+ sources:
+ - type: git
+ url: https://code.videolan.org/videolan/x264.git
+ commit: a8b68ebfaa68621b5ac8907610d3335971839d52
+ - name: x265
+ builddir: true
+ subdir: source
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ sources:
+ - type: archive
+ url: https://bitbucket.org/multicoreware/x265_git/downloads/x265_3.5.tar.gz
+ sha256: e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8
+ x-checker-data:
+ type: anitya
+ project-id: 7275
+ url-template: https://bitbucket.org/multicoreware/x265_git/downloads/x265_$version.tar.gz
+ - name: dav1d
+ buildsystem: meson
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/dav1d/1.3.0/dav1d-1.3.0.tar.xz
+ sha256: 6d8be2741c505c47f8f1ced3c9cc427759243436553d01d1acce201f87b39e71
+ x-checker-data:
+ type: anitya
+ project-id: 18920
+ url-template: https://download.videolan.org/videolan/dav1d/$version/dav1d-$version.tar.xz
+ - name: ffmpeg
+ config-opts:
+ - --enable-pic
+ - --enable-shared
+ - --disable-doc
+ - --disable-static
+ - --enable-gpl
+ - --enable-libx264
+ - --enable-libx265
+ - --enable-libvpx
+ - --enable-libmp3lame
+ - --enable-libvorbis
+ - --enable-libopus
+ sources:
+ - type: archive
+ url: https://ffmpeg.org/releases/ffmpeg-4.4.4.tar.xz
+ sha256: e80b380d595c809060f66f96a5d849511ef4a76a26b76eacf5778b94c3570309
+ x-checker-data:
+ type: anitya
+ project-id: 5405
+ versions:
+ '>=': '4'
+ <: '5'
+ url-template: https://ffmpeg.org/releases/ffmpeg-$version.tar.xz
+ - type: patch
+ path: ffmpeg_binutils241.patch
+ - shared-modules/libsecret/libsecret.json
+ - name: libaacs
+ config-opts:
+ - --with-pic
+ - --enable-shared
+ - --disable-static
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/libaacs/0.11.1/libaacs-0.11.1.tar.bz2
+ sha256: a88aa0ebe4c98a77f7aeffd92ab3ef64ac548c6b822e8248a8b926725bea0a39
+ x-checker-data:
+ type: anitya
+ project-id: 5562
+ url-template: https://download.videolan.org/videolan/libaacs/$version/libaacs-$version.tar.bz2
+ - name: libbdplus
+ rm-configure: true
+ config-opts:
+ - --with-pic
+ - --enable-shared
+ - --disable-static
+ build-options:
+ append-path: /app/share/vlc/extra/bluray/ant/bin
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/libbdplus/0.2.0/libbdplus-0.2.0.tar.bz2
+ sha256: b93eea3eaef33d6e9155d2c34b068c505493aa5a4936e63274f4342ab0f40a58
+ x-checker-data:
+ type: anitya
+ project-id: 5563
+ url-template: https://download.videolan.org/videolan/libbdplus/$version/libbdplus-$version.tar.bz2
+ - type: patch
+ path: libbdplus-gpg-error.patch
+ - name: libbluray
+ config-opts:
+ - --disable-static
+ - --disable-bdjava-jar
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/libbluray/1.3.4/libbluray-1.3.4.tar.bz2
+ sha256: 478ffd68a0f5dde8ef6ca989b7f035b5a0a22c599142e5cd3ff7b03bbebe5f2b
+ x-checker-data:
+ type: anitya
+ project-id: 1565
+ url-template: https://download.videolan.org/videolan/libbluray/$version/libbluray-$version.tar.bz2
+ - shared-modules/libusb/libusb.json
+ - name: libmtp
+ config-opts:
+ - --disable-static
+ - --with-udev=/app/lib/udev
+ sources:
+ - type: archive
+ url: https://github.com/libmtp/libmtp/releases/download/v1.1.21/libmtp-1.1.21.tar.gz
+ sha256: f4c1ceb3df020a6cb851110f620c14fe399518c494ed252039cbfb4e34335135
+ x-checker-data:
+ type: anitya
+ project-id: 10017
+ url-template: https://github.com/libmtp/libmtp/releases/download/v$version/libmtp-$version.tar.gz
+ - name: chromaprint
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ sources:
+ - type: archive
+ url: https://github.com/acoustid/chromaprint/releases/download/v1.5.1/chromaprint-1.5.1.tar.gz
+ sha256: a1aad8fa3b8b18b78d3755b3767faff9abb67242e01b478ec9a64e190f335e1c
+ x-checker-data:
+ type: anitya
+ project-id: 286
+ url-template: https://github.com/acoustid/chromaprint/releases/download/v$version/chromaprint-$version.tar.gz
+ - name: fluidlite
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ - -DENABLE_SF3=YES
+ sources:
+ - type: git
+ url: https://github.com/divideconcept/FluidLite.git
+ commit: d59d2328818f913b7d1a6a59aed695c47a8ce388
+ - name: libcaca
+ config-opts:
+ - --disable-static
+ - --disable-python
+ - --disable-ruby
+ sources:
+ - type: archive
+ url: https://deb.debian.org/debian/pool/main/libc/libcaca/libcaca_0.99.beta19.orig.tar.gz
+ sha256: 128b467c4ed03264c187405172a4e83049342cc8cc2f655f53a2d0ee9d3772f4
+ - name: libplacebo
+ buildsystem: meson
+ config-opts:
+ - -Dvulkan=false
+ sources:
+ - type: archive
+ url: https://github.com/haasn/libplacebo/archive/refs/tags/v0.2.1.tar.gz
+ sha256: d5d920a1745e4209287d32e8b96a85127b61b843304813980e11104cd9f15e82
+ x-checker-data:
+ type: anitya
+ project-id: 20101
+ versions:
+ '>=': '0.2'
+ <: '0.3'
+ url-template: https://github.com/haasn/libplacebo/archive/refs/tags/v$version.tar.gz
+ - name: libdsm
+ buildsystem: meson
+ sources:
+ - type: archive
+ url: https://github.com/videolabs/libdsm/releases/download/v0.4.3/libdsm-0.4.3.tar.xz
+ sha256: d31921bd6f6a23878266b945731f7d57505472ef85d66f944c43b9f8eacc2a8a
+ - name: microdns
+ buildsystem: meson
+ sources:
+ - type: archive
+ url: https://github.com/videolabs/libmicrodns/releases/download/0.2.0/microdns-0.2.0.tar.xz
+ sha256: 2da28e7dda4861d76f797f92ac3e6c3e048333b95f9e4fc3a6548ad8afd8c446
+ x-checker-data:
+ type: anitya
+ project-id: 275561
+ url-template: https://github.com/videolabs/libmicrodns/releases/download/$version/microdns-$version.tar.xz
+ - name: spatialaudio
+ builddir: true
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ sources:
+ - type: archive
+ url: https://github.com/videolabs/libspatialaudio/releases/download/0.3.0/spatialaudio-0.3.0.tar.bz2
+ sha256: 284c1dbd8efd46c03be84ac7070bc87cae81b7125352b143a70be3e2b96988e3
+ - name: srt
+ builddir: true
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ sources:
+ - type: archive
+ url: https://github.com/Haivision/srt/archive/v1.5.3.tar.gz
+ sha256: befaeb16f628c46387b898df02bc6fba84868e86a6f6d8294755375b9932d777
+ x-checker-data:
+ type: anitya
+ project-id: 236296
+ url-template: https://github.com/Haivision/srt/archive/v$version.tar.gz
+ - name: live555
+ buildsystem: simple
+ build-commands:
+ - CXXFLAGS=`sed "s/'/\"/g" /etc/flatpak-builder/defaults.json | jq -r .cxxflags`
+ ; sed -i -e "s|-O2|$CXXFLAGS|" config.linux-with-shared-libraries
+ - ./genMakefiles linux-with-shared-libraries
+ - LDFLAGS=`sed "s/'/\"/g" /etc/flatpak-builder/defaults.json | jq -r .ldflags`
+ ; make -j4 PREFIX=/app LIBDIR=/app/lib install
+ - chmod +x /app/lib/libliveMedia.so* /app/lib/libUsageEnvironment.so* /app/lib/libBasicUsageEnvironment.so*
+ /app/lib/libgroupsock.so*
+ cleanup:
+ - /bin
+ sources:
+ - type: archive
+ url: https://download.videolan.org/contrib/live555/live.2020.11.05.tar.gz
+ sha256: 89bdfba7fd215e16be2c9d46a797bf85c5f7f7c46b53dc8af2d1171a658da5b7
+ - type: patch
+ path: live555-add-pkgconfig-file.patch
+ - type: patch
+ path: live555-nosignal.patch
+ - name: libnotify
+ buildsystem: meson
+ config-opts:
+ - -Dgtk_doc=false
+ - -Dman=false
+ sources:
+ - type: archive
+ url: https://download.gnome.org/sources/libnotify/0.8/libnotify-0.8.3.tar.xz
+ sha256: ee8f3ef946156ad3406fdf45feedbdcd932dbd211ab4f16f75eba4f36fb2f6c0
+ x-checker-data:
+ type: anitya
+ project-id: 13149
+ url-template: https://download.gnome.org/sources/libnotify/$major.$minor/libnotify-$version.tar.xz
+ - name: protobuf
+ sources:
+ - type: archive
+ url: https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protobuf-cpp-3.21.12.tar.gz
+ sha256: 4eab9b524aa5913c6fffb20b2a8abf5ef7f95a80bc0701f3a6dbb4c607f73460
+ x-checker-data:
+ type: anitya
+ project-id: 3715
+ versions:
+ '>=': '21'
+ <: '22'
+ url-template: https://github.com/protocolbuffers/protobuf/releases/download/v$version/protobuf-cpp-3.$version.tar.gz
+ cleanup:
+ - /bin
+ - name: vlc
+ config-opts:
+ - BUILDCC=/usr/bin/gcc -std=gnu99
+ - --disable-a52
+ - --disable-qt
+ cleanup:
+ - /share/macosx
+ post-install:
+ - install -Dp -m 644 org.videolan.VLC.appdata.xml /app/share/appdata/vlc.appdata.xml
+ - mv /app/bin/vlc /app/bin/vlc.bin
+ - mv vlc.sh /app/bin/vlc
+ - chmod +x /app/bin/vlc
+ - echo "StartupWMClass=VLC" >> /app/share/applications/vlc.desktop
+ - sed -i -e 's/Icon=vlc/Icon=org.videolan.VLC/g' /app/share/applications/vlc-*.desktop
+ - for s in openbd opendvd opencda openvcd; do mv /app/share/applications/vlc-$s.desktop
+ /app/share/applications/org.videolan.VLC-$s.desktop; done
+ - tar xf chrpath-0.16.tar.gz && cd chrpath-0.16 && ./configure && make
+ - ./chrpath-0.16/chrpath -d /app/lib/vlc/plugins/access/liblibbluray_plugin.so
+ - /app/lib/vlc/vlc-cache-gen /app/lib/vlc/plugins/
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/vlc/3.0.20/vlc-3.0.20.tar.xz
+ sha256: adc7285b4d2721cddf40eb5270cada2aaa10a334cb546fd55a06353447ba29b5
+ x-checker-data:
+ type: anitya
+ project-id: 6504
+ versions:
+ '>=': '3'
+ <: '4'
+ url-template: https://download.videolan.org/videolan/vlc/$version/vlc-$version.tar.xz
+ - type: file
+ path: org.videolan.VLC.appdata.xml
+ - type: patch
+ path: vlc-fix-appdata.patch
+ - type: patch
+ path: vlc-disc-shortcuts.patch
+ - type: patch
+ path: vlc-ignore-time-for-cache.patch
+ - type: file
+ path: vlc.sh
+ - type: file
+ url: https://src.fedoraproject.org/lookaside/extras/chrpath/chrpath-0.16.tar.gz/2bf8d1d1ee345fc8a7915576f5649982/chrpath-0.16.tar.gz
+ sha256: bb0d4c54bac2990e1bdf8132f2c9477ae752859d523e141e72b3b11a12c26e7b
+
diff --git a/flatpak/org.videolan.VLC/org.videolan.VLC.appdata.xml b/flatpak/org.videolan.VLC/org.videolan.VLC.appdata.xml
new file mode 100644
index 0000000..eba044b
--- /dev/null
+++ b/flatpak/org.videolan.VLC/org.videolan.VLC.appdata.xml
@@ -0,0 +1,57 @@
+
+
+
+
+ org.videolan.VLC
+ org.videolan.VLC.desktop
+ CC0-1.0
+ VLC
+ VLC media player, the open-source multimedia player
+
+
+ VLC is a free and open source cross-platform multimedia player and
+ framework that plays most multimedia files as well as DVDs, Audio CDs,
+ VCDs, and various streaming protocols.
+
+
+
+ Video
+ AudioVideo
+ Player
+
+
+ https://www.videolan.org/vlc/
+ https://code.videolan.org/videolan/vlc/-/issues
+ https://www.videolan.org/contribute.html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.videolan.vlc
+ libvlc.so.5
+
+ VideoLAN
+ GPL-2.0+
+ VideoLAN et al.
+ matmaul_at_gmail.com
+
+ https://raw.githubusercontent.com/flathub/org.videolan.VLC/master/vlc_screenshot_gnome3.jpg
+ https://raw.githubusercontent.com/flathub/org.videolan.VLC/master/vlc_screenshot_gnome3_dark.jpg
+
+
diff --git a/flatpak/org.videolan.VLC/org.videolan.VLC.yaml b/flatpak/org.videolan.VLC/org.videolan.VLC.yaml
new file mode 100644
index 0000000..0e6f3ea
--- /dev/null
+++ b/flatpak/org.videolan.VLC/org.videolan.VLC.yaml
@@ -0,0 +1,673 @@
+app-id: org.videolan.VLC
+runtime: org.kde.Platform
+runtime-version: 5.15-23.08
+sdk: org.kde.Sdk
+command: vlc
+finish-args:
+ - --require-version=0.11.4
+ - --share=ipc
+ - --socket=x11
+ - --socket=pulseaudio
+ - --share=network
+ - --filesystem=host
+ - --talk-name=org.freedesktop.ScreenSaver
+ - --talk-name=org.freedesktop.secrets
+ - --talk-name=org.kde.kwalletd5
+ - --talk-name=org.kde.kwalletd
+ - --talk-name=org.kde.StatusNotifierWatcher
+ - --talk-name=org.mpris.MediaPlayer2.Player
+ - --own-name=org.mpris.MediaPlayer2.vlc
+ - --device=all
+ - --filesystem=xdg-run/gvfs
+add-extensions:
+ org.videolan.VLC.Plugin:
+ versions: 3-5.15-23.08;3-23.08
+ directory: share/vlc/extra
+ subdirectories: true
+ merge-dirs: plugins
+ add-ld-path: lib
+ no-autodownload: true
+ autodelete: true
+rename-appdata-file: vlc.appdata.xml
+rename-desktop-file: vlc.desktop
+rename-icon: vlc
+copy-icon: true
+cleanup:
+ - /share/doc
+ - /share/gtk-doc
+ - /share/info
+ - /share/man
+ - '*.la'
+ - '*.a'
+cleanup-commands:
+ - mkdir -p /app/share/vlc/extra
+ - ln -s /app/share/vlc/extra/plugins /app/lib/vlc/plugins/extra
+ - rm -f /app/lib/vlc/plugins/plugins.dat
+ - /app/lib/vlc/vlc-cache-gen /app/lib/vlc/plugins
+build-options:
+ env:
+ V: '1'
+modules:
+ - shared-modules/intltool/intltool-0.51.json
+ - shared-modules/SDL/SDL-1.2.15.json
+ - shared-modules/SDL/SDL_image-1.2.12.json
+ - shared-modules/lua5.3/lua-5.3.5.json
+ - shared-modules/glu/glu-9.json
+ - name: libraw1394
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://www.kernel.org/pub/linux/libs/ieee1394/libraw1394-2.1.2.tar.xz
+ sha256: 03ccc69761d22c7deb1127fc301010dd13e70e44bb7134b8ff0d07590259a55e
+ x-checker-data:
+ type: anitya
+ project-id: 1710
+ url-template: https://www.kernel.org/pub/linux/libs/ieee1394/libraw1394-$version.tar.xz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libavc1394
+ rm-configure: true
+ config-opts:
+ - --disable-static
+ sources:
+ - type: archive
+ url: https://downloads.sourceforge.net/sourceforge/libavc1394/libavc1394-0.5.4.tar.gz
+ sha256: 7cb1ff09506ae911ca9860bef4af08c2403f3e131f6c913a2cbd6ddca4215b53
+ x-checker-data:
+ type: anitya
+ project-id: 1562
+ url-template: https://downloads.sourceforge.net/sourceforge/libavc1394/libavc1394-$version.tar.gz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: zvbi
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://downloads.sourceforge.net/sourceforge/zapping/zvbi/0.2.35/zvbi-0.2.35.tar.bz2
+ sha256: fc883c34111a487c4a783f91b1b2bb5610d8d8e58dcba80c7ab31e67e4765318
+ x-checker-data:
+ type: anitya
+ project-id: 13803
+ url-template: https://downloads.sourceforge.net/sourceforge/zapping/zvbi/$version/zvbi-$version.tar.bz2
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libdc1394
+ rm-configure: true
+ config-opts:
+ - --disable-static
+ sources:
+ - type: archive
+ url: https://downloads.sourceforge.net/sourceforge/libdc1394/libdc1394-2/2.2.7/libdc1394-2.2.7.tar.gz
+ sha256: 537ceb78dd3cef271a183f4a176191d1cecf85f025520e6bd3758b0e19e6609f
+ x-checker-data:
+ type: anitya
+ project-id: 1591
+ url-template: https://downloads.sourceforge.net/sourceforge/libdc1394/libdc1394-2/$version/libdc1394-$version.tar.gz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libcddb
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://downloads.sourceforge.net/sourceforge/libcddb/libcddb/1.3.2/libcddb-1.3.2.tar.bz2
+ sha256: 35ce0ee1741ea38def304ddfe84a958901413aa829698357f0bee5bb8f0a223b
+ x-checker-data:
+ type: anitya
+ project-id: 1572
+ url-template: https://downloads.sourceforge.net/sourceforge/libcddb/libcddb/$version/libcddb-$version.tar.bz2
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: aalib
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://downloads.sourceforge.net/sourceforge/aa-project/aa-lib/1.4rc5/aalib-1.4rc5.tar.gz
+ sha256: fbddda9230cf6ee2a4f5706b4b11e2190ae45f5eda1f0409dc4f99b35e0a70ee
+ x-checker-data:
+ type: anitya
+ project-id: 7921
+ stable-only: false
+ url-template: https://downloads.sourceforge.net/sourceforge/aa-project/aa-lib/$version/aalib-$version.tar.gz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libshout
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://downloads.xiph.org/releases/libshout/libshout-2.4.6.tar.gz
+ sha256: 39cbd4f0efdfddc9755d88217e47f8f2d7108fa767f9d58a2ba26a16d8f7c910
+ x-checker-data:
+ type: anitya
+ project-id: 11084
+ url-template: https://downloads.xiph.org/releases/libshout/libshout-$version.tar.gz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libupnp
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://downloads.sourceforge.net/sourceforge/pupnp/libupnp-1.14.18.tar.bz2
+ sha256: 16a7cee93ce2868ae63ab1a8164dc7de43577c59983b9f61293a310d6888dceb
+ x-checker-data:
+ type: anitya
+ project-id: 21315
+ url-template: https://downloads.sourceforge.net/sourceforge/pupnp/libupnp-$version.tar.bz2
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: taglib
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ - -DWITH_MP4=ON
+ - -DWITH_ASF=ON
+ sources:
+ - type: archive
+ url: https://taglib.org/releases/taglib-1.13.1.tar.gz
+ sha256: c8da2b10f1bfec2cd7dbfcd33f4a2338db0765d851a50583d410bacf055cfd0b
+ x-checker-data:
+ type: anitya
+ project-id: 1982
+ url-template: https://taglib.org/releases/taglib-$version.tar.gz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: gsm
+ no-autogen: true
+ build-options:
+ cflags: -fPIC
+ cxxflags: -c -fPIC
+ make-install-args:
+ - -j1
+ - INSTALL_ROOT=/app
+ - GSM_INSTALL_INC=/app/include/gsm
+ - GSM_INSTALL_MAN=/app/share/man/man3
+ - TOAST_INSTALL_MAN=/app/share/man/man1
+ sources:
+ - type: archive
+ url: https://www.quut.com/gsm/gsm-1.0.17.tar.gz
+ sha256: 855a57d1694941ddf3c73cb79b8d0b3891e9c9e7870b4981613b734e1ad07601
+# TODO needs some patch updates
+# x-checker-data:
+# type: anitya
+# project-id: 12587
+# url-template: https://www.quut.com/gsm/gsm-$version.tar.gz
+ - type: patch
+ path: gsm.patch
+ - type: patch
+ path: gsm-makefile.patch
+ - name: libdvbpsi
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://download.videolan.org/pub/libdvbpsi/1.3.3/libdvbpsi-1.3.3.tar.bz2
+ sha256: 02b5998bcf289cdfbd8757bedd5987e681309b0a25b3ffe6cebae599f7a00112
+ x-checker-data:
+ type: anitya
+ project-id: 21684
+ url-template: https://download.videolan.org/pub/libdvbpsi/$version/libdvbpsi-$version.tar.bz2
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libkate
+ rm-configure: true
+ config-opts:
+ - --disable-static
+ - --disable-doc
+ sources:
+ - type: archive
+ url: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libkate/libkate-0.4.1.tar.gz
+ sha256: c40e81d5866c3d4bf744e76ce0068d8f388f0e25f7e258ce0c8e76d7adc87b68
+ - type: patch
+ path: libkate.patch
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libass
+ config-opts:
+ - --enable-harfbuzz
+ - --enable-fontconfig
+ sources:
+ - type: archive
+ url: https://github.com/libass/libass/releases/download/0.17.1/libass-0.17.1.tar.xz
+ sha256: f0da0bbfba476c16ae3e1cfd862256d30915911f7abaa1b16ce62ee653192784
+ x-checker-data:
+ type: anitya
+ project-id: 1560
+ url-template: https://github.com/libass/libass/releases/download/$version/libass-$version.tar.xz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libebml
+ builddir: true
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ sources:
+ - type: archive
+ url: https://dl.matroska.org/downloads/libebml/libebml-1.4.5.tar.xz
+ sha256: 4971640b0592da29c2d426f303e137a9b0b3d07e1b81d069c1e56a2f49ab221b
+ x-checker-data:
+ type: anitya
+ project-id: 7879
+ url-template: https://dl.matroska.org/downloads/libebml/libebml-$version.tar.xz
+ - name: libmatroska
+ builddir: true
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ sources:
+ - type: archive
+ url: https://dl.matroska.org/downloads/libmatroska/libmatroska-1.7.1.tar.xz
+ sha256: 572a3033b8d93d48a6a858e514abce4b2f7a946fe1f02cbfeca39bfd703018b3
+ x-checker-data:
+ type: anitya
+ project-id: 1657
+ url-template: https://dl.matroska.org/downloads/libmatroska/libmatroska-$version.tar.xz
+ - name: libssh2
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://www.libssh2.org/download/libssh2-1.11.0.tar.gz
+ sha256: 3736161e41e2693324deb38c26cfdc3efe6209d634ba4258db1cecff6a5ad461
+ x-checker-data:
+ type: anitya
+ project-id: 1730
+ url-template: https://www.libssh2.org/download/libssh2-$version.tar.gz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libvncserver
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ - -DWITH_FFMPEG=OFF
+ sources:
+ - type: archive
+ url: https://github.com/LibVNC/libvncserver/archive/LibVNCServer-0.9.14.tar.gz
+ sha256: 83104e4f7e28b02f8bf6b010d69b626fae591f887e949816305daebae527c9a5
+ x-checker-data:
+ type: anitya
+ project-id: 1756
+ url-template: https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$version.tar.gz
+ - name: libdvdread
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/libdvdread/6.1.3/libdvdread-6.1.3.tar.bz2
+ sha256: ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369
+ x-checker-data:
+ type: anitya
+ project-id: 5614
+ url-template: https://download.videolan.org/videolan/libdvdread/$version/libdvdread-$version.tar.bz2
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libdvdnav
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/libdvdnav/6.1.1/libdvdnav-6.1.1.tar.bz2
+ sha256: c191a7475947d323ff7680cf92c0fb1be8237701885f37656c64d04e98d18d48
+ x-checker-data:
+ type: anitya
+ project-id: 5615
+ url-template: https://download.videolan.org/videolan/libdvdnav/$version/libdvdnav-$version.tar.bz2
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libdvdcss
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/libdvdcss/1.4.3/libdvdcss-1.4.3.tar.bz2
+ sha256: 233cc92f5dc01c5d3a96f5b3582be7d5cee5a35a52d3a08158745d3d86070079
+ x-checker-data:
+ type: anitya
+ project-id: 5568
+ url-template: https://download.videolan.org/videolan/libdvdcss/$version/libdvdcss-$version.tar.bz2
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: libmodplug
+ rm-configure: true
+ sources:
+ - type: archive
+ url: https://downloads.sourceforge.net/sourceforge/modplug-xmms/libmodplug/0.8.9.0/libmodplug-0.8.9.0.tar.gz
+ sha256: 457ca5a6c179656d66c01505c0d95fafaead4329b9dbaa0f997d00a3508ad9de
+ x-checker-data:
+ type: anitya
+ project-id: 5669
+ url-template: https://downloads.sourceforge.net/sourceforge/modplug-xmms/libmodplug/$version/libmodplug-$version.tar.gz
+ - type: script
+ commands:
+ - autoreconf -fiv
+ dest-filename: autogen.sh
+ - name: x264
+ config-opts:
+ - --enable-pic
+ - --enable-shared
+ sources:
+ - type: git
+ url: https://code.videolan.org/videolan/x264.git
+ commit: a8b68ebfaa68621b5ac8907610d3335971839d52
+ - name: x265
+ builddir: true
+ subdir: source
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ sources:
+ - type: archive
+ url: https://bitbucket.org/multicoreware/x265_git/downloads/x265_3.5.tar.gz
+ sha256: e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8
+ x-checker-data:
+ type: anitya
+ project-id: 7275
+ url-template: https://bitbucket.org/multicoreware/x265_git/downloads/x265_$version.tar.gz
+ - name: dav1d
+ buildsystem: meson
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/dav1d/1.3.0/dav1d-1.3.0.tar.xz
+ sha256: 6d8be2741c505c47f8f1ced3c9cc427759243436553d01d1acce201f87b39e71
+ x-checker-data:
+ type: anitya
+ project-id: 18920
+ url-template: https://download.videolan.org/videolan/dav1d/$version/dav1d-$version.tar.xz
+ - name: ffmpeg
+ config-opts:
+ - --enable-pic
+ - --enable-shared
+ - --disable-doc
+ - --disable-static
+ - --enable-gpl
+ - --enable-libx264
+ - --enable-libx265
+ - --enable-libvpx
+ - --enable-libmp3lame
+ - --enable-libvorbis
+ - --enable-libopus
+ sources:
+ - type: archive
+ url: https://ffmpeg.org/releases/ffmpeg-4.4.4.tar.xz
+ sha256: e80b380d595c809060f66f96a5d849511ef4a76a26b76eacf5778b94c3570309
+ x-checker-data:
+ type: anitya
+ project-id: 5405
+ versions:
+ '>=': '4'
+ <: '5'
+ url-template: https://ffmpeg.org/releases/ffmpeg-$version.tar.xz
+ - type: patch
+ path: ffmpeg_binutils241.patch
+ - shared-modules/libsecret/libsecret.json
+ - name: libaacs
+ config-opts:
+ - --with-pic
+ - --enable-shared
+ - --disable-static
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/libaacs/0.11.1/libaacs-0.11.1.tar.bz2
+ sha256: a88aa0ebe4c98a77f7aeffd92ab3ef64ac548c6b822e8248a8b926725bea0a39
+ x-checker-data:
+ type: anitya
+ project-id: 5562
+ url-template: https://download.videolan.org/videolan/libaacs/$version/libaacs-$version.tar.bz2
+ - name: libbdplus
+ rm-configure: true
+ config-opts:
+ - --with-pic
+ - --enable-shared
+ - --disable-static
+ build-options:
+ append-path: /app/share/vlc/extra/bluray/ant/bin
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/libbdplus/0.2.0/libbdplus-0.2.0.tar.bz2
+ sha256: b93eea3eaef33d6e9155d2c34b068c505493aa5a4936e63274f4342ab0f40a58
+ x-checker-data:
+ type: anitya
+ project-id: 5563
+ url-template: https://download.videolan.org/videolan/libbdplus/$version/libbdplus-$version.tar.bz2
+ - type: patch
+ path: libbdplus-gpg-error.patch
+ - name: libbluray
+ config-opts:
+ - --disable-static
+ - --disable-bdjava-jar
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/libbluray/1.3.4/libbluray-1.3.4.tar.bz2
+ sha256: 478ffd68a0f5dde8ef6ca989b7f035b5a0a22c599142e5cd3ff7b03bbebe5f2b
+ x-checker-data:
+ type: anitya
+ project-id: 1565
+ url-template: https://download.videolan.org/videolan/libbluray/$version/libbluray-$version.tar.bz2
+ - shared-modules/libusb/libusb.json
+ - name: libmtp
+ config-opts:
+ - --disable-static
+ - --with-udev=/app/lib/udev
+ sources:
+ - type: archive
+ url: https://github.com/libmtp/libmtp/releases/download/v1.1.21/libmtp-1.1.21.tar.gz
+ sha256: f4c1ceb3df020a6cb851110f620c14fe399518c494ed252039cbfb4e34335135
+ x-checker-data:
+ type: anitya
+ project-id: 10017
+ url-template: https://github.com/libmtp/libmtp/releases/download/v$version/libmtp-$version.tar.gz
+ - name: chromaprint
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ sources:
+ - type: archive
+ url: https://github.com/acoustid/chromaprint/releases/download/v1.5.1/chromaprint-1.5.1.tar.gz
+ sha256: a1aad8fa3b8b18b78d3755b3767faff9abb67242e01b478ec9a64e190f335e1c
+ x-checker-data:
+ type: anitya
+ project-id: 286
+ url-template: https://github.com/acoustid/chromaprint/releases/download/v$version/chromaprint-$version.tar.gz
+ - name: fluidlite
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ - -DENABLE_SF3=YES
+ sources:
+ - type: git
+ url: https://github.com/divideconcept/FluidLite.git
+ commit: d59d2328818f913b7d1a6a59aed695c47a8ce388
+ - name: libcaca
+ config-opts:
+ - --disable-static
+ - --disable-python
+ - --disable-ruby
+ sources:
+ - type: archive
+ url: https://deb.debian.org/debian/pool/main/libc/libcaca/libcaca_0.99.beta19.orig.tar.gz
+ sha256: 128b467c4ed03264c187405172a4e83049342cc8cc2f655f53a2d0ee9d3772f4
+ - name: libplacebo
+ buildsystem: meson
+ config-opts:
+ - -Dvulkan=false
+ sources:
+ - type: archive
+ url: https://github.com/haasn/libplacebo/archive/refs/tags/v0.2.1.tar.gz
+ sha256: d5d920a1745e4209287d32e8b96a85127b61b843304813980e11104cd9f15e82
+ x-checker-data:
+ type: anitya
+ project-id: 20101
+ versions:
+ '>=': '0.2'
+ <: '0.3'
+ url-template: https://github.com/haasn/libplacebo/archive/refs/tags/v$version.tar.gz
+ - name: libdsm
+ buildsystem: meson
+ sources:
+ - type: archive
+ url: https://github.com/videolabs/libdsm/releases/download/v0.4.3/libdsm-0.4.3.tar.xz
+ sha256: d31921bd6f6a23878266b945731f7d57505472ef85d66f944c43b9f8eacc2a8a
+ - name: microdns
+ buildsystem: meson
+ sources:
+ - type: archive
+ url: https://github.com/videolabs/libmicrodns/releases/download/0.2.0/microdns-0.2.0.tar.xz
+ sha256: 2da28e7dda4861d76f797f92ac3e6c3e048333b95f9e4fc3a6548ad8afd8c446
+ x-checker-data:
+ type: anitya
+ project-id: 275561
+ url-template: https://github.com/videolabs/libmicrodns/releases/download/$version/microdns-$version.tar.xz
+ - name: spatialaudio
+ builddir: true
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ sources:
+ - type: archive
+ url: https://github.com/videolabs/libspatialaudio/releases/download/0.3.0/spatialaudio-0.3.0.tar.bz2
+ sha256: 284c1dbd8efd46c03be84ac7070bc87cae81b7125352b143a70be3e2b96988e3
+ - name: srt
+ builddir: true
+ buildsystem: cmake-ninja
+ config-opts:
+ - -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - -DBUILD_SHARED_LIBS=ON
+ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+ sources:
+ - type: archive
+ url: https://github.com/Haivision/srt/archive/v1.5.3.tar.gz
+ sha256: befaeb16f628c46387b898df02bc6fba84868e86a6f6d8294755375b9932d777
+ x-checker-data:
+ type: anitya
+ project-id: 236296
+ url-template: https://github.com/Haivision/srt/archive/v$version.tar.gz
+ - name: live555
+ buildsystem: simple
+ build-commands:
+ - CXXFLAGS=`sed "s/'/\"/g" /etc/flatpak-builder/defaults.json | jq -r .cxxflags`
+ ; sed -i -e "s|-O2|$CXXFLAGS|" config.linux-with-shared-libraries
+ - ./genMakefiles linux-with-shared-libraries
+ - LDFLAGS=`sed "s/'/\"/g" /etc/flatpak-builder/defaults.json | jq -r .ldflags`
+ ; make -j4 PREFIX=/app LIBDIR=/app/lib install
+ - chmod +x /app/lib/libliveMedia.so* /app/lib/libUsageEnvironment.so* /app/lib/libBasicUsageEnvironment.so*
+ /app/lib/libgroupsock.so*
+ cleanup:
+ - /bin
+ sources:
+ - type: archive
+ url: https://download.videolan.org/contrib/live555/live.2020.11.05.tar.gz
+ sha256: 89bdfba7fd215e16be2c9d46a797bf85c5f7f7c46b53dc8af2d1171a658da5b7
+ - type: patch
+ path: live555-add-pkgconfig-file.patch
+ - type: patch
+ path: live555-nosignal.patch
+ - name: libnotify
+ buildsystem: meson
+ config-opts:
+ - -Dgtk_doc=false
+ - -Dman=false
+ sources:
+ - type: archive
+ url: https://download.gnome.org/sources/libnotify/0.8/libnotify-0.8.3.tar.xz
+ sha256: ee8f3ef946156ad3406fdf45feedbdcd932dbd211ab4f16f75eba4f36fb2f6c0
+ x-checker-data:
+ type: anitya
+ project-id: 13149
+ url-template: https://download.gnome.org/sources/libnotify/$major.$minor/libnotify-$version.tar.xz
+ - name: protobuf
+ sources:
+ - type: archive
+ url: https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protobuf-cpp-3.21.12.tar.gz
+ sha256: 4eab9b524aa5913c6fffb20b2a8abf5ef7f95a80bc0701f3a6dbb4c607f73460
+ x-checker-data:
+ type: anitya
+ project-id: 3715
+ versions:
+ '>=': '21'
+ <: '22'
+ url-template: https://github.com/protocolbuffers/protobuf/releases/download/v$version/protobuf-cpp-3.$version.tar.gz
+ cleanup:
+ - /bin
+ - name: vlc
+ config-opts:
+ - BUILDCC=/usr/bin/gcc -std=gnu99
+ - --disable-a52
+ cleanup:
+ - /share/macosx
+ post-install:
+ - install -Dp -m 644 org.videolan.VLC.appdata.xml /app/share/appdata/vlc.appdata.xml
+ - mv /app/bin/vlc /app/bin/vlc.bin
+ - mv vlc.sh /app/bin/vlc
+ - chmod +x /app/bin/vlc
+ - echo "StartupWMClass=VLC" >> /app/share/applications/vlc.desktop
+ - sed -i -e 's/Icon=vlc/Icon=org.videolan.VLC/g' /app/share/applications/vlc-*.desktop
+ - for s in openbd opendvd opencda openvcd; do mv /app/share/applications/vlc-$s.desktop
+ /app/share/applications/org.videolan.VLC-$s.desktop; done
+ - tar xf chrpath-0.16.tar.gz && cd chrpath-0.16 && ./configure && make
+ - ./chrpath-0.16/chrpath -d /app/lib/vlc/plugins/access/liblibbluray_plugin.so
+ sources:
+ - type: archive
+ url: https://download.videolan.org/videolan/vlc/3.0.20/vlc-3.0.20.tar.xz
+ sha256: adc7285b4d2721cddf40eb5270cada2aaa10a334cb546fd55a06353447ba29b5
+ x-checker-data:
+ type: anitya
+ project-id: 6504
+ versions:
+ '>=': '3'
+ <: '4'
+ url-template: https://download.videolan.org/videolan/vlc/$version/vlc-$version.tar.xz
+ - type: file
+ path: org.videolan.VLC.appdata.xml
+ - type: patch
+ path: vlc-fix-appdata.patch
+ - type: patch
+ path: vlc-disc-shortcuts.patch
+ - type: patch
+ path: vlc-ignore-time-for-cache.patch
+ - type: file
+ path: vlc.sh
+ - type: file
+ url: https://src.fedoraproject.org/lookaside/extras/chrpath/chrpath-0.16.tar.gz/2bf8d1d1ee345fc8a7915576f5649982/chrpath-0.16.tar.gz
+ sha256: bb0d4c54bac2990e1bdf8132f2c9477ae752859d523e141e72b3b11a12c26e7b
+
diff --git a/flatpak/org.videolan.VLC/shared-modules b/flatpak/org.videolan.VLC/shared-modules
new file mode 160000
index 0000000..f63cb3f
--- /dev/null
+++ b/flatpak/org.videolan.VLC/shared-modules
@@ -0,0 +1 @@
+Subproject commit f63cb3f5fff835c141769d35cd54ce0ae042fcbf
diff --git a/flatpak/org.videolan.VLC/vlc-disc-shortcuts.patch b/flatpak/org.videolan.VLC/vlc-disc-shortcuts.patch
new file mode 100644
index 0000000..0b28d8c
--- /dev/null
+++ b/flatpak/org.videolan.VLC/vlc-disc-shortcuts.patch
@@ -0,0 +1,115 @@
+---
+ share/Makefile.am | 5 +++--
+ share/vlc-openbd.desktop.in | 9 +++++++++
+ share/vlc-opencda.desktop.in | 9 +++++++++
+ share/vlc-opendvd.desktop.in | 9 +++++++++
+ share/vlc-openvcd.desktop.in | 9 +++++++++
+ share/vlc.desktop.mimetypes | 4 ----
+ 6 files changed, 39 insertions(+), 6 deletions(-)
+ create mode 100644 share/vlc-openbd.desktop.in
+ create mode 100644 share/vlc-opencda.desktop.in
+ create mode 100644 share/vlc-opendvd.desktop.in
+ create mode 100644 share/vlc-openvcd.desktop.in
+
+diff --git a/share/Makefile.am b/share/Makefile.am
+index bf81792..75add73 100644
+--- a/share/Makefile.am
++++ b/share/Makefile.am
+@@ -5,7 +5,7 @@
+ desktopdir = $(datadir)/applications
+ if !HAVE_WIN32
+ if !HAVE_DARWIN
+-desktop_DATA = vlc.desktop
++desktop_DATA = vlc.desktop vlc-openbd.desktop vlc-opendvd.desktop vlc-openvcd.desktop vlc-opencda.desktop
+ appdatadir = $(datarootdir)/metainfo
+ appdata_DATA = $(appdata_in_files:.xml.in=.xml)
+ appdata_in_files = vlc.appdata.xml.in
+@@ -13,9 +13,10 @@
+ endif
+
+ EXTRA_DIST += vlc.desktop.in vlc.desktop.mimetypes
++EXTRA_DIST += vlc-openbd.desktop.in vlc-opendvd.desktop.in vlc-openvcd.desktop.in vlc-opencda.desktop.in
+ CLEANFILES += $(desktop_DATA) $(appdata_DATA)
+
+-vlc.desktop: vlc.desktop.in $(top_builddir)/config.status
++%.desktop: %.desktop.in $(top_builddir)/config.status
+ $(AM_V_GEN)mimetypes="$$(sed 's/\s*#.*$$//g' $(srcdir)/vlc.desktop.mimetypes | egrep -v '^$$' | tr "\n" ';')"; \
+ sed \
+ -e 's,\@bindir\@,$(bindir),g' \
+diff --git a/share/vlc-openbd.desktop.in b/share/vlc-openbd.desktop.in
+new file mode 100644
+index 0000000..386eb20
+--- /dev/null
++++ b/share/vlc-openbd.desktop.in
+@@ -0,0 +1,9 @@
++[Desktop Entry]
++Version=1.0
++Name=VLC media player (Blu-ray)
++NoDisplay=true
++Exec=@bindir@/vlc --started-from-file bluray://%f
++Icon=vlc
++Terminal=false
++Type=Application
++MimeType=x-content/video-bluray
+diff --git a/share/vlc-opencda.desktop.in b/share/vlc-opencda.desktop.in
+new file mode 100644
+index 0000000..503d5a8
+--- /dev/null
++++ b/share/vlc-opencda.desktop.in
+@@ -0,0 +1,9 @@
++[Desktop Entry]
++Version=1.0
++Name=VLC media player (Audio CD)
++NoDisplay=true
++Exec=@bindir@/vlc --started-from-file cdda://%f
++Icon=vlc
++Terminal=false
++Type=Application
++MimeType=x-content/audio-cdda
+diff --git a/share/vlc-opendvd.desktop.in b/share/vlc-opendvd.desktop.in
+new file mode 100644
+index 0000000..aadc44a
+--- /dev/null
++++ b/share/vlc-opendvd.desktop.in
+@@ -0,0 +1,9 @@
++[Desktop Entry]
++Version=1.0
++Name=VLC media player (DVD)
++NoDisplay=true
++Exec=@bindir@/vlc --started-from-file dvd://%f
++Icon=vlc
++Terminal=false
++Type=Application
++MimeType=x-content/video-dvd
+diff --git a/share/vlc-openvcd.desktop.in b/share/vlc-openvcd.desktop.in
+new file mode 100644
+index 0000000..c6dd894
+--- /dev/null
++++ b/share/vlc-openvcd.desktop.in
+@@ -0,0 +1,9 @@
++[Desktop Entry]
++Version=1.0
++Name=VLC media player (VCD)
++NoDisplay=true
++Exec=@bindir@/vlc --started-from-file vcd://%f
++Icon=vlc
++Terminal=false
++Type=Application
++MimeType=x-content/video-vcd;x-content/video-svcd
+diff --git a/share/vlc.desktop.mimetypes b/share/vlc.desktop.mimetypes
+index 0d866f7..d521c6c 100644
+--- a/share/vlc.desktop.mimetypes
++++ b/share/vlc.desktop.mimetypes
+@@ -119,10 +119,6 @@ x-scheme-handler/icyx # Icecast
+
+ # Linux desktop environment hooks for ISOs etc.
+ application/x-cd-image
+-x-content/video-vcd
+-x-content/video-svcd
+-x-content/video-dvd
+-x-content/audio-cdda
+ x-content/audio-player
+
+ # Playlists / text/xml list with URLs
+…
+
diff --git a/flatpak/org.videolan.VLC/vlc-fix-appdata.patch b/flatpak/org.videolan.VLC/vlc-fix-appdata.patch
new file mode 100644
index 0000000..22435de
--- /dev/null
+++ b/flatpak/org.videolan.VLC/vlc-fix-appdata.patch
@@ -0,0 +1,21 @@
+diff --git a/share/vlc.appdata.xml.in.in b/share/vlc.appdata.xml.in.in
+index b271502eb9..b492c6f7ff 100644
+--- a/share/vlc.appdata.xml.in.in
++++ b/share/vlc.appdata.xml.in.in
+@@ -14,13 +14,15 @@
+ VCDs, and various streaming protocols.
+
+
++
+ https://www.videolan.org/vlc/
+ https://trac.videolan.org/vlc/
+ https://www.videolan.org/contribute.html
+
+-
++
+
+
++ org.videolan.VLC
+ libvlc.so.5
+
+ VideoLAN
diff --git a/flatpak/org.videolan.VLC/vlc-ignore-time-for-cache.patch b/flatpak/org.videolan.VLC/vlc-ignore-time-for-cache.patch
new file mode 100644
index 0000000..e89ea89
--- /dev/null
+++ b/flatpak/org.videolan.VLC/vlc-ignore-time-for-cache.patch
@@ -0,0 +1,26 @@
+From b380b05132521b0c1c18b872eba23d1ebc32e0c9 Mon Sep 17 00:00:00 2001
+From: Mathieu Velten
+Date: Sun, 16 Jun 2019 02:46:56 +0200
+Subject: [PATCH] Ignore time for cache
+
+---
+ src/modules/bank.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/modules/bank.c b/src/modules/bank.c
+index 2e67a0d07e..ab2915fbb7 100644
+--- a/src/modules/bank.c
++++ b/src/modules/bank.c
+@@ -275,8 +275,7 @@ static int AllocatePluginFile (module_bank_t *bank, const char *abspath,
+ plugin = vlc_cache_lookup(&bank->cache, relpath);
+
+ if (plugin != NULL
+- && (plugin->mtime != (int64_t)st->st_mtime
+- || plugin->size != (uint64_t)st->st_size))
++ && plugin->size != (uint64_t)st->st_size)
+ {
+ msg_Err(bank->obj, "stale plugins cache: modified %s",
+ plugin->abspath);
+--
+2.21.0
+
diff --git a/flatpak/org.videolan.VLC/vlc-packetizer-flac-fix-CRC-from-emulated-sync.patch b/flatpak/org.videolan.VLC/vlc-packetizer-flac-fix-CRC-from-emulated-sync.patch
new file mode 100644
index 0000000..ece4766
--- /dev/null
+++ b/flatpak/org.videolan.VLC/vlc-packetizer-flac-fix-CRC-from-emulated-sync.patch
@@ -0,0 +1,91 @@
+From: Francois Cartegnie
+Date: Mon, 7 Nov 2022 15:02:57 +0100
+Subject: [PATCH] packetizer: flac: fix CRC from emulated sync
+
+also skips some memcpy
+
+refs #27454 #27477
+
+(cherry picked from commit c14b5aa6a7bd3aa25fa951e2b4136aff70f5702a)
+---
+ modules/packetizer/flac.c | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/modules/packetizer/flac.c b/modules/packetizer/flac.c
+index 7c7bc06b84..02a43f7653 100644
+--- a/modules/packetizer/flac.c
++++ b/modules/packetizer/flac.c
+@@ -78,6 +78,7 @@ struct decoder_sys_t
+
+ size_t i_last_frame_size;
+ uint16_t crc;
++ size_t i_buf_offset; /* in final buffer before crc check / validation / retry */
+ size_t i_buf;
+ uint8_t *p_buf;
+
+@@ -386,6 +387,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
+ p_sys->headerinfo = headerinfo;
+ p_sys->i_state = STATE_NEXT_SYNC;
+ p_sys->i_offset = FLAC_FRAME_SIZE_MIN;
++ p_sys->i_buf_offset = 0;
+ p_sys->crc = 0;
+
+ /* We have to read until next frame sync code to compute current frame size
+@@ -461,6 +463,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
+ block_SkipBytes( &p_sys->bytestream, FLAC_HEADER_SIZE_MAX + 2 );
+ block_BytestreamFlush( &p_sys->bytestream );
+ p_sys->crc = 0;
++ p_sys->i_buf_offset = 0;
+ p_sys->i_offset = 0;
+ p_sys->i_state = STATE_NOSYNC;
+ p_sys->i_next_block_flags |= BLOCK_FLAG_DISCONTINUITY;
+@@ -484,10 +487,12 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
+ }
+
+ /* Copy from previous sync point up to to current (offset) */
+- block_PeekOffsetBytes( &p_sys->bytestream, 0, p_sys->p_buf, p_sys->i_offset );
++ block_PeekOffsetBytes( &p_sys->bytestream, p_sys->i_buf_offset,
++ &p_sys->p_buf[p_sys->i_buf_offset],
++ p_sys->i_offset - p_sys->i_buf_offset );
+
+ /* update crc to include this data chunk */
+- for( size_t i = 0; i < p_sys->i_offset - 2; i++ )
++ for( size_t i = p_sys->i_buf_offset; i < p_sys->i_offset - 2; i++ )
+ p_sys->crc = flac_crc16( p_sys->crc, p_sys->p_buf[i] );
+
+ uint16_t stream_crc = GetWBE(&p_sys->p_buf[p_sys->i_offset - 2]);
+@@ -497,6 +502,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
+ /* Add the 2 last bytes which were not the CRC sum, and go for next sync point */
+ p_sys->crc = flac_crc16( p_sys->crc, p_sys->p_buf[p_sys->i_offset - 2] );
+ p_sys->crc = flac_crc16( p_sys->crc, p_sys->p_buf[p_sys->i_offset - 1] );
++ p_sys->i_buf_offset = p_sys->i_offset;
+ p_sys->i_offset += 1;
+ p_sys->i_state = !pp_block ? STATE_NOSYNC : STATE_NEXT_SYNC;
+ break; /* continue */
+@@ -513,6 +519,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
+ block_BytestreamFlush( &p_sys->bytestream );
+ p_sys->i_offset = 0;
+ p_sys->crc = 0;
++ p_sys->i_buf_offset = 0;
+
+ if( block_BytestreamRemaining(&p_sys->bytestream) > 0 || pp_block == NULL /* drain */)
+ p_sys->i_state = STATE_SEND_DATA;
+@@ -553,6 +560,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
+ else
+ free( p_sys->p_buf );
+
++ p_sys->i_buf_offset = 0;
+ p_sys->i_buf = 0;
+ p_sys->p_buf = NULL;
+ p_sys->i_offset = 0;
+@@ -587,6 +595,7 @@ static int Open(vlc_object_t *p_this)
+ p_sys->b_stream_info = false;
+ p_sys->i_last_frame_size = FLAC_FRAME_SIZE_MIN;
+ p_sys->headerinfo.i_pts = VLC_TS_INVALID;
++ p_sys->i_buf_offset = 0;
+ p_sys->i_buf = 0;
+ p_sys->p_buf = NULL;
+ p_sys->i_next_block_flags = 0;
+--
+2.30.2
+
diff --git a/flatpak/org.videolan.VLC/vlc.sh b/flatpak/org.videolan.VLC/vlc.sh
new file mode 100644
index 0000000..f64782b
--- /dev/null
+++ b/flatpak/org.videolan.VLC/vlc.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+shopt -s nullglob
+
+for f in /app/share/vlc/extra/*/*.sh; do
+ source $f
+done
+
+exec /app/bin/vlc.bin $VLC_ARGS "$@"
diff --git a/flatpak/org.videolan.VLC/vlc_screenshot_gnome3.jpg b/flatpak/org.videolan.VLC/vlc_screenshot_gnome3.jpg
new file mode 100644
index 0000000..40fec4b
Binary files /dev/null and b/flatpak/org.videolan.VLC/vlc_screenshot_gnome3.jpg differ
diff --git a/flatpak/org.videolan.VLC/vlc_screenshot_gnome3_dark.jpg b/flatpak/org.videolan.VLC/vlc_screenshot_gnome3_dark.jpg
new file mode 100644
index 0000000..773c22c
Binary files /dev/null and b/flatpak/org.videolan.VLC/vlc_screenshot_gnome3_dark.jpg differ
diff --git a/flatpak/requirements.txt b/flatpak/requirements.txt
index 14f77ab..17b195a 100644
--- a/flatpak/requirements.txt
+++ b/flatpak/requirements.txt
@@ -1,11 +1,14 @@
# Note:
# PyQt* packages is missing due to being included in the base flatpak image
# PyMuPDF is installed seperately due to some dependency issues
-# dbus-python and psycopg2 install didn't work...
+# psycopg2 install required postgres installed, so skipped...
alembic
beautifulsoup4
chardet
-#dbus-python
+meson-python # needed for buidling dbus-python
+scikit-build # needed for buidling patchelf (needed for dbus-python)
+patchelf # needed for buidling dbus-python
+dbus-python
distro
flask
flask-cors
@@ -22,7 +25,7 @@ waitress
websockets
#PyMuPDF
QDarkStyle
-#PyMySQL
+PyMySQL
python-vlc
#psycopg2
pyenchant