Package rebase (1.81.1 -> 1.20.1)
This commit is contained in:
parent
9b747a6652
commit
a072af177b
@ -1,3 +1 @@
|
||||
man-pages-ja-GNU_groff-20000115.tar.gz
|
||||
mandocj.tar.gz
|
||||
groff-1.18.1.4.tar.gz
|
||||
groff-1.20.1.tar.gz
|
||||
|
@ -1,37 +0,0 @@
|
||||
--- groff-1.16/src/roff/troff/input.cc.safer Wed Jun 7 21:47:48 2000
|
||||
+++ groff-1.16/src/roff/troff/input.cc Wed Jun 7 21:50:37 2000
|
||||
@@ -4404,12 +4406,28 @@
|
||||
else {
|
||||
while (!tok.newline() && !tok.eof())
|
||||
tok.next();
|
||||
- errno = 0;
|
||||
- FILE *fp = fopen(nm.contents(), "r");
|
||||
- if (fp)
|
||||
- input_stack::push(new file_iterator(fp, nm.contents()));
|
||||
- else
|
||||
- error("can't open `%1': %2", nm.contents(), strerror(errno));
|
||||
+ char cbuf[PATH_MAX], * cwd;
|
||||
+ char pbuf[PATH_MAX], * path;
|
||||
+ struct stat st;
|
||||
+
|
||||
+ if ((cwd = realpath(".", cbuf)) == NULL)
|
||||
+ error("realpath on `%1' failed: %2", ".", strerror(errno));
|
||||
+ else if ((path = realpath(nm.contents(), pbuf)) == NULL)
|
||||
+ error("realpath on `%1' failed: %2", nm.contents(), strerror(errno));
|
||||
+ else if (safer_flag && strncmp(cwd, path, strlen(cwd)))
|
||||
+ error("won't source `%1' outside of `%2' without -U flag", path, cwd);
|
||||
+ else if (stat(path, &st) < 0)
|
||||
+ error("can't stat `%1': %2", path, strerror(errno));
|
||||
+ else if (safer_flag && !S_ISREG(st.st_mode))
|
||||
+ error("won't source non-file `%1' without -U flag", path);
|
||||
+ else {
|
||||
+ errno = 0;
|
||||
+ FILE *fp = fopen(path, "r");
|
||||
+ if (fp)
|
||||
+ input_stack::push(new file_iterator(fp, nm.contents()));
|
||||
+ else
|
||||
+ error("can't open `%1': %2", path, strerror(errno));
|
||||
+ }
|
||||
tok.next();
|
||||
}
|
||||
}
|
@ -1,340 +0,0 @@
|
||||
--- groff-1.18/src/roff/troff/Makefile.sub.hugo 2002-05-03 00:33:21.000000000 +0200
|
||||
+++ groff-1.18/src/roff/troff/Makefile.sub 2002-11-04 21:30:09.000000000 +0100
|
||||
@@ -1,6 +1,6 @@
|
||||
PROG=troff$(EXEEXT)
|
||||
MAN1=troff.n
|
||||
-XLIBS=$(LIBGROFF)
|
||||
+XLIBS=-lz $(LIBGROFF)
|
||||
MLIB=$(LIBM)
|
||||
OBJS=\
|
||||
env.$(OBJEXT) \
|
||||
--- groff-1.18/src/roff/troff/input.cc.hugo 2002-11-04 21:30:09.000000000 +0100
|
||||
+++ groff-1.18/src/roff/troff/input.cc 2002-11-04 21:36:13.000000000 +0100
|
||||
@@ -42,6 +42,8 @@
|
||||
|
||||
#include "nonposix.h"
|
||||
|
||||
+#include <zlib.h>
|
||||
+
|
||||
#ifdef NEED_DECLARATION_PUTENV
|
||||
extern "C" {
|
||||
int putenv(const char *);
|
||||
@@ -217,6 +219,130 @@
|
||||
skip_line();
|
||||
}
|
||||
|
||||
+enum opq_fp_zmode { OPQ_FP_STDIO, OPQ_FP_ZLIB, OPQ_FP_GUESS };
|
||||
+
|
||||
+class opaque_fp {
|
||||
+ private:
|
||||
+ FILE * stdio_fp;
|
||||
+ gzFile zlib_fp;
|
||||
+ int is_zipped;
|
||||
+ // We need this because zlib has no ungetc.
|
||||
+ int char_pending;
|
||||
+ char saved_char;
|
||||
+ int popened;
|
||||
+ public:
|
||||
+ opaque_fp(const char *,
|
||||
+ const char *,
|
||||
+ enum opq_fp_zmode = OPQ_FP_STDIO);
|
||||
+ opaque_fp(FILE *, int = 0);
|
||||
+ ~opaque_fp();
|
||||
+ int active();
|
||||
+ int xgetc();
|
||||
+ int unxgetc(int);
|
||||
+};
|
||||
+
|
||||
+int opaque_fp::active()
|
||||
+{
|
||||
+ if (is_zipped) {
|
||||
+ return zlib_fp!=NULL;
|
||||
+ } else {
|
||||
+ return stdio_fp!=NULL;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+// This constructor is guaranteed to set is_zipped to 0 or 1, and set the
|
||||
+// corresponding fp to something non-rubbish.
|
||||
+opaque_fp::opaque_fp(const char * fn, const char * mode, enum opq_fp_zmode z)
|
||||
+{
|
||||
+ switch (z) {
|
||||
+ case OPQ_FP_STDIO :
|
||||
+ stdio_fp=fopen(fn,mode);
|
||||
+ is_zipped=0;
|
||||
+ break;
|
||||
+
|
||||
+ case OPQ_FP_ZLIB :
|
||||
+ zlib_fp=gzopen(fn,mode);
|
||||
+ is_zipped=1;
|
||||
+ char_pending=0;
|
||||
+ break;
|
||||
+
|
||||
+ case OPQ_FP_GUESS :
|
||||
+ stdio_fp=fopen(fn,mode);
|
||||
+ is_zipped=0;
|
||||
+ if (active()) {
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ // Yes, I'm a C addict
|
||||
+ char * s;
|
||||
+ s=(char*)malloc(strlen(fn)+4);
|
||||
+ sprintf(s,"%s.gz",fn);
|
||||
+ zlib_fp=gzopen(s,mode);
|
||||
+ char_pending=0;
|
||||
+ is_zipped=1;
|
||||
+ free(s);
|
||||
+ break;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+opaque_fp::opaque_fp(FILE *fp, int p)
|
||||
+{
|
||||
+ stdio_fp=fp;
|
||||
+ is_zipped=0;
|
||||
+ popened=p;
|
||||
+}
|
||||
+
|
||||
+opaque_fp::~opaque_fp()
|
||||
+{
|
||||
+ if (is_zipped) {
|
||||
+ if (zlib_fp!=NULL) {
|
||||
+ gzclose(zlib_fp);
|
||||
+ zlib_fp=NULL;
|
||||
+ }
|
||||
+ } else {
|
||||
+ if (stdio_fp!=NULL) {
|
||||
+ if (popened) {
|
||||
+ pclose(stdio_fp);
|
||||
+ } else if (stdio_fp!=stdin) {
|
||||
+ fclose(stdio_fp);
|
||||
+ } else {
|
||||
+ clearerr(stdin);
|
||||
+ }
|
||||
+ stdio_fp=NULL;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+// These routines must be called only if active() is true
|
||||
+int opaque_fp::xgetc()
|
||||
+{
|
||||
+ if (is_zipped) {
|
||||
+ if (char_pending) {
|
||||
+ char_pending--;
|
||||
+ return saved_char;
|
||||
+ } else {
|
||||
+ return gzgetc(zlib_fp);
|
||||
+ }
|
||||
+ } else {
|
||||
+ return getc(stdio_fp);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+int opaque_fp::unxgetc(int c)
|
||||
+{
|
||||
+ if (is_zipped) {
|
||||
+ if (char_pending) {
|
||||
+ return EOF;
|
||||
+ } else {
|
||||
+ char_pending++;
|
||||
+ saved_char=c;
|
||||
+ return c;
|
||||
+ }
|
||||
+ } else {
|
||||
+ return ungetc(c,stdio_fp);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
class input_iterator {
|
||||
public:
|
||||
input_iterator();
|
||||
@@ -236,7 +362,7 @@
|
||||
virtual int get_location(int, const char **, int *) { return 0; }
|
||||
virtual void backtrace() {}
|
||||
virtual int set_location(const char *, int) { return 0; }
|
||||
- virtual int next_file(FILE *, const char *) { return 0; }
|
||||
+ virtual int next_file(opaque_fp *, const char *) { return 0; }
|
||||
virtual void shift(int) {}
|
||||
virtual int is_boundary() {return 0; }
|
||||
virtual int internal_level() { return 0; }
|
||||
@@ -277,7 +403,7 @@
|
||||
};
|
||||
|
||||
class file_iterator : public input_iterator {
|
||||
- FILE *fp;
|
||||
+ opaque_fp *fp;
|
||||
int lineno;
|
||||
const char *filename;
|
||||
int popened;
|
||||
@@ -286,7 +412,9 @@
|
||||
enum { BUF_SIZE = 512 };
|
||||
unsigned char buf[BUF_SIZE];
|
||||
void close();
|
||||
+ void ctor_end(void);
|
||||
public:
|
||||
+ file_iterator(opaque_fp *, const char *, int = 0);
|
||||
file_iterator(FILE *, const char *, int = 0);
|
||||
~file_iterator();
|
||||
int fill(node **);
|
||||
@@ -294,18 +422,30 @@
|
||||
int get_location(int, const char **, int *);
|
||||
void backtrace();
|
||||
int set_location(const char *, int);
|
||||
- int next_file(FILE *, const char *);
|
||||
+ int next_file(opaque_fp *, const char *);
|
||||
int is_file();
|
||||
};
|
||||
|
||||
-file_iterator::file_iterator(FILE *f, const char *fn, int po)
|
||||
+file_iterator::file_iterator(opaque_fp *f, const char *fn, int po)
|
||||
: fp(f), lineno(1), filename(fn), popened(po),
|
||||
newline_flag(0), seen_escape(0)
|
||||
{
|
||||
- if ((font::use_charnames_in_special) && (fn != 0)) {
|
||||
+ ctor_end();
|
||||
+}
|
||||
+
|
||||
+file_iterator::file_iterator(FILE * f, const char * fn, int po)
|
||||
+: fp(new opaque_fp(f,po)), lineno(1), filename(fn), popened(po),
|
||||
+ newline_flag(0), seen_escape(0)
|
||||
+{
|
||||
+ ctor_end();
|
||||
+}
|
||||
+
|
||||
+void file_iterator::ctor_end(void)
|
||||
+{
|
||||
+ if ((font::use_charnames_in_special) && (filename != 0)) {
|
||||
if (!the_output)
|
||||
init_output();
|
||||
- the_output->put_filename(fn);
|
||||
+ the_output->put_filename(filename);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -316,6 +456,8 @@
|
||||
|
||||
void file_iterator::close()
|
||||
{
|
||||
+ delete fp;
|
||||
+#if 0
|
||||
if (fp == stdin)
|
||||
clearerr(stdin);
|
||||
#ifndef POPEN_MISSING
|
||||
@@ -324,6 +466,7 @@
|
||||
#endif /* not POPEN_MISSING */
|
||||
else
|
||||
fclose(fp);
|
||||
+#endif
|
||||
}
|
||||
|
||||
int file_iterator::is_file()
|
||||
@@ -331,7 +474,7 @@
|
||||
return 1;
|
||||
}
|
||||
|
||||
-int file_iterator::next_file(FILE *f, const char *s)
|
||||
+int file_iterator::next_file(opaque_fp *f, const char *s)
|
||||
{
|
||||
close();
|
||||
filename = s;
|
||||
@@ -354,7 +497,7 @@
|
||||
ptr = p;
|
||||
unsigned char *e = p + BUF_SIZE;
|
||||
while (p < e) {
|
||||
- int c = getc(fp);
|
||||
+ int c = fp->xgetc();
|
||||
if (c == EOF)
|
||||
break;
|
||||
if (invalid_input_char(c))
|
||||
@@ -381,13 +524,13 @@
|
||||
|
||||
int file_iterator::peek()
|
||||
{
|
||||
- int c = getc(fp);
|
||||
+ int c = fp->xgetc();
|
||||
while (invalid_input_char(c)) {
|
||||
warning(WARN_INPUT, "invalid input character code %1", int(c));
|
||||
- c = getc(fp);
|
||||
+ c = fp->xgetc();
|
||||
}
|
||||
if (c != EOF)
|
||||
- ungetc(c, fp);
|
||||
+ fp->unxgetc(c);
|
||||
return c;
|
||||
}
|
||||
|
||||
@@ -433,7 +576,7 @@
|
||||
static int set_location(const char *, int);
|
||||
static void backtrace();
|
||||
static void backtrace_all();
|
||||
- static void next_file(FILE *, const char *);
|
||||
+ static void next_file(opaque_fp *, const char *);
|
||||
static void end_file();
|
||||
static void shift(int n);
|
||||
static void add_boundary();
|
||||
@@ -605,7 +748,7 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
-void input_stack::next_file(FILE *fp, const char *s)
|
||||
+void input_stack::next_file(opaque_fp *fp, const char *s)
|
||||
{
|
||||
input_iterator **pp;
|
||||
for (pp = ⊤ *pp != &nil_iterator; pp = &(*pp)->next)
|
||||
@@ -691,10 +834,11 @@
|
||||
input_stack::end_file();
|
||||
else {
|
||||
errno = 0;
|
||||
- FILE *fp = fopen(nm.contents(), "r");
|
||||
- if (!fp)
|
||||
+ opaque_fp *fp = new opaque_fp(nm.contents(), "r");
|
||||
+ if (!fp->active()) {
|
||||
+ delete fp;
|
||||
error("can't open `%1': %2", nm.contents(), strerror(errno));
|
||||
- else
|
||||
+ } else
|
||||
input_stack::next_file(fp, nm.contents());
|
||||
}
|
||||
tok.next();
|
||||
@@ -5372,11 +5516,12 @@
|
||||
error("won't source non-file `%1' without -U flag", path);
|
||||
else {
|
||||
errno = 0;
|
||||
- FILE *fp = fopen(path, "r");
|
||||
- if (fp)
|
||||
+ opaque_fp *fp = new opaque_fp(nm.contents(), "r",OPQ_FP_GUESS);
|
||||
+ if (fp->active()) {
|
||||
input_stack::push(new file_iterator(fp, nm.contents()));
|
||||
- else
|
||||
- error("can't open `%1': %2", path, strerror(errno));
|
||||
+ } else {
|
||||
+ delete fp;
|
||||
+ }
|
||||
}
|
||||
tok.next();
|
||||
}
|
||||
@@ -6822,16 +6967,18 @@
|
||||
|
||||
static void process_input_file(const char *name)
|
||||
{
|
||||
- FILE *fp;
|
||||
+ opaque_fp *fp;
|
||||
if (strcmp(name, "-") == 0) {
|
||||
clearerr(stdin);
|
||||
- fp = stdin;
|
||||
+ fp = new opaque_fp(stdin);
|
||||
}
|
||||
else {
|
||||
errno = 0;
|
||||
- fp = fopen(name, "r");
|
||||
- if (!fp)
|
||||
+ fp = new opaque_fp(name, "r", OPQ_FP_GUESS);
|
||||
+ if (!fp->active()) {
|
||||
+ delete fp;
|
||||
fatal("can't open `%1': %2", name, strerror(errno));
|
||||
+ }
|
||||
}
|
||||
input_stack::push(new file_iterator(fp, name));
|
||||
tok.next();
|
@ -1,11 +0,0 @@
|
||||
--- groff-1.18/doc/groff.texinfo.info 2002-07-05 17:07:24.000000000 +0200
|
||||
+++ groff-1.18/doc/groff.texinfo 2002-08-01 15:23:23.000000000 +0200
|
||||
@@ -8,7 +8,7 @@
|
||||
@c
|
||||
|
||||
@c %**start of header (This is for running Texinfo on a region.)
|
||||
-@setfilename groff
|
||||
+@setfilename groff.info
|
||||
@settitle The GNU Troff Manual
|
||||
@setchapternewpage odd
|
||||
@footnotestyle separate
|
@ -1,14 +0,0 @@
|
||||
--- groff-1.18/Makefile.in.sopwith 2002-10-04 17:10:56.000000000 -0400
|
||||
+++ groff-1.18/Makefile.in 2002-10-04 17:11:09.000000000 -0400
|
||||
@@ -422,8 +422,9 @@
|
||||
src/utils/lookbib \
|
||||
src/utils/indxbib \
|
||||
src/utils/lkbib \
|
||||
- src/utils/addftinfo
|
||||
-CPROGDIRS=src/utils/pfbtops
|
||||
+ src/utils/addftinfo \
|
||||
+ src/utils/pfbtops
|
||||
+CPROGDIRS=
|
||||
PROGDIRS=$(CCPROGDIRS) $(CPROGDIRS)
|
||||
DEVDIRS=\
|
||||
font/devps \
|
@ -1,17 +0,0 @@
|
||||
2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
|
||||
|
||||
* src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
|
||||
cast to `unsigned char' to properly read patterns with 8bit
|
||||
characters.
|
||||
|
||||
--- groff-1.18.1/src/roff/troff/env.cc
|
||||
+++ groff-1.18.1/src/roff/troff/env.cc
|
||||
@@ -3924,7 +3924,7 @@
|
||||
if (i > 0) {
|
||||
if (have_patterns || final_pattern || traditional) {
|
||||
for (int j = 0; j < i; j++)
|
||||
- buf[j] = hpf_code_table[buf[j]];
|
||||
+ buf[j] = hpf_code_table[(unsigned char)buf[j]];
|
||||
insert_pattern(buf, i, num);
|
||||
final_pattern = 0;
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
--- groff-1.18.1/font/devutf8/M.proto.devutf8 2004-03-08 16:25:52.000000000 +0100
|
||||
+++ groff-1.18.1/font/devutf8/M.proto 2004-03-08 17:02:40.265336984 +0100
|
||||
@@ -1,6 +1,6 @@
|
||||
name M
|
||||
internalname 4
|
||||
-spacewidth 48
|
||||
+spacewidth 24
|
||||
charset
|
||||
-u2E00..u9FFF 48 0
|
||||
-uFF00..uFFEF 48 0
|
||||
+u0100..u07FF 24 0
|
||||
+u0800..uFFFF 48 0
|
||||
--- groff-1.18.1/font/devutf8/DESC.proto.devutf8 2004-03-08 16:25:52.000000000 +0100
|
||||
+++ groff-1.18.1/font/devutf8/DESC.proto 2004-03-08 16:25:53.000000000 +0100
|
||||
@@ -3,10 +3,7 @@
|
||||
vert 40
|
||||
unitwidth 10
|
||||
sizes 10 0
|
||||
-fonts 6 R I B BI M G
|
||||
-fontset B G 2E00..9FFF
|
||||
-fontset B G FF00..FFEF
|
||||
-fontset - M 2E00..9FFF
|
||||
-fontset - M FF00..FFEF
|
||||
+fonts 5 R I B BI M
|
||||
+fontset - M 0100..FFFF
|
||||
tcommand
|
||||
postpro grotty
|
||||
--- groff-1.18.1/font/devutf8/Makefile.sub.devutf8 2004-03-08 16:25:52.000000000 +0100
|
||||
+++ groff-1.18.1/font/devutf8/Makefile.sub 2004-03-08 17:03:58.858389024 +0100
|
||||
@@ -25,11 +25,7 @@
|
||||
M: M.proto
|
||||
@echo Making M
|
||||
@-rm -f M
|
||||
- (wcharwidth=`expr $(RES) / $(CPI) \* 2` ; \
|
||||
- spacewidth=`expr $(RES) / $(CPI)` ; \
|
||||
- sed -e "s/^spacewidth [0-9][0-9]*$$/spacewidth $$spacewidth/" \
|
||||
- -e "s/^u\\([0-9A-F]*\\)..u\\([0-9A-F]*\\) [0-9][0-9]*/u\\1..u\\2 $$wcharwidth/" \
|
||||
- $(srcdir)/M.proto > $@)
|
||||
+ @cp M.proto M
|
||||
|
||||
G: M
|
||||
@echo Making G
|
@ -1,27 +0,0 @@
|
||||
--- groff-1.18.1/src/libs/libgroff/encoding.cc.fix15 2004-03-08 16:13:15.825000416 +0100
|
||||
+++ groff-1.18.1/src/libs/libgroff/encoding.cc 2004-03-08 16:14:41.451983136 +0100
|
||||
@@ -384,21 +384,10 @@
|
||||
}
|
||||
/* otherwise */
|
||||
#if HAVE_LANGINFO_CODESET
|
||||
- charset = nl_langinfo(CODESET);
|
||||
-#else
|
||||
- charset = strchr(locale, '.');
|
||||
- if (charset)
|
||||
- ++charset;
|
||||
- else
|
||||
- charset = "";
|
||||
+ locale = nl_langinfo(CODESET);
|
||||
#endif
|
||||
- if (strncmp(locale, "ja", 2) == 0) {
|
||||
- select_input_encoding_handler(charset);
|
||||
- select_output_encoding_handler(charset);
|
||||
- } else if ((!device || strcmp(device, "ascii8") == 0)) {
|
||||
- select_input_encoding_handler(NULL);
|
||||
- select_output_encoding_handler(NULL);
|
||||
- }
|
||||
+ select_input_encoding_handler(locale);
|
||||
+ select_output_encoding_handler(locale);
|
||||
#endif
|
||||
return;
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
--- groff-1.18.1/font/devutf8/R.proto.fixminus 2003-02-03 14:19:47.000000000 +0100
|
||||
+++ groff-1.18.1/font/devutf8/R.proto 2003-02-03 14:20:06.000000000 +0100
|
||||
@@ -285,7 +285,7 @@
|
||||
+h 24 0 0x03D1
|
||||
+f 24 0 0x03D5
|
||||
+p 24 0 0x03D6
|
||||
-- 24 0 0x2010
|
||||
+- 24 0 0x002D
|
||||
hy "
|
||||
en 24 0 0x2013
|
||||
em 24 0 0x2014
|
@ -1,22 +0,0 @@
|
||||
--- groff-1.18.1/src/roff/troff/input.cc.gzext 2003-02-10 18:32:00.000000000 +0100
|
||||
+++ groff-1.18.1/src/roff/troff/input.cc 2003-02-10 18:33:18.000000000 +0100
|
||||
@@ -5487,12 +5487,16 @@
|
||||
char cbuf[PATH_MAX], * cwd;
|
||||
char pbuf[PATH_MAX], * path;
|
||||
struct stat st;
|
||||
+ char tmp[PATH_MAX];
|
||||
+ snprintf(tmp, PATH_MAX, "%s.gz", nm.contents());
|
||||
|
||||
if ((cwd = realpath(".", cbuf)) == NULL)
|
||||
error("realpath on `%1' failed: %2", ".", strerror(errno));
|
||||
- else if ((path = realpath(nm.contents(), pbuf)) == NULL)
|
||||
- error("realpath on `%1' failed: %2", nm.contents(), strerror(errno));
|
||||
- else if (safer_flag && strncmp(cwd, path, strlen(cwd)))
|
||||
+ else if ((path = realpath(nm.contents(), pbuf)) == NULL &&
|
||||
+ (path = realpath(tmp, pbuf)) == NULL)
|
||||
+ {
|
||||
+ error("realpath on `%1' failed: %2", nm.contents(), strerror(errno));
|
||||
+ } else if (safer_flag && strncmp(cwd, path, strlen(cwd)))
|
||||
error("won't source `%1' outside of `%2' without -U flag", path, cwd);
|
||||
else if (stat(path, &st) < 0)
|
||||
error("can't stat `%1': %2", path, strerror(errno));
|
@ -1,38 +0,0 @@
|
||||
--- groff-1.18.1/src/roff/nroff/nroff.sh.orig 2003-02-06 19:37:17.000000000 +0900
|
||||
+++ groff-1.18.1/src/roff/nroff/nroff.sh 2003-02-06 19:38:34.000000000 +0900
|
||||
@@ -14,6 +14,8 @@
|
||||
T=-Tcp1047 ;;
|
||||
EUC-JP)
|
||||
T=-Tnippon ;;
|
||||
+ EUC-KR)
|
||||
+ T=-Tkorean ;;
|
||||
*)
|
||||
case "${LC_ALL-${LC_CTYPE-${LANG}}}" in
|
||||
*.UTF-8)
|
||||
@@ -24,6 +26,8 @@
|
||||
T=-Tcp1047 ;;
|
||||
ja_JP.ujis | ja_JP.eucJP)
|
||||
T=-Tnippon ;;
|
||||
+ ko_KR.eucKR)
|
||||
+ T=-Tkorean ;;
|
||||
*)
|
||||
case "$LESSCHARSET" in
|
||||
utf-8)
|
||||
@@ -34,6 +38,8 @@
|
||||
T=-Tcp1047 ;;
|
||||
japanese)
|
||||
T=-Tnippon ;;
|
||||
+ ko)
|
||||
+ T=-Tkorean ;;
|
||||
*)
|
||||
T=-Tascii8 ;;
|
||||
esac ;;
|
||||
@@ -58,7 +64,7 @@
|
||||
exit 1 ;;
|
||||
-[iptSUC] | -[mrno]*)
|
||||
opts="$opts $1" ;;
|
||||
- -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047 | -Tascii8 | -Tnippon)
|
||||
+ -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047 | -Tascii8 | -Tnippon | -Tkorean)
|
||||
T=$1 ;;
|
||||
-T*)
|
||||
# ignore other devices
|
@ -1,11 +0,0 @@
|
||||
--- groff-1.18.1.1/src/libs/libdriver/input.cc.orig 2006-01-10 11:11:36.000000000 +0100
|
||||
+++ groff-1.18.1.1/src/libs/libdriver/input.cc 2006-01-10 11:11:52.000000000 +0100
|
||||
@@ -1786,7 +1786,7 @@
|
||||
if (npages <= 0)
|
||||
fatal_command(command);
|
||||
char *str_arg = get_string_arg();
|
||||
- size_t i = 0;
|
||||
+ int i = 0;
|
||||
while ((c = str_arg[i++]) != '\0') {
|
||||
EnvInt w;
|
||||
#ifdef ENABLE_MULTIBYTE
|
@ -1,27 +0,0 @@
|
||||
--- groff-1.18.1.1/src/xditview/draw.c.do_char 2004-09-15 17:42:34.221596494 +0200
|
||||
+++ groff-1.18.1.1/src/xditview/draw.c 2004-09-15 17:42:35.880369335 +0200
|
||||
@@ -418,7 +418,11 @@
|
||||
dw->dvi.state->font_size, c, &wid))
|
||||
return;
|
||||
if (dw->dvi.native) {
|
||||
+#ifdef ENABLE_MULTIBYTE
|
||||
+ DoCharacter (dw, c, wid, map->char2XChar2b);
|
||||
+#else
|
||||
DoCharacter (dw, c, wid);
|
||||
+#endif
|
||||
return;
|
||||
}
|
||||
map = QueryFontMap (dw, dw->dvi.state->font_number);
|
||||
@@ -429,7 +433,11 @@
|
||||
name = device_name_for_code ((DeviceFont *)0, c)) {
|
||||
int code = DviCharIndex (map, name);
|
||||
if (code >= 0) {
|
||||
- DoCharacter (dw, code, wid);
|
||||
+#ifdef ENABLE_MULTIBYTE
|
||||
+ DoCharacter (dw, code, wid, map->char2XChar2b);
|
||||
+#else
|
||||
+ DoCharacter (dw, code, wid);
|
||||
+#endif
|
||||
break;
|
||||
}
|
||||
if (FakeCharacter (dw, name, wid))
|
@ -1,11 +0,0 @@
|
||||
--- groff-1.18.1.1/src/devices/grohtml/post-html.cc.gcc41 2006-01-05 16:01:16.000000000 +0100
|
||||
+++ groff-1.18.1.1/src/devices/grohtml/post-html.cc 2006-01-05 16:02:14.000000000 +0100
|
||||
@@ -261,7 +261,7 @@ struct char_block {
|
||||
char_block *next;
|
||||
|
||||
char_block();
|
||||
- char_block::char_block(int length);
|
||||
+ char_block(int length);
|
||||
};
|
||||
|
||||
char_block::char_block()
|
@ -1,10 +0,0 @@
|
||||
--- groff-1.18.1.1/src/preproc/grn/hdb.cc.grn 2002-10-07 06:42:55.000000000 +0200
|
||||
+++ groff-1.18.1.1/src/preproc/grn/hdb.cc 2004-09-16 10:23:42.394486378 +0200
|
||||
@@ -115,7 +115,6 @@
|
||||
type = DBGetType(string); /* interpret element type */
|
||||
if (type < 0) { /* no more data */
|
||||
done = TRUE;
|
||||
- (void) fclose(file);
|
||||
} else {
|
||||
#ifdef UW_FASTSCAN
|
||||
(void) xscanf(file, &x, &y); /* always one point */
|
@ -1,5 +0,0 @@
|
||||
--- groff-1.18.1.1/REVISION.revision 2004-06-29 12:59:31.775599717 +0200
|
||||
+++ groff-1.18.1.1/REVISION 2004-06-29 12:58:34.646490040 +0200
|
||||
@@ -1 +1 @@
|
||||
-1
|
||||
+1.1
|
@ -1,41 +0,0 @@
|
||||
--- groff-1.18.1.1/contrib/pic2graph/pic2graph.sh.sectmp 2006-02-16 16:27:38.000000000 +0100
|
||||
+++ groff-1.18.1.1/contrib/pic2graph/pic2graph.sh 2006-02-16 16:22:43.000000000 +0100
|
||||
@@ -73,11 +73,12 @@
|
||||
# 2. Process through eqn and pic to emit troff markup.
|
||||
# 3. Process through groff to emit Postscript.
|
||||
# 4. Use convert(1) to crop the PostScript and turn it into a bitmap.
|
||||
-tmp=/tmp/pic2graph-$$
|
||||
-trap "rm ${tmp}.*" 0 2 15
|
||||
+tmpps=`mktemp /tmp/pic2graph-XXXXXXXX.ps`
|
||||
+tmpfmt=`mktemp /tmp/pic2graph-XXXXXXXX.$format`
|
||||
+trap "rm $tmpps $tmpfmt" 0 2 15
|
||||
(echo ".EQ"; echo $eqndelim; echo ".EN"; echo ".PS"; cat; echo ".PE") | \
|
||||
- groff -e -p $groffpic_opts -Tps >${tmp}.ps \
|
||||
- && convert -crop 0x0 $convert_opts ${tmp}.ps ${tmp}.${format} \
|
||||
- && cat ${tmp}.${format}
|
||||
+ groff -e -p $groffpic_opts -Tps >$tmpps \
|
||||
+ && convert -crop 0x0 $convert_opts $tmpps $tmpfmt \
|
||||
+ && cat $tmpfmt
|
||||
|
||||
# End
|
||||
--- groff-1.18.1.1/contrib/eqn2graph/eqn2graph.sh.sectmp 2006-02-16 16:27:38.000000000 +0100
|
||||
+++ groff-1.18.1.1/contrib/eqn2graph/eqn2graph.sh 2006-02-16 16:06:27.000000000 +0100
|
||||
@@ -63,12 +63,13 @@
|
||||
# 2. Process through eqn(1) to emit troff markup.
|
||||
# 3. Process through groff(1) to emit Postscript.
|
||||
# 4. Use convert(1) to crop the Postscript and turn it into a bitmap.
|
||||
-tmp=/tmp/eqn2graph-$$
|
||||
-trap "rm ${tmp}.*" 0 2 15
|
||||
+tmpps=`mktemp /tmp/eqn2graph-XXXXXXXX.ps`
|
||||
+tmpfmt=`mktemp /tmp/eqn2graph-XXXXXXXX.$format`
|
||||
+trap "rm $tmpps $tmpfmt" 0 2 15
|
||||
read equation
|
||||
(echo ".EQ"; echo 'delim $$'; echo ".EN"; echo '$'"${equation}"'$') | \
|
||||
- groff -e $groff_opts -Tps >${tmp}.ps \
|
||||
- && convert -crop 0x0 $convert_opts ${tmp}.ps ${tmp}.${format} \
|
||||
- && cat ${tmp}.${format}
|
||||
+ groff -e $groff_opts -Tps >$tmpps \
|
||||
+ && convert -crop 0x0 $convert_opts $tmpps $tmpfmt \
|
||||
+ && cat $tmpfmt
|
||||
|
||||
# End
|
@ -1,11 +0,0 @@
|
||||
--- ./src/roff/troff/env.cc.orig 2006-01-12 14:43:05.000000000 +0100
|
||||
+++ ./src/roff/troff/env.cc 2006-01-12 14:45:55.000000000 +0100
|
||||
@@ -300,7 +300,7 @@
|
||||
* This code is based on jgroff
|
||||
* about kerning between ASCII and EUC-JP
|
||||
*/
|
||||
- if (!ci->get_wchar_code()) {
|
||||
+ if (!ci->get_wchar_code() || wchar_code(ci->get_wchar_code()) < 0x590) {
|
||||
/*
|
||||
* This node is a ASCII character node.
|
||||
*/
|
@ -1,28 +0,0 @@
|
||||
--- groff-1.18.1.1/contrib/groffer/groffer.sh.tempfile 2004-06-15 03:44:50.000000000 +0200
|
||||
+++ groff-1.18.1.1/contrib/groffer/groffer.sh 2004-10-19 13:04:35.704244526 +0200
|
||||
@@ -3228,18 +3228,13 @@
|
||||
do
|
||||
if is_not_empty "$d"; then
|
||||
if obj d is_dir && obj d is_writable; then
|
||||
- _TMP_DIR="${d}/${_PROGRAM_NAME}${_PROCESS_ID}";
|
||||
- if obj _TMP_DIR is_dir; then
|
||||
- rm -f "${_TMP_DIR}"/*;
|
||||
- break;
|
||||
- else
|
||||
- mkdir "${_TMP_DIR}";
|
||||
- if obj _TMP_DIR is_not_dir; then
|
||||
- _TMP_DIR='';
|
||||
- continue;
|
||||
- fi;
|
||||
- break;
|
||||
- fi;
|
||||
+ _TMP_DIR="`mktemp -d ${d}/${_PROGRAM_NAME}.XXXXXX`";
|
||||
+ if test $? = 0; then
|
||||
+ break;
|
||||
+ else
|
||||
+ _TMP_DIR='';
|
||||
+ continue;
|
||||
+ fi
|
||||
fi;
|
||||
if obj _TMP_DIR is_not_writable; then
|
||||
_TMP_DIR='';
|
@ -1,14 +0,0 @@
|
||||
diff -up groff-1.18.1.4/src/devices/grolbp/lbp.cc.old groff-1.18.1.4/src/devices/grolbp/lbp.cc
|
||||
--- groff-1.18.1.4/src/devices/grolbp/lbp.cc.old 2008-01-03 15:38:25.000000000 +0100
|
||||
+++ groff-1.18.1.4/src/devices/grolbp/lbp.cc 2008-01-03 15:38:33.000000000 +0100
|
||||
@@ -25,7 +25,9 @@ TODO
|
||||
|
||||
- Add X command to include bitmaps
|
||||
*/
|
||||
-#define _GNU_SOURCE
|
||||
+#ifndef _GNU_SOURCE
|
||||
+#define _GNU_SOURCE 1
|
||||
+#endif
|
||||
|
||||
#include "driver.h"
|
||||
#include "lbp.h"
|
@ -1,22 +0,0 @@
|
||||
diff -up groff-1.18.1.4/contrib/groffer/groffer.sh.old groff-1.18.1.4/contrib/groffer/groffer.sh
|
||||
--- groff-1.18.1.4/contrib/groffer/groffer.sh.old 2006-10-04 22:35:39.000000000 +0200
|
||||
+++ groff-1.18.1.4/contrib/groffer/groffer.sh 2007-10-08 09:01:29.000000000 +0200
|
||||
@@ -129,7 +129,7 @@ no)
|
||||
esac;
|
||||
|
||||
export _GROFFER2_SH; # file name of the script that follows up
|
||||
-_GROFFER2_SH="${_GROFFER_LIBDIR}"'groffer2.sh';
|
||||
+_GROFFER2_SH="${_GROFFER_LIBDIR}${_GROFF_VERSION}"'groffer2.sh';
|
||||
|
||||
export _GROFFER_SH; # file name of this shell script
|
||||
case "$0" in
|
||||
@@ -331,7 +331,8 @@ fi;
|
||||
if test _"${_SHELL}"_ = __
|
||||
then
|
||||
# no shell found, so start groffer2.sh normally
|
||||
- eval . "'${_GROFFER2_SH}'" '"$@"';
|
||||
+ #eval . "'${_GROFFER2_SH}'" '"$@"';
|
||||
+ eval . "/usr/share/groff/${_GROFF_VERSION}/groffer/groffer2.sh" '"$@"';
|
||||
exit;
|
||||
else
|
||||
# start groffer2.sh with the found $_SHELL
|
@ -1,43 +0,0 @@
|
||||
--- groff-1.18.1.4/contrib/eqn2graph/eqn2graph.sh.sectmp 2006-10-23 14:12:41.000000000 +0200
|
||||
+++ groff-1.18.1.4/contrib/eqn2graph/eqn2graph.sh 2006-10-23 14:20:20.000000000 +0200
|
||||
@@ -63,12 +63,14 @@
|
||||
# 2. Process through eqn(1) to emit troff markup.
|
||||
# 3. Process through groff(1) to emit Postscript.
|
||||
# 4. Use convert(1) to crop the Postscript and turn it into a bitmap.
|
||||
-tmp=/tmp/eqn2graph-$$
|
||||
-trap "rm ${tmp}.*" 0 2 15
|
||||
+
|
||||
+tmpps=`mktemp /tmp/eqn2graph-XXXXXXXX.ps`
|
||||
+tmpfmt=`mktemp /tmp/eqn2graph-XXXXXXXX.$format`
|
||||
+trap "rm $tmpps $tmpfmt" 0 2 15
|
||||
read equation
|
||||
(echo ".EQ"; echo 'delim $$'; echo ".EN"; echo '$'"${equation}"'$') | \
|
||||
- groff -e $groff_opts -Tps >${tmp}.ps \
|
||||
- && convert -crop 0x0 $convert_opts ${tmp}.ps ${tmp}.${format} \
|
||||
- && cat ${tmp}.${format}
|
||||
+ groff -e $groff_opts -Tps >$tmpps \
|
||||
+ && convert -crop 0x0 $convert_opts $tmpps $tmpfmt \
|
||||
+ && cat $tmpfmt
|
||||
|
||||
# End
|
||||
--- groff-1.18.1.4/contrib/pic2graph/pic2graph.sh.sectmp 2006-10-23 14:12:41.000000000 +0200
|
||||
+++ groff-1.18.1.4/contrib/pic2graph/pic2graph.sh 2006-10-23 14:18:57.000000000 +0200
|
||||
@@ -73,11 +73,13 @@
|
||||
# 2. Process through eqn and pic to emit troff markup.
|
||||
# 3. Process through groff to emit Postscript.
|
||||
# 4. Use convert(1) to crop the PostScript and turn it into a bitmap.
|
||||
-tmp=/tmp/pic2graph-$$
|
||||
-trap "rm ${tmp}.*" 0 2 15
|
||||
+
|
||||
+tmpps=`mktemp /tmp/pic2graph-XXXXXXXX.ps`
|
||||
+tmpfmt=`mktemp /tmp/pic2graph-XXXXXXXX.$format`
|
||||
+trap "rm $tmpps $tmpfmt" 0 2 15
|
||||
(echo ".EQ"; echo $eqndelim; echo ".EN"; echo ".PS"; cat; echo ".PE") | \
|
||||
- groff -e -p $groffpic_opts -Tps >${tmp}.ps \
|
||||
- && convert -crop 0x0 $convert_opts ${tmp}.ps ${tmp}.${format} \
|
||||
- && cat ${tmp}.${format}
|
||||
+ groff -e -p $groffpic_opts -Tps >$tmpps \
|
||||
+ && convert -crop 0x0 $convert_opts $tmpps $tmpfmt \
|
||||
+ && cat $tmpfmt
|
||||
|
||||
# End
|
@ -1,19 +0,0 @@
|
||||
--- groff-1.18.1/Makefile.ccpg.sopwith Mon Feb 10 08:33:21 2003
|
||||
+++ groff-1.18.1/Makefile.ccpg Mon Feb 10 08:54:00 2003
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
all: $(PROG) $(MANPAGES)
|
||||
|
||||
-$(PROG): $(OBJS) $(XLIBS)
|
||||
+$(PROG): $(OBJS)
|
||||
$(LINK.cc) -o $@ $(OBJS) $(XLIBS) $(LIBS) $(MLIB)
|
||||
|
||||
install_bin: install_prog
|
||||
@@ -28,6 +28,6 @@
|
||||
|
||||
pure: $(PROG).pure
|
||||
|
||||
-$(PROG).pure: $(OBJS) $(XLIBS)
|
||||
+$(PROG).pure: $(OBJS)
|
||||
$(PURIFY) $(PURIFYCCFLAGS) \
|
||||
$(LINK.cc) -o $@ $(OBJS) $(XLIBS) $(LIBS) $(MLIB)
|
279
groff.spec
279
groff.spec
@ -2,45 +2,22 @@
|
||||
|
||||
Summary: A document formatting system
|
||||
Name: groff
|
||||
Version: 1.18.1.4
|
||||
Release: 18%{?dist}
|
||||
License: GPLv2 and GFDL
|
||||
Version: 1.20.1
|
||||
Release: 0%{?dist}
|
||||
License: GPLv3+ and GFDL and BSD and MIT
|
||||
Group: Applications/Publishing
|
||||
URL: http://groff.ffii.org
|
||||
|
||||
Source0: ftp://ftp.gnu.org/gnu/groff/groff-%{version}.tar.gz
|
||||
Source3: mandocj.tar.gz
|
||||
Source4: man-pages-ja-GNU_groff-20000115.tar.gz
|
||||
Source6: hyphen.cs
|
||||
Source7: nroff
|
||||
Patch1: groff-1.16-safer.patch
|
||||
Patch3: groff_1.18.1-15.diff
|
||||
Patch4: groff-1.18-info.patch
|
||||
Patch6: groff-1.18-pfbtops_cpp.patch
|
||||
Patch7: groff-1.18-gzip.patch
|
||||
Patch9: groff-1.18.1-fixminus.patch
|
||||
Patch11: groff-1.18.1-8bit.patch
|
||||
Patch12: groff-1.18.1-korean.patch
|
||||
Patch13: groff-1.18.1-gzext.patch
|
||||
#Patch14: groff-xlibs.patch
|
||||
Patch15: groff-1.18.1-fix15.patch
|
||||
Patch16: groff-1.18.1-devutf8.patch
|
||||
#Patch17: groff-1.18.1.3-revision.patch
|
||||
Patch18: groff-1.18.1.1-do_char.patch
|
||||
#Patch19: groff-1.18.1.1-grn.patch
|
||||
#Patch20: groff-1.18.1.1-tempfile.patch
|
||||
#Patch21: groff-1.18.1.1-gcc41.patch
|
||||
#Patch22: groff-1.18.1.1-bigendian.patch
|
||||
Patch23: groff-1.18.1.1-spacefix.patch
|
||||
Patch24: groff-1.18.1.4-sectmp.patch
|
||||
Patch25: groff-1.18.1.4-grofferpath.patch
|
||||
Patch26: groff-1.18.1.4-gcc4.3.0.patch
|
||||
|
||||
Requires: mktemp
|
||||
Requires: /sbin/install-info
|
||||
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
Conflicts: groff-tools = %version
|
||||
Provides: nroff-i18n = %version
|
||||
BuildRequires: byacc zlib-devel texinfo
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
Provides: nroff-i18n = %{version}-%{release}
|
||||
BuildRequires: netpbm-progs psutils ghostscript
|
||||
# when building from CVS add: BuildRequires: texinfo byacc
|
||||
Requires(post): info
|
||||
Requires(preun): info
|
||||
|
||||
%description
|
||||
Groff is a document formatting system. Groff takes standard text and
|
||||
@ -52,178 +29,166 @@ more.
|
||||
|
||||
Groff can also be used to format man pages. If you are going to use
|
||||
groff with the X Window System, you will also need to install the
|
||||
groff-gxditview package.
|
||||
groff-x11 package.
|
||||
|
||||
%package perl
|
||||
Summary: Parts of the groff formatting system that require Perl
|
||||
Group: Applications/Publishing
|
||||
Requires: groff = %{version}-%{release}
|
||||
|
||||
%description perl
|
||||
The groff-perl package contains the parts of the groff text processor
|
||||
package that require Perl. These include the afmtodit font processor
|
||||
for creating PostScript font files, the grog utility that can be used
|
||||
to automatically determine groff command-line options, and the
|
||||
troff-to-ps print filter.
|
||||
package that require Perl. These include the afmtodit (font processor
|
||||
for creating PostScript font files), groffer (tool for displaying groff
|
||||
files), grog (utility that can be used to automatically determine groff
|
||||
command-line options), chem (groff preprocessor for producing chemical
|
||||
structure diagrams), mmroff (reference preprocessor) and roff2dvi
|
||||
roff2html roff2pdf roff2ps roff2text roff2x (roff code converters).
|
||||
|
||||
%if %{with_x}
|
||||
%package gxditview
|
||||
Summary: An X previewer for groff text processor output
|
||||
%package x11
|
||||
Summary: Parts of the groff formatting system that require X Windows System
|
||||
Group: Applications/Publishing
|
||||
BuildRequires: imake xorg-x11-proto-devel libX11-devel libXaw-devel
|
||||
BuildRequires: libXt-devel libXpm-devel libXext-devel
|
||||
BuildRequires: libXaw-devel libXmu-devel
|
||||
Requires: groff = %{version}-%{release}
|
||||
Provides: groff-gxditview = %{version}-%{release}
|
||||
Obsoletes: groff-gxditview < 1.20.1
|
||||
|
||||
%description gxditview
|
||||
Gxditview displays the groff text processor's output on an X Window
|
||||
System display.
|
||||
%description x11
|
||||
The groff-x11 package contains the parts of the groff text processor
|
||||
package that require X Windows System. These include gxditview (display
|
||||
groff intermediate output files on X Window System display) and
|
||||
xtotroff (converts X font metrics into groff font metrics).
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -q -a 4
|
||||
%patch1 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
#%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch9 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1 -b .gzext
|
||||
#%patch14 -p1
|
||||
%patch15 -p1 -b .fix9
|
||||
%patch16 -p1 -b .devutf8
|
||||
#%patch17 -p1 -b .revision
|
||||
%patch18 -p1 -b .do_char
|
||||
#%patch19 -p1 -b .grn
|
||||
#%patch20 -p1 -b .tempfile
|
||||
#%patch21 -p1 -b .gcc41
|
||||
#%patch22 -p1 -b .bigendian
|
||||
%patch23 -p1 -b .spacefix
|
||||
%patch24 -p1 -b .sectmp
|
||||
%patch25 -p1 -b .grofferpath
|
||||
%patch26 -p1 -b .gcc43
|
||||
%package doc
|
||||
Summary: Documentation for groff document formatting system
|
||||
Group: Documentation
|
||||
Requires: groff = %{version}-%{release}
|
||||
|
||||
for i in contrib/mm/{groff_mm,groff_mmse,mmroff}.man \
|
||||
src/devices/grolbp/grolbp.man; do
|
||||
iconv -f iso-8859-1 -t utf-8 < "$i" > "${i}_"
|
||||
mv "${i}_" "$i"
|
||||
%description doc
|
||||
The groff-doc package includes additional documentation for groff
|
||||
text processor package. It contains examples, documentation for PIC
|
||||
language and documentation for creating PDF files.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
for file in NEWS src/devices/grolbp/grolbp.man doc/{groff.info*,webpage.ms} \
|
||||
contrib/mm/*.man contrib/mom/examples/{README.txt,*.mom} ; do
|
||||
iconv -f iso-8859-1 -t utf-8 < "$file" > "${file}_"
|
||||
mv "${file}_" "$file"
|
||||
done
|
||||
|
||||
%build
|
||||
#PATH=$PATH:%{_prefix}/X11R6/bin
|
||||
#autoconf
|
||||
%configure --enable-multibyte
|
||||
# no html docs
|
||||
make make_html=
|
||||
(cd doc && makeinfo groff.texinfo)
|
||||
%if %{with_x}
|
||||
cd src/xditview
|
||||
xmkmf && make %{?_smp_mflags}
|
||||
%endif
|
||||
%configure --with-appresdir=%{_datadir}/X11/app-defaults
|
||||
make
|
||||
|
||||
%install
|
||||
rm -rf ${RPM_BUILD_ROOT}
|
||||
#PATH=$PATH:%{_prefix}/X11R6/bin
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_infodir}
|
||||
# 1) no html docs
|
||||
# 2) the list could be shorter if configure parameters were not expanded;
|
||||
# %%configure should be fixed!
|
||||
make install make_html= make_install_html= \
|
||||
manroot=${RPM_BUILD_ROOT}%{_mandir} \
|
||||
bindir=%{buildroot}%{_bindir} \
|
||||
mandir=%{buildroot}%{_mandir} \
|
||||
prefix=%{buildroot}/usr \
|
||||
exec_prefix=%{buildroot}/usr \
|
||||
sbindir=%{buildroot}%{_exec_prefix}/sbin \
|
||||
sysconfdir=%{buildroot}/etc \
|
||||
datadir=%{buildroot}/usr/share \
|
||||
infodir=%{buildroot}/%{_prefix}/info \
|
||||
sysconfdir=%{buildroot}/etc \
|
||||
includedir=%{buildroot}/usr/include \
|
||||
libdir=%{buildroot}/%{_libdir} \
|
||||
libexecdir=%{buildroot}/usr/libexec \
|
||||
localstatedir=%{buildroot}/var \
|
||||
sharedstatedir=%{buildroot}/usr/com \
|
||||
infodir=%{buildroot}/usr/share/info
|
||||
rm -rf %{buildroot}
|
||||
|
||||
#install -m 644 doc/groff.info* ${RPM_BUILD_ROOT}/%{_infodir}
|
||||
%if %{with_x}
|
||||
cd src/xditview
|
||||
make install DESTDIR=${RPM_BUILD_ROOT}
|
||||
cd ../..
|
||||
%endif
|
||||
make install DESTDIR=%{buildroot} \
|
||||
docdir=%{_docdir}/%{name}-%{version} \
|
||||
groffer_dir=%{_datadir}/%{name}/%{version}/groffer
|
||||
|
||||
for file in {s,mse,m}.tmac; do
|
||||
ln -s $file ${RPM_BUILD_ROOT}%{_datadir}/groff/%{version}/tmac/g$file
|
||||
done
|
||||
for file in g{{n,t}roff,tbl,pic,{,n}eqn,refer,{look,indx}bib} {g,z}soelim; do
|
||||
ln -s ${file#?} ${RPM_BUILD_ROOT}%{_bindir}/$file
|
||||
ln -s {${file#?},${RPM_BUILD_ROOT}%{_mandir}/man1/$file}.1.gz
|
||||
# some binaries need alias with 'g' or 'z' prefix
|
||||
|
||||
for file in g{nroff,troff,tbl,pic,eqn,neqn,refer,lookbib,indxbib,soelim} zsoelim; do
|
||||
ln -s ${file#?} %{buildroot}%{_bindir}/${file}
|
||||
ln -s ${file#?}.1.gz %{buildroot}%{_mandir}/man1/${file}.1.gz
|
||||
done
|
||||
|
||||
ln -s devnippon ${RPM_BUILD_ROOT}%{_datadir}/groff/%{version}/font/devkorean
|
||||
# perl dependent files in /usr/bin will be in separate package
|
||||
|
||||
cat debian/mandoc.local >> ${RPM_BUILD_ROOT}%{_datadir}/groff/site-tmac/mdoc.local
|
||||
cat debian/mandoc.local >> ${RPM_BUILD_ROOT}%{_datadir}/groff/site-tmac/man.local
|
||||
rm -f files-perl files-nonperl
|
||||
for file in %{buildroot}%{_bindir}/*; do
|
||||
# package selection
|
||||
if grep -q -m1 '^#!.*\<perl\>' $file; then
|
||||
output_file=files-perl
|
||||
else
|
||||
output_file=files-nonperl
|
||||
fi
|
||||
|
||||
find ${RPM_BUILD_ROOT}%{_bindir} ${RPM_BUILD_ROOT}%{_mandir} -type f -o -type l | \
|
||||
sed "/afmtodit/d;/grog/d;/mdoc\.samples/d;/mmroff/d;/gxditview/d
|
||||
s|${RPM_BUILD_ROOT}||g; s|\.[0-9]|\.*|g" > groff-files
|
||||
echo %{_bindir}/$(basename $file) >> $output_file
|
||||
|
||||
install -pm 644 %SOURCE6 $RPM_BUILD_ROOT%{_datadir}/groff/%version/tmac/hyphen.cs
|
||||
# manpage availability
|
||||
manfile=%{buildroot}%{_mandir}/man1/$(basename $file).\*
|
||||
if [ -f $manfile -o -L $manfile ]; then
|
||||
echo %{_mandir}/man1/$(basename $file).\* >> $output_file
|
||||
fi
|
||||
done
|
||||
|
||||
install -pm 755 %SOURCE7 $RPM_BUILD_ROOT%{_bindir}/nroff
|
||||
# another documentation files
|
||||
|
||||
ln -sf doc.tmac $RPM_BUILD_ROOT%{_datadir}/groff/%version/tmac/docj.tmac
|
||||
# installed, but not packaged in rpm
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/groff/%{version}/groffer/
|
||||
chmod 755 $RPM_BUILD_ROOT%{_datadir}/groff/1.18.1.4/font/devps/generate/symbol.sed
|
||||
chmod 755 $RPM_BUILD_ROOT%{_datadir}/groff/1.18.1.4/font/devdvi/generate/CompileFonts
|
||||
chmod 755 $RPM_BUILD_ROOT%{_datadir}/groff/1.18.1.4/font/devps/generate/afmname
|
||||
chmod 755 $RPM_BUILD_ROOT%{_libdir}/groff/groffer/version.sh
|
||||
mv $RPM_BUILD_ROOT%{_libdir}/groff/groffer/* $RPM_BUILD_ROOT/%{_datadir}/groff/%{version}/groffer/
|
||||
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/groff $RPM_BUILD_ROOT%{_infodir}/dir $RPM_BUILD_ROOT/%{_prefix}/lib/X11/app-defaults
|
||||
rm -rf $RPM_BUILD_ROOT%{_libdir}/groff/groffer
|
||||
rm -rf $RPM_BUILD_ROOT%{_libdir}/groff/site-tmac
|
||||
rm -rf $RPM_BUILD_ROOT%{_libdir}/groff
|
||||
cp BUG-REPORT COPYING FDL LICENSES MORE.STUFF NEWS PROBLEMS %{buildroot}%{_docdir}/%{name}-%{version}
|
||||
|
||||
# remove unnecessary files and fix privileges
|
||||
|
||||
rm -f %{buildroot}%{_infodir}/dir
|
||||
|
||||
chmod 755 %{buildroot}%{_datadir}/groff/%{version}/groffer/version.sh
|
||||
chmod 755 %{buildroot}%{_datadir}/groff/%{version}/font/devlj4/generate/special.awk
|
||||
|
||||
%clean
|
||||
rm -rf ${RPM_BUILD_ROOT}
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%post
|
||||
/sbin/install-info %{_infodir}/groff.gz %{_infodir}/dir;
|
||||
exit 0
|
||||
/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || :
|
||||
|
||||
%preun
|
||||
if [ $1 = 0 ]; then
|
||||
/sbin/install-info --delete %{_infodir}/groff.gz %{_infodir}/dir
|
||||
/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || :
|
||||
fi
|
||||
exit 0
|
||||
|
||||
%files -f groff-files
|
||||
%files -f files-nonperl
|
||||
%defattr(-,root,root,-)
|
||||
%doc BUG-REPORT NEWS PROBLEMS README TODO VERSION
|
||||
%doc doc/meintro.me doc/meref.me doc/pic.ms
|
||||
%{_datadir}/groff
|
||||
%{_infodir}/groff*
|
||||
%doc %{_docdir}/%{name}-%{version}/*.me
|
||||
%doc %{_docdir}/%{name}-%{version}/*.ps
|
||||
%doc %{_docdir}/%{name}-%{version}/*.ms
|
||||
%doc %{_docdir}/%{name}-%{version}/BUG-REPORT
|
||||
%doc %{_docdir}/%{name}-%{version}/COPYING
|
||||
%doc %{_docdir}/%{name}-%{version}/FDL
|
||||
%doc %{_docdir}/%{name}-%{version}/LICENSES
|
||||
%doc %{_docdir}/%{name}-%{version}/MORE.STUFF
|
||||
%doc %{_docdir}/%{name}-%{version}/NEWS
|
||||
%doc %{_docdir}/%{name}-%{version}/PROBLEMS
|
||||
%{_datadir}/groff/
|
||||
# manpages for binaries are covered by -f
|
||||
%{_mandir}/man1/grohtml.*
|
||||
%{_mandir}/man5/*
|
||||
%{_mandir}/man7/*
|
||||
%{_infodir}/groff.info*
|
||||
%exclude %{_datadir}/groff/%{version}/groffer
|
||||
%exclude %{_bindir}/gxditview
|
||||
%exclude %{_bindir}/xtotroff
|
||||
%exclude %{_mandir}/man1/gxditview.*
|
||||
%exclude %{_mandir}/man1/xtotroff.*
|
||||
|
||||
%files perl
|
||||
%files perl -f files-perl
|
||||
%defattr(-,root,root,-)
|
||||
%{_bindir}/grog
|
||||
%{_bindir}/mmroff
|
||||
%{_bindir}/afmtodit
|
||||
%{_mandir}/man1/afmtodit.*
|
||||
%{_mandir}/man1/grog.*
|
||||
%{_mandir}/man1/mmroff*
|
||||
%{_datadir}/groff/%{version}/groffer/
|
||||
|
||||
%if %{with_x}
|
||||
%files gxditview
|
||||
%files x11
|
||||
%defattr(-,root,root,-)
|
||||
%{_bindir}/gxditview
|
||||
%{_bindir}/xtotroff
|
||||
%{_datadir}/X11/app-defaults/GXditview
|
||||
%{_datadir}/X11/app-defaults/GXditview-color
|
||||
%{_mandir}/man1/gxditview.*
|
||||
%{_mandir}/man1/xtotroff.*
|
||||
%endif
|
||||
|
||||
%files doc
|
||||
%defattr(-,root,root,-)
|
||||
%doc %{_docdir}/%{name}-%{version}/examples/
|
||||
%doc %{_docdir}/%{name}-%{version}/html/
|
||||
%doc %{_docdir}/%{name}-%{version}/pdf/
|
||||
|
||||
%changelog
|
||||
* Tue Mar 12 2010 Jan Vcelak <jvcelak@redhat.com> - 1.20.1-0
|
||||
- Package rebase to upstream 1.20.1
|
||||
|
||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.18.1.4-18
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
|
20101
groff_1.18.1-15.diff
20101
groff_1.18.1-15.diff
File diff suppressed because it is too large
Load Diff
100
nroff
100
nroff
@ -1,100 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Emulate nroff with groff.
|
||||
|
||||
prog="$0"
|
||||
charset_in=iso-8859-1
|
||||
charset_out=`locale charmap 2>/dev/null`
|
||||
opts="-mtty-char"
|
||||
T=""
|
||||
|
||||
for i
|
||||
do
|
||||
case $1 in
|
||||
-c)
|
||||
opts="$opts -P-c" ;;
|
||||
-h)
|
||||
opts="$opts -P-h" ;;
|
||||
-[mrnoT])
|
||||
echo $"option $1 requires an argument" >&2
|
||||
exit 1 ;;
|
||||
-[iptSUC] | -[mrno]*)
|
||||
opts="$opts $1" ;;
|
||||
-Tascii | -Tlatin1 | -Tutf8 | -Tcp1047 | -Tascii8 | -Tnippon | -Tkorean)
|
||||
T=$1 ;;
|
||||
-[eq] | -s* | -u* | -T*)
|
||||
# ignore these options
|
||||
;;
|
||||
-v | --version)
|
||||
echo $"GNU nroff (groff) with Red Hat i18n/l10n support"
|
||||
exit 0 ;;
|
||||
--legacy)
|
||||
shift
|
||||
charset_in=$1 ;;
|
||||
--help)
|
||||
echo $"usage: $prog [-cChipt] [-mNAME] [-nNUM] [--legacy CHARSET] [-oLIST] [-rCN] [FILE...]"
|
||||
exit 0 ;;
|
||||
--)
|
||||
shift
|
||||
break ;;
|
||||
-)
|
||||
break ;;
|
||||
-*)
|
||||
echo $"$prog: invalid option $1" >&2
|
||||
exit 1 ;;
|
||||
*)
|
||||
break ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Don't convert encodings when -T is specified
|
||||
[ -n "$T" ] && exec /usr/bin/groff $opts $T ${1+"$@"} 2>/dev/null
|
||||
|
||||
opts="$opts -Tutf8"
|
||||
|
||||
if TMPFILE=$(mktemp /tmp/man.XXXXXX 2>/dev/null); then
|
||||
trap "rm -f $TMPFILE" 0 1 2 3 15
|
||||
cat ${1+"$@"} >| $TMPFILE
|
||||
else
|
||||
buf=$(cat ${1+"$@"})
|
||||
TMPFILE=buf
|
||||
fi
|
||||
|
||||
if [ $TMPFILE = buf ]; then
|
||||
echo -n "$buf" | iconv -f utf-8 -t utf-8 &>/dev/null && charset_in=utf-8
|
||||
else
|
||||
iconv -f utf-8 -t utf-8 $TMPFILE &>/dev/null && charset_in=utf-8
|
||||
fi
|
||||
|
||||
if [ $charset_in != utf-8 ]; then
|
||||
echo $"WARNING: old character encoding and/or character set" >&2
|
||||
fi
|
||||
|
||||
# en_US is chosen arbitrarily; any UTF-8 locale should work
|
||||
export LC_ALL=en_US.UTF-8
|
||||
|
||||
# This shell script is intended for use with man, so warnings are
|
||||
# probably not wanted. Also load nroff-style character definitions.
|
||||
if [ $charset_in = utf-8 -a $charset_out = UTF-8 ]; then
|
||||
if [ $TMPFILE = buf ]; then
|
||||
echo -n "$buf" | /usr/bin/groff $opts 2>/dev/null
|
||||
else
|
||||
exec < $TMPFILE
|
||||
rm -f $TMPFILE
|
||||
exec /usr/bin/groff $opts 2>/dev/null
|
||||
fi
|
||||
else
|
||||
if [ $TMPFILE = buf ]; then
|
||||
echo -n "$buf" | \
|
||||
/usr/bin/iconv -f $charset_in -t utf-8 | \
|
||||
/usr/bin/groff $opts 2>/dev/null | \
|
||||
/usr/bin/iconv -f utf-8 -t ${charset_out}//translit
|
||||
else
|
||||
/usr/bin/iconv -f $charset_in -t utf-8 $TMPFILE | \
|
||||
/usr/bin/groff $opts 2>/dev/null | \
|
||||
/usr/bin/iconv -f utf-8 -t ${charset_out}//translit
|
||||
|
||||
rm -f $TMPFILE
|
||||
fi
|
||||
fi
|
||||
# eof
|
Loading…
Reference in New Issue
Block a user