aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kanavin <alexander.kanavin@linux.intel.com>2016-07-13 17:43:37 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-09 12:12:22 +0100
commit5029d1fb1523e111df482c2a6f69ac9758310691 (patch)
tree8bd1379f0e19e4736343070689adc1934883da48
parent94317f52cec76eeec6dcf885cd1e83dc37f40614 (diff)
downloadopenembedded-core-contrib-5029d1fb1523e111df482c2a6f69ac9758310691.tar.gz
gtk-doc: add a recipe, remove gtk-doc-stub
(From OE-Core rev: 8b958312d360e6692dc7c6dd3d2b2591301f9e59) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-gnome/gtk-doc-stub/files/0001-Revert-Import-introspection-stub-machinery-too.patch305
-rw-r--r--meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb33
-rw-r--r--meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch31
-rw-r--r--meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch139
-rw-r--r--meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb48
5 files changed, 218 insertions, 338 deletions
diff --git a/meta/recipes-gnome/gtk-doc-stub/files/0001-Revert-Import-introspection-stub-machinery-too.patch b/meta/recipes-gnome/gtk-doc-stub/files/0001-Revert-Import-introspection-stub-machinery-too.patch
deleted file mode 100644
index 80b0521d48..0000000000
--- a/meta/recipes-gnome/gtk-doc-stub/files/0001-Revert-Import-introspection-stub-machinery-too.patch
+++ /dev/null
@@ -1,305 +0,0 @@
-From d636be29bf95396b4e27fcd17ff84cb7091cca91 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-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 <alex.kanavin@gmail.com>
----
- 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
-
diff --git a/meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb b/meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb
deleted file mode 100644
index 84e49c13a6..0000000000
--- a/meta/recipes-gnome/gtk-doc-stub/gtk-doc-stub_git.bb
+++ /dev/null
@@ -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"
diff --git a/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-error-out-if-xsltproc-is-not-found.patch
new file mode 100644
index 0000000000..99ae4d4417
--- /dev/null
+++ b/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 <alex.kanavin@gmail.com>
+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 <alex.kanavin@gmail.com>
+---
+ 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/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
new file mode 100644
index 0000000000..477fc9ae8c
--- /dev/null
+++ b/meta/recipes-gnome/gtk-doc/files/0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch
@@ -0,0 +1,139 @@
+From 6fab82b93c7bd301eb42448515b02f7cb3306897 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 31 Aug 2016 16:44:46 +0300
+Subject: [PATCH] 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 <alex.kanavin@gmail.com>
+---
+ 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(-)
+
+diff --git a/gtkdoc-check.in b/gtkdoc-check.in
+index 560d69b..b60857f 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 -*-
+ #
+ # gtk-doc - GTK DocBook documentation generator.
+diff --git a/gtkdoc-depscan.in b/gtkdoc-depscan.in
+index 83af01b..917e247 100644
+--- a/gtkdoc-depscan.in
++++ b/gtkdoc-depscan.in
+@@ -1,4 +1,4 @@
+-#!@PYTHON@
++#!/usr/bin/env python
+
+ import gzip, os.path, re
+
+diff --git a/gtkdoc-fixxref.in b/gtkdoc-fixxref.in
+index 3d9e8d0..d55190b 100755
+--- a/gtkdoc-fixxref.in
++++ b/gtkdoc-fixxref.in
+@@ -1,4 +1,4 @@
+-#!@PERL@ -w
++#!/usr/bin/env perl
+ # -*- cperl -*-
+ #
+ # gtk-doc - GTK DocBook documentation generator.
+diff --git a/gtkdoc-mkdb.in b/gtkdoc-mkdb.in
+index 8dd6d5e..d808750 100755
+--- a/gtkdoc-mkdb.in
++++ b/gtkdoc-mkdb.in
+@@ -1,4 +1,4 @@
+-#!@PERL@ -w
++#!/usr/bin/env perl
+ # -*- cperl -*-
+ #
+ # 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
+@@ -1,4 +1,4 @@
+-#!@PERL@ -w
++#!/usr/bin/env perl
+ # -*- cperl -*-
+ #
+ # gtk-doc - GTK DocBook documentation generator.
+diff --git a/gtkdoc-rebase.in b/gtkdoc-rebase.in
+index 375482d..cf05b45 100644
+--- a/gtkdoc-rebase.in
++++ b/gtkdoc-rebase.in
+@@ -1,4 +1,4 @@
+-#!@PERL@ -w
++#!/usr/bin/env perl
+ # -*- cperl -*-
+ #
+ # gtk-doc - GTK DocBook documentation generator.
+diff --git a/gtkdoc-scan.in b/gtkdoc-scan.in
+index 048e5c9..78c6136 100755
+--- a/gtkdoc-scan.in
++++ b/gtkdoc-scan.in
+@@ -1,4 +1,4 @@
+-#!@PERL@ -w
++#!/usr/bin/env perl
+ # -*- cperl -*-
+ #
+ # gtk-doc - GTK DocBook documentation generator.
+diff --git a/gtkdoc-scangobj.in b/gtkdoc-scangobj.in
+index fb66b76..67ee8f7 100644
+--- a/gtkdoc-scangobj.in
++++ b/gtkdoc-scangobj.in
+@@ -1,4 +1,4 @@
+-#!@PERL@ -w
++#!/usr/bin/env perl
+ # -*- cperl -*-
+ #
+ # gtk-doc - GTK DocBook documentation generator.
+diff --git a/tests/tools.sh.in b/tests/tools.sh.in
+index a114a42..7073883 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`
+ 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
+
diff --git a/meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb b/meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb
new file mode 100644
index 0000000000..9b9f191e0c
--- /dev/null
+++ b/meta/recipes-gnome/gtk-doc/gtk-doc_1.25.bb
@@ -0,0 +1,48 @@
+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 perlnative
+
+# 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"
+
+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 \
+ "
+
+SRC_URI[archive.md5sum] = "0dc6570953112a464a409fb99258ccbc"
+SRC_URI[archive.sha256sum] = "1ea46ed400e6501f975acaafea31479cea8f32f911dca4dff036f59e6464fd42"
+
+BBCLASSEXTEND = "native"
+
+# 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
+}
+