gstreamer: use a patch instead of sed to fix gtk-doc makefiles

seds can get stale without warning and repeated application can cause problems,
so move the gtk-doc seds into a patch.

(From OE-Core rev: a704411ab0f1e5f8cbf57ff54b36d60ccaf0d223)

(From OE-Core rev: e0a4e78b879eeacff8ef6803c1345056abf018e7)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2017-12-20 13:03:03 +00:00
committed by Richard Purdie
parent 492f842360
commit b7376a36a3
4 changed files with 33 additions and 38 deletions

View File

@@ -0,0 +1,25 @@
Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient
binaries instead of libtool wrapper or running them directly.
Also substitute a bogus plugin scanner, as trying to run the real one is causing
issues during build on x86_64.
Upstream-Status: Inappropriate
Signed-off-by: Ross Burton <ross.burton@intel.com>
--- a/common/gtk-doc.mak.orig 2017-12-20 12:43:20.586474397 +0000
+++ b/common/gtk-doc.mak 2017-12-20 12:45:20.758874995 +0000
@@ -8,3 +8,3 @@
GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-GTKDOC_RUN = $(LIBTOOL) --mode=execute
+GTKDOC_RUN = $(top_builddir)/gtkdoc-qemuwrapper
else
@@ -12,3 +12,3 @@
GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-GTKDOC_RUN =
+GTKDOC_RUN = $(top_builddir)/gtkdoc-qemuwrapper
endif
@@ -99,2 +99,3 @@
fi; \
+ GST_PLUGIN_SCANNER_1_0="$(top_builddir)/libs/gst/helpers/gst-plugin-scanner-dummy" \
GST_PLUGIN_SYSTEM_PATH_1_0=`cd $(top_builddir) && pwd` \

View File

@@ -5,6 +5,8 @@ SECTION = "multimedia"
DEPENDS = "gstreamer1.0 glib-2.0-native"
SRC_URI_append = " file://gtk-doc-tweaks.patch"
inherit autotools pkgconfig upstream-version-is-even gobject-introspection gtk-doc
acpaths = "-I ${S}/common/m4 -I ${S}/m4"
@@ -34,18 +36,6 @@ delete_pkg_m4_file() {
rm -f "${S}/common/m4/gtk-doc.m4"
}
# gstreamer is not using system-wide makefiles (which we patch in gtkdoc recipe,
# but its own custom ones, which we have to patch here
patch_gtk_doc_makefiles() {
# Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries
# instead of libtool wrapper or running them directly
# Also substitute a bogus plugin scanner, as trying to run the real one is causing issues during build on x86_64.
sed -i \
-e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \
-e "s|\$(GTKDOC_EXTRA_ENVIRONMENT)|\$(GTKDOC_EXTRA_ENVIRONMENT) GST_PLUGIN_SCANNER_1_0=\$(top_builddir)/libs/gst/helpers/gst-plugin-scanner-dummy|" \
${S}/common/gtk-doc*mak
}
do_configure[prefuncs] += " delete_pkg_m4_file patch_gtk_doc_makefiles"
do_configure[prefuncs] += " delete_pkg_m4_file"
PACKAGES_DYNAMIC = "^${PN}-.*"

View File

@@ -9,7 +9,8 @@ PNREAL = "gst-rtsp-server"
SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \
file://0001-Don-t-hardcode-libtool-name-when-using-introspection.patch \
file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch"
file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
file://gtk-doc-tweaks.patch"
S = "${WORKDIR}/${PNREAL}-${PV}"
@@ -24,15 +25,5 @@ delete_pkg_m4_file() {
rm "${S}/common/m4/pkg.m4" || true
}
# gstreamer is not using system-wide makefiles (which we patch in gtkdoc recipe,
# but its own custom ones, which we have to patch here
patch_gtk_doc_makefiles() {
# Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries
# instead of libtool wrapper or running them directly
sed -i \
-e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \
${S}/common/gtk-doc*mak
}
do_configure[prefuncs] += " delete_pkg_m4_file patch_gtk_doc_makefiles"
do_configure[prefuncs] += " delete_pkg_m4_file"

View File

@@ -16,6 +16,7 @@ acpaths = "-I ${S}/common/m4 -I ${S}/m4"
SRC_URI_append = " \
file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
file://gtk-doc-tweaks.patch \
"
PACKAGECONFIG ??= ""
@@ -52,19 +53,7 @@ delete_pkg_m4_file() {
rm -f "${S}/common/m4/gtk-doc.m4"
}
# gstreamer is not using system-wide makefiles (which we patch in gtkdoc recipe,
# but its own custom ones, which we have to patch here
patch_gtk_doc_makefiles() {
# Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries
# instead of libtool wrapper or running them directly
# Also substitute a bogus plugin scanner, as trying to run the real one is causing issues during build on x86_64.
sed -i \
-e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \
-e "s|\$(GTKDOC_EXTRA_ENVIRONMENT)|\$(GTKDOC_EXTRA_ENVIRONMENT) GST_PLUGIN_SCANNER_1_0=\$(top_builddir)/libs/gst/helpers/gst-plugin-scanner-dummy|" \
${S}/common/gtk-doc*mak
}
do_configure[prefuncs] += " delete_pkg_m4_file patch_gtk_doc_makefiles"
do_configure[prefuncs] += "delete_pkg_m4_file"
do_compile_prepend() {
export GIR_EXTRA_LIBS_PATH="${B}/gst/.libs:${B}/libs/gst/base/.libs"