Enable gtk-doc
cover Enable gtk-doc
This patchset adds gtk-doc support to OE-core. It requires running transient binaries during build time, which is achieved via qemu, and so there are all the same caveats as with gobject-introspection.
Gtk-doc generation happens if 'api-documentation' distro feature is enabled (it is by default), and 'qemu-usermode' is in machine features. Disable the former if api documentation is not needed in your distro; disable the latter if qemu does not work correctly for your target machine.
Gtk-doc support is a part of a broader task to enable API documentation support in OE-core; later on I will add support for doxygen and docbook, enable more manpages, and clean up the legacy SGML stack if possible.
The following changes since commit a81b326933d15f08e06780f92d8dc0d4efb3cd23:
combo-layer: python3: fix UnicodeDecodeError (2016-08-24 13:58:28 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib akanavin/enable-documentation
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=akanavin/enable-documentation
Alexander Kanavin (28):
source-highlight: add a recipe
gtk-doc: add a recipe, remove gtk-doc-stub bitbake.conf: add "api-documentation" to default distro features gtk-doc.bbclass: enable building gtk-doc based documentation
kmod: do not let gtkdocize fail
systemd: drop unused gtkdoc-related variable
libglade: remove the recipe
gstreamer1.0: enable gtk-doc support
webkitgtk: enable gtk-doc support
gcr: disable gtk-doc on x86_64
gcr, libsecret, webkitgtk: disable gtk-doc on mips64
webkitgtk: re-enable introspection on powerpc
dbus-glib: enable gtk-doc
orc: enable gtk-doc
libidn: enable gtk-doc
libuser: enable gtk-doc
gdk-pixbuf: enable gtk-doc
gnome-desktop3: enable gtk-doc
json-glib: enable gtk-doc
libgudev: enable gtk-doc
libenck3: enable gtk-doc
cairo: enable gtk-doc
harfbuzz: enable gtk-doc
gnutls: enable gtk-doc
libtasn1: enable gtk-doc
libsoup-2.4: enable gtk-doc
p11-kit: enable gtk-doc
util-linux: do not enable gtk-doc and explain why
meta/classes/gtk-doc.bbclass | 72 ++- meta/conf/bitbake.conf | 2 +- meta/conf/distro/include/security_flags.inc | 1 + meta/recipes-core/dbus/dbus-glib.inc | 2 +- meta/recipes-core/systemd/systemd_230.bb | 2 - meta/recipes-core/util-linux/util-linux.inc | 1 + meta/recipes-devtools/orc/orc_0.4.25.bb | 2 +- meta/recipes-extended/libidn/libidn_1.33.bb | 2 +- meta/recipes-extended/libuser/libuser_0.62.bb | 2 +- meta/recipes-gnome/gcr/gcr_3.20.0.bb | 4 +- meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.34.0.bb | 2 +- .../gnome-desktop/gnome-desktop3_3.20.2.bb | 2 +- ...t-Import-introspection-stub-machinery-too.patch | 305 ------------- .../recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb | 33 -- meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb | 37 ++ meta/recipes-gnome/json-glib/json-glib_1.2.2.bb | 2 +- .../libglade/libglade-2.6.4/glade-cruft.patch | 102 ----- .../libglade/libglade-2.6.4/no-xml2.patch | 501 --------------------- .../libglade-2.6.4/python_environment.patch | 14 - meta/recipes-gnome/libglade/libglade_2.6.4.bb | 31 -- meta/recipes-gnome/libgudev/libgudev_230.bb | 2 +- meta/recipes-gnome/libsecret/libsecret_0.18.5.bb | 2 +- meta/recipes-gnome/libwnck/libwnck3_3.20.1.bb | 2 +- meta/recipes-graphics/cairo/cairo.inc | 2 +- meta/recipes-graphics/harfbuzz/harfbuzz_1.3.0.bb | 2 +- meta/recipes-kernel/kmod/kmod.inc | 2 +- .../gstreamer/gstreamer1.0-libav.inc | 2 +- .../gstreamer/gstreamer1.0-omx.inc | 2 +- .../gstreamer/gstreamer1.0-plugins.inc | 14 +- .../gstreamer/gstreamer1.0-rtsp-server.inc | 14 +- meta/recipes-multimedia/gstreamer/gstreamer1.0.inc | 16 +- ...c-settings-so-that-gtkdoc-generation-work.patch | 49 ++ meta/recipes-sato/webkit/webkitgtk_2.12.3.bb | 13 +- meta/recipes-support/gnutls/gnutls.inc | 4 +- meta/recipes-support/gnutls/libtasn1_4.9.bb | 2 +- meta/recipes-support/libsoup/libsoup-2.4_2.54.1.bb | 2 +- meta/recipes-support/p11-kit/p11-kit_0.22.1.bb | 22 +- ...light.pc.in-do-not-add-Boost-s-libraries-.patch | 30 ++ .../source-highlight/source-highlight_3.1.8.bb | 28 ++ 39 files changed, 287 insertions(+), 1042 deletions(-) delete mode 100644 meta/recipes-gnome/gtk-doc-stub/files/0001-Revert-Import-introspection-stub-machinery-too.patch delete mode 100644 meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb create mode 100644 meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb delete mode 100644 meta/recipes-gnome/libglade/libglade-2.6.4/glade-cruft.patch delete mode 100644 meta/recipes-gnome/libglade/libglade-2.6.4/no-xml2.patch delete mode 100644 meta/recipes-gnome/libglade/libglade-2.6.4/python_environment.patch delete mode 100644 meta/recipes-gnome/libglade/libglade_2.6.4.bb create mode 100644 meta/recipes-sato/webkit/files/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch create mode 100644 meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch create mode 100644 meta/recipes-support/source-highlight/source-highlight_3.1.8.bb
Signature · 1 line
2.9.3
PATCH 1/28 source-highlight: add a recipe
gtk-doc relies on this to highlight source code snippets
--- meta/conf/distro/include/security_flags.inc | 1 + ...light.pc.in-do-not-add-Boost-s-libraries-.patch | 30 ++++++++++++++++++++++ .../source-highlight/source-highlight_3.1.8.bb | 28 ++++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch create mode 100644 meta/recipes-support/source-highlight/source-highlight_3.1.8.bb
meta/conf/distro/include/security_flags.inc +1 -0
@@ -80,6 +80,7 @@ SECURITY_CFLAGS_pn-python3 = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-rpm = "${lcl_maybe_fortify} -fstack-protector" SECURITY_CFLAGS_pn-syslinux = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-slang = "${SECURITY_NO_PIE_CFLAGS}" +SECURITY_CFLAGS_pn-source-highlight = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-tcl = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-tiff = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-uclibc = ""
meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch new file +30 -0
@@ -0,0 +1,30 @@ +From 9aa01fd5f9d8b2b98c34684dc8f68115750ef41c Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <[email protected]> +Date: Tue, 12 Jul 2016 17:15:13 +0300 +Subject: [PATCH] source-highlight.pc.in: do not add Boost's libraries and + includes + +This breaks when compiling in sysroots; a proper way is to use Depends + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <[email protected]> +--- + source-highlight.pc.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/source-highlight.pc.in b/source-highlight.pc.in +index 79ab63e..64114a7 100644 +--- a/source-highlight.pc.in ++++ b/source-highlight.pc.in +@@ -7,6 +7,6 @@ Name: libsource-highlight + Description: GNU Source-highlight library. + URL: http://www.gnu.org/software/src-highlite/ + Version: @VERSION@ +-Libs: -L${libdir} -lsource-highlight @BOOST_LDFLAGS@ @BOOST_REGEX_LIB@ +-Cflags: -I${includedir} @BOOST_CPPFLAGS@ ++Libs: -L${libdir} -lsource-highlight ++Cflags: -I${includedir} + +-- +2.8.1 +
meta/recipes-support/source-highlight/source-highlight_3.1.8.bb new file +28 -0
@@ -0,0 +1,28 @@ +SUMMARY = "Syntax highlight utility" +DESCRIPTION = "Source-highlight converts source code to formatted text with syntax highlighting." +HOMEPAGE = "https://www.gnu.org/software/src-highlite/" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=ff95bfe019feaf92f524b73dd79e76eb" + +SRC_URI = "${GNU_MIRROR}/src-highlite/${BPN}-${PV}.tar.gz \ + file://0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch" +SRC_URI[md5sum] = "3243470706ef5fefdc3e43b5306a4e41" +SRC_URI[sha256sum] = "01336a7ea1d1ccc374201f7b81ffa94d0aecb33afc7d6903ebf9fbf33a55ada3" + +inherit autotools + +DEPENDS_append = " boost" + +DEPENDS_append_class-target = " source-highlight-native" + +EXTRA_OECONF = "--with-boost=${PKG_CONFIG_SYSROOT_DIR}/${prefix}" + +BBCLASSEXTEND = "native" + +# source-highlight is using its own binary from the build tree to make documentation +# let's substitute the native binary instead +do_configure_prepend_class-target () { + sed -i -e 's,^SRCHILITEEXE = $(top_builddir).*,SRCHILITEEXE = source-highlight,' ${S}/doc/Makefile.am +} + +RDEPENDS_source-highlight += "bash"
Signature · 1 line
2.9.3
PATCH 2/28 gtk-doc: add a recipe, remove gtk-doc-stub
In reply to Alexander Kanavin--- ...t-Import-introspection-stub-machinery-too.patch | 305 --------------------- .../recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb | 33 --- meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb | 37 +++ 3 files changed, 37 insertions(+), 338 deletions(-) delete mode 100644 meta/recipes-gnome/gtk-doc-stub/files/0001-Revert-Import-introspection-stub-machinery-too.patch delete mode 100644 meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb create mode 100644 meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb
meta/recipes-gnome/gtk-doc-stub/files/0001-Revert-Import-introspection-stub-machinery-too.patch deleted +0 -305
@@ -1,305 +0,0 @@ -From d636be29bf95396b4e27fcd17ff84cb7091cca91 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <[email protected]> -Date: Thu, 8 Oct 2015 15:37:40 +0300 -Subject: [PATCH] Revert "Import introspection stub machinery too" - -This reverts commit 3dfd0a09de696ec8c544762747f8a0f77153622e. -As we provide the full introspection support, we need to remove -the stubs from this package that conflict with it. - -Upstream-Status: Pending [review on oe-core list] -Signed-off-by: Alexander Kanavin <[email protected]> ---- - Makefile | 4 -- - Makefile.introspection | 163 ------------------------------------------------- - introspection.m4 | 96 ----------------------------- - 3 files changed, 263 deletions(-) - delete mode 100644 Makefile.introspection - delete mode 100644 introspection.m4 - -diff --git a/Makefile b/Makefile -index 7cb6ce5..ad4231a 100644 ---- a/Makefile -+++ b/Makefile -@@ -23,7 +23,3 @@ install: $(bin_programs) - - mkdir -p $(DESTDIR)$(datarootdir)/aclocal/ - install -m 0644 $(srcdir)/gtk-doc.m4 $(DESTDIR)$(datarootdir)/aclocal/gtk-doc.m4 -- -- mkdir -p $(DESTDIR)$(datarootdir)/gobject-introspection-1.0 -- install -m 0644 $(srcdir)/Makefile.introspection $(DESTDIR)$(datarootdir)/gobject-introspection-1.0/Makefile.introspection -- install -m 0644 $(srcdir)/introspection.m4 $(DESTDIR)$(datarootdir)/aclocal/introspection.m4 -diff --git a/Makefile.introspection b/Makefile.introspection -deleted file mode 100644 -index 755dd15..0000000 ---- a/Makefile.introspection -+++ /dev/null -@@ -1,163 +0,0 @@ --# -*- Mode: make -*- --# Copyright 2009-2010 Johan Dahlin --# --# This file is free software; the author(s) gives unlimited --# permission to copy and/or distribute it, with or without --# modifications, as long as this notice is preserved. --# --# * Input variables: --# --# INTROSPECTION_GIRS - List of GIRS that should be generated --# INTROSPECTION_SCANNER - Command to invoke scanner, normally set by --# GOBJECT_INTROSPECTION_REQUIRE/CHECK() in introspection.m4 --# INTROSPECTION_SCANNER_ARGS - Additional args to pass in to the scanner --# INTROSPECTION_SCANNER_ENV - Environment variables to set before running --# the scanner --# INTROSPECTION_COMPILER - Command to invoke compiler, normally set by --# GOBJECT_INTROSPECTION_REQUIRE/CHECK() in introspection.m4 --# INTROSPECTION_COMPILER_ARGS - Additional args to pass in to the compiler --# --# * Simple tutorial --# --# Add this to configure.ac: --# -Wno-portability to AM_INIT_AUTOMAKE --# GOBJECT_INTROSPECTION_CHECK([0.6.7]) --# --# Add this to Makefile.am where your library/program is built: --# include $(INTROSPECTION_MAKEFILE) --# INTROSPECTION_GIRS = YourLib-1.0.gir --# YourLib_1_0_gir_NAMESPACE = YourLib --# YourLib_1_0_gir_VERSION = 1.0 --# YourLib_1_0_gir_LIBS = libyourlib.la --# YourLib_1_0_gir_FILES = $(libyourlib_1_0_SOURCES) --# girdir = $(datadir)/gir-1.0 --# dist_gir_DATA = YourLib-1.0.gir --# typelibdir = $(libdir)/girepository-1.0 --# typelib_DATA = YourLib-1.0.typelib --# CLEANFILES = $(dist_gir_DATA) $(typelib_DATA) --# -- --# Make sure the required variables are set, these should under normal --# circumstances come from introspection.m4 --$(if $(INTROSPECTION_SCANNER),,$(error Need to define INTROSPECTION_SCANNER)) --$(if $(INTROSPECTION_COMPILER),,$(error Need to define INTROSPECTION_COMPILER)) -- --# Private functions -- --## Transform the gir filename to something which can reference through a variable --## without automake/make complaining, eg Gtk-2.0.gir -> Gtk_2_0_gir --_gir_name = $(subst /,_,$(subst -,_,$(subst .,_,$(1)))) -- --# Namespace and Version is either fetched from the gir filename --# or the _NAMESPACE/_VERSION variable combo --_gir_namespace = $(or $($(_gir_name)_NAMESPACE),$(firstword $(subst -, ,$(notdir $(1))))) --_gir_version = $(or $($(_gir_name)_VERSION),$(lastword $(subst -, ,$(1:.gir=)))) -- --# _PROGRAM is an optional variable which needs it's own --program argument --_gir_program = $(if $($(_gir_name)_PROGRAM),--program=$($(_gir_name)_PROGRAM)) -- --# Variables which provides a list of things --_gir_libraries = $(foreach lib,$($(_gir_name)_LIBS),--library=$(lib)) --_gir_packages = $(foreach pkg,$($(_gir_name)_PACKAGES),--pkg=$(pkg)) --_gir_includes = $(foreach include,$($(_gir_name)_INCLUDES),--include=$(include)) --_gir_export_packages = $(foreach pkg,$($(_gir_name)_EXPORT_PACKAGES),--pkg-export=$(pkg)) -- --# Reuse the LIBTOOL variable from automake if it's set, but --# work around MSYS weirdness: When running g-ir-scanner, MSYS changes --# a command-line argument --libtool="/bin/sh ../../libtool" into --# --libtool=c:/opt/msys/1.0/bin/libtool. So just use sh.exe without path --# because we already "know" where the libtool configure produced is. --_gir_libtool = $(if $(findstring MINGW32,$(shell uname -s)),--libtool="$(top_builddir)/libtool",$(if $(LIBTOOL),--libtool="$(LIBTOOL)")) -- --# Macros for AM_SILENT_RULES prettiness --_gir_verbosity = $(if $(AM_DEFAULT_VERBOSITY),$(AM_DEFAULT_VERBOSITY),1) -- --_gir_silent_scanner_prefix = $(_gir_silent_scanner_prefix_$(V)) --_gir_silent_scanner_prefix_ = $(_gir_silent_scanner_prefix_$(_gir_verbosity)) --_gir_silent_scanner_prefix_0 = @echo " GISCAN $(1)"; --_gir_silent_scanner_opts = $(_gir_silent_scanner_opts_$(V)) --_gir_silent_scanner_opts_ = $(_gir_silent_scanner_opts_$(_gir_verbosity)) --_gir_silent_scanner_opts_0 = --quiet -- --_gir_silent_compiler = $(_gir_silent_compiler_$(V)) --_gir_silent_compiler_ = $(_gir_silent_compiler_$(_gir_verbosity)) --_gir_silent_compiler_0 = @echo " GICOMP $(1)"; -- --# --# Creates a GIR by scanning C headers/sources --# $(1) - Name of the gir file (output) --# --# If output is Gtk-2.0.gir then you should name the variables like --# Gtk_2_0_gir_NAMESPACE, Gtk_2_0_gir_VERSION etc. --# Required variables: --# FILES - C sources and headers which should be scanned --# --# One of these variables are required: --# LIBS - Library where the symbol represented in the gir can be found --# PROGRAM - Program where the symbol represented in the gir can be found --# --# Optional variables --# NAMESPACE - Namespace of the gir, first letter capital, --# rest should be lower case, for instance: 'Gtk', 'Clutter', 'ClutterGtk'. --# If not present the namespace will be fetched from the gir filename, --# the part before the first dash. For 'Gtk-2.0', namespace will be 'Gtk'. --# VERSION - Version of the gir, if not present, will be fetched from gir --# filename, the part after the first dash. For 'Gtk-2.0', version will be '2.0'. --# LIBTOOL - Command to invoke libtool, usually set by automake --# SCANNERFLAGS - Flags to pass in to the scanner, see g-ir-scanner(1) for a list --# CFLAGS - Flags to pass in to the parser when scanning headers --# LDFLAGS - Linker flags used by the scanner --# PACKAGES - list of pkg-config names which cflags are required to parse --# the headers of this gir --# INCLUDES - Gir files to include without the .gir suffix, for instance --# GLib-2.0, Gtk-2.0. This is needed for all libraries which you depend on that --# provides introspection information. --# EXPORT_PACKAGES - list of pkg-config names that are provided by this gir. --# By default the names in the PACKAGES variable will be used. --# -- --define introspection-scanner -- --# Basic sanity check, to make sure required variables are set --$(if $($(_gir_name)_FILES),,$(error Need to define $(_gir_name)_FILES)) --$(if $(or $(findstring --header-only,$($(_gir_name)_SCANNERFLAGS)), -- $($(_gir_name)_LIBS), -- $($(_gir_name)_PROGRAM)),, -- $(error Need to define $(_gir_name)_LIBS or $(_gir_name)_PROGRAM)) -- --# Only dependencies we know are actually filenames goes into _FILES, make --# sure these are built before running the scanner. Libraries and programs --# needs to be added manually. --$(1): $$($(_gir_name)_FILES) -- @ $(MKDIR_P) $(dir $(1)) -- $(_gir_silent_scanner_prefix) $(INTROSPECTION_SCANNER_ENV) $(INTROSPECTION_SCANNER) $(_gir_silent_scanner_opts) \ -- $(INTROSPECTION_SCANNER_ARGS) \ -- --namespace=$(_gir_namespace) \ -- --nsversion=$(_gir_version) \ -- $(_gir_libtool) \ -- $(_gir_packages) \ -- $(_gir_includes) \ -- $(_gir_export_packages) \ -- $(_gir_program) \ -- $(_gir_libraries) \ -- $($(_gir_name)_SCANNERFLAGS) \ -- $($(_gir_name)_CFLAGS) \ -- $($(_gir_name)_LDFLAGS) \ -- $$^ \ -- --output $(1) --endef -- --$(foreach gir,$(INTROSPECTION_GIRS),$(eval $(call introspection-scanner,$(gir)))) -- --# --# Compiles a gir into a typelib --# $(1): gir filename (input) --# $(2): typelib filename (output) --# --define introspection-compiler --$(_gir_silent_compiler) $(INTROSPECTION_COMPILER) $(INTROSPECTION_COMPILER_ARGS) --includedir=. $(1) -o $(2) --endef -- --# Simple rule to compile a typelib. --%.typelib: %.gir -- $(call introspection-compiler,$<,$@) -diff --git a/introspection.m4 b/introspection.m4 -deleted file mode 100644 -index d89c3d9..0000000 ---- a/introspection.m4 -+++ /dev/null -@@ -1,96 +0,0 @@ --dnl -*- mode: autoconf -*- --dnl Copyright 2009 Johan Dahlin --dnl --dnl This file is free software; the author(s) gives unlimited --dnl permission to copy and/or distribute it, with or without --dnl modifications, as long as this notice is preserved. --dnl -- --# serial 1 -- --m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL], --[ -- AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first -- AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first -- AC_BEFORE([LT_INIT],[$0])dnl setup libtool first -- -- dnl enable/disable introspection -- m4_if([$2], [require], -- [dnl -- enable_introspection=yes -- ],[dnl -- AC_ARG_ENABLE(introspection, -- AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]], -- [Enable introspection for this build]),, -- [enable_introspection=auto]) -- ])dnl -- -- AC_MSG_CHECKING([for gobject-introspection]) -- -- dnl presence/version checking -- AS_CASE([$enable_introspection], -- [no], [dnl -- found_introspection="no (disabled, use --enable-introspection to enable)" -- ],dnl -- [yes],[dnl -- PKG_CHECK_EXISTS([gobject-introspection-1.0],, -- AC_MSG_ERROR([gobject-introspection-1.0 is not installed])) -- PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], -- found_introspection=yes, -- AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME])) -- ],dnl -- [auto],[dnl -- PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no) -- dnl Canonicalize enable_introspection -- enable_introspection=$found_introspection -- ],dnl -- [dnl -- AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@]) -- ])dnl -- -- AC_MSG_RESULT([$found_introspection]) -- -- INTROSPECTION_SCANNER= -- INTROSPECTION_COMPILER= -- INTROSPECTION_GENERATE= -- INTROSPECTION_GIRDIR= -- INTROSPECTION_TYPELIBDIR= -- if test "x$found_introspection" = "xyes"; then -- INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` -- INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` -- INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` -- INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` -- INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" -- INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` -- INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` -- INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection -- fi -- AC_SUBST(INTROSPECTION_SCANNER) -- AC_SUBST(INTROSPECTION_COMPILER) -- AC_SUBST(INTROSPECTION_GENERATE) -- AC_SUBST(INTROSPECTION_GIRDIR) -- AC_SUBST(INTROSPECTION_TYPELIBDIR) -- AC_SUBST(INTROSPECTION_CFLAGS) -- AC_SUBST(INTROSPECTION_LIBS) -- AC_SUBST(INTROSPECTION_MAKEFILE) -- -- AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes") --]) -- -- --dnl Usage: --dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version]) -- --AC_DEFUN([GOBJECT_INTROSPECTION_CHECK], --[ -- _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1]) --]) -- --dnl Usage: --dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version]) -- -- --AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE], --[ -- _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require]) --]) --- -2.1.4 -
meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb deleted +0 -33
@@ -1,33 +0,0 @@ -SUMMARY = "Stub implementation of gtk-doc" -DESCRIPTION = "Stub implementation of gtk-doc, as we don't want to build the API documentation" -SECTION = "x11/base" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -PROVIDES = "gtk-doc" - -SRCREV = "1dea266593edb766d6d898c79451ef193eb17cfa" -PV = "1.1+git${SRCPV}" - -SRC_URI = "git://git.gnome.org/${BPN} \ - file://0001-Revert-Import-introspection-stub-machinery-too.patch \ - " - -S = "${WORKDIR}/git" - -do_configure() { - ./configure --prefix=${prefix} \ - --sysconfdir=${sysconfdir} \ - --bindir=${bindir} \ - --libdir=${libdir} \ - --datadir=${datadir} \ - --datarootdir=${datadir} -} - -do_install() { - oe_runmake install DESTDIR="${D}" -} - -FILES_${PN} += "${datadir}" - -BBCLASSEXTEND = "native"
meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb new file +37 -0
@@ -0,0 +1,37 @@ +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 pythonnative perlnative +DEPENDS_append = "libxslt xmlto source-highlight-native" +EXTRA_OECONF_append = " --with-highlight=source-highlight" +EXTRA_OECONF_append_class-native = " --with-xml-catalog=${sysconfdir}/xml/catalog.xml" + +SRC_URI[archive.md5sum] = "0dc6570953112a464a409fb99258ccbc" +SRC_URI[archive.sha256sum] = "1ea46ed400e6501f975acaafea31479cea8f32f911dca4dff036f59e6464fd42" + +BBCLASSEXTEND = "native" + +# do not check for XML catalogs when building for target because +# they are not installed into target sysroot, and are not used +# for anything during build +do_configure_prepend_class-target() { + 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 +} +
Signature · 1 line
2.9.3
PATCH 3/28 bitbake.conf: add "api-documentation" to default distro features
In reply to Alexander Kanavin--- meta/conf/bitbake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/conf/bitbake.conf +1 -1
@@ -764,7 +764,7 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" EXTRA_IMAGE_FEATURES ??= "" IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}" -DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-introspection-data" +DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-introspection-data api-documentation" MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode" COMBINED_FEATURES = "${@oe.utils.set_intersect('DISTRO_FEATURES', 'MACHINE_FEATURES', d)}"
Signature · 1 line
2.9.3
PATCH 4/28 gtk-doc.bbclass: enable building gtk-doc based documentation
In reply to Alexander KanavinThis is done similarly to gobject-introspection, but with much less delicate hacking around the upstream way of working.
--- meta/classes/gtk-doc.bbclass | 72 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 58 insertions(+), 14 deletions(-)
meta/classes/gtk-doc.bbclass +58 -14
@@ -1,25 +1,69 @@ -# Helper class to pull in the right gtk-doc dependencies and disable -# gtk-doc. +# Helper class to pull in the right gtk-doc dependencies and configure +# gtk-doc to enable or disable documentation building (which requries the +# use of usermode qemu). + +# This variable is set to True if api-documentation is in +# DISTRO_FEATURES and qemu-usermode is in MACHINE_FEATURES, and False otherwise. # -# Long-term it would be great if this class could be toggled between -# gtk-doc-stub-native and the real gtk-doc-native, which would enable -# re-generation of documentation. For now, we'll make do with this which -# packages up any existing documentation (so from tarball builds). +# It should be used in recipes to determine whether gtk-doc based documentation should be built, +# so that qemu use can be avoided when necessary. +GTKDOC_ENABLED = "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', \ + bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d), 'False', d)}" + +EXTRA_OECONF_prepend_class-target = "${@bb.utils.contains('GTKDOC_ENABLED', 'True', '--enable-gtk-doc --enable-gtk-doc-html --disable-gtk-doc-pdf', \ + '--disable-gtk-doc', d)} " + +# When building native recipes, disable gtkdoc, as it is not necessary, +# pulls in additional dependencies, and makes build times longer +EXTRA_OECONF_prepend_class-native = "--disable-gtk-doc " +EXTRA_OECONF_prepend_class-nativesdk = "--disable-gtk-doc " + +DEPENDS_append_class-target = " gtk-doc-native qemu-native gtk-doc" + +# Even though gtkdoc is disabled on -native, gtk-doc package is still +# needed for m4 macros. +DEPENDS_append_class-native = " gtk-doc-native" +DEPENDS_append_class-nativesdk = " gtk-doc-native" # The documentation directory, where the infrastructure will be copied. # gtkdocize has a default of "." so to handle out-of-tree builds set this to $S. GTKDOC_DOCDIR ?= "${S}" -DEPENDS_append = " gtk-doc-stub-native" +do_configure_prepend () { + ( cd ${S}; gtkdocize --docdir ${GTKDOC_DOCDIR} || true ) +} + +inherit qemu -EXTRA_OECONF_append = "\ - --disable-gtk-doc \ - --disable-gtk-doc-html \ - --disable-gtk-doc-pdf \ -" +export STAGING_DIR_HOST -do_configure_prepend () { - ( cd ${S}; gtkdocize --docdir ${GTKDOC_DOCDIR} ) +do_compile_prepend_class-target () { + + # Write out a qemu wrapper that will be given to gtkdoc-scangobj so that it + # can run target helper binaries through that. + qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\$GIR_EXTRA_LIBS_PATH','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}" + cat > ${B}/gtkdoc-qemuwrapper << EOF +#!/bin/sh +# Use a modules directory which doesn't exist so we don't load random things +# which may then get deleted (or their dependencies) and potentially segfault +export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy + +GIR_EXTRA_LIBS_PATH=\`find ${B} -name .libs| tr '\n' ':'\`\$GIR_EXTRA_LIBS_PATH + +if test -d ".libs"; then + $qemu_binary ".libs/\$@" +else + $qemu_binary "\$@" +fi + +if [ \$? -ne 0 ]; then + echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help." + echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )" + exit 1 +fi +EOF + chmod +x ${B}/gtkdoc-qemuwrapper } + inherit pkgconfig
Signature · 1 line
2.9.3
PATCH 5/28 kmod: do not let gtkdocize fail
In reply to Alexander Kanavin--- meta/recipes-kernel/kmod/kmod.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-kernel/kmod/kmod.inc +1 -1
@@ -35,7 +35,7 @@ PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" PACKAGECONFIG[logging] = " --enable-logging,--disable-logging" do_configure_prepend () { - gtkdocize --docdir ${S}/libkmod/docs || touch ${S}/libkmod/docs/gtk-doc.make + gtkdocize --docdir ${S}/libkmod/docs --srcdir ${S} } do_configure_append () {
Signature · 1 line
2.9.3
PATCH 6/28 systemd: drop unused gtkdoc-related variable
In reply to Alexander Kanavin--- meta/recipes-core/systemd/systemd_230.bb | 2 -- 1 file changed, 2 deletions(-)
meta/recipes-core/systemd/systemd_230.bb +0 -2
@@ -42,8 +42,6 @@ SRC_URI_append_libc-uclibc = "\ " SRC_URI_append_qemuall = " file://0001-core-device.c-Change-the-default-device-timeout-to-2.patch" -GTKDOC_DOCDIR = "${S}/docs/" - PACKAGECONFIG ??= "xz \ ldconfig \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
Signature · 1 line
2.9.3
PATCH 7/28 libglade: remove the recipe
In reply to Alexander KanavinLibglade has been obsolete for several years and is used by nothing in oe-core; it will be moved to meta-oe so that old recipes still present there continue to build.
--- .../libglade/libglade-2.6.4/glade-cruft.patch | 102 ----- .../libglade/libglade-2.6.4/no-xml2.patch | 501 --------------------- .../libglade-2.6.4/python_environment.patch | 14 - meta/recipes-gnome/libglade/libglade_2.6.4.bb | 31 -- 4 files changed, 648 deletions(-) delete mode 100644 meta/recipes-gnome/libglade/libglade-2.6.4/glade-cruft.patch delete mode 100644 meta/recipes-gnome/libglade/libglade-2.6.4/no-xml2.patch delete mode 100644 meta/recipes-gnome/libglade/libglade-2.6.4/python_environment.patch delete mode 100644 meta/recipes-gnome/libglade/libglade_2.6.4.bb
meta/recipes-gnome/libglade/libglade-2.6.4/glade-cruft.patch deleted +0 -102
@@ -1,102 +0,0 @@ -Upstream-Status: Pending - -diff -ur libglade-2.4.0~/configure.in libglade-2.4.0/configure.in ---- libglade-2.4.0~/configure.in 2004-05-17 12:38:31.000000000 +0100 -+++ libglade-2.4.0/configure.in 2004-07-28 16:53:09.000000000 +0100 -@@ -147,6 +147,18 @@ - AM_CONDITIONAL(HAVE_PYTHON, $have_python) - AC_SUBST(PYTHON) - -+AC_MSG_CHECKING([for cruft in libgtk]) -+AC_TRY_LINK([ -+#include <gtk/gtk.h> -+#include <stdio.h> -+], [ gtk_tree_get_type (); return 0; ], -+ [ AC_MSG_RESULT(yes) -+ have_cruft=yes ], -+ [ AC_MSG_RESULT(no) -+ AC_DEFINE(DISABLE_CRUFT,,[leave out support for old, broken widgets]) -+ have_cruft=no ]) -+AC_SUBST(DISABLE_CRUFT) -+ - dnl add debugging options ... - changequote(,)dnl - if test "x$GCC" = xyes; then -Only in libglade-2.4.0: configure.in.orig -diff -ur libglade-2.4.0~/glade/glade-gtk.c libglade-2.4.0/glade/glade-gtk.c ---- libglade-2.4.0~/glade/glade-gtk.c 2004-03-13 13:47:35.000000000 +0000 -+++ libglade-2.4.0/glade/glade-gtk.c 2004-07-28 16:53:52.000000000 +0100 -@@ -213,6 +213,8 @@ - gtk_clist_column_titles_hide (GTK_CLIST (w)); - } - -+#ifndef DISABLE_CRUFT -+ - static void - tree_set_selection_mode (GladeXML *xml, GtkWidget *w, - const char *name, const char *value) -@@ -238,6 +240,8 @@ - gtk_tree_set_view_lines (GTK_TREE (w), BOOL (value)); - } - -+#endif -+ - static void - list_set_selection_mode (GladeXML *xml, GtkWidget *w, - const char *name, const char *value) -@@ -254,6 +258,7 @@ - gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (w), BOOL (value)); - } - -+#ifndef DISABLE_CRUFT - static void - text_set_text (GladeXML *xml, GtkWidget *w, - const char *name, const char *value) -@@ -262,6 +267,7 @@ - - gtk_editable_insert_text (GTK_EDITABLE (w), value, -1, &pos); - } -+#endif - - static void - radio_menu_item_set_group (GladeXML *xml, GtkWidget *w, -@@ -1125,13 +1131,17 @@ - glade_register_custom_prop (GTK_TYPE_CLIST, "selection_mode", clist_set_selection_mode); - glade_register_custom_prop (GTK_TYPE_CLIST, "shadow_type", clist_set_shadow_type); - glade_register_custom_prop (GTK_TYPE_CLIST, "show_titles", clist_set_show_titles); -+#ifndef DISABLE_CRUFT - glade_register_custom_prop (GTK_TYPE_TREE, "selection_mode", tree_set_selection_mode); - glade_register_custom_prop (GTK_TYPE_TREE, "view_mode", tree_set_view_mode); - glade_register_custom_prop (GTK_TYPE_TREE, "view_line", tree_set_view_line); -+#endif - glade_register_custom_prop (GTK_TYPE_LIST, "selection_mode", list_set_selection_mode); - glade_register_custom_prop (GTK_TYPE_CHECK_MENU_ITEM, "always_show_toggle", - check_menu_item_set_always_show_toggle); -+#ifndef DISABLE_CRUFT - glade_register_custom_prop (GTK_TYPE_TEXT, "text", text_set_text); -+#endif - glade_register_custom_prop (GTK_TYPE_RADIO_MENU_ITEM, "group", - radio_menu_item_set_group); - glade_register_custom_prop (GTK_TYPE_TOOLBAR, "tooltips", toolbar_set_tooltips); -@@ -1288,8 +1298,10 @@ - glade_standard_build_children, NULL); - glade_register_widget (GTK_TYPE_TEAROFF_MENU_ITEM, glade_standard_build_widget, - NULL, NULL); -+#ifndef DISABLE_CRUFT - glade_register_widget (GTK_TYPE_TEXT, glade_standard_build_widget, - NULL, NULL); -+#endif - glade_register_widget (GTK_TYPE_TEXT_VIEW, glade_standard_build_widget, - NULL, NULL); - glade_register_widget (GTK_TYPE_TIPS_QUERY, glade_standard_build_widget, -@@ -1304,8 +1316,10 @@ - glade_standard_build_children, NULL); - glade_register_widget (GTK_TYPE_TOOL_BUTTON, glade_standard_build_widget, - NULL, NULL); -+#ifndef DISABLE_CRUFT - glade_register_widget (GTK_TYPE_TREE, glade_standard_build_widget, - NULL, NULL); -+#endif - glade_register_widget (GTK_TYPE_TREE_VIEW, glade_standard_build_widget, - NULL, NULL); - glade_register_widget (GTK_TYPE_VBUTTON_BOX, glade_standard_build_widget,
meta/recipes-gnome/libglade/libglade-2.6.4/no-xml2.patch deleted +0 -501
501 lines not on this page · raw message
meta/recipes-gnome/libglade/libglade-2.6.4/python_environment.patch deleted +0 -14
@@ -1,14 +0,0 @@ -Using @PYTHON@ for this path would result in the build system python being -referred to. Instead we want to locate python from the environment. - -Upstream-Status: Inappropriate [configuration] - -diff -ruN libglade-2.6.4-orig//libglade-convert.in libglade-2.6.4/libglade-convert.in ---- libglade-2.6.4-orig//libglade-convert.in 2011-09-22 10:18:28.991164003 +0800 -+++ libglade-2.6.4/libglade-convert.in 2011-09-22 10:18:55.431164003 +0800 -@@ -1,4 +1,4 @@ --#!@PYTHON@ -+#!/usr/bin/env python - # -*- mode: python -*- - - # yes, this requires python 2.x and an XML parser module (eg. PyExpat)
meta/recipes-gnome/libglade/libglade_2.6.4.bb deleted +0 -31
@@ -1,31 +0,0 @@ -SUMMARY = "Runtime support for the GTK+ interface builder" -HOMEPAGE = "http://library.gnome.org/devel/libglade/" -BUGTRACKER = "https://bugzilla.gnome.org/" - -LICENSE = "LGPLv2 & LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \ - file://glade/glade.h;endline=22;md5=a04f461c964ba4b57a172d1fbcd8f8fc \ - file://glade/glade-gtk.c;endline=22;md5=766f993433e2642fec87936d319990ff" - -SECTION = "libs" -PR = "r5" -DEPENDS = "zlib gdk-pixbuf gtk+" - -inherit autotools pkgconfig gnomebase gtk-doc distro_features_check -ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" -GNOME_COMPRESS_TYPE="bz2" - -SRC_URI += "file://glade-cruft.patch file://no-xml2.patch file://python_environment.patch" - -SRC_URI[archive.md5sum] = "d1776b40f4e166b5e9c107f1c8fe4139" -SRC_URI[archive.sha256sum] = "64361e7647839d36ed8336d992fd210d3e8139882269bed47dc4674980165dec" - -EXTRA_OECONF += "--without-libxml2" - -CFLAGS += "-lz" - -PACKAGES += " ${PN}-data" -FILES_${PN} = "${libdir}/lib*.so.*" -FILES_${PN}-data = "${datadir}/xml/libglade/glade-2.0.dtd" -FILES_${PN}-dev += "${bindir}/libglade-convert" -#RDEPENDS_${PN} = "${PN}-data"
Signature · 1 line
2.9.3
PATCH 8/28 gstreamer1.0: enable gtk-doc support
In reply to Alexander Kanavincheck support is no longer disabled by default because it is a requirement of gtk-doc support in gstreamer.
--- meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc | 2 +- meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc | 2 +- .../gstreamer/gstreamer1.0-plugins.inc | 14 ++++++++++++-- .../gstreamer/gstreamer1.0-rtsp-server.inc | 14 ++++++++++++-- meta/recipes-multimedia/gstreamer/gstreamer1.0.inc | 16 ++++++++++++---- 5 files changed, 38 insertions(+), 10 deletions(-)
meta/recipes-multimedia/gstreamer/gstreamer1.0-libav.inc +1 -1
@@ -7,7 +7,7 @@ LICENSE_FLAGS = "commercial" DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2 xz" -inherit autotools pkgconfig upstream-version-is-even +inherit autotools pkgconfig upstream-version-is-even gtk-doc # CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time, # compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the
meta/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc +1 -1
@@ -7,7 +7,7 @@ LICENSE_FLAGS = "commercial" DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" -inherit autotools pkgconfig gettext +inherit autotools pkgconfig gettext gtk-doc acpaths = "-I ${S}/common/m4 -I ${S}/m4"
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins.inc +12 -2
@@ -5,7 +5,7 @@ SECTION = "multimedia" DEPENDS = "gstreamer1.0 glib-2.0-native" -inherit autotools pkgconfig upstream-version-is-even gobject-introspection +inherit autotools pkgconfig upstream-version-is-even gobject-introspection gtk-doc acpaths = "-I ${S}/common/m4 -I ${S}/m4"
@@ -35,6 +35,16 @@ delete_pkg_m4_file() { rm "${S}/common/m4/pkg.m4" || true } -do_configure[prefuncs] += " delete_pkg_m4_file" +# 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" PACKAGES_DYNAMIC = "^${PN}-.*"
meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server.inc +12 -2
@@ -13,7 +13,7 @@ SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz S = "${WORKDIR}/${PNREAL}-${PV}" -inherit autotools pkgconfig upstream-version-is-even gobject-introspection +inherit autotools pkgconfig upstream-version-is-even gobject-introspection gtk-doc # Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well LIBV = "1.0"
@@ -24,5 +24,15 @@ delete_pkg_m4_file() { rm "${S}/common/m4/pkg.m4" || true } -do_configure[prefuncs] += " delete_pkg_m4_file" +# 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"
meta/recipes-multimedia/gstreamer/gstreamer1.0.inc +12 -4
@@ -8,7 +8,7 @@ LICENSE = "LGPLv2+" DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native" -inherit autotools pkgconfig gettext upstream-version-is-even gobject-introspection +inherit autotools pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc # This way common/m4/introspection.m4 will come first # (it has a custom INTROSPECTION_INIT macro, and so must be used instead of our common introspection.m4 file)
@@ -20,7 +20,6 @@ SRC_URI_append = " \ PACKAGECONFIG ??= "" -PACKAGECONFIG[check] = "--enable-check,--disable-check" PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" PACKAGECONFIG[tests] = "--enable-tests,--disable-tests" PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind,"
@@ -31,7 +30,6 @@ EXTRA_OECONF = " \ --disable-dependency-tracking \ --disable-docbook \ --disable-examples \ - --disable-gtk-doc \ " CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no"
@@ -53,7 +51,17 @@ delete_pkg_m4_file() { rm "${S}/common/m4/pkg.m4" || true } -do_configure[prefuncs] += " delete_pkg_m4_file" +# 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_compile_prepend() { export GIR_EXTRA_LIBS_PATH="${B}/gst/.libs:${B}/libs/gst/base/.libs"
Signature · 1 line
2.9.3
PATCH 9/28 webkitgtk: enable gtk-doc support
In reply to Alexander Kanavin--- ...c-settings-so-that-gtkdoc-generation-work.patch | 49 ++++++++++++++++++++++ meta/recipes-sato/webkit/webkitgtk_2.12.3.bb | 5 ++- 2 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-sato/webkit/files/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch
meta/recipes-sato/webkit/files/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch new file +49 -0
@@ -0,0 +1,49 @@ +From 4eeeaec775e190cf3f5885d7c6717acebd0201a8 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <[email protected]> +Date: Thu, 11 Aug 2016 17:13:51 +0300 +Subject: [PATCH] Tweak gtkdoc settings so that gtkdoc generation works under + OpenEmbedded build system + +This requires setting a few environment variables so that the transient +binary is build and linked correctly, and disabling the tweaks to RUN +variable from gtkdoc.py script so that our qemu wrapper is taken into use. + +Upstream-Status: Inappropriate [oe-specific] +Signed-off-by: Alexander Kanavin <[email protected]> +--- + Source/PlatformGTK.cmake | 2 +- + Tools/gtk/gtkdoc.py | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Source/PlatformGTK.cmake b/Source/PlatformGTK.cmake +index af4d2e3..b7b93c7 100644 +--- a/Source/PlatformGTK.cmake ++++ b/Source/PlatformGTK.cmake +@@ -25,7 +25,7 @@ macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args) + add_custom_command( + OUTPUT "${CMAKE_BINARY_DIR}/${_stamp_name}" + DEPENDS ${DocumentationDependencies} +- COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=${CMAKE_C_FLAGS} ${CMAKE_SOURCE_DIR}/Tools/gtk/generate-gtkdoc ${_extra_args} ++ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=${CMAKE_C_FLAGS} LD=${CMAKE_C_COMPILER} LDFLAGS=${CMAKE_C_LINK_FLAGS} RUN=${CMAKE_BINARY_DIR}/gtkdoc-qemuwrapper GIR_EXTRA_LIBS_PATH=${CMAKE_BINARY_DIR}/lib ${CMAKE_SOURCE_DIR}/Tools/gtk/generate-gtkdoc ${_extra_args} + COMMAND touch ${_stamp_name} + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" + ) +diff --git a/Tools/gtk/gtkdoc.py b/Tools/gtk/gtkdoc.py +index 4c8237b..c0205f0 100644 +--- a/Tools/gtk/gtkdoc.py ++++ b/Tools/gtk/gtkdoc.py +@@ -318,9 +318,9 @@ class GTKDoc(object): + additional_ldflags = '%s %s' % (additional_ldflags, arg) + ldflags = ' "-L%s" %s ' % (self.library_path, additional_ldflags) + ldflags + current_ld_library_path = env.get('LD_LIBRARY_PATH') +- if current_ld_library_path: ++ if current_ld_library_path and 'RUN' not in env: + env['RUN'] = 'LD_LIBRARY_PATH="%s:%s" ' % (self.library_path, current_ld_library_path) +- else: ++ elif 'RUN' not in env: + env['RUN'] = 'LD_LIBRARY_PATH="%s" ' % self.library_path + + if ldflags: +-- +2.8.1 +
meta/recipes-sato/webkit/webkitgtk_2.12.3.bb +3 -2
@@ -18,11 +18,12 @@ SRC_URI = "\ file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \ file://musl-fixes.patch \ file://ppc-musl-fix.patch \ + file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ " SRC_URI[md5sum] = "aebb4029c09dd81664aa830e4a584c85" SRC_URI[sha256sum] = "173cbb9a2eca23eee52e99965483ab25aa9c0569ef5b57041fc0c129cc26c307" -inherit cmake lib_package pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even +inherit cmake lib_package pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc # We cannot inherit pythonnative because that would conflict with inheriting python3native # (which is done by gobject-introspection). But webkit only needs the path to native Python 2.x binary
@@ -59,7 +60,7 @@ EXTRA_OECMAKE = " \ -DPORT=GTK \ -DCMAKE_BUILD_TYPE=Release \ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ - -DENABLE_GTKDOC=OFF \ + ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \ -DENABLE_MINIBROWSER=ON \ "
Signature · 1 line
2.9.3
PATCH 10/28 gcr: disable gtk-doc on x86_64
In reply to Alexander KanavinFor same reason that introspection is disabled: the transient binary goes into infinite loop.
--- meta/recipes-gnome/gcr/gcr_3.20.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-gnome/gcr/gcr_3.20.0.bb +1 -1
@@ -33,7 +33,7 @@ ARM_INSTRUCTION_SET = "arm" # gcrypt-Message: select() error: Bad address # # This will be investigated later. -EXTRA_OECONF_append_x86-64 = " --disable-introspection" +EXTRA_OECONF_append_x86-64 = " --disable-introspection --disable-gtk-doc" # Gcr-3.broken: poky/build-mips64/tmp/work/mips64-poky-linux/libgpg-error/1.19-r0/libgpg-error-1.19/src/posix-lock.c:119: get_lock_object: Assertion `!"sizeof lock obj"' failed. # qemu: uncaught target signal 6 (Aborted) - core dumped
Signature · 1 line
2.9.3
PATCH 11/28 gcr, libsecret, webkitgtk: disable gtk-doc on mips64
In reply to Alexander KanavinIt fails with the same error as gobject-introspection
--- meta/recipes-gnome/gcr/gcr_3.20.0.bb | 2 +- meta/recipes-gnome/libsecret/libsecret_0.18.5.bb | 2 +- meta/recipes-sato/webkit/webkitgtk_2.12.3.bb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
meta/recipes-gnome/gcr/gcr_3.20.0.bb +1 -1
@@ -37,4 +37,4 @@ EXTRA_OECONF_append_x86-64 = " --disable-introspection --disable-gtk-doc" # Gcr-3.broken: poky/build-mips64/tmp/work/mips64-poky-linux/libgpg-error/1.19-r0/libgpg-error-1.19/src/posix-lock.c:119: get_lock_object: Assertion `!"sizeof lock obj"' failed. # qemu: uncaught target signal 6 (Aborted) - core dumped -EXTRA_OECONF_append_mips64 = " --disable-introspection" +EXTRA_OECONF_append_mips64 = " --disable-introspection --disable-gtk-doc"
meta/recipes-gnome/libsecret/libsecret_0.18.5.bb +1 -1
@@ -21,5 +21,5 @@ do_configure_prepend() { # Secret-1: poky/build-mips64/tmp/work/mips64-poky-linux/libgpg-error/1.19-r0/libgpg-error-1.19/src/posix-lock.c:119: get_lock_object: Assertion `!"sizeof lock obj"' failed. # qemu: uncaught target signal 6 (Aborted) - core dumped -EXTRA_OECONF_append_mips64 = " --disable-introspection" +EXTRA_OECONF_append_mips64 = " --disable-introspection --disable-gtk-doc"
meta/recipes-sato/webkit/webkitgtk_2.12.3.bb +1 -1
@@ -110,4 +110,4 @@ EXTRA_OECMAKE_append_powerpc = " -DENABLE_INTROSPECTION=OFF " # WebKit2-4.0: ../../libgpg-error-1.21/src/posix-lock.c:119: get_lock_object: Assertion `!"sizeof lock obj"' failed. # qemu: uncaught target signal 6 (Aborted) - core dumped -EXTRA_OECMAKE_append_mips64 = " -DENABLE_INTROSPECTION=OFF " +EXTRA_OECMAKE_append_mips64 = " -DENABLE_INTROSPECTION=OFF -DENABLE_GTKDOC=OFF"
Signature · 1 line
2.9.3
PATCH 12/28 webkitgtk: re-enable introspection on powerpc
In reply to Alexander KanavinIt seems to work under qemu-ppc now.
--- meta/recipes-sato/webkit/webkitgtk_2.12.3.bb | 6 ------ 1 file changed, 6 deletions(-)
meta/recipes-sato/webkit/webkitgtk_2.12.3.bb +0 -6
@@ -102,12 +102,6 @@ ARM_INSTRUCTION_SET_armv7a = "thumb" ARM_INSTRUCTION_SET_armv7r = "thumb" ARM_INSTRUCTION_SET_armv7ve = "thumb" -# Invalid data memory access: 0x00000000 -# ... -# qemu: uncaught target signal 11 (Segmentation fault) - core dumped -# Segmentation fault -EXTRA_OECMAKE_append_powerpc = " -DENABLE_INTROSPECTION=OFF " - # WebKit2-4.0: ../../libgpg-error-1.21/src/posix-lock.c:119: get_lock_object: Assertion `!"sizeof lock obj"' failed. # qemu: uncaught target signal 6 (Aborted) - core dumped EXTRA_OECMAKE_append_mips64 = " -DENABLE_INTROSPECTION=OFF -DENABLE_GTKDOC=OFF"
Signature · 1 line
2.9.3
PATCH 13/28 dbus-glib: enable gtk-doc
In reply to Alexander Kanavin--- meta/recipes-core/dbus/dbus-glib.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/dbus/dbus-glib.inc +1 -1
@@ -15,7 +15,7 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz file://test-install-makefile.patch \ " -inherit autotools pkgconfig gettext bash-completion +inherit autotools pkgconfig gettext bash-completion gtk-doc #default disable regression tests, some unit test code in non testing code #PACKAGECONFIG_pn-${PN} = "tests" enable regression tests local.conf
Signature · 1 line
2.9.3
PATCH 14/28 orc: enable gtk-doc
In reply to Alexander Kanavin--- meta/recipes-devtools/orc/orc_0.4.25.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-devtools/orc/orc_0.4.25.bb +1 -1
@@ -8,7 +8,7 @@ SRC_URI = "http://gstreamer.freedesktop.org/src/orc/orc-${PV}.tar.xz" SRC_URI[md5sum] = "8582a28b15f53110c88d8043d9f55bcf" SRC_URI[sha256sum] = "c1b1d54a58f26d483f0b3881538984789fe5d5460ab8fab74a1cacbd3d1c53d1" -inherit autotools pkgconfig +inherit autotools pkgconfig gtk-doc BBCLASSEXTEND = "native nativesdk"
Signature · 1 line
2.9.3
PATCH 15/28 libidn: enable gtk-doc
In reply to Alexander Kanavin--- meta/recipes-extended/libidn/libidn_1.33.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-extended/libidn/libidn_1.33.bb +1 -1
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=df4be47940a91ee69556f5f71eed4aec \ file://src/idn.c;endline=20;md5=09e97034a8877b3451cb65065fc2c06e" DEPENDS = "virtual/libiconv" -inherit pkgconfig autotools gettext texinfo +inherit pkgconfig autotools gettext texinfo gtk-doc SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz \ file://libidn_fix_for_automake-1.12.patch \
Signature · 1 line
2.9.3
PATCH 16/28 libuser: enable gtk-doc
In reply to Alexander Kanavin--- meta/recipes-extended/libuser/libuser_0.62.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-extended/libuser/libuser_0.62.bb +1 -1
@@ -22,7 +22,7 @@ SRC_URI[sha256sum] = "a58ff4fabb01a25043b142185a33eeea961109dd60d4b40b6a9df4fa3c DEPENDS = "popt libpam glib-2.0 docbook-utils-native linuxdoc-tools-native python3" -inherit autotools gettext python3native python3-dir pkgconfig +inherit autotools gettext python3native python3-dir pkgconfig gtk-doc EXTRA_OEMAKE = "PYTHON_CPPFLAGS=-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
Signature · 1 line
2.9.3
PATCH 17/28 gdk-pixbuf: enable gtk-doc
In reply to Alexander Kanavin--- meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.34.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.34.0.bb +1 -1
@@ -22,7 +22,7 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ SRC_URI[md5sum] = "63cb19f92cf7709ccf44bbb6fe1ff70c" SRC_URI[sha256sum] = "d55e5b383ee219bd0e23bf6ed4427d56a7db5379729a6e3e0a0e0eba9a8d8879" -inherit autotools pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection +inherit autotools pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc LIBV = "2.10.0"
Signature · 1 line
2.9.3
PATCH 18/28 gnome-desktop3: enable gtk-doc
In reply to Alexander Kanavin--- meta/recipes-gnome/gnome-desktop/gnome-desktop3_3.20.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-gnome/gnome-desktop/gnome-desktop3_3.20.2.bb +1 -1
@@ -12,7 +12,7 @@ SRC_URI[archive.sha256sum] = "492c2da7aa8c3a8b65796e8171fc8f0dfb5d322dd2799c0d76 DEPENDS += "intltool-native gsettings-desktop-schemas gconf libxrandr virtual/libx11 gtk+3 glib-2.0 startup-notification xkeyboard-config iso-codes" -inherit distro_features_check +inherit distro_features_check gtk-doc REQUIRED_DISTRO_FEATURES = "x11" EXTRA_OECONF = "--disable-desktop-docs"
Signature · 1 line
2.9.3
PATCH 19/28 json-glib: enable gtk-doc
In reply to Alexander Kanavin--- meta/recipes-gnome/json-glib/json-glib_1.2.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-gnome/json-glib/json-glib_1.2.2.bb +1 -1
@@ -13,6 +13,6 @@ DEPENDS = "glib-2.0" SRC_URI[archive.md5sum] = "c1daefb8d0fb59612af0c072c8aabb58" SRC_URI[archive.sha256sum] = "ea128ab52a824fcd06e5448fbb2bd8d9a13740d51c66d445828edba71321a621" -inherit gnomebase gettext lib_package gobject-introspection +inherit gnomebase gettext lib_package gobject-introspection gtk-doc BBCLASSEXTEND = "native"
Signature · 1 line
2.9.3
PATCH 20/28 libgudev: enable gtk-doc
In reply to Alexander Kanavin--- meta/recipes-gnome/libgudev/libgudev_230.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-gnome/libgudev/libgudev_230.bb +1 -1
@@ -10,7 +10,7 @@ RCONFLICTS_${PN} = "systemd (<= 220)" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" -inherit gnomebase gobject-introspection +inherit gnomebase gobject-introspection gtk-doc UPSTREAM_CHECK_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgudev/" UPSTREAM_CHECK_REGEX = "(?P<pver>(\d+))"
Signature · 1 line
2.9.3
PATCH 21/28 libenck3: enable gtk-doc
In reply to Alexander Kanavin--- meta/recipes-gnome/libwnck/libwnck3_3.20.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-gnome/libwnck/libwnck3_3.20.1.bb +1 -1
@@ -10,7 +10,7 @@ DEPENDS = "intltool-native gtk+3 gdk-pixbuf-native libxres" PACKAGECONFIG ??= "startup-notification" PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" -inherit gnomebase gobject-introspection +inherit gnomebase gobject-introspection gtk-doc SRC_URI[archive.md5sum] = "487938d65d4bfae1f2501052b1bd7492" SRC_URI[archive.sha256sum] = "1cb03716bc477058dfdf3ebfa4f534de3b13b1aa067fcd064d0b7813291cba72"
Signature · 1 line
2.9.3
PATCH 22/28 cairo: enable gtk-doc
In reply to Alexander Kanavin--- meta/recipes-graphics/cairo/cairo.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-graphics/cairo/cairo.inc +1 -1
@@ -36,7 +36,7 @@ EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} \ --enable-tee \ " -inherit autotools pkgconfig upstream-version-is-even +inherit autotools pkgconfig upstream-version-is-even gtk-doc # We don't depend on binutils so we need to disable this export ac_cv_lib_bfd_bfd_openr="no"
Signature · 1 line
2.9.3
PATCH 23/28 harfbuzz: enable gtk-doc
In reply to Alexander Kanavin--- meta/recipes-graphics/harfbuzz/harfbuzz_1.3.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-graphics/harfbuzz/harfbuzz_1.3.0.bb +1 -1
@@ -15,7 +15,7 @@ SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.bz2" SRC_URI[md5sum] = "a82d49ff67197bc3c96ea34b98880c52" SRC_URI[sha256sum] = "b04be31633efee2cae1d62d46434587302554fa837224845a62565ec68a0334d" -inherit autotools pkgconfig lib_package +inherit autotools pkgconfig lib_package gtk-doc PACKAGECONFIG ??= "icu" PACKAGECONFIG[icu] = "--with-icu,--without-icu,icu"
Signature · 1 line
2.9.3
PATCH 24/28 gnutls: enable gtk-doc
In reply to Alexander Kanavingtk-doc also requires --enable-doc, so that is no longer configurable.
--- meta/recipes-support/gnutls/gnutls.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/recipes-support/gnutls/gnutls.inc +2 -2
@@ -19,11 +19,10 @@ SHRT_VER = "${@d.getVar('PV', True).split('.')[0]}.${@d.getVar('PV', True).split SRC_URI = "ftp://ftp.gnutls.org/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz" -inherit autotools texinfo binconfig pkgconfig gettext lib_package +inherit autotools texinfo binconfig pkgconfig gettext lib_package gtk-doc PACKAGECONFIG ??= "libidn zlib" -PACKAGECONFIG[docs] = "--enable-doc,--disable-doc" PACKAGECONFIG[libidn] = "--with-idn,--without-idn,libidn" PACKAGECONFIG[libtasn1] = "--with-included-libtasn1=no,--with-included-libtasn1,libtasn1" PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit"
@@ -31,6 +30,7 @@ PACKAGECONFIG[tpm] = "--with-tpm,--without-tpm,trousers" PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib" EXTRA_OECONF = " \ + --enable-doc \ --disable-libdane \ --disable-guile \ --disable-rpath \
Signature · 1 line
2.9.3
PATCH 25/28 libtasn1: enable gtk-doc
In reply to Alexander Kanavin--- meta/recipes-support/gnutls/libtasn1_4.9.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-support/gnutls/libtasn1_4.9.bb +1 -1
@@ -19,6 +19,6 @@ SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz \ SRC_URI[md5sum] = "3018d0f466a32b66dde41bb122e6cab6" SRC_URI[sha256sum] = "4f6f7a8fd691ac2b8307c8ca365bad711db607d4ad5966f6938a9d2ecd65c920" -inherit autotools texinfo binconfig lib_package +inherit autotools texinfo binconfig lib_package gtk-doc BBCLASSEXTEND = "native"
Signature · 1 line
2.9.3
PATCH 26/28 libsoup-2.4: enable gtk-doc
In reply to Alexander Kanavin--- meta/recipes-support/libsoup/libsoup-2.4_2.54.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-support/libsoup/libsoup-2.4_2.54.1.bb +1 -1
@@ -16,7 +16,7 @@ SRC_URI[sha256sum] = "47b42c232034734d66e5f093025843a5d8cc4b2357c011085a2fd04ef0 S = "${WORKDIR}/libsoup-${PV}" -inherit autotools gettext pkgconfig upstream-version-is-even gobject-introspection +inherit autotools gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc # libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards. Disable by default. PACKAGECONFIG ??= ""
Signature · 1 line
2.9.3
PATCH 27/28 p11-kit: enable gtk-doc
In reply to Alexander Kanavin--- meta/recipes-support/p11-kit/p11-kit_0.22.1.bb | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-)
meta/recipes-support/p11-kit/p11-kit_0.22.1.bb +21 -1
@@ -2,7 +2,7 @@ SUMMARY = "Provides a way to load and enumerate PKCS#11 modules" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50" -inherit autotools gettext pkgconfig upstream-version-is-even +inherit autotools gettext pkgconfig upstream-version-is-even gtk-doc DEPENDS = "libtasn1 libffi"
@@ -12,6 +12,26 @@ SRC_URI[sha256sum] = "ef3a339fcf6aa0e32c8c23f79ba7191e57312be2bda8b24e6d121c2670 EXTRA_OECONF = "--without-trust-paths" +# This recipe does not use the standard gtk-doc m4 macros, and so the ./configure flags +# that control gtk-doc build are non-standard +EXTRA_OECONF_prepend_class-target = "${@bb.utils.contains('GTKDOC_ENABLED', 'True', '--enable-doc --enable-doc-html --disable-doc-pdf', \ + '--disable-doc', d)} " + +# When building native recipes, disable gtkdoc, as it is not necessary, +# pulls in additional dependencies, and makes build times longer +EXTRA_OECONF_prepend_class-native = "--disable-doc " +EXTRA_OECONF_prepend_class-nativesdk = "--disable-doc " + +UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-gtk-doc-html --disable-gtk-doc-pdf --enable-gtk-doc --disable-gtk-doc" + +# p11-kit relies on these two being copied from source tree +# instead of being regenerated by gtkdoc-scan, but doesn't setup +# dependencies correctly when there is a parallel build. Let's pre-copy +# them instead. +do_compile_prepend () { + cp ${S}/doc/manual/p11-kit-overrides.txt ${S}/doc/manual/p11-kit-sections.txt ${B}/doc/manual/ +} + FILES_${PN} += " \ ${libdir}/p11-kit-proxy.so \ ${libdir}/pkcs11/*.so \
Signature · 1 line
2.9.3
PATCH 28/28 util-linux: do not enable gtk-doc and explain why
In reply to Alexander Kanavin--- meta/recipes-core/util-linux/util-linux.inc | 1 + 1 file changed, 1 insertion(+)
meta/recipes-core/util-linux/util-linux.inc +1 -0
@@ -17,6 +17,7 @@ LIC_FILES_CHKSUM = "file://README.licensing;md5=1715f5ee3e01203ca1e1e0b9ee65918c file://libmount/COPYING;md5=fb93f01d4361069c5616327705373b16 \ file://libblkid/COPYING;md5=fb93f01d4361069c5616327705373b16" +#gtk-doc is not enabled as it requires xmlto which requires util-linux inherit autotools gettext pkgconfig systemd update-alternatives python3-dir bash-completion ptest DEPENDS = "zlib ncurses" DEPENDS_append_class-native = " lzo-native"
Signature · 1 line
2.9.3
Quoted 12 lines · Alexander Kanavin
This patchset adds gtk-doc support to OE-core. It requires running transient binaries during build time, which is achieved via qemu, and so there are all the same caveats as with gobject-introspection.
Gtk-doc generation happens if 'api-documentation' distro feature is enabled
(it is by default), and 'qemu-usermode' is in machine features. Disable
the former if api documentation is not needed in your distro; disable the latter
if qemu does not work correctly for your target machine.
Quoted 5 lines
Gtk-doc support is a part of a broader task to enable API documentation
support in OE-core; later on I will add support for doxygen and docbook, enable
more manpages, and clean up the legacy SGML stack if possible.
There were a lot of similar look failures on the autobuilder:
http://errors.yoctoproject.org/Errors/Details/81392/
http://errors.yoctoproject.org/Errors/Details/81397/
http://errors.yoctoproject.org/Errors/Details/81393/
http://errors.yoctoproject.org/Errors/Details/81390/
http://errors.yoctoproject.org/Errors/Details/81391/
http://errors.yoctoproject.org/Errors/Details/81383/
Cheers,
Richard
Quoted 4 lines · Alexander Kanavin
This patchset adds gtk-doc support to OE-core. It requires running transient binaries during build time, which is achieved via qemu, and so there are all the same caveats as with gobject-introspection.
Cool but...
Quoted 2 lines
Gtk-doc generation happens if 'api-documentation' distro feature is enabled (it is by default), and 'qemu-usermode' is in machine features.
Should this really be enabled by default? What does it do to a typical build wrt time and space?
../Randy
Signature · 2 lines
# Randy MacLeod. SMTS, Linux, Wind River Direct: 613.963.1350 | 350 Terry Fox Drive, Suite 200, Ottawa, ON, Canada, K2K 2W5
Quoted 6 lines · Randy MacLeod
Quoted 3 lines
Gtk-doc generation happens if 'api-documentation' distro feature is enabled
(it is by default), and 'qemu-usermode' is in machine features.Should this really be enabled by default? What does it do to a typical build wrt time and space?
The default distro feature list also includes all of the available communication stacks, full x11 stack, pulseaudio etc. It seems to me that the aim is to enable as many various features as possible by default. Distros can and should trim the list to their specific needs.
Space isn't affected much on build host, and if you don't install -doc packages it's not affected on the target at all. Build time is somewhat longer for specific packages (those which have gtk-doc support), but whether the overall, parallelized build is affected I don't know - I think RP asked someone to do a test for master-next vs. master now (with all the other stuff that went in recently).
Alex
Quoted 5 lines · Alexander Kanavin
Quoted 3 lines · Randy MacLeod
Quoted 3 lines
Gtk-doc generation happens if 'api-documentation' distro feature is enabled
(it is by default), and 'qemu-usermode' is in machine features.
Quoted 7 lines
Quoted 2 lines
Should this really be enabled by default? What does it do to a typical build wrt time and space?
The default distro feature list also includes all of the available communication stacks, full x11 stack, pulseaudio etc. It seems to me that the aim is to enable as many various features as possible by default. Distros can and should trim the list to their specific needs.
Sure, but as far as I remember, doc building is disabled in most cases. And personally, I'd prefer to have the doc-generation disabled per default. (As usually, most people I've met, won't use the doc's built here anyway).
Signature · 2 lines
Anders Darander, Senior System Architect ChargeStorm AB / eStorm AB
Quoted 22 lines · Anders Darander
* Alexander Kanavin <[email protected]> [160902 17:08]:
Quoted 13 lines · Randy MacLeod
Quoted 10 lines
Quoted 6 lines
Gtk-doc generation happens if 'api-documentation' distro feature is
enabled
(it is by default), and 'qemu-usermode' is in machine features.Should this really be enabled by default? What does it do to a typical build wrt time and space?
Quoted 6 lines
The default distro feature list also includes all of the available communication stacks, full x11 stack, pulseaudio etc. It seems to me that
the aim is to enable as many various features as possible by default.
Distros can and should trim the list to their specific needs.
Quoted 5 lines
Sure, but as far as I remember, doc building is disabled in most cases.
And personally, I'd prefer to have the doc-generation disabled per default. (As usually, most people I've met, won't use the doc's built here anyway).
There is a fairly big performance hit to enabling gtk-doc. We've adjusted the patchset so when disabled, there isn't much of a performance hit and I've merged things with the default being "off" for now. We can then work through the other details and see if there is anything we can do about the performance.
This is one of the reasons the patch series has taken a while to merge and there were a number of issues trying to make the M3 build work and pass testing (see the weekly status reports).
Cheers,
Richard