Bump to 3.0.4, from gnome overlay for GNOME 3
authorNirbheek Chauhan <nirbheek@gentoo.org>
Fri, 19 Aug 2011 11:02:49 +0000 (11:02 +0000)
committerNirbheek Chauhan <nirbheek@gentoo.org>
Fri, 19 Aug 2011 11:02:49 +0000 (11:02 +0000)
Package-Manager: portage-2.2.0_alpha51/cvs/Linux x86_64

gnome-extra/yelp/ChangeLog
gnome-extra/yelp/files/yelp-3.0.3-man-compatibility.patch [new file with mode: 0644]
gnome-extra/yelp/yelp-3.0.4.ebuild [new file with mode: 0644]

index aaa37e8c3b724d137d05cde12075ca086127b5b2..292fbc6d132fe6019126281306c94ac054e0bf61 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for gnome-extra/yelp
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-extra/yelp/ChangeLog,v 1.267 2011/08/13 17:43:10 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/yelp/ChangeLog,v 1.268 2011/08/19 11:02:49 nirbheek Exp $
+
+*yelp-3.0.4 (19 Aug 2011)
+
+  19 Aug 2011; Nirbheek Chauhan <nirbheek@gentoo.org>
+  +files/yelp-3.0.3-man-compatibility.patch, +yelp-3.0.4.ebuild:
+  Bump to 3.0.4, from gnome overlay for GNOME 3
 
   13 Aug 2011; Raúl Porcel <armin76@gentoo.org> yelp-2.30.2-r5.ebuild:
   alpha/ia64/sparc stable wrt #369909
