diff --git a/recipes/libs/gstreamer/recipe.toml b/recipes/libs/gstreamer/recipe.toml index 56fb4da4a..bda75280b 100644 --- a/recipes/libs/gstreamer/recipe.toml +++ b/recipes/libs/gstreamer/recipe.toml @@ -1,24 +1,37 @@ [source] -tar = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.6.tar.xz" -blake3 = "d96a7fd8bb9bec309bc40ccafdbac3bd4d11d06a9be41c38337cea02deaea95d" -patches = [ - "redox.patch" -] +tar = "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.24.12/gstreamer-1.24.12.tar.gz" +blake3 = "181daf73050f7472ec656e7461b7f67028d6002c1133870576033a32e43a364f" +patches = ["redox.patch"] [build] template = "custom" dependencies = [ + "cairo", + "expat", + "ffmpeg6", + "freetype2", + "fontconfig", "gettext", - "glib", - "libffi", + "glib", + "harfbuzz", + "libffi", "libiconv", - "pcre", + "libjpeg", + "libogg", + "libpng", + "libvorbis", + "libxml2", + #TODO "pango", + "pcre", + "pixman", "zlib" ] script = """ +DYNAMIC_INIT + export GLIB_GENMARSHAL="$(which glib-genmarshal)" export GLIB_MKENUMS="$(which glib-mkenums)" -export LDFLAGS="-static" +export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib" # TODO: Fix this annoying shite echo "[binaries]" > cross_file.txt @@ -26,7 +39,7 @@ echo "c = '${CC}'" >> cross_file.txt echo "cpp = '${CXX}'" >> cross_file.txt echo "ar = '${AR}'" >> cross_file.txt echo "strip = '${STRIP}'" >> cross_file.txt -echo "pkgconfig = '${TARGET}-pkg-config'" >> cross_file.txt +echo "pkg-config = '${TARGET}-pkg-config'" >> cross_file.txt echo "[host_machine]" >> cross_file.txt echo "system = 'redox'" >> cross_file.txt @@ -52,17 +65,16 @@ unset RANLIB unset READELF unset STRIP -meson setup "${COOKBOOK_SOURCE}" _build \ +meson \ + setup \ + "${COOKBOOK_SOURCE}" \ + _build \ --cross-file cross_file.txt \ --buildtype release \ --strip \ - -Ddefault_library=static \ -Dprefix=/ \ -Dlibdir=lib \ - -Dbenchmarks=disabled \ - -Dcoretracers=disabled \ - -Dexamples=disabled \ - -Dtests=disabled + -Dauto_features=disabled ninja -C _build -v DESTDIR="${COOKBOOK_STAGE}" ninja -C _build -v install """ diff --git a/recipes/libs/gstreamer/redox.patch b/recipes/libs/gstreamer/redox.patch index bffd8ffe5..5818879f5 100644 --- a/recipes/libs/gstreamer/redox.patch +++ b/recipes/libs/gstreamer/redox.patch @@ -1,57 +1,19 @@ -diff -ruwN source/gst/gstpoll.c source-new/gst/gstpoll.c ---- source/gst/gstpoll.c 2023-02-23 11:23:11.000000000 -0700 -+++ source-new/gst/gstpoll.c 2023-05-19 13:22:32.365660597 -0600 -@@ -85,6 +85,10 @@ - #include - #endif - -+#if defined(__redox__) -+#include -+#endif -+ - #ifdef G_OS_WIN32 - # ifndef EWOULDBLOCK - # define EWOULDBLOCK EAGAIN /* This is just to placate gcc */ -@@ -689,7 +693,9 @@ - { - gint control_sock[2]; - -+#if !defined(__redox__) - if (socketpair (PF_UNIX, SOCK_STREAM, 0, control_sock) < 0) -+#endif - goto no_socket_pair; - - nset->control_read_fd.fd = control_sock[0]; -diff -ruwN source/libs/gst/check/libcheck/meson.build source-new/libs/gst/check/libcheck/meson.build ---- source/libs/gst/check/libcheck/meson.build 2023-02-23 11:23:11.000000000 -0700 -+++ source-new/libs/gst/check/libcheck/meson.build 2023-05-19 13:26:51.285620215 -0600 -@@ -40,13 +40,13 @@ +diff -ruwN gstreamer-1.20.7/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build source/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build +--- gstreamer-1.20.7/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build 2023-07-26 09:18:38.000000000 -0600 ++++ source/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build 2025-04-10 17:19:26.509676357 -0600 +@@ -135,10 +135,10 @@ + install: false) endif - # FIXME: check that timer_create, timer_settime, timer_delete are in rt_lib --if not rt_lib.found() -+#if not rt_lib.found() - libcheck_files += files( - 'libcompat/timer_create.c', - 'libcompat/timer_settime.c', - 'libcompat/timer_delete.c' - ) --endif -+#endif - - configure_file(input : 'check.h.in', - output : 'check.h', -diff -ruwN source/plugins/elements/gstfilesink.c source-new/plugins/elements/gstfilesink.c ---- source/plugins/elements/gstfilesink.c 2023-02-23 11:23:11.000000000 -0700 -+++ source-new/plugins/elements/gstfilesink.c 2023-05-19 13:23:26.885652108 -0600 -@@ -148,8 +148,10 @@ - else - g_assert_not_reached (); - -+#if !defined(__redox__) - if (o_sync) - flags |= O_SYNC; -+#endif - - fd = open (filename, flags, 0666); +-executable('mklicensestables', 'mklicensestables.c', +- c_args : gst_plugins_base_args, +- include_directories: [configinc], +- dependencies : [tag_dep, gst_base_dep], +- install : false) ++#executable('mklicensestables', 'mklicensestables.c', ++# c_args : gst_plugins_base_args, ++# include_directories: [configinc], ++# dependencies : [tag_dep, gst_base_dep], ++# install : false) + gst_tag_dir = meson.current_source_dir()