chiark / gitweb /
gstreamer: fix and enable the package (#1622)
authorrnauber <richard.nauber@gmail.com>
Sat, 14 Oct 2017 23:02:21 +0000 (01:02 +0200)
committerFredrik Fornwall <fredrik@fornwall.net>
Sat, 14 Oct 2017 23:02:21 +0000 (01:02 +0200)
* gstreamer: make it work with opensles and libcaca, update and enable the packages

* gstreamer: fix build in presence of libunwind and clean up

* minor stuff

* put in preload ffmpeg libs like mpv has

disabled-packages/gst-plugins-base/build.sh [deleted file]
disabled-packages/gstreamer/build.sh [deleted file]
packages/gst-libav/build.sh [new file with mode: 0644]
packages/gst-plugins-bad/build.sh [moved from disabled-packages/gst-plugins-bad/build.sh with 82% similarity]
packages/gst-plugins-base/build.sh [new file with mode: 0644]
packages/gst-plugins-good/autoplug_libcaca.patch [new file with mode: 0644]
packages/gst-plugins-good/build.sh [new file with mode: 0644]
packages/gst-plugins-ugly/build.sh [new file with mode: 0644]
packages/gstreamer/build.sh [new file with mode: 0644]

diff --git a/disabled-packages/gst-plugins-base/build.sh b/disabled-packages/gst-plugins-base/build.sh
deleted file mode 100644 (file)
index ce74a14..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-TERMUX_PKG_HOMEPAGE=https://gstreamer.freedesktop.org/
-TERMUX_PKG_DESCRIPTION="GStreamer base plug-ins"
-TERMUX_PKG_VERSION=1.10.2
-TERMUX_PKG_SRCURL=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${TERMUX_PKG_VERSION}.tar.xz
-TERMUX_PKG_DEPENDS="gstreamer"
-TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-tests --disable-examples"
diff --git a/disabled-packages/gstreamer/build.sh b/disabled-packages/gstreamer/build.sh
deleted file mode 100644 (file)
index aebfdc7..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-TERMUX_PKG_HOMEPAGE=https://gstreamer.freedesktop.org/
-TERMUX_PKG_DESCRIPTION="Open source multimedia framework"
-TERMUX_PKG_VERSION=1.10.2
-TERMUX_PKG_SRCURL=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${TERMUX_PKG_VERSION}.tar.xz
-TERMUX_PKG_DEPENDS="glib"
-TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-check --disable-tests --disable-examples --disable-benchmarks"
diff --git a/packages/gst-libav/build.sh b/packages/gst-libav/build.sh
new file mode 100644 (file)
index 0000000..4334157
--- /dev/null
@@ -0,0 +1,10 @@
+TERMUX_PKG_HOMEPAGE=https://gstreamer.freedesktop.org/
+TERMUX_PKG_DESCRIPTION="GStreamer libav/ffmpeg wrapper"
+TERMUX_PKG_VERSION=1.12.3
+TERMUX_PKG_SRCURL=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${TERMUX_PKG_VERSION}.tar.xz
+TERMUX_PKG_BUILD_IN_SRC=yes
+TERMUX_PKG_DEPENDS="gst-plugins-base,ffmpeg"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-tests --disable-examples"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS+="--with-system-libav --disable-android_media"
+TERMUX_PKG_SHA256=015ef8cab6f7fb87c8fb42642486423eff3b6e6a6bccdcd6a189f436a3619650
+
similarity index 82%
rename from disabled-packages/gst-plugins-bad/build.sh
rename to packages/gst-plugins-bad/build.sh
index 2d5edc96eeb458eeedf900216c2f4da9c6741026..b82a22f4bb61c890693f8b90f63ffcec461eda03 100644 (file)
@@ -1,11 +1,12 @@
 TERMUX_PKG_HOMEPAGE=https://gstreamer.freedesktop.org/
 TERMUX_PKG_DESCRIPTION="GStreamer Bad Plug-ins"
-TERMUX_PKG_VERSION=1.10.2
+TERMUX_PKG_VERSION=1.12.3
 TERMUX_PKG_SRCURL=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${TERMUX_PKG_VERSION}.tar.xz
 TERMUX_PKG_BUILD_IN_SRC=yes
 TERMUX_PKG_DEPENDS="gst-plugins-base"
 TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-tests --disable-examples"
 TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --disable-android_media"
+TERMUX_PKG_SHA256=36d059761852bed0f1a7fcd3ef64a8aeecab95d2bca53cd6aa0f08054b1cbfec
 
 termux_step_pre_configure() {
        export GNUSTL_LIBS="-lc"
diff --git a/packages/gst-plugins-base/build.sh b/packages/gst-plugins-base/build.sh
new file mode 100644 (file)
index 0000000..665a537
--- /dev/null
@@ -0,0 +1,38 @@
+TERMUX_PKG_HOMEPAGE=https://gstreamer.freedesktop.org/
+TERMUX_PKG_DESCRIPTION="GStreamer base plug-ins"
+TERMUX_PKG_VERSION=1.12.3
+TERMUX_PKG_SRCURL=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${TERMUX_PKG_VERSION}.tar.xz
+TERMUX_PKG_DEPENDS="gstreamer"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-tests --disable-examples"
+TERMUX_PKG_SHA256=d3d37b8489d37fa0018973d850bd2067b98af335fef2fa543ee7d40359e3cea5
+
+termux_step_post_make_install () {
+       for BINARY in gst-play-1.0 gst-discoverer-1.0 gst-device-monitor-1.0
+           do  
+               echo $BINARY
+               local LIBEXEC_BINARY=$TERMUX_PREFIX/libexec/$BINARY
+               local BIN_BINARY=$TERMUX_PREFIX/bin/$BINARY
+               local LIB_PATH=/system/lib
+               local VENDOR_LIB_PATH=/system/vendor/lib
+               if [ ! "$TERMUX_ARCH_BITS" == "32" ]
+               then
+                       LIB_PATH+=64
+                       VENDOR_LIB_PATH+=64
+               fi
+                       
+               mv $BIN_BINARY $LIBEXEC_BINARY
+               local FFMPEG_LIBS="" lib
+        for lib in avcodec avfilter avformat avutil postproc swresample swscale; do
+                if [ -n "$FFMPEG_LIBS" ]; then FFMPEG_LIBS+=":"; fi
+                FFMPEG_LIBS+="$TERMUX_PREFIX/lib/lib${lib}.so"
+        done
+
+               cat << EOF > $BIN_BINARY
+#!/bin/sh
+export LD_PRELOAD=$FFMPEG_LIBS
+# Avoid linker errors due to libOpenSLES.so:
+LD_LIBRARY_PATH=$LIB_PATH:$VENDOR_LIB_PATH:$TERMUX_PREFIX/lib exec $LIBEXEC_BINARY "\$@"
+EOF
+               chmod +x $BIN_BINARY
+       done
+}
diff --git a/packages/gst-plugins-good/autoplug_libcaca.patch b/packages/gst-plugins-good/autoplug_libcaca.patch
new file mode 100644 (file)
index 0000000..8e9b149
--- /dev/null
@@ -0,0 +1,11 @@
+--- src/ext/libcaca/gstcacasink.c.orig 2017-10-05 05:57:01.990156123 +0000
++++ src/ext/libcaca/gstcacasink.c      2017-10-05 06:17:58.320938634 +0000
+@@ -407,7 +407,7 @@
+ static gboolean
+ plugin_init (GstPlugin * plugin)
+ {
+-  if (!gst_element_register (plugin, "cacasink", GST_RANK_NONE,
++  if (!gst_element_register (plugin, "cacasink", GST_RANK_PRIMARY,
+           GST_TYPE_CACASINK))
+     return FALSE;
diff --git a/packages/gst-plugins-good/build.sh b/packages/gst-plugins-good/build.sh
new file mode 100644 (file)
index 0000000..00d174e
--- /dev/null
@@ -0,0 +1,10 @@
+TERMUX_PKG_HOMEPAGE=https://gstreamer.freedesktop.org/
+TERMUX_PKG_DESCRIPTION="GStreamer Good Plug-ins"
+TERMUX_PKG_VERSION=1.12.3
+TERMUX_PKG_SRCURL=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${TERMUX_PKG_VERSION}.tar.xz
+TERMUX_PKG_BUILD_IN_SRC=yes
+TERMUX_PKG_DEPENDS="gst-plugins-base,libcaca,libsoup,libjpeg-turbo,libpng"
+#TERMUX_PKG_BUILD_DEPENDS="libcaca,libsoup,libjpeg-turbo,libpng"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-tests --disable-examples"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --disable-android_media --disable-oss --disable-oss4"
+TERMUX_PKG_SHA256=13e7f479296891fef5a686438f20ba7d534680becf2269ecc5ee24aa83b45f03
diff --git a/packages/gst-plugins-ugly/build.sh b/packages/gst-plugins-ugly/build.sh
new file mode 100644 (file)
index 0000000..509e342
--- /dev/null
@@ -0,0 +1,9 @@
+TERMUX_PKG_HOMEPAGE=https://gstreamer.freedesktop.org/
+TERMUX_PKG_DESCRIPTION="GStreamer Ugly Plug-ins"
+TERMUX_PKG_VERSION=1.12.3
+TERMUX_PKG_SRCURL=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${TERMUX_PKG_VERSION}.tar.xz
+TERMUX_PKG_BUILD_IN_SRC=yes
+TERMUX_PKG_DEPENDS="gst-plugins-base"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-tests --disable-examples"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" --disable-android_media"
+TERMUX_PKG_SHA256=13e7f479296891fef5a686438f20ba7d534680becf2269ecc5ee24aa83b45f03
\ No newline at end of file
diff --git a/packages/gstreamer/build.sh b/packages/gstreamer/build.sh
new file mode 100644 (file)
index 0000000..2efe36b
--- /dev/null
@@ -0,0 +1,31 @@
+TERMUX_PKG_HOMEPAGE=https://gstreamer.freedesktop.org/
+TERMUX_PKG_DESCRIPTION="Open source multimedia framework"
+TERMUX_PKG_VERSION=1.12.3
+TERMUX_PKG_SRCURL=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${TERMUX_PKG_VERSION}.tar.xz
+TERMUX_PKG_SHA256=d388f492440897f02b01eebb033ca2d41078a3d85c0eddc030cdea5a337a216e
+TERMUX_PKG_DEPENDS="glib"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-check --disable-tests --disable-examples --disable-benchmarks --with-unwind=no --with-dw=no"
+
+termux_step_post_make_install () {
+       for BINARY in gst-inspect-1.0 gst-stats-1.0 gst-typefind-1.0 gst-launch-1.0
+           do  
+               echo $BINARY
+               local LIBEXEC_BINARY=$TERMUX_PREFIX/libexec/$BINARY
+               local BIN_BINARY=$TERMUX_PREFIX/bin/$BINARY
+               local LIB_PATH=/system/lib
+               if [ ! "$TERMUX_ARCH_BITS" == "32" ]
+               then
+                       LIB_PATH+=64
+               fi
+                       
+               mv $BIN_BINARY $LIBEXEC_BINARY
+
+               cat << EOF > $BIN_BINARY
+#!/bin/sh
+
+# Avoid linker errors due to libOpenSLES.so:
+LD_LIBRARY_PATH=/system/lib64/:$TERMUX_PREFIX/lib exec $LIBEXEC_BINARY "\$@"
+EOF
+               chmod +x $BIN_BINARY
+       done
+}