From f4a00893a4209330720c0366ddde6b9941ee3196 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 2 Feb 2018 19:38:14 +0200 Subject: gtk-doc: update to 1.27 Gtk-doc has been rewritten in Python, so drop perl dependencies (good riddance!), and adjust patches to reflect that. Signed-off-by: Alexander Kanavin Signed-off-by: Ross Burton --- ...r-out-if-perl-is-not-found-or-its-version.patch | 40 ------ ...hardocode-paths-to-perl-python-in-scripts.patch | 155 +++++++++++---------- .../gtk-doc/files/conditionaltests.patch | 26 +++- .../gtk-doc/files/pkg-config-native.patch | 22 ++- meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb | 54 ------- meta/recipes-gnome/gtk-doc/gtk-doc_1.27.bb | 49 +++++++ 6 files changed, 163 insertions(+), 183 deletions(-) delete mode 100644 meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-perl-is-not-found-or-its-version.patch delete mode 100644 meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb create mode 100644 meta/recipes-gnome/gtk-doc/gtk-doc_1.27.bb diff --git a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-perl-is-not-found-or-its-version.patch b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-perl-is-not-found-or-its-version.patch deleted file mode 100644 index 4a9028742c..0000000000 --- a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-perl-is-not-found-or-its-version.patch +++ /dev/null @@ -1,40 +0,0 @@ -From e733241fb580f032efbbe684ec35d4c9d27f1595 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 8 Sep 2016 13:38:39 +0300 -Subject: [PATCH] Do not error out if perl is not found or its version is too - old. - -This allows use to avoid depending on perl-native if we're not going -to use it (when api-docs are disabled). - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 2a61d6e..29415bd 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -36,7 +36,7 @@ dnl Check for Perl. - dnl - AC_PATH_PROG([PERL], [perl]) - if test -z "$PERL"; then -- AC_MSG_ERROR([perl not found]) -+ AC_MSG_WARN([perl not found]) - fi - - AC_MSG_CHECKING([if Perl version >= 5.18.0]) -@@ -44,7 +44,7 @@ if "$PERL" -e "require v5.18.0"; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) -- AC_MSG_ERROR([perl >= 5.18.0 is required for gtk-doc]) -+ AC_MSG_WARN([perl >= 5.18.0 is required for gtk-doc]) - fi - - dnl --- -2.9.3 - diff --git a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch index 477fc9ae8c..2fe3ab9221 100644 --- a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch +++ b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch @@ -1,7 +1,7 @@ -From 6fab82b93c7bd301eb42448515b02f7cb3306897 Mon Sep 17 00:00:00 2001 +From 928102874bc2339a1d57c6b178877e0c6002cb3a Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Wed, 31 Aug 2016 16:44:46 +0300 -Subject: [PATCH] Do not hardocode paths to perl/python in scripts. +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 @@ -9,131 +9,134 @@ on targets either. Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin + --- - gtkdoc-check.in | 2 +- - gtkdoc-common.pl.in | 2 +- - gtkdoc-depscan.in | 2 +- - gtkdoc-fixxref.in | 2 +- - gtkdoc-mkdb.in | 2 +- - gtkdoc-mktmpl.in | 2 +- - gtkdoc-rebase.in | 2 +- - gtkdoc-scan.in | 2 +- - gtkdoc-scangobj.in | 2 +- - tests/tools.sh.in | 4 ++-- - 10 files changed, 11 insertions(+), 11 deletions(-) + 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 560d69b..b60857f 100755 +index 8c8e917..f6a25f6 100755 --- a/gtkdoc-check.in +++ b/gtkdoc-check.in @@ -1,4 +1,4 @@ --#!@PERL@ -w -+#!/usr/bin/env perl - # -*- cperl -*- - # - # gtk-doc - GTK DocBook documentation generator. -diff --git a/gtkdoc-common.pl.in b/gtkdoc-common.pl.in -index 4747396..cfadb78 100644 ---- a/gtkdoc-common.pl.in -+++ b/gtkdoc-common.pl.in -@@ -1,4 +1,4 @@ --#!@PERL@ -w -+#!/usr/bin/env perl - # -*- cperl -*- +-#!@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 83af01b..917e247 100644 +index 9bfaf30..aadc952 100644 --- a/gtkdoc-depscan.in +++ b/gtkdoc-depscan.in @@ -1,4 +1,4 @@ -#!@PYTHON@ -+#!/usr/bin/env python ++#!/usr/bin/env python3 - import gzip, os.path, re + from __future__ import print_function diff --git a/gtkdoc-fixxref.in b/gtkdoc-fixxref.in -index 3d9e8d0..d55190b 100755 +index 0ea02d4..bdd443a 100755 --- a/gtkdoc-fixxref.in +++ b/gtkdoc-fixxref.in @@ -1,4 +1,4 @@ --#!@PERL@ -w -+#!/usr/bin/env perl - # -*- cperl -*- +-#!@PYTHON@ ++#!/usr/bin/env python3 + # -*- python -*- # # gtk-doc - GTK DocBook documentation generator. diff --git a/gtkdoc-mkdb.in b/gtkdoc-mkdb.in -index 8dd6d5e..d808750 100755 +index 42d5731..3a56d56 100755 --- a/gtkdoc-mkdb.in +++ b/gtkdoc-mkdb.in @@ -1,4 +1,4 @@ --#!@PERL@ -w -+#!/usr/bin/env perl - # -*- cperl -*- +-#!@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-mktmpl.in b/gtkdoc-mktmpl.in -index c64dfd3..2f46c18 100755 ---- a/gtkdoc-mktmpl.in -+++ b/gtkdoc-mktmpl.in +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 @@ --#!@PERL@ -w -+#!/usr/bin/env perl - # -*- cperl -*- +-#!@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 375482d..cf05b45 100644 +index 17a71c2..ec3fd28 100755 --- a/gtkdoc-rebase.in +++ b/gtkdoc-rebase.in @@ -1,4 +1,4 @@ --#!@PERL@ -w -+#!/usr/bin/env perl - # -*- cperl -*- +-#!@PYTHON@ ++#!/usr/bin/env python3 + # -*- python -*- # # gtk-doc - GTK DocBook documentation generator. diff --git a/gtkdoc-scan.in b/gtkdoc-scan.in -index 048e5c9..78c6136 100755 +index 954c811..f461504 100755 --- a/gtkdoc-scan.in +++ b/gtkdoc-scan.in @@ -1,4 +1,4 @@ --#!@PERL@ -w -+#!/usr/bin/env perl - # -*- cperl -*- +-#!@PYTHON@ ++#!/usr/bin/env python3 + # -*- python -*- # # gtk-doc - GTK DocBook documentation generator. diff --git a/gtkdoc-scangobj.in b/gtkdoc-scangobj.in -index fb66b76..67ee8f7 100644 +index 4cbe130..52c2c24 100644 --- a/gtkdoc-scangobj.in +++ b/gtkdoc-scangobj.in @@ -1,4 +1,4 @@ --#!@PERL@ -w -+#!/usr/bin/env perl - # -*- cperl -*- +-#!@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 a114a42..7073883 100644 +index 4d301d0..565fc1e 100644 --- a/tests/tools.sh.in +++ b/tests/tools.sh.in -@@ -11,7 +11,7 @@ echo "Running suite(s): gtk-doc-$suite"; - - # test perl scripts - for file in gtkdoc-check gtkdoc-fixxref gtkdoc-mkdb gtkdoc-mktmpl gtkdoc-rebase gtkdoc-scan gtkdoc-scangobj ; do -- @PERL@ -cwT `which $file` -+ perl -cwT `which $file` - if test $? = 1 ; then failed=`expr $failed + 1`; fi - tested=`expr $tested + 1` +@@ -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 -@@ -34,7 +34,7 @@ done - - - # test python scripts --@PYTHON@ -m py_compile `which gtkdoc-depscan` -+python -m py_compile `which gtkdoc-depscan` - if test $? != 0 ; then failed=`expr $failed + 1`; fi - tested=`expr $tested + 1` - -- -2.9.3 +2.14.1 diff --git a/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch b/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch index 0c180f2605..21c2db7826 100644 --- a/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch +++ b/meta/recipes-gnome/gtk-doc/files/conditionaltests.patch @@ -1,14 +1,23 @@ +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 -Index: gtk-doc-1.25/configure.ac -=================================================================== ---- gtk-doc-1.25.orig/configure.ac -+++ gtk-doc-1.25/configure.ac -@@ -161,6 +161,11 @@ if test "x$GCC" = "xyes"; then +--- + 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 @@ -20,7 +29,7 @@ Index: gtk-doc-1.25/configure.ac 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`" -@@ -171,6 +176,11 @@ PKG_CHECK_MODULES(TEST_DEPS, [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" ] ) @@ -30,5 +39,8 @@ Index: gtk-doc-1.25/configure.ac +fi + AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL" -a x$gtk_doc_use_libtool = xyes ) - dnl this enable the rule in test/Makefile.am + dnl this enables the rule in test/Makefile.am AM_CONDITIONAL(BUILD_TESTS, test x$build_tests = xyes) +-- +2.14.1 + diff --git a/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch b/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch index c7688704eb..bf03c8f613 100644 --- a/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch +++ b/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch @@ -1,24 +1,31 @@ -Use native pkg-config when looking for gtk-doc. +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(-) + diff --git a/gtk-doc.m4 b/gtk-doc.m4 -index 3675543..94881ae 100644 +index 3675543..2590e2a 100644 --- a/gtk-doc.m4 +++ b/gtk-doc.m4 @@ -1,6 +1,6 @@ dnl -*- mode: autoconf -*- - + -# serial 2 +# serial 2.1 - + dnl Usage: dnl GTK_DOC_CHECK([minimum-gtk-doc-version]) @@ -10,11 +10,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 + @@ -26,9 +33,12 @@ index 3675543..94881ae 100644 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' +-- +2.15.1 + diff --git a/meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb b/meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb deleted file mode 100644 index e0eb994e25..0000000000 --- a/meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb +++ /dev/null @@ -1,54 +0,0 @@ -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 perl-native" -PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0" - -# We cannot use host perl, because it may be too old for gtk-doc -EXTRANATIVEPATH += "perl-native" - -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://0001-Do-not-error-out-if-perl-is-not-found-or-its-version.patch \ - file://conditionaltests.patch \ - " -SRC_URI_append_class-native = " file://pkg-config-native.patch" - -SRC_URI[archive.md5sum] = "0dc6570953112a464a409fb99258ccbc" -SRC_URI[archive.sha256sum] = "1ea46ed400e6501f975acaafea31479cea8f32f911dca4dff036f59e6464fd42" - -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 -} diff --git a/meta/recipes-gnome/gtk-doc/gtk-doc_1.27.bb b/meta/recipes-gnome/gtk-doc/gtk-doc_1.27.bb new file mode 100644 index 0000000000..b907bae147 --- /dev/null +++ b/meta/recipes-gnome/gtk-doc/gtk-doc_1.27.bb @@ -0,0 +1,49 @@ +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 \ + " +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 1.2.3-korg