diff --git a/gnome-extra/yelp/files/yelp-3.0.3-man-compatibility.patch b/gnome-extra/yelp/files/yelp-3.0.3-man-compatibility.patch
new file mode 100644 (file)
index 0000000..b57591c
--- /dev/null
@@ -0,0 +1,117 @@
+From 7e181e8d74f7e67b8b3acb8524fc85157ed39c8e Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gmail.com>
+Date: Sun, 1 May 2011 22:52:14 -0400
+Subject: [PATCH] Enable compatibility with traditional man (#648854)
+
+As of commit 46a82ade3e6f0fac8f08b18e7fc23d8665f6f728, Yelp runs
+"man -Z -Tutf8 -EUTF-8 [FILE]" to obtain the groff intermediate format
+of the man page. However, the only implementation of man that accepts
+these options is man-db (used by Debian, Fedora, SUSE & Ubuntu).
+The traditional Linux man used by other distros and man implementations
+on non-Linux Unixes (FreeBSD, Solaris) do not have command-line options
+for outputting groff intermediate format.
+Therefore, on systems that do not use man-db, we need to manually
+uncompress the nroff source file and feed it to groff. This is best done
+using a small shell script (/usr/libexec/yelp-groff), both for for
+clarity and for ease of modification on systems with weird man setups.
+
+Signed-off-by: Alexandre Rostovtsev <tetromino@gmail.com>
+---
+ libyelp/Makefile.am       |    2 +
+ libyelp/yelp-groff        |   49 +++++++++++++++++++++++++++++++++++++++++++++
+ libyelp/yelp-man-parser.c |    4 +-
+ 3 files changed, 53 insertions(+), 2 deletions(-)
+ create mode 100755 libyelp/yelp-groff
+
+diff --git a/libyelp/Makefile.am b/libyelp/Makefile.am
+index a4dd68b..5d55bf1 100644
+--- a/libyelp/Makefile.am
++++ b/libyelp/Makefile.am
+@@ -1,4 +1,5 @@
+ lib_LTLIBRARIES = libyelp.la
++libexec_SCRIPTS = yelp-groff
+ 
+ libyelp_la_SOURCES =                \
+       yelp-bookmarks.c            \
+@@ -49,6 +50,7 @@ endif
+ libyelp_la_CFLAGS =                             \
+       $(YELP_CFLAGS)                          \
+       -DDATADIR=\""$(datadir)"\"              \
++      -DLIBEXECDIR=\"$(libexecdir)\"           \
+       -DYELP_ICON_PATH=\"$(YELP_ICON_PATH)\"
+ 
+ libyelp_la_LIBADD = $(YELP_LIBS)
+diff --git a/libyelp/yelp-groff b/libyelp/yelp-groff
+new file mode 100755
+index 0000000..5348024
+--- /dev/null
++++ b/libyelp/yelp-groff
+@@ -0,0 +1,49 @@
++#!/bin/sh
++#
++# Copyright (c) 2011 Alexandre Rostovtsev <tetromino@gmail.com>
++#
++# This program is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation; either version 2 of the
++# License, or (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public
++# License along with this program; if not, write to the
++# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++# Boston, MA 02110-1301, USA.
++#
++###
++#
++# Process the requested compressed source nroff file and output groff
++# intermediate format.
++#
++
++filename=$1
++
++if [ -z ${filename} ] ; then
++    echo "Usage: yelp-groff [FILE]" >&2
++    echo "Process a man FILE and output groff intermediate format."
++    exit 1
++fi
++
++# If "man -Z -Tutf8 -EUTF-8" works (i.e. if man is man-db), use that.
++man -Z -Tutf8 -EUTF-8 ${filename} 2>/dev/null && exit 0
++
++# Otherwise, manually uncompress the file ...
++cat="cat"
++case ${filename} in
++    *.bz2)      cat="bzip2 -c -d" ;;
++    *.gz)       cat="gunzip -c" ;;
++    *.lzma)     cat="unlzma -c -d" ;;
++    *.xz)       cat="unxz -c" ;;
++    *.Z)        cat="zcat" ;;
++esac
++
++# ... and run groff to get the intermediate format; preprocess with tbl
++# unless MANROFFSEQ is defined.
++${cat} ${filename} | groff -${MANROFFSEQ:-t} -man -Z -Tutf8
+diff --git a/libyelp/yelp-man-parser.c b/libyelp/yelp-man-parser.c
+index 4001d38..9818803 100644
+--- a/libyelp/yelp-man-parser.c
++++ b/libyelp/yelp-man-parser.c
+@@ -371,9 +371,9 @@ get_troff (gchar *path, GError **error)
+ {
+     gint stdout;
+     GError *err = NULL;
+-    gchar *argv[] = { "man", "-Z", "-Tutf8", "-EUTF-8", NULL, NULL };
++    gchar *argv[] = { LIBEXECDIR "/yelp-groff", NULL, NULL };
+ 
+-    argv[4] = path;
++    argv[1] = path;
+ 
+     if (!g_spawn_async_with_pipes (NULL, argv, NULL,
+                                    G_SPAWN_SEARCH_PATH, NULL, NULL,
+-- 
+1.7.5.rc3
+
diff --git a/gnome-extra/yelp/yelp-3.0.4.ebuild b/gnome-extra/yelp/yelp-3.0.4.ebuild
new file mode 100644 (file)
index 0000000..053f1f9
--- /dev/null
@@ -0,0 +1,55 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/yelp/yelp-3.0.4.ebuild,v 1.1 2011/08/19 11:02:49 nirbheek Exp $
+
+EAPI="4"
+GCONF_DEBUG="yes"
+GNOME2_LA_PUNT="yes"
+
+inherit autotools eutils gnome2
+
+DESCRIPTION="Help browser for GNOME"
+HOMEPAGE="http://www.gnome.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="doc"
+
+RDEPEND="
+       >=x11-libs/gtk+-2.91.8:3
+       >=dev-libs/glib-2.25.11:2
+       >=dev-libs/libxml2-2.6.5:2
+       >=dev-libs/libxslt-1.1.4
+       >=dev-libs/dbus-glib-0.71
+       >=gnome-extra/yelp-xsl-3.0.1
+       >=net-libs/webkit-gtk-1.3.2:3
+       >=app-arch/xz-utils-4.9
+       app-arch/bzip2
+       dev-db/sqlite:3"
+DEPEND="${RDEPEND}
+       >=sys-devel/gettext-0.17
+       >=dev-util/intltool-0.41.0
+       >=dev-util/pkgconfig-0.9
+       gnome-base/gnome-common
+       doc? ( >=dev-util/gtk-doc-1.13 )"
+# If eautoreconf:
+#      gnome-base/gnome-common
+
+pkg_setup() {
+       DOCS="AUTHORS ChangeLog NEWS README TODO"
+       G2CONF="${G2CONF}
+               --disable-static
+               --disable-schemas-compile
+               --enable-bz2
+               --enable-lzma"
+}
+
+src_prepare() {
+       # Fix compatibility with Gentoo's sys-apps/man
+       # https://bugzilla.gnome.org/show_bug.cgi?id=648854
+       epatch "${FILESDIR}/${PN}-3.0.3-man-compatibility.patch"
+       eautoreconf
+
+       gnome2_src_prepare
+}