From eb8dc40360f0cfef56fb6947cc817a547d6d9bc6 Mon Sep 17 00:00:00 2001 From: Dave Cobbley Date: Tue, 14 Aug 2018 10:05:37 -0700 Subject: [Subtree] Removing import-layers directory As part of the move to subtrees, need to bring all the import layers content to the top level. Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f Signed-off-by: Dave Cobbley Signed-off-by: Brad Bishop --- ...Do-not-error-out-if-xsltproc-is-not-found.patch | 31 +++++ ...hardocode-paths-to-perl-python-in-scripts.patch | 142 +++++++++++++++++++++ .../gtk-doc/files/conditionaltests.patch | 46 +++++++ .../recipes-gnome/gtk-doc/files/no-clobber.patch | 27 ++++ .../gtk-doc/files/pkg-config-native.patch | 42 ++++++ poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.27.bb | 50 ++++++++ 6 files changed, 338 insertions(+) create mode 100644 poky/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch create mode 100644 poky/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch create mode 100644 poky/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch create mode 100644 poky/meta/recipes-gnome/gtk-doc/files/no-clobber.patch create mode 100644 poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch create mode 100644 poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.27.bb (limited to 'poky/meta/recipes-gnome/gtk-doc') diff --git a/poky/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch b/poky/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch new file mode 100644 index 000000000..99ae4d441 --- /dev/null +++ b/poky/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch @@ -0,0 +1,31 @@ +From 8b7fbbb405959f2868ad6eadd7dd00018758a8a5 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 7 Sep 2016 14:52:04 +0300 +Subject: [PATCH] Do not error out if xsltproc is not found. + +This allows us to drop the hard xsltproc dependency, if we're not +going to actually run the gtkdoc scripts (when api documentation is +disabled). + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index b0c88d7..2a61d6e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -58,7 +58,7 @@ dnl Check for xsltproc + dnl + AC_PATH_PROG([XSLTPROC], [xsltproc]) + if test -z "$XSLTPROC"; then +- AC_MSG_ERROR([xsltproc not found]) ++ AC_MSG_WARN([xsltproc not found]) + fi + + dnl +-- +2.9.3 + diff --git a/poky/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch b/poky/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch new file mode 100644 index 000000000..2fe3ab922 --- /dev/null +++ b/poky/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch @@ -0,0 +1,142 @@ +From 928102874bc2339a1d57c6b178877e0c6002cb3a Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 31 Aug 2016 16:44:46 +0300 +Subject: [PATCH 1/3] Do not hardocode paths to perl/python in scripts. + +Doing so when the interpreters are somewhere deep in a sysroot directory +can reach the shebang line limit, and resulting scripts wouldn't work +on targets either. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin + +--- + gtkdoc-check.in | 2 +- + gtkdoc-depscan.in | 2 +- + gtkdoc-fixxref.in | 2 +- + gtkdoc-mkdb.in | 2 +- + gtkdoc-mkhtml.in | 2 +- + gtkdoc-mkman.in | 2 +- + gtkdoc-mkpdf.in | 2 +- + gtkdoc-rebase.in | 2 +- + gtkdoc-scan.in | 2 +- + gtkdoc-scangobj.in | 2 +- + tests/tools.sh.in | 2 +- + 11 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/gtkdoc-check.in b/gtkdoc-check.in +index 8c8e917..f6a25f6 100755 +--- a/gtkdoc-check.in ++++ b/gtkdoc-check.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python3 + # -*- python; coding: utf-8 -*- + # + # gtk-doc - GTK DocBook documentation generator. +diff --git a/gtkdoc-depscan.in b/gtkdoc-depscan.in +index 9bfaf30..aadc952 100644 +--- a/gtkdoc-depscan.in ++++ b/gtkdoc-depscan.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python3 + + from __future__ import print_function + +diff --git a/gtkdoc-fixxref.in b/gtkdoc-fixxref.in +index 0ea02d4..bdd443a 100755 +--- a/gtkdoc-fixxref.in ++++ b/gtkdoc-fixxref.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python3 + # -*- python -*- + # + # gtk-doc - GTK DocBook documentation generator. +diff --git a/gtkdoc-mkdb.in b/gtkdoc-mkdb.in +index 42d5731..3a56d56 100755 +--- a/gtkdoc-mkdb.in ++++ b/gtkdoc-mkdb.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python3 + # -*- python; coding: utf-8 -*- + # + # gtk-doc - GTK DocBook documentation generator. +diff --git a/gtkdoc-mkhtml.in b/gtkdoc-mkhtml.in +index 0d0a15d..914ff55 100644 +--- a/gtkdoc-mkhtml.in ++++ b/gtkdoc-mkhtml.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python3 + # -*- python; coding: utf-8 -*- + # + # gtk-doc - GTK DocBook documentation generator. +diff --git a/gtkdoc-mkman.in b/gtkdoc-mkman.in +index c5445cd..65db71a 100644 +--- a/gtkdoc-mkman.in ++++ b/gtkdoc-mkman.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python3 + # -*- python; coding: utf-8 -*- + # + # gtk-doc - GTK DocBook documentation generator. +diff --git a/gtkdoc-mkpdf.in b/gtkdoc-mkpdf.in +index e8c0c03..f807236 100755 +--- a/gtkdoc-mkpdf.in ++++ b/gtkdoc-mkpdf.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python3 + # -*- python; coding: utf-8 -*- + # + # gtk-doc - GTK DocBook documentation generator. +diff --git a/gtkdoc-rebase.in b/gtkdoc-rebase.in +index 17a71c2..ec3fd28 100755 +--- a/gtkdoc-rebase.in ++++ b/gtkdoc-rebase.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python3 + # -*- python -*- + # + # gtk-doc - GTK DocBook documentation generator. +diff --git a/gtkdoc-scan.in b/gtkdoc-scan.in +index 954c811..f461504 100755 +--- a/gtkdoc-scan.in ++++ b/gtkdoc-scan.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python3 + # -*- python -*- + # + # gtk-doc - GTK DocBook documentation generator. +diff --git a/gtkdoc-scangobj.in b/gtkdoc-scangobj.in +index 4cbe130..52c2c24 100644 +--- a/gtkdoc-scangobj.in ++++ b/gtkdoc-scangobj.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python3 + # -*- python -*- + # + # gtk-doc - GTK DocBook documentation generator. +diff --git a/tests/tools.sh.in b/tests/tools.sh.in +index 4d301d0..565fc1e 100644 +--- a/tests/tools.sh.in ++++ b/tests/tools.sh.in +@@ -31,7 +31,7 @@ done + # TODO: test python 2 and 3 (python3 -mcompileall gtkdoc/*.py) + for file in gtkdoc-check gtkdoc-depscan gtkdoc-fixxref gtkdoc-mkdb gtkdoc-mkhtml gtkdoc-mkman gtkdoc-mkpdf gtkdoc-rebase gtkdoc-scangobj; do + fullfile=`which $file` +- @PYTHON@ -m py_compile $fullfile ++ python3 -m py_compile $fullfile + if test $? != 0 ; then failed=`expr $failed + 1`; fi + tested=`expr $tested + 1` + done +-- +2.14.1 + diff --git a/poky/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch b/poky/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch new file mode 100644 index 000000000..21c2db782 --- /dev/null +++ b/poky/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch @@ -0,0 +1,46 @@ +From 78bbf185934147a69ceb4b617d424e12e70997bf Mon Sep 17 00:00:00 2001 +From: Richard Purdie +Date: Tue, 27 Jun 2017 21:00:58 +0100 +Subject: [PATCH 3/3] gtk-doc: Handle floating gtk-doc dependency + +Allow the tests to be explicitly disabled to avoid floating dependnecy +issues. This is not really an issue with RSS but is on previous releases. + +RP 2017/6/27 +Upstream-Status: Pending + +--- + configure.ac | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 684e2d1..e5e3aab 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -146,6 +146,11 @@ if test "x$GCC" = "xyes"; then + fi + fi + ++AC_ARG_ENABLE([tests], ++ AS_HELP_STRING([--enable-tests], ++ [enable tests (default=yes)]),, ++ [enable_tests="yes"]) ++ + dnl if glib is available we can enable the tests + PKG_CHECK_MODULES(TEST_DEPS, [glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0], + [ glib_prefix="`$PKG_CONFIG --variable=prefix glib-2.0`" +@@ -156,6 +161,11 @@ PKG_CHECK_MODULES(TEST_DEPS, [glib-2.0 >= 2.6.0 gobject-2.0 >= 2.6.0], + build_tests="no" + ] + ) ++if test "x$enable_tests" != "xyes"; then ++ gtk_doc_use_libtool="no" ++ build_tests="no" ++fi ++ + AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL" -a x$gtk_doc_use_libtool = xyes ) + dnl this enables the rule in test/Makefile.am + AM_CONDITIONAL(BUILD_TESTS, test x$build_tests = xyes) +-- +2.14.1 + diff --git a/poky/meta/recipes-gnome/gtk-doc/files/no-clobber.patch b/poky/meta/recipes-gnome/gtk-doc/files/no-clobber.patch new file mode 100644 index 000000000..0fa22b209 --- /dev/null +++ b/poky/meta/recipes-gnome/gtk-doc/files/no-clobber.patch @@ -0,0 +1,27 @@ +In out-of-tree builds gtk-doc's setup-build target copies all the content from $srcdir to $builddir. + +However, if some of this content is regenerated at configure time this can happen: + +1) configure writes new build/version.xml +2) make compile copies content, including the tarball's src/version.xml + to build/version.xml, and generates gtk-doc. +3) make install notices build/version.xml is older than configure.status, + so regenerates gtk-doc. + +gtk-doc generation is a slow process at the best of times, so doing it twice isn't good. + +Solve this by changing cp --force to cp --no-clobber, so setup-build only copies +files which don't already exist. + +Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=794571] +Signed-off-by: Ross Burton + +diff --git a/gtk-doc.make b/gtk-doc.make +index f87eaab..246f3c0 100644 +--- a/gtk-doc.make ++++ b/gtk-doc.make +@@ -113,3 +113,3 @@ setup-build.stamp: + test -f $(abs_srcdir)/$$file && \ +- cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \ ++ cp -pn $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \ + done; \ diff --git a/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch b/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch new file mode 100644 index 000000000..bfbc777ff --- /dev/null +++ b/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch @@ -0,0 +1,42 @@ +From 5f145621b4780cfd6a5632fcc97c45f572938efc Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Mon, 5 Sep 2016 22:25:44 +0100 +Subject: [PATCH 5/5] Use native pkg-config when looking for gtk-doc. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton + +--- + gtk-doc.m4 | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +Index: gtk-doc-1.27/gtk-doc.m4 +=================================================================== +--- gtk-doc-1.27.orig/gtk-doc.m4 ++++ gtk-doc-1.27/gtk-doc.m4 +@@ -25,7 +25,7 @@ + # Macro appear in them. The GNU General Public License (GPL) does govern + # all other use of the material that constitutes the Autoconf Macro. + +-# serial 2 ++# serial 2.1 + + dnl Usage: + dnl GTK_DOC_CHECK([minimum-gtk-doc-version]) +@@ -35,11 +35,16 @@ AC_DEFUN([GTK_DOC_CHECK], + AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first + AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first + ++ gtkdoc_pkgconfig_save=$PKG_CONFIG ++ PKG_CONFIG=pkg-config-native ++ + ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"]) + AC_MSG_CHECKING([for gtk-doc]) + PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no]) + AC_MSG_RESULT($have_gtk_doc) + ++ PKG_CONFIG=$gtkdoc_pkgconfig_save ++ + if test "$have_gtk_doc" = "no"; then + AC_MSG_WARN([ + You will not be able to create source packages with 'make dist' diff --git a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.27.bb b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.27.bb new file mode 100644 index 000000000..45528111c --- /dev/null +++ b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.27.bb @@ -0,0 +1,50 @@ +SUMMARY = "Documentation generator for glib-based software" +DESCRIPTION = "Gtk-doc is a set of scripts that extract specially formatted comments \ + from glib-based software and produce a set of html documentation files from them" +HOMEPAGE = "http://www.gtk.org/gtk-doc/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +inherit gnomebase + +# Configure the scripts correctly (and build their dependencies) only if they are actually +# going to be used; otheriwse we need only the m4/makefile includes from the gtk-doc tarball. +PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "working-scripts", "", d)}" + +# This will cause target gtk-doc to hardcode paths of native dependencies +# into its scripts. This means that target gtk-doc package is broken; +# hopefully no one minds because its scripts are not used for anything during build +# and shouldn't be used on targets. +PACKAGECONFIG[working-scripts] = "--with-highlight=source-highlight,--with-highlight=no,libxslt-native xmlto-native source-highlight-native python3-six" +PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0" + +SRC_URI[archive.md5sum] = "b29949e0964762e474b706ce22171602" +SRC_URI[archive.sha256sum] = "e26bd3f7080c749b1cb66c46c6bf8239e2f320a949964fb9c6d56e1b0c6d9a6f" +SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \ + file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \ + file://conditionaltests.patch \ + file://no-clobber.patch \ + " +SRC_URI_append_class-native = " file://pkg-config-native.patch" + +BBCLASSEXTEND = "native nativesdk" + +# Do not check for XML catalogs when building because that +# information is not used for anything during build. Recipe +# dependencies make sure we have all the right bits. +do_configure_prepend() { + sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac +} + +FILES_${PN} += "${datadir}/sgml" +FILES_${PN}-dev += "${libdir}/cmake" +FILES_${PN}-doc = "" + +SYSROOT_PREPROCESS_FUNCS_append_class-native = " gtkdoc_makefiles_sysroot_preprocess" +gtkdoc_makefiles_sysroot_preprocess() { + # 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|" \ + ${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make +} -- cgit v1.2.1