diff options
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.patch | 117 |
1 files changed, 0 insertions, 117 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 deleted file mode 100644 index b57591c14ca6..000000000000 --- a/gnome-extra/yelp/files/yelp-3.0.3-man-compatibility.patch +++ /dev/null @@ -1,117 +0,0 @@ -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 - |