From 6304b4742318cbef8827d6b11e564733da0fd74c Mon Sep 17 00:00:00 2001 From: Pacho Ramos Date: Sat, 2 Jul 2016 16:40:50 +0200 Subject: gnome-extra/yelp: Version bump Package-Manager: portage-2.3.0_rc1 --- gnome-extra/yelp/Manifest | 1 + .../yelp/files/yelp-3.20.0-man-compatibility.patch | 117 +++++++++++++++++++++ gnome-extra/yelp/yelp-3.20.1.ebuild | 57 ++++++++++ 3 files changed, 175 insertions(+) create mode 100644 gnome-extra/yelp/files/yelp-3.20.0-man-compatibility.patch create mode 100644 gnome-extra/yelp/yelp-3.20.1.ebuild (limited to 'gnome-extra/yelp') diff --git a/gnome-extra/yelp/Manifest b/gnome-extra/yelp/Manifest index 2ca8d69839d6..8c7eba579025 100644 --- a/gnome-extra/yelp/Manifest +++ b/gnome-extra/yelp/Manifest @@ -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 index 000000000000..b756b67462bc --- /dev/null +++ b/gnome-extra/yelp/files/yelp-3.20.0-man-compatibility.patch @@ -0,0 +1,117 @@ +From b7f00d9fc5f4c948b3b412fa22488517e71a2987 Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev +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 +Signed-off-by: Ole Reifschneider +--- + 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 ++# ++# 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 index 000000000000..27bdf8ab50e4 --- /dev/null +++ b/gnome-extra/yelp/yelp-3.20.1.ebuild @@ -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 +} -- cgit v1.2.3