summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /gnome-extra/yelp/files/yelp-3.0.3-man-compatibility.patch
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'gnome-extra/yelp/files/yelp-3.0.3-man-compatibility.patch')
-rw-r--r--gnome-extra/yelp/files/yelp-3.0.3-man-compatibility.patch117
1 files changed, 117 insertions, 0 deletions
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
index 000000000000..b57591c14ca6
--- /dev/null
+++ b/gnome-extra/yelp/files/yelp-3.0.3-man-compatibility.patch
@@ -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
+