gnome-extra/yelp: Version bump
authorPacho Ramos <pacho@gentoo.org>
Sat, 2 Jul 2016 14:40:50 +0000 (16:40 +0200)
committerPacho Ramos <pacho@gentoo.org>
Sat, 2 Jul 2016 17:09:54 +0000 (19:09 +0200)
Package-Manager: portage-2.3.0_rc1

gnome-extra/yelp/Manifest
gnome-extra/yelp/files/yelp-3.20.0-man-compatibility.patch [new file with mode: 0644]
gnome-extra/yelp/yelp-3.20.1.ebuild [new file with mode: 0644]

index 2ca8d69839d6335586fb308e1b42ebfdc38e8816..8c7eba57902561620a392416e8b061aacdf25e93 100644 (file)
@@ -1 +1,2 @@
 DIST yelp-3.18.1.tar.xz 1386044 SHA256 ba3a4eb4717c0ecf4a2e40eff0963fcd12c700c4fb80b83ecaad8b7032256880 SHA512 ebff55bb3eb0caad208abfad3d83fa996d63bb97647ff446d25590b5c84d341161f3fdb9987353bd55e73ef2634baa692928fbc21b4ed16b6070500228fc2425 WHIRLPOOL 2f7479641bea73e248508a51e056eb33c9e3c30994017b8c17dfb0153a71f6174152aa8c05dd76fbb4bcc06b72a92bbc1fc46a7c10b19c3b5a62d597390aa3f5
+DIST yelp-3.20.1.tar.xz 1377544 SHA256 dda0b051ad32908cb9d894d1db3ffdac69b21849b8a6a9a74d9669b017f608c2 SHA512 a1b5d086e8850583ce3e8baee476f051f2d3d07e4457e2c3f7c197eb79a0fbf9f7ff48e40b47adf2f1008fb8113fd4377895128a5b2ede3de5be597a66ebfce6 WHIRLPOOL bbb8c034814919dea53f8c7a4f9a0ce014c7b56b07cf4d676161659eaf380e47b9edb52071b3a0879aa55637961f3fb5affd719b6d89f58e22a282b4e6e8a8eb
diff --git a/gnome-extra/yelp/files/yelp-3.20.0-man-compatibility.patch b/gnome-extra/yelp/files/yelp-3.20.0-man-compatibility.patch
new file mode 100644 (file)
index 0000000..b756b67
--- /dev/null
@@ -0,0 +1,117 @@
+From b7f00d9fc5f4c948b3b412fa22488517e71a2987 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gmail.com>
+Date: Sun, 27 Mar 2016 17:11:59 +0200
+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>
+Signed-off-by: Ole Reifschneider <tranquility@gentoo.org>
+---
+ Makefile.am               |  2 ++
+ libyelp/yelp-groff        | 49 +++++++++++++++++++++++++++++++++++++++++++++++
+ libyelp/yelp-man-parser.c |  2 +-
+ 3 files changed, 52 insertions(+), 1 deletion(-)
+ create mode 100755 libyelp/yelp-groff
+
+diff --git a/Makefile.am b/Makefile.am
+index 30eba2c..b87f2b2 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -6,6 +6,7 @@ BUILT_SOURCES = \
+       $(nodist_libyelp_libyelp_la_SOURCES)
+
+ lib_LTLIBRARIES = libyelp/libyelp.la
++libexec_SCRIPTS = libyelp/yelp-groff
+
+ libyelp_libyelp_la_SOURCES = \
+       libyelp/yelp-bookmarks.c \
+@@ -58,6 +59,7 @@ libyelp_libyelp_la_CFLAGS = \
+
+ libyelp_libyelp_la_CPPFLAGS = \
+       -DDATADIR=\""$(datadir)"\" \
++      -DLIBEXECDIR=\"$(libexecdir)\" \
+       -DYELP_ICON_PATH=\"$(YELP_ICON_PATH)\" \
+       -DYELP_WEB_EXTENSIONS_DIR=\""$(pkglibdir)/"web-extensions\" \
+       -I$(top_builddir)/libyelp
+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 46073a2..792e695 100644
+--- a/libyelp/yelp-man-parser.c
++++ b/libyelp/yelp-man-parser.c
+@@ -369,7 +369,7 @@ get_troff (gchar *path, GError **error)
+ {
+     gint ystdout;
+     GError *err = NULL;
+-    const gchar *argv[] = { "man", "-Z", "-Tutf8", "-EUTF-8", path, NULL };
++    const gchar *argv[] = { LIBEXECDIR "/yelp-groff", path, NULL };
+     gchar **my_argv;
+
+     /* g_strdupv() should accept a "const gchar **". */
+--
+2.7.4
+
diff --git a/gnome-extra/yelp/yelp-3.20.1.ebuild b/gnome-extra/yelp/yelp-3.20.1.ebuild
new file mode 100644 (file)
index 0000000..27bdf8a
--- /dev/null
@@ -0,0 +1,57 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+
+inherit autotools gnome2
+
+DESCRIPTION="Help browser for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/Yelp"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE=""
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+
+RDEPEND="
+       app-arch/bzip2:=
+       >=app-arch/xz-utils-4.9:=
+       dev-db/sqlite:3=
+       >=dev-libs/glib-2.38:2
+       >=dev-libs/libxml2-2.6.5:2
+       >=dev-libs/libxslt-1.1.4
+       >=gnome-extra/yelp-xsl-3.12
+       >=net-libs/webkit-gtk-2.7.2:4
+       >=x11-libs/gtk+-3.13.3:3
+       x11-themes/adwaita-icon-theme
+"
+DEPEND="${RDEPEND}
+       >=dev-util/gtk-doc-am-1.13
+       >=dev-util/intltool-0.41.0
+       dev-util/itstool
+       >=sys-devel/gettext-0.17
+       virtual/pkgconfig
+"
+
+src_prepare() {
+       # Fix compatibility with Gentoo's sys-apps/man
+       # https://bugzilla.gnome.org/show_bug.cgi?id=648854
+       eapply "${FILESDIR}"/${PN}-3.20.0-man-compatibility.patch
+       eautoreconf
+       gnome2_src_prepare
+}
+
+src_configure() {
+       gnome2_src_configure \
+               --disable-static \
+               --enable-bz2 \
+               --enable-lzma
+}
+
+src_install() {
+       gnome2_src_install
+       exeinto /usr/libexec/
+       doexe "${S}"/libyelp/yelp-groff
+}