From 68555f62a5ee6591e3b4ea1b7d557ededb66ab5f Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Sun, 20 Apr 2008 11:44:48 +0000 Subject: [PATCH 01/85] Initialize branch F-9 for a2ps --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..1c26f78 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +F-9 From 06023f61c157d5c426c97b7cff7408bf0c856b14 Mon Sep 17 00:00:00 2001 From: pertusus Date: Thu, 1 May 2008 14:07:24 +0000 Subject: [PATCH 02/85] - update to 4.14 - don't obsolete the provided version of a2ps-i18n - use html2ps for the html delegation --- .cvsignore | 2 + a2ps-4.13-conf.patch | 24 +- a2ps-4.13-etc.patch | 67 +- a2ps-4.13-eucjp.patch | 1417 ++++++++++++++++++++++++++++++++++++++++ a2ps-4.13-euckr.patch | 78 +-- a2ps-4.13-hebrew.patch | 83 +-- a2ps.spec | 133 ++-- sources | 3 +- 8 files changed, 1616 insertions(+), 191 deletions(-) create mode 100644 .cvsignore create mode 100644 a2ps-4.13-eucjp.patch diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 0000000..03aa984 --- /dev/null +++ b/.cvsignore @@ -0,0 +1,2 @@ +a2ps-4.14.tar.gz +i18n-fonts-0.1.tar.gz diff --git a/a2ps-4.13-conf.patch b/a2ps-4.13-conf.patch index 0613655..9504283 100644 --- a/a2ps-4.13-conf.patch +++ b/a2ps-4.13-conf.patch @@ -1,7 +1,8 @@ ---- a2ps-4.13/configure.config Wed Feb 9 09:32:31 2000 -+++ a2ps-4.13/configure Thu Apr 27 19:56:05 2000 -@@ -8433,9 +8433,13 @@ - echo "configure:8434: checking for PostScript fonts path" 1>&5 +diff -up a2ps-4.14/configure.conf a2ps-4.14/configure +--- a2ps-4.14/configure.conf 2008-04-27 01:01:04.000000000 +0200 ++++ a2ps-4.14/configure 2008-04-27 01:04:12.000000000 +0200 +@@ -30758,9 +30758,13 @@ fi + echo $ECHO_N "checking for PostScript fonts path... $ECHO_C" >&6; } # Try to find some PostScript fonts. # Find out if ghostscript is installed +# for ac_dir in /usr/local/ghostscript/fonts \ @@ -11,14 +12,15 @@ - /usr/local/share/ghostscript/fonts; +for ac_dir in /usr/share/fonts/default/Type1 \ + /usr/share/fonts/default/ghostscript \ -+ /usr/share/fonts/afms/adobe \ -+ /usr/share/X11/fonts/Type1 ; ++ /usr/share/X11/fonts/Type1 \ ++ /usr/share/fonts/culmus ; do if test "cd $ac_dir 2>/dev/null && echo *.afm"; then ac_psfont_path="$ac_psfont_path:$ac_dir"; ---- a2ps-4.13/configure.in.conf 2000-02-24 17:53:03.000000000 +0000 -+++ a2ps-4.13/configure.in 2004-12-09 16:25:14.984961138 +0000 -@@ -197,8 +197,10 @@ +diff -up a2ps-4.14/configure.in.conf a2ps-4.14/configure.in +--- a2ps-4.14/configure.in.conf 2008-04-27 01:00:54.000000000 +0200 ++++ a2ps-4.14/configure.in 2008-04-27 01:03:52.000000000 +0200 +@@ -207,8 +207,10 @@ AC_MSG_CHECKING(for PostScript fonts pat # Try to find some PostScript fonts. # Find out if ghostscript is installed ac_psfont_path= @@ -26,8 +28,8 @@ - /usr/local/share/ghostscript/fonts; +for ac_dir in /usr/share/fonts/default/Type1 \ + /usr/share/fonts/default/ghostscript \ -+ /usr/share/fonts/afms/adobe \ -+ /usr/share/X11/fonts/Type1 ; ++ /usr/share/X11/fonts/Type1 \ ++ /usr/share/fonts/culmus ; do if test "cd $ac_dir 2>/dev/null && echo *.afm"; then ac_psfont_path="$ac_psfont_path:$ac_dir"; diff --git a/a2ps-4.13-etc.patch b/a2ps-4.13-etc.patch index 1aaee86..fa692ff 100644 --- a/a2ps-4.13-etc.patch +++ b/a2ps-4.13-etc.patch @@ -1,27 +1,17 @@ ---- a2ps-4.13/etc/Makefile.in.etc Wed Feb 9 09:32:55 2000 -+++ a2ps-4.13/etc/Makefile.in Thu Apr 27 22:45:03 2000 -@@ -132,7 +132,7 @@ +diff -up a2ps-4.14/etc/a2ps_cfg.in.etc a2ps-4.14/etc/a2ps_cfg.in +--- a2ps-4.14/etc/a2ps_cfg.in.etc 2007-12-29 02:38:58.000000000 +0100 ++++ a2ps-4.14/etc/a2ps_cfg.in 2008-04-27 01:27:55.000000000 +0200 +@@ -73,6 +73,7 @@ LibraryPath: @libpath@ + # It may be useful to extend it so that a2ps can see some + # TeX or X11 resources: it likes AFM files and PF[AB] files. + #AppendLibraryPath: foo ++AppendLibraryPath: @apppath@ - ogonkifydir = $(datadir)/ogonkify --libpath = $(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) -+libpath = $(sysconfdir)/$(PACKAGE):$(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) - - pkgdata_DATA = README - -@@ -297,7 +297,9 @@ - - # Building the correct a2ps.cfg - a2ps.cfg: a2ps_cfg Makefile -- sed "s!@libpath@!$(libpath)!" a2ps_cfg > a2ps.cfg -+ sed -e "s!@libpath@!$(libpath)!" \ -+ -e "s!@apppath@!$(PSFONT_PATH)!" \ -+ a2ps_cfg > a2ps.cfg - - # Building a time stamp to know the version. - README: README.in Makefile ---- a2ps-4.13/etc/Makefile.am.etc 1999-11-30 09:20:09.000000000 +0100 -+++ a2ps-4.13/etc/Makefile.am 2007-03-09 11:05:43.000000000 +0100 + ################################################################# +diff -up a2ps-4.14/etc/Makefile.am.etc a2ps-4.14/etc/Makefile.am +--- a2ps-4.14/etc/Makefile.am.etc 2002-07-19 14:07:27.000000000 +0200 ++++ a2ps-4.14/etc/Makefile.am 2008-04-27 01:27:55.000000000 +0200 @@ -2,7 +2,7 @@ ## Makefile for a2ps' etc library directory. @@ -31,7 +21,7 @@ pkgdata_DATA = README -@@ -40,7 +40,9 @@ +@@ -40,7 +40,9 @@ DISTCLEANFILES = a2ps.cfg README # Building the correct a2ps.cfg a2ps.cfg: a2ps_cfg Makefile @@ -42,13 +32,28 @@ # Building a time stamp to know the version. README: README.in Makefile ---- a2ps-4.13/etc/a2ps_cfg.in.etc Tue Feb 8 03:24:03 2000 -+++ a2ps-4.13/etc/a2ps_cfg.in Thu Apr 27 20:49:04 2000 -@@ -73,6 +73,7 @@ - # It may be useful to extend it so that a2ps can see some - # TeX or X11 resources: it likes AFM files and PF[AB] files. - #AppendLibraryPath: foo -+AppendLibraryPath: @apppath@ +diff -up a2ps-4.14/etc/Makefile.in.etc a2ps-4.14/etc/Makefile.in +--- a2ps-4.14/etc/Makefile.in.etc 2007-12-29 04:28:07.000000000 +0100 ++++ a2ps-4.14/etc/Makefile.in 2008-04-27 01:30:55.000000000 +0200 +@@ -262,7 +262,7 @@ sysconfdir = @sysconfdir@ + target_alias = @target_alias@ + tex = @tex@ + ogonkifydir = $(datadir)/ogonkify +-libpath = $(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) ++libpath = $(sysconfdir)/$(PACKAGE):$(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) + pkgdata_DATA = README + dsysconf = $(DESTDIR)$(sysconfdir) + EXTRA_DIST = README.in +@@ -482,7 +482,9 @@ uninstall-local: + # Building the correct a2ps.cfg + a2ps.cfg: a2ps_cfg Makefile +- sed "s!@libpath@!$(libpath)!" a2ps_cfg > a2ps.cfg ++ sed -e "s!@libpath@!$(libpath)!" \ ++ -e "s!@apppath@!$(PSFONT_PATH)!" \ ++ a2ps_cfg > a2ps.cfg - ################################################################# + # Building a time stamp to know the version. + README: README.in Makefile +diff -up a2ps-4.14/Makefile.am.etc a2ps-4.14/Makefile.am +diff -up a2ps-4.14/Makefile.in.etc a2ps-4.14/Makefile.in diff --git a/a2ps-4.13-eucjp.patch b/a2ps-4.13-eucjp.patch new file mode 100644 index 0000000..e94834a --- /dev/null +++ b/a2ps-4.13-eucjp.patch @@ -0,0 +1,1417 @@ +diff -up a2ps-4.14/config.h.in.euc a2ps-4.14/config.h.in +--- a2ps-4.14/config.h.in.euc 2007-12-29 04:28:05.000000000 +0100 ++++ a2ps-4.14/config.h.in 2008-04-27 10:39:24.000000000 +0200 +@@ -24,6 +24,9 @@ + /* Define if TIOCGWINSZ requires sys/ioctl.h */ + #undef GWINSZ_IN_SYS_IOCTL + ++/* Define if you want to support japanese */ ++#undef ENABLE_KANJI ++ + /* Define to 1 if you have the `alarm' function. */ + #undef HAVE_ALARM + +diff -up a2ps-4.14/configure.euc a2ps-4.14/configure +--- a2ps-4.14/configure.euc 2008-04-27 10:39:24.000000000 +0200 ++++ a2ps-4.14/configure 2008-04-27 10:41:39.000000000 +0200 +@@ -1587,7 +1587,8 @@ Optional Packages: + --with-medium=medium specify the default medium (A4, Letter, Legal, etc.) + default=A4 + --with-encoding=enc specify the default encoding (ascii, latin1, +- latin2... latin6, hp etc.) default=latin1 ++ latin2... latin6, euc-jp, hp etc.) default=latin1 ++ --enable-kanji support Japanese (default=yes) + + Some influential environment variables: + CC C compiler command +@@ -22521,7 +22522,7 @@ fi + + for ac_header in sys/time.h sys/stat.h sys/types.h sys/ioctl.h \ + math.h string.h strings.h stdlib.h unistd.h stdarg.h pwd.h malloc.h \ +- memory.h errno.h fcntl.h stdbool.h fnmatch.h ++ memory.h errno.h fcntl.h stdbool.h fnmatch.h iconv.h + do + as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` + if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +@@ -30947,6 +30948,22 @@ fi + + + ++# Check whether --enable-kanji or --disable-kanji was given. ++if test "${enable_kanji+set}" = set; then ++ enableval="$enable_kanji" ++ SUPPORT_KANJI=$enableval ++else ++ SUPPORT_KANJI=yes ++fi ++ ++if test "$SUPPORT_KANJI" = "yes"; then ++ cat >> confdefs.h <<\EOF ++#define ENABLE_KANJI 1 ++EOF ++# ENCODING=euc-jp ++fi ++ ++ + ######################## + # Nice special printers + ######################## +diff -up a2ps-4.14/configure.in.euc a2ps-4.14/configure.in +--- a2ps-4.14/configure.in.euc 2008-04-27 10:39:24.000000000 +0200 ++++ a2ps-4.14/configure.in 2008-04-27 10:39:24.000000000 +0200 +@@ -72,7 +72,7 @@ AC_HEADER_SYS_WAIT + AC_HEADER_DIRENT + AC_CHECK_HEADERS(sys/time.h sys/stat.h sys/types.h sys/ioctl.h \ + math.h string.h strings.h stdlib.h unistd.h stdarg.h pwd.h malloc.h \ +- memory.h errno.h fcntl.h stdbool.h fnmatch.h) ++ memory.h errno.h fcntl.h stdbool.h fnmatch.h iconv.h) + + ## --------------------- ## + ## Checks for typedefs. ## +@@ -276,11 +276,23 @@ AC_SUBST(MEDIUM) + # + AC_ARG_WITH(encoding, + AC_HELP_STRING([--with-encoding=enc], +- [specify the default encoding (ascii, latin1, latin2... latin6, hp etc.) [default=latin1]]), ++ [specify the default encoding (ascii, latin1, latin2... latin6, euc-jp, hp etc.) [default=latin1]]), + ENCODING=$with_encoding, + ENCODING=latin1) + AC_SUBST(ENCODING) + ++# ++# use libjcode ++# ++AC_ARG_ENABLE(kanji, ++ [ --enable-kanji support Japanese/kanji (default: yes)], ++ SUPPORT_KANJI=$enableval, SUPPORT_KANJI=yes) ++if test "$SUPPORT_KANJI" = "yes"; then ++ AC_DEFINE(ENABLE_KANJI) ++ dnl ENCODING=euc-jp ++fi ++ ++ + ######################## + # Nice special printers + ######################## +diff -up a2ps-4.14/encoding/encoding.map.euc a2ps-4.14/encoding/encoding.map +--- a2ps-4.14/encoding/encoding.map.euc 2007-12-29 02:39:21.000000000 +0100 ++++ a2ps-4.14/encoding/encoding.map 2008-04-27 10:39:24.000000000 +0200 +@@ -93,6 +93,12 @@ koi8r koi8 + koi8 koi8 + koi koi8 + ++euc-jp euc-jp ++eucjp euc-jp ++japanese euc-jp ++ja euc-jp ++jp euc-jp ++ + ######################################################################## + # Some architectures specific char sets + ######################################################################## +diff -up /dev/null a2ps-4.14/encoding/euc-jp.edf +--- /dev/null 2008-04-27 11:55:27.307012118 +0200 ++++ a2ps-4.14/encoding/euc-jp.edf 2008-04-27 10:39:24.000000000 +0200 +@@ -0,0 +1,109 @@ ++# Description of the EUC-JP encoding ++# Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana ++# Copyright (c) 1995, 96, 97, 98 Akim Demaille, Miguel Santana ++# ++ ++# ++# This file is part of a2ps. ++# ++# 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, 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; see the file COPYING. If not, write to ++# the Free Software Foundation, 59 Temple Place - Suite 330, ++# Boston, MA 02111-1307, USA. ++# ++ ++Name: EUC-JP ++ ++# This text is reproduced by a courtesy of Roman Czyborra ++# http://czyborra.com/charsets/iso8859.html ++Documentation ++The EUC-JP character set, often simply referred to as Latin 1, ++covers most West European languages, such as French, Spanish, Catalan, ++Basque, Portuguese, Italian, Albanian, Rhaeto-Romanic, Dutch, German, ++Danish, Swedish, Norwegian, Finnish, Faroese, Icelandic, Irish, ++Scottish, and English, incidentally also Afrikaans and Swahili, thus ++in effect also the entire American continent, Australia and the ++southern two-thirds of Africa. The lack of the ligatures Dutch IJ, ++French OE and ,,German`` quotation marks is considered tolerable. ++ ++The lack of the new C=-resembling Euro currency symbol U+20AC has ++opened the discussion of a new Latin0. ++EndDocumentation ++ ++# If there is an unknown font requested, use Courier ++Default: Courier ++ ++# Automatic spell checking :) ++Substitute: Times Times-Roman ++Substitute: Helvetica-Italic Helvetica-Oblique ++Substitute: Helvetica-BoldItalic Helvetica-BoldOblique ++ ++ ++# SlantFont for Japanese Italic Kanji font ++# new font source font value ++SlantFont: Ryumin-Light-EUC-H-Italic Ryumin-Light-EUC-H 0.2 ++SlantFont: GothicBBB-Medium-EUC-H-Italic GothicBBB-Medium-EUC-H 0.2 ++ ++# Compose font for japanese EUC code ++# target font additional font width size rate ++DefaultComposite: Ryumin-Light-EUC-H 1.0 1.1 ++ ++# 1:2 fixed ++#DefaultComposite: Ryumin-Light-EUC-H 1.0 0.8333 ++ ++# 1:1 fixed ++#DefaultComposite: Ryumin-Light-EUC-H 1.0 1.6666 ++ ++Composite: Helvetica GothicBBB-Medium-EUC-H 1.0 1.1 ++Composite: Helvetica-Oblique GothicBBB-Medium-EUC-H-Italic 1.0 1.1 ++Composite: Helvetica-Bold GothicBBB-Medium-EUC-H 1.0 1.1 ++Composite: Helvetica-BoldOblique GothicBBB-Medium-EUC-H-Italic 1.0 1.1 ++ ++Composite: Courier-Oblique Ryumin-Light-EUC-H-Italic 1.0 1.1 ++Composite: Courier-Bold GothicBBB-Medium-EUC-H 1.0 1.1 ++Composite: Courier-BoldOblique GothicBBB-Medium-EUC-H-Italic 1.0 1.1 ++Composite: Times-Bold GothicBBB-Medium-EUC-H 1.0 1.1 ++ ++Vector: ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++space exclam quotedbl numbersign dollar percent ampersand quoteright ++parenleft parenright asterisk plus comma minus period slash ++zero one two three four five six seven ++eight nine colon semicolon less equal greater question ++at A B C D E F G ++H I J K L M N O ++P Q R S T U V W ++X Y Z bracketleft backslash bracketright asciicircum underscore ++quoteleft a b c d e f g ++h i j k l m n o ++p q r s t u v w ++x y z braceleft bar braceright asciitilde .notdef ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++space exclamdown cent sterling currency yen brokenbar section ++dieresis copyright ordfeminine guillemotleft logicalnot hyphen registered macron ++degree plusminus twosuperior threesuperior acute mu paragraph bullet ++cedilla onesuperior ordmasculine guillemotright onequarter onehalf threequarters questiondown ++Agrave Aacute Acircumflex Atilde Adieresis Aring AE Ccedilla ++Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex Idieresis ++Eth Ntilde Ograve Oacute Ocircumflex Otilde Odieresis multiply ++Oslash Ugrave Uacute Ucircumflex Udieresis Yacute Thorn germandbls ++agrave aacute acircumflex atilde adieresis aring ae ccedilla ++egrave eacute ecircumflex edieresis igrave iacute icircumflex idieresis ++eth ntilde ograve oacute ocircumflex otilde odieresis divide ++oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis +diff -up a2ps-4.14/encoding/Makefile.am.euc a2ps-4.14/encoding/Makefile.am +--- a2ps-4.14/encoding/Makefile.am.euc 2007-12-29 02:39:27.000000000 +0100 ++++ a2ps-4.14/encoding/Makefile.am 2008-04-27 10:39:24.000000000 +0200 +@@ -16,7 +16,7 @@ major_encodings = ascii.edf iso1.edf + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ + iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ +-iso15.edf koi8.edf ms-cp1251.edf ++iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf + + if EXTENSIONS + encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) +diff -up a2ps-4.14/encoding/Makefile.in.euc a2ps-4.14/encoding/Makefile.in +--- a2ps-4.14/encoding/Makefile.in.euc 2007-12-29 04:28:07.000000000 +0100 ++++ a2ps-4.14/encoding/Makefile.in 2008-04-27 10:39:24.000000000 +0200 +@@ -270,7 +270,7 @@ major_encodings = ascii.edf iso1.edf + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ + iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ +-iso15.edf koi8.edf ms-cp1251.edf ++iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf + + @EXTENSIONS_FALSE@encodings_DATA = encoding.map $(major_encodings) + @EXTENSIONS_TRUE@encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) +diff -up a2ps-4.14/lib/encoding.c.euc a2ps-4.14/lib/encoding.c +--- a2ps-4.14/lib/encoding.c.euc 2007-12-29 02:37:54.000000000 +0100 ++++ a2ps-4.14/lib/encoding.c 2008-04-27 10:39:24.000000000 +0200 +@@ -37,6 +37,9 @@ + #include "document.h" + #include "quotearg.h" + #include "strverscmp.h" ++#ifdef ENABLE_KANJI ++int use_jcode = false; ++#endif + + /* Suffix of the Encoding Description Files */ + #define EDF_SUFFIX ".edf" +@@ -389,15 +392,25 @@ font_entry_set_used (struct hash_table_s + * Association of suffixes rules, and corresponding style sheet + * (The hashing is upon `alias') + */ ++struct slantfont_info { ++ char * name; ++ char * src; ++ float raito; ++}; ++ + struct encoding { + char * key; /* e.g. latin1 */ + char * name; /* e.g. ISO Latin 1 */ ++ int composite_flag; /* flag for composite font */ + uchar * documentation; /* Useful pieces of text */ + + char * default_font; /* When a font can't be used + define the font to use */ + struct pair_htable * substitutes; /* e.g. in latin2, don't use + * Courier, but Courier-Ogonki */ ++ struct pair_htable * composite; ++ ++ struct slantfont_info slantfont[NB_FACES]; + + char * vector[256]; /* Define the char set */ + struct darray * font_names_used; +@@ -407,6 +420,9 @@ struct encoding { + struct hash_table_s * fonts; /* Contains cells that are + * 1. name of font, 2. int wx[256] */ + unsigned int * faces_wx[NB_FACES]; ++ ++ unsigned int composite_wx[NB_FACES]; /* fixed length font width*/ ++ float composite_raito[NB_FACES]; /* size raito of additonal and orinal font */ + }; + + /* +@@ -423,9 +439,12 @@ encoding_new (const char * key) + res->name = NULL; + res->default_font = NULL; + res->documentation = NULL; ++ res->composite_flag = false; + + /* Vector will be set by setup */ + res->substitutes = pair_table_new (); ++ res->composite = pair_table_new (); ++ res->slantfont[0].name = NULL; + res->font_names_used = da_new ("List of font names", 10, + da_linear, 10, + (da_print_func_t) da_str_print, +@@ -471,6 +490,34 @@ encoding_add_font_substitute (struct enc + } + + /* ++ * Add a composite font in the current encoding ++ */ ++static void ++encoding_add_composite_font (struct encoding * encoding, ++ const char * orig, const char * subs, ++ int wx, float raito) ++{ ++ encoding->composite_flag = true; ++ pair_add2 (encoding->composite, orig, subs, wx, raito); ++} ++ ++/* ++ * Add a composite font in the current encoding ++ */ ++static void ++encoding_add_slant_font (struct encoding * encoding, ++ const char * new, const char * src, ++ float raito) ++{ ++ static num = 0; ++ encoding->slantfont[num].name = strdup(new); ++ encoding->slantfont[num].src = strdup(src); ++ encoding->slantfont[num].raito = raito; ++ encoding->slantfont[num+1].name = NULL; ++ num++; ++} ++ ++/* + * When FONT_NAME is used with ENCODING, return the + * real font name to use (e.g., in latin2, Courier-Ogonki + * should be returned when asked for Courier). +@@ -514,6 +561,77 @@ encoding_resolve_font_substitute (struct + } + + message (msg_enc, ++ (stderr, "In encoding %s, composite font for %s is resolved as %s\n", ++ encoding->key, font_name, res)); ++ return res; ++} ++ ++/* ++ * Get composite font size and raito ++ */ ++static int ++composite_font_info_get_wx(struct a2ps_job * job, ++ struct encoding * encoding, ++ const char * font_list) ++{ ++ int wx= -1; ++ char * font_list_copy; ++ char * font_name; ++ astrcpy (font_list_copy, font_list); ++ font_name = strtok (font_list_copy, ",<>;"); ++ ++ wx = pair_get_wx (encoding->composite, font_name); ++ if (wx<0) ++ wx = pair_get_wx (encoding->composite, "default_composite__"); ++ ++ return wx; ++} ++ ++static float ++composite_font_info_get_raito(struct a2ps_job * job, ++ struct encoding * encoding, ++ const char * font_list) ++{ ++ float raito= -1; ++ char * font_list_copy; ++ char * font_name; ++ ++ astrcpy (font_list_copy, font_list); ++ font_name = strtok (font_list_copy, ",<>;"); ++ ++ raito = pair_get_raito (encoding->composite, font_name); ++ if (raito<0) ++ raito = pair_get_raito (encoding->composite, "default_composite__"); ++ return raito; ++} ++ ++const char * ++encoding_resolve_composite_font (struct a2ps_job * job, ++ struct encoding * encoding, ++ const char * font_list) ++{ ++ const char * res = NULL; ++ char * font_list_copy; ++ char * font_name; ++ ++ astrcpy (font_list_copy, font_list); ++ font_name = strtok (font_list_copy, ",<>;"); ++ ++ /* Find if there is a substitute for that font */ ++ res = pair_get (encoding->composite, font_name); ++ ++ /* We've found nothing interesting. Last chance is the default ++ * font */ ++ if (!res) ++ { ++ res = pair_get (encoding->composite, "default_composite__"); ++ ++ if (!res) ++ error (1, 0, "Cannot find font %s, nor any composite font", ++ font_name); ++ } ++ ++ message (msg_enc, + (stderr, "In encoding %s, font %s is resolved as %s\n", + encoding->key, font_name, res)); + return res; +@@ -585,6 +703,12 @@ load_encoding_description_file (a2ps_job + { + token2 = GET_TOKEN (NULL); + CHECK_TOKEN (); ++#ifdef ENABLE_KANJI ++ if( strcmp(token2, "EUC-JP")== 0) ++ use_jcode = true; ++ else ++ use_jcode = false; ++#endif + encoding->name = xstrdup (token2); + } + else if (strequ (token, "Default:")) +@@ -633,6 +757,66 @@ load_encoding_description_file (a2ps_job + subs = token2; + encoding_add_font_substitute (encoding, orig, subs); + } ++ else if (strequ (token, "DefaultComposite:")) ++ { ++ char * orig, * subs; ++ int wx; ++ float raito; ++ ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ subs = token2; ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ wx = (int)atof(token2)*1000; ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ raito = atof(token2); ++ encoding_add_composite_font(encoding, "default_composite__", ++ subs, wx, raito); ++ } ++ else if (strequ (token, "Composite:")) ++ { ++ char * orig, * subs; ++ int wx; ++ float raito; ++ ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ orig = token2; ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ subs = token2; ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ wx = (int)atof(token2)*1000; ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ raito = atof(token2); ++ encoding_add_composite_font(encoding, orig, subs, wx, raito); ++ } ++ else if (strequ (token, "SlantFont:")) ++ { ++ char * new, * src; ++ float raito; ++ unsigned int num; ++ ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ new = token2; ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ src = token2; ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ raito = atof(token2); ++ for (num = 0 ; encoding->slantfont[num].name ; num ++ ); ++ if (num > sizeof encoding->slantfont - 1){ ++ error_at_line (1, 0, fname, firstline, ++ _("too many slant font: `%s'"), new); ++ } ++ encoding_add_slant_font(encoding, new, src, raito); ++ } + else + error_at_line (1, 0, fname, firstline, + _("invalid option `%s'"), quotearg (token)); +@@ -754,6 +938,15 @@ encoding_char_exists (struct encoding * + } + + /* ++ * Return the flag of composite flag ++ */ ++int ++encoding_get_composite_flag (struct encoding * enc) ++{ ++ return enc->composite_flag; ++} ++ ++/* + * Prepare the environment (a dictionary) for the support + * of ENCODING, dump it into STREAM. + * +@@ -766,9 +959,11 @@ dump_encoding_setup (FILE * stream, + struct encoding * encoding) + { + size_t i, nb; ++ size_t ns; + const char * real_font_name; /* After subsitution */ + char ** font_names = (char **) encoding->font_names_used->content; + ++ + /* How many fonts are there? */ + da_qsort (encoding->font_names_used); + da_unique (encoding->font_names_used, (da_map_func_t) free); +@@ -787,15 +982,46 @@ dump_encoding_setup (FILE * stream, + * in the current ENCODING */ + nb = encoding->font_names_used->len; + ++ /* The number of slant fonts */ ++ for (i= 0, ns=0 ; encoding->slantfont[i].name ; i++ ) ++ ns++; ++ + /* Create the dictionary and fill it */ + fprintf (stream, "%% Dictionary for %s support\n", + encoding->name); +- fprintf (stream, "/%sdict %d dict begin\n", encoding->key, nb); ++ fprintf (stream, "/%sdict %d dict begin\n", encoding->key, ++ (encoding->composite_flag == true)? nb+nb+ns:nb+ns); + for (i = 0 ; i < nb ; i++) + fprintf (stream, " /f%s %sEncoding /%s reencode_font\n", + font_names [i], + encoding->name, + encoding_resolve_font_substitute (job, encoding, font_names [i])); ++ ++ /* Slant font setting */ ++ for (i = 0 ; encoding->slantfont[i].name ; i++ ) ++ fprintf (stream, " /%s /%s %f slantfont definefont pop\n", ++ encoding->slantfont[i].name, ++ encoding->slantfont[i].src, ++ encoding->slantfont[i].raito); ++ ++ /* ++ * Composite font setting. ++ * If kanji font size is larger than alphabet character, ++ * set base font size to kanji charactor size. ++ */ ++ if (encoding->composite_flag == true) { ++ for (i = 0 ; i < nb ; i++) ++ fprintf (stream, " /f%s /f%s /%s %f %f false compositefont " ++ "%f scalefont def\n", ++ font_names [i], ++ font_names [i], ++ encoding_resolve_composite_font (job, encoding, font_names [i]), ++ encoding->composite_raito[i], ++ (encoding->composite_raito[i] > 1.0)? ++ 0: (1-encoding->composite_raito[i])/2.0, ++ (encoding->composite_raito[i] > 1.0)? ++ 1.0/encoding->composite_raito[i]: 1.0 ); ++ } + fputs ("currentdict end def\n", stream); + } + +@@ -939,6 +1165,22 @@ encoding_build_faces_wx (a2ps_job * job, + true_font_name, + encoding->vector, + encoding->faces_wx [face]); ++ ++ if (encoding->composite_flag) ++ { ++ encoding->composite_raito[i] = ++ composite_font_info_get_raito(job, encoding, ++ job->face_eo_font [face]); ++ ++ encoding->composite_wx[i] = ++ composite_font_info_get_wx(job, encoding, ++ job->face_eo_font [face]); ++ ++ /* If kanji font size is larger than alphabet character, ++ fit kanji charactor size to base font size */ ++ if (encoding->composite_raito[i] < 1.0) ++ encoding->composite_wx[i] *= encoding->composite_raito[i]; ++ } + } + } + +@@ -1073,6 +1315,13 @@ char_WX (a2ps_job * job, uchar c) + return 0; /* For -Wall */ + } + ++unsigned int ++char_composite_WX (a2ps_job * job, uchar c) ++{ ++ return (job->encoding->composite_wx[job->status->face]/ ++ job->encoding->composite_raito[job->status->face]); ++} ++ + /* + * Returns the WX of a string (including M- and ^) + */ +diff -up a2ps-4.14/lib/encoding.h.euc a2ps-4.14/lib/encoding.h +--- a2ps-4.14/lib/encoding.h.euc 2007-12-29 02:58:17.000000000 +0100 ++++ a2ps-4.14/lib/encoding.h 2008-04-27 10:39:24.000000000 +0200 +@@ -43,6 +43,7 @@ struct a2ps_job; /* Declared in jobs.h w + */ + unsigned int char_WX PARAMS ((struct a2ps_job * job, uchar c)); + unsigned int string_WX PARAMS ((struct a2ps_job * job, uchar * string)); ++unsigned int char_composite_WX PARAMS ((struct a2ps_job * job, uchar c)); + + + /************************************************************************/ +@@ -56,6 +57,7 @@ void encoding_self_print PARAMS ((struct + FILE * stream)); + int encoding_char_exists PARAMS ((struct encoding * enc, + enum face_e face, uchar c)); ++int encoding_get_composite_flag (struct encoding * enc); + struct encoding * + get_encoding_by_alias PARAMS ((struct a2ps_job * job, + char *string)); +@@ -71,6 +73,12 @@ const char * encoding_resolve_font_subst + struct encoding * encoding, + const char * font_name)); + ++ ++const char * encoding_resolve_composite_font ++ PARAMS ((struct a2ps_job * job, ++ struct encoding * encoding, ++ const char * font_name)); ++ + /* + * Have a struct encoding determine the faces_wx + */ +diff -up a2ps-4.14/lib/pair_ht.c.euc a2ps-4.14/lib/pair_ht.c +--- a2ps-4.14/lib/pair_ht.c.euc 2007-12-29 02:58:21.000000000 +0100 ++++ a2ps-4.14/lib/pair_ht.c 2008-04-27 10:39:24.000000000 +0200 +@@ -49,6 +49,8 @@ struct pair + { + char * key; + char * value; ++ float raito; ++ int wx; + }; + + /* +@@ -165,6 +167,37 @@ pair_add (struct hash_table_s * table, + } + + /* ++ * Add a pair, with your own allocation for them. ++ * It KEY is yet used, override its value with VALUE ++ */ ++void ++pair_add2 (struct hash_table_s * table, ++ const char * key, const char * value, int wx, float raito) ++{ ++ struct pair * item, token; ++ ++ token.key = (char *) key; ++ item = (struct pair *) hash_find_item (table, &token); ++ ++ if (item) { ++ if (item->value) ++ free (item->value); ++ } else { ++ item = XMALLOC (struct pair, 1); ++ item->key = xstrdup(key); ++ item->wx = wx; ++ item->raito = raito; ++ } ++ ++ if (value) ++ item->value = xstrdup (value); ++ else ++ item->value = NULL; ++ ++ hash_insert (table, item); ++} ++ ++/* + * Remove a pair and free it. + * It KEY is yet used, override its value with VALUE + */ +@@ -201,6 +234,34 @@ pair_get (struct hash_table_s * table, c + return NULL; + } + ++int ++pair_get_wx (struct hash_table_s * table, const char * key) ++{ ++ struct pair * item, token; ++ ++ token.key = (char *) key; ++ item = (struct pair *) hash_find_item (table, &token); ++ ++ if (item) ++ return item->wx; ++ else ++ return -1; ++} ++ ++float ++pair_get_raito (struct hash_table_s * table, const char * key) ++{ ++ struct pair * item, token; ++ ++ token.key = (char *) key; ++ item = (struct pair *) hash_find_item (table, &token); ++ ++ if (item) ++ return item->raito; ++ else ++ return -1; ++} ++ + /* + * Return the content of the hash table, ordered + */ +diff -up a2ps-4.14/lib/pair_ht.h.euc a2ps-4.14/lib/pair_ht.h +--- a2ps-4.14/lib/pair_ht.h.euc 2007-12-29 02:58:21.000000000 +0100 ++++ a2ps-4.14/lib/pair_ht.h 2008-04-27 10:39:24.000000000 +0200 +@@ -56,6 +56,10 @@ void pair_table_free PARAMS ((struct pai + void pair_add PARAMS ((struct pair_htable * table, + const char * key, const char * value)); + ++void pair_add2 PARAMS ((struct pair_htable * table, ++ const char * key, const char * value, ++ int wx, float raito)); ++ + /* + * The key and value of the matching item will be free'd + * (No problem if KEY matches nothing) +@@ -68,6 +72,10 @@ void pair_delete PARAMS ((struct pair_ht + */ + char * pair_get PARAMS ((struct pair_htable * table, + const char * key)); ++int pair_get_wx PARAMS ((struct pair_htable * table, ++ const char * key)); ++float pair_get_raito PARAMS ((struct pair_htable * table, ++ const char * key)); + + void pair_table_list_short PARAMS ((struct pair_htable * table, + FILE * stream)); +diff -up a2ps-4.14/lib/psgen.c.euc a2ps-4.14/lib/psgen.c +--- a2ps-4.14/lib/psgen.c.euc 2007-12-29 02:58:22.000000000 +0100 ++++ a2ps-4.14/lib/psgen.c 2008-04-27 10:39:24.000000000 +0200 +@@ -875,6 +875,7 @@ ps_print_char (a2ps_job * job, int c, en + print: + default: + { ++ static mb_flag= 0; + uchar buf[256]; + int nchars; + *buf = '\0'; +@@ -889,6 +890,29 @@ ps_print_char (a2ps_job * job, int c, en + job->status->face_declared = false; + } + ++ if (c > 127 && encoding_get_composite_flag (job->encoding) && ++ job->status->face != Symbol) { ++ if (mb_flag) { ++ nchars = ps_escape_char (job, mb_flag, buf) + ++ ps_escape_char (job, c, buf); ++ job->status->wx += char_composite_WX(job, c); ++ job->status->column += nchars; ++ if (line_full) { ++ if (job->folding) { ++ fold_line (job, new_face); ++ job->status->column = nchars*2; ++ job->status->wx = char_composite_WX(job, c); ++ } else { ++ job->status->is_in_cut = true; ++ return; ++ } ++ } ++ mb_flag = 0; ++ } else { ++ mb_flag = c; ++ return; ++ } ++ } else { + nchars = ps_escape_char (job, c, buf); + job->status->wx += char_WX (job, c); + job->status->column += nchars; +@@ -902,8 +926,9 @@ ps_print_char (a2ps_job * job, int c, en + return; + } + } ++ } + output (jdiv, "%s", buf); +- job->status->chars++; ++ job->status->chars+=nchars; + } + break; + } +diff -up a2ps-4.14/ps/base.ps.euc a2ps-4.14/ps/base.ps +--- a2ps-4.14/ps/base.ps.euc 2007-12-29 02:58:26.000000000 +0100 ++++ a2ps-4.14/ps/base.ps 2008-04-27 10:39:24.000000000 +0200 +@@ -153,7 +153,11 @@ + % Return the y size of the current font + % - => fontsize + /currentfontsize { +- currentfont /FontMatrix get 3 get 1000 mul ++ currentfont /FontType get 0 eq { ++ currentfont /FontMatrix get 3 get ++ }{ ++ currentfont /FontMatrix get 3 get 1000 mul ++ } ifelse + } bind def + + % reencode the font +@@ -200,6 +204,144 @@ + end + } bind def + ++% composite fonts for ASCII-EUC mixed string ++% Version 1.2 1/31/1990 ++% Orignal Ken'ichi HANDA (handa@etl.go.jp) ++% Modified Norio Katayama (katayama@rd.nacsis.ac.jp),1998 ++% Extend & Fix Koji Nakamaru (maru@on.cs.keio.ac.jp), 1999 ++% Anyone can freely copy, modify, distribute this program. ++ ++/copyfont { % font-dic extra-entry-count copyfont font-dic ++ 1 index maxlength add dict begin ++ { 1 index /FID ne 2 index /UniqueID ne and ++ {def} {pop pop} ifelse ++ } forall ++ currentdict ++ end ++} bind def ++ ++/compositefont { % ASCIIFontName EUCFontName RomanScale RomanOffset Rot(T/F) compositefont font ++ /RomanRotation exch def ++ /RomanOffset exch def ++ /RomanScale exch def ++ userdict /fixeucfont_dict known not { ++ userdict begin ++ /fixeucfont_dict 2 dict begin ++ /UpperByteEncoding [ ++ 16#00 1 16#20 { pop 0 } for ++ 16#21 1 16#28 { 16#20 sub } for ++ 16#29 1 16#2F { pop 0 } for ++ 16#30 1 16#74 { 16#27 sub } for ++ 16#75 1 16#FF { pop 0 } for ++ ] def ++ /LowerByteEncoding [ ++ 16#00 1 16#A0 { pop /.notdef } for ++ 16#A1 1 16#FE { 16#80 sub 16 2 string cvrs ++ (cXX) dup 1 4 -1 roll ++ putinterval cvn } for ++ /.notdef ++ ] def ++ currentdict ++ end def ++ end ++ } if ++ findfont dup /FontType get 0 eq { ++ 14 dict begin ++ % ++ % 7+8 bit EUC font ++ % ++ 12 dict begin ++ /EUCFont exch def ++ /FontInfo (7+8 bit EUC font) readonly def ++ /PaintType 0 def ++ /FontType 0 def ++ /FontMatrix matrix def ++ % /FontName ++ /Encoding fixeucfont_dict /UpperByteEncoding get def ++ /FMapType 2 def ++ EUCFont /WMode known ++ { EUCFont /WMode get /WMode exch def } ++ { /WMode 0 def } ifelse ++ /FDepVector [ ++ EUCFont /FDepVector get 0 get ++ [ 16#21 1 16#28 {} for 16#30 1 16#74 {} for ] ++ { ++ 13 dict begin ++ /EUCFont EUCFont def ++ /UpperByte exch 16#80 add def ++ % /FontName ++ /FontInfo (EUC lower byte font) readonly def ++ /PaintType 0 def ++ /FontType 3 def ++ /FontMatrix matrix def ++ /FontBBox {0 0 0 0} def ++ /Encoding ++ fixeucfont_dict /LowerByteEncoding get def ++ % /UniqueID ++ % /WMode ++ /BuildChar { ++ gsave ++ exch dup /EUCFont get setfont ++ /UpperByte get ++ 2 string ++ dup 0 4 -1 roll put ++ dup 1 4 -1 roll put ++ dup stringwidth setcharwidth ++ 0 0 moveto show ++ grestore ++ } bind def ++ currentdict ++ end ++ /lowerbytefont exch definefont ++ } forall ++ ] def ++ currentdict ++ end ++ /eucfont exch definefont ++ exch ++ findfont 1 copyfont dup begin ++ RomanRotation { ++ /FontMatrix FontMatrix ++ [ 0 RomanScale neg RomanScale 0 RomanOffset neg 0 ] ++ matrix concatmatrix def ++ }{ ++ /FontMatrix FontMatrix ++ [ RomanScale 0 0 RomanScale 0 RomanOffset ] matrix concatmatrix ++ def ++ /CDevProc ++ {pop pop pop pop 0 exch -1000 exch 2 div 880} def ++ } ifelse ++ end ++ /asciifont exch definefont ++ exch ++ /FDepVector [ 4 2 roll ] def ++ /FontType 0 def ++ /WMode 0 def ++ /FMapType 4 def ++ /FontMatrix matrix def ++ /Encoding [0 1] def ++ /FontBBox {0 0 0 0} def ++% /FontHeight 1.0 def % XXXX ++ /FontHeight RomanScale 1.0 ge { RomanScale }{ 1.0 } ifelse def ++ /Descent -0.3 def % XXXX ++ currentdict ++ end ++ /tmpfont exch definefont ++ pop ++ /tmpfont findfont ++ }{ ++ pop findfont 0 copyfont ++ } ifelse ++} def ++ ++/slantfont { % FontName slant-degree slantfont font' ++ exch findfont 1 copyfont begin ++ [ 1 0 4 -1 roll 1 0 0 ] FontMatrix exch matrix concatmatrix ++ /FontMatrix exch def ++ currentdict ++ end ++} def ++ + % Function print line number ( # -) + /# { + gsave +diff -up /dev/null a2ps-4.14/README.eucJP +--- /dev/null 2008-04-27 11:55:27.307012118 +0200 ++++ a2ps-4.14/README.eucJP 2008-04-27 10:39:24.000000000 +0200 +@@ -0,0 +1,100 @@ ++a2ps euc-jp kanji supported patch: ++by SATO Satoru ++ ++These patches enables a2ps to support the files written in EUC-JP (and other ++Japanese encodings). I only arranged patches created by FURUKAWA Yasuyuki, ++KATAYAMA Yukio, and replaced libjcode by customized jcode.[ch] (by KITAME ++Takuo). ++ ++Notes from the orginal patch by FURUKAWA Yukihiro is follows. ++(sorry, it is written in japanese only): ++ ++a2ps 4.12で漢字を印刷するためのパッチ ++ 慶應大学大学院 ++ 古川 泰之 ++ ++composite font を使って漢字を表示するためのパッチです。 ++composite fontには、片山 紀夫さん(はじめて日本語ghostscriptを作成した ++人)のfixeucfont をベースにa2ps用に多少手をいれております。これを利用す ++ることで、2バイトEUC+ASCIIの文字列のPostscriptの扱いがぐっと簡単にな ++ります。 ++ ++●Compositeフォントの設定方法について ++最低限の設定はパッチに含まれていますので、とりあえず大丈夫だとは思いま ++す。一応メモしておきます。 ++ ++encodingファイル($prefix/share/a2ps/encoding/の下のファイル)には ++『Composite:』および、『DefaultComposite:』が新たに指定できます。たと ++えば、英語フォントに対応するEUCエンコーディングの日本語フォントを書い ++て行きます。また、この際、フォント幅と半角と漢字の比も指定しなくてはな ++りません。手抜きによって、漢字は固定幅フォントしか指定してはいけません。 ++ ++-------------------------------------------------- ++# 日本語フォント フォン横幅 半角と漢字の比 ++DefaultComposite: Ryumin-Light-EUC-H 1 1.1 ++# 英語フォント 日本語フォント フォン横幅 半角と漢字の比 ++Composite: Helvetica GothicBBB-Medium-EUC-H 1 1.1 ++-------------------------------------------------- ++ ++また、これだと斜体漢字がなく、さみしいので、SlantFontを使い、斜体の漢 ++字フォントも作成できます。 ++ ++-------------------------------------------------- ++# 新規斜体日本語フォント名 ソース日本語フォント 傾き度 ++SlantFont: Ryumin-Light-EUC-H-Italic Ryumin-Light-EUC-H 0.2 ++-------------------------------------------------- ++ ++SlantFontで生成した斜体フォントはCompositeフォント(第2引数)で利用でき ++ます。 ++ ++●このパッチの詳細データ ++ ・残念ながら2バイトEUCコードを前提としたコーディングをしています。 ++ そのため、あまり漢字以外の言語を考えておりません…。 ++ ・倉光 君郎氏のlibjcodeを使って内部で入力ファイルの漢字エンコーディ ++ ングをすべてEUCに変換して処理するようにしています。ただし、オリジ ++ ナルのlibjcodeは、SJISおよびEUCの判定が甘かったので多少カスタムし ++ ております。 ++ ・また、texのdelegate(contrib/texi2dvi4a2ps)中、TeXドライバにはpTeX ++ と決めうちしています。これがいやなら、例えばNTT-jTeXを使用したい場 ++ 合、環境変数TEXに『jtex』を、LATEXには『jlatex』を指定してください。 ++ ・compositefontをa2ps用に多少カスタマイズしていますが、フォントの高 ++ さなどの情報を完全に固定で決め打ちしている箇所があります(XXXでメモ ++ しています)。そのためあまり応用性が低いと思います。 ++ ++●半角を全角の1/2の大きさにしたい ++パッチデフォルトでは全角文字と半角文字の大きさのバランスは、見た感じが ++(個人的なセンスで)安定するようにチューニングしています。もし、テキスト ++で表を作成していて、そのため、半角文字を全角のちょうど半分にそろえたい ++という場合の対処方法を書いておきます。 ++ ++インストール後、$prefix/share/a2ps/encoding/euc-jp中に、 ++ ++-------------------------------------------------- ++DefaultComposite: Ryumin-Light-EUC-H 1.0 1.1 ++-------------------------------------------------- ++ ++というのがあると思います。最後の『1.1』を『0.8342』あたりに変更して下 ++さい。ノーマル固定文字に関してはこれで望みの結果が得られると思います。 ++ ++他の太字フォントなども、例えば ++ ++-------------------------------------------------- ++Composite: Courier-Bold GothicBBB-Medium-EUC-H 1.0 0.8342 ++-------------------------------------------------- ++ ++のように変更すればいいと思います。なお、Courierがつかないフォント ++(Helvetica等)はもともとプロポーショナルフォントなので、固定幅にはでき ++ません。 ++ ++ ++ ++●再配布について ++なんだかんだいって、このパッチは、 ++ ++倉光 君郎さんのlibjcode + 片山 紀夫さんのfixeucfont ++ ++を組み合わてできたもので私自身のコードは実はほとんどありません…。 ++ ++私自身のコードは再配付/改造に関してなんら制限を設けるつもりはありませ ++ん。ただし、私以外のコードの方が多いため、一応それだけは御了承お願い致 ++します。 +diff -up a2ps-4.14/src/buffer.c.euc a2ps-4.14/src/buffer.c +--- a2ps-4.14/src/buffer.c.euc 2007-12-29 02:58:34.000000000 +0100 ++++ a2ps-4.14/src/buffer.c 2008-04-27 10:39:24.000000000 +0200 +@@ -41,6 +41,21 @@ + #include "argmatch.h" + #include "buffer.h" + #include ++ ++#ifdef HAVE_CONFIG_H ++# include ++#endif ++ ++#ifdef ENABLE_KANJI ++# include ++# include ++# include ++# include ++# include ++# include ++extern use_jcode; ++#endif ++ + + /****************************************************************/ + /* Handling of the various eol styles */ +@@ -526,3 +541,278 @@ buffer_test (const char *filename) + buffer_release (&buffer); + } + #endif ++ ++/** ++ * from jcode.c by Takuo KITAME ++ */ ++#ifdef ENABLE_KANJI ++ ++enum { ++ JCODE_ASCII, ++ JCODE_EUC, ++ JCODE_JIS, ++ JCODE_SJIS, ++ EUCORSJIS }; ++ ++#define ESC 0x1b ++#define SS2 0x8e ++ ++#define JCODE_LOCALE_EUC "ja", "ja_JP", "ja_JP.ujis", "ja_JP.EUC", "ja_JP.eucJP" ++#define JCODE_LOCALE_JIS "ja_JP.JIS", "ja_JP.jis", "ja_JP.iso-2022-jp" ++#define JCODE_LOCALE_SJIS "ja_JP.SJIS", "ja_JP.sjis" ++ ++/****************************************************************************/ ++/* Japanese string code detector */ ++/****************************************************************************/ ++int ++detect_kanji(unsigned char *str) ++{ ++ int expected = JCODE_ASCII; ++ register int c; ++ int c1, c2; ++ int euc_c = 0, sjis_c = 0; ++ unsigned char *ptr = str; ++ ++ while((c = (int)*ptr)!= '\0') { ++ if(c == ESC) { ++ if((c = (int)*(++ptr)) == '\0') ++ break; ++ if(c == '$') { ++ if((c = (int)*(++ptr)) == '\0') ++ break; ++ if(c == 'B' || c == '@') ++ return JCODE_JIS; ++ } ++ ptr++; ++ continue; ++ } ++ if((c >= 0x81 && c <= 0x8d) || (c >= 0x8f && c <= 0x9f)) ++ return JCODE_SJIS; ++ ++ if(c == SS2) { ++ if((c = (int)*(++ptr)) == '\0') ++ break; ++ if((c >= 0x40 && c <= 0x7e) || ++ (c >= 0x80 && c <= 0xa0) || ++ (c >= 0xe0 && c <= 0xfc)) ++ return JCODE_SJIS; ++ if(c >= 0xa1 && c <= 0xdf) ++ break; ++ ++ ptr++; ++ continue; ++ } ++ if(c >= 0xa1 && c <= 0xdf) { ++ if((c = (int)*(++ptr)) == '\0') ++ break; ++ ++ if (c >= 0xe0 && c <= 0xfe) ++ return JCODE_EUC; ++ if (c >= 0xa1 && c <= 0xdf) { ++ expected = EUCORSJIS; ++ ptr++; ++ continue; ++ } ++#if 1 ++ if(c == 0xa0 || (0xe0 <= c && c <= 0xfe)) ++ return JCODE_EUC; ++ else { ++ expected = EUCORSJIS; ++ ptr++; ++ continue; ++ } ++#else ++ if(c <= 0x9f) ++ return JCODE_SJIS; ++ if(c >= 0xf0 && c <= 0xfe) ++ return JCODE_EUC; ++#endif ++ ++ if(c >= 0xe0 && c <= 0xef) { ++ expected = EUCORSJIS; ++ while(c >= 0x40) { ++ if(c >= 0x81) { ++ if(c <= 0x8d || (c >= 0x8f && c <= 0x9f)) ++ return JCODE_SJIS; ++ else if(c >= 0xfd && c <= 0xfe) { ++ return JCODE_EUC; ++ } ++ } ++ if((c = (int)*(++ptr)) == '\0') ++ break; ++ } ++ ptr++; ++ continue; ++ } ++ ++ if(c >= 0xe0 && c <= 0xef) { ++ if((c = (int)*(++ptr)) == '\0') ++ break; ++ if((c >= 0x40 && c <= 0x7e) || (c >= 0x80 && c <= 0xa0)) ++ return JCODE_SJIS; ++ if(c >= 0xfd && c <= 0xfe) ++ return JCODE_EUC; ++ if(c >= 0xa1 && c <= 0xfc) ++ expected = EUCORSJIS; ++ } ++ } ++#if 1 ++ if (0xf0 <= c && c <= 0xfe) ++ return JCODE_EUC; ++#endif ++ ptr++; ++ } ++ ++ ptr = str; ++ c2 = 0; ++ while((c1 = (int)*ptr++) != '\0') { ++ if(((c2 > 0x80 && c2 < 0xa0) || (c2 >= 0xe0 && c2 < 0xfd)) && ++ ((c1 >= 0x40 && c1 < 0x7f) || (c1 >= 0x80 && c1 < 0xfd))) ++ sjis_c++, c1 = *ptr++; ++ c2 = c1; ++ } ++ if(sjis_c == 0) ++ expected = JCODE_EUC; ++ else { ++ ptr = str, c2 = 0; ++ while((c1 = (int)*ptr++) != '\0') { ++ if((c2 > 0xa0 && c2 < 0xff) && ++ (c1 > 0xa0 && c1 < 0xff)) ++ euc_c++, c1 = *ptr++; ++ c2 = c1; ++ } ++ if(sjis_c > euc_c) ++ expected = JCODE_SJIS; ++ else ++ expected = JCODE_EUC; ++ } ++ return expected; ++} ++ ++int ++int_detect_JCode(char *str) ++{ ++ int detected; ++ ++ if(!str) ++ return 0; ++ ++ detected = detect_kanji((unsigned char *)str); ++ ++ if(detected == JCODE_ASCII) ++ return JCODE_ASCII; ++ ++ switch(detected) { ++ case JCODE_EUC: ++ return JCODE_EUC; ++ break; ++ case JCODE_JIS: ++ return JCODE_JIS; ++ break; ++ case JCODE_SJIS: ++ return JCODE_SJIS; ++ break; ++ default: ++ return JCODE_ASCII; ++ break; ++ } ++ ++ /* not reached */ ++ return 0; ++} ++ ++const char * ++detect_JCode(char *str) ++{ ++ int detected; ++ ++ if(!str) ++ return NULL; ++ ++ detected = detect_kanji((unsigned char *)str); ++ ++ if(detected == JCODE_ASCII) ++ return "ASCII"; ++ ++ switch(detected) { ++ case JCODE_EUC: ++ return "EUC-JP"; ++ break; ++ case JCODE_JIS: ++ return "ISO-2022-JP"; ++ break; ++ case JCODE_SJIS: ++ return "SJIS"; ++ break; ++ default: ++ return "ASCII"; ++ break; ++ } ++ ++ /* not reached */ ++ return 0; ++} ++ ++char * ++kanji_conv_auto(char *str, const char *dstset) ++{ ++ unsigned char *buf, *ret; ++ iconv_t cd; ++ size_t insize = 0; ++ size_t outsize = 0; ++ size_t nconv = 0; ++ char *inptr; ++ char *outptr; ++ char srcset[16]; ++ ++ if(!str) ++ return NULL; ++ ++ switch (int_detect_JCode(str)) { ++ case JCODE_EUC: ++ strcpy(srcset, "EUC-JP"); ++ break; ++ case JCODE_JIS: ++ strcpy(srcset, "ISO-2022-JP"); ++ break; ++ case JCODE_SJIS: ++ strcpy(srcset, "SJIS"); ++ break; ++ default: ++ return strdup(str); ++ break; ++ } ++ ++ buf = (unsigned char *)malloc(strlen(str)* 4 + 1); ++ if(!buf) ++ return NULL; ++ ++ insize = strlen(str); ++ inptr = str; ++ outsize = strlen(str) * 4 ; ++ outptr = buf; ++ ++ cd = iconv_open(dstset, srcset); ++ if(cd == (iconv_t) -1) { ++ if(errno == EINVAL) ++ return strdup(str); ++ } ++ ++ nconv = iconv(cd, (const char **)&inptr, &insize, &outptr, &outsize); ++ if(nconv == (size_t) -1) { ++ if (errno == EINVAL) ++ memmove (buf, inptr, insize); ++ } else ++ iconv(cd, NULL, NULL, &outptr, &outsize); ++ ++ *outptr = '\0'; ++ iconv_close(cd); ++ ++ ret = strdup(buf); ++ free(buf); ++ ++ return ret; ++} ++ ++#endif ++ +diff -up a2ps-4.14/src/buffer.h.euc a2ps-4.14/src/buffer.h +--- a2ps-4.14/src/buffer.h.euc 2007-12-29 02:58:35.000000000 +0100 ++++ a2ps-4.14/src/buffer.h 2008-04-27 10:39:24.000000000 +0200 +@@ -104,4 +104,15 @@ void buffer_sample_get PARAMS ((buffer_t + void buffer_save PARAMS ((buffer_t * buffer, const char * filename)); + + #define buffer_is_empty(Buf) (Buf->curr >= Buf->len) ++ ++ ++/** ++ * from jcode.h by Takuo KITAME ++ */ ++ ++char *kanji_conv_auto(char *str, const char *dstset); ++ ++const char *detect_JCode(char *str); ++int int_detect_JCode(char *str); ++ + #endif +diff -up a2ps-4.14/src/Makefile.am.euc a2ps-4.14/src/Makefile.am +--- a2ps-4.14/src/Makefile.am.euc 2007-12-29 02:36:09.000000000 +0100 ++++ a2ps-4.14/src/Makefile.am 2008-04-27 10:39:24.000000000 +0200 +@@ -33,13 +33,13 @@ DEFS = @DEFS@ -DLOCALEDIR=\"$(datadir)/l + a2ps_SOURCES = main.c \ + read.c sshread.c ssheet.c select.c generate.c \ + delegate.c regex.c buffer.c versions.c ffaces.c \ +-version-etc.c long-options.c \ ++version-etc.c long-options.c jcode.c \ + parsessh.y lexssh.l lexps.l sheets-map.l + + noinst_HEADERS = main.h \ + read.h sshread.h ssheet.h select.h generate.h \ + delegate.h regex.h buffer.h versions.h ffaces.h \ +-version-etc.h long-options.h \ ++version-etc.h long-options.h jcode.h \ + yy2ssh.h lexps.h + + BUILT_SOURCES = parsessh.c parsessh.h diff --git a/a2ps-4.13-euckr.patch b/a2ps-4.13-euckr.patch index 639ab77..40df372 100644 --- a/a2ps-4.13-euckr.patch +++ b/a2ps-4.13-euckr.patch @@ -1,27 +1,22 @@ ---- a2ps-4.13/encoding/Makefile.am.orig 2003-01-09 17:45:41.000000000 +0900 -+++ a2ps-4.13/encoding/Makefile.am 2003-01-09 17:45:50.000000000 +0900 -@@ -16,7 +16,7 @@ - minor_encodings = \ - ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ - iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf euc-jp.edf -+iso15.edf koi8.edf euc-jp.edf euc-kr.edf +diff -up a2ps-4.14/encoding/encoding.map.euckr a2ps-4.14/encoding/encoding.map +--- a2ps-4.14/encoding/encoding.map.euckr 2008-04-27 01:46:59.000000000 +0200 ++++ a2ps-4.14/encoding/encoding.map 2008-04-27 01:46:59.000000000 +0200 +@@ -100,6 +100,12 @@ japanese euc-jp + ja euc-jp + jp euc-jp - if EXTENSIONS - encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) ---- a2ps-4.13/encoding/Makefile.in.orig 2003-01-09 17:46:09.000000000 +0900 -+++ a2ps-4.13/encoding/Makefile.in 2003-01-09 17:46:14.000000000 +0900 -@@ -141,7 +141,7 @@ - minor_encodings = \ - ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ - iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf euc-jp.edf -+iso15.edf koi8.edf euc-jp.edf euc-kr.edf - - @EXTENSIONS_TRUE@encodings_DATA = @EXTENSIONS_TRUE@encoding.map $(major_encodings) $(minor_encodings) - @EXTENSIONS_FALSE@encodings_DATA = @EXTENSIONS_FALSE@encoding.map $(major_encodings) ---- a2ps-4.13/encoding/euc-kr.edf.orig 2003-01-09 17:46:22.000000000 +0900 -+++ a2ps-4.13/encoding/euc-kr.edf 2003-01-09 17:47:34.000000000 +0900 ++euc-kr euc-kr ++euc-kr euc-kr ++korean euc-kr ++ko euc-kr ++kr euc-kr ++ + ######################################################################## + # Some architectures specific char sets + ######################################################################## +diff -up /dev/null a2ps-4.14/encoding/euc-kr.edf +--- /dev/null 2008-04-26 20:48:40.298012400 +0200 ++++ a2ps-4.14/encoding/euc-kr.edf 2008-04-27 01:46:59.000000000 +0200 @@ -0,0 +1,104 @@ +# Description of the EUC-KR encoding +# Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana @@ -127,18 +122,27 @@ +egrave eacute ecircumflex edieresis igrave iacute icircumflex idieresis +eth ntilde ograve oacute ocircumflex otilde odieresis divide +oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis ---- a2ps-4.13/encoding/encoding.map.orig 2003-01-09 17:46:50.000000000 +0900 -+++ a2ps-4.13/encoding/encoding.map 2003-01-09 17:46:57.000000000 +0900 -@@ -100,6 +100,12 @@ - ja euc-jp - jp euc-jp +diff -up a2ps-4.14/encoding/Makefile.am.euckr a2ps-4.14/encoding/Makefile.am +--- a2ps-4.14/encoding/Makefile.am.euckr 2008-04-27 01:46:59.000000000 +0200 ++++ a2ps-4.14/encoding/Makefile.am 2008-04-27 01:47:58.000000000 +0200 +@@ -16,7 +16,7 @@ major_encodings = ascii.edf iso1.edf + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ + iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ +-iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf ++iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf -+euc-kr euc-kr -+euc-kr euc-kr -+korean euc-kr -+ko euc-kr -+kr euc-kr -+ - ######################################################################## - # Some architectures specific char sets - ######################################################################## + if EXTENSIONS + encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) +diff -up a2ps-4.14/encoding/Makefile.in.euckr a2ps-4.14/encoding/Makefile.in +--- a2ps-4.14/encoding/Makefile.in.euckr 2008-04-27 01:46:59.000000000 +0200 ++++ a2ps-4.14/encoding/Makefile.in 2008-04-27 01:48:09.000000000 +0200 +@@ -270,7 +270,7 @@ major_encodings = ascii.edf iso1.edf + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ + iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ +-iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf ++iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf + + @EXTENSIONS_FALSE@encodings_DATA = encoding.map $(major_encodings) + @EXTENSIONS_TRUE@encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) diff --git a/a2ps-4.13-hebrew.patch b/a2ps-4.13-hebrew.patch index 5d4a104..b8fbd6e 100644 --- a/a2ps-4.13-hebrew.patch +++ b/a2ps-4.13-hebrew.patch @@ -1,18 +1,19 @@ ---- a2ps-4.13/configure.hebrew 2004-01-09 15:29:44.000000000 +0200 -+++ a2ps-4.13/configure 2004-01-09 15:44:14.000000000 +0200 -@@ -8454,7 +8454,9 @@ - for ac_dir in /usr/share/fonts/default/Type1 \ - /usr/share/fonts/default/ghostscript \ - /usr/share/fonts/afms/adobe \ -- /usr/share/X11/fonts/Type1 ; -+ /usr/share/X11/fonts/Type1 \ -+ /usr/share/fonts/hebrew \ -+ /usr/share/fonts/he/Type1 ; - do - if test "cd $ac_dir 2>/dev/null && echo *.afm"; then - ac_psfont_path="$ac_psfont_path:$ac_dir"; ---- a2ps-4.13/encoding/iso8.edf.hebrew 2004-01-09 15:44:03.000000000 +0200 -+++ a2ps-4.13/encoding/iso8.edf 2004-01-09 15:44:03.000000000 +0200 +diff -up a2ps-4.14/encoding/encoding.map.hebrew a2ps-4.14/encoding/encoding.map +--- a2ps-4.14/encoding/encoding.map.hebrew 2008-04-27 01:50:14.000000000 +0200 ++++ a2ps-4.14/encoding/encoding.map 2008-04-27 01:50:14.000000000 +0200 +@@ -65,6 +65,9 @@ iso-8859-5 iso5 + iso7 iso7 + iso-8859-7 iso7 + ++iso8 iso8 ++iso-8859-8 iso8 ++ + # The following lines _are_not_an_error_. + # This is the right correspondance between ISO-8859 names + # and the Latin n nick name. +diff -up /dev/null a2ps-4.14/encoding/iso8.edf +--- /dev/null 2008-04-26 20:48:40.298012400 +0200 ++++ a2ps-4.14/encoding/iso8.edf 2008-04-27 01:50:14.000000000 +0200 @@ -0,0 +1,77 @@ +# Description of the ISO-8859-8 encoding +# Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana @@ -91,41 +92,27 @@ +afii57672 afii57673 afii57674 afii57675 afii57676 afii57677 afii57678 afii57679 +afii57680 afii57681 afii57682 afii57683 afii57684 afii57685 afii57686 afii57687 +afii57688 afii57689 afii57690 .notdef .notdef .notdef .notdef .notdef ---- a2ps-4.13/encoding/encoding.map.hebrew -+++ a2ps-4.13/encoding/encoding.map -@@ -65,6 +65,9 @@ - iso7 iso7 - iso-8859-7 iso7 - -+iso8 iso8 -+iso-8859-8 iso8 -+ - # The following lines _are_not_an_error_. - # This is the right correspondance between ISO-8859 names - # and the Latin n nick name. ---- a2ps-4.13/encoding/Makefile.in.hebrew -+++ a2ps-4.13/encoding/Makefile.in -@@ -140,8 +140,8 @@ +diff -up a2ps-4.14/encoding/Makefile.am.hebrew a2ps-4.14/encoding/Makefile.am +--- a2ps-4.14/encoding/Makefile.am.hebrew 2008-04-27 01:51:14.000000000 +0200 ++++ a2ps-4.14/encoding/Makefile.am 2008-04-27 01:52:11.000000000 +0200 +@@ -15,7 +15,7 @@ encodingsdir = $(pkgdatadir)/encoding major_encodings = ascii.edf iso1.edf minor_encodings = \ ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ -iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf euc-jp.edf euc-kr.edf -+iso3.edf iso4.edf iso5.edf iso7.edf iso8.edf iso9.edf iso10.edf \ -+iso13.edf iso15.edf koi8.edf euc-jp.edf euc-kr.edf ++iso3.edf iso4.edf iso5.edf iso7.edf iso8.edf iso9.edf iso10.edf iso13.edf \ + iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf - @EXTENSIONS_TRUE@encodings_DATA = @EXTENSIONS_TRUE@encoding.map $(major_encodings) $(minor_encodings) - @EXTENSIONS_FALSE@encodings_DATA = @EXTENSIONS_FALSE@encoding.map $(major_encodings) ---- a2ps-4.13/configure.in.hebrew 2007-01-22 18:19:04.000000000 +0000 -+++ a2ps-4.13/configure.in 2007-01-22 18:19:16.000000000 +0000 -@@ -200,7 +200,9 @@ - for ac_dir in /usr/share/fonts/default/Type1 \ - /usr/share/fonts/default/ghostscript \ - /usr/share/fonts/afms/adobe \ -- /usr/share/X11/fonts/Type1 ; -+ /usr/share/X11/fonts/Type1 \ -+ /usr/share/fonts/hebrew \ -+ /usr/share/fonts/he/Type1 ; - do - if test "cd $ac_dir 2>/dev/null && echo *.afm"; then - ac_psfont_path="$ac_psfont_path:$ac_dir"; + if EXTENSIONS +diff -up a2ps-4.14/encoding/Makefile.in.hebrew a2ps-4.14/encoding/Makefile.in +--- a2ps-4.14/encoding/Makefile.in.hebrew 2008-04-27 01:50:14.000000000 +0200 ++++ a2ps-4.14/encoding/Makefile.in 2008-04-27 01:52:01.000000000 +0200 +@@ -269,7 +269,7 @@ encodingsdir = $(pkgdatadir)/encoding + major_encodings = ascii.edf iso1.edf + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ +-iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ ++iso3.edf iso4.edf iso5.edf iso7.edf iso8.edf iso9.edf iso10.edf iso13.edf \ + iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf + + @EXTENSIONS_FALSE@encodings_DATA = encoding.map $(major_encodings) diff --git a/a2ps.spec b/a2ps.spec index f8f721c..fbbbece 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -12,31 +12,24 @@ Summary: Converts text and other types of files to PostScript(TM) Name: a2ps -Version: 4.13b -Release: 71%{?dist} -License: GPLv2+ +Version: 4.14 +Release: 1%{?dist} +License: GPLv3+ Group: Applications/Publishing -#Source0: ftp://ftp.enst.fr/pub/unix/a2ps/%{name}-%{version}.tar.gz -Source0: %{name}-%{version}-GPL.tar.gz +Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz -# a2ps contains code that we cannot ship due to its license. -# Therefore we use this script to remove the code in question before -# shipping it. Download the upstream tarball and invoke this script -# while in the same directory as the tarball: -# ./generate-tarball.sh 4.13b -Source2: a2ps-generate-tarball.sh Patch0: a2ps-4.13-conf.patch Patch1: a2ps-4.13-etc.patch -Patch2: a2ps-4.13-flex.patch +#Patch2: a2ps-4.13-flex.patch Patch3: a2ps-4.13-security.patch Patch4: a2ps-4.13-glibcpaper.patch -Patch5: a2ps-4.13-varargs.patch -Patch6: a2ps-tmpdir.patch +#Patch5: a2ps-4.13-varargs.patch +#Patch6: a2ps-tmpdir.patch Patch7: a2ps-sort.patch Patch8: a2ps-iso5-minus.patch Patch9: a2ps-perl.patch # EUC-JP support -Patch10: a2ps-4.13-eucjp.patch.bz2 +Patch10: a2ps-4.13-eucjp.patch Patch11: a2ps-4.13-autoenc.patch Patch12: a2ps-4.13b-attr.patch Patch13: a2ps-4.13b-numeric.patch @@ -44,17 +37,17 @@ Patch14: a2ps-4.13b-encoding.patch Patch15: a2ps-4.13b-tilde.patch Patch17: a2ps-4.13-euckr.patch Patch18: a2ps-4.13-gnusource.patch -Patch19: a2ps-4.13-bison.patch +#Patch19: a2ps-4.13-bison.patch Patch20: a2ps-4.13-hebrew.patch -Patch21: a2ps-4.13-malloc.patch -Patch22: a2ps-shell.patch -Patch23: a2ps-includes.patch -Patch24: a2ps-underquoted.patch +#Patch21: a2ps-4.13-malloc.patch +#Patch22: a2ps-shell.patch +#Patch23: a2ps-includes.patch +#Patch24: a2ps-underquoted.patch Patch26: a2ps-make-fonts-map.patch -Patch27: a2ps-netscape.patch +#Patch27: a2ps-netscape.patch Patch28: a2ps-wdiff.patch Patch29: a2ps-U.patch -Patch30: a2ps-psset.patch +#Patch30: a2ps-psset.patch Patch31: a2ps-mb.patch Patch34: a2ps-external-libtool.patch Requires: fileutils sh-utils info @@ -63,18 +56,21 @@ BuildRequires: ImageMagick BuildRequires: groff-perl BuildRequires: cups BuildRequires: gettext, bison -BuildRequires: psutils, tetex-dvips, texinfo, tetex-latex -# Uncomment this after Extras merge: +BuildRequires: psutils, tetex-dvips, texinfo, tetex-latex, html2ps +# instead of gv, xdg-open should certainly be used #BuildRequires: gv -Url: http://www.inf.enst.fr/~demaille/a2ps/ +Url: http://www.gnu.org/software/a2ps/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: psutils, ImageMagick, texinfo-tex, gzip, bzip2, groff-perl -Requires: tetex-dvips, tetex-latex, tetex-fonts, file +Requires: tetex-dvips, tetex-latex, tetex-fonts, file, html2ps +# for hebrew support, path set. +# culmus-fonts +# And certainly other font sets for other languages may be needed Requires(post): coreutils Requires(post): /sbin/install-info Requires(preun): /sbin/install-info Obsoletes: a2ps-i18n <= 0.1-1 -Provides: a2ps-i18n = 0.1-1 +Provides: a2ps-i18n = 0.1-2 %package -n emacs-%{name} @@ -108,18 +104,19 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. %prep -%setup -q -n %{name}-4.13 -a 1 +%setup -q -a 1 -# use __timestamp_configure.in to hold the configure.in timestamp -touch -r configure.in __timestamp_configure.in +# use fedora postscript font paths +%patch0 -p1 -b .conf -%patch0 -p1 -%patch1 -p1 -b .etc -%patch2 -p1 +# add /etc/a2ps in directories searched for config files +%patch1 -p1 -b .etc + +#%patch2 -p1 %patch3 -p1 -b .security %patch4 -p1 -b .glibcpaper -%patch5 -p1 -%patch6 -p1 -b .tmpdir +#%patch5 -p1 +#%patch6 -p1 -b .tmpdir %patch7 -p1 -b .sort %patch8 -p1 -b .iso5-minus %patch9 -p1 -b .perl @@ -144,22 +141,22 @@ touch -r configure.in __timestamp_configure.in %patch18 -p1 -b .gnusource # Fix problems in .y file spotted by stricter bison. -%patch19 -p1 -b .bison +#%patch19 -p1 -b .bison # Hebrew support (bug #113191). %patch20 -p1 -b .hebrew # Prevent "error: conflicting types for 'malloc'". -%patch21 -p1 -b .malloc +#%patch21 -p1 -b .malloc # Use environment variable to pass filenames to shell (bug #128647). -%patch22 -p1 -b .shell +#%patch22 -p1 -b .shell # Apply patch from bug #122699 to fix "too many includes" error. -%patch23 -p1 -b .includes +#%patch23 -p1 -b .includes # Fixed m4 files. -%patch24 -p1 -b .underquoted +#%patch24 -p1 -b .underquoted # Use external libtool (bug #225235). %patch34 -p1 -b .external-libtool @@ -169,7 +166,7 @@ touch -r configure.in __timestamp_configure.in %patch26 -p1 -b .make-fonts-map # Don't try to run netscape. Run mozilla instead (bug #121393). -%patch27 -p1 -b .netscape +#%patch27 -p1 -b .netscape # Make pdiff default to not requiring wdiff (bug #68537). %patch28 -p1 -b .wdiff @@ -178,11 +175,17 @@ touch -r configure.in __timestamp_configure.in %patch29 -p1 -b .U # Fixed psset sed expression (bug #209613). -%patch30 -p1 -b .psset +#%patch30 -p1 -b .psset # Fixed multibyte handling (bug #212154). %patch31 -p1 -b .mb +for file in AUTHORS ChangeLog; do + iconv -f latin1 -t UTF-8 < $file > $file.utf8 + touch -c -r $file $file.utf8 + mv $file.utf8 $file +done + mv doc/encoding.texi doc/encoding.texi.utf8 iconv -f KOI-8 -t UTF-8 doc/encoding.texi.utf8 -o doc/encoding.texi @@ -192,22 +195,23 @@ sed -i -e "s,/usr/local/bin,%{_bindir}," contrib/emacs/a2ps.el chmod -x lib/basename.c lib/xmalloc.c # restore timestamps of patched files -touch -r __timestamp_configure.in configure.in -rm __timestamp_configure.in -touch -r config.h.in.euc config.h.in -touch -r configure.orig configure Makefile.in -touch -r src/Makefile.am.euc src/Makefile.am -touch -r etc/Makefile.am.etc etc/Makefile.am -touch -r fonts/Makefile.in src/Makefile.in etc/Makefile.in lib/Makefile.in +touch -c -r configure.in.conf configure.in +touch -c -r config.h.in.euc config.h.in +touch -c -r configure.conf configure +touch -c -r src/Makefile.am.euc src/Makefile.am +touch -c -r etc/Makefile.am.etc etc/Makefile.am +#touch -c -r fonts/Makefile.in src/Makefile.in lib/Makefile.in +touch -c -r etc/Makefile.in.etc etc/Makefile.in + +chmod 644 encoding/iso8.edf.hebrew +chmod 644 encoding/euc-kr.edf.euckr %build # preset the date in README.in to avoid the timestamp of the build time sed -e "s!@date@!`date -r NEWS`!" etc/README.in > etc/README.in.tmp -touch -r etc/README.in etc/README.in.tmp +touch -c -r etc/README.in etc/README.in.tmp mv etc/README.in.tmp etc/README.in -chmod 644 {po/ja.po,encoding/euc-jp.edf,README.eucJP}.euc -chmod 644 encoding/euc-kr.edf.euckr EMACS=emacs %configure \ --with-medium=_glibc \ --enable-kanji @@ -217,15 +221,15 @@ find . -name "*.info*" -exec rm -f {} \; # force rebuilding scanners by flex - patched or not find src lib -name '*.l' -exec touch {} \; # these scanners use 'lineno' - incompatible with -CFe flex flags -( - cd src - /bin/sh ../auxdir/ylwrap "flex" sheets-map.l lex.yy.c sheets-map.c -- - /bin/sh ../auxdir/ylwrap "flex" lexssh.l lex.yy.c lexssh.c -- - cd ../lib - /bin/sh ../auxdir/ylwrap "flex" lexppd.l lex.yy.c lexppd.c -- -) +#( +# cd src +# /bin/sh ../auxdir/ylwrap "flex" sheets-map.l lex.yy.c sheets-map.c -- +# /bin/sh ../auxdir/ylwrap "flex" lexssh.l lex.yy.c lexssh.c -- +# cd ../lib +# /bin/sh ../auxdir/ylwrap "flex" lexppd.l lex.yy.c lexppd.c -- +#) -make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} +make %{?_smp_mflags} %install rm -rf %{buildroot} @@ -245,8 +249,8 @@ popd popd # Don't ship the library file or header (bug #203536). -rm -f %{buildroot}%{_libdir}/*.{so,a,la} -rm -f %{buildroot}%{_includedir}/* +rm %{buildroot}%{_libdir}/*.{so,a,la} +rm %{buildroot}%{_includedir}/* rm -f %{buildroot}%{_infodir}/dir @@ -312,6 +316,11 @@ exit 0 %{emacs_lispdir}/*.el %changelog +* Sun Apr 27 2008 Patrice Dumas 4.14-1 +- update to 4.14 +- don't obsolete the provided version of a2ps-i18n +- use html2ps for the html delegation + * Tue Feb 12 2008 Patrice Dumas 4.13b-71 - use a predictable stamp inside the etc/README file - follow emacs packaging guidelines diff --git a/sources b/sources index 99a216b..e950ddb 100644 --- a/sources +++ b/sources @@ -1,3 +1,2 @@ -8e6a684611da92c9de2a42e7803aa8f0 a2ps-4.13-eucjp.patch.bz2 +781ac3d9b213fa3e1ed0d79f986dc8c7 a2ps-4.14.tar.gz fee1456d0e6e94af4fc5b5a1bb9687b7 i18n-fonts-0.1.tar.gz -4c7efbbbb03558e3c900d2b3b4e3fbf0 a2ps-4.13b-GPL.tar.gz From 8988e86e0cf61ed672f0199ad66ed377c63b0018 Mon Sep 17 00:00:00 2001 From: pertusus Date: Mon, 12 May 2008 13:51:39 +0000 Subject: [PATCH 03/85] BR gperf --- a2ps.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index fbbbece..bdf16fc 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -13,7 +13,7 @@ Summary: Converts text and other types of files to PostScript(TM) Name: a2ps Version: 4.14 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -51,6 +51,7 @@ Patch29: a2ps-U.patch Patch31: a2ps-mb.patch Patch34: a2ps-external-libtool.patch Requires: fileutils sh-utils info +BuildRequires: gperf BuildRequires: emacs, emacs-el, flex, libtool, texinfo, groff BuildRequires: ImageMagick BuildRequires: groff-perl @@ -316,10 +317,11 @@ exit 0 %{emacs_lispdir}/*.el %changelog -* Sun Apr 27 2008 Patrice Dumas 4.14-1 +* Sun Apr 27 2008 Patrice Dumas 4.14-2 - update to 4.14 - don't obsolete the provided version of a2ps-i18n - use html2ps for the html delegation +- BuildRequires gperf * Tue Feb 12 2008 Patrice Dumas 4.13b-71 - use a predictable stamp inside the etc/README file From 2ec92212f08f0411f8fa1f5d2bba19f1ee63e281 Mon Sep 17 00:00:00 2001 From: pertusus Date: Wed, 14 May 2008 20:56:05 +0000 Subject: [PATCH 04/85] - %{_datadir}/a2ps/afm/fonts.map is dynamically generated, mark it as such in %files (bug #70919) --- a2ps.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index bdf16fc..683c367 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -13,7 +13,7 @@ Summary: Converts text and other types of files to PostScript(TM) Name: a2ps Version: 4.14 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -294,7 +294,8 @@ exit 0 %{_infodir}/ogonkify.info* %{_infodir}/regex.info* %{_mandir}/*/* -%{_datadir}/a2ps/afm/fonts.map +# automatically regenerated at install and update time +%verify(not size mtime md5) %{_datadir}/a2ps/afm/fonts.map %{_datadir}/a2ps/afm/*.afm %{_datadir}/a2ps/afm/make_fonts_map.sh %{_datadir}/a2ps/README @@ -317,6 +318,10 @@ exit 0 %{emacs_lispdir}/*.el %changelog +* Wed May 14 2008 Patrice Dumas 4.14-3 +- %%{_datadir}/a2ps/afm/fonts.map is dynamically generated, mark it + as such in %%files (bug #70919) + * Sun Apr 27 2008 Patrice Dumas 4.14-2 - update to 4.14 - don't obsolete the provided version of a2ps-i18n From fb26cce1ccde6428dc8983075d53b4276f322fab Mon Sep 17 00:00:00 2001 From: pertusus Date: Sun, 18 May 2008 18:08:09 +0000 Subject: [PATCH 05/85] - remove dots in node names, patch from Vitezslav Crhonek (bug #445971) --- a2ps-4.14-texinfo-nodes.patch | 128 ++++++++++++++++++++++++++++++++++ a2ps.spec | 9 ++- 2 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 a2ps-4.14-texinfo-nodes.patch diff --git a/a2ps-4.14-texinfo-nodes.patch b/a2ps-4.14-texinfo-nodes.patch new file mode 100644 index 0000000..47c2001 --- /dev/null +++ b/a2ps-4.14-texinfo-nodes.patch @@ -0,0 +1,128 @@ +diff -up a2ps-4.14/doc/regex.texi_old a2ps-4.14/doc/regex.texi +--- a2ps-4.14/doc/regex.texi_old 2002-03-04 19:46:24.000000000 +0100 ++++ a2ps-4.14/doc/regex.texi 2008-05-16 11:34:42.000000000 +0200 +@@ -121,7 +121,7 @@ Regular Expression Syntax + + * Syntax Bits:: + * Predefined Syntaxes:: +-* Collating Elements vs. Characters:: ++* Collating Elements vs Characters:: + * The Backslash Character:: + + Common Operators +@@ -305,7 +305,7 @@ In the following sections, we describe t + @menu + * Syntax Bits:: + * Predefined Syntaxes:: +-* Collating Elements vs. Characters:: ++* Collating Elements vs Characters:: + * The Backslash Character:: + @end menu + +@@ -470,7 +470,7 @@ operator (based on how @code{RE_NO_BK_PA + @end table + + +-@node Predefined Syntaxes, Collating Elements vs. Characters, Syntax Bits, Regular Expression Syntax ++@node Predefined Syntaxes, Collating Elements vs Characters, Syntax Bits, Regular Expression Syntax + @section Predefined Syntaxes + + If you're programming with Regex, you can set a pattern buffer's +@@ -552,8 +552,8 @@ The predefined syntaxes--taken directly + | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) + @end example + +-@node Collating Elements vs. Characters, The Backslash Character, Predefined Syntaxes, Regular Expression Syntax +-@section Collating Elements vs.@: Characters ++@node Collating Elements vs Characters, The Backslash Character, Predefined Syntaxes, Regular Expression Syntax ++@section Collating Elements vs@: Characters + + @sc{posix} generalizes the notion of a character to that of a + collating element. It defines a @dfn{collating element} to be ``a +@@ -577,7 +577,7 @@ collating element. For example, the Spa + Since @sc{posix}'s ``collating element'' preserves the essential idea of + a ``character,'' we use the latter, more familiar, term in this document. + +-@node The Backslash Character, , Collating Elements vs. Characters, Regular Expression Syntax ++@node The Backslash Character, , Collating Elements vs Characters, Regular Expression Syntax + @section The Backslash Character + + @cindex @samp{\} +diff -up a2ps-4.14/doc/a2ps.texi_old a2ps-4.14/doc/a2ps.texi +--- a2ps-4.14/doc/a2ps.texi_old 2008-05-16 11:34:21.000000000 +0200 ++++ a2ps-4.14/doc/a2ps.texi 2008-05-16 11:42:11.000000000 +0200 +@@ -371,11 +371,11 @@ Contributions + + Frequently asked questions + +-* Why Does ...?:: Questions on Error +-* How Can I ...?:: a2ps' How-To +-* Please tell me...:: Existential Questions on a2ps ++* Why Does?:: Questions on Error ++* How Can I?:: a2ps' How-To ++* Please tell me:: Existential Questions on a2ps + +-Why Does...? ++Why Does? + + * It Prints Nothing:: The printer issues nothing + * It Prints in Simplex:: While I asked for Duplex +@@ -385,7 +385,7 @@ Why Does...? + * It Says my File is Binary:: And refuses to print it + * It Refuses to Change the Font Size:: + +-How Can I ...? ++How Can I? + + * Leave Room for Binding:: Specifying Margins + * Print stdin:: Using a2ps in a pipe chain +@@ -395,7 +395,7 @@ How Can I ...? + * Non PostScript Printers:: Using GhostScript + * Man Pages with Underlines:: Now it Prints With Italics + +-Please tell me... ++Please tell me + + * Is a2ps Y2K compliant?:: Printing dates in short format + * The Options Have Changed:: Respect The Users +@@ -6198,13 +6198,13 @@ question about the options, etc. It has + suggestions, not to contact the authors. + + @menu +-* Why Does ...?:: Questions on Error +-* How Can I ...?:: a2ps' How-To +-* Please tell me...:: Existential Questions on a2ps ++* Why Does?:: Questions on Error ++* How Can I?:: a2ps' How-To ++* Please tell me:: Existential Questions on a2ps + @end menu + +-@node Why Does ...? +-@section Why Does...? ++@node Why Does? ++@section Why Does? + + Error related questions. + +@@ -6426,8 +6426,8 @@ Note that the `pure' options (no side-ef + virtual pages are @samp{--columns} and @samp{--rows}. + + @c -----------------------------How can I ? ------------------------------ +-@node How Can I ...? +-@section How Can I ...? ++@node How Can I? ++@section How Can I? + + A mini how-to on @pack{}. + +@@ -6561,8 +6561,8 @@ Use @samp{a2ps --pro=ul}. + + + @c -------------------------- Please Tell me ? ------------------------------ +-@node Please tell me... +-@section Please tell me... ++@node Please tell me ++@section Please tell me + + Wondering something? + diff --git a/a2ps.spec b/a2ps.spec index 683c367..bc1009e 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -13,7 +13,7 @@ Summary: Converts text and other types of files to PostScript(TM) Name: a2ps Version: 4.14 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -50,6 +50,7 @@ Patch29: a2ps-U.patch #Patch30: a2ps-psset.patch Patch31: a2ps-mb.patch Patch34: a2ps-external-libtool.patch +Patch35: a2ps-4.14-texinfo-nodes.patch Requires: fileutils sh-utils info BuildRequires: gperf BuildRequires: emacs, emacs-el, flex, libtool, texinfo, groff @@ -181,6 +182,9 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. # Fixed multibyte handling (bug #212154). %patch31 -p1 -b .mb +# Remove dots in node names, patch from Vitezslav Crhonek (Bug #445971) +%patch35 -p1 -b .nodes + for file in AUTHORS ChangeLog; do iconv -f latin1 -t UTF-8 < $file > $file.utf8 touch -c -r $file $file.utf8 @@ -318,6 +322,9 @@ exit 0 %{emacs_lispdir}/*.el %changelog +* Sun May 18 2008 Patrice Dumas 4.14-4 +- remove dots in node names, patch from Vitezslav Crhonek (bug #445971) + * Wed May 14 2008 Patrice Dumas 4.14-3 - %%{_datadir}/a2ps/afm/fonts.map is dynamically generated, mark it as such in %%files (bug #70919) From 081cc7fda8da67e1fed322ba3a308df9f41b12ca Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Thu, 29 May 2008 16:04:31 +0000 Subject: [PATCH 06/85] - Removed old patches. --- a2ps-4.13-bison.patch | 29 ------ a2ps-4.13-flex.patch | 73 -------------- a2ps-4.13-malloc.patch | 11 --- a2ps-4.13-varargs.patch | 45 --------- a2ps-includes.patch | 61 ------------ a2ps-netscape.patch | 31 ------ a2ps-psset.patch | 11 --- a2ps-shell.patch | 15 --- a2ps-tmpdir.patch | 58 ----------- a2ps-underquoted.patch | 208 ---------------------------------------- a2ps.spec | 37 +------ 11 files changed, 3 insertions(+), 576 deletions(-) delete mode 100644 a2ps-4.13-bison.patch delete mode 100644 a2ps-4.13-flex.patch delete mode 100644 a2ps-4.13-malloc.patch delete mode 100644 a2ps-4.13-varargs.patch delete mode 100644 a2ps-includes.patch delete mode 100644 a2ps-netscape.patch delete mode 100644 a2ps-psset.patch delete mode 100644 a2ps-shell.patch delete mode 100644 a2ps-tmpdir.patch delete mode 100644 a2ps-underquoted.patch diff --git a/a2ps-4.13-bison.patch b/a2ps-4.13-bison.patch deleted file mode 100644 index fcc89a6..0000000 --- a/a2ps-4.13-bison.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a2ps-4.13/src/parsessh.y.bison 2004-01-06 10:27:42.352903527 +0000 -+++ a2ps-4.13/src/parsessh.y 2004-01-06 10:28:14.328105348 +0000 -@@ -242,7 +242,7 @@ - /* Dealing with the inessential informations */ - /************************************************************************/ - requirement : -- tREQUIRES tA2PS tSTRING { $$ = $3 ; } ; -+ tREQUIRES tA2PS tSTRING { $$ = $3 ; } - | tREQUIRES tA2PS tVERSION tSTRING { $$ = $4 ; } ; - - documentation : -@@ -267,7 +267,7 @@ - authors : tWRITTEN tBY tSTRING { $$ = $3 ; }; - - version : -- tVERSION tIS tSTRING { $$ = $3 ; }; -+ tVERSION tIS tSTRING { $$ = $3 ; } - | tVERSION tSTRING { $$ = $2 ; }; - - /************************************************************************/ -@@ -717,7 +717,7 @@ - /* Only one */ - $$ = words_new ("Closing: Strings", "Closing: Regexps", 2, 2); - words_add_regex ($$, $1); -- }; -+ } - | tCLOSERS operators_def tCLOSERS - { - /* Several, comma separated, between () */ diff --git a/a2ps-4.13-flex.patch b/a2ps-4.13-flex.patch deleted file mode 100644 index 26fcbf4..0000000 --- a/a2ps-4.13-flex.patch +++ /dev/null @@ -1,73 +0,0 @@ ---- a2ps-4.13/lib/Makefile.in.flex Wed Feb 9 09:33:01 2000 -+++ a2ps-4.13/lib/Makefile.in Thu Apr 27 19:00:20 2000 -@@ -100,7 +100,7 @@ - INTLDEPS = @INTLDEPS@ - INTLLIBS = @INTLLIBS@ - INTLOBJS = @INTLOBJS@ --LEX = @LEX@ -+LEX = @LEX@ -CFe - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ - LIBOBJS = @LIBOBJS@ - LIBTOOL = @LIBTOOL@ ---- a2ps-4.13/lib/fonts.l.flex Wed Dec 15 18:27:01 1999 -+++ a2ps-4.13/lib/fonts.l Thu Apr 27 19:00:20 2000 -@@ -178,7 +178,7 @@ - - %} - --%option yylineno -+/* %option yylineno */ - %option prefix="afm" - %option outfile="lex.yy.c" - -@@ -524,7 +524,7 @@ - const char * filename; - FILE * stream; - -- yylineno = 0; -+ /* yylineno = 0; */ - - /* Find its AFM file: first resolve its font file name */ - filename = fonts_map_resolve_alias (job->fonts_map, font->key); ---- a2ps-4.13/src/Makefile.in.flex Wed Feb 9 09:34:18 2000 -+++ a2ps-4.13/src/Makefile.in Thu Apr 27 19:00:20 2000 -@@ -100,7 +100,7 @@ - INTLDEPS = @INTLDEPS@ - INTLLIBS = @INTLLIBS@ - INTLOBJS = @INTLOBJS@ --LEX = @LEX@ -+LEX = @LEX@ -CFe - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ - LIBOBJS = @LIBOBJS@ - LIBTOOL = @LIBTOOL@ -@@ -154,7 +154,7 @@ - BUILT_SOURCES = parsessh.h - - YFLAGS = -dtv --LEX = @LEX@ -+LEX = @LEX@ -CFe - # I don't really understand why I have to put srcdir here, but - # it is needed for yacc and lex files (seems related to #line, but - # I really don't understand why)... ---- a2ps-4.13/src/lexps.l.flex Mon Feb 7 17:05:43 2000 -+++ a2ps-4.13/src/lexps.l Thu Apr 27 19:00:20 2000 -@@ -35,7 +35,7 @@ - void pslex_initialize PARAMS ((void)); - %} - --%option yylineno -+/* %option yylineno */ - %option prefix="ps" - %option outfile="lex.yy.c" - ---- a2ps-4.13/Makefile.in.flex Wed Feb 9 09:32:25 2000 -+++ a2ps-4.13/Makefile.in Thu Apr 27 19:00:20 2000 -@@ -100,7 +100,7 @@ - INTLDEPS = @INTLDEPS@ - INTLLIBS = @INTLLIBS@ - INTLOBJS = @INTLOBJS@ --LEX = @LEX@ -+LEX = @LEX@ -CFe - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ - LIBOBJS = @LIBOBJS@ - LIBTOOL = @LIBTOOL@ diff --git a/a2ps-4.13-malloc.patch b/a2ps-4.13-malloc.patch deleted file mode 100644 index bdfa01c..0000000 --- a/a2ps-4.13-malloc.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a2ps-4.13/lib/path-concat.c.malloc 2004-03-02 11:27:49.000000000 +0000 -+++ a2ps-4.13/lib/path-concat.c 2004-03-02 11:28:14.000000000 +0000 -@@ -31,7 +31,7 @@ - #endif - #include - --char *malloc (); -+#include - - #ifndef DIRECTORY_SEPARATOR - # define DIRECTORY_SEPARATOR '/' diff --git a/a2ps-4.13-varargs.patch b/a2ps-4.13-varargs.patch deleted file mode 100644 index 7339376..0000000 --- a/a2ps-4.13-varargs.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- a2ps-4.13/lib/printlen.c.orig Fri Jun 1 16:38:21 2001 -+++ a2ps-4.13/lib/printlen.c Fri Jun 1 16:38:28 2001 -@@ -28,14 +28,15 @@ - unsigned long strtoul (); - - static int --int_printflen (const char *format, va_list *args) -+int_printflen (const char *format, va_list args) - { - const char *cp; - int total_width = 0; - int width = 0; - va_list ap; - -- memcpy (&ap, args, sizeof (va_list)); -+ __va_copy(ap, args); -+ /* memcpy (&ap, args, sizeof (va_list)); */ - - for (cp = format ; *cp ; cp++) - { -@@ -99,7 +100,7 @@ - int - vprintflen (const char *format, va_list args) - { -- return int_printflen (format, &args); -+ return int_printflen (format, args); - } - - int ---- a2ps-4.13/lib/title.c.orig Fri Jun 1 16:19:04 2001 -+++ a2ps-4.13/lib/title.c Fri Jun 1 16:20:16 2001 -@@ -83,11 +83,13 @@ - VA_START (args, format); - - len = vprintflen (format, args); -+ va_end(args); - if (format [strlen (format) - 1] == '\n') - len --; - if (center_p) - for (padding = 0 ; padding < 79 - len ; padding += 2) - putc (' ', stream); -+ VA_START (args, format); - # if HAVE_VPRINTF || _LIBC - vfprintf (stream, format, args); - # else diff --git a/a2ps-includes.patch b/a2ps-includes.patch deleted file mode 100644 index be610d0..0000000 --- a/a2ps-includes.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- a2ps-4.13/src/sheets-map.l.includes 2000-02-04 21:07:47.000000000 +0000 -+++ a2ps-4.13/src/sheets-map.l 2004-09-07 16:06:27.575891868 +0100 -@@ -40,6 +40,7 @@ - - #define MAX_INCLUDE_DEPTH 10 - static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH]; -+static int lineno_stack[MAX_INCLUDE_DEPTH]; - static char *filename_stack[MAX_INCLUDE_DEPTH]; - static int include_stack_ptr; - static char *yyfilename; -@@ -93,7 +94,7 @@ - white [[:space:]]+ - key [-a-zA-Z0-9_]+: - comment #.* --include include([^)]+) -+include include\([^)]+\) - %% - - {key} token_val = xstrndup (yytext, yyleng - 1); return tKEY; -@@ -102,7 +103,7 @@ - {white} ; - {comment} ; - {include} { /* Kill the closing paren and pass the file name. */ -- yytext[yyleng] = '\0'; -+ yytext[yyleng-1] = '\0'; - yy_include_push (yytext + strlen ("include(")); - } - -@@ -210,11 +211,13 @@ - error (1, 0, _("too many includes")); - - include_stack[include_stack_ptr] = YY_CURRENT_BUFFER; -- filename_stack[include_stack_ptr++] = file; -+ lineno_stack[include_stack_ptr] = yylineno; -+ filename_stack[include_stack_ptr++] = yyfilename; - - message (msg_file, (stderr, "%s:%d: includes %s\n", - yyfilename, yylineno, file)); - -+ yyfilename = file; - yyin = xrfopen (yyfilename); - - yy_switch_to_buffer (yy_create_buffer (yyin, YY_BUF_SIZE)); -@@ -227,8 +230,8 @@ - { - fclose (yyin); - yy_delete_buffer (YY_CURRENT_BUFFER); -- free (yyfilename); - yyfilename = filename_stack[include_stack_ptr]; -+ yylineno = lineno_stack[include_stack_ptr]; - yy_switch_to_buffer (include_stack[include_stack_ptr]); - message (msg_file, (stderr, "Back to file `%s'.\n", yyfilename)); - } -@@ -254,6 +257,7 @@ - yy_close (void) - { - fclose (yyin); -+ free (yyfilename); - } - - int diff --git a/a2ps-netscape.patch b/a2ps-netscape.patch deleted file mode 100644 index 738a606..0000000 --- a/a2ps-netscape.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a2ps-4.13/etc/a2ps_cfg.in.netscape 2005-02-02 16:22:36.000000000 +0000 -+++ a2ps-4.13/etc/a2ps_cfg.in 2005-02-02 16:40:06.431499603 +0000 -@@ -265,7 +265,8 @@ - @COM_PSUTILS@@COM_dvips@ fi - - ########## HTML files --# Pass HTML to Netscape, hoping that there is an Netscape running... -+# Pass HTML to Mozilla, hoping that there is a Mozilla running... -+# (Previously had used Netscape. Following comments refer to Netscape:) - # Tricks: - # 1. Netscape can't output on stdout, hence use a tmp file (#f0) - # 2. openfile refuses relative paths, so prepend cwd (%d) when relative -@@ -274,14 +275,14 @@ - # loaded page (not that of openfile). So run Netscape twice. - # 4. It asks the user if s/he wants to replace an existing output file, - # so rm before. --@COM_PSUTILS@Delegation: Netscape html:ps \ -+@COM_PSUTILS@Delegation: Mozilla html:ps \ - @COM_PSUTILS@ rm -f #f0; \ - @COM_PSUTILS@ if echo '$f' | grep '^/' >/dev/null 2>&1; then \ --@COM_PSUTILS@ ${NETSCAPE:-netscape} -noraise -remote 'openfile($f)'; \ -+@COM_PSUTILS@ ${MOZILLA:-mozilla} -noraise -remote 'openfile($f)'; \ - @COM_PSUTILS@ else \ --@COM_PSUTILS@ ${NETSCAPE:-netscape} -noraise -remote 'openfile(%d/$f)'; \ -+@COM_PSUTILS@ ${MOZILLA:-mozilla} -noraise -remote 'openfile(%d/$f)'; \ - @COM_PSUTILS@ fi && \ --@COM_PSUTILS@ ${NETSCAPE:-netscape} -noraise -remote 'saveas(#f0,postscript)' && \ -+@COM_PSUTILS@ ${MOZILLA:-mozilla} -noraise -remote 'saveas(#f0,postscript)' && \ - @COM_PSUTILS@ #{del.psselect} #f0 | #{del.psnup} - - ########## MetaFont / MetaPost files diff --git a/a2ps-psset.patch b/a2ps-psset.patch deleted file mode 100644 index 5197237..0000000 --- a/a2ps-psset.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a2ps-4.13/contrib/psset.in.psset 2006-10-06 13:12:03.000000000 +0100 -+++ a2ps-4.13/contrib/psset.in 2006-10-06 13:12:09.000000000 +0100 -@@ -241,7 +241,7 @@ - # spaces with a `\' too... - pspagedevicelen=`echo "$pspagedevice" | wc -l` - pspagedevice=`echo "$pspagedevice" | \ -- sed -e "$pspagedevicelen!s/\$/\\\\\\/;s/^/\\\\\\/"` -+ sed -e "$pspagedevicelen!s/\$/\\\\\\/;s/^ /\\\\\\ /"` - - case $at in - 0) # Insert last in the Setup, so that we win over other requests. diff --git a/a2ps-shell.patch b/a2ps-shell.patch deleted file mode 100644 index b26f648..0000000 --- a/a2ps-shell.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a2ps-4.13/src/select.c.shell 2004-07-29 16:43:08.178940204 +0100 -+++ a2ps-4.13/src/select.c 2004-07-29 16:43:09.328722698 +0100 -@@ -148,8 +148,10 @@ - command = ALLOCA (char, (2 - + strlen (job->file_command) - + ustrlen (filename))); -- sprintf (command, "%s %s", job->file_command, (const char *) filename); -- message (msg_tool, (stderr, "Reading pipe: `%s'\n", command)); -+ setenv ("filename", (const char *) filename, 1); -+ sprintf (command, "%s \"${filename}\"", job->file_command); -+ message (msg_tool, (stderr, "Reading pipe: `%s' [filename=%s]\n", command, -+ (const char *) filename)); - file_out = popen (command, "r"); - - /* Check for failure */ diff --git a/a2ps-tmpdir.patch b/a2ps-tmpdir.patch deleted file mode 100644 index fe6be21..0000000 --- a/a2ps-tmpdir.patch +++ /dev/null @@ -1,58 +0,0 @@ ---- a2ps-4.13/contrib/psmandup.in.tmpdir 1999-10-24 14:06:42.000000000 +0100 -+++ a2ps-4.13/contrib/psmandup.in 2006-08-08 14:52:22.000000000 +0100 -@@ -36,7 +36,7 @@ - message= - psselect=${PSSELECT:-psselect} - psset=${PSSET:-psset} --tmpdir=/tmp/$program.$$ -+tmpdir=$(mktemp -d /tmp/$program.XXXXXX) - - # These two must be kept in synch. They are opposed. - verbose=echo ---- a2ps-4.13/contrib/fixps.in.tmpdir 2000-02-21 08:16:15.000000000 +0000 -+++ a2ps-4.13/contrib/fixps.in 2006-08-08 14:53:36.000000000 +0100 -@@ -38,7 +38,6 @@ - run_gs=0 - # What action to perform: fixps, cat, check, and gs - task=fixps --tmpdir=/tmp/$program.$$ - verbose=echo - - # The version/usage strings -@@ -183,6 +182,7 @@ - exit 1;; - esac - -+tmpdir=$(mktemp -d /tmp/$program.XXXXXX) - if test -n "$debug"; then - # Set -x now if debugging - set -x -@@ -191,7 +191,6 @@ - trap "/bin/rm -rf $tmpdir" 0 1 2 3 13 15 - fi - --mkdir $tmpdir - fixps_sed=$tmpdir/fixps.sed - - # If printing from stdin, save into a tmp file ---- a2ps-4.13/contrib/pdiff.in.tmpdir 1999-10-24 16:07:51.000000000 +0100 -+++ a2ps-4.13/contrib/pdiff.in 2006-08-08 14:52:22.000000000 +0100 -@@ -34,7 +34,7 @@ - diff_options='-u' - file= - output= --tmpdir=/tmp/$program.$$ -+tmpdir=$(mktemp -d /tmp/$program.XXXXXX) - verbose=echo - wdiff_prog=${WDIFF:-wdiff} - wdiff_options='-w[wd- -x-wd] -y{wd+ -z+wd}' ---- a2ps-4.13/contrib/pdiff.in.tmpdir 1999-10-24 16:07:51.000000000 +0100 -+++ a2ps-4.13/contrib/pdiff.in 2007-02-28 13:30:36.000000000 +0000 -@@ -67,6 +67,7 @@ - - help="Try \`$program --help' for more information." - -+trap "/bin/rm -rf $tmpdir" 0 1 2 3 13 15 - - # Parse command line arguments. - option_without_arguments='vhsqDlw' diff --git a/a2ps-underquoted.patch b/a2ps-underquoted.patch deleted file mode 100644 index 4cd609d..0000000 --- a/a2ps-underquoted.patch +++ /dev/null @@ -1,208 +0,0 @@ ---- a2ps-4.13/m4/c-bs-a.m4.underquoted 2004-12-07 15:48:56.317799029 +0000 -+++ a2ps-4.13/m4/c-bs-a.m4 2004-12-07 15:49:09.240315913 +0000 -@@ -2,7 +2,7 @@ - - dnl From Paul Eggert. - --AC_DEFUN(AC_C_BACKSLASH_A, -+AC_DEFUN([AC_C_BACKSLASH_A], - [ - AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a, - [AC_TRY_COMPILE([], -@@ -22,7 +22,7 @@ - fi - ]) - --AC_DEFUN(jm_PREREQ_QUOTEARG, -+AC_DEFUN([jm_PREREQ_QUOTEARG], - [ - AC_CHECK_FUNCS(isascii mbrtowc) - AC_CHECK_HEADERS(limits.h stdlib.h string.h wchar.h) ---- a2ps-4.13/m4/error.m4.underquoted 2004-12-07 15:49:21.559948942 +0000 -+++ a2ps-4.13/m4/error.m4 2004-12-07 15:49:28.235666455 +0000 -@@ -1,7 +1,7 @@ - dnl From Jim Meyering. Use this if you use the GNU error.[ch]. - dnl FIXME: Migrate into libit - --AC_DEFUN(AM_FUNC_ERROR_AT_LINE, -+AC_DEFUN([AM_FUNC_ERROR_AT_LINE], - [AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line, - [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");], - am_cv_lib_error_at_line=yes, ---- a2ps-4.13/m4/obstack.m4.underquoted 2004-12-07 15:49:39.826439920 +0000 -+++ a2ps-4.13/m4/obstack.m4 2004-12-07 15:49:49.827518954 +0000 -@@ -1,7 +1,7 @@ - dnl From Jim Meyering. - dnl FIXME: migrate into libit. - --AC_DEFUN(AM_FUNC_OBSTACK, -+AC_DEFUN([AM_FUNC_OBSTACK], - [AC_CACHE_CHECK([for obstacks], am_cv_func_obstack, - [AC_TRY_LINK([#include "obstack.h"], - [struct obstack *mem;obstack_free(mem,(char *) 0)], ---- a2ps-4.13/m4/libtool.m4.underquoted 2004-12-07 15:50:24.793804138 +0000 -+++ a2ps-4.13/m4/libtool.m4 2004-12-07 15:52:28.530057547 +0000 -@@ -22,7 +22,7 @@ - ## the same distribution terms that you use for the rest of that program. - - # serial 40 AC_PROG_LIBTOOL --AC_DEFUN(AC_PROG_LIBTOOL, -+AC_DEFUN([AC_PROG_LIBTOOL], - [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl - - # Save cache, so that ltconfig can load it -@@ -52,7 +52,7 @@ - exec 5>>./config.log - ]) - --AC_DEFUN(AC_LIBTOOL_SETUP, -+AC_DEFUN([AC_LIBTOOL_SETUP], - [AC_PREREQ(2.13)dnl - AC_REQUIRE([AC_ENABLE_SHARED])dnl - AC_REQUIRE([AC_ENABLE_STATIC])dnl -@@ -132,16 +132,16 @@ - ]) - - # AC_LIBTOOL_DLOPEN - enable checks for dlopen support --AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) -+AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) - - # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's --AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) -+AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) - - # AC_ENABLE_SHARED - implement the --enable-shared flag - # Usage: AC_ENABLE_SHARED[(DEFAULT)] - # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to - # `yes'. --AC_DEFUN(AC_ENABLE_SHARED, [dnl -+AC_DEFUN([AC_ENABLE_SHARED], [dnl - define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl - AC_ARG_ENABLE(shared, - changequote(<<, >>)dnl -@@ -167,14 +167,14 @@ - ]) - - # AC_DISABLE_SHARED - set the default shared flag to --disable-shared --AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -+AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_ENABLE_SHARED(no)]) - - # AC_ENABLE_STATIC - implement the --enable-static flag - # Usage: AC_ENABLE_STATIC[(DEFAULT)] - # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to - # `yes'. --AC_DEFUN(AC_ENABLE_STATIC, [dnl -+AC_DEFUN([AC_ENABLE_STATIC], [dnl - define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl - AC_ARG_ENABLE(static, - changequote(<<, >>)dnl -@@ -200,7 +200,7 @@ - ]) - - # AC_DISABLE_STATIC - set the default static flag to --disable-static --AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -+AC_DEFUN([AC_DISABLE_STATIC], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_ENABLE_STATIC(no)]) - - -@@ -208,7 +208,7 @@ - # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] - # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to - # `yes'. --AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl -+AC_DEFUN([AC_ENABLE_FAST_INSTALL], [dnl - define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl - AC_ARG_ENABLE(fast-install, - changequote(<<, >>)dnl -@@ -234,11 +234,11 @@ - ]) - - # AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install --AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -+AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_ENABLE_FAST_INSTALL(no)]) - - # AC_PROG_LD - find the path to the GNU or non-GNU linker --AC_DEFUN(AC_PROG_LD, -+AC_DEFUN([AC_PROG_LD], - [AC_ARG_WITH(gnu-ld, - [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], - test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) -@@ -308,7 +308,7 @@ - AC_PROG_LD_GNU - ]) - --AC_DEFUN(AC_PROG_LD_GNU, -+AC_DEFUN([AC_PROG_LD_GNU], - [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, - [# I'd rather use --version here, but apparently some GNU ld's only accept -v. - if $LD -v 2>&1 &5; then -@@ -319,7 +319,7 @@ - ]) - - # AC_PROG_NM - find the path to a BSD-compatible name lister --AC_DEFUN(AC_PROG_NM, -+AC_DEFUN([AC_PROG_NM], - [AC_MSG_CHECKING([for BSD-compatible nm]) - AC_CACHE_VAL(ac_cv_path_NM, - [if test -n "$NM"; then -@@ -353,7 +353,7 @@ - ]) - - # AC_CHECK_LIBM - check for math library --AC_DEFUN(AC_CHECK_LIBM, -+AC_DEFUN([AC_CHECK_LIBM], - [AC_REQUIRE([AC_CANONICAL_HOST])dnl - LIBM= - case "$lt_target" in -@@ -378,7 +378,7 @@ - # '${top_builddir}/' (note the single quotes!) if your package is not - # flat, and, if you're not using automake, define top_builddir as - # appropriate in the Makefiles. --AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -+AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case "$enable_ltdl_convenience" in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes -@@ -397,7 +397,7 @@ - # flat, and, if you're not using automake, define top_builddir as - # appropriate in the Makefiles. - # In the future, this macro may have to be called after AC_PROG_LIBTOOL. --AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -+AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, main, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then -@@ -418,13 +418,13 @@ - ]) - - dnl old names --AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl --AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl --AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl --AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl --AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl --AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl --AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl -+AC_DEFUN([AM_PROG_LIBTOOL], [indir([AC_PROG_LIBTOOL])])dnl -+AC_DEFUN([AM_ENABLE_SHARED], [indir([AC_ENABLE_SHARED], $@)])dnl -+AC_DEFUN([AM_ENABLE_STATIC], [indir([AC_ENABLE_STATIC], $@)])dnl -+AC_DEFUN([AM_DISABLE_SHARED], [indir([AC_DISABLE_SHARED], $@)])dnl -+AC_DEFUN([AM_DISABLE_STATIC], [indir([AC_DISABLE_STATIC], $@)])dnl -+AC_DEFUN([AM_PROG_LD], [indir([AC_PROG_LD])])dnl -+AC_DEFUN([AM_PROG_NM], [indir([AC_PROG_NM])])dnl - - dnl This is just to silence aclocal about the macro not being used - ifelse([AC_DISABLE_FAST_INSTALL])dnl ---- a2ps-4.13/m4/lex.m4.underquoted 2004-12-07 15:53:11.815755409 +0000 -+++ a2ps-4.13/m4/lex.m4 2004-12-07 15:53:20.523085631 +0000 -@@ -3,7 +3,7 @@ - - dnl AM_PROG_LEX - dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT --AC_DEFUN(AM_PROG_LEX, -+AC_DEFUN([AM_PROG_LEX], - [AC_REQUIRE([AM_MISSING_HAS_RUN]) - AC_CHECK_PROGS(LEX, flex lex, [${am_missing_run}flex]) - AC_PROG_LEX diff --git a/a2ps.spec b/a2ps.spec index bc1009e..8aa4ed5 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -20,11 +20,8 @@ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz Patch0: a2ps-4.13-conf.patch Patch1: a2ps-4.13-etc.patch -#Patch2: a2ps-4.13-flex.patch Patch3: a2ps-4.13-security.patch Patch4: a2ps-4.13-glibcpaper.patch -#Patch5: a2ps-4.13-varargs.patch -#Patch6: a2ps-tmpdir.patch Patch7: a2ps-sort.patch Patch8: a2ps-iso5-minus.patch Patch9: a2ps-perl.patch @@ -37,17 +34,10 @@ Patch14: a2ps-4.13b-encoding.patch Patch15: a2ps-4.13b-tilde.patch Patch17: a2ps-4.13-euckr.patch Patch18: a2ps-4.13-gnusource.patch -#Patch19: a2ps-4.13-bison.patch Patch20: a2ps-4.13-hebrew.patch -#Patch21: a2ps-4.13-malloc.patch -#Patch22: a2ps-shell.patch -#Patch23: a2ps-includes.patch -#Patch24: a2ps-underquoted.patch Patch26: a2ps-make-fonts-map.patch -#Patch27: a2ps-netscape.patch Patch28: a2ps-wdiff.patch Patch29: a2ps-U.patch -#Patch30: a2ps-psset.patch Patch31: a2ps-mb.patch Patch34: a2ps-external-libtool.patch Patch35: a2ps-4.14-texinfo-nodes.patch @@ -114,11 +104,8 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. # add /etc/a2ps in directories searched for config files %patch1 -p1 -b .etc -#%patch2 -p1 %patch3 -p1 -b .security %patch4 -p1 -b .glibcpaper -#%patch5 -p1 -#%patch6 -p1 -b .tmpdir %patch7 -p1 -b .sort %patch8 -p1 -b .iso5-minus %patch9 -p1 -b .perl @@ -142,24 +129,9 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. # Prevent strsignal segfaulting (bug #104970). %patch18 -p1 -b .gnusource -# Fix problems in .y file spotted by stricter bison. -#%patch19 -p1 -b .bison - # Hebrew support (bug #113191). %patch20 -p1 -b .hebrew -# Prevent "error: conflicting types for 'malloc'". -#%patch21 -p1 -b .malloc - -# Use environment variable to pass filenames to shell (bug #128647). -#%patch22 -p1 -b .shell - -# Apply patch from bug #122699 to fix "too many includes" error. -#%patch23 -p1 -b .includes - -# Fixed m4 files. -#%patch24 -p1 -b .underquoted - # Use external libtool (bug #225235). %patch34 -p1 -b .external-libtool @@ -167,18 +139,12 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. # Michal Jaegermann. %patch26 -p1 -b .make-fonts-map -# Don't try to run netscape. Run mozilla instead (bug #121393). -#%patch27 -p1 -b .netscape - # Make pdiff default to not requiring wdiff (bug #68537). %patch28 -p1 -b .wdiff # Make pdiff use diff(1) properly (bug #156916). %patch29 -p1 -b .U -# Fixed psset sed expression (bug #209613). -#%patch30 -p1 -b .psset - # Fixed multibyte handling (bug #212154). %patch31 -p1 -b .mb @@ -322,6 +288,9 @@ exit 0 %{emacs_lispdir}/*.el %changelog +* Thu May 29 2008 Tim Waugh +- Removed old patches. + * Sun May 18 2008 Patrice Dumas 4.14-4 - remove dots in node names, patch from Vitezslav Crhonek (bug #445971) From f3af8e2bc5006ddb3a5d804cba47f065daa8e227 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Thu, 29 May 2008 16:10:06 +0000 Subject: [PATCH 07/85] No longer used. --- a2ps-generate-tarball.sh | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100755 a2ps-generate-tarball.sh diff --git a/a2ps-generate-tarball.sh b/a2ps-generate-tarball.sh deleted file mode 100755 index f5aa5ec..0000000 --- a/a2ps-generate-tarball.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -VERSION=$1 - -TMPDIR=tarball-arena -rm -rf "$TMPDIR" a2ps-$VERSION-GPL.tar.gz -mkdir "$TMPDIR" -tar zxf a2ps-$VERSION.tar.gz -C "$TMPDIR" -cd "$TMPDIR" -for f in \ - tests/gps-ref/Converter.ps \ - tests/gps-ref/fasttrig.ps \ - tests/ps-ref/Converter.ps \ - tests/ps-ref/fasttrig.ps \ - tests/tstfiles/Converter.java \ - tests/tstfiles/fasttrig.pas -do - rm -f a2ps-*/"$f" -done - -tar zcf ../a2ps-$VERSION-GPL.tar.gz a2ps-* From e8bcfd35bd6591b71cf73fdd130d0c8e8df1f571 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Thu, 29 May 2008 16:12:42 +0000 Subject: [PATCH 08/85] No longer used. --- a2ps-generate-tarball.sh | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100755 a2ps-generate-tarball.sh diff --git a/a2ps-generate-tarball.sh b/a2ps-generate-tarball.sh deleted file mode 100755 index f5aa5ec..0000000 --- a/a2ps-generate-tarball.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -VERSION=$1 - -TMPDIR=tarball-arena -rm -rf "$TMPDIR" a2ps-$VERSION-GPL.tar.gz -mkdir "$TMPDIR" -tar zxf a2ps-$VERSION.tar.gz -C "$TMPDIR" -cd "$TMPDIR" -for f in \ - tests/gps-ref/Converter.ps \ - tests/gps-ref/fasttrig.ps \ - tests/ps-ref/Converter.ps \ - tests/ps-ref/fasttrig.ps \ - tests/tstfiles/Converter.java \ - tests/tstfiles/fasttrig.pas -do - rm -f a2ps-*/"$f" -done - -tar zcf ../a2ps-$VERSION-GPL.tar.gz a2ps-* From e23a998d2d14c7b4df6fdf2b75587f3bc577713e Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Thu, 29 May 2008 16:14:55 +0000 Subject: [PATCH 09/85] 4.14-5 --- a2ps.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index 8aa4ed5..3277e50 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -13,7 +13,7 @@ Summary: Converts text and other types of files to PostScript(TM) Name: a2ps Version: 4.14 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -288,7 +288,7 @@ exit 0 %{emacs_lispdir}/*.el %changelog -* Thu May 29 2008 Tim Waugh +* Thu May 29 2008 Tim Waugh 4.14-5 - Removed old patches. * Sun May 18 2008 Patrice Dumas 4.14-4 From 6e9294f100f7d0578e0a837f79d452ce1465b169 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Thu, 29 May 2008 16:24:41 +0000 Subject: [PATCH 10/85] Sync to devel. --- a2ps-4.13-bison.patch | 29 - a2ps-4.13-conf.patch | 24 +- a2ps-4.13-etc.patch | 67 +- a2ps-4.13-eucjp.patch | 1417 +++++++++++++++++++++++++++++++++ a2ps-4.13-euckr.patch | 78 +- a2ps-4.13-flex.patch | 73 -- a2ps-4.13-hebrew.patch | 83 +- a2ps-4.13-malloc.patch | 11 - a2ps-4.13-varargs.patch | 45 -- a2ps-4.14-texinfo-nodes.patch | 128 +++ a2ps-includes.patch | 61 -- a2ps-netscape.patch | 31 - a2ps-psset.patch | 11 - a2ps-shell.patch | 15 - a2ps-tmpdir.patch | 58 -- a2ps-underquoted.patch | 208 ----- a2ps.spec | 146 ++-- sources | 3 +- 18 files changed, 1740 insertions(+), 748 deletions(-) delete mode 100644 a2ps-4.13-bison.patch create mode 100644 a2ps-4.13-eucjp.patch delete mode 100644 a2ps-4.13-flex.patch delete mode 100644 a2ps-4.13-malloc.patch delete mode 100644 a2ps-4.13-varargs.patch create mode 100644 a2ps-4.14-texinfo-nodes.patch delete mode 100644 a2ps-includes.patch delete mode 100644 a2ps-netscape.patch delete mode 100644 a2ps-psset.patch delete mode 100644 a2ps-shell.patch delete mode 100644 a2ps-tmpdir.patch delete mode 100644 a2ps-underquoted.patch diff --git a/a2ps-4.13-bison.patch b/a2ps-4.13-bison.patch deleted file mode 100644 index fcc89a6..0000000 --- a/a2ps-4.13-bison.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a2ps-4.13/src/parsessh.y.bison 2004-01-06 10:27:42.352903527 +0000 -+++ a2ps-4.13/src/parsessh.y 2004-01-06 10:28:14.328105348 +0000 -@@ -242,7 +242,7 @@ - /* Dealing with the inessential informations */ - /************************************************************************/ - requirement : -- tREQUIRES tA2PS tSTRING { $$ = $3 ; } ; -+ tREQUIRES tA2PS tSTRING { $$ = $3 ; } - | tREQUIRES tA2PS tVERSION tSTRING { $$ = $4 ; } ; - - documentation : -@@ -267,7 +267,7 @@ - authors : tWRITTEN tBY tSTRING { $$ = $3 ; }; - - version : -- tVERSION tIS tSTRING { $$ = $3 ; }; -+ tVERSION tIS tSTRING { $$ = $3 ; } - | tVERSION tSTRING { $$ = $2 ; }; - - /************************************************************************/ -@@ -717,7 +717,7 @@ - /* Only one */ - $$ = words_new ("Closing: Strings", "Closing: Regexps", 2, 2); - words_add_regex ($$, $1); -- }; -+ } - | tCLOSERS operators_def tCLOSERS - { - /* Several, comma separated, between () */ diff --git a/a2ps-4.13-conf.patch b/a2ps-4.13-conf.patch index 0613655..9504283 100644 --- a/a2ps-4.13-conf.patch +++ b/a2ps-4.13-conf.patch @@ -1,7 +1,8 @@ ---- a2ps-4.13/configure.config Wed Feb 9 09:32:31 2000 -+++ a2ps-4.13/configure Thu Apr 27 19:56:05 2000 -@@ -8433,9 +8433,13 @@ - echo "configure:8434: checking for PostScript fonts path" 1>&5 +diff -up a2ps-4.14/configure.conf a2ps-4.14/configure +--- a2ps-4.14/configure.conf 2008-04-27 01:01:04.000000000 +0200 ++++ a2ps-4.14/configure 2008-04-27 01:04:12.000000000 +0200 +@@ -30758,9 +30758,13 @@ fi + echo $ECHO_N "checking for PostScript fonts path... $ECHO_C" >&6; } # Try to find some PostScript fonts. # Find out if ghostscript is installed +# for ac_dir in /usr/local/ghostscript/fonts \ @@ -11,14 +12,15 @@ - /usr/local/share/ghostscript/fonts; +for ac_dir in /usr/share/fonts/default/Type1 \ + /usr/share/fonts/default/ghostscript \ -+ /usr/share/fonts/afms/adobe \ -+ /usr/share/X11/fonts/Type1 ; ++ /usr/share/X11/fonts/Type1 \ ++ /usr/share/fonts/culmus ; do if test "cd $ac_dir 2>/dev/null && echo *.afm"; then ac_psfont_path="$ac_psfont_path:$ac_dir"; ---- a2ps-4.13/configure.in.conf 2000-02-24 17:53:03.000000000 +0000 -+++ a2ps-4.13/configure.in 2004-12-09 16:25:14.984961138 +0000 -@@ -197,8 +197,10 @@ +diff -up a2ps-4.14/configure.in.conf a2ps-4.14/configure.in +--- a2ps-4.14/configure.in.conf 2008-04-27 01:00:54.000000000 +0200 ++++ a2ps-4.14/configure.in 2008-04-27 01:03:52.000000000 +0200 +@@ -207,8 +207,10 @@ AC_MSG_CHECKING(for PostScript fonts pat # Try to find some PostScript fonts. # Find out if ghostscript is installed ac_psfont_path= @@ -26,8 +28,8 @@ - /usr/local/share/ghostscript/fonts; +for ac_dir in /usr/share/fonts/default/Type1 \ + /usr/share/fonts/default/ghostscript \ -+ /usr/share/fonts/afms/adobe \ -+ /usr/share/X11/fonts/Type1 ; ++ /usr/share/X11/fonts/Type1 \ ++ /usr/share/fonts/culmus ; do if test "cd $ac_dir 2>/dev/null && echo *.afm"; then ac_psfont_path="$ac_psfont_path:$ac_dir"; diff --git a/a2ps-4.13-etc.patch b/a2ps-4.13-etc.patch index 1aaee86..fa692ff 100644 --- a/a2ps-4.13-etc.patch +++ b/a2ps-4.13-etc.patch @@ -1,27 +1,17 @@ ---- a2ps-4.13/etc/Makefile.in.etc Wed Feb 9 09:32:55 2000 -+++ a2ps-4.13/etc/Makefile.in Thu Apr 27 22:45:03 2000 -@@ -132,7 +132,7 @@ +diff -up a2ps-4.14/etc/a2ps_cfg.in.etc a2ps-4.14/etc/a2ps_cfg.in +--- a2ps-4.14/etc/a2ps_cfg.in.etc 2007-12-29 02:38:58.000000000 +0100 ++++ a2ps-4.14/etc/a2ps_cfg.in 2008-04-27 01:27:55.000000000 +0200 +@@ -73,6 +73,7 @@ LibraryPath: @libpath@ + # It may be useful to extend it so that a2ps can see some + # TeX or X11 resources: it likes AFM files and PF[AB] files. + #AppendLibraryPath: foo ++AppendLibraryPath: @apppath@ - ogonkifydir = $(datadir)/ogonkify --libpath = $(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) -+libpath = $(sysconfdir)/$(PACKAGE):$(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) - - pkgdata_DATA = README - -@@ -297,7 +297,9 @@ - - # Building the correct a2ps.cfg - a2ps.cfg: a2ps_cfg Makefile -- sed "s!@libpath@!$(libpath)!" a2ps_cfg > a2ps.cfg -+ sed -e "s!@libpath@!$(libpath)!" \ -+ -e "s!@apppath@!$(PSFONT_PATH)!" \ -+ a2ps_cfg > a2ps.cfg - - # Building a time stamp to know the version. - README: README.in Makefile ---- a2ps-4.13/etc/Makefile.am.etc 1999-11-30 09:20:09.000000000 +0100 -+++ a2ps-4.13/etc/Makefile.am 2007-03-09 11:05:43.000000000 +0100 + ################################################################# +diff -up a2ps-4.14/etc/Makefile.am.etc a2ps-4.14/etc/Makefile.am +--- a2ps-4.14/etc/Makefile.am.etc 2002-07-19 14:07:27.000000000 +0200 ++++ a2ps-4.14/etc/Makefile.am 2008-04-27 01:27:55.000000000 +0200 @@ -2,7 +2,7 @@ ## Makefile for a2ps' etc library directory. @@ -31,7 +21,7 @@ pkgdata_DATA = README -@@ -40,7 +40,9 @@ +@@ -40,7 +40,9 @@ DISTCLEANFILES = a2ps.cfg README # Building the correct a2ps.cfg a2ps.cfg: a2ps_cfg Makefile @@ -42,13 +32,28 @@ # Building a time stamp to know the version. README: README.in Makefile ---- a2ps-4.13/etc/a2ps_cfg.in.etc Tue Feb 8 03:24:03 2000 -+++ a2ps-4.13/etc/a2ps_cfg.in Thu Apr 27 20:49:04 2000 -@@ -73,6 +73,7 @@ - # It may be useful to extend it so that a2ps can see some - # TeX or X11 resources: it likes AFM files and PF[AB] files. - #AppendLibraryPath: foo -+AppendLibraryPath: @apppath@ +diff -up a2ps-4.14/etc/Makefile.in.etc a2ps-4.14/etc/Makefile.in +--- a2ps-4.14/etc/Makefile.in.etc 2007-12-29 04:28:07.000000000 +0100 ++++ a2ps-4.14/etc/Makefile.in 2008-04-27 01:30:55.000000000 +0200 +@@ -262,7 +262,7 @@ sysconfdir = @sysconfdir@ + target_alias = @target_alias@ + tex = @tex@ + ogonkifydir = $(datadir)/ogonkify +-libpath = $(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) ++libpath = $(sysconfdir)/$(PACKAGE):$(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) + pkgdata_DATA = README + dsysconf = $(DESTDIR)$(sysconfdir) + EXTRA_DIST = README.in +@@ -482,7 +482,9 @@ uninstall-local: + # Building the correct a2ps.cfg + a2ps.cfg: a2ps_cfg Makefile +- sed "s!@libpath@!$(libpath)!" a2ps_cfg > a2ps.cfg ++ sed -e "s!@libpath@!$(libpath)!" \ ++ -e "s!@apppath@!$(PSFONT_PATH)!" \ ++ a2ps_cfg > a2ps.cfg - ################################################################# + # Building a time stamp to know the version. + README: README.in Makefile +diff -up a2ps-4.14/Makefile.am.etc a2ps-4.14/Makefile.am +diff -up a2ps-4.14/Makefile.in.etc a2ps-4.14/Makefile.in diff --git a/a2ps-4.13-eucjp.patch b/a2ps-4.13-eucjp.patch new file mode 100644 index 0000000..e94834a --- /dev/null +++ b/a2ps-4.13-eucjp.patch @@ -0,0 +1,1417 @@ +diff -up a2ps-4.14/config.h.in.euc a2ps-4.14/config.h.in +--- a2ps-4.14/config.h.in.euc 2007-12-29 04:28:05.000000000 +0100 ++++ a2ps-4.14/config.h.in 2008-04-27 10:39:24.000000000 +0200 +@@ -24,6 +24,9 @@ + /* Define if TIOCGWINSZ requires sys/ioctl.h */ + #undef GWINSZ_IN_SYS_IOCTL + ++/* Define if you want to support japanese */ ++#undef ENABLE_KANJI ++ + /* Define to 1 if you have the `alarm' function. */ + #undef HAVE_ALARM + +diff -up a2ps-4.14/configure.euc a2ps-4.14/configure +--- a2ps-4.14/configure.euc 2008-04-27 10:39:24.000000000 +0200 ++++ a2ps-4.14/configure 2008-04-27 10:41:39.000000000 +0200 +@@ -1587,7 +1587,8 @@ Optional Packages: + --with-medium=medium specify the default medium (A4, Letter, Legal, etc.) + default=A4 + --with-encoding=enc specify the default encoding (ascii, latin1, +- latin2... latin6, hp etc.) default=latin1 ++ latin2... latin6, euc-jp, hp etc.) default=latin1 ++ --enable-kanji support Japanese (default=yes) + + Some influential environment variables: + CC C compiler command +@@ -22521,7 +22522,7 @@ fi + + for ac_header in sys/time.h sys/stat.h sys/types.h sys/ioctl.h \ + math.h string.h strings.h stdlib.h unistd.h stdarg.h pwd.h malloc.h \ +- memory.h errno.h fcntl.h stdbool.h fnmatch.h ++ memory.h errno.h fcntl.h stdbool.h fnmatch.h iconv.h + do + as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` + if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then +@@ -30947,6 +30948,22 @@ fi + + + ++# Check whether --enable-kanji or --disable-kanji was given. ++if test "${enable_kanji+set}" = set; then ++ enableval="$enable_kanji" ++ SUPPORT_KANJI=$enableval ++else ++ SUPPORT_KANJI=yes ++fi ++ ++if test "$SUPPORT_KANJI" = "yes"; then ++ cat >> confdefs.h <<\EOF ++#define ENABLE_KANJI 1 ++EOF ++# ENCODING=euc-jp ++fi ++ ++ + ######################## + # Nice special printers + ######################## +diff -up a2ps-4.14/configure.in.euc a2ps-4.14/configure.in +--- a2ps-4.14/configure.in.euc 2008-04-27 10:39:24.000000000 +0200 ++++ a2ps-4.14/configure.in 2008-04-27 10:39:24.000000000 +0200 +@@ -72,7 +72,7 @@ AC_HEADER_SYS_WAIT + AC_HEADER_DIRENT + AC_CHECK_HEADERS(sys/time.h sys/stat.h sys/types.h sys/ioctl.h \ + math.h string.h strings.h stdlib.h unistd.h stdarg.h pwd.h malloc.h \ +- memory.h errno.h fcntl.h stdbool.h fnmatch.h) ++ memory.h errno.h fcntl.h stdbool.h fnmatch.h iconv.h) + + ## --------------------- ## + ## Checks for typedefs. ## +@@ -276,11 +276,23 @@ AC_SUBST(MEDIUM) + # + AC_ARG_WITH(encoding, + AC_HELP_STRING([--with-encoding=enc], +- [specify the default encoding (ascii, latin1, latin2... latin6, hp etc.) [default=latin1]]), ++ [specify the default encoding (ascii, latin1, latin2... latin6, euc-jp, hp etc.) [default=latin1]]), + ENCODING=$with_encoding, + ENCODING=latin1) + AC_SUBST(ENCODING) + ++# ++# use libjcode ++# ++AC_ARG_ENABLE(kanji, ++ [ --enable-kanji support Japanese/kanji (default: yes)], ++ SUPPORT_KANJI=$enableval, SUPPORT_KANJI=yes) ++if test "$SUPPORT_KANJI" = "yes"; then ++ AC_DEFINE(ENABLE_KANJI) ++ dnl ENCODING=euc-jp ++fi ++ ++ + ######################## + # Nice special printers + ######################## +diff -up a2ps-4.14/encoding/encoding.map.euc a2ps-4.14/encoding/encoding.map +--- a2ps-4.14/encoding/encoding.map.euc 2007-12-29 02:39:21.000000000 +0100 ++++ a2ps-4.14/encoding/encoding.map 2008-04-27 10:39:24.000000000 +0200 +@@ -93,6 +93,12 @@ koi8r koi8 + koi8 koi8 + koi koi8 + ++euc-jp euc-jp ++eucjp euc-jp ++japanese euc-jp ++ja euc-jp ++jp euc-jp ++ + ######################################################################## + # Some architectures specific char sets + ######################################################################## +diff -up /dev/null a2ps-4.14/encoding/euc-jp.edf +--- /dev/null 2008-04-27 11:55:27.307012118 +0200 ++++ a2ps-4.14/encoding/euc-jp.edf 2008-04-27 10:39:24.000000000 +0200 +@@ -0,0 +1,109 @@ ++# Description of the EUC-JP encoding ++# Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana ++# Copyright (c) 1995, 96, 97, 98 Akim Demaille, Miguel Santana ++# ++ ++# ++# This file is part of a2ps. ++# ++# 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, 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; see the file COPYING. If not, write to ++# the Free Software Foundation, 59 Temple Place - Suite 330, ++# Boston, MA 02111-1307, USA. ++# ++ ++Name: EUC-JP ++ ++# This text is reproduced by a courtesy of Roman Czyborra ++# http://czyborra.com/charsets/iso8859.html ++Documentation ++The EUC-JP character set, often simply referred to as Latin 1, ++covers most West European languages, such as French, Spanish, Catalan, ++Basque, Portuguese, Italian, Albanian, Rhaeto-Romanic, Dutch, German, ++Danish, Swedish, Norwegian, Finnish, Faroese, Icelandic, Irish, ++Scottish, and English, incidentally also Afrikaans and Swahili, thus ++in effect also the entire American continent, Australia and the ++southern two-thirds of Africa. The lack of the ligatures Dutch IJ, ++French OE and ,,German`` quotation marks is considered tolerable. ++ ++The lack of the new C=-resembling Euro currency symbol U+20AC has ++opened the discussion of a new Latin0. ++EndDocumentation ++ ++# If there is an unknown font requested, use Courier ++Default: Courier ++ ++# Automatic spell checking :) ++Substitute: Times Times-Roman ++Substitute: Helvetica-Italic Helvetica-Oblique ++Substitute: Helvetica-BoldItalic Helvetica-BoldOblique ++ ++ ++# SlantFont for Japanese Italic Kanji font ++# new font source font value ++SlantFont: Ryumin-Light-EUC-H-Italic Ryumin-Light-EUC-H 0.2 ++SlantFont: GothicBBB-Medium-EUC-H-Italic GothicBBB-Medium-EUC-H 0.2 ++ ++# Compose font for japanese EUC code ++# target font additional font width size rate ++DefaultComposite: Ryumin-Light-EUC-H 1.0 1.1 ++ ++# 1:2 fixed ++#DefaultComposite: Ryumin-Light-EUC-H 1.0 0.8333 ++ ++# 1:1 fixed ++#DefaultComposite: Ryumin-Light-EUC-H 1.0 1.6666 ++ ++Composite: Helvetica GothicBBB-Medium-EUC-H 1.0 1.1 ++Composite: Helvetica-Oblique GothicBBB-Medium-EUC-H-Italic 1.0 1.1 ++Composite: Helvetica-Bold GothicBBB-Medium-EUC-H 1.0 1.1 ++Composite: Helvetica-BoldOblique GothicBBB-Medium-EUC-H-Italic 1.0 1.1 ++ ++Composite: Courier-Oblique Ryumin-Light-EUC-H-Italic 1.0 1.1 ++Composite: Courier-Bold GothicBBB-Medium-EUC-H 1.0 1.1 ++Composite: Courier-BoldOblique GothicBBB-Medium-EUC-H-Italic 1.0 1.1 ++Composite: Times-Bold GothicBBB-Medium-EUC-H 1.0 1.1 ++ ++Vector: ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++space exclam quotedbl numbersign dollar percent ampersand quoteright ++parenleft parenright asterisk plus comma minus period slash ++zero one two three four five six seven ++eight nine colon semicolon less equal greater question ++at A B C D E F G ++H I J K L M N O ++P Q R S T U V W ++X Y Z bracketleft backslash bracketright asciicircum underscore ++quoteleft a b c d e f g ++h i j k l m n o ++p q r s t u v w ++x y z braceleft bar braceright asciitilde .notdef ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef ++space exclamdown cent sterling currency yen brokenbar section ++dieresis copyright ordfeminine guillemotleft logicalnot hyphen registered macron ++degree plusminus twosuperior threesuperior acute mu paragraph bullet ++cedilla onesuperior ordmasculine guillemotright onequarter onehalf threequarters questiondown ++Agrave Aacute Acircumflex Atilde Adieresis Aring AE Ccedilla ++Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex Idieresis ++Eth Ntilde Ograve Oacute Ocircumflex Otilde Odieresis multiply ++Oslash Ugrave Uacute Ucircumflex Udieresis Yacute Thorn germandbls ++agrave aacute acircumflex atilde adieresis aring ae ccedilla ++egrave eacute ecircumflex edieresis igrave iacute icircumflex idieresis ++eth ntilde ograve oacute ocircumflex otilde odieresis divide ++oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis +diff -up a2ps-4.14/encoding/Makefile.am.euc a2ps-4.14/encoding/Makefile.am +--- a2ps-4.14/encoding/Makefile.am.euc 2007-12-29 02:39:27.000000000 +0100 ++++ a2ps-4.14/encoding/Makefile.am 2008-04-27 10:39:24.000000000 +0200 +@@ -16,7 +16,7 @@ major_encodings = ascii.edf iso1.edf + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ + iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ +-iso15.edf koi8.edf ms-cp1251.edf ++iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf + + if EXTENSIONS + encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) +diff -up a2ps-4.14/encoding/Makefile.in.euc a2ps-4.14/encoding/Makefile.in +--- a2ps-4.14/encoding/Makefile.in.euc 2007-12-29 04:28:07.000000000 +0100 ++++ a2ps-4.14/encoding/Makefile.in 2008-04-27 10:39:24.000000000 +0200 +@@ -270,7 +270,7 @@ major_encodings = ascii.edf iso1.edf + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ + iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ +-iso15.edf koi8.edf ms-cp1251.edf ++iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf + + @EXTENSIONS_FALSE@encodings_DATA = encoding.map $(major_encodings) + @EXTENSIONS_TRUE@encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) +diff -up a2ps-4.14/lib/encoding.c.euc a2ps-4.14/lib/encoding.c +--- a2ps-4.14/lib/encoding.c.euc 2007-12-29 02:37:54.000000000 +0100 ++++ a2ps-4.14/lib/encoding.c 2008-04-27 10:39:24.000000000 +0200 +@@ -37,6 +37,9 @@ + #include "document.h" + #include "quotearg.h" + #include "strverscmp.h" ++#ifdef ENABLE_KANJI ++int use_jcode = false; ++#endif + + /* Suffix of the Encoding Description Files */ + #define EDF_SUFFIX ".edf" +@@ -389,15 +392,25 @@ font_entry_set_used (struct hash_table_s + * Association of suffixes rules, and corresponding style sheet + * (The hashing is upon `alias') + */ ++struct slantfont_info { ++ char * name; ++ char * src; ++ float raito; ++}; ++ + struct encoding { + char * key; /* e.g. latin1 */ + char * name; /* e.g. ISO Latin 1 */ ++ int composite_flag; /* flag for composite font */ + uchar * documentation; /* Useful pieces of text */ + + char * default_font; /* When a font can't be used + define the font to use */ + struct pair_htable * substitutes; /* e.g. in latin2, don't use + * Courier, but Courier-Ogonki */ ++ struct pair_htable * composite; ++ ++ struct slantfont_info slantfont[NB_FACES]; + + char * vector[256]; /* Define the char set */ + struct darray * font_names_used; +@@ -407,6 +420,9 @@ struct encoding { + struct hash_table_s * fonts; /* Contains cells that are + * 1. name of font, 2. int wx[256] */ + unsigned int * faces_wx[NB_FACES]; ++ ++ unsigned int composite_wx[NB_FACES]; /* fixed length font width*/ ++ float composite_raito[NB_FACES]; /* size raito of additonal and orinal font */ + }; + + /* +@@ -423,9 +439,12 @@ encoding_new (const char * key) + res->name = NULL; + res->default_font = NULL; + res->documentation = NULL; ++ res->composite_flag = false; + + /* Vector will be set by setup */ + res->substitutes = pair_table_new (); ++ res->composite = pair_table_new (); ++ res->slantfont[0].name = NULL; + res->font_names_used = da_new ("List of font names", 10, + da_linear, 10, + (da_print_func_t) da_str_print, +@@ -471,6 +490,34 @@ encoding_add_font_substitute (struct enc + } + + /* ++ * Add a composite font in the current encoding ++ */ ++static void ++encoding_add_composite_font (struct encoding * encoding, ++ const char * orig, const char * subs, ++ int wx, float raito) ++{ ++ encoding->composite_flag = true; ++ pair_add2 (encoding->composite, orig, subs, wx, raito); ++} ++ ++/* ++ * Add a composite font in the current encoding ++ */ ++static void ++encoding_add_slant_font (struct encoding * encoding, ++ const char * new, const char * src, ++ float raito) ++{ ++ static num = 0; ++ encoding->slantfont[num].name = strdup(new); ++ encoding->slantfont[num].src = strdup(src); ++ encoding->slantfont[num].raito = raito; ++ encoding->slantfont[num+1].name = NULL; ++ num++; ++} ++ ++/* + * When FONT_NAME is used with ENCODING, return the + * real font name to use (e.g., in latin2, Courier-Ogonki + * should be returned when asked for Courier). +@@ -514,6 +561,77 @@ encoding_resolve_font_substitute (struct + } + + message (msg_enc, ++ (stderr, "In encoding %s, composite font for %s is resolved as %s\n", ++ encoding->key, font_name, res)); ++ return res; ++} ++ ++/* ++ * Get composite font size and raito ++ */ ++static int ++composite_font_info_get_wx(struct a2ps_job * job, ++ struct encoding * encoding, ++ const char * font_list) ++{ ++ int wx= -1; ++ char * font_list_copy; ++ char * font_name; ++ astrcpy (font_list_copy, font_list); ++ font_name = strtok (font_list_copy, ",<>;"); ++ ++ wx = pair_get_wx (encoding->composite, font_name); ++ if (wx<0) ++ wx = pair_get_wx (encoding->composite, "default_composite__"); ++ ++ return wx; ++} ++ ++static float ++composite_font_info_get_raito(struct a2ps_job * job, ++ struct encoding * encoding, ++ const char * font_list) ++{ ++ float raito= -1; ++ char * font_list_copy; ++ char * font_name; ++ ++ astrcpy (font_list_copy, font_list); ++ font_name = strtok (font_list_copy, ",<>;"); ++ ++ raito = pair_get_raito (encoding->composite, font_name); ++ if (raito<0) ++ raito = pair_get_raito (encoding->composite, "default_composite__"); ++ return raito; ++} ++ ++const char * ++encoding_resolve_composite_font (struct a2ps_job * job, ++ struct encoding * encoding, ++ const char * font_list) ++{ ++ const char * res = NULL; ++ char * font_list_copy; ++ char * font_name; ++ ++ astrcpy (font_list_copy, font_list); ++ font_name = strtok (font_list_copy, ",<>;"); ++ ++ /* Find if there is a substitute for that font */ ++ res = pair_get (encoding->composite, font_name); ++ ++ /* We've found nothing interesting. Last chance is the default ++ * font */ ++ if (!res) ++ { ++ res = pair_get (encoding->composite, "default_composite__"); ++ ++ if (!res) ++ error (1, 0, "Cannot find font %s, nor any composite font", ++ font_name); ++ } ++ ++ message (msg_enc, + (stderr, "In encoding %s, font %s is resolved as %s\n", + encoding->key, font_name, res)); + return res; +@@ -585,6 +703,12 @@ load_encoding_description_file (a2ps_job + { + token2 = GET_TOKEN (NULL); + CHECK_TOKEN (); ++#ifdef ENABLE_KANJI ++ if( strcmp(token2, "EUC-JP")== 0) ++ use_jcode = true; ++ else ++ use_jcode = false; ++#endif + encoding->name = xstrdup (token2); + } + else if (strequ (token, "Default:")) +@@ -633,6 +757,66 @@ load_encoding_description_file (a2ps_job + subs = token2; + encoding_add_font_substitute (encoding, orig, subs); + } ++ else if (strequ (token, "DefaultComposite:")) ++ { ++ char * orig, * subs; ++ int wx; ++ float raito; ++ ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ subs = token2; ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ wx = (int)atof(token2)*1000; ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ raito = atof(token2); ++ encoding_add_composite_font(encoding, "default_composite__", ++ subs, wx, raito); ++ } ++ else if (strequ (token, "Composite:")) ++ { ++ char * orig, * subs; ++ int wx; ++ float raito; ++ ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ orig = token2; ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ subs = token2; ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ wx = (int)atof(token2)*1000; ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ raito = atof(token2); ++ encoding_add_composite_font(encoding, orig, subs, wx, raito); ++ } ++ else if (strequ (token, "SlantFont:")) ++ { ++ char * new, * src; ++ float raito; ++ unsigned int num; ++ ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ new = token2; ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ src = token2; ++ token2 = GET_TOKEN (NULL); ++ CHECK_TOKEN (); ++ raito = atof(token2); ++ for (num = 0 ; encoding->slantfont[num].name ; num ++ ); ++ if (num > sizeof encoding->slantfont - 1){ ++ error_at_line (1, 0, fname, firstline, ++ _("too many slant font: `%s'"), new); ++ } ++ encoding_add_slant_font(encoding, new, src, raito); ++ } + else + error_at_line (1, 0, fname, firstline, + _("invalid option `%s'"), quotearg (token)); +@@ -754,6 +938,15 @@ encoding_char_exists (struct encoding * + } + + /* ++ * Return the flag of composite flag ++ */ ++int ++encoding_get_composite_flag (struct encoding * enc) ++{ ++ return enc->composite_flag; ++} ++ ++/* + * Prepare the environment (a dictionary) for the support + * of ENCODING, dump it into STREAM. + * +@@ -766,9 +959,11 @@ dump_encoding_setup (FILE * stream, + struct encoding * encoding) + { + size_t i, nb; ++ size_t ns; + const char * real_font_name; /* After subsitution */ + char ** font_names = (char **) encoding->font_names_used->content; + ++ + /* How many fonts are there? */ + da_qsort (encoding->font_names_used); + da_unique (encoding->font_names_used, (da_map_func_t) free); +@@ -787,15 +982,46 @@ dump_encoding_setup (FILE * stream, + * in the current ENCODING */ + nb = encoding->font_names_used->len; + ++ /* The number of slant fonts */ ++ for (i= 0, ns=0 ; encoding->slantfont[i].name ; i++ ) ++ ns++; ++ + /* Create the dictionary and fill it */ + fprintf (stream, "%% Dictionary for %s support\n", + encoding->name); +- fprintf (stream, "/%sdict %d dict begin\n", encoding->key, nb); ++ fprintf (stream, "/%sdict %d dict begin\n", encoding->key, ++ (encoding->composite_flag == true)? nb+nb+ns:nb+ns); + for (i = 0 ; i < nb ; i++) + fprintf (stream, " /f%s %sEncoding /%s reencode_font\n", + font_names [i], + encoding->name, + encoding_resolve_font_substitute (job, encoding, font_names [i])); ++ ++ /* Slant font setting */ ++ for (i = 0 ; encoding->slantfont[i].name ; i++ ) ++ fprintf (stream, " /%s /%s %f slantfont definefont pop\n", ++ encoding->slantfont[i].name, ++ encoding->slantfont[i].src, ++ encoding->slantfont[i].raito); ++ ++ /* ++ * Composite font setting. ++ * If kanji font size is larger than alphabet character, ++ * set base font size to kanji charactor size. ++ */ ++ if (encoding->composite_flag == true) { ++ for (i = 0 ; i < nb ; i++) ++ fprintf (stream, " /f%s /f%s /%s %f %f false compositefont " ++ "%f scalefont def\n", ++ font_names [i], ++ font_names [i], ++ encoding_resolve_composite_font (job, encoding, font_names [i]), ++ encoding->composite_raito[i], ++ (encoding->composite_raito[i] > 1.0)? ++ 0: (1-encoding->composite_raito[i])/2.0, ++ (encoding->composite_raito[i] > 1.0)? ++ 1.0/encoding->composite_raito[i]: 1.0 ); ++ } + fputs ("currentdict end def\n", stream); + } + +@@ -939,6 +1165,22 @@ encoding_build_faces_wx (a2ps_job * job, + true_font_name, + encoding->vector, + encoding->faces_wx [face]); ++ ++ if (encoding->composite_flag) ++ { ++ encoding->composite_raito[i] = ++ composite_font_info_get_raito(job, encoding, ++ job->face_eo_font [face]); ++ ++ encoding->composite_wx[i] = ++ composite_font_info_get_wx(job, encoding, ++ job->face_eo_font [face]); ++ ++ /* If kanji font size is larger than alphabet character, ++ fit kanji charactor size to base font size */ ++ if (encoding->composite_raito[i] < 1.0) ++ encoding->composite_wx[i] *= encoding->composite_raito[i]; ++ } + } + } + +@@ -1073,6 +1315,13 @@ char_WX (a2ps_job * job, uchar c) + return 0; /* For -Wall */ + } + ++unsigned int ++char_composite_WX (a2ps_job * job, uchar c) ++{ ++ return (job->encoding->composite_wx[job->status->face]/ ++ job->encoding->composite_raito[job->status->face]); ++} ++ + /* + * Returns the WX of a string (including M- and ^) + */ +diff -up a2ps-4.14/lib/encoding.h.euc a2ps-4.14/lib/encoding.h +--- a2ps-4.14/lib/encoding.h.euc 2007-12-29 02:58:17.000000000 +0100 ++++ a2ps-4.14/lib/encoding.h 2008-04-27 10:39:24.000000000 +0200 +@@ -43,6 +43,7 @@ struct a2ps_job; /* Declared in jobs.h w + */ + unsigned int char_WX PARAMS ((struct a2ps_job * job, uchar c)); + unsigned int string_WX PARAMS ((struct a2ps_job * job, uchar * string)); ++unsigned int char_composite_WX PARAMS ((struct a2ps_job * job, uchar c)); + + + /************************************************************************/ +@@ -56,6 +57,7 @@ void encoding_self_print PARAMS ((struct + FILE * stream)); + int encoding_char_exists PARAMS ((struct encoding * enc, + enum face_e face, uchar c)); ++int encoding_get_composite_flag (struct encoding * enc); + struct encoding * + get_encoding_by_alias PARAMS ((struct a2ps_job * job, + char *string)); +@@ -71,6 +73,12 @@ const char * encoding_resolve_font_subst + struct encoding * encoding, + const char * font_name)); + ++ ++const char * encoding_resolve_composite_font ++ PARAMS ((struct a2ps_job * job, ++ struct encoding * encoding, ++ const char * font_name)); ++ + /* + * Have a struct encoding determine the faces_wx + */ +diff -up a2ps-4.14/lib/pair_ht.c.euc a2ps-4.14/lib/pair_ht.c +--- a2ps-4.14/lib/pair_ht.c.euc 2007-12-29 02:58:21.000000000 +0100 ++++ a2ps-4.14/lib/pair_ht.c 2008-04-27 10:39:24.000000000 +0200 +@@ -49,6 +49,8 @@ struct pair + { + char * key; + char * value; ++ float raito; ++ int wx; + }; + + /* +@@ -165,6 +167,37 @@ pair_add (struct hash_table_s * table, + } + + /* ++ * Add a pair, with your own allocation for them. ++ * It KEY is yet used, override its value with VALUE ++ */ ++void ++pair_add2 (struct hash_table_s * table, ++ const char * key, const char * value, int wx, float raito) ++{ ++ struct pair * item, token; ++ ++ token.key = (char *) key; ++ item = (struct pair *) hash_find_item (table, &token); ++ ++ if (item) { ++ if (item->value) ++ free (item->value); ++ } else { ++ item = XMALLOC (struct pair, 1); ++ item->key = xstrdup(key); ++ item->wx = wx; ++ item->raito = raito; ++ } ++ ++ if (value) ++ item->value = xstrdup (value); ++ else ++ item->value = NULL; ++ ++ hash_insert (table, item); ++} ++ ++/* + * Remove a pair and free it. + * It KEY is yet used, override its value with VALUE + */ +@@ -201,6 +234,34 @@ pair_get (struct hash_table_s * table, c + return NULL; + } + ++int ++pair_get_wx (struct hash_table_s * table, const char * key) ++{ ++ struct pair * item, token; ++ ++ token.key = (char *) key; ++ item = (struct pair *) hash_find_item (table, &token); ++ ++ if (item) ++ return item->wx; ++ else ++ return -1; ++} ++ ++float ++pair_get_raito (struct hash_table_s * table, const char * key) ++{ ++ struct pair * item, token; ++ ++ token.key = (char *) key; ++ item = (struct pair *) hash_find_item (table, &token); ++ ++ if (item) ++ return item->raito; ++ else ++ return -1; ++} ++ + /* + * Return the content of the hash table, ordered + */ +diff -up a2ps-4.14/lib/pair_ht.h.euc a2ps-4.14/lib/pair_ht.h +--- a2ps-4.14/lib/pair_ht.h.euc 2007-12-29 02:58:21.000000000 +0100 ++++ a2ps-4.14/lib/pair_ht.h 2008-04-27 10:39:24.000000000 +0200 +@@ -56,6 +56,10 @@ void pair_table_free PARAMS ((struct pai + void pair_add PARAMS ((struct pair_htable * table, + const char * key, const char * value)); + ++void pair_add2 PARAMS ((struct pair_htable * table, ++ const char * key, const char * value, ++ int wx, float raito)); ++ + /* + * The key and value of the matching item will be free'd + * (No problem if KEY matches nothing) +@@ -68,6 +72,10 @@ void pair_delete PARAMS ((struct pair_ht + */ + char * pair_get PARAMS ((struct pair_htable * table, + const char * key)); ++int pair_get_wx PARAMS ((struct pair_htable * table, ++ const char * key)); ++float pair_get_raito PARAMS ((struct pair_htable * table, ++ const char * key)); + + void pair_table_list_short PARAMS ((struct pair_htable * table, + FILE * stream)); +diff -up a2ps-4.14/lib/psgen.c.euc a2ps-4.14/lib/psgen.c +--- a2ps-4.14/lib/psgen.c.euc 2007-12-29 02:58:22.000000000 +0100 ++++ a2ps-4.14/lib/psgen.c 2008-04-27 10:39:24.000000000 +0200 +@@ -875,6 +875,7 @@ ps_print_char (a2ps_job * job, int c, en + print: + default: + { ++ static mb_flag= 0; + uchar buf[256]; + int nchars; + *buf = '\0'; +@@ -889,6 +890,29 @@ ps_print_char (a2ps_job * job, int c, en + job->status->face_declared = false; + } + ++ if (c > 127 && encoding_get_composite_flag (job->encoding) && ++ job->status->face != Symbol) { ++ if (mb_flag) { ++ nchars = ps_escape_char (job, mb_flag, buf) + ++ ps_escape_char (job, c, buf); ++ job->status->wx += char_composite_WX(job, c); ++ job->status->column += nchars; ++ if (line_full) { ++ if (job->folding) { ++ fold_line (job, new_face); ++ job->status->column = nchars*2; ++ job->status->wx = char_composite_WX(job, c); ++ } else { ++ job->status->is_in_cut = true; ++ return; ++ } ++ } ++ mb_flag = 0; ++ } else { ++ mb_flag = c; ++ return; ++ } ++ } else { + nchars = ps_escape_char (job, c, buf); + job->status->wx += char_WX (job, c); + job->status->column += nchars; +@@ -902,8 +926,9 @@ ps_print_char (a2ps_job * job, int c, en + return; + } + } ++ } + output (jdiv, "%s", buf); +- job->status->chars++; ++ job->status->chars+=nchars; + } + break; + } +diff -up a2ps-4.14/ps/base.ps.euc a2ps-4.14/ps/base.ps +--- a2ps-4.14/ps/base.ps.euc 2007-12-29 02:58:26.000000000 +0100 ++++ a2ps-4.14/ps/base.ps 2008-04-27 10:39:24.000000000 +0200 +@@ -153,7 +153,11 @@ + % Return the y size of the current font + % - => fontsize + /currentfontsize { +- currentfont /FontMatrix get 3 get 1000 mul ++ currentfont /FontType get 0 eq { ++ currentfont /FontMatrix get 3 get ++ }{ ++ currentfont /FontMatrix get 3 get 1000 mul ++ } ifelse + } bind def + + % reencode the font +@@ -200,6 +204,144 @@ + end + } bind def + ++% composite fonts for ASCII-EUC mixed string ++% Version 1.2 1/31/1990 ++% Orignal Ken'ichi HANDA (handa@etl.go.jp) ++% Modified Norio Katayama (katayama@rd.nacsis.ac.jp),1998 ++% Extend & Fix Koji Nakamaru (maru@on.cs.keio.ac.jp), 1999 ++% Anyone can freely copy, modify, distribute this program. ++ ++/copyfont { % font-dic extra-entry-count copyfont font-dic ++ 1 index maxlength add dict begin ++ { 1 index /FID ne 2 index /UniqueID ne and ++ {def} {pop pop} ifelse ++ } forall ++ currentdict ++ end ++} bind def ++ ++/compositefont { % ASCIIFontName EUCFontName RomanScale RomanOffset Rot(T/F) compositefont font ++ /RomanRotation exch def ++ /RomanOffset exch def ++ /RomanScale exch def ++ userdict /fixeucfont_dict known not { ++ userdict begin ++ /fixeucfont_dict 2 dict begin ++ /UpperByteEncoding [ ++ 16#00 1 16#20 { pop 0 } for ++ 16#21 1 16#28 { 16#20 sub } for ++ 16#29 1 16#2F { pop 0 } for ++ 16#30 1 16#74 { 16#27 sub } for ++ 16#75 1 16#FF { pop 0 } for ++ ] def ++ /LowerByteEncoding [ ++ 16#00 1 16#A0 { pop /.notdef } for ++ 16#A1 1 16#FE { 16#80 sub 16 2 string cvrs ++ (cXX) dup 1 4 -1 roll ++ putinterval cvn } for ++ /.notdef ++ ] def ++ currentdict ++ end def ++ end ++ } if ++ findfont dup /FontType get 0 eq { ++ 14 dict begin ++ % ++ % 7+8 bit EUC font ++ % ++ 12 dict begin ++ /EUCFont exch def ++ /FontInfo (7+8 bit EUC font) readonly def ++ /PaintType 0 def ++ /FontType 0 def ++ /FontMatrix matrix def ++ % /FontName ++ /Encoding fixeucfont_dict /UpperByteEncoding get def ++ /FMapType 2 def ++ EUCFont /WMode known ++ { EUCFont /WMode get /WMode exch def } ++ { /WMode 0 def } ifelse ++ /FDepVector [ ++ EUCFont /FDepVector get 0 get ++ [ 16#21 1 16#28 {} for 16#30 1 16#74 {} for ] ++ { ++ 13 dict begin ++ /EUCFont EUCFont def ++ /UpperByte exch 16#80 add def ++ % /FontName ++ /FontInfo (EUC lower byte font) readonly def ++ /PaintType 0 def ++ /FontType 3 def ++ /FontMatrix matrix def ++ /FontBBox {0 0 0 0} def ++ /Encoding ++ fixeucfont_dict /LowerByteEncoding get def ++ % /UniqueID ++ % /WMode ++ /BuildChar { ++ gsave ++ exch dup /EUCFont get setfont ++ /UpperByte get ++ 2 string ++ dup 0 4 -1 roll put ++ dup 1 4 -1 roll put ++ dup stringwidth setcharwidth ++ 0 0 moveto show ++ grestore ++ } bind def ++ currentdict ++ end ++ /lowerbytefont exch definefont ++ } forall ++ ] def ++ currentdict ++ end ++ /eucfont exch definefont ++ exch ++ findfont 1 copyfont dup begin ++ RomanRotation { ++ /FontMatrix FontMatrix ++ [ 0 RomanScale neg RomanScale 0 RomanOffset neg 0 ] ++ matrix concatmatrix def ++ }{ ++ /FontMatrix FontMatrix ++ [ RomanScale 0 0 RomanScale 0 RomanOffset ] matrix concatmatrix ++ def ++ /CDevProc ++ {pop pop pop pop 0 exch -1000 exch 2 div 880} def ++ } ifelse ++ end ++ /asciifont exch definefont ++ exch ++ /FDepVector [ 4 2 roll ] def ++ /FontType 0 def ++ /WMode 0 def ++ /FMapType 4 def ++ /FontMatrix matrix def ++ /Encoding [0 1] def ++ /FontBBox {0 0 0 0} def ++% /FontHeight 1.0 def % XXXX ++ /FontHeight RomanScale 1.0 ge { RomanScale }{ 1.0 } ifelse def ++ /Descent -0.3 def % XXXX ++ currentdict ++ end ++ /tmpfont exch definefont ++ pop ++ /tmpfont findfont ++ }{ ++ pop findfont 0 copyfont ++ } ifelse ++} def ++ ++/slantfont { % FontName slant-degree slantfont font' ++ exch findfont 1 copyfont begin ++ [ 1 0 4 -1 roll 1 0 0 ] FontMatrix exch matrix concatmatrix ++ /FontMatrix exch def ++ currentdict ++ end ++} def ++ + % Function print line number ( # -) + /# { + gsave +diff -up /dev/null a2ps-4.14/README.eucJP +--- /dev/null 2008-04-27 11:55:27.307012118 +0200 ++++ a2ps-4.14/README.eucJP 2008-04-27 10:39:24.000000000 +0200 +@@ -0,0 +1,100 @@ ++a2ps euc-jp kanji supported patch: ++by SATO Satoru ++ ++These patches enables a2ps to support the files written in EUC-JP (and other ++Japanese encodings). I only arranged patches created by FURUKAWA Yasuyuki, ++KATAYAMA Yukio, and replaced libjcode by customized jcode.[ch] (by KITAME ++Takuo). ++ ++Notes from the orginal patch by FURUKAWA Yukihiro is follows. ++(sorry, it is written in japanese only): ++ ++a2ps 4.12で漢字を印刷するためのパッチ ++ 慶應大学大学院 ++ 古川 泰之 ++ ++composite font を使って漢字を表示するためのパッチです。 ++composite fontには、片山 紀夫さん(はじめて日本語ghostscriptを作成した ++人)のfixeucfont をベースにa2ps用に多少手をいれております。これを利用す ++ることで、2バイトEUC+ASCIIの文字列のPostscriptの扱いがぐっと簡単にな ++ります。 ++ ++●Compositeフォントの設定方法について ++最低限の設定はパッチに含まれていますので、とりあえず大丈夫だとは思いま ++す。一応メモしておきます。 ++ ++encodingファイル($prefix/share/a2ps/encoding/の下のファイル)には ++『Composite:』および、『DefaultComposite:』が新たに指定できます。たと ++えば、英語フォントに対応するEUCエンコーディングの日本語フォントを書い ++て行きます。また、この際、フォント幅と半角と漢字の比も指定しなくてはな ++りません。手抜きによって、漢字は固定幅フォントしか指定してはいけません。 ++ ++-------------------------------------------------- ++# 日本語フォント フォン横幅 半角と漢字の比 ++DefaultComposite: Ryumin-Light-EUC-H 1 1.1 ++# 英語フォント 日本語フォント フォン横幅 半角と漢字の比 ++Composite: Helvetica GothicBBB-Medium-EUC-H 1 1.1 ++-------------------------------------------------- ++ ++また、これだと斜体漢字がなく、さみしいので、SlantFontを使い、斜体の漢 ++字フォントも作成できます。 ++ ++-------------------------------------------------- ++# 新規斜体日本語フォント名 ソース日本語フォント 傾き度 ++SlantFont: Ryumin-Light-EUC-H-Italic Ryumin-Light-EUC-H 0.2 ++-------------------------------------------------- ++ ++SlantFontで生成した斜体フォントはCompositeフォント(第2引数)で利用でき ++ます。 ++ ++●このパッチの詳細データ ++ ・残念ながら2バイトEUCコードを前提としたコーディングをしています。 ++ そのため、あまり漢字以外の言語を考えておりません…。 ++ ・倉光 君郎氏のlibjcodeを使って内部で入力ファイルの漢字エンコーディ ++ ングをすべてEUCに変換して処理するようにしています。ただし、オリジ ++ ナルのlibjcodeは、SJISおよびEUCの判定が甘かったので多少カスタムし ++ ております。 ++ ・また、texのdelegate(contrib/texi2dvi4a2ps)中、TeXドライバにはpTeX ++ と決めうちしています。これがいやなら、例えばNTT-jTeXを使用したい場 ++ 合、環境変数TEXに『jtex』を、LATEXには『jlatex』を指定してください。 ++ ・compositefontをa2ps用に多少カスタマイズしていますが、フォントの高 ++ さなどの情報を完全に固定で決め打ちしている箇所があります(XXXでメモ ++ しています)。そのためあまり応用性が低いと思います。 ++ ++●半角を全角の1/2の大きさにしたい ++パッチデフォルトでは全角文字と半角文字の大きさのバランスは、見た感じが ++(個人的なセンスで)安定するようにチューニングしています。もし、テキスト ++で表を作成していて、そのため、半角文字を全角のちょうど半分にそろえたい ++という場合の対処方法を書いておきます。 ++ ++インストール後、$prefix/share/a2ps/encoding/euc-jp中に、 ++ ++-------------------------------------------------- ++DefaultComposite: Ryumin-Light-EUC-H 1.0 1.1 ++-------------------------------------------------- ++ ++というのがあると思います。最後の『1.1』を『0.8342』あたりに変更して下 ++さい。ノーマル固定文字に関してはこれで望みの結果が得られると思います。 ++ ++他の太字フォントなども、例えば ++ ++-------------------------------------------------- ++Composite: Courier-Bold GothicBBB-Medium-EUC-H 1.0 0.8342 ++-------------------------------------------------- ++ ++のように変更すればいいと思います。なお、Courierがつかないフォント ++(Helvetica等)はもともとプロポーショナルフォントなので、固定幅にはでき ++ません。 ++ ++ ++ ++●再配布について ++なんだかんだいって、このパッチは、 ++ ++倉光 君郎さんのlibjcode + 片山 紀夫さんのfixeucfont ++ ++を組み合わてできたもので私自身のコードは実はほとんどありません…。 ++ ++私自身のコードは再配付/改造に関してなんら制限を設けるつもりはありませ ++ん。ただし、私以外のコードの方が多いため、一応それだけは御了承お願い致 ++します。 +diff -up a2ps-4.14/src/buffer.c.euc a2ps-4.14/src/buffer.c +--- a2ps-4.14/src/buffer.c.euc 2007-12-29 02:58:34.000000000 +0100 ++++ a2ps-4.14/src/buffer.c 2008-04-27 10:39:24.000000000 +0200 +@@ -41,6 +41,21 @@ + #include "argmatch.h" + #include "buffer.h" + #include ++ ++#ifdef HAVE_CONFIG_H ++# include ++#endif ++ ++#ifdef ENABLE_KANJI ++# include ++# include ++# include ++# include ++# include ++# include ++extern use_jcode; ++#endif ++ + + /****************************************************************/ + /* Handling of the various eol styles */ +@@ -526,3 +541,278 @@ buffer_test (const char *filename) + buffer_release (&buffer); + } + #endif ++ ++/** ++ * from jcode.c by Takuo KITAME ++ */ ++#ifdef ENABLE_KANJI ++ ++enum { ++ JCODE_ASCII, ++ JCODE_EUC, ++ JCODE_JIS, ++ JCODE_SJIS, ++ EUCORSJIS }; ++ ++#define ESC 0x1b ++#define SS2 0x8e ++ ++#define JCODE_LOCALE_EUC "ja", "ja_JP", "ja_JP.ujis", "ja_JP.EUC", "ja_JP.eucJP" ++#define JCODE_LOCALE_JIS "ja_JP.JIS", "ja_JP.jis", "ja_JP.iso-2022-jp" ++#define JCODE_LOCALE_SJIS "ja_JP.SJIS", "ja_JP.sjis" ++ ++/****************************************************************************/ ++/* Japanese string code detector */ ++/****************************************************************************/ ++int ++detect_kanji(unsigned char *str) ++{ ++ int expected = JCODE_ASCII; ++ register int c; ++ int c1, c2; ++ int euc_c = 0, sjis_c = 0; ++ unsigned char *ptr = str; ++ ++ while((c = (int)*ptr)!= '\0') { ++ if(c == ESC) { ++ if((c = (int)*(++ptr)) == '\0') ++ break; ++ if(c == '$') { ++ if((c = (int)*(++ptr)) == '\0') ++ break; ++ if(c == 'B' || c == '@') ++ return JCODE_JIS; ++ } ++ ptr++; ++ continue; ++ } ++ if((c >= 0x81 && c <= 0x8d) || (c >= 0x8f && c <= 0x9f)) ++ return JCODE_SJIS; ++ ++ if(c == SS2) { ++ if((c = (int)*(++ptr)) == '\0') ++ break; ++ if((c >= 0x40 && c <= 0x7e) || ++ (c >= 0x80 && c <= 0xa0) || ++ (c >= 0xe0 && c <= 0xfc)) ++ return JCODE_SJIS; ++ if(c >= 0xa1 && c <= 0xdf) ++ break; ++ ++ ptr++; ++ continue; ++ } ++ if(c >= 0xa1 && c <= 0xdf) { ++ if((c = (int)*(++ptr)) == '\0') ++ break; ++ ++ if (c >= 0xe0 && c <= 0xfe) ++ return JCODE_EUC; ++ if (c >= 0xa1 && c <= 0xdf) { ++ expected = EUCORSJIS; ++ ptr++; ++ continue; ++ } ++#if 1 ++ if(c == 0xa0 || (0xe0 <= c && c <= 0xfe)) ++ return JCODE_EUC; ++ else { ++ expected = EUCORSJIS; ++ ptr++; ++ continue; ++ } ++#else ++ if(c <= 0x9f) ++ return JCODE_SJIS; ++ if(c >= 0xf0 && c <= 0xfe) ++ return JCODE_EUC; ++#endif ++ ++ if(c >= 0xe0 && c <= 0xef) { ++ expected = EUCORSJIS; ++ while(c >= 0x40) { ++ if(c >= 0x81) { ++ if(c <= 0x8d || (c >= 0x8f && c <= 0x9f)) ++ return JCODE_SJIS; ++ else if(c >= 0xfd && c <= 0xfe) { ++ return JCODE_EUC; ++ } ++ } ++ if((c = (int)*(++ptr)) == '\0') ++ break; ++ } ++ ptr++; ++ continue; ++ } ++ ++ if(c >= 0xe0 && c <= 0xef) { ++ if((c = (int)*(++ptr)) == '\0') ++ break; ++ if((c >= 0x40 && c <= 0x7e) || (c >= 0x80 && c <= 0xa0)) ++ return JCODE_SJIS; ++ if(c >= 0xfd && c <= 0xfe) ++ return JCODE_EUC; ++ if(c >= 0xa1 && c <= 0xfc) ++ expected = EUCORSJIS; ++ } ++ } ++#if 1 ++ if (0xf0 <= c && c <= 0xfe) ++ return JCODE_EUC; ++#endif ++ ptr++; ++ } ++ ++ ptr = str; ++ c2 = 0; ++ while((c1 = (int)*ptr++) != '\0') { ++ if(((c2 > 0x80 && c2 < 0xa0) || (c2 >= 0xe0 && c2 < 0xfd)) && ++ ((c1 >= 0x40 && c1 < 0x7f) || (c1 >= 0x80 && c1 < 0xfd))) ++ sjis_c++, c1 = *ptr++; ++ c2 = c1; ++ } ++ if(sjis_c == 0) ++ expected = JCODE_EUC; ++ else { ++ ptr = str, c2 = 0; ++ while((c1 = (int)*ptr++) != '\0') { ++ if((c2 > 0xa0 && c2 < 0xff) && ++ (c1 > 0xa0 && c1 < 0xff)) ++ euc_c++, c1 = *ptr++; ++ c2 = c1; ++ } ++ if(sjis_c > euc_c) ++ expected = JCODE_SJIS; ++ else ++ expected = JCODE_EUC; ++ } ++ return expected; ++} ++ ++int ++int_detect_JCode(char *str) ++{ ++ int detected; ++ ++ if(!str) ++ return 0; ++ ++ detected = detect_kanji((unsigned char *)str); ++ ++ if(detected == JCODE_ASCII) ++ return JCODE_ASCII; ++ ++ switch(detected) { ++ case JCODE_EUC: ++ return JCODE_EUC; ++ break; ++ case JCODE_JIS: ++ return JCODE_JIS; ++ break; ++ case JCODE_SJIS: ++ return JCODE_SJIS; ++ break; ++ default: ++ return JCODE_ASCII; ++ break; ++ } ++ ++ /* not reached */ ++ return 0; ++} ++ ++const char * ++detect_JCode(char *str) ++{ ++ int detected; ++ ++ if(!str) ++ return NULL; ++ ++ detected = detect_kanji((unsigned char *)str); ++ ++ if(detected == JCODE_ASCII) ++ return "ASCII"; ++ ++ switch(detected) { ++ case JCODE_EUC: ++ return "EUC-JP"; ++ break; ++ case JCODE_JIS: ++ return "ISO-2022-JP"; ++ break; ++ case JCODE_SJIS: ++ return "SJIS"; ++ break; ++ default: ++ return "ASCII"; ++ break; ++ } ++ ++ /* not reached */ ++ return 0; ++} ++ ++char * ++kanji_conv_auto(char *str, const char *dstset) ++{ ++ unsigned char *buf, *ret; ++ iconv_t cd; ++ size_t insize = 0; ++ size_t outsize = 0; ++ size_t nconv = 0; ++ char *inptr; ++ char *outptr; ++ char srcset[16]; ++ ++ if(!str) ++ return NULL; ++ ++ switch (int_detect_JCode(str)) { ++ case JCODE_EUC: ++ strcpy(srcset, "EUC-JP"); ++ break; ++ case JCODE_JIS: ++ strcpy(srcset, "ISO-2022-JP"); ++ break; ++ case JCODE_SJIS: ++ strcpy(srcset, "SJIS"); ++ break; ++ default: ++ return strdup(str); ++ break; ++ } ++ ++ buf = (unsigned char *)malloc(strlen(str)* 4 + 1); ++ if(!buf) ++ return NULL; ++ ++ insize = strlen(str); ++ inptr = str; ++ outsize = strlen(str) * 4 ; ++ outptr = buf; ++ ++ cd = iconv_open(dstset, srcset); ++ if(cd == (iconv_t) -1) { ++ if(errno == EINVAL) ++ return strdup(str); ++ } ++ ++ nconv = iconv(cd, (const char **)&inptr, &insize, &outptr, &outsize); ++ if(nconv == (size_t) -1) { ++ if (errno == EINVAL) ++ memmove (buf, inptr, insize); ++ } else ++ iconv(cd, NULL, NULL, &outptr, &outsize); ++ ++ *outptr = '\0'; ++ iconv_close(cd); ++ ++ ret = strdup(buf); ++ free(buf); ++ ++ return ret; ++} ++ ++#endif ++ +diff -up a2ps-4.14/src/buffer.h.euc a2ps-4.14/src/buffer.h +--- a2ps-4.14/src/buffer.h.euc 2007-12-29 02:58:35.000000000 +0100 ++++ a2ps-4.14/src/buffer.h 2008-04-27 10:39:24.000000000 +0200 +@@ -104,4 +104,15 @@ void buffer_sample_get PARAMS ((buffer_t + void buffer_save PARAMS ((buffer_t * buffer, const char * filename)); + + #define buffer_is_empty(Buf) (Buf->curr >= Buf->len) ++ ++ ++/** ++ * from jcode.h by Takuo KITAME ++ */ ++ ++char *kanji_conv_auto(char *str, const char *dstset); ++ ++const char *detect_JCode(char *str); ++int int_detect_JCode(char *str); ++ + #endif +diff -up a2ps-4.14/src/Makefile.am.euc a2ps-4.14/src/Makefile.am +--- a2ps-4.14/src/Makefile.am.euc 2007-12-29 02:36:09.000000000 +0100 ++++ a2ps-4.14/src/Makefile.am 2008-04-27 10:39:24.000000000 +0200 +@@ -33,13 +33,13 @@ DEFS = @DEFS@ -DLOCALEDIR=\"$(datadir)/l + a2ps_SOURCES = main.c \ + read.c sshread.c ssheet.c select.c generate.c \ + delegate.c regex.c buffer.c versions.c ffaces.c \ +-version-etc.c long-options.c \ ++version-etc.c long-options.c jcode.c \ + parsessh.y lexssh.l lexps.l sheets-map.l + + noinst_HEADERS = main.h \ + read.h sshread.h ssheet.h select.h generate.h \ + delegate.h regex.h buffer.h versions.h ffaces.h \ +-version-etc.h long-options.h \ ++version-etc.h long-options.h jcode.h \ + yy2ssh.h lexps.h + + BUILT_SOURCES = parsessh.c parsessh.h diff --git a/a2ps-4.13-euckr.patch b/a2ps-4.13-euckr.patch index 639ab77..40df372 100644 --- a/a2ps-4.13-euckr.patch +++ b/a2ps-4.13-euckr.patch @@ -1,27 +1,22 @@ ---- a2ps-4.13/encoding/Makefile.am.orig 2003-01-09 17:45:41.000000000 +0900 -+++ a2ps-4.13/encoding/Makefile.am 2003-01-09 17:45:50.000000000 +0900 -@@ -16,7 +16,7 @@ - minor_encodings = \ - ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ - iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf euc-jp.edf -+iso15.edf koi8.edf euc-jp.edf euc-kr.edf +diff -up a2ps-4.14/encoding/encoding.map.euckr a2ps-4.14/encoding/encoding.map +--- a2ps-4.14/encoding/encoding.map.euckr 2008-04-27 01:46:59.000000000 +0200 ++++ a2ps-4.14/encoding/encoding.map 2008-04-27 01:46:59.000000000 +0200 +@@ -100,6 +100,12 @@ japanese euc-jp + ja euc-jp + jp euc-jp - if EXTENSIONS - encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) ---- a2ps-4.13/encoding/Makefile.in.orig 2003-01-09 17:46:09.000000000 +0900 -+++ a2ps-4.13/encoding/Makefile.in 2003-01-09 17:46:14.000000000 +0900 -@@ -141,7 +141,7 @@ - minor_encodings = \ - ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ - iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf euc-jp.edf -+iso15.edf koi8.edf euc-jp.edf euc-kr.edf - - @EXTENSIONS_TRUE@encodings_DATA = @EXTENSIONS_TRUE@encoding.map $(major_encodings) $(minor_encodings) - @EXTENSIONS_FALSE@encodings_DATA = @EXTENSIONS_FALSE@encoding.map $(major_encodings) ---- a2ps-4.13/encoding/euc-kr.edf.orig 2003-01-09 17:46:22.000000000 +0900 -+++ a2ps-4.13/encoding/euc-kr.edf 2003-01-09 17:47:34.000000000 +0900 ++euc-kr euc-kr ++euc-kr euc-kr ++korean euc-kr ++ko euc-kr ++kr euc-kr ++ + ######################################################################## + # Some architectures specific char sets + ######################################################################## +diff -up /dev/null a2ps-4.14/encoding/euc-kr.edf +--- /dev/null 2008-04-26 20:48:40.298012400 +0200 ++++ a2ps-4.14/encoding/euc-kr.edf 2008-04-27 01:46:59.000000000 +0200 @@ -0,0 +1,104 @@ +# Description of the EUC-KR encoding +# Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana @@ -127,18 +122,27 @@ +egrave eacute ecircumflex edieresis igrave iacute icircumflex idieresis +eth ntilde ograve oacute ocircumflex otilde odieresis divide +oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis ---- a2ps-4.13/encoding/encoding.map.orig 2003-01-09 17:46:50.000000000 +0900 -+++ a2ps-4.13/encoding/encoding.map 2003-01-09 17:46:57.000000000 +0900 -@@ -100,6 +100,12 @@ - ja euc-jp - jp euc-jp +diff -up a2ps-4.14/encoding/Makefile.am.euckr a2ps-4.14/encoding/Makefile.am +--- a2ps-4.14/encoding/Makefile.am.euckr 2008-04-27 01:46:59.000000000 +0200 ++++ a2ps-4.14/encoding/Makefile.am 2008-04-27 01:47:58.000000000 +0200 +@@ -16,7 +16,7 @@ major_encodings = ascii.edf iso1.edf + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ + iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ +-iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf ++iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf -+euc-kr euc-kr -+euc-kr euc-kr -+korean euc-kr -+ko euc-kr -+kr euc-kr -+ - ######################################################################## - # Some architectures specific char sets - ######################################################################## + if EXTENSIONS + encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) +diff -up a2ps-4.14/encoding/Makefile.in.euckr a2ps-4.14/encoding/Makefile.in +--- a2ps-4.14/encoding/Makefile.in.euckr 2008-04-27 01:46:59.000000000 +0200 ++++ a2ps-4.14/encoding/Makefile.in 2008-04-27 01:48:09.000000000 +0200 +@@ -270,7 +270,7 @@ major_encodings = ascii.edf iso1.edf + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ + iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ +-iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf ++iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf + + @EXTENSIONS_FALSE@encodings_DATA = encoding.map $(major_encodings) + @EXTENSIONS_TRUE@encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) diff --git a/a2ps-4.13-flex.patch b/a2ps-4.13-flex.patch deleted file mode 100644 index 26fcbf4..0000000 --- a/a2ps-4.13-flex.patch +++ /dev/null @@ -1,73 +0,0 @@ ---- a2ps-4.13/lib/Makefile.in.flex Wed Feb 9 09:33:01 2000 -+++ a2ps-4.13/lib/Makefile.in Thu Apr 27 19:00:20 2000 -@@ -100,7 +100,7 @@ - INTLDEPS = @INTLDEPS@ - INTLLIBS = @INTLLIBS@ - INTLOBJS = @INTLOBJS@ --LEX = @LEX@ -+LEX = @LEX@ -CFe - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ - LIBOBJS = @LIBOBJS@ - LIBTOOL = @LIBTOOL@ ---- a2ps-4.13/lib/fonts.l.flex Wed Dec 15 18:27:01 1999 -+++ a2ps-4.13/lib/fonts.l Thu Apr 27 19:00:20 2000 -@@ -178,7 +178,7 @@ - - %} - --%option yylineno -+/* %option yylineno */ - %option prefix="afm" - %option outfile="lex.yy.c" - -@@ -524,7 +524,7 @@ - const char * filename; - FILE * stream; - -- yylineno = 0; -+ /* yylineno = 0; */ - - /* Find its AFM file: first resolve its font file name */ - filename = fonts_map_resolve_alias (job->fonts_map, font->key); ---- a2ps-4.13/src/Makefile.in.flex Wed Feb 9 09:34:18 2000 -+++ a2ps-4.13/src/Makefile.in Thu Apr 27 19:00:20 2000 -@@ -100,7 +100,7 @@ - INTLDEPS = @INTLDEPS@ - INTLLIBS = @INTLLIBS@ - INTLOBJS = @INTLOBJS@ --LEX = @LEX@ -+LEX = @LEX@ -CFe - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ - LIBOBJS = @LIBOBJS@ - LIBTOOL = @LIBTOOL@ -@@ -154,7 +154,7 @@ - BUILT_SOURCES = parsessh.h - - YFLAGS = -dtv --LEX = @LEX@ -+LEX = @LEX@ -CFe - # I don't really understand why I have to put srcdir here, but - # it is needed for yacc and lex files (seems related to #line, but - # I really don't understand why)... ---- a2ps-4.13/src/lexps.l.flex Mon Feb 7 17:05:43 2000 -+++ a2ps-4.13/src/lexps.l Thu Apr 27 19:00:20 2000 -@@ -35,7 +35,7 @@ - void pslex_initialize PARAMS ((void)); - %} - --%option yylineno -+/* %option yylineno */ - %option prefix="ps" - %option outfile="lex.yy.c" - ---- a2ps-4.13/Makefile.in.flex Wed Feb 9 09:32:25 2000 -+++ a2ps-4.13/Makefile.in Thu Apr 27 19:00:20 2000 -@@ -100,7 +100,7 @@ - INTLDEPS = @INTLDEPS@ - INTLLIBS = @INTLLIBS@ - INTLOBJS = @INTLOBJS@ --LEX = @LEX@ -+LEX = @LEX@ -CFe - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ - LIBOBJS = @LIBOBJS@ - LIBTOOL = @LIBTOOL@ diff --git a/a2ps-4.13-hebrew.patch b/a2ps-4.13-hebrew.patch index 5d4a104..b8fbd6e 100644 --- a/a2ps-4.13-hebrew.patch +++ b/a2ps-4.13-hebrew.patch @@ -1,18 +1,19 @@ ---- a2ps-4.13/configure.hebrew 2004-01-09 15:29:44.000000000 +0200 -+++ a2ps-4.13/configure 2004-01-09 15:44:14.000000000 +0200 -@@ -8454,7 +8454,9 @@ - for ac_dir in /usr/share/fonts/default/Type1 \ - /usr/share/fonts/default/ghostscript \ - /usr/share/fonts/afms/adobe \ -- /usr/share/X11/fonts/Type1 ; -+ /usr/share/X11/fonts/Type1 \ -+ /usr/share/fonts/hebrew \ -+ /usr/share/fonts/he/Type1 ; - do - if test "cd $ac_dir 2>/dev/null && echo *.afm"; then - ac_psfont_path="$ac_psfont_path:$ac_dir"; ---- a2ps-4.13/encoding/iso8.edf.hebrew 2004-01-09 15:44:03.000000000 +0200 -+++ a2ps-4.13/encoding/iso8.edf 2004-01-09 15:44:03.000000000 +0200 +diff -up a2ps-4.14/encoding/encoding.map.hebrew a2ps-4.14/encoding/encoding.map +--- a2ps-4.14/encoding/encoding.map.hebrew 2008-04-27 01:50:14.000000000 +0200 ++++ a2ps-4.14/encoding/encoding.map 2008-04-27 01:50:14.000000000 +0200 +@@ -65,6 +65,9 @@ iso-8859-5 iso5 + iso7 iso7 + iso-8859-7 iso7 + ++iso8 iso8 ++iso-8859-8 iso8 ++ + # The following lines _are_not_an_error_. + # This is the right correspondance between ISO-8859 names + # and the Latin n nick name. +diff -up /dev/null a2ps-4.14/encoding/iso8.edf +--- /dev/null 2008-04-26 20:48:40.298012400 +0200 ++++ a2ps-4.14/encoding/iso8.edf 2008-04-27 01:50:14.000000000 +0200 @@ -0,0 +1,77 @@ +# Description of the ISO-8859-8 encoding +# Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana @@ -91,41 +92,27 @@ +afii57672 afii57673 afii57674 afii57675 afii57676 afii57677 afii57678 afii57679 +afii57680 afii57681 afii57682 afii57683 afii57684 afii57685 afii57686 afii57687 +afii57688 afii57689 afii57690 .notdef .notdef .notdef .notdef .notdef ---- a2ps-4.13/encoding/encoding.map.hebrew -+++ a2ps-4.13/encoding/encoding.map -@@ -65,6 +65,9 @@ - iso7 iso7 - iso-8859-7 iso7 - -+iso8 iso8 -+iso-8859-8 iso8 -+ - # The following lines _are_not_an_error_. - # This is the right correspondance between ISO-8859 names - # and the Latin n nick name. ---- a2ps-4.13/encoding/Makefile.in.hebrew -+++ a2ps-4.13/encoding/Makefile.in -@@ -140,8 +140,8 @@ +diff -up a2ps-4.14/encoding/Makefile.am.hebrew a2ps-4.14/encoding/Makefile.am +--- a2ps-4.14/encoding/Makefile.am.hebrew 2008-04-27 01:51:14.000000000 +0200 ++++ a2ps-4.14/encoding/Makefile.am 2008-04-27 01:52:11.000000000 +0200 +@@ -15,7 +15,7 @@ encodingsdir = $(pkgdatadir)/encoding major_encodings = ascii.edf iso1.edf minor_encodings = \ ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ -iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf euc-jp.edf euc-kr.edf -+iso3.edf iso4.edf iso5.edf iso7.edf iso8.edf iso9.edf iso10.edf \ -+iso13.edf iso15.edf koi8.edf euc-jp.edf euc-kr.edf ++iso3.edf iso4.edf iso5.edf iso7.edf iso8.edf iso9.edf iso10.edf iso13.edf \ + iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf - @EXTENSIONS_TRUE@encodings_DATA = @EXTENSIONS_TRUE@encoding.map $(major_encodings) $(minor_encodings) - @EXTENSIONS_FALSE@encodings_DATA = @EXTENSIONS_FALSE@encoding.map $(major_encodings) ---- a2ps-4.13/configure.in.hebrew 2007-01-22 18:19:04.000000000 +0000 -+++ a2ps-4.13/configure.in 2007-01-22 18:19:16.000000000 +0000 -@@ -200,7 +200,9 @@ - for ac_dir in /usr/share/fonts/default/Type1 \ - /usr/share/fonts/default/ghostscript \ - /usr/share/fonts/afms/adobe \ -- /usr/share/X11/fonts/Type1 ; -+ /usr/share/X11/fonts/Type1 \ -+ /usr/share/fonts/hebrew \ -+ /usr/share/fonts/he/Type1 ; - do - if test "cd $ac_dir 2>/dev/null && echo *.afm"; then - ac_psfont_path="$ac_psfont_path:$ac_dir"; + if EXTENSIONS +diff -up a2ps-4.14/encoding/Makefile.in.hebrew a2ps-4.14/encoding/Makefile.in +--- a2ps-4.14/encoding/Makefile.in.hebrew 2008-04-27 01:50:14.000000000 +0200 ++++ a2ps-4.14/encoding/Makefile.in 2008-04-27 01:52:01.000000000 +0200 +@@ -269,7 +269,7 @@ encodingsdir = $(pkgdatadir)/encoding + major_encodings = ascii.edf iso1.edf + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ +-iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ ++iso3.edf iso4.edf iso5.edf iso7.edf iso8.edf iso9.edf iso10.edf iso13.edf \ + iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf + + @EXTENSIONS_FALSE@encodings_DATA = encoding.map $(major_encodings) diff --git a/a2ps-4.13-malloc.patch b/a2ps-4.13-malloc.patch deleted file mode 100644 index bdfa01c..0000000 --- a/a2ps-4.13-malloc.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a2ps-4.13/lib/path-concat.c.malloc 2004-03-02 11:27:49.000000000 +0000 -+++ a2ps-4.13/lib/path-concat.c 2004-03-02 11:28:14.000000000 +0000 -@@ -31,7 +31,7 @@ - #endif - #include - --char *malloc (); -+#include - - #ifndef DIRECTORY_SEPARATOR - # define DIRECTORY_SEPARATOR '/' diff --git a/a2ps-4.13-varargs.patch b/a2ps-4.13-varargs.patch deleted file mode 100644 index 7339376..0000000 --- a/a2ps-4.13-varargs.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- a2ps-4.13/lib/printlen.c.orig Fri Jun 1 16:38:21 2001 -+++ a2ps-4.13/lib/printlen.c Fri Jun 1 16:38:28 2001 -@@ -28,14 +28,15 @@ - unsigned long strtoul (); - - static int --int_printflen (const char *format, va_list *args) -+int_printflen (const char *format, va_list args) - { - const char *cp; - int total_width = 0; - int width = 0; - va_list ap; - -- memcpy (&ap, args, sizeof (va_list)); -+ __va_copy(ap, args); -+ /* memcpy (&ap, args, sizeof (va_list)); */ - - for (cp = format ; *cp ; cp++) - { -@@ -99,7 +100,7 @@ - int - vprintflen (const char *format, va_list args) - { -- return int_printflen (format, &args); -+ return int_printflen (format, args); - } - - int ---- a2ps-4.13/lib/title.c.orig Fri Jun 1 16:19:04 2001 -+++ a2ps-4.13/lib/title.c Fri Jun 1 16:20:16 2001 -@@ -83,11 +83,13 @@ - VA_START (args, format); - - len = vprintflen (format, args); -+ va_end(args); - if (format [strlen (format) - 1] == '\n') - len --; - if (center_p) - for (padding = 0 ; padding < 79 - len ; padding += 2) - putc (' ', stream); -+ VA_START (args, format); - # if HAVE_VPRINTF || _LIBC - vfprintf (stream, format, args); - # else diff --git a/a2ps-4.14-texinfo-nodes.patch b/a2ps-4.14-texinfo-nodes.patch new file mode 100644 index 0000000..47c2001 --- /dev/null +++ b/a2ps-4.14-texinfo-nodes.patch @@ -0,0 +1,128 @@ +diff -up a2ps-4.14/doc/regex.texi_old a2ps-4.14/doc/regex.texi +--- a2ps-4.14/doc/regex.texi_old 2002-03-04 19:46:24.000000000 +0100 ++++ a2ps-4.14/doc/regex.texi 2008-05-16 11:34:42.000000000 +0200 +@@ -121,7 +121,7 @@ Regular Expression Syntax + + * Syntax Bits:: + * Predefined Syntaxes:: +-* Collating Elements vs. Characters:: ++* Collating Elements vs Characters:: + * The Backslash Character:: + + Common Operators +@@ -305,7 +305,7 @@ In the following sections, we describe t + @menu + * Syntax Bits:: + * Predefined Syntaxes:: +-* Collating Elements vs. Characters:: ++* Collating Elements vs Characters:: + * The Backslash Character:: + @end menu + +@@ -470,7 +470,7 @@ operator (based on how @code{RE_NO_BK_PA + @end table + + +-@node Predefined Syntaxes, Collating Elements vs. Characters, Syntax Bits, Regular Expression Syntax ++@node Predefined Syntaxes, Collating Elements vs Characters, Syntax Bits, Regular Expression Syntax + @section Predefined Syntaxes + + If you're programming with Regex, you can set a pattern buffer's +@@ -552,8 +552,8 @@ The predefined syntaxes--taken directly + | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) + @end example + +-@node Collating Elements vs. Characters, The Backslash Character, Predefined Syntaxes, Regular Expression Syntax +-@section Collating Elements vs.@: Characters ++@node Collating Elements vs Characters, The Backslash Character, Predefined Syntaxes, Regular Expression Syntax ++@section Collating Elements vs@: Characters + + @sc{posix} generalizes the notion of a character to that of a + collating element. It defines a @dfn{collating element} to be ``a +@@ -577,7 +577,7 @@ collating element. For example, the Spa + Since @sc{posix}'s ``collating element'' preserves the essential idea of + a ``character,'' we use the latter, more familiar, term in this document. + +-@node The Backslash Character, , Collating Elements vs. Characters, Regular Expression Syntax ++@node The Backslash Character, , Collating Elements vs Characters, Regular Expression Syntax + @section The Backslash Character + + @cindex @samp{\} +diff -up a2ps-4.14/doc/a2ps.texi_old a2ps-4.14/doc/a2ps.texi +--- a2ps-4.14/doc/a2ps.texi_old 2008-05-16 11:34:21.000000000 +0200 ++++ a2ps-4.14/doc/a2ps.texi 2008-05-16 11:42:11.000000000 +0200 +@@ -371,11 +371,11 @@ Contributions + + Frequently asked questions + +-* Why Does ...?:: Questions on Error +-* How Can I ...?:: a2ps' How-To +-* Please tell me...:: Existential Questions on a2ps ++* Why Does?:: Questions on Error ++* How Can I?:: a2ps' How-To ++* Please tell me:: Existential Questions on a2ps + +-Why Does...? ++Why Does? + + * It Prints Nothing:: The printer issues nothing + * It Prints in Simplex:: While I asked for Duplex +@@ -385,7 +385,7 @@ Why Does...? + * It Says my File is Binary:: And refuses to print it + * It Refuses to Change the Font Size:: + +-How Can I ...? ++How Can I? + + * Leave Room for Binding:: Specifying Margins + * Print stdin:: Using a2ps in a pipe chain +@@ -395,7 +395,7 @@ How Can I ...? + * Non PostScript Printers:: Using GhostScript + * Man Pages with Underlines:: Now it Prints With Italics + +-Please tell me... ++Please tell me + + * Is a2ps Y2K compliant?:: Printing dates in short format + * The Options Have Changed:: Respect The Users +@@ -6198,13 +6198,13 @@ question about the options, etc. It has + suggestions, not to contact the authors. + + @menu +-* Why Does ...?:: Questions on Error +-* How Can I ...?:: a2ps' How-To +-* Please tell me...:: Existential Questions on a2ps ++* Why Does?:: Questions on Error ++* How Can I?:: a2ps' How-To ++* Please tell me:: Existential Questions on a2ps + @end menu + +-@node Why Does ...? +-@section Why Does...? ++@node Why Does? ++@section Why Does? + + Error related questions. + +@@ -6426,8 +6426,8 @@ Note that the `pure' options (no side-ef + virtual pages are @samp{--columns} and @samp{--rows}. + + @c -----------------------------How can I ? ------------------------------ +-@node How Can I ...? +-@section How Can I ...? ++@node How Can I? ++@section How Can I? + + A mini how-to on @pack{}. + +@@ -6561,8 +6561,8 @@ Use @samp{a2ps --pro=ul}. + + + @c -------------------------- Please Tell me ? ------------------------------ +-@node Please tell me... +-@section Please tell me... ++@node Please tell me ++@section Please tell me + + Wondering something? + diff --git a/a2ps-includes.patch b/a2ps-includes.patch deleted file mode 100644 index be610d0..0000000 --- a/a2ps-includes.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- a2ps-4.13/src/sheets-map.l.includes 2000-02-04 21:07:47.000000000 +0000 -+++ a2ps-4.13/src/sheets-map.l 2004-09-07 16:06:27.575891868 +0100 -@@ -40,6 +40,7 @@ - - #define MAX_INCLUDE_DEPTH 10 - static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH]; -+static int lineno_stack[MAX_INCLUDE_DEPTH]; - static char *filename_stack[MAX_INCLUDE_DEPTH]; - static int include_stack_ptr; - static char *yyfilename; -@@ -93,7 +94,7 @@ - white [[:space:]]+ - key [-a-zA-Z0-9_]+: - comment #.* --include include([^)]+) -+include include\([^)]+\) - %% - - {key} token_val = xstrndup (yytext, yyleng - 1); return tKEY; -@@ -102,7 +103,7 @@ - {white} ; - {comment} ; - {include} { /* Kill the closing paren and pass the file name. */ -- yytext[yyleng] = '\0'; -+ yytext[yyleng-1] = '\0'; - yy_include_push (yytext + strlen ("include(")); - } - -@@ -210,11 +211,13 @@ - error (1, 0, _("too many includes")); - - include_stack[include_stack_ptr] = YY_CURRENT_BUFFER; -- filename_stack[include_stack_ptr++] = file; -+ lineno_stack[include_stack_ptr] = yylineno; -+ filename_stack[include_stack_ptr++] = yyfilename; - - message (msg_file, (stderr, "%s:%d: includes %s\n", - yyfilename, yylineno, file)); - -+ yyfilename = file; - yyin = xrfopen (yyfilename); - - yy_switch_to_buffer (yy_create_buffer (yyin, YY_BUF_SIZE)); -@@ -227,8 +230,8 @@ - { - fclose (yyin); - yy_delete_buffer (YY_CURRENT_BUFFER); -- free (yyfilename); - yyfilename = filename_stack[include_stack_ptr]; -+ yylineno = lineno_stack[include_stack_ptr]; - yy_switch_to_buffer (include_stack[include_stack_ptr]); - message (msg_file, (stderr, "Back to file `%s'.\n", yyfilename)); - } -@@ -254,6 +257,7 @@ - yy_close (void) - { - fclose (yyin); -+ free (yyfilename); - } - - int diff --git a/a2ps-netscape.patch b/a2ps-netscape.patch deleted file mode 100644 index 738a606..0000000 --- a/a2ps-netscape.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a2ps-4.13/etc/a2ps_cfg.in.netscape 2005-02-02 16:22:36.000000000 +0000 -+++ a2ps-4.13/etc/a2ps_cfg.in 2005-02-02 16:40:06.431499603 +0000 -@@ -265,7 +265,8 @@ - @COM_PSUTILS@@COM_dvips@ fi - - ########## HTML files --# Pass HTML to Netscape, hoping that there is an Netscape running... -+# Pass HTML to Mozilla, hoping that there is a Mozilla running... -+# (Previously had used Netscape. Following comments refer to Netscape:) - # Tricks: - # 1. Netscape can't output on stdout, hence use a tmp file (#f0) - # 2. openfile refuses relative paths, so prepend cwd (%d) when relative -@@ -274,14 +275,14 @@ - # loaded page (not that of openfile). So run Netscape twice. - # 4. It asks the user if s/he wants to replace an existing output file, - # so rm before. --@COM_PSUTILS@Delegation: Netscape html:ps \ -+@COM_PSUTILS@Delegation: Mozilla html:ps \ - @COM_PSUTILS@ rm -f #f0; \ - @COM_PSUTILS@ if echo '$f' | grep '^/' >/dev/null 2>&1; then \ --@COM_PSUTILS@ ${NETSCAPE:-netscape} -noraise -remote 'openfile($f)'; \ -+@COM_PSUTILS@ ${MOZILLA:-mozilla} -noraise -remote 'openfile($f)'; \ - @COM_PSUTILS@ else \ --@COM_PSUTILS@ ${NETSCAPE:-netscape} -noraise -remote 'openfile(%d/$f)'; \ -+@COM_PSUTILS@ ${MOZILLA:-mozilla} -noraise -remote 'openfile(%d/$f)'; \ - @COM_PSUTILS@ fi && \ --@COM_PSUTILS@ ${NETSCAPE:-netscape} -noraise -remote 'saveas(#f0,postscript)' && \ -+@COM_PSUTILS@ ${MOZILLA:-mozilla} -noraise -remote 'saveas(#f0,postscript)' && \ - @COM_PSUTILS@ #{del.psselect} #f0 | #{del.psnup} - - ########## MetaFont / MetaPost files diff --git a/a2ps-psset.patch b/a2ps-psset.patch deleted file mode 100644 index 5197237..0000000 --- a/a2ps-psset.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a2ps-4.13/contrib/psset.in.psset 2006-10-06 13:12:03.000000000 +0100 -+++ a2ps-4.13/contrib/psset.in 2006-10-06 13:12:09.000000000 +0100 -@@ -241,7 +241,7 @@ - # spaces with a `\' too... - pspagedevicelen=`echo "$pspagedevice" | wc -l` - pspagedevice=`echo "$pspagedevice" | \ -- sed -e "$pspagedevicelen!s/\$/\\\\\\/;s/^/\\\\\\/"` -+ sed -e "$pspagedevicelen!s/\$/\\\\\\/;s/^ /\\\\\\ /"` - - case $at in - 0) # Insert last in the Setup, so that we win over other requests. diff --git a/a2ps-shell.patch b/a2ps-shell.patch deleted file mode 100644 index b26f648..0000000 --- a/a2ps-shell.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a2ps-4.13/src/select.c.shell 2004-07-29 16:43:08.178940204 +0100 -+++ a2ps-4.13/src/select.c 2004-07-29 16:43:09.328722698 +0100 -@@ -148,8 +148,10 @@ - command = ALLOCA (char, (2 - + strlen (job->file_command) - + ustrlen (filename))); -- sprintf (command, "%s %s", job->file_command, (const char *) filename); -- message (msg_tool, (stderr, "Reading pipe: `%s'\n", command)); -+ setenv ("filename", (const char *) filename, 1); -+ sprintf (command, "%s \"${filename}\"", job->file_command); -+ message (msg_tool, (stderr, "Reading pipe: `%s' [filename=%s]\n", command, -+ (const char *) filename)); - file_out = popen (command, "r"); - - /* Check for failure */ diff --git a/a2ps-tmpdir.patch b/a2ps-tmpdir.patch deleted file mode 100644 index fe6be21..0000000 --- a/a2ps-tmpdir.patch +++ /dev/null @@ -1,58 +0,0 @@ ---- a2ps-4.13/contrib/psmandup.in.tmpdir 1999-10-24 14:06:42.000000000 +0100 -+++ a2ps-4.13/contrib/psmandup.in 2006-08-08 14:52:22.000000000 +0100 -@@ -36,7 +36,7 @@ - message= - psselect=${PSSELECT:-psselect} - psset=${PSSET:-psset} --tmpdir=/tmp/$program.$$ -+tmpdir=$(mktemp -d /tmp/$program.XXXXXX) - - # These two must be kept in synch. They are opposed. - verbose=echo ---- a2ps-4.13/contrib/fixps.in.tmpdir 2000-02-21 08:16:15.000000000 +0000 -+++ a2ps-4.13/contrib/fixps.in 2006-08-08 14:53:36.000000000 +0100 -@@ -38,7 +38,6 @@ - run_gs=0 - # What action to perform: fixps, cat, check, and gs - task=fixps --tmpdir=/tmp/$program.$$ - verbose=echo - - # The version/usage strings -@@ -183,6 +182,7 @@ - exit 1;; - esac - -+tmpdir=$(mktemp -d /tmp/$program.XXXXXX) - if test -n "$debug"; then - # Set -x now if debugging - set -x -@@ -191,7 +191,6 @@ - trap "/bin/rm -rf $tmpdir" 0 1 2 3 13 15 - fi - --mkdir $tmpdir - fixps_sed=$tmpdir/fixps.sed - - # If printing from stdin, save into a tmp file ---- a2ps-4.13/contrib/pdiff.in.tmpdir 1999-10-24 16:07:51.000000000 +0100 -+++ a2ps-4.13/contrib/pdiff.in 2006-08-08 14:52:22.000000000 +0100 -@@ -34,7 +34,7 @@ - diff_options='-u' - file= - output= --tmpdir=/tmp/$program.$$ -+tmpdir=$(mktemp -d /tmp/$program.XXXXXX) - verbose=echo - wdiff_prog=${WDIFF:-wdiff} - wdiff_options='-w[wd- -x-wd] -y{wd+ -z+wd}' ---- a2ps-4.13/contrib/pdiff.in.tmpdir 1999-10-24 16:07:51.000000000 +0100 -+++ a2ps-4.13/contrib/pdiff.in 2007-02-28 13:30:36.000000000 +0000 -@@ -67,6 +67,7 @@ - - help="Try \`$program --help' for more information." - -+trap "/bin/rm -rf $tmpdir" 0 1 2 3 13 15 - - # Parse command line arguments. - option_without_arguments='vhsqDlw' diff --git a/a2ps-underquoted.patch b/a2ps-underquoted.patch deleted file mode 100644 index 4cd609d..0000000 --- a/a2ps-underquoted.patch +++ /dev/null @@ -1,208 +0,0 @@ ---- a2ps-4.13/m4/c-bs-a.m4.underquoted 2004-12-07 15:48:56.317799029 +0000 -+++ a2ps-4.13/m4/c-bs-a.m4 2004-12-07 15:49:09.240315913 +0000 -@@ -2,7 +2,7 @@ - - dnl From Paul Eggert. - --AC_DEFUN(AC_C_BACKSLASH_A, -+AC_DEFUN([AC_C_BACKSLASH_A], - [ - AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a, - [AC_TRY_COMPILE([], -@@ -22,7 +22,7 @@ - fi - ]) - --AC_DEFUN(jm_PREREQ_QUOTEARG, -+AC_DEFUN([jm_PREREQ_QUOTEARG], - [ - AC_CHECK_FUNCS(isascii mbrtowc) - AC_CHECK_HEADERS(limits.h stdlib.h string.h wchar.h) ---- a2ps-4.13/m4/error.m4.underquoted 2004-12-07 15:49:21.559948942 +0000 -+++ a2ps-4.13/m4/error.m4 2004-12-07 15:49:28.235666455 +0000 -@@ -1,7 +1,7 @@ - dnl From Jim Meyering. Use this if you use the GNU error.[ch]. - dnl FIXME: Migrate into libit - --AC_DEFUN(AM_FUNC_ERROR_AT_LINE, -+AC_DEFUN([AM_FUNC_ERROR_AT_LINE], - [AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line, - [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");], - am_cv_lib_error_at_line=yes, ---- a2ps-4.13/m4/obstack.m4.underquoted 2004-12-07 15:49:39.826439920 +0000 -+++ a2ps-4.13/m4/obstack.m4 2004-12-07 15:49:49.827518954 +0000 -@@ -1,7 +1,7 @@ - dnl From Jim Meyering. - dnl FIXME: migrate into libit. - --AC_DEFUN(AM_FUNC_OBSTACK, -+AC_DEFUN([AM_FUNC_OBSTACK], - [AC_CACHE_CHECK([for obstacks], am_cv_func_obstack, - [AC_TRY_LINK([#include "obstack.h"], - [struct obstack *mem;obstack_free(mem,(char *) 0)], ---- a2ps-4.13/m4/libtool.m4.underquoted 2004-12-07 15:50:24.793804138 +0000 -+++ a2ps-4.13/m4/libtool.m4 2004-12-07 15:52:28.530057547 +0000 -@@ -22,7 +22,7 @@ - ## the same distribution terms that you use for the rest of that program. - - # serial 40 AC_PROG_LIBTOOL --AC_DEFUN(AC_PROG_LIBTOOL, -+AC_DEFUN([AC_PROG_LIBTOOL], - [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl - - # Save cache, so that ltconfig can load it -@@ -52,7 +52,7 @@ - exec 5>>./config.log - ]) - --AC_DEFUN(AC_LIBTOOL_SETUP, -+AC_DEFUN([AC_LIBTOOL_SETUP], - [AC_PREREQ(2.13)dnl - AC_REQUIRE([AC_ENABLE_SHARED])dnl - AC_REQUIRE([AC_ENABLE_STATIC])dnl -@@ -132,16 +132,16 @@ - ]) - - # AC_LIBTOOL_DLOPEN - enable checks for dlopen support --AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) -+AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) - - # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's --AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) -+AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) - - # AC_ENABLE_SHARED - implement the --enable-shared flag - # Usage: AC_ENABLE_SHARED[(DEFAULT)] - # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to - # `yes'. --AC_DEFUN(AC_ENABLE_SHARED, [dnl -+AC_DEFUN([AC_ENABLE_SHARED], [dnl - define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl - AC_ARG_ENABLE(shared, - changequote(<<, >>)dnl -@@ -167,14 +167,14 @@ - ]) - - # AC_DISABLE_SHARED - set the default shared flag to --disable-shared --AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -+AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_ENABLE_SHARED(no)]) - - # AC_ENABLE_STATIC - implement the --enable-static flag - # Usage: AC_ENABLE_STATIC[(DEFAULT)] - # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to - # `yes'. --AC_DEFUN(AC_ENABLE_STATIC, [dnl -+AC_DEFUN([AC_ENABLE_STATIC], [dnl - define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl - AC_ARG_ENABLE(static, - changequote(<<, >>)dnl -@@ -200,7 +200,7 @@ - ]) - - # AC_DISABLE_STATIC - set the default static flag to --disable-static --AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -+AC_DEFUN([AC_DISABLE_STATIC], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_ENABLE_STATIC(no)]) - - -@@ -208,7 +208,7 @@ - # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] - # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to - # `yes'. --AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl -+AC_DEFUN([AC_ENABLE_FAST_INSTALL], [dnl - define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl - AC_ARG_ENABLE(fast-install, - changequote(<<, >>)dnl -@@ -234,11 +234,11 @@ - ]) - - # AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install --AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -+AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_ENABLE_FAST_INSTALL(no)]) - - # AC_PROG_LD - find the path to the GNU or non-GNU linker --AC_DEFUN(AC_PROG_LD, -+AC_DEFUN([AC_PROG_LD], - [AC_ARG_WITH(gnu-ld, - [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], - test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) -@@ -308,7 +308,7 @@ - AC_PROG_LD_GNU - ]) - --AC_DEFUN(AC_PROG_LD_GNU, -+AC_DEFUN([AC_PROG_LD_GNU], - [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, - [# I'd rather use --version here, but apparently some GNU ld's only accept -v. - if $LD -v 2>&1 &5; then -@@ -319,7 +319,7 @@ - ]) - - # AC_PROG_NM - find the path to a BSD-compatible name lister --AC_DEFUN(AC_PROG_NM, -+AC_DEFUN([AC_PROG_NM], - [AC_MSG_CHECKING([for BSD-compatible nm]) - AC_CACHE_VAL(ac_cv_path_NM, - [if test -n "$NM"; then -@@ -353,7 +353,7 @@ - ]) - - # AC_CHECK_LIBM - check for math library --AC_DEFUN(AC_CHECK_LIBM, -+AC_DEFUN([AC_CHECK_LIBM], - [AC_REQUIRE([AC_CANONICAL_HOST])dnl - LIBM= - case "$lt_target" in -@@ -378,7 +378,7 @@ - # '${top_builddir}/' (note the single quotes!) if your package is not - # flat, and, if you're not using automake, define top_builddir as - # appropriate in the Makefiles. --AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -+AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case "$enable_ltdl_convenience" in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes -@@ -397,7 +397,7 @@ - # flat, and, if you're not using automake, define top_builddir as - # appropriate in the Makefiles. - # In the future, this macro may have to be called after AC_PROG_LIBTOOL. --AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -+AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, main, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then -@@ -418,13 +418,13 @@ - ]) - - dnl old names --AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl --AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl --AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl --AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl --AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl --AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl --AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl -+AC_DEFUN([AM_PROG_LIBTOOL], [indir([AC_PROG_LIBTOOL])])dnl -+AC_DEFUN([AM_ENABLE_SHARED], [indir([AC_ENABLE_SHARED], $@)])dnl -+AC_DEFUN([AM_ENABLE_STATIC], [indir([AC_ENABLE_STATIC], $@)])dnl -+AC_DEFUN([AM_DISABLE_SHARED], [indir([AC_DISABLE_SHARED], $@)])dnl -+AC_DEFUN([AM_DISABLE_STATIC], [indir([AC_DISABLE_STATIC], $@)])dnl -+AC_DEFUN([AM_PROG_LD], [indir([AC_PROG_LD])])dnl -+AC_DEFUN([AM_PROG_NM], [indir([AC_PROG_NM])])dnl - - dnl This is just to silence aclocal about the macro not being used - ifelse([AC_DISABLE_FAST_INSTALL])dnl ---- a2ps-4.13/m4/lex.m4.underquoted 2004-12-07 15:53:11.815755409 +0000 -+++ a2ps-4.13/m4/lex.m4 2004-12-07 15:53:20.523085631 +0000 -@@ -3,7 +3,7 @@ - - dnl AM_PROG_LEX - dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT --AC_DEFUN(AM_PROG_LEX, -+AC_DEFUN([AM_PROG_LEX], - [AC_REQUIRE([AM_MISSING_HAS_RUN]) - AC_CHECK_PROGS(LEX, flex lex, [${am_missing_run}flex]) - AC_PROG_LEX diff --git a/a2ps.spec b/a2ps.spec index f8f721c..3277e50 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -12,31 +12,21 @@ Summary: Converts text and other types of files to PostScript(TM) Name: a2ps -Version: 4.13b -Release: 71%{?dist} -License: GPLv2+ +Version: 4.14 +Release: 5%{?dist} +License: GPLv3+ Group: Applications/Publishing -#Source0: ftp://ftp.enst.fr/pub/unix/a2ps/%{name}-%{version}.tar.gz -Source0: %{name}-%{version}-GPL.tar.gz +Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz -# a2ps contains code that we cannot ship due to its license. -# Therefore we use this script to remove the code in question before -# shipping it. Download the upstream tarball and invoke this script -# while in the same directory as the tarball: -# ./generate-tarball.sh 4.13b -Source2: a2ps-generate-tarball.sh Patch0: a2ps-4.13-conf.patch Patch1: a2ps-4.13-etc.patch -Patch2: a2ps-4.13-flex.patch Patch3: a2ps-4.13-security.patch Patch4: a2ps-4.13-glibcpaper.patch -Patch5: a2ps-4.13-varargs.patch -Patch6: a2ps-tmpdir.patch Patch7: a2ps-sort.patch Patch8: a2ps-iso5-minus.patch Patch9: a2ps-perl.patch # EUC-JP support -Patch10: a2ps-4.13-eucjp.patch.bz2 +Patch10: a2ps-4.13-eucjp.patch Patch11: a2ps-4.13-autoenc.patch Patch12: a2ps-4.13b-attr.patch Patch13: a2ps-4.13b-numeric.patch @@ -44,37 +34,35 @@ Patch14: a2ps-4.13b-encoding.patch Patch15: a2ps-4.13b-tilde.patch Patch17: a2ps-4.13-euckr.patch Patch18: a2ps-4.13-gnusource.patch -Patch19: a2ps-4.13-bison.patch Patch20: a2ps-4.13-hebrew.patch -Patch21: a2ps-4.13-malloc.patch -Patch22: a2ps-shell.patch -Patch23: a2ps-includes.patch -Patch24: a2ps-underquoted.patch Patch26: a2ps-make-fonts-map.patch -Patch27: a2ps-netscape.patch Patch28: a2ps-wdiff.patch Patch29: a2ps-U.patch -Patch30: a2ps-psset.patch Patch31: a2ps-mb.patch Patch34: a2ps-external-libtool.patch +Patch35: a2ps-4.14-texinfo-nodes.patch Requires: fileutils sh-utils info +BuildRequires: gperf BuildRequires: emacs, emacs-el, flex, libtool, texinfo, groff BuildRequires: ImageMagick BuildRequires: groff-perl BuildRequires: cups BuildRequires: gettext, bison -BuildRequires: psutils, tetex-dvips, texinfo, tetex-latex -# Uncomment this after Extras merge: +BuildRequires: psutils, tetex-dvips, texinfo, tetex-latex, html2ps +# instead of gv, xdg-open should certainly be used #BuildRequires: gv -Url: http://www.inf.enst.fr/~demaille/a2ps/ +Url: http://www.gnu.org/software/a2ps/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: psutils, ImageMagick, texinfo-tex, gzip, bzip2, groff-perl -Requires: tetex-dvips, tetex-latex, tetex-fonts, file +Requires: tetex-dvips, tetex-latex, tetex-fonts, file, html2ps +# for hebrew support, path set. +# culmus-fonts +# And certainly other font sets for other languages may be needed Requires(post): coreutils Requires(post): /sbin/install-info Requires(preun): /sbin/install-info Obsoletes: a2ps-i18n <= 0.1-1 -Provides: a2ps-i18n = 0.1-1 +Provides: a2ps-i18n = 0.1-2 %package -n emacs-%{name} @@ -108,18 +96,16 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. %prep -%setup -q -n %{name}-4.13 -a 1 +%setup -q -a 1 -# use __timestamp_configure.in to hold the configure.in timestamp -touch -r configure.in __timestamp_configure.in +# use fedora postscript font paths +%patch0 -p1 -b .conf + +# add /etc/a2ps in directories searched for config files +%patch1 -p1 -b .etc -%patch0 -p1 -%patch1 -p1 -b .etc -%patch2 -p1 %patch3 -p1 -b .security %patch4 -p1 -b .glibcpaper -%patch5 -p1 -%patch6 -p1 -b .tmpdir %patch7 -p1 -b .sort %patch8 -p1 -b .iso5-minus %patch9 -p1 -b .perl @@ -143,24 +129,9 @@ touch -r configure.in __timestamp_configure.in # Prevent strsignal segfaulting (bug #104970). %patch18 -p1 -b .gnusource -# Fix problems in .y file spotted by stricter bison. -%patch19 -p1 -b .bison - # Hebrew support (bug #113191). %patch20 -p1 -b .hebrew -# Prevent "error: conflicting types for 'malloc'". -%patch21 -p1 -b .malloc - -# Use environment variable to pass filenames to shell (bug #128647). -%patch22 -p1 -b .shell - -# Apply patch from bug #122699 to fix "too many includes" error. -%patch23 -p1 -b .includes - -# Fixed m4 files. -%patch24 -p1 -b .underquoted - # Use external libtool (bug #225235). %patch34 -p1 -b .external-libtool @@ -168,21 +139,24 @@ touch -r configure.in __timestamp_configure.in # Michal Jaegermann. %patch26 -p1 -b .make-fonts-map -# Don't try to run netscape. Run mozilla instead (bug #121393). -%patch27 -p1 -b .netscape - # Make pdiff default to not requiring wdiff (bug #68537). %patch28 -p1 -b .wdiff # Make pdiff use diff(1) properly (bug #156916). %patch29 -p1 -b .U -# Fixed psset sed expression (bug #209613). -%patch30 -p1 -b .psset - # Fixed multibyte handling (bug #212154). %patch31 -p1 -b .mb +# Remove dots in node names, patch from Vitezslav Crhonek (Bug #445971) +%patch35 -p1 -b .nodes + +for file in AUTHORS ChangeLog; do + iconv -f latin1 -t UTF-8 < $file > $file.utf8 + touch -c -r $file $file.utf8 + mv $file.utf8 $file +done + mv doc/encoding.texi doc/encoding.texi.utf8 iconv -f KOI-8 -t UTF-8 doc/encoding.texi.utf8 -o doc/encoding.texi @@ -192,22 +166,23 @@ sed -i -e "s,/usr/local/bin,%{_bindir}," contrib/emacs/a2ps.el chmod -x lib/basename.c lib/xmalloc.c # restore timestamps of patched files -touch -r __timestamp_configure.in configure.in -rm __timestamp_configure.in -touch -r config.h.in.euc config.h.in -touch -r configure.orig configure Makefile.in -touch -r src/Makefile.am.euc src/Makefile.am -touch -r etc/Makefile.am.etc etc/Makefile.am -touch -r fonts/Makefile.in src/Makefile.in etc/Makefile.in lib/Makefile.in +touch -c -r configure.in.conf configure.in +touch -c -r config.h.in.euc config.h.in +touch -c -r configure.conf configure +touch -c -r src/Makefile.am.euc src/Makefile.am +touch -c -r etc/Makefile.am.etc etc/Makefile.am +#touch -c -r fonts/Makefile.in src/Makefile.in lib/Makefile.in +touch -c -r etc/Makefile.in.etc etc/Makefile.in + +chmod 644 encoding/iso8.edf.hebrew +chmod 644 encoding/euc-kr.edf.euckr %build # preset the date in README.in to avoid the timestamp of the build time sed -e "s!@date@!`date -r NEWS`!" etc/README.in > etc/README.in.tmp -touch -r etc/README.in etc/README.in.tmp +touch -c -r etc/README.in etc/README.in.tmp mv etc/README.in.tmp etc/README.in -chmod 644 {po/ja.po,encoding/euc-jp.edf,README.eucJP}.euc -chmod 644 encoding/euc-kr.edf.euckr EMACS=emacs %configure \ --with-medium=_glibc \ --enable-kanji @@ -217,15 +192,15 @@ find . -name "*.info*" -exec rm -f {} \; # force rebuilding scanners by flex - patched or not find src lib -name '*.l' -exec touch {} \; # these scanners use 'lineno' - incompatible with -CFe flex flags -( - cd src - /bin/sh ../auxdir/ylwrap "flex" sheets-map.l lex.yy.c sheets-map.c -- - /bin/sh ../auxdir/ylwrap "flex" lexssh.l lex.yy.c lexssh.c -- - cd ../lib - /bin/sh ../auxdir/ylwrap "flex" lexppd.l lex.yy.c lexppd.c -- -) +#( +# cd src +# /bin/sh ../auxdir/ylwrap "flex" sheets-map.l lex.yy.c sheets-map.c -- +# /bin/sh ../auxdir/ylwrap "flex" lexssh.l lex.yy.c lexssh.c -- +# cd ../lib +# /bin/sh ../auxdir/ylwrap "flex" lexppd.l lex.yy.c lexppd.c -- +#) -make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} +make %{?_smp_mflags} %install rm -rf %{buildroot} @@ -245,8 +220,8 @@ popd popd # Don't ship the library file or header (bug #203536). -rm -f %{buildroot}%{_libdir}/*.{so,a,la} -rm -f %{buildroot}%{_includedir}/* +rm %{buildroot}%{_libdir}/*.{so,a,la} +rm %{buildroot}%{_includedir}/* rm -f %{buildroot}%{_infodir}/dir @@ -289,7 +264,8 @@ exit 0 %{_infodir}/ogonkify.info* %{_infodir}/regex.info* %{_mandir}/*/* -%{_datadir}/a2ps/afm/fonts.map +# automatically regenerated at install and update time +%verify(not size mtime md5) %{_datadir}/a2ps/afm/fonts.map %{_datadir}/a2ps/afm/*.afm %{_datadir}/a2ps/afm/make_fonts_map.sh %{_datadir}/a2ps/README @@ -312,6 +288,22 @@ exit 0 %{emacs_lispdir}/*.el %changelog +* Thu May 29 2008 Tim Waugh 4.14-5 +- Removed old patches. + +* Sun May 18 2008 Patrice Dumas 4.14-4 +- remove dots in node names, patch from Vitezslav Crhonek (bug #445971) + +* Wed May 14 2008 Patrice Dumas 4.14-3 +- %%{_datadir}/a2ps/afm/fonts.map is dynamically generated, mark it + as such in %%files (bug #70919) + +* Sun Apr 27 2008 Patrice Dumas 4.14-2 +- update to 4.14 +- don't obsolete the provided version of a2ps-i18n +- use html2ps for the html delegation +- BuildRequires gperf + * Tue Feb 12 2008 Patrice Dumas 4.13b-71 - use a predictable stamp inside the etc/README file - follow emacs packaging guidelines diff --git a/sources b/sources index 99a216b..e950ddb 100644 --- a/sources +++ b/sources @@ -1,3 +1,2 @@ -8e6a684611da92c9de2a42e7803aa8f0 a2ps-4.13-eucjp.patch.bz2 +781ac3d9b213fa3e1ed0d79f986dc8c7 a2ps-4.14.tar.gz fee1456d0e6e94af4fc5b5a1bb9687b7 i18n-fonts-0.1.tar.gz -4c7efbbbb03558e3c900d2b3b4e3fbf0 a2ps-4.13b-GPL.tar.gz From cc487604163ef48793f4caaf0bcfeebcc17ad773 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Wed, 24 Sep 2008 14:46:30 +0000 Subject: [PATCH 11/85] - Removed patch fuzz. --- a2ps-external-libtool.patch | 13 +++++++------ a2ps-mb.patch | 11 ++++++----- a2ps.spec | 5 ++++- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/a2ps-external-libtool.patch b/a2ps-external-libtool.patch index 93b5cf7..5780160 100644 --- a/a2ps-external-libtool.patch +++ b/a2ps-external-libtool.patch @@ -1,12 +1,13 @@ ---- a2ps-4.13/configure.external-libtool 2007-02-28 22:32:48.000000000 +0100 -+++ a2ps-4.13/configure 2007-02-28 22:32:48.000000000 +0100 -@@ -2673,7 +2673,8 @@ - LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" +diff -up a2ps-4.14/configure.external-libtool a2ps-4.14/configure +--- a2ps-4.14/configure.external-libtool 2008-09-24 15:28:13.000000000 +0100 ++++ a2ps-4.14/configure 2008-09-24 15:28:13.000000000 +0100 +@@ -21864,7 +21864,8 @@ fi + LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" # Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' +#LIBTOOL='$(SHELL) $(top_builddir)/libtool' +LIBTOOL='/usr/bin/libtool' - # Redirect the config.log output again, so that the ltconfig log is not - # clobbered by the next message. + # Prevent multiple expansion + diff --git a/a2ps-mb.patch b/a2ps-mb.patch index 2f79272..daa4ea3 100644 --- a/a2ps-mb.patch +++ b/a2ps-mb.patch @@ -1,7 +1,8 @@ ---- a2ps-4.13/lib/psgen.c.mb 2006-10-25 16:16:44.000000000 +0100 -+++ a2ps-4.13/lib/psgen.c 2006-10-25 16:18:54.000000000 +0100 -@@ -97,7 +97,8 @@ - fprintf(stderr,"%d\n",job->status->face); +diff -up a2ps-4.14/lib/psgen.c.mb a2ps-4.14/lib/psgen.c +--- a2ps-4.14/lib/psgen.c.mb 2008-09-24 15:29:30.000000000 +0100 ++++ a2ps-4.14/lib/psgen.c 2008-09-24 15:29:30.000000000 +0100 +@@ -96,7 +96,8 @@ ps_escape_char (a2ps_job * job, uchar c, + /* Printable, but not 7bit clean caracters */ if (encoding_char_exists (job->encoding, job->status->face, c) && ((0177 < c) || (c < 040))) { - sprintf ((char *)res, "%s\\%o", res, c); @@ -10,7 +11,7 @@ return 1; } -@@ -894,8 +895,8 @@ +@@ -893,8 +894,8 @@ ps_print_char (a2ps_job * job, int c, en if (c > 127 && encoding_get_composite_flag (job->encoding) && job->status->face != Symbol) { if (mb_flag) { diff --git a/a2ps.spec b/a2ps.spec index 3277e50..34e646c 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -13,7 +13,7 @@ Summary: Converts text and other types of files to PostScript(TM) Name: a2ps Version: 4.14 -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -288,6 +288,9 @@ exit 0 %{emacs_lispdir}/*.el %changelog +* Wed Sep 24 2008 Tim Waugh 4.14-6 +- Removed patch fuzz. + * Thu May 29 2008 Tim Waugh 4.14-5 - Removed old patches. From 99a3ee6e2505bf4bd5efb9f0d93d784d5ec1b72e Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Fri, 30 Jan 2009 10:14:45 +0000 Subject: [PATCH 12/85] - Removed trade marks to avoid potential confusion. --- a2ps.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index 34e646c..932f800 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -10,10 +10,10 @@ %endif -Summary: Converts text and other types of files to PostScript(TM) +Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -78,7 +78,7 @@ Requires: emacs-%{name} = %{version}-%{release} %description -The a2ps filter converts text and other types of files to PostScript(TM). +The a2ps filter converts text and other types of files to PostScript. A2ps has pretty-printing capabilities and includes support for a wide number of programming languages, encodings (ISO Latins, Cyrillic, etc.), and medias. @@ -288,6 +288,9 @@ exit 0 %{emacs_lispdir}/*.el %changelog +* Fri Jan 30 2009 Tim Waugh 4.14-7 +- Removed trade marks to avoid potential confusion. + * Wed Sep 24 2008 Tim Waugh 4.14-6 - Removed patch fuzz. From 11a9203ba80bc772f61b311e6638f201bc00b09d Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Mon, 23 Feb 2009 23:48:30 +0000 Subject: [PATCH 13/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 932f800..afddaad 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -13,7 +13,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 7%{?dist} +Release: 8%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -288,6 +288,9 @@ exit 0 %{emacs_lispdir}/*.el %changelog +* Mon Feb 23 2009 Fedora Release Engineering - 4.14-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Fri Jan 30 2009 Tim Waugh 4.14-7 - Removed trade marks to avoid potential confusion. From b88b7f43fcef7a6ce064d28c4594ede0fae79c58 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 22 Jul 2009 19:40:41 +0000 Subject: [PATCH 14/85] - Requires: psutils-perl for fixps --- a2ps.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index afddaad..78bb509 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -13,7 +13,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 8%{?dist} +Release: 9%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -54,7 +54,7 @@ BuildRequires: psutils, tetex-dvips, texinfo, tetex-latex, html2ps Url: http://www.gnu.org/software/a2ps/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: psutils, ImageMagick, texinfo-tex, gzip, bzip2, groff-perl -Requires: tetex-dvips, tetex-latex, tetex-fonts, file, html2ps +Requires: tetex-dvips, tetex-latex, tetex-fonts, file, html2ps, psutils-perl # for hebrew support, path set. # culmus-fonts # And certainly other font sets for other languages may be needed @@ -288,6 +288,9 @@ exit 0 %{emacs_lispdir}/*.el %changelog +* Wed Jul 22 2009 Adam Jackson 4.14-9 +- Requires: psutils-perl for fixps + * Mon Feb 23 2009 Fedora Release Engineering - 4.14-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild From f214cdfdcace048f28e0d1f664803d21035f4a82 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Fri, 24 Jul 2009 16:28:24 +0000 Subject: [PATCH 15/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 78bb509..b32e17c 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -13,7 +13,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 9%{?dist} +Release: 10%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -288,6 +288,9 @@ exit 0 %{emacs_lispdir}/*.el %changelog +* Fri Jul 24 2009 Fedora Release Engineering - 4.14-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Wed Jul 22 2009 Adam Jackson 4.14-9 - Requires: psutils-perl for fixps From 494991a54733f77299986f0842fe3463011d18e8 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 22:37:58 +0000 Subject: [PATCH 16/85] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index da5b6e5..7e96f19 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: a2ps -# $Id: Makefile,v 1.1 2004/09/09 02:51:00 cvsdist Exp $ +# $Id: Makefile,v 1.2 2007/10/15 18:35:17 notting Exp $ NAME := a2ps SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 4d1d98962dfa5e7f801a94ad9a702ea9cb5ecb96 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:24:00 +0000 Subject: [PATCH 17/85] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index da5b6e5..7e96f19 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: a2ps -# $Id: Makefile,v 1.1 2004/09/09 02:51:00 cvsdist Exp $ +# $Id: Makefile,v 1.2 2007/10/15 18:35:17 notting Exp $ NAME := a2ps SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 2a36f362aded0107dad0f3754a46ec72cba0d9e9 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Wed, 17 Mar 2010 11:47:03 +0000 Subject: [PATCH 18/85] - Spec file fixes for Emacs add-on guideline compliance - Move *.el(c) files to their own directory - Use Emacs packaging macros - Remove unneeded pkgconfig macros --- a2ps.spec | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index b32e17c..6b11a9f 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,19 +1,7 @@ -# emacs packaging macros -%if %($(pkg-config emacs) ; echo $?) -%define emacs_version 22.1 -%define emacs_lispdir %{_datadir}/emacs/site-lisp -%define emacs_startdir %{_datadir}/emacs/site-lisp/site-start.d -%else -%define emacs_version %(pkg-config emacs --modversion) -%define emacs_lispdir %(pkg-config emacs --variable sitepkglispdir) -%define emacs_startdir %(pkg-config emacs --variable sitestartdir) -%endif - - Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 10%{?dist} +Release: 11%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -43,7 +31,7 @@ Patch34: a2ps-external-libtool.patch Patch35: a2ps-4.14-texinfo-nodes.patch Requires: fileutils sh-utils info BuildRequires: gperf -BuildRequires: emacs, emacs-el, flex, libtool, texinfo, groff +BuildRequires: emacs, flex, libtool, texinfo, groff BuildRequires: ImageMagick BuildRequires: groff-perl BuildRequires: cups @@ -68,7 +56,7 @@ Provides: a2ps-i18n = 0.1-2 %package -n emacs-%{name} Summary: Emacs bindings for a2ps files Group: Applications/Editors -Requires: emacs(bin) >= %{emacs_version} +Requires: emacs(bin) >= %{_emacs_version} %package -n emacs-%{name}-el @@ -185,7 +173,8 @@ mv etc/README.in.tmp etc/README.in EMACS=emacs %configure \ --with-medium=_glibc \ - --enable-kanji + --enable-kanji \ + --with-lispdir=%{_emacs_sitelispdir}/%{name} # Remove prebuilt info files to force regeneration at build time find . -name "*.info*" -exec rm -f {} \; @@ -281,13 +270,20 @@ exit 0 %files -n emacs-%{name} %defattr(-,root,root,-) -%{emacs_lispdir}/*.elc +%dir %{_emacs_sitelispdir}/%{name} +%{_emacs_sitelispdir}/%{name}/*.elc %files -n emacs-%{name}-el %defattr(-,root,root,-) -%{emacs_lispdir}/*.el +%{_emacs_sitelispdir}/%{name}/*.el %changelog +* Sun Mar 14 2010 Jonathan G. Underwood - 4.14-11 +- Spec file fixes for Emacs add-on guideline compliance +- Move *.el(c) files to their own directory +- Use Emacs packaging macros +- Remove unneeded pkgconfig macros + * Fri Jul 24 2009 Fedora Release Engineering - 4.14-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From 51184f48f3e91a9c6f2e7be44b47cced44ffc62d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 09:29:43 +0000 Subject: [PATCH 19/85] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- 2 files changed, 21 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 7e96f19..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: a2ps -# $Id: Makefile,v 1.2 2007/10/15 18:35:17 notting Exp $ -NAME := a2ps -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attempt a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) From 97bd7073fe54a2bb4db490032f2de9c9cda72321 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 09:29:47 +0000 Subject: [PATCH 20/85] dist-git conversion --- Makefile | 21 --------------------- branch | 1 - 2 files changed, 22 deletions(-) delete mode 100644 Makefile delete mode 100644 branch diff --git a/Makefile b/Makefile deleted file mode 100644 index 7e96f19..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: a2ps -# $Id: Makefile,v 1.2 2007/10/15 18:35:17 notting Exp $ -NAME := a2ps -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attempt a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index 1c26f78..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -F-9 From 3eb4056a3a6a5ba9edb141d86a03bf289d85f0a9 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Mon, 7 Feb 2011 18:00:43 -0600 Subject: [PATCH 21/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 6b11a9f..d01dd3a 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 11%{?dist} +Release: 12%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -278,6 +278,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Mon Feb 07 2011 Fedora Release Engineering - 4.14-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Sun Mar 14 2010 Jonathan G. Underwood - 4.14-11 - Spec file fixes for Emacs add-on guideline compliance - Move *.el(c) files to their own directory From f1ff483ef0e51c979c9fd379259782732f73b3ef Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Wed, 10 Aug 2011 16:46:03 +0100 Subject: [PATCH 22/85] Coverity fix (forward-null). --- a2ps-forward-null.patch | 19 +++++++++++++++++++ a2ps.spec | 9 ++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 a2ps-forward-null.patch diff --git a/a2ps-forward-null.patch b/a2ps-forward-null.patch new file mode 100644 index 0000000..792f39d --- /dev/null +++ b/a2ps-forward-null.patch @@ -0,0 +1,19 @@ +diff -up a2ps-4.14/lib/pathwalk.c.forward-null a2ps-4.14/lib/pathwalk.c +--- a2ps-4.14/lib/pathwalk.c.forward-null 2011-08-10 16:06:53.185942197 +0100 ++++ a2ps-4.14/lib/pathwalk.c 2011-08-10 16:08:36.831030924 +0100 +@@ -348,12 +348,12 @@ xpw_find_included_file (char * const *pa + /* Relative. Give its root. */ + dir = dir_name (including_file); + +- res = ALLOCA (char, (strlen (dir) ++ res = ALLOCA (char, ((dir ? strlen (dir) : 0) + + strlen (name) + + (suffix ? strlen (suffix) : 0) + + 2)); +- sprintf (res, "%s%c%s%s", dir, DIRECTORY_SEPARATOR, +- name, suffix ? suffix : ""); ++ sprintf (res, "%s%c%s%s", dir ? dir : "", DIRECTORY_SEPARATOR, ++ dir ? name : name + 1, suffix ? suffix : ""); + XFREE (dir); + if (stat (res, &statbuf) == 0) + return xstrdup (res); diff --git a/a2ps.spec b/a2ps.spec index d01dd3a..3e145a6 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 12%{?dist} +Release: 13%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -29,6 +29,7 @@ Patch29: a2ps-U.patch Patch31: a2ps-mb.patch Patch34: a2ps-external-libtool.patch Patch35: a2ps-4.14-texinfo-nodes.patch +Patch36: a2ps-forward-null.patch Requires: fileutils sh-utils info BuildRequires: gperf BuildRequires: emacs, flex, libtool, texinfo, groff @@ -139,6 +140,9 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. # Remove dots in node names, patch from Vitezslav Crhonek (Bug #445971) %patch35 -p1 -b .nodes +# Coverity fix (forward-null). +%patch36 -p1 -b .forward-null + for file in AUTHORS ChangeLog; do iconv -f latin1 -t UTF-8 < $file > $file.utf8 touch -c -r $file $file.utf8 @@ -278,6 +282,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Wed Aug 10 2011 Tim Waugh - 4.14-13 +- Coverity fix (forward-null). + * Mon Feb 07 2011 Fedora Release Engineering - 4.14-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From 0a1ad205fadc96a43551b9ce15cd92fcc827a559 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Wed, 10 Aug 2011 16:46:55 +0100 Subject: [PATCH 23/85] Coverity fix (overrun-dynamic). --- a2ps-overrun-dynamic.patch | 21 +++++++++++++++++++++ a2ps.spec | 5 +++++ 2 files changed, 26 insertions(+) create mode 100644 a2ps-overrun-dynamic.patch diff --git a/a2ps-overrun-dynamic.patch b/a2ps-overrun-dynamic.patch new file mode 100644 index 0000000..c50de44 --- /dev/null +++ b/a2ps-overrun-dynamic.patch @@ -0,0 +1,21 @@ +diff -up a2ps-4.14/lib/darray.c.overrun-dynamic a2ps-4.14/lib/darray.c +--- a2ps-4.14/lib/darray.c.overrun-dynamic 2011-08-10 16:16:49.607014904 +0100 ++++ a2ps-4.14/lib/darray.c 2011-08-10 16:17:10.965625881 +0100 +@@ -430,7 +430,7 @@ da_qsort (struct darray * arr) + jstack += 2; + /* Push pointers to larger subarry on stack. + * Process smaller subarrays now */ +- if (jstack > QSORT_STACK) ++ if (jstack >= QSORT_STACK) + error (da_exit_error, 0, "da_qsort: QSORT_STACK too small (%d)", + QSORT_STACK); + if (ir - i + 1 >= j - l) { +@@ -509,7 +509,7 @@ da_qsort_with_arg (struct darray * arr, + jstack += 2; + /* Push pointers to larger subarry on stack. + * Process smaller subarrays now */ +- if (jstack > QSORT_STACK) ++ if (jstack >= QSORT_STACK) + error (da_exit_error, 0, "da_qsort: QSORT_STACK too small (%d)", + QSORT_STACK); + if (ir - i + 1 >= j - l) { diff --git a/a2ps.spec b/a2ps.spec index 3e145a6..a23441e 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -30,6 +30,7 @@ Patch31: a2ps-mb.patch Patch34: a2ps-external-libtool.patch Patch35: a2ps-4.14-texinfo-nodes.patch Patch36: a2ps-forward-null.patch +Patch37: a2ps-overrun-dynamic.patch Requires: fileutils sh-utils info BuildRequires: gperf BuildRequires: emacs, flex, libtool, texinfo, groff @@ -143,6 +144,9 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. # Coverity fix (forward-null). %patch36 -p1 -b .forward-null +# Coverity fix (overrun-dynamic). +%patch37 -p1 -b .overrun-dynamic + for file in AUTHORS ChangeLog; do iconv -f latin1 -t UTF-8 < $file > $file.utf8 touch -c -r $file $file.utf8 @@ -283,6 +287,7 @@ exit 0 %changelog * Wed Aug 10 2011 Tim Waugh - 4.14-13 +- Coverity fix (overrun-dynamic). - Coverity fix (forward-null). * Mon Feb 07 2011 Fedora Release Engineering - 4.14-12 From 80a6f61240ab40a3db56a29c2209f41f407d3877 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Wed, 10 Aug 2011 16:47:36 +0100 Subject: [PATCH 24/85] Coverity fix (overrun-static). --- a2ps-overrun-static.patch | 12 ++++++++++++ a2ps.spec | 5 +++++ 2 files changed, 17 insertions(+) create mode 100644 a2ps-overrun-static.patch diff --git a/a2ps-overrun-static.patch b/a2ps-overrun-static.patch new file mode 100644 index 0000000..f8e592b --- /dev/null +++ b/a2ps-overrun-static.patch @@ -0,0 +1,12 @@ +diff -up a2ps-4.14/lib/metaseq.c.overrun-static a2ps-4.14/lib/metaseq.c +--- a2ps-4.14/lib/metaseq.c.overrun-static 2011-08-10 16:18:44.924915695 +0100 ++++ a2ps-4.14/lib/metaseq.c 2011-08-10 16:19:04.739555258 +0100 +@@ -334,7 +334,7 @@ grow_user_string_obstack (struct obstack + { + /* `%D{}' format run date with strftime() */ + for (j = 0, i += 2; +- j < sizeof (buf2) && str[i] && str[i] != '}'; ++ j < sizeof (buf2) - 1 && str[i] && str[i] != '}'; + i++, j++) + buf2[j] = str[i]; + if (str[i] != '}') diff --git a/a2ps.spec b/a2ps.spec index a23441e..2b0896b 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -31,6 +31,7 @@ Patch34: a2ps-external-libtool.patch Patch35: a2ps-4.14-texinfo-nodes.patch Patch36: a2ps-forward-null.patch Patch37: a2ps-overrun-dynamic.patch +Patch38: a2ps-overrun-static.patch Requires: fileutils sh-utils info BuildRequires: gperf BuildRequires: emacs, flex, libtool, texinfo, groff @@ -147,6 +148,9 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. # Coverity fix (overrun-dynamic). %patch37 -p1 -b .overrun-dynamic +# Coverity fix (overrun-static). +%patch38 -p1 -b .overrun-static + for file in AUTHORS ChangeLog; do iconv -f latin1 -t UTF-8 < $file > $file.utf8 touch -c -r $file $file.utf8 @@ -287,6 +291,7 @@ exit 0 %changelog * Wed Aug 10 2011 Tim Waugh - 4.14-13 +- Coverity fix (overrun-static). - Coverity fix (overrun-dynamic). - Coverity fix (forward-null). From d3d4e266e71678c12d46710c52c720c3c5c58b98 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Wed, 10 Aug 2011 16:48:11 +0100 Subject: [PATCH 25/85] Coverity fix (resource-leak). --- a2ps-resource-leak.patch | 49 ++++++++++++++++++++++++++++++++++++++++ a2ps.spec | 5 ++++ 2 files changed, 54 insertions(+) create mode 100644 a2ps-resource-leak.patch diff --git a/a2ps-resource-leak.patch b/a2ps-resource-leak.patch new file mode 100644 index 0000000..d84d0cd --- /dev/null +++ b/a2ps-resource-leak.patch @@ -0,0 +1,49 @@ +diff -up a2ps-4.14/lib/encoding.c.resource-leak a2ps-4.14/lib/encoding.c +--- a2ps-4.14/lib/encoding.c.resource-leak 2011-08-10 16:02:26.244905923 +0100 ++++ a2ps-4.14/lib/encoding.c 2011-08-10 16:41:39.578353192 +0100 +@@ -554,7 +554,7 @@ encoding_resolve_font_substitute (struct + if (!res) + { + if (encoding->default_font) +- res = encoding->default_font; ++ res = xstrdup (encoding->default_font); + else + error (1, 0, "Cannot find font %s, nor any substitute", + font_name); +@@ -976,6 +976,7 @@ dump_encoding_setup (FILE * stream, + font_names [i]); + if (!font_is_to_reencode (job, real_font_name)) + da_remove_at (encoding->font_names_used, i, (da_map_func_t) free); ++ free (real_font_name); + } + + /* The number of fonts that, finally, have to be encoded +@@ -992,10 +993,16 @@ dump_encoding_setup (FILE * stream, + fprintf (stream, "/%sdict %d dict begin\n", encoding->key, + (encoding->composite_flag == true)? nb+nb+ns:nb+ns); + for (i = 0 ; i < nb ; i++) +- fprintf (stream, " /f%s %sEncoding /%s reencode_font\n", +- font_names [i], +- encoding->name, +- encoding_resolve_font_substitute (job, encoding, font_names [i])); ++ { ++ char *real_font = encoding_resolve_font_substitute (job, encoding, ++ font_names [i]); ++ fprintf (stream, " /f%s %sEncoding /%s reencode_font\n", ++ font_names [i], ++ encoding->name, ++ real_font); ++ free (real_font); ++ } ++ + + /* Slant font setting */ + for (i = 0 ; encoding->slantfont[i].name ; i++ ) +@@ -1166,6 +1173,7 @@ encoding_build_faces_wx (a2ps_job * job, + encoding->vector, + encoding->faces_wx [face]); + ++ free (true_font_name); + if (encoding->composite_flag) + { + encoding->composite_raito[i] = diff --git a/a2ps.spec b/a2ps.spec index 2b0896b..947a345 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -32,6 +32,7 @@ Patch35: a2ps-4.14-texinfo-nodes.patch Patch36: a2ps-forward-null.patch Patch37: a2ps-overrun-dynamic.patch Patch38: a2ps-overrun-static.patch +Patch39: a2ps-resource-leak.patch Requires: fileutils sh-utils info BuildRequires: gperf BuildRequires: emacs, flex, libtool, texinfo, groff @@ -151,6 +152,9 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. # Coverity fix (overrun-static). %patch38 -p1 -b .overrun-static +# Coverity fix (resource-leak). +%patch39 -p1 -b .resource-leak + for file in AUTHORS ChangeLog; do iconv -f latin1 -t UTF-8 < $file > $file.utf8 touch -c -r $file $file.utf8 @@ -291,6 +295,7 @@ exit 0 %changelog * Wed Aug 10 2011 Tim Waugh - 4.14-13 +- Coverity fix (resource-leak). - Coverity fix (overrun-static). - Coverity fix (overrun-dynamic). - Coverity fix (forward-null). From df5a8244c613e180c50b74367adb166b915554a3 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Wed, 10 Aug 2011 16:48:53 +0100 Subject: [PATCH 26/85] Tidied changelog entry. --- a2ps.spec | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index 947a345..966e3a0 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -295,10 +295,8 @@ exit 0 %changelog * Wed Aug 10 2011 Tim Waugh - 4.14-13 -- Coverity fix (resource-leak). -- Coverity fix (overrun-static). -- Coverity fix (overrun-dynamic). -- Coverity fix (forward-null). +- Coverity fixes (resource-leak, overrun-static, overrun-dynamic, + forward-null). * Mon Feb 07 2011 Fedora Release Engineering - 4.14-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From d2cd388054b03fab0a738182a2638964f3547da7 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 12 Jan 2012 14:55:46 -0600 Subject: [PATCH 27/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 966e3a0..db07e9a 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 13%{?dist} +Release: 14%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -294,6 +294,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Thu Jan 12 2012 Fedora Release Engineering - 4.14-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + * Wed Aug 10 2011 Tim Waugh - 4.14-13 - Coverity fixes (resource-leak, overrun-static, overrun-dynamic, forward-null). From f7903682032b7a373a9381249c2118696355ed19 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Wed, 4 Apr 2012 09:27:00 +0100 Subject: [PATCH 28/85] Link to libm in liba2ps (bug #809673). --- a2ps-lm.patch | 25 +++++++++++++++++++++++++ a2ps.spec | 9 ++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 a2ps-lm.patch diff --git a/a2ps-lm.patch b/a2ps-lm.patch new file mode 100644 index 0000000..b4d5908 --- /dev/null +++ b/a2ps-lm.patch @@ -0,0 +1,25 @@ +diff -up a2ps-4.14/lib/Makefile.am.lm a2ps-4.14/lib/Makefile.am +--- a2ps-4.14/lib/Makefile.am.lm 2007-12-29 01:38:03.000000000 +0000 ++++ a2ps-4.14/lib/Makefile.am 2012-04-04 09:25:00.709845857 +0100 +@@ -32,7 +32,7 @@ YFLAGS = -dtv + GPERFFLAGS = -t -D -L ANSI-C + BUILT_SOURCES = parseppd.c parseppd.h liba2ps.h confg.c + +-liba2ps_la_LIBADD = @LTALLOCA@ @LTLIBOBJS@ ++liba2ps_la_LIBADD = @LTALLOCA@ @LTLIBOBJS@ -lm + liba2ps_la_LDFLAGS = -version-info @LIBVERSION@ + + liba2psheaders = encoding.h media.h jobs.h output.h \ +diff -up a2ps-4.14/lib/Makefile.in.lm a2ps-4.14/lib/Makefile.in +--- a2ps-4.14/lib/Makefile.in.lm 2012-04-04 09:25:25.091842586 +0100 ++++ a2ps-4.14/lib/Makefile.in 2012-04-04 09:25:32.889841559 +0100 +@@ -322,7 +322,7 @@ INCLUDES = -I$(top_builddir) -I$(top_bui + # Use a struct, handle duplicates, produce ANSI-C + GPERFFLAGS = -t -D -L ANSI-C + BUILT_SOURCES = parseppd.c parseppd.h liba2ps.h confg.c +-liba2ps_la_LIBADD = @LTALLOCA@ @LTLIBOBJS@ ++liba2ps_la_LIBADD = @LTALLOCA@ @LTLIBOBJS@ -lm + liba2ps_la_LDFLAGS = -version-info @LIBVERSION@ + liba2psheaders = encoding.h media.h jobs.h output.h \ + routines.h psgen.h prolog.h faces.h confg.h useropt.h \ +diff -up a2ps-4.14/Makefile.in.lm a2ps-4.14/Makefile.in diff --git a/a2ps.spec b/a2ps.spec index db07e9a..3b01d4b 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,13 +1,14 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 14%{?dist} +Release: 15%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz Patch0: a2ps-4.13-conf.patch Patch1: a2ps-4.13-etc.patch +Patch2: a2ps-lm.patch Patch3: a2ps-4.13-security.patch Patch4: a2ps-4.13-glibcpaper.patch Patch7: a2ps-sort.patch @@ -96,6 +97,9 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. # add /etc/a2ps in directories searched for config files %patch1 -p1 -b .etc +# Link to libm in liba2ps (bug #809673). +%patch2 -p1 -b .lm + %patch3 -p1 -b .security %patch4 -p1 -b .glibcpaper %patch7 -p1 -b .sort @@ -294,6 +298,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Wed Apr 4 2012 Tim Waugh - 4.14-15 +- Link to libm in liba2ps (bug #809673). + * Thu Jan 12 2012 Fedora Release Engineering - 4.14-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild From 85bd7b3f74a8a3b7275e38b2643f77aa3563b3bd Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 18 Jul 2012 10:25:25 -0500 Subject: [PATCH 29/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 3b01d4b..33de37b 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 15%{?dist} +Release: 16%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -298,6 +298,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Wed Jul 18 2012 Fedora Release Engineering - 4.14-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Wed Apr 4 2012 Tim Waugh - 4.14-15 - Link to libm in liba2ps (bug #809673). From ea14fed73b072ab7c5a185a7ac7a699322f30fb4 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 13 Feb 2013 10:11:35 -0600 Subject: [PATCH 30/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 33de37b..decb092 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 16%{?dist} +Release: 17%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -298,6 +298,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Wed Feb 13 2013 Fedora Release Engineering - 4.14-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Wed Jul 18 2012 Fedora Release Engineering - 4.14-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild From ffd4331b04c27ee8d6e879b100ed2fd38852dc43 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Tue, 26 Mar 2013 14:57:40 +0000 Subject: [PATCH 31/85] Fixed texi build failure (bug #927633). Resolves: rhbz#927633 --- a2ps-texi-comments.patch | 17 +++++++++++++++++ a2ps.spec | 10 +++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 a2ps-texi-comments.patch diff --git a/a2ps-texi-comments.patch b/a2ps-texi-comments.patch new file mode 100644 index 0000000..8ccf6f5 --- /dev/null +++ b/a2ps-texi-comments.patch @@ -0,0 +1,17 @@ +--- a2ps-4.14/doc/a2ps.texi.texifail 2013-03-26 12:50:06.624762058 +0000 ++++ a2ps-4.14/doc/a2ps.texi 2013-03-26 14:44:10.204929702 +0000 +@@ -22,12 +22,12 @@ + @c `a2ps'. Avoid those quotes. + @iftex + @macro pack +-@code{@value{PACKAGE}}@c ++@code{@value{PACKAGE}} + @end macro + @end iftex + @ifnottex + @macro pack +-@value{PACKAGE}@c ++@value{PACKAGE} + @end macro + @end ifnottex + diff --git a/a2ps.spec b/a2ps.spec index decb092..bf2fad7 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 17%{?dist} +Release: 18%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -11,6 +11,7 @@ Patch1: a2ps-4.13-etc.patch Patch2: a2ps-lm.patch Patch3: a2ps-4.13-security.patch Patch4: a2ps-4.13-glibcpaper.patch +Patch5: a2ps-texi-comments.patch Patch7: a2ps-sort.patch Patch8: a2ps-iso5-minus.patch Patch9: a2ps-perl.patch @@ -102,6 +103,10 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. %patch3 -p1 -b .security %patch4 -p1 -b .glibcpaper + +# Fix texi build failure (bug #927633). +%patch5 -p1 -b .texi-comments + %patch7 -p1 -b .sort %patch8 -p1 -b .iso5-minus %patch9 -p1 -b .perl @@ -298,6 +303,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Tue Mar 26 2013 Tim Waugh - 4.14-18 +- Fixed texi build failure (bug #927633). + * Wed Feb 13 2013 Fedora Release Engineering - 4.14-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild From 429d692d725b77190f22a7016198dd148edc6bc1 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Mon, 29 Apr 2013 13:15:46 +0100 Subject: [PATCH 32/85] Support for building on aarch64 (bug #924962). --- a2ps-aarch64.patch | 1629 ++++++++++++++++++++++++++++++++++++++++++++ a2ps.spec | 7 +- 2 files changed, 1635 insertions(+), 1 deletion(-) create mode 100644 a2ps-aarch64.patch diff --git a/a2ps-aarch64.patch b/a2ps-aarch64.patch new file mode 100644 index 0000000..a55bf9f --- /dev/null +++ b/a2ps-aarch64.patch @@ -0,0 +1,1629 @@ +diff -up a2ps-4.14/auxdir/config.guess.aarch64 a2ps-4.14/auxdir/config.guess +--- a2ps-4.14/auxdir/config.guess.aarch64 2007-12-29 03:28:06.000000000 +0000 ++++ a2ps-4.14/auxdir/config.guess 2013-04-29 13:13:51.035686658 +0100 +@@ -1,10 +1,10 @@ + #! /bin/sh + # Attempt to guess a canonical system name. + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +-# Inc. ++# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, ++# 2011, 2012 Free Software Foundation, Inc. + +-timestamp='2007-07-22' ++timestamp='2012-09-25' + + # This file is free software; you can redistribute it and/or modify it + # under the terms of the GNU General Public License as published by +@@ -17,9 +17,7 @@ timestamp='2007-07-22' + # 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. ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -27,16 +25,16 @@ timestamp='2007-07-22' + # the same distribution terms that you use for the rest of that program. + + +-# Originally written by Per Bothner . +-# Please send patches to . Submit a context +-# diff and a properly formatted ChangeLog entry. ++# Originally written by Per Bothner. Please send patches (context ++# diff format) to and include a ChangeLog ++# entry. + # + # This script attempts to guess a canonical system name similar to + # config.sub. If it succeeds, it prints the system name on stdout, and + # exits with 0. Otherwise, it exits with 1. + # +-# The plan is that this can be called by configure scripts if you +-# don't specify an explicit build system type. ++# You can get the latest version of this script from: ++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD + + me=`echo "$0" | sed -e 's,.*/,,'` + +@@ -56,7 +54,8 @@ version="\ + GNU config.guess ($timestamp) + + Originally written by Per Bothner. +-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, ++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 + Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO +@@ -144,7 +143,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` | + case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or +- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, ++ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward +@@ -170,7 +169,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ +- | grep __ELF__ >/dev/null ++ | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? +@@ -180,7 +179,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ + fi + ;; + *) +- os=netbsd ++ os=netbsd + ;; + esac + # The OS release +@@ -201,6 +200,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; ++ *:Bitrig:*:*) ++ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` ++ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} ++ exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} +@@ -223,7 +226,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) +- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on +@@ -269,7 +272,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` +- exit ;; ++ # Reset EXIT trap before exiting to avoid spurious non-zero exit code. ++ exitcode=$? ++ trap '' 0 ++ exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead +@@ -295,12 +301,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) +- echo powerpc-ibm-os400 ++ echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; +- arm:riscos:*:*|arm:RISCOS:*:*) ++ arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) +@@ -324,14 +330,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; ++ s390x:SunOS:*:*) ++ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; ++ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) ++ echo i386-pc-auroraux${UNAME_RELEASE} ++ exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) +- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` ++ eval $set_cc_for_build ++ SUN_ARCH="i386" ++ # If there is a compiler, see if it is configured for 64-bit objects. ++ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. ++ # This test works for both compilers. ++ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then ++ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ ++ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ ++ grep IS_64BIT_ARCH >/dev/null ++ then ++ SUN_ARCH="x86_64" ++ fi ++ fi ++ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize +@@ -375,23 +400,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} ++ echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} +- exit ;; ++ exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} ++ echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) +- echo m68k-milan-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-milan-mint${UNAME_RELEASE} ++ exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) +- echo m68k-hades-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-hades-mint${UNAME_RELEASE} ++ exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) +- echo m68k-unknown-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-unknown-mint${UNAME_RELEASE} ++ exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; +@@ -461,8 +486,8 @@ EOF + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) +- # DG/UX returns AViiON for all architectures +- UNAME_PROCESSOR=`/usr/bin/uname -p` ++ # DG/UX returns AViiON for all architectures ++ UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ +@@ -475,7 +500,7 @@ EOF + else + echo i586-dg-dgux${UNAME_RELEASE} + fi +- exit ;; ++ exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; +@@ -532,7 +557,7 @@ EOF + echo rs6000-ibm-aix3.2 + fi + exit ;; +- *:AIX:*:[45]) ++ *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 +@@ -575,52 +600,52 @@ EOF + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` +- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` +- case "${sc_cpu_version}" in +- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 +- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 +- 532) # CPU_PA_RISC2_0 +- case "${sc_kernel_bits}" in +- 32) HP_ARCH="hppa2.0n" ;; +- 64) HP_ARCH="hppa2.0w" ;; ++ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` ++ case "${sc_cpu_version}" in ++ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 ++ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 ++ 532) # CPU_PA_RISC2_0 ++ case "${sc_kernel_bits}" in ++ 32) HP_ARCH="hppa2.0n" ;; ++ 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 +- esac ;; +- esac ++ esac ;; ++ esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ sed 's/^ //' << EOF >$dummy.c + +- #define _HPUX_SOURCE +- #include +- #include +- +- int main () +- { +- #if defined(_SC_KERNEL_BITS) +- long bits = sysconf(_SC_KERNEL_BITS); +- #endif +- long cpu = sysconf (_SC_CPU_VERSION); +- +- switch (cpu) +- { +- case CPU_PA_RISC1_0: puts ("hppa1.0"); break; +- case CPU_PA_RISC1_1: puts ("hppa1.1"); break; +- case CPU_PA_RISC2_0: +- #if defined(_SC_KERNEL_BITS) +- switch (bits) +- { +- case 64: puts ("hppa2.0w"); break; +- case 32: puts ("hppa2.0n"); break; +- default: puts ("hppa2.0"); break; +- } break; +- #else /* !defined(_SC_KERNEL_BITS) */ +- puts ("hppa2.0"); break; +- #endif +- default: puts ("hppa1.0"); break; +- } +- exit (0); +- } ++ #define _HPUX_SOURCE ++ #include ++ #include ++ ++ int main () ++ { ++ #if defined(_SC_KERNEL_BITS) ++ long bits = sysconf(_SC_KERNEL_BITS); ++ #endif ++ long cpu = sysconf (_SC_CPU_VERSION); ++ ++ switch (cpu) ++ { ++ case CPU_PA_RISC1_0: puts ("hppa1.0"); break; ++ case CPU_PA_RISC1_1: puts ("hppa1.1"); break; ++ case CPU_PA_RISC2_0: ++ #if defined(_SC_KERNEL_BITS) ++ switch (bits) ++ { ++ case 64: puts ("hppa2.0w"); break; ++ case 32: puts ("hppa2.0n"); break; ++ default: puts ("hppa2.0"); break; ++ } break; ++ #else /* !defined(_SC_KERNEL_BITS) */ ++ puts ("hppa2.0"); break; ++ #endif ++ default: puts ("hppa1.0"); break; ++ } ++ exit (0); ++ } + EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa +@@ -640,7 +665,7 @@ EOF + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | +- grep __LP64__ >/dev/null ++ grep -q __LP64__ + then + HP_ARCH="hppa2.0w" + else +@@ -711,22 +736,22 @@ EOF + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd +- exit ;; ++ exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi +- exit ;; ++ exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd +- exit ;; ++ exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd +- exit ;; ++ exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd +- exit ;; ++ exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; +@@ -750,14 +775,14 @@ EOF + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` +- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` +- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` +- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" +- exit ;; ++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` ++ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` ++ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ++ exit ;; + 5000:UNIX_System_V:4.*:*) +- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` +- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` +- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` ++ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` ++ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} +@@ -769,40 +794,51 @@ EOF + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) +- case ${UNAME_MACHINE} in +- pc98) +- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; ++ UNAME_PROCESSOR=`/usr/bin/uname -p` ++ case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) +- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; ++ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; ++ *:MINGW64*:*) ++ echo ${UNAME_MACHINE}-pc-mingw64 ++ exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; ++ i*:MSYS*:*) ++ echo ${UNAME_MACHINE}-pc-msys ++ exit ;; + i*:windows32*:*) +- # uname -m includes "-pc" on this system. +- echo ${UNAME_MACHINE}-mingw32 ++ # uname -m includes "-pc" on this system. ++ echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; +- *:Interix*:[3456]*) +- case ${UNAME_MACHINE} in ++ *:Interix*:*) ++ case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; +- EM64T | authenticamd) ++ authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; ++ IA64) ++ echo ia64-unknown-interix${UNAME_RELEASE} ++ exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; ++ 8664:Windows_NT:*) ++ echo x86_64-pc-mks ++ exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we +@@ -832,20 +868,68 @@ EOF + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; +- arm*:Linux:*:*) ++ aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; ++ aarch64_be:Linux:*:*) ++ UNAME_MACHINE=aarch64_be ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; ++ alpha:Linux:*:*) ++ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in ++ EV5) UNAME_MACHINE=alphaev5 ;; ++ EV56) UNAME_MACHINE=alphaev56 ;; ++ PCA56) UNAME_MACHINE=alphapca56 ;; ++ PCA57) UNAME_MACHINE=alphapca56 ;; ++ EV6) UNAME_MACHINE=alphaev6 ;; ++ EV67) UNAME_MACHINE=alphaev67 ;; ++ EV68*) UNAME_MACHINE=alphaev68 ;; ++ esac ++ objdump --private-headers /bin/sh | grep -q ld.so.1 ++ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi ++ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ++ exit ;; ++ arm*:Linux:*:*) ++ eval $set_cc_for_build ++ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep -q __ARM_EABI__ ++ then ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ else ++ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep -q __ARM_PCS_VFP ++ then ++ echo ${UNAME_MACHINE}-unknown-linux-gnueabi ++ else ++ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf ++ fi ++ fi ++ exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) +- echo cris-axis-linux-gnu ++ echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) +- echo crisv32-axis-linux-gnu ++ echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + frv:Linux:*:*) +- echo frv-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; ++ hexagon:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; ++ i*86:Linux:*:*) ++ LIBC=gnu ++ eval $set_cc_for_build ++ sed 's/^ //' << EOF >$dummy.c ++ #ifdef __dietlibc__ ++ LIBC=dietlibc ++ #endif ++EOF ++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` ++ echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu +@@ -856,74 +940,33 @@ EOF + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; +- mips:Linux:*:*) ++ mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU +- #undef mips +- #undef mipsel ++ #undef ${UNAME_MACHINE} ++ #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) +- CPU=mipsel ++ CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) +- CPU=mips ++ CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif + EOF +- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' +- /^CPU/{ +- s: ::g +- p +- }'`" +- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } +- ;; +- mips64:Linux:*:*) +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c +- #undef CPU +- #undef mips64 +- #undef mips64el +- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) +- CPU=mips64el +- #else +- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) +- CPU=mips64 +- #else +- CPU= +- #endif +- #endif +-EOF +- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' +- /^CPU/{ +- s: ::g +- p +- }'`" ++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) +- echo or32-unknown-linux-gnu +- exit ;; +- ppc:Linux:*:*) +- echo powerpc-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; +- ppc64:Linux:*:*) +- echo powerpc64-unknown-linux-gnu ++ padre:Linux:*:*) ++ echo sparc-unknown-linux-gnu + exit ;; +- alpha:Linux:*:*) +- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in +- EV5) UNAME_MACHINE=alphaev5 ;; +- EV56) UNAME_MACHINE=alphaev56 ;; +- PCA56) UNAME_MACHINE=alphapca56 ;; +- PCA57) UNAME_MACHINE=alphapca56 ;; +- EV6) UNAME_MACHINE=alphaev6 ;; +- EV67) UNAME_MACHINE=alphaev67 ;; +- EV68*) UNAME_MACHINE=alphaev68 ;; +- esac +- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null +- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi +- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ++ parisc64:Linux:*:* | hppa64:Linux:*:*) ++ echo hppa64-unknown-linux-gnu + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level +@@ -933,14 +976,17 @@ EOF + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; +- parisc64:Linux:*:* | hppa64:Linux:*:*) +- echo hppa64-unknown-linux-gnu ++ ppc64:Linux:*:*) ++ echo powerpc64-unknown-linux-gnu ++ exit ;; ++ ppc:Linux:*:*) ++ echo powerpc-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu +@@ -948,78 +994,18 @@ EOF + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; ++ tile*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) +- echo x86_64-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; +- xtensa:Linux:*:*) +- echo xtensa-unknown-linux-gnu ++ xtensa*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; +- i*86:Linux:*:*) +- # The BFD linker knows what the default object file format is, so +- # first see if it will tell us. cd to the root directory to prevent +- # problems with other programs or directories called `ld' in the path. +- # Set LC_ALL=C to ensure ld outputs messages in English. +- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ +- | sed -ne '/supported targets:/!d +- s/[ ][ ]*/ /g +- s/.*supported targets: *// +- s/ .*// +- p'` +- case "$ld_supported_targets" in +- elf32-i386) +- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" +- ;; +- a.out-i386-linux) +- echo "${UNAME_MACHINE}-pc-linux-gnuaout" +- exit ;; +- coff-i386) +- echo "${UNAME_MACHINE}-pc-linux-gnucoff" +- exit ;; +- "") +- # Either a pre-BFD a.out linker (linux-gnuoldld) or +- # one that does not give us useful --help. +- echo "${UNAME_MACHINE}-pc-linux-gnuoldld" +- exit ;; +- esac +- # Determine whether the default compiler is a.out or elf +- eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c +- #include +- #ifdef __ELF__ +- # ifdef __GLIBC__ +- # if __GLIBC__ >= 2 +- LIBC=gnu +- # else +- LIBC=gnulibc1 +- # endif +- # else +- LIBC=gnulibc1 +- # endif +- #else +- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) +- LIBC=gnu +- #else +- LIBC=gnuaout +- #endif +- #endif +- #ifdef __dietlibc__ +- LIBC=dietlibc +- #endif +-EOF +- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' +- /^LIBC/{ +- s: ::g +- p +- }'`" +- test x"${LIBC}" != x && { +- echo "${UNAME_MACHINE}-pc-linux-${LIBC}" +- exit +- } +- test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } +- ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both +@@ -1027,11 +1013,11 @@ EOF + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) +- # Unixware is an offshoot of SVR4, but it has its own version +- # number series starting with 2... +- # I am not positive that other SVR4 systems won't match this, ++ # Unixware is an offshoot of SVR4, but it has its own version ++ # number series starting with 2... ++ # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. +- # Use sysv4.2uw... so that sysv4* matches it. ++ # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) +@@ -1048,7 +1034,7 @@ EOF + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; +- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) ++ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) +@@ -1063,7 +1049,7 @@ EOF + fi + exit ;; + i*86:*:5:[678]*) +- # UnixWare 7.x, OpenUNIX and OpenServer 6. ++ # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; +@@ -1091,10 +1077,13 @@ EOF + exit ;; + pc:*:*:*) + # Left here for compatibility: +- # uname -m prints for DJGPP always 'pc', but it prints nothing about +- # the processor, so we play safe by assuming i386. +- echo i386-pc-msdosdjgpp +- exit ;; ++ # uname -m prints for DJGPP always 'pc', but it prints nothing about ++ # the processor, so we play safe by assuming i586. ++ # Note: whatever this is, it MUST be the same as what config.sub ++ # prints for the "djgpp" host, or else GDB configury will decide that ++ # this is a cross-build. ++ echo i586-pc-msdosdjgpp ++ exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; +@@ -1129,8 +1118,18 @@ EOF + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) +- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ +- && { echo i486-ncr-sysv4; exit; } ;; ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && { echo i486-ncr-sysv4; exit; } ;; ++ NCR*:*:4.2:* | MPRAS*:*:4.2:*) ++ OS_REL='.3' ++ test -r /etc/.relid \ ++ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } ++ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ ++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ++ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ ++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; +@@ -1143,7 +1142,7 @@ EOF + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; +- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) ++ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) +@@ -1163,10 +1162,10 @@ EOF + echo ns32k-sni-sysv + fi + exit ;; +- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort +- # says +- echo i586-unisys-sysv4 +- exit ;; ++ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort ++ # says ++ echo i586-unisys-sysv4 ++ exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm +@@ -1192,11 +1191,11 @@ EOF + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then +- echo mips-nec-sysv${UNAME_RELEASE} ++ echo mips-nec-sysv${UNAME_RELEASE} + else +- echo mips-unknown-sysv${UNAME_RELEASE} ++ echo mips-unknown-sysv${UNAME_RELEASE} + fi +- exit ;; ++ exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; +@@ -1206,6 +1205,12 @@ EOF + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; ++ BePC:Haiku:*:*) # Haiku running on Intel PC compatible. ++ echo i586-pc-haiku ++ exit ;; ++ x86_64:Haiku:*:*) ++ echo x86_64-unknown-haiku ++ exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; +@@ -1233,6 +1238,16 @@ EOF + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in ++ i386) ++ eval $set_cc_for_build ++ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then ++ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ ++ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ ++ grep IS_64BIT_ARCH >/dev/null ++ then ++ UNAME_PROCESSOR="x86_64" ++ fi ++ fi ;; + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} +@@ -1248,7 +1263,10 @@ EOF + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; +- NSE-?:NONSTOP_KERNEL:*:*) ++ NEO-?:NONSTOP_KERNEL:*:*) ++ echo neo-tandem-nsk${UNAME_RELEASE} ++ exit ;; ++ NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) +@@ -1293,13 +1311,13 @@ EOF + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) +- echo mips-sei-seiux${UNAME_RELEASE} ++ echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) +- UNAME_MACHINE=`(uname -p) 2>/dev/null` ++ UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; +@@ -1314,11 +1332,14 @@ EOF + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; ++ i*86:AROS:*:*) ++ echo ${UNAME_MACHINE}-pc-aros ++ exit ;; ++ x86_64:VMkernel:*:*) ++ echo ${UNAME_MACHINE}-unknown-esx ++ exit ;; + esac + +-#echo '(No uname command or uname output not recognized.)' 1>&2 +-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 +- + eval $set_cc_for_build + cat >$dummy.c < + printf ("m68k-sony-newsos%s\n", + #ifdef NEWSOS4 +- "4" ++ "4" + #else +- "" ++ "" + #endif +- ); exit (0); ++ ); exit (0); + #endif + #endif + +@@ -1474,9 +1495,9 @@ This script, last modified $timestamp, h + the operating system you are using. It is advised that you + download the most up to date version of the config scripts from + +- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess ++ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD + and +- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub ++ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + + If the version you run ($0) is already up to date, please + send the following data and any information you think might be +diff -up a2ps-4.14/auxdir/config.sub.aarch64 a2ps-4.14/auxdir/config.sub +--- a2ps-4.14/auxdir/config.sub.aarch64 2007-12-29 03:28:06.000000000 +0000 ++++ a2ps-4.14/auxdir/config.sub 2013-04-29 13:13:51.037686671 +0100 +@@ -1,10 +1,10 @@ + #! /bin/sh + # Configuration validation subroutine script. + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +-# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +-# Inc. ++# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, ++# 2011, 2012 Free Software Foundation, Inc. + +-timestamp='2007-06-28' ++timestamp='2012-10-10' + + # This file is (in principle) common to ALL GNU software. + # The presence of a machine in this file suggests that SOME GNU software +@@ -21,9 +21,7 @@ timestamp='2007-06-28' + # 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. ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -32,13 +30,16 @@ timestamp='2007-06-28' + + + # Please send patches to . Submit a context +-# diff and a properly formatted ChangeLog entry. ++# diff and a properly formatted GNU ChangeLog entry. + # + # Configuration subroutine to validate and canonicalize a configuration type. + # Supply the specified configuration type as an argument. + # If it is invalid, we print an error message on stderr and exit with code 1. + # Otherwise, we print the canonical config type on stdout and succeed. + ++# You can get the latest version of this script from: ++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD ++ + # This file is supposed to be the same for all GNU packages + # and recognize all the CPU types, system types and aliases + # that are meaningful with *any* GNU software. +@@ -72,7 +73,8 @@ Report bugs and patches to - 4.14-19 +- Support for building on aarch64 (bug #924962). + * Tue Mar 26 2013 Tim Waugh - 4.14-18 - Fixed texi build failure (bug #927633). From e38c5cd5b104881468eeac5ec67a4c54905315d5 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Mon, 29 Apr 2013 14:19:23 +0100 Subject: [PATCH 33/85] Fixed bogus changelog date. --- a2ps.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 0bf3b76..20a8305 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -613,7 +613,7 @@ exit 0 * Thu Apr 26 2001 Florian La Roche - call libtoolize to allow easy porting to new archs -* Thu Feb 28 2001 SATO Satoru +* Wed Feb 28 2001 SATO Satoru - bunzip2-ed all patches except eucjp * Thu Feb 22 2001 SATO Satoru From 27cd62dcec8afe1284fdd1afd17bdf3ac7edade8 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Tue, 30 Apr 2013 11:53:36 +0100 Subject: [PATCH 34/85] Avoid a bad free in the encoding handling logic (bug #954104). --- a2ps-bad-free.patch | 14 ++++++++++++++ a2ps.spec | 9 ++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 a2ps-bad-free.patch diff --git a/a2ps-bad-free.patch b/a2ps-bad-free.patch new file mode 100644 index 0000000..9f03b55 --- /dev/null +++ b/a2ps-bad-free.patch @@ -0,0 +1,14 @@ +diff -up a2ps-4.14/lib/encoding.c.bad-free a2ps-4.14/lib/encoding.c +--- a2ps-4.14/lib/encoding.c.bad-free 2013-04-30 11:49:50.511962062 +0100 ++++ a2ps-4.14/lib/encoding.c 2013-04-30 11:52:18.682573468 +0100 +@@ -541,7 +541,9 @@ encoding_resolve_font_substitute (struct + { + /* Find if there is a substitute for that font */ + res = pair_get (encoding->substitutes, font_name); +- if (!res) ++ if (res) ++ res = xstrdup (res); ++ else + /* No. Check if this font is supported */ + if (font_exists (job, font_name)) + /* Avoid returning sth alloca'd */ diff --git a/a2ps.spec b/a2ps.spec index 20a8305..356db59 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 19%{?dist} +Release: 20%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -23,6 +23,7 @@ Patch12: a2ps-4.13b-attr.patch Patch13: a2ps-4.13b-numeric.patch Patch14: a2ps-4.13b-encoding.patch Patch15: a2ps-4.13b-tilde.patch +Patch16: a2ps-bad-free.patch Patch17: a2ps-4.13-euckr.patch Patch18: a2ps-4.13-gnusource.patch Patch20: a2ps-4.13-hebrew.patch @@ -126,6 +127,9 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. # Fix koi8 tilde (bug #66393). %patch15 -p1 -b .tilde +# Avoid a bad free in the encoding handling logic (bug #954104). +%patch16 -p1 -b .bad-free + # Add Korean resource file (bug #81421). %patch17 -p1 -b .euckr @@ -305,6 +309,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Tue Apr 30 2013 Tim Waugh - 4.14-20 +- Avoid a bad free in the encoding handling logic (bug #954104). + * Mon Apr 29 2013 Tim Waugh - 4.14-19 - Support for building on aarch64 (bug #924962). From 411bf7a91364316735471196c486b2c597e43fbc Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 2 Aug 2013 19:04:53 -0500 Subject: [PATCH 35/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 356db59..d99a2cd 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 20%{?dist} +Release: 21%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -309,6 +309,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Sat Aug 03 2013 Fedora Release Engineering - 4.14-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Tue Apr 30 2013 Tim Waugh - 4.14-20 - Avoid a bad free in the encoding handling logic (bug #954104). From 300aad29b81a8c9f75d0476f95807ffaf9cc843e Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Tue, 3 Dec 2013 15:51:30 +0000 Subject: [PATCH 36/85] Prevent build failure with -Werror=format-security (bug #1036979). Resolves: rhbz#1036979 --- a2ps-format-security.patch | 12 ++++++++++++ a2ps.spec | 9 ++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 a2ps-format-security.patch diff --git a/a2ps-format-security.patch b/a2ps-format-security.patch new file mode 100644 index 0000000..d846589 --- /dev/null +++ b/a2ps-format-security.patch @@ -0,0 +1,12 @@ +diff -up a2ps-4.14/lib/output.c.format-security a2ps-4.14/lib/output.c +--- a2ps-4.14/lib/output.c.format-security 2013-12-03 15:49:51.675971847 +0000 ++++ a2ps-4.14/lib/output.c 2013-12-03 15:49:59.862013165 +0000 +@@ -525,7 +525,7 @@ output_file (struct output * out, a2ps_j + expand_user_string (job, FIRST_FILE (job), + (const uchar *) "Expand: requirement", + (const uchar *) token)); +- output (dest, expansion); ++ output (dest, "%s", expansion); + continue; + } + diff --git a/a2ps.spec b/a2ps.spec index d99a2cd..eec76b6 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 21%{?dist} +Release: 22%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -26,6 +26,7 @@ Patch15: a2ps-4.13b-tilde.patch Patch16: a2ps-bad-free.patch Patch17: a2ps-4.13-euckr.patch Patch18: a2ps-4.13-gnusource.patch +Patch19: a2ps-format-security.patch Patch20: a2ps-4.13-hebrew.patch Patch26: a2ps-make-fonts-map.patch Patch28: a2ps-wdiff.patch @@ -136,6 +137,9 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. # Prevent strsignal segfaulting (bug #104970). %patch18 -p1 -b .gnusource +# Prevent build failure with -Wformat-security (bug #1036979). +%patch19 -p1 -b .format-security + # Hebrew support (bug #113191). %patch20 -p1 -b .hebrew @@ -309,6 +313,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Tue Dec 3 2013 Tim Waugh - 4.14-22 +- Prevent build failure with -Werror=format-security (bug #1036979). + * Sat Aug 03 2013 Fedora Release Engineering - 4.14-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild From 24ab9e38f93462de94488c7f0c2a46c121240593 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Tue, 1 Apr 2014 15:37:48 +0100 Subject: [PATCH 37/85] Invoke gs with the -dSAFER option in fixps (CVE-2014-0466, bug #1082411). Resolves: rhbz#1082411 --- a2ps-CVE-2014-0466.patch | 24 ++++++++++++++++++++++++ a2ps.spec | 9 ++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 a2ps-CVE-2014-0466.patch diff --git a/a2ps-CVE-2014-0466.patch b/a2ps-CVE-2014-0466.patch new file mode 100644 index 0000000..b857019 --- /dev/null +++ b/a2ps-CVE-2014-0466.patch @@ -0,0 +1,24 @@ +diff -up a2ps-4.14/contrib/fixps.in.CVE-2014-0466 a2ps-4.14/contrib/fixps.in +--- a2ps-4.14/contrib/fixps.in.CVE-2014-0466 2014-04-01 15:35:04.168904356 +0100 ++++ a2ps-4.14/contrib/fixps.in 2014-04-01 15:35:36.509060292 +0100 +@@ -389,7 +389,7 @@ if test $task != check; then + eval "$command" ;; + gs) + $verbose "$program: making a full rewrite of the file ($gs)." >&2 +- $gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;; ++ $gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;; + esac + ) + fi +diff -up a2ps-4.14/contrib/fixps.m4.CVE-2014-0466 a2ps-4.14/contrib/fixps.m4 +--- a2ps-4.14/contrib/fixps.m4.CVE-2014-0466 2014-04-01 15:35:06.885917452 +0100 ++++ a2ps-4.14/contrib/fixps.m4 2014-04-01 15:35:48.748119336 +0100 +@@ -307,7 +307,7 @@ if test $task != check; then + eval "$command" ;; + gs) + $verbose "$program: making a full rewrite of the file ($gs)." >&2 +- $gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;; ++ $gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;; + esac + ) + fi diff --git a/a2ps.spec b/a2ps.spec index eec76b6..3b982f8 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 22%{?dist} +Release: 23%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -38,6 +38,7 @@ Patch36: a2ps-forward-null.patch Patch37: a2ps-overrun-dynamic.patch Patch38: a2ps-overrun-static.patch Patch39: a2ps-resource-leak.patch +Patch40: a2ps-CVE-2014-0466.patch Requires: fileutils sh-utils info BuildRequires: gperf BuildRequires: emacs, flex, libtool, texinfo, groff @@ -174,6 +175,9 @@ the emacs-%{name} package to use emacs-%{name} with GNU Emacs. # Coverity fix (resource-leak). %patch39 -p1 -b .resource-leak +# Invoke gs with the -dSAFER option in fixps (CVE-2014-0466, bug #1082411). +%patch40 -p1 -b .CVE-2014-0466 + for file in AUTHORS ChangeLog; do iconv -f latin1 -t UTF-8 < $file > $file.utf8 touch -c -r $file $file.utf8 @@ -313,6 +317,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Tue Apr 1 2014 Tim Waugh - 4.14-23 +- Invoke gs with the -dSAFER option in fixps (CVE-2014-0466, bug #1082411). + * Tue Dec 3 2013 Tim Waugh - 4.14-22 - Prevent build failure with -Werror=format-security (bug #1036979). From 35daddd8d26e09651e46d262e568f58c123056bb Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Thu, 3 Apr 2014 17:57:49 +0100 Subject: [PATCH 38/85] Prevent another build failure with -Werror=format-security. --- a2ps-format-security.patch | 40 ++++++++++++++++++++++++++++++++++++-- a2ps.spec | 5 ++++- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/a2ps-format-security.patch b/a2ps-format-security.patch index d846589..3fbd034 100644 --- a/a2ps-format-security.patch +++ b/a2ps-format-security.patch @@ -1,6 +1,6 @@ diff -up a2ps-4.14/lib/output.c.format-security a2ps-4.14/lib/output.c ---- a2ps-4.14/lib/output.c.format-security 2013-12-03 15:49:51.675971847 +0000 -+++ a2ps-4.14/lib/output.c 2013-12-03 15:49:59.862013165 +0000 +--- a2ps-4.14/lib/output.c.format-security 2007-12-29 01:58:21.000000000 +0000 ++++ a2ps-4.14/lib/output.c 2014-04-03 18:24:35.259901356 +0100 @@ -525,7 +525,7 @@ output_file (struct output * out, a2ps_j expand_user_string (job, FIRST_FILE (job), (const uchar *) "Expand: requirement", @@ -10,3 +10,39 @@ diff -up a2ps-4.14/lib/output.c.format-security a2ps-4.14/lib/output.c continue; } +diff -up a2ps-4.14/lib/parseppd.y.format-security a2ps-4.14/lib/parseppd.y +--- a2ps-4.14/lib/parseppd.y.format-security 2007-12-29 01:58:21.000000000 +0000 ++++ a2ps-4.14/lib/parseppd.y 2014-04-03 18:24:35.259901356 +0100 +@@ -154,7 +154,7 @@ font_clause : + void + yyerror (const char *msg) + { +- error_at_line (1, 0, ppdfilename, ppdlineno, msg); ++ error_at_line (1, 0, ppdfilename, ppdlineno, "%s", msg); + } + + /* +diff -up a2ps-4.14/lib/psgen.c.format-security a2ps-4.14/lib/psgen.c +--- a2ps-4.14/lib/psgen.c.format-security 2014-04-03 18:24:35.241901276 +0100 ++++ a2ps-4.14/lib/psgen.c 2014-04-03 18:24:35.259901356 +0100 +@@ -232,7 +232,7 @@ output_marker (a2ps_job * job, const cha + default: + *buf = '\0'; + ps_escape_char (job, cp[i], buf); +- output (jdiv, (char *) buf); ++ output (jdiv, "%s", (char *) buf); + break; + } + } +diff -up a2ps-4.14/src/parsessh.y.format-security a2ps-4.14/src/parsessh.y +--- a2ps-4.14/src/parsessh.y.format-security 2014-04-03 18:25:56.011259069 +0100 ++++ a2ps-4.14/src/parsessh.y 2014-04-03 18:26:04.725297585 +0100 +@@ -740,7 +740,7 @@ exception_def_opt: + void + yyerror (const char *msg) + { +- error_at_line (1, 0, sshfilename, sshlineno, msg); ++ error_at_line (1, 0, sshfilename, sshlineno, "%s", msg); + } + + /* diff --git a/a2ps.spec b/a2ps.spec index 3b982f8..3b74977 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 23%{?dist} +Release: 24%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -317,6 +317,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Thu Apr 3 2014 Tim Waugh - 4.14-24 +- Prevent another build failure with -Werror=format-security. + * Tue Apr 1 2014 Tim Waugh - 4.14-23 - Invoke gs with the -dSAFER option in fixps (CVE-2014-0466, bug #1082411). From d74991a40d0679b7316986a5b95ae001ee53d9fd Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 6 Jun 2014 18:55:21 -0500 Subject: [PATCH 39/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 3b74977..b4bdbdb 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 24%{?dist} +Release: 25%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -317,6 +317,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Fri Jun 06 2014 Fedora Release Engineering - 4.14-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Thu Apr 3 2014 Tim Waugh - 4.14-24 - Prevent another build failure with -Werror=format-security. From 20cfa408d37ed305a796b7d54bf7a648e51ebff2 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 15 Aug 2014 19:50:11 +0000 Subject: [PATCH 40/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index b4bdbdb..ebfa539 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 25%{?dist} +Release: 26%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -317,6 +317,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Fri Aug 15 2014 Fedora Release Engineering - 4.14-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Fri Jun 06 2014 Fedora Release Engineering - 4.14-25 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild From 76284077cec6394df051d4a429d76228d4575e8b Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 16 Jun 2015 23:30:54 +0000 Subject: [PATCH 41/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index ebfa539..f47f9c2 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 26%{?dist} +Release: 27%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -317,6 +317,9 @@ exit 0 %{_emacs_sitelispdir}/%{name}/*.el %changelog +* Tue Jun 16 2015 Fedora Release Engineering - 4.14-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Fri Aug 15 2014 Fedora Release Engineering - 4.14-26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From a6d551239871037fd1ed3e7647a1c340146e25d0 Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Tue, 23 Jun 2015 08:46:00 +0100 Subject: [PATCH 42/85] Moved emacs sub-packages into main package (bug #1234582). --- a2ps.spec | 43 ++++++++++--------------------------------- 1 file changed, 10 insertions(+), 33 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index f47f9c2..33f1f42 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 27%{?dist} +Release: 28%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -56,23 +56,16 @@ Requires: tetex-dvips, tetex-latex, tetex-fonts, file, html2ps, psutils-perl # for hebrew support, path set. # culmus-fonts # And certainly other font sets for other languages may be needed +Requires: emacs-filesystem >= %{_emacs_version} Requires(post): coreutils Requires(post): /sbin/install-info Requires(preun): /sbin/install-info Obsoletes: a2ps-i18n <= 0.1-1 Provides: a2ps-i18n = 0.1-2 - - -%package -n emacs-%{name} -Summary: Emacs bindings for a2ps files -Group: Applications/Editors -Requires: emacs(bin) >= %{_emacs_version} - - -%package -n emacs-%{name}-el -Summary: Elisp source files for emacs-%{name} under GNU Emacs -Group: Applications/Editors -Requires: emacs-%{name} = %{version}-%{release} +Obsoletes: emacs-a2ps <= 4.14-27 +Provides: emacs-a2ps <= 4.14-27 +Obsoletes: emacs-a2ps-el <= 4.14-27 +Provides: emacs-a2ps-el <= 4.14-27 %description @@ -82,17 +75,6 @@ number of programming languages, encodings (ISO Latins, Cyrillic, etc.), and medias. -%description -n emacs-%{name} -Postscript printing hook for a2ps and major mode for a2ps style sheets -for emacs. - - -%description -n emacs-%{name}-el -This package contains the elisp source files for emacs-%{name} under GNU -Emacs. You do not need to install this package to run emacs-%{name}. Install -the emacs-%{name} package to use emacs-%{name} with GNU Emacs. - - %prep %setup -q -a 1 @@ -306,17 +288,12 @@ exit 0 %dir %{_datadir}/a2ps/afm %dir %{_datadir}/a2ps %{_libdir}/*.so* - -%files -n emacs-%{name} -%defattr(-,root,root,-) -%dir %{_emacs_sitelispdir}/%{name} -%{_emacs_sitelispdir}/%{name}/*.elc - -%files -n emacs-%{name}-el -%defattr(-,root,root,-) -%{_emacs_sitelispdir}/%{name}/*.el +%{_emacs_sitelispdir}/%{name} %changelog +* Tue Jun 23 2015 Tim Waugh - 4.14-28 +- Moved emacs sub-packages into main package (bug #1234582). + * Tue Jun 16 2015 Fedora Release Engineering - 4.14-27 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild From 8adc1734e86683e568b7ee5521575555cf32891a Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 3 Feb 2016 15:54:22 +0000 Subject: [PATCH 43/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 33f1f42..3a5c56a 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 28%{?dist} +Release: 29%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -291,6 +291,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Wed Feb 03 2016 Fedora Release Engineering - 4.14-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Tue Jun 23 2015 Tim Waugh - 4.14-28 - Moved emacs sub-packages into main package (bug #1234582). From 10866c454d0af97f488dc555c904a586e4efc0e6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 05:39:28 +0000 Subject: [PATCH 44/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 3a5c56a..9b1f294 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 29%{?dist} +Release: 30%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -291,6 +291,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Fri Feb 10 2017 Fedora Release Engineering - 4.14-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Wed Feb 03 2016 Fedora Release Engineering - 4.14-29 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From 98d8a20a333a30fd034e550d16af7fd0e3ac4334 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 02:29:15 +0000 Subject: [PATCH 45/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 9b1f294..5851905 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 30%{?dist} +Release: 31%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -291,6 +291,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 4.14-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Fri Feb 10 2017 Fedora Release Engineering - 4.14-30 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From 369aa10ee5908504ffae3f32bc345b6e1089b5f3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 2 Aug 2017 17:20:06 +0000 Subject: [PATCH 46/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 5851905..f2d377f 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 31%{?dist} +Release: 32%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -291,6 +291,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Wed Aug 02 2017 Fedora Release Engineering - 4.14-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Fedora Release Engineering - 4.14-31 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 8aa5c67f5179e54e6766de4184ea47c49f8d005e Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 7 Nov 2017 16:22:58 +0100 Subject: [PATCH 47/85] Remove old crufty coreutils requires Signed-off-by: Igor Gnatenko --- a2ps.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index f2d377f..52d0da1 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 32%{?dist} +Release: 33%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -39,7 +39,6 @@ Patch37: a2ps-overrun-dynamic.patch Patch38: a2ps-overrun-static.patch Patch39: a2ps-resource-leak.patch Patch40: a2ps-CVE-2014-0466.patch -Requires: fileutils sh-utils info BuildRequires: gperf BuildRequires: emacs, flex, libtool, texinfo, groff BuildRequires: ImageMagick @@ -291,6 +290,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Tue Nov 07 2017 Igor Gnatenko - 4.14-33 +- Remove old crufty coreutils requires + * Wed Aug 02 2017 Fedora Release Engineering - 4.14-32 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 9fbf275fdf4c476c2bf089fdf13a5ecf0bf6b5ee Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 7 Nov 2017 16:29:17 +0100 Subject: [PATCH 48/85] restore Req: info Signed-off-by: Igor Gnatenko --- a2ps.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/a2ps.spec b/a2ps.spec index 52d0da1..ff72688 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -39,6 +39,7 @@ Patch37: a2ps-overrun-dynamic.patch Patch38: a2ps-overrun-static.patch Patch39: a2ps-resource-leak.patch Patch40: a2ps-CVE-2014-0466.patch +Requires: info BuildRequires: gperf BuildRequires: emacs, flex, libtool, texinfo, groff BuildRequires: ImageMagick From da2dd7d7bb446e73474bf9ce4b7c7694dc101c5e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 01:41:57 +0000 Subject: [PATCH 49/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index ff72688..502b8c3 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 33%{?dist} +Release: 34%{?dist} License: GPLv3+ Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -291,6 +291,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 4.14-34 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Tue Nov 07 2017 Igor Gnatenko - 4.14-33 - Remove old crufty coreutils requires From 8ce9d82e820a496251dea0635846fcf48e218524 Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Thu, 8 Feb 2018 15:02:58 +0100 Subject: [PATCH 50/85] remove old stuff https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/MRWOMRZ6KPCV25EFHJ2O67BCCP3L4Y6N/ --- a2ps.spec | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index 502b8c3..67f9073 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,9 +1,8 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 34%{?dist} +Release: 35%{?dist} License: GPLv3+ -Group: Applications/Publishing Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz Patch0: a2ps-4.13-conf.patch @@ -50,7 +49,6 @@ BuildRequires: psutils, tetex-dvips, texinfo, tetex-latex, html2ps # instead of gv, xdg-open should certainly be used #BuildRequires: gv Url: http://www.gnu.org/software/a2ps/ -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: psutils, ImageMagick, texinfo-tex, gzip, bzip2, groff-perl Requires: tetex-dvips, tetex-latex, tetex-fonts, file, html2ps, psutils-perl # for hebrew support, path set. @@ -213,7 +211,6 @@ find src lib -name '*.l' -exec touch {} \; make %{?_smp_mflags} %install -rm -rf %{buildroot} make DESTDIR=%{buildroot} install INSTALL='install -p' # reset the timestamp for the generated etc/README file @@ -237,9 +234,6 @@ rm -f %{buildroot}%{_infodir}/dir %find_lang %name -%clean -rm -rf %{buildroot} - %post /sbin/ldconfig /sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || : @@ -264,7 +258,6 @@ exit 0 %postun -p /sbin/ldconfig %files -f %{name}.lang -%defattr(-,root,root,-) %dir %{_sysconfdir}/a2ps %config %{_sysconfdir}/a2ps.cfg %config(noreplace) %{_sysconfdir}/a2ps-site.cfg @@ -291,6 +284,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Thu Feb 08 2018 Zdenek Dohnal - 4.14-35 +- remove old stuff https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/MRWOMRZ6KPCV25EFHJ2O67BCCP3L4Y6N/ + * Wed Feb 07 2018 Fedora Release Engineering - 4.14-34 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From b97dfa9f33e469f40c348a6791920b8af75b08bc Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Fri, 16 Feb 2018 10:29:46 +0100 Subject: [PATCH 51/85] remove tetex dependency --- a2ps.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index 67f9073..ddc120d 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 35%{?dist} +Release: 36%{?dist} License: GPLv3+ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz @@ -45,12 +45,12 @@ BuildRequires: ImageMagick BuildRequires: groff-perl BuildRequires: cups BuildRequires: gettext, bison -BuildRequires: psutils, tetex-dvips, texinfo, tetex-latex, html2ps +BuildRequires: psutils, texlive-dvips, texinfo, texlive-latex, html2ps # instead of gv, xdg-open should certainly be used #BuildRequires: gv Url: http://www.gnu.org/software/a2ps/ Requires: psutils, ImageMagick, texinfo-tex, gzip, bzip2, groff-perl -Requires: tetex-dvips, tetex-latex, tetex-fonts, file, html2ps, psutils-perl +Requires: texlive-dvips, texlive-latex, texlive-fonts, file, html2ps, psutils-perl # for hebrew support, path set. # culmus-fonts # And certainly other font sets for other languages may be needed @@ -284,6 +284,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Fri Feb 16 2018 Zdenek Dohnal - 4.14-36 +- remove tetex dependency + * Thu Feb 08 2018 Zdenek Dohnal - 4.14-35 - remove old stuff https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/MRWOMRZ6KPCV25EFHJ2O67BCCP3L4Y6N/ From 40e81ead829ec49948a698572d2e468a56e9b7b6 Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Mon, 19 Feb 2018 10:46:05 +0100 Subject: [PATCH 52/85] fix tetex-fonts dependency - now provided by texlive-collections-fontsrecommended --- a2ps.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index ddc120d..61c9945 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 36%{?dist} +Release: 37%{?dist} License: GPLv3+ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz @@ -50,7 +50,7 @@ BuildRequires: psutils, texlive-dvips, texinfo, texlive-latex, html2ps #BuildRequires: gv Url: http://www.gnu.org/software/a2ps/ Requires: psutils, ImageMagick, texinfo-tex, gzip, bzip2, groff-perl -Requires: texlive-dvips, texlive-latex, texlive-fonts, file, html2ps, psutils-perl +Requires: texlive-dvips, texlive-latex, texlive-collection-fontsrecommended, file, html2ps, psutils-perl # for hebrew support, path set. # culmus-fonts # And certainly other font sets for other languages may be needed @@ -284,6 +284,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Mon Feb 19 2018 Zdenek Dohnal - 4.14-37 +- fix tetex-fonts dependency - now provided by texlive-collections-fontsrecommended + * Fri Feb 16 2018 Zdenek Dohnal - 4.14-36 - remove tetex dependency From 5339bd5a0b4d58efe8e6c199f79ac5c42d56e08a Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Mon, 18 Jun 2018 08:17:40 +0200 Subject: [PATCH 53/85] removing install-info, because now it is done automatically --- a2ps.spec | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index 61c9945..7c3bb07 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 37%{?dist} +Release: 38%{?dist} License: GPLv3+ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz @@ -56,8 +56,6 @@ Requires: texlive-dvips, texlive-latex, texlive-collection-fontsrecommended, fil # And certainly other font sets for other languages may be needed Requires: emacs-filesystem >= %{_emacs_version} Requires(post): coreutils -Requires(post): /sbin/install-info -Requires(preun): /sbin/install-info Obsoletes: a2ps-i18n <= 0.1-1 Provides: a2ps-i18n = 0.1-2 Obsoletes: emacs-a2ps <= 4.14-27 @@ -236,9 +234,6 @@ rm -f %{buildroot}%{_infodir}/dir %post /sbin/ldconfig -/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || : -/sbin/install-info %{_infodir}/ogonkify.info %{_infodir}/dir || : -/sbin/install-info %{_infodir}/regex.info %{_infodir}/dir || : (cd %{_datadir}/a2ps/afm; ./make_fonts_map.sh > /dev/null 2>&1 || /bin/true if [ -f fonts.map.new ]; then @@ -247,14 +242,6 @@ rm -f %{buildroot}%{_infodir}/dir ) exit 0 -%preun -if [ $1 = 0 ]; then - /sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || : - /sbin/install-info --delete %{_infodir}/ogonkify.info %{_infodir}/dir || : - /sbin/install-info --delete %{_infodir}/regex.info %{_infodir}/dir || : -fi -exit 0 - %postun -p /sbin/ldconfig %files -f %{name}.lang @@ -284,6 +271,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Mon Jun 18 2018 Zdenek Dohnal - 4.14-38 +- removing install-info, because now it is done automatically + * Mon Feb 19 2018 Zdenek Dohnal - 4.14-37 - fix tetex-fonts dependency - now provided by texlive-collections-fontsrecommended From 397fe87c6c3ef71115f46fed4a6562d4e231a271 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 12 Jul 2018 19:54:16 +0000 Subject: [PATCH 54/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 7c3bb07..9538cbd 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 38%{?dist} +Release: 39%{?dist} License: GPLv3+ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz @@ -271,6 +271,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Thu Jul 12 2018 Fedora Release Engineering - 4.14-39 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Mon Jun 18 2018 Zdenek Dohnal - 4.14-38 - removing install-info, because now it is done automatically From 842014b622143731c420a33af1ebb06be5d42f61 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 22 Jan 2019 18:38:28 +0100 Subject: [PATCH 55/85] Remove obsolete ldconfig scriptlets References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets Signed-off-by: Igor Gnatenko --- a2ps.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index 9538cbd..c917966 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -233,7 +233,7 @@ rm -f %{buildroot}%{_infodir}/dir %find_lang %name %post -/sbin/ldconfig +%{?ldconfig} (cd %{_datadir}/a2ps/afm; ./make_fonts_map.sh > /dev/null 2>&1 || /bin/true if [ -f fonts.map.new ]; then @@ -242,7 +242,7 @@ rm -f %{buildroot}%{_infodir}/dir ) exit 0 -%postun -p /sbin/ldconfig +%ldconfig_postun %files -f %{name}.lang %dir %{_sysconfdir}/a2ps From af5ecbbca5d5bf460ec693bd709a3e5ff16228cc Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 27 Jan 2019 15:23:30 +0100 Subject: [PATCH 56/85] Remove obsolete scriptlets References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets Signed-off-by: Igor Gnatenko --- a2ps.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index c917966..dfc821c 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -38,7 +38,6 @@ Patch37: a2ps-overrun-dynamic.patch Patch38: a2ps-overrun-static.patch Patch39: a2ps-resource-leak.patch Patch40: a2ps-CVE-2014-0466.patch -Requires: info BuildRequires: gperf BuildRequires: emacs, flex, libtool, texinfo, groff BuildRequires: ImageMagick From 77d038e669f7b9d78e0435a54311b3d5740db559 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 12:49:55 +0000 Subject: [PATCH 57/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index dfc821c..d0a4f7a 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 39%{?dist} +Release: 40%{?dist} License: GPLv3+ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz @@ -270,6 +270,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Thu Jan 31 2019 Fedora Release Engineering - 4.14-40 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Thu Jul 12 2018 Fedora Release Engineering - 4.14-39 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From f09d190d37b1f8be24b5a1d96bbfd5aaa8bb6cf1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 17:24:12 +0000 Subject: [PATCH 58/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index d0a4f7a..57fede5 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 40%{?dist} +Release: 41%{?dist} License: GPLv3+ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz @@ -270,6 +270,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Wed Jul 24 2019 Fedora Release Engineering - 4.14-41 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Thu Jan 31 2019 Fedora Release Engineering - 4.14-40 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From bb2acca08c397575f381cbc6ee45a9139f38e55c Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Mon, 6 Jan 2020 18:37:16 +0100 Subject: [PATCH 59/85] a2ps: new texinfo needs to have documentencoding defined --- a2ps-define-texinfo-enc.patch | 10 ++++++++++ a2ps.spec | 9 ++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 a2ps-define-texinfo-enc.patch diff --git a/a2ps-define-texinfo-enc.patch b/a2ps-define-texinfo-enc.patch new file mode 100644 index 0000000..abfd32b --- /dev/null +++ b/a2ps-define-texinfo-enc.patch @@ -0,0 +1,10 @@ +diff --git a/doc/a2ps.texi b/doc/a2ps.texi +index 1b64234..59e0834 100644 +--- a/doc/a2ps.texi ++++ b/doc/a2ps.texi +@@ -1,4 +1,5 @@ + \input texinfo @c -*- texinfo -*- ++@documentencoding utf-8 + @c %**start of header + @setfilename a2ps.info + @settitle General Purpose PostScript Generating Utility diff --git a/a2ps.spec b/a2ps.spec index 57fede5..cbfc274 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 41%{?dist} +Release: 42%{?dist} License: GPLv3+ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz @@ -38,6 +38,7 @@ Patch37: a2ps-overrun-dynamic.patch Patch38: a2ps-overrun-static.patch Patch39: a2ps-resource-leak.patch Patch40: a2ps-CVE-2014-0466.patch +Patch41: a2ps-define-texinfo-enc.patch BuildRequires: gperf BuildRequires: emacs, flex, libtool, texinfo, groff BuildRequires: ImageMagick @@ -155,6 +156,9 @@ and medias. # Invoke gs with the -dSAFER option in fixps (CVE-2014-0466, bug #1082411). %patch40 -p1 -b .CVE-2014-0466 +# new texinfo needs to have documentencoding defined (#1788165) +%patch41 -p1 -b .define-texinfo-enc + for file in AUTHORS ChangeLog; do iconv -f latin1 -t UTF-8 < $file > $file.utf8 touch -c -r $file $file.utf8 @@ -270,6 +274,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Mon Jan 06 2020 Zdenek Dohnal - 4.14-42 +- a2ps: new texinfo needs to have documentencoding defined + * Wed Jul 24 2019 Fedora Release Engineering - 4.14-41 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 762478a4cb678ae4bd7ff84e6fe695462113698e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 11:04:18 +0000 Subject: [PATCH 60/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index cbfc274..b9b1884 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 42%{?dist} +Release: 43%{?dist} License: GPLv3+ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz @@ -274,6 +274,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Tue Jan 28 2020 Fedora Release Engineering - 4.14-43 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Mon Jan 06 2020 Zdenek Dohnal - 4.14-42 - a2ps: new texinfo needs to have documentencoding defined From 67247b7ee8bcc7c704b78b27446aa9dde1a17b03 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 11:37:41 +0000 Subject: [PATCH 61/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index b9b1884..8530af8 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 43%{?dist} +Release: 44%{?dist} License: GPLv3+ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz @@ -274,6 +274,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 4.14-44 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue Jan 28 2020 Fedora Release Engineering - 4.14-43 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 82af1a113097a16246c01e3f50c94e81f910e625 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 31 Jul 2020 23:45:57 +0000 Subject: [PATCH 62/85] - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- a2ps.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 8530af8..6bebb25 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 44%{?dist} +Release: 45%{?dist} License: GPLv3+ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz @@ -274,6 +274,10 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Fri Jul 31 2020 Fedora Release Engineering - 4.14-45 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Mon Jul 27 2020 Fedora Release Engineering - 4.14-44 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 7a470e3ec59b3e0d50b6c7f0202a0b2abcbe68b7 Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Thu, 5 Nov 2020 07:03:18 +0100 Subject: [PATCH 63/85] make nor gcc are in buildroot anymore --- a2ps.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 6bebb25..c97c9b2 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 45%{?dist} +Release: 46%{?dist} License: GPLv3+ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz @@ -46,6 +46,9 @@ BuildRequires: groff-perl BuildRequires: cups BuildRequires: gettext, bison BuildRequires: psutils, texlive-dvips, texinfo, texlive-latex, html2ps +# gcc and make no longer in buildroot by default +BuildRequires: gcc +BuildRequires: make # instead of gv, xdg-open should certainly be used #BuildRequires: gv Url: http://www.gnu.org/software/a2ps/ @@ -274,6 +277,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Thu Nov 05 2020 Zdenek Dohnal - 4.14-46 +- make nor gcc are in buildroot anymore + * Fri Jul 31 2020 Fedora Release Engineering - 4.14-45 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 49de73a263ac1c575d9d156f8a0428da72e4eb16 Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Tue, 19 Jan 2021 08:32:17 +0100 Subject: [PATCH 64/85] make eln changes - remove dependency on ImageMagick and html2ps --- a2ps.spec | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index c97c9b2..6033c21 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 46%{?dist} +Release: 47%{?dist} License: GPLv3+ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz @@ -41,19 +41,26 @@ Patch40: a2ps-CVE-2014-0466.patch Patch41: a2ps-define-texinfo-enc.patch BuildRequires: gperf BuildRequires: emacs, flex, libtool, texinfo, groff +%if 0%{?rhel} <= 8 || 0%{?fedora} BuildRequires: ImageMagick +BuildRequires: html2ps +%endif BuildRequires: groff-perl BuildRequires: cups BuildRequires: gettext, bison -BuildRequires: psutils, texlive-dvips, texinfo, texlive-latex, html2ps +BuildRequires: psutils, texlive-dvips, texinfo, texlive-latex # gcc and make no longer in buildroot by default BuildRequires: gcc BuildRequires: make # instead of gv, xdg-open should certainly be used #BuildRequires: gv Url: http://www.gnu.org/software/a2ps/ -Requires: psutils, ImageMagick, texinfo-tex, gzip, bzip2, groff-perl -Requires: texlive-dvips, texlive-latex, texlive-collection-fontsrecommended, file, html2ps, psutils-perl +Requires: psutils, texinfo-tex, gzip, bzip2, groff-perl +%if 0%{?rhel} <= 8 || 0%{?fedora} +Requires: ImageMagick +Requires: html2ps +%endif +Requires: texlive-dvips, texlive-latex, texlive-collection-fontsrecommended, file, psutils-perl # for hebrew support, path set. # culmus-fonts # And certainly other font sets for other languages may be needed @@ -277,6 +284,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Mon Jan 18 2021 Zdenek Dohnal - 4.14-47 +- make eln changes - remove dependency on ImageMagick and html2ps + * Thu Nov 05 2020 Zdenek Dohnal - 4.14-46 - make nor gcc are in buildroot anymore From eed8731befbfe37f6c90d16349e3348fb727ee1b Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Tue, 19 Jan 2021 11:12:18 +0100 Subject: [PATCH 65/85] Order dependencies in spec file --- a2ps.spec | 62 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/a2ps.spec b/a2ps.spec index 6033c21..84ac32b 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -3,8 +3,11 @@ Name: a2ps Version: 4.14 Release: 47%{?dist} License: GPLv3+ +Url: http://www.gnu.org/software/a2ps/ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz + + Patch0: a2ps-4.13-conf.patch Patch1: a2ps-4.13-etc.patch Patch2: a2ps-lm.patch @@ -39,40 +42,53 @@ Patch38: a2ps-overrun-static.patch Patch39: a2ps-resource-leak.patch Patch40: a2ps-CVE-2014-0466.patch Patch41: a2ps-define-texinfo-enc.patch + + +BuildRequires: bison +BuildRequires: cups +BuildRequires: emacs +BuildRequires: flex +# gcc no longer in buildroot by default +BuildRequires: gcc +BuildRequires: gettext BuildRequires: gperf -BuildRequires: emacs, flex, libtool, texinfo, groff +BuildRequires: groff +BuildRequires: groff-perl +# instead of gv, xdg-open should certainly be used +#BuildRequires: gv +BuildRequires: libtool +# make no longer in buildroot +BuildRequires: make +BuildRequires: psutils +BuildRequires: texinfo +BuildRequires: texlive-dvips +BuildRequires: texlive-latex + %if 0%{?rhel} <= 8 || 0%{?fedora} BuildRequires: ImageMagick BuildRequires: html2ps %endif -BuildRequires: groff-perl -BuildRequires: cups -BuildRequires: gettext, bison -BuildRequires: psutils, texlive-dvips, texinfo, texlive-latex -# gcc and make no longer in buildroot by default -BuildRequires: gcc -BuildRequires: make -# instead of gv, xdg-open should certainly be used -#BuildRequires: gv -Url: http://www.gnu.org/software/a2ps/ -Requires: psutils, texinfo-tex, gzip, bzip2, groff-perl -%if 0%{?rhel} <= 8 || 0%{?fedora} -Requires: ImageMagick -Requires: html2ps -%endif -Requires: texlive-dvips, texlive-latex, texlive-collection-fontsrecommended, file, psutils-perl + +Requires: bzip2 # for hebrew support, path set. # culmus-fonts # And certainly other font sets for other languages may be needed Requires: emacs-filesystem >= %{_emacs_version} +Requires: file +Requires: groff-perl +Requires: gzip +Requires: psutils +Requires: psutils-perl +Requires: texlive-collection-fontsrecommended +Requires: texlive-dvips +Requires: texlive-latex +Requires: texinfo-tex Requires(post): coreutils -Obsoletes: a2ps-i18n <= 0.1-1 -Provides: a2ps-i18n = 0.1-2 -Obsoletes: emacs-a2ps <= 4.14-27 -Provides: emacs-a2ps <= 4.14-27 -Obsoletes: emacs-a2ps-el <= 4.14-27 -Provides: emacs-a2ps-el <= 4.14-27 +%if 0%{?rhel} <= 8 || 0%{?fedora} +Requires: ImageMagick +Requires: html2ps +%endif %description The a2ps filter converts text and other types of files to PostScript. From 9cc427b809d3905f1634e15fb67f71d40061faef Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 25 Jan 2021 23:41:42 +0000 Subject: [PATCH 66/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 84ac32b..8b0cc73 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 47%{?dist} +Release: 48%{?dist} License: GPLv3+ Url: http://www.gnu.org/software/a2ps/ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -300,6 +300,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Mon Jan 25 2021 Fedora Release Engineering - 4.14-48 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Mon Jan 18 2021 Zdenek Dohnal - 4.14-47 - make eln changes - remove dependency on ImageMagick and html2ps From 0b525c64530bacc8d3987fba7c310b56f99b6a3e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 12:13:33 +0000 Subject: [PATCH 67/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 1f5433f02258df6bb60f108cba2df43b0a981174 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 17:08:37 +0000 Subject: [PATCH 68/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 8b0cc73..caf80a7 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 48%{?dist} +Release: 49%{?dist} License: GPLv3+ Url: http://www.gnu.org/software/a2ps/ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -300,6 +300,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Wed Jul 21 2021 Fedora Release Engineering - 4.14-49 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Mon Jan 25 2021 Fedora Release Engineering - 4.14-48 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From ed678e039765c82433c9c0c837f838ef50c27b27 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 20:48:28 +0000 Subject: [PATCH 69/85] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index caf80a7..12e9cf6 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 49%{?dist} +Release: 50%{?dist} License: GPLv3+ Url: http://www.gnu.org/software/a2ps/ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -300,6 +300,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Wed Jan 19 2022 Fedora Release Engineering - 4.14-50 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Wed Jul 21 2021 Fedora Release Engineering - 4.14-49 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 11d9eff473ae2d36cae8760fcefeb16539fe8dd9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 20:18:59 +0000 Subject: [PATCH 70/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 12e9cf6..b04fd4b 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 50%{?dist} +Release: 51%{?dist} License: GPLv3+ Url: http://www.gnu.org/software/a2ps/ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -300,6 +300,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Wed Jul 20 2022 Fedora Release Engineering - 4.14-51 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Jan 19 2022 Fedora Release Engineering - 4.14-50 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From b0deae4f78b946332e29c5f83ea76e6c765bcb3e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 18 Jan 2023 21:16:38 +0000 Subject: [PATCH 71/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index b04fd4b..340c5bc 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 51%{?dist} +Release: 52%{?dist} License: GPLv3+ Url: http://www.gnu.org/software/a2ps/ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -300,6 +300,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Wed Jan 18 2023 Fedora Release Engineering - 4.14-52 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Wed Jul 20 2022 Fedora Release Engineering - 4.14-51 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From f0e593644a51c4a92d0a773b28c5644bbb0ac08e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 12:46:22 +0000 Subject: [PATCH 72/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 340c5bc..6fa3385 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.14 -Release: 52%{?dist} +Release: 53%{?dist} License: GPLv3+ Url: http://www.gnu.org/software/a2ps/ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz @@ -300,6 +300,9 @@ exit 0 %{_emacs_sitelispdir}/%{name} %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 4.14-53 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Wed Jan 18 2023 Fedora Release Engineering - 4.14-52 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From e607f40fd0ffe16058d6e34f79c92e71b6bb89c6 Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Thu, 27 Jul 2023 16:46:25 +0200 Subject: [PATCH 73/85] 2225694 - a2ps: FTBFS in Fedora rawhide/f39 2189133 - a2ps: FTBFS in rawhide, 64-bit and C99 compatibility issues 2176254 - a2ps-4.15.5 is available SPDX migration done --- .gitignore | 1 + COPYING | 676 ++++++++++++++ a2ps-4.13-autoenc.patch | 40 - a2ps-4.13-conf.patch | 43 +- a2ps-4.13-etc.patch | 48 +- a2ps-4.13-eucjp.patch | 1417 ---------------------------- a2ps-4.13-glibcpaper.patch | 85 +- a2ps-4.13-gnusource.patch | 18 - a2ps-4.13-security.patch | 65 -- a2ps-4.13b-attr.patch | 92 -- a2ps-4.13b-encoding.patch | 78 +- a2ps-4.13b-numeric.patch | 13 +- a2ps-4.14-texinfo-nodes.patch | 164 ++-- a2ps-CVE-2014-0466.patch | 24 - a2ps-U.patch | 11 - a2ps-aarch64.patch | 1629 --------------------------------- a2ps-bad-free.patch | 14 - a2ps-define-texinfo-enc.patch | 10 - a2ps-external-libtool.patch | 13 - a2ps-format-security.patch | 48 - a2ps-forward-null.patch | 10 +- a2ps-lm.patch | 25 - a2ps-mb.patch | 38 +- a2ps-overrun-dynamic.patch | 10 +- a2ps-overrun-static.patch | 6 +- a2ps-resource-leak.patch | 62 +- a2ps-texi-comments.patch | 17 - a2ps-wdiff.patch | 20 - a2ps.spec | 307 ++++--- sources | 3 +- 30 files changed, 1106 insertions(+), 3881 deletions(-) create mode 100644 COPYING delete mode 100644 a2ps-4.13-autoenc.patch delete mode 100644 a2ps-4.13-eucjp.patch delete mode 100644 a2ps-4.13-gnusource.patch delete mode 100644 a2ps-4.13-security.patch delete mode 100644 a2ps-4.13b-attr.patch delete mode 100644 a2ps-CVE-2014-0466.patch delete mode 100644 a2ps-aarch64.patch delete mode 100644 a2ps-bad-free.patch delete mode 100644 a2ps-define-texinfo-enc.patch delete mode 100644 a2ps-external-libtool.patch delete mode 100644 a2ps-format-security.patch delete mode 100644 a2ps-lm.patch delete mode 100644 a2ps-texi-comments.patch diff --git a/.gitignore b/.gitignore index 03aa984..8978461 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ a2ps-4.14.tar.gz i18n-fonts-0.1.tar.gz +/a2ps-4.15.5.tar.gz diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..4432540 --- /dev/null +++ b/COPYING @@ -0,0 +1,676 @@ + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + diff --git a/a2ps-4.13-autoenc.patch b/a2ps-4.13-autoenc.patch deleted file mode 100644 index 5e3e08f..0000000 --- a/a2ps-4.13-autoenc.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a2ps-4.13.rh/src/main.c Fri Feb 23 17:39:02 2001 -+++ a2ps-4.13.euc/src/main.c Fri Feb 23 23:07:40 2001 -@@ -31,6 +31,8 @@ - /* */ - /************************************************************************/ - #include -+#include -+#include - - #include "a2ps.h" - #include "argmatch.h" -@@ -925,6 +927,7 @@ - main (int argc, char *argv[]) - { - int argn; -+ char *locale; - - /* Architecture specific initialization. */ - #ifdef __EMX__ -@@ -947,6 +950,9 @@ - setlocale (LC_CTYPE, ""); - setlocale (LC_PAPER, ""); - -+ locale = setlocale (LC_ALL, ""); -+ /* fprintf(stderr, "locale : %s\n", locale); */ -+ - bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); - -@@ -1013,6 +1019,10 @@ - yet read sheets. */ - sheets_map = sheets_map_new (); - style_sheets = new_style_sheets (); -+ -+ /* Process special case: Japanese Document */ -+ if (! strncmp (locale, "ja", 2) ) -+ job->requested_encoding_name = xstrdup ("euc-jp"); - - /* Process the command line options. */ - argn = a2ps_handle_options (job, argc, argv); diff --git a/a2ps-4.13-conf.patch b/a2ps-4.13-conf.patch index 9504283..060aec6 100644 --- a/a2ps-4.13-conf.patch +++ b/a2ps-4.13-conf.patch @@ -1,26 +1,23 @@ -diff -up a2ps-4.14/configure.conf a2ps-4.14/configure ---- a2ps-4.14/configure.conf 2008-04-27 01:01:04.000000000 +0200 -+++ a2ps-4.14/configure 2008-04-27 01:04:12.000000000 +0200 -@@ -30758,9 +30758,13 @@ fi - echo $ECHO_N "checking for PostScript fonts path... $ECHO_C" >&6; } - # Try to find some PostScript fonts. - # Find out if ghostscript is installed -+# for ac_dir in /usr/local/ghostscript/fonts \ -+# /usr/local/share/ghostscript/fonts; - ac_psfont_path= --for ac_dir in /usr/local/ghostscript/fonts \ -- /usr/local/share/ghostscript/fonts; -+for ac_dir in /usr/share/fonts/default/Type1 \ -+ /usr/share/fonts/default/ghostscript \ -+ /usr/share/X11/fonts/Type1 \ -+ /usr/share/fonts/culmus ; - do - if test "cd $ac_dir 2>/dev/null && echo *.afm"; then - ac_psfont_path="$ac_psfont_path:$ac_dir"; -diff -up a2ps-4.14/configure.in.conf a2ps-4.14/configure.in ---- a2ps-4.14/configure.in.conf 2008-04-27 01:00:54.000000000 +0200 -+++ a2ps-4.14/configure.in 2008-04-27 01:03:52.000000000 +0200 -@@ -207,8 +207,10 @@ AC_MSG_CHECKING(for PostScript fonts pat +diff -up a2ps-4.15/configure.ac.conf a2ps-4.15/configure.ac +--- a2ps-4.15/configure.ac.conf 2023-03-08 09:09:29.694691191 +0100 ++++ a2ps-4.15/configure.ac 2023-03-08 09:10:00.210882309 +0100 +@@ -153,8 +153,10 @@ AC_MSG_CHECKING(for PostScript fonts pat + # Try to find some PostScript fonts. + # Find out if ghostscript is installed + ac_psfont_path= +-for ac_dir in /usr/local/ghostscript/fonts \ +- /usr/local/share/ghostscript/fonts; ++for ac_dir in /usr/share/fonts/default/Type1 \ ++ /usr/share/fonts/default/ghostscript \ ++ /usr/share/X11/fonts/Type1 \ ++ /usr/share/fonts/culmus ; + do + if test "cd $ac_dir 2>/dev/null && echo *.afm"; then + ac_psfont_path="$ac_psfont_path:$ac_dir"; +diff -up a2ps-4.15/configure.conf a2ps-4.15/configure +--- a2ps-4.15/configure.conf 2023-03-08 09:09:03.438526754 +0100 ++++ a2ps-4.15/configure 2023-03-08 09:10:39.922131011 +0100 +@@ -38619,8 +38619,10 @@ printf %s "checking for PostScript fonts # Try to find some PostScript fonts. # Find out if ghostscript is installed ac_psfont_path= diff --git a/a2ps-4.13-etc.patch b/a2ps-4.13-etc.patch index fa692ff..899c522 100644 --- a/a2ps-4.13-etc.patch +++ b/a2ps-4.13-etc.patch @@ -1,7 +1,7 @@ -diff -up a2ps-4.14/etc/a2ps_cfg.in.etc a2ps-4.14/etc/a2ps_cfg.in ---- a2ps-4.14/etc/a2ps_cfg.in.etc 2007-12-29 02:38:58.000000000 +0100 -+++ a2ps-4.14/etc/a2ps_cfg.in 2008-04-27 01:27:55.000000000 +0200 -@@ -73,6 +73,7 @@ LibraryPath: @libpath@ +diff -up a2ps-4.15/etc/a2ps_cfg.in.etc a2ps-4.15/etc/a2ps_cfg.in +--- a2ps-4.15/etc/a2ps_cfg.in.etc 2023-01-31 22:58:17.000000000 +0100 ++++ a2ps-4.15/etc/a2ps_cfg.in 2023-03-08 09:12:47.908932563 +0100 +@@ -56,6 +56,7 @@ LibraryPath: @libpath@ # It may be useful to extend it so that a2ps can see some # TeX or X11 resources: it likes AFM files and PF[AB] files. #AppendLibraryPath: foo @@ -9,11 +9,11 @@ diff -up a2ps-4.14/etc/a2ps_cfg.in.etc a2ps-4.14/etc/a2ps_cfg.in ################################################################# -diff -up a2ps-4.14/etc/Makefile.am.etc a2ps-4.14/etc/Makefile.am ---- a2ps-4.14/etc/Makefile.am.etc 2002-07-19 14:07:27.000000000 +0200 -+++ a2ps-4.14/etc/Makefile.am 2008-04-27 01:27:55.000000000 +0200 -@@ -2,7 +2,7 @@ - ## Makefile for a2ps' etc library directory. +diff -up a2ps-4.15/etc/Makefile.am.etc a2ps-4.15/etc/Makefile.am +--- a2ps-4.15/etc/Makefile.am.etc 2023-03-08 09:12:47.908932563 +0100 ++++ a2ps-4.15/etc/Makefile.am 2023-03-08 09:15:31.573957559 +0100 +@@ -17,7 +17,7 @@ + # ogonkifydir=$(datadir)/ogonkify -libpath = $(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) @@ -21,7 +21,7 @@ diff -up a2ps-4.14/etc/Makefile.am.etc a2ps-4.14/etc/Makefile.am pkgdata_DATA = README -@@ -40,7 +40,9 @@ DISTCLEANFILES = a2ps.cfg README +@@ -55,7 +55,9 @@ DISTCLEANFILES = a2ps.cfg README # Building the correct a2ps.cfg a2ps.cfg: a2ps_cfg Makefile @@ -30,30 +30,6 @@ diff -up a2ps-4.14/etc/Makefile.am.etc a2ps-4.14/etc/Makefile.am + -e "s!@apppath@!$(PSFONT_PATH)!" \ + a2ps_cfg > a2ps.cfg - # Building a time stamp to know the version. + # Building a timestamp to know the version. README: README.in Makefile -diff -up a2ps-4.14/etc/Makefile.in.etc a2ps-4.14/etc/Makefile.in ---- a2ps-4.14/etc/Makefile.in.etc 2007-12-29 04:28:07.000000000 +0100 -+++ a2ps-4.14/etc/Makefile.in 2008-04-27 01:30:55.000000000 +0200 -@@ -262,7 +262,7 @@ sysconfdir = @sysconfdir@ - target_alias = @target_alias@ - tex = @tex@ - ogonkifydir = $(datadir)/ogonkify --libpath = $(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) -+libpath = $(sysconfdir)/$(PACKAGE):$(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) - pkgdata_DATA = README - dsysconf = $(DESTDIR)$(sysconfdir) - EXTRA_DIST = README.in -@@ -482,7 +482,9 @@ uninstall-local: - - # Building the correct a2ps.cfg - a2ps.cfg: a2ps_cfg Makefile -- sed "s!@libpath@!$(libpath)!" a2ps_cfg > a2ps.cfg -+ sed -e "s!@libpath@!$(libpath)!" \ -+ -e "s!@apppath@!$(PSFONT_PATH)!" \ -+ a2ps_cfg > a2ps.cfg - - # Building a time stamp to know the version. - README: README.in Makefile -diff -up a2ps-4.14/Makefile.am.etc a2ps-4.14/Makefile.am -diff -up a2ps-4.14/Makefile.in.etc a2ps-4.14/Makefile.in +diff -up a2ps-4.15/etc/Makefile.in.etc a2ps-4.15/etc/Makefile.in diff --git a/a2ps-4.13-eucjp.patch b/a2ps-4.13-eucjp.patch deleted file mode 100644 index e94834a..0000000 --- a/a2ps-4.13-eucjp.patch +++ /dev/null @@ -1,1417 +0,0 @@ -diff -up a2ps-4.14/config.h.in.euc a2ps-4.14/config.h.in ---- a2ps-4.14/config.h.in.euc 2007-12-29 04:28:05.000000000 +0100 -+++ a2ps-4.14/config.h.in 2008-04-27 10:39:24.000000000 +0200 -@@ -24,6 +24,9 @@ - /* Define if TIOCGWINSZ requires sys/ioctl.h */ - #undef GWINSZ_IN_SYS_IOCTL - -+/* Define if you want to support japanese */ -+#undef ENABLE_KANJI -+ - /* Define to 1 if you have the `alarm' function. */ - #undef HAVE_ALARM - -diff -up a2ps-4.14/configure.euc a2ps-4.14/configure ---- a2ps-4.14/configure.euc 2008-04-27 10:39:24.000000000 +0200 -+++ a2ps-4.14/configure 2008-04-27 10:41:39.000000000 +0200 -@@ -1587,7 +1587,8 @@ Optional Packages: - --with-medium=medium specify the default medium (A4, Letter, Legal, etc.) - default=A4 - --with-encoding=enc specify the default encoding (ascii, latin1, -- latin2... latin6, hp etc.) default=latin1 -+ latin2... latin6, euc-jp, hp etc.) default=latin1 -+ --enable-kanji support Japanese (default=yes) - - Some influential environment variables: - CC C compiler command -@@ -22521,7 +22522,7 @@ fi - - for ac_header in sys/time.h sys/stat.h sys/types.h sys/ioctl.h \ - math.h string.h strings.h stdlib.h unistd.h stdarg.h pwd.h malloc.h \ -- memory.h errno.h fcntl.h stdbool.h fnmatch.h -+ memory.h errno.h fcntl.h stdbool.h fnmatch.h iconv.h - do - as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` - if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then -@@ -30947,6 +30948,22 @@ fi - - - -+# Check whether --enable-kanji or --disable-kanji was given. -+if test "${enable_kanji+set}" = set; then -+ enableval="$enable_kanji" -+ SUPPORT_KANJI=$enableval -+else -+ SUPPORT_KANJI=yes -+fi -+ -+if test "$SUPPORT_KANJI" = "yes"; then -+ cat >> confdefs.h <<\EOF -+#define ENABLE_KANJI 1 -+EOF -+# ENCODING=euc-jp -+fi -+ -+ - ######################## - # Nice special printers - ######################## -diff -up a2ps-4.14/configure.in.euc a2ps-4.14/configure.in ---- a2ps-4.14/configure.in.euc 2008-04-27 10:39:24.000000000 +0200 -+++ a2ps-4.14/configure.in 2008-04-27 10:39:24.000000000 +0200 -@@ -72,7 +72,7 @@ AC_HEADER_SYS_WAIT - AC_HEADER_DIRENT - AC_CHECK_HEADERS(sys/time.h sys/stat.h sys/types.h sys/ioctl.h \ - math.h string.h strings.h stdlib.h unistd.h stdarg.h pwd.h malloc.h \ -- memory.h errno.h fcntl.h stdbool.h fnmatch.h) -+ memory.h errno.h fcntl.h stdbool.h fnmatch.h iconv.h) - - ## --------------------- ## - ## Checks for typedefs. ## -@@ -276,11 +276,23 @@ AC_SUBST(MEDIUM) - # - AC_ARG_WITH(encoding, - AC_HELP_STRING([--with-encoding=enc], -- [specify the default encoding (ascii, latin1, latin2... latin6, hp etc.) [default=latin1]]), -+ [specify the default encoding (ascii, latin1, latin2... latin6, euc-jp, hp etc.) [default=latin1]]), - ENCODING=$with_encoding, - ENCODING=latin1) - AC_SUBST(ENCODING) - -+# -+# use libjcode -+# -+AC_ARG_ENABLE(kanji, -+ [ --enable-kanji support Japanese/kanji (default: yes)], -+ SUPPORT_KANJI=$enableval, SUPPORT_KANJI=yes) -+if test "$SUPPORT_KANJI" = "yes"; then -+ AC_DEFINE(ENABLE_KANJI) -+ dnl ENCODING=euc-jp -+fi -+ -+ - ######################## - # Nice special printers - ######################## -diff -up a2ps-4.14/encoding/encoding.map.euc a2ps-4.14/encoding/encoding.map ---- a2ps-4.14/encoding/encoding.map.euc 2007-12-29 02:39:21.000000000 +0100 -+++ a2ps-4.14/encoding/encoding.map 2008-04-27 10:39:24.000000000 +0200 -@@ -93,6 +93,12 @@ koi8r koi8 - koi8 koi8 - koi koi8 - -+euc-jp euc-jp -+eucjp euc-jp -+japanese euc-jp -+ja euc-jp -+jp euc-jp -+ - ######################################################################## - # Some architectures specific char sets - ######################################################################## -diff -up /dev/null a2ps-4.14/encoding/euc-jp.edf ---- /dev/null 2008-04-27 11:55:27.307012118 +0200 -+++ a2ps-4.14/encoding/euc-jp.edf 2008-04-27 10:39:24.000000000 +0200 -@@ -0,0 +1,109 @@ -+# Description of the EUC-JP encoding -+# Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana -+# Copyright (c) 1995, 96, 97, 98 Akim Demaille, Miguel Santana -+# -+ -+# -+# This file is part of a2ps. -+# -+# 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, 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; see the file COPYING. If not, write to -+# the Free Software Foundation, 59 Temple Place - Suite 330, -+# Boston, MA 02111-1307, USA. -+# -+ -+Name: EUC-JP -+ -+# This text is reproduced by a courtesy of Roman Czyborra -+# http://czyborra.com/charsets/iso8859.html -+Documentation -+The EUC-JP character set, often simply referred to as Latin 1, -+covers most West European languages, such as French, Spanish, Catalan, -+Basque, Portuguese, Italian, Albanian, Rhaeto-Romanic, Dutch, German, -+Danish, Swedish, Norwegian, Finnish, Faroese, Icelandic, Irish, -+Scottish, and English, incidentally also Afrikaans and Swahili, thus -+in effect also the entire American continent, Australia and the -+southern two-thirds of Africa. The lack of the ligatures Dutch IJ, -+French OE and ,,German`` quotation marks is considered tolerable. -+ -+The lack of the new C=-resembling Euro currency symbol U+20AC has -+opened the discussion of a new Latin0. -+EndDocumentation -+ -+# If there is an unknown font requested, use Courier -+Default: Courier -+ -+# Automatic spell checking :) -+Substitute: Times Times-Roman -+Substitute: Helvetica-Italic Helvetica-Oblique -+Substitute: Helvetica-BoldItalic Helvetica-BoldOblique -+ -+ -+# SlantFont for Japanese Italic Kanji font -+# new font source font value -+SlantFont: Ryumin-Light-EUC-H-Italic Ryumin-Light-EUC-H 0.2 -+SlantFont: GothicBBB-Medium-EUC-H-Italic GothicBBB-Medium-EUC-H 0.2 -+ -+# Compose font for japanese EUC code -+# target font additional font width size rate -+DefaultComposite: Ryumin-Light-EUC-H 1.0 1.1 -+ -+# 1:2 fixed -+#DefaultComposite: Ryumin-Light-EUC-H 1.0 0.8333 -+ -+# 1:1 fixed -+#DefaultComposite: Ryumin-Light-EUC-H 1.0 1.6666 -+ -+Composite: Helvetica GothicBBB-Medium-EUC-H 1.0 1.1 -+Composite: Helvetica-Oblique GothicBBB-Medium-EUC-H-Italic 1.0 1.1 -+Composite: Helvetica-Bold GothicBBB-Medium-EUC-H 1.0 1.1 -+Composite: Helvetica-BoldOblique GothicBBB-Medium-EUC-H-Italic 1.0 1.1 -+ -+Composite: Courier-Oblique Ryumin-Light-EUC-H-Italic 1.0 1.1 -+Composite: Courier-Bold GothicBBB-Medium-EUC-H 1.0 1.1 -+Composite: Courier-BoldOblique GothicBBB-Medium-EUC-H-Italic 1.0 1.1 -+Composite: Times-Bold GothicBBB-Medium-EUC-H 1.0 1.1 -+ -+Vector: -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+space exclam quotedbl numbersign dollar percent ampersand quoteright -+parenleft parenright asterisk plus comma minus period slash -+zero one two three four five six seven -+eight nine colon semicolon less equal greater question -+at A B C D E F G -+H I J K L M N O -+P Q R S T U V W -+X Y Z bracketleft backslash bracketright asciicircum underscore -+quoteleft a b c d e f g -+h i j k l m n o -+p q r s t u v w -+x y z braceleft bar braceright asciitilde .notdef -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+space exclamdown cent sterling currency yen brokenbar section -+dieresis copyright ordfeminine guillemotleft logicalnot hyphen registered macron -+degree plusminus twosuperior threesuperior acute mu paragraph bullet -+cedilla onesuperior ordmasculine guillemotright onequarter onehalf threequarters questiondown -+Agrave Aacute Acircumflex Atilde Adieresis Aring AE Ccedilla -+Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex Idieresis -+Eth Ntilde Ograve Oacute Ocircumflex Otilde Odieresis multiply -+Oslash Ugrave Uacute Ucircumflex Udieresis Yacute Thorn germandbls -+agrave aacute acircumflex atilde adieresis aring ae ccedilla -+egrave eacute ecircumflex edieresis igrave iacute icircumflex idieresis -+eth ntilde ograve oacute ocircumflex otilde odieresis divide -+oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis -diff -up a2ps-4.14/encoding/Makefile.am.euc a2ps-4.14/encoding/Makefile.am ---- a2ps-4.14/encoding/Makefile.am.euc 2007-12-29 02:39:27.000000000 +0100 -+++ a2ps-4.14/encoding/Makefile.am 2008-04-27 10:39:24.000000000 +0200 -@@ -16,7 +16,7 @@ major_encodings = ascii.edf iso1.edf - minor_encodings = \ - ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ - iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf ms-cp1251.edf -+iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf - - if EXTENSIONS - encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) -diff -up a2ps-4.14/encoding/Makefile.in.euc a2ps-4.14/encoding/Makefile.in ---- a2ps-4.14/encoding/Makefile.in.euc 2007-12-29 04:28:07.000000000 +0100 -+++ a2ps-4.14/encoding/Makefile.in 2008-04-27 10:39:24.000000000 +0200 -@@ -270,7 +270,7 @@ major_encodings = ascii.edf iso1.edf - minor_encodings = \ - ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ - iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf ms-cp1251.edf -+iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf - - @EXTENSIONS_FALSE@encodings_DATA = encoding.map $(major_encodings) - @EXTENSIONS_TRUE@encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) -diff -up a2ps-4.14/lib/encoding.c.euc a2ps-4.14/lib/encoding.c ---- a2ps-4.14/lib/encoding.c.euc 2007-12-29 02:37:54.000000000 +0100 -+++ a2ps-4.14/lib/encoding.c 2008-04-27 10:39:24.000000000 +0200 -@@ -37,6 +37,9 @@ - #include "document.h" - #include "quotearg.h" - #include "strverscmp.h" -+#ifdef ENABLE_KANJI -+int use_jcode = false; -+#endif - - /* Suffix of the Encoding Description Files */ - #define EDF_SUFFIX ".edf" -@@ -389,15 +392,25 @@ font_entry_set_used (struct hash_table_s - * Association of suffixes rules, and corresponding style sheet - * (The hashing is upon `alias') - */ -+struct slantfont_info { -+ char * name; -+ char * src; -+ float raito; -+}; -+ - struct encoding { - char * key; /* e.g. latin1 */ - char * name; /* e.g. ISO Latin 1 */ -+ int composite_flag; /* flag for composite font */ - uchar * documentation; /* Useful pieces of text */ - - char * default_font; /* When a font can't be used - define the font to use */ - struct pair_htable * substitutes; /* e.g. in latin2, don't use - * Courier, but Courier-Ogonki */ -+ struct pair_htable * composite; -+ -+ struct slantfont_info slantfont[NB_FACES]; - - char * vector[256]; /* Define the char set */ - struct darray * font_names_used; -@@ -407,6 +420,9 @@ struct encoding { - struct hash_table_s * fonts; /* Contains cells that are - * 1. name of font, 2. int wx[256] */ - unsigned int * faces_wx[NB_FACES]; -+ -+ unsigned int composite_wx[NB_FACES]; /* fixed length font width*/ -+ float composite_raito[NB_FACES]; /* size raito of additonal and orinal font */ - }; - - /* -@@ -423,9 +439,12 @@ encoding_new (const char * key) - res->name = NULL; - res->default_font = NULL; - res->documentation = NULL; -+ res->composite_flag = false; - - /* Vector will be set by setup */ - res->substitutes = pair_table_new (); -+ res->composite = pair_table_new (); -+ res->slantfont[0].name = NULL; - res->font_names_used = da_new ("List of font names", 10, - da_linear, 10, - (da_print_func_t) da_str_print, -@@ -471,6 +490,34 @@ encoding_add_font_substitute (struct enc - } - - /* -+ * Add a composite font in the current encoding -+ */ -+static void -+encoding_add_composite_font (struct encoding * encoding, -+ const char * orig, const char * subs, -+ int wx, float raito) -+{ -+ encoding->composite_flag = true; -+ pair_add2 (encoding->composite, orig, subs, wx, raito); -+} -+ -+/* -+ * Add a composite font in the current encoding -+ */ -+static void -+encoding_add_slant_font (struct encoding * encoding, -+ const char * new, const char * src, -+ float raito) -+{ -+ static num = 0; -+ encoding->slantfont[num].name = strdup(new); -+ encoding->slantfont[num].src = strdup(src); -+ encoding->slantfont[num].raito = raito; -+ encoding->slantfont[num+1].name = NULL; -+ num++; -+} -+ -+/* - * When FONT_NAME is used with ENCODING, return the - * real font name to use (e.g., in latin2, Courier-Ogonki - * should be returned when asked for Courier). -@@ -514,6 +561,77 @@ encoding_resolve_font_substitute (struct - } - - message (msg_enc, -+ (stderr, "In encoding %s, composite font for %s is resolved as %s\n", -+ encoding->key, font_name, res)); -+ return res; -+} -+ -+/* -+ * Get composite font size and raito -+ */ -+static int -+composite_font_info_get_wx(struct a2ps_job * job, -+ struct encoding * encoding, -+ const char * font_list) -+{ -+ int wx= -1; -+ char * font_list_copy; -+ char * font_name; -+ astrcpy (font_list_copy, font_list); -+ font_name = strtok (font_list_copy, ",<>;"); -+ -+ wx = pair_get_wx (encoding->composite, font_name); -+ if (wx<0) -+ wx = pair_get_wx (encoding->composite, "default_composite__"); -+ -+ return wx; -+} -+ -+static float -+composite_font_info_get_raito(struct a2ps_job * job, -+ struct encoding * encoding, -+ const char * font_list) -+{ -+ float raito= -1; -+ char * font_list_copy; -+ char * font_name; -+ -+ astrcpy (font_list_copy, font_list); -+ font_name = strtok (font_list_copy, ",<>;"); -+ -+ raito = pair_get_raito (encoding->composite, font_name); -+ if (raito<0) -+ raito = pair_get_raito (encoding->composite, "default_composite__"); -+ return raito; -+} -+ -+const char * -+encoding_resolve_composite_font (struct a2ps_job * job, -+ struct encoding * encoding, -+ const char * font_list) -+{ -+ const char * res = NULL; -+ char * font_list_copy; -+ char * font_name; -+ -+ astrcpy (font_list_copy, font_list); -+ font_name = strtok (font_list_copy, ",<>;"); -+ -+ /* Find if there is a substitute for that font */ -+ res = pair_get (encoding->composite, font_name); -+ -+ /* We've found nothing interesting. Last chance is the default -+ * font */ -+ if (!res) -+ { -+ res = pair_get (encoding->composite, "default_composite__"); -+ -+ if (!res) -+ error (1, 0, "Cannot find font %s, nor any composite font", -+ font_name); -+ } -+ -+ message (msg_enc, - (stderr, "In encoding %s, font %s is resolved as %s\n", - encoding->key, font_name, res)); - return res; -@@ -585,6 +703,12 @@ load_encoding_description_file (a2ps_job - { - token2 = GET_TOKEN (NULL); - CHECK_TOKEN (); -+#ifdef ENABLE_KANJI -+ if( strcmp(token2, "EUC-JP")== 0) -+ use_jcode = true; -+ else -+ use_jcode = false; -+#endif - encoding->name = xstrdup (token2); - } - else if (strequ (token, "Default:")) -@@ -633,6 +757,66 @@ load_encoding_description_file (a2ps_job - subs = token2; - encoding_add_font_substitute (encoding, orig, subs); - } -+ else if (strequ (token, "DefaultComposite:")) -+ { -+ char * orig, * subs; -+ int wx; -+ float raito; -+ -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ subs = token2; -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ wx = (int)atof(token2)*1000; -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ raito = atof(token2); -+ encoding_add_composite_font(encoding, "default_composite__", -+ subs, wx, raito); -+ } -+ else if (strequ (token, "Composite:")) -+ { -+ char * orig, * subs; -+ int wx; -+ float raito; -+ -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ orig = token2; -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ subs = token2; -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ wx = (int)atof(token2)*1000; -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ raito = atof(token2); -+ encoding_add_composite_font(encoding, orig, subs, wx, raito); -+ } -+ else if (strequ (token, "SlantFont:")) -+ { -+ char * new, * src; -+ float raito; -+ unsigned int num; -+ -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ new = token2; -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ src = token2; -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ raito = atof(token2); -+ for (num = 0 ; encoding->slantfont[num].name ; num ++ ); -+ if (num > sizeof encoding->slantfont - 1){ -+ error_at_line (1, 0, fname, firstline, -+ _("too many slant font: `%s'"), new); -+ } -+ encoding_add_slant_font(encoding, new, src, raito); -+ } - else - error_at_line (1, 0, fname, firstline, - _("invalid option `%s'"), quotearg (token)); -@@ -754,6 +938,15 @@ encoding_char_exists (struct encoding * - } - - /* -+ * Return the flag of composite flag -+ */ -+int -+encoding_get_composite_flag (struct encoding * enc) -+{ -+ return enc->composite_flag; -+} -+ -+/* - * Prepare the environment (a dictionary) for the support - * of ENCODING, dump it into STREAM. - * -@@ -766,9 +959,11 @@ dump_encoding_setup (FILE * stream, - struct encoding * encoding) - { - size_t i, nb; -+ size_t ns; - const char * real_font_name; /* After subsitution */ - char ** font_names = (char **) encoding->font_names_used->content; - -+ - /* How many fonts are there? */ - da_qsort (encoding->font_names_used); - da_unique (encoding->font_names_used, (da_map_func_t) free); -@@ -787,15 +982,46 @@ dump_encoding_setup (FILE * stream, - * in the current ENCODING */ - nb = encoding->font_names_used->len; - -+ /* The number of slant fonts */ -+ for (i= 0, ns=0 ; encoding->slantfont[i].name ; i++ ) -+ ns++; -+ - /* Create the dictionary and fill it */ - fprintf (stream, "%% Dictionary for %s support\n", - encoding->name); -- fprintf (stream, "/%sdict %d dict begin\n", encoding->key, nb); -+ fprintf (stream, "/%sdict %d dict begin\n", encoding->key, -+ (encoding->composite_flag == true)? nb+nb+ns:nb+ns); - for (i = 0 ; i < nb ; i++) - fprintf (stream, " /f%s %sEncoding /%s reencode_font\n", - font_names [i], - encoding->name, - encoding_resolve_font_substitute (job, encoding, font_names [i])); -+ -+ /* Slant font setting */ -+ for (i = 0 ; encoding->slantfont[i].name ; i++ ) -+ fprintf (stream, " /%s /%s %f slantfont definefont pop\n", -+ encoding->slantfont[i].name, -+ encoding->slantfont[i].src, -+ encoding->slantfont[i].raito); -+ -+ /* -+ * Composite font setting. -+ * If kanji font size is larger than alphabet character, -+ * set base font size to kanji charactor size. -+ */ -+ if (encoding->composite_flag == true) { -+ for (i = 0 ; i < nb ; i++) -+ fprintf (stream, " /f%s /f%s /%s %f %f false compositefont " -+ "%f scalefont def\n", -+ font_names [i], -+ font_names [i], -+ encoding_resolve_composite_font (job, encoding, font_names [i]), -+ encoding->composite_raito[i], -+ (encoding->composite_raito[i] > 1.0)? -+ 0: (1-encoding->composite_raito[i])/2.0, -+ (encoding->composite_raito[i] > 1.0)? -+ 1.0/encoding->composite_raito[i]: 1.0 ); -+ } - fputs ("currentdict end def\n", stream); - } - -@@ -939,6 +1165,22 @@ encoding_build_faces_wx (a2ps_job * job, - true_font_name, - encoding->vector, - encoding->faces_wx [face]); -+ -+ if (encoding->composite_flag) -+ { -+ encoding->composite_raito[i] = -+ composite_font_info_get_raito(job, encoding, -+ job->face_eo_font [face]); -+ -+ encoding->composite_wx[i] = -+ composite_font_info_get_wx(job, encoding, -+ job->face_eo_font [face]); -+ -+ /* If kanji font size is larger than alphabet character, -+ fit kanji charactor size to base font size */ -+ if (encoding->composite_raito[i] < 1.0) -+ encoding->composite_wx[i] *= encoding->composite_raito[i]; -+ } - } - } - -@@ -1073,6 +1315,13 @@ char_WX (a2ps_job * job, uchar c) - return 0; /* For -Wall */ - } - -+unsigned int -+char_composite_WX (a2ps_job * job, uchar c) -+{ -+ return (job->encoding->composite_wx[job->status->face]/ -+ job->encoding->composite_raito[job->status->face]); -+} -+ - /* - * Returns the WX of a string (including M- and ^) - */ -diff -up a2ps-4.14/lib/encoding.h.euc a2ps-4.14/lib/encoding.h ---- a2ps-4.14/lib/encoding.h.euc 2007-12-29 02:58:17.000000000 +0100 -+++ a2ps-4.14/lib/encoding.h 2008-04-27 10:39:24.000000000 +0200 -@@ -43,6 +43,7 @@ struct a2ps_job; /* Declared in jobs.h w - */ - unsigned int char_WX PARAMS ((struct a2ps_job * job, uchar c)); - unsigned int string_WX PARAMS ((struct a2ps_job * job, uchar * string)); -+unsigned int char_composite_WX PARAMS ((struct a2ps_job * job, uchar c)); - - - /************************************************************************/ -@@ -56,6 +57,7 @@ void encoding_self_print PARAMS ((struct - FILE * stream)); - int encoding_char_exists PARAMS ((struct encoding * enc, - enum face_e face, uchar c)); -+int encoding_get_composite_flag (struct encoding * enc); - struct encoding * - get_encoding_by_alias PARAMS ((struct a2ps_job * job, - char *string)); -@@ -71,6 +73,12 @@ const char * encoding_resolve_font_subst - struct encoding * encoding, - const char * font_name)); - -+ -+const char * encoding_resolve_composite_font -+ PARAMS ((struct a2ps_job * job, -+ struct encoding * encoding, -+ const char * font_name)); -+ - /* - * Have a struct encoding determine the faces_wx - */ -diff -up a2ps-4.14/lib/pair_ht.c.euc a2ps-4.14/lib/pair_ht.c ---- a2ps-4.14/lib/pair_ht.c.euc 2007-12-29 02:58:21.000000000 +0100 -+++ a2ps-4.14/lib/pair_ht.c 2008-04-27 10:39:24.000000000 +0200 -@@ -49,6 +49,8 @@ struct pair - { - char * key; - char * value; -+ float raito; -+ int wx; - }; - - /* -@@ -165,6 +167,37 @@ pair_add (struct hash_table_s * table, - } - - /* -+ * Add a pair, with your own allocation for them. -+ * It KEY is yet used, override its value with VALUE -+ */ -+void -+pair_add2 (struct hash_table_s * table, -+ const char * key, const char * value, int wx, float raito) -+{ -+ struct pair * item, token; -+ -+ token.key = (char *) key; -+ item = (struct pair *) hash_find_item (table, &token); -+ -+ if (item) { -+ if (item->value) -+ free (item->value); -+ } else { -+ item = XMALLOC (struct pair, 1); -+ item->key = xstrdup(key); -+ item->wx = wx; -+ item->raito = raito; -+ } -+ -+ if (value) -+ item->value = xstrdup (value); -+ else -+ item->value = NULL; -+ -+ hash_insert (table, item); -+} -+ -+/* - * Remove a pair and free it. - * It KEY is yet used, override its value with VALUE - */ -@@ -201,6 +234,34 @@ pair_get (struct hash_table_s * table, c - return NULL; - } - -+int -+pair_get_wx (struct hash_table_s * table, const char * key) -+{ -+ struct pair * item, token; -+ -+ token.key = (char *) key; -+ item = (struct pair *) hash_find_item (table, &token); -+ -+ if (item) -+ return item->wx; -+ else -+ return -1; -+} -+ -+float -+pair_get_raito (struct hash_table_s * table, const char * key) -+{ -+ struct pair * item, token; -+ -+ token.key = (char *) key; -+ item = (struct pair *) hash_find_item (table, &token); -+ -+ if (item) -+ return item->raito; -+ else -+ return -1; -+} -+ - /* - * Return the content of the hash table, ordered - */ -diff -up a2ps-4.14/lib/pair_ht.h.euc a2ps-4.14/lib/pair_ht.h ---- a2ps-4.14/lib/pair_ht.h.euc 2007-12-29 02:58:21.000000000 +0100 -+++ a2ps-4.14/lib/pair_ht.h 2008-04-27 10:39:24.000000000 +0200 -@@ -56,6 +56,10 @@ void pair_table_free PARAMS ((struct pai - void pair_add PARAMS ((struct pair_htable * table, - const char * key, const char * value)); - -+void pair_add2 PARAMS ((struct pair_htable * table, -+ const char * key, const char * value, -+ int wx, float raito)); -+ - /* - * The key and value of the matching item will be free'd - * (No problem if KEY matches nothing) -@@ -68,6 +72,10 @@ void pair_delete PARAMS ((struct pair_ht - */ - char * pair_get PARAMS ((struct pair_htable * table, - const char * key)); -+int pair_get_wx PARAMS ((struct pair_htable * table, -+ const char * key)); -+float pair_get_raito PARAMS ((struct pair_htable * table, -+ const char * key)); - - void pair_table_list_short PARAMS ((struct pair_htable * table, - FILE * stream)); -diff -up a2ps-4.14/lib/psgen.c.euc a2ps-4.14/lib/psgen.c ---- a2ps-4.14/lib/psgen.c.euc 2007-12-29 02:58:22.000000000 +0100 -+++ a2ps-4.14/lib/psgen.c 2008-04-27 10:39:24.000000000 +0200 -@@ -875,6 +875,7 @@ ps_print_char (a2ps_job * job, int c, en - print: - default: - { -+ static mb_flag= 0; - uchar buf[256]; - int nchars; - *buf = '\0'; -@@ -889,6 +890,29 @@ ps_print_char (a2ps_job * job, int c, en - job->status->face_declared = false; - } - -+ if (c > 127 && encoding_get_composite_flag (job->encoding) && -+ job->status->face != Symbol) { -+ if (mb_flag) { -+ nchars = ps_escape_char (job, mb_flag, buf) + -+ ps_escape_char (job, c, buf); -+ job->status->wx += char_composite_WX(job, c); -+ job->status->column += nchars; -+ if (line_full) { -+ if (job->folding) { -+ fold_line (job, new_face); -+ job->status->column = nchars*2; -+ job->status->wx = char_composite_WX(job, c); -+ } else { -+ job->status->is_in_cut = true; -+ return; -+ } -+ } -+ mb_flag = 0; -+ } else { -+ mb_flag = c; -+ return; -+ } -+ } else { - nchars = ps_escape_char (job, c, buf); - job->status->wx += char_WX (job, c); - job->status->column += nchars; -@@ -902,8 +926,9 @@ ps_print_char (a2ps_job * job, int c, en - return; - } - } -+ } - output (jdiv, "%s", buf); -- job->status->chars++; -+ job->status->chars+=nchars; - } - break; - } -diff -up a2ps-4.14/ps/base.ps.euc a2ps-4.14/ps/base.ps ---- a2ps-4.14/ps/base.ps.euc 2007-12-29 02:58:26.000000000 +0100 -+++ a2ps-4.14/ps/base.ps 2008-04-27 10:39:24.000000000 +0200 -@@ -153,7 +153,11 @@ - % Return the y size of the current font - % - => fontsize - /currentfontsize { -- currentfont /FontMatrix get 3 get 1000 mul -+ currentfont /FontType get 0 eq { -+ currentfont /FontMatrix get 3 get -+ }{ -+ currentfont /FontMatrix get 3 get 1000 mul -+ } ifelse - } bind def - - % reencode the font -@@ -200,6 +204,144 @@ - end - } bind def - -+% composite fonts for ASCII-EUC mixed string -+% Version 1.2 1/31/1990 -+% Orignal Ken'ichi HANDA (handa@etl.go.jp) -+% Modified Norio Katayama (katayama@rd.nacsis.ac.jp),1998 -+% Extend & Fix Koji Nakamaru (maru@on.cs.keio.ac.jp), 1999 -+% Anyone can freely copy, modify, distribute this program. -+ -+/copyfont { % font-dic extra-entry-count copyfont font-dic -+ 1 index maxlength add dict begin -+ { 1 index /FID ne 2 index /UniqueID ne and -+ {def} {pop pop} ifelse -+ } forall -+ currentdict -+ end -+} bind def -+ -+/compositefont { % ASCIIFontName EUCFontName RomanScale RomanOffset Rot(T/F) compositefont font -+ /RomanRotation exch def -+ /RomanOffset exch def -+ /RomanScale exch def -+ userdict /fixeucfont_dict known not { -+ userdict begin -+ /fixeucfont_dict 2 dict begin -+ /UpperByteEncoding [ -+ 16#00 1 16#20 { pop 0 } for -+ 16#21 1 16#28 { 16#20 sub } for -+ 16#29 1 16#2F { pop 0 } for -+ 16#30 1 16#74 { 16#27 sub } for -+ 16#75 1 16#FF { pop 0 } for -+ ] def -+ /LowerByteEncoding [ -+ 16#00 1 16#A0 { pop /.notdef } for -+ 16#A1 1 16#FE { 16#80 sub 16 2 string cvrs -+ (cXX) dup 1 4 -1 roll -+ putinterval cvn } for -+ /.notdef -+ ] def -+ currentdict -+ end def -+ end -+ } if -+ findfont dup /FontType get 0 eq { -+ 14 dict begin -+ % -+ % 7+8 bit EUC font -+ % -+ 12 dict begin -+ /EUCFont exch def -+ /FontInfo (7+8 bit EUC font) readonly def -+ /PaintType 0 def -+ /FontType 0 def -+ /FontMatrix matrix def -+ % /FontName -+ /Encoding fixeucfont_dict /UpperByteEncoding get def -+ /FMapType 2 def -+ EUCFont /WMode known -+ { EUCFont /WMode get /WMode exch def } -+ { /WMode 0 def } ifelse -+ /FDepVector [ -+ EUCFont /FDepVector get 0 get -+ [ 16#21 1 16#28 {} for 16#30 1 16#74 {} for ] -+ { -+ 13 dict begin -+ /EUCFont EUCFont def -+ /UpperByte exch 16#80 add def -+ % /FontName -+ /FontInfo (EUC lower byte font) readonly def -+ /PaintType 0 def -+ /FontType 3 def -+ /FontMatrix matrix def -+ /FontBBox {0 0 0 0} def -+ /Encoding -+ fixeucfont_dict /LowerByteEncoding get def -+ % /UniqueID -+ % /WMode -+ /BuildChar { -+ gsave -+ exch dup /EUCFont get setfont -+ /UpperByte get -+ 2 string -+ dup 0 4 -1 roll put -+ dup 1 4 -1 roll put -+ dup stringwidth setcharwidth -+ 0 0 moveto show -+ grestore -+ } bind def -+ currentdict -+ end -+ /lowerbytefont exch definefont -+ } forall -+ ] def -+ currentdict -+ end -+ /eucfont exch definefont -+ exch -+ findfont 1 copyfont dup begin -+ RomanRotation { -+ /FontMatrix FontMatrix -+ [ 0 RomanScale neg RomanScale 0 RomanOffset neg 0 ] -+ matrix concatmatrix def -+ }{ -+ /FontMatrix FontMatrix -+ [ RomanScale 0 0 RomanScale 0 RomanOffset ] matrix concatmatrix -+ def -+ /CDevProc -+ {pop pop pop pop 0 exch -1000 exch 2 div 880} def -+ } ifelse -+ end -+ /asciifont exch definefont -+ exch -+ /FDepVector [ 4 2 roll ] def -+ /FontType 0 def -+ /WMode 0 def -+ /FMapType 4 def -+ /FontMatrix matrix def -+ /Encoding [0 1] def -+ /FontBBox {0 0 0 0} def -+% /FontHeight 1.0 def % XXXX -+ /FontHeight RomanScale 1.0 ge { RomanScale }{ 1.0 } ifelse def -+ /Descent -0.3 def % XXXX -+ currentdict -+ end -+ /tmpfont exch definefont -+ pop -+ /tmpfont findfont -+ }{ -+ pop findfont 0 copyfont -+ } ifelse -+} def -+ -+/slantfont { % FontName slant-degree slantfont font' -+ exch findfont 1 copyfont begin -+ [ 1 0 4 -1 roll 1 0 0 ] FontMatrix exch matrix concatmatrix -+ /FontMatrix exch def -+ currentdict -+ end -+} def -+ - % Function print line number ( # -) - /# { - gsave -diff -up /dev/null a2ps-4.14/README.eucJP ---- /dev/null 2008-04-27 11:55:27.307012118 +0200 -+++ a2ps-4.14/README.eucJP 2008-04-27 10:39:24.000000000 +0200 -@@ -0,0 +1,100 @@ -+a2ps euc-jp kanji supported patch: -+by SATO Satoru -+ -+These patches enables a2ps to support the files written in EUC-JP (and other -+Japanese encodings). I only arranged patches created by FURUKAWA Yasuyuki, -+KATAYAMA Yukio, and replaced libjcode by customized jcode.[ch] (by KITAME -+Takuo). -+ -+Notes from the orginal patch by FURUKAWA Yukihiro is follows. -+(sorry, it is written in japanese only): -+ -+a2ps 4.12で漢字を印刷するためのパッチ -+ 慶應大学大学院 -+ 古川 泰之 -+ -+composite font を使って漢字を表示するためのパッチです。 -+composite fontには、片山 紀夫さん(はじめて日本語ghostscriptを作成した -+人)のfixeucfont をベースにa2ps用に多少手をいれております。これを利用す -+ることで、2バイトEUC+ASCIIの文字列のPostscriptの扱いがぐっと簡単にな -+ります。 -+ -+●Compositeフォントの設定方法について -+最低限の設定はパッチに含まれていますので、とりあえず大丈夫だとは思いま -+す。一応メモしておきます。 -+ -+encodingファイル($prefix/share/a2ps/encoding/の下のファイル)には -+『Composite:』および、『DefaultComposite:』が新たに指定できます。たと -+えば、英語フォントに対応するEUCエンコーディングの日本語フォントを書い -+て行きます。また、この際、フォント幅と半角と漢字の比も指定しなくてはな -+りません。手抜きによって、漢字は固定幅フォントしか指定してはいけません。 -+ -+-------------------------------------------------- -+# 日本語フォント フォン横幅 半角と漢字の比 -+DefaultComposite: Ryumin-Light-EUC-H 1 1.1 -+# 英語フォント 日本語フォント フォン横幅 半角と漢字の比 -+Composite: Helvetica GothicBBB-Medium-EUC-H 1 1.1 -+-------------------------------------------------- -+ -+また、これだと斜体漢字がなく、さみしいので、SlantFontを使い、斜体の漢 -+字フォントも作成できます。 -+ -+-------------------------------------------------- -+# 新規斜体日本語フォント名 ソース日本語フォント 傾き度 -+SlantFont: Ryumin-Light-EUC-H-Italic Ryumin-Light-EUC-H 0.2 -+-------------------------------------------------- -+ -+SlantFontで生成した斜体フォントはCompositeフォント(第2引数)で利用でき -+ます。 -+ -+●このパッチの詳細データ -+ ・残念ながら2バイトEUCコードを前提としたコーディングをしています。 -+ そのため、あまり漢字以外の言語を考えておりません…。 -+ ・倉光 君郎氏のlibjcodeを使って内部で入力ファイルの漢字エンコーディ -+ ングをすべてEUCに変換して処理するようにしています。ただし、オリジ -+ ナルのlibjcodeは、SJISおよびEUCの判定が甘かったので多少カスタムし -+ ております。 -+ ・また、texのdelegate(contrib/texi2dvi4a2ps)中、TeXドライバにはpTeX -+ と決めうちしています。これがいやなら、例えばNTT-jTeXを使用したい場 -+ 合、環境変数TEXに『jtex』を、LATEXには『jlatex』を指定してください。 -+ ・compositefontをa2ps用に多少カスタマイズしていますが、フォントの高 -+ さなどの情報を完全に固定で決め打ちしている箇所があります(XXXでメモ -+ しています)。そのためあまり応用性が低いと思います。 -+ -+●半角を全角の1/2の大きさにしたい -+パッチデフォルトでは全角文字と半角文字の大きさのバランスは、見た感じが -+(個人的なセンスで)安定するようにチューニングしています。もし、テキスト -+で表を作成していて、そのため、半角文字を全角のちょうど半分にそろえたい -+という場合の対処方法を書いておきます。 -+ -+インストール後、$prefix/share/a2ps/encoding/euc-jp中に、 -+ -+-------------------------------------------------- -+DefaultComposite: Ryumin-Light-EUC-H 1.0 1.1 -+-------------------------------------------------- -+ -+というのがあると思います。最後の『1.1』を『0.8342』あたりに変更して下 -+さい。ノーマル固定文字に関してはこれで望みの結果が得られると思います。 -+ -+他の太字フォントなども、例えば -+ -+-------------------------------------------------- -+Composite: Courier-Bold GothicBBB-Medium-EUC-H 1.0 0.8342 -+-------------------------------------------------- -+ -+のように変更すればいいと思います。なお、Courierがつかないフォント -+(Helvetica等)はもともとプロポーショナルフォントなので、固定幅にはでき -+ません。 -+ -+ -+ -+●再配布について -+なんだかんだいって、このパッチは、 -+ -+倉光 君郎さんのlibjcode + 片山 紀夫さんのfixeucfont -+ -+を組み合わてできたもので私自身のコードは実はほとんどありません…。 -+ -+私自身のコードは再配付/改造に関してなんら制限を設けるつもりはありませ -+ん。ただし、私以外のコードの方が多いため、一応それだけは御了承お願い致 -+します。 -diff -up a2ps-4.14/src/buffer.c.euc a2ps-4.14/src/buffer.c ---- a2ps-4.14/src/buffer.c.euc 2007-12-29 02:58:34.000000000 +0100 -+++ a2ps-4.14/src/buffer.c 2008-04-27 10:39:24.000000000 +0200 -@@ -41,6 +41,21 @@ - #include "argmatch.h" - #include "buffer.h" - #include -+ -+#ifdef HAVE_CONFIG_H -+# include -+#endif -+ -+#ifdef ENABLE_KANJI -+# include -+# include -+# include -+# include -+# include -+# include -+extern use_jcode; -+#endif -+ - - /****************************************************************/ - /* Handling of the various eol styles */ -@@ -526,3 +541,278 @@ buffer_test (const char *filename) - buffer_release (&buffer); - } - #endif -+ -+/** -+ * from jcode.c by Takuo KITAME -+ */ -+#ifdef ENABLE_KANJI -+ -+enum { -+ JCODE_ASCII, -+ JCODE_EUC, -+ JCODE_JIS, -+ JCODE_SJIS, -+ EUCORSJIS }; -+ -+#define ESC 0x1b -+#define SS2 0x8e -+ -+#define JCODE_LOCALE_EUC "ja", "ja_JP", "ja_JP.ujis", "ja_JP.EUC", "ja_JP.eucJP" -+#define JCODE_LOCALE_JIS "ja_JP.JIS", "ja_JP.jis", "ja_JP.iso-2022-jp" -+#define JCODE_LOCALE_SJIS "ja_JP.SJIS", "ja_JP.sjis" -+ -+/****************************************************************************/ -+/* Japanese string code detector */ -+/****************************************************************************/ -+int -+detect_kanji(unsigned char *str) -+{ -+ int expected = JCODE_ASCII; -+ register int c; -+ int c1, c2; -+ int euc_c = 0, sjis_c = 0; -+ unsigned char *ptr = str; -+ -+ while((c = (int)*ptr)!= '\0') { -+ if(c == ESC) { -+ if((c = (int)*(++ptr)) == '\0') -+ break; -+ if(c == '$') { -+ if((c = (int)*(++ptr)) == '\0') -+ break; -+ if(c == 'B' || c == '@') -+ return JCODE_JIS; -+ } -+ ptr++; -+ continue; -+ } -+ if((c >= 0x81 && c <= 0x8d) || (c >= 0x8f && c <= 0x9f)) -+ return JCODE_SJIS; -+ -+ if(c == SS2) { -+ if((c = (int)*(++ptr)) == '\0') -+ break; -+ if((c >= 0x40 && c <= 0x7e) || -+ (c >= 0x80 && c <= 0xa0) || -+ (c >= 0xe0 && c <= 0xfc)) -+ return JCODE_SJIS; -+ if(c >= 0xa1 && c <= 0xdf) -+ break; -+ -+ ptr++; -+ continue; -+ } -+ if(c >= 0xa1 && c <= 0xdf) { -+ if((c = (int)*(++ptr)) == '\0') -+ break; -+ -+ if (c >= 0xe0 && c <= 0xfe) -+ return JCODE_EUC; -+ if (c >= 0xa1 && c <= 0xdf) { -+ expected = EUCORSJIS; -+ ptr++; -+ continue; -+ } -+#if 1 -+ if(c == 0xa0 || (0xe0 <= c && c <= 0xfe)) -+ return JCODE_EUC; -+ else { -+ expected = EUCORSJIS; -+ ptr++; -+ continue; -+ } -+#else -+ if(c <= 0x9f) -+ return JCODE_SJIS; -+ if(c >= 0xf0 && c <= 0xfe) -+ return JCODE_EUC; -+#endif -+ -+ if(c >= 0xe0 && c <= 0xef) { -+ expected = EUCORSJIS; -+ while(c >= 0x40) { -+ if(c >= 0x81) { -+ if(c <= 0x8d || (c >= 0x8f && c <= 0x9f)) -+ return JCODE_SJIS; -+ else if(c >= 0xfd && c <= 0xfe) { -+ return JCODE_EUC; -+ } -+ } -+ if((c = (int)*(++ptr)) == '\0') -+ break; -+ } -+ ptr++; -+ continue; -+ } -+ -+ if(c >= 0xe0 && c <= 0xef) { -+ if((c = (int)*(++ptr)) == '\0') -+ break; -+ if((c >= 0x40 && c <= 0x7e) || (c >= 0x80 && c <= 0xa0)) -+ return JCODE_SJIS; -+ if(c >= 0xfd && c <= 0xfe) -+ return JCODE_EUC; -+ if(c >= 0xa1 && c <= 0xfc) -+ expected = EUCORSJIS; -+ } -+ } -+#if 1 -+ if (0xf0 <= c && c <= 0xfe) -+ return JCODE_EUC; -+#endif -+ ptr++; -+ } -+ -+ ptr = str; -+ c2 = 0; -+ while((c1 = (int)*ptr++) != '\0') { -+ if(((c2 > 0x80 && c2 < 0xa0) || (c2 >= 0xe0 && c2 < 0xfd)) && -+ ((c1 >= 0x40 && c1 < 0x7f) || (c1 >= 0x80 && c1 < 0xfd))) -+ sjis_c++, c1 = *ptr++; -+ c2 = c1; -+ } -+ if(sjis_c == 0) -+ expected = JCODE_EUC; -+ else { -+ ptr = str, c2 = 0; -+ while((c1 = (int)*ptr++) != '\0') { -+ if((c2 > 0xa0 && c2 < 0xff) && -+ (c1 > 0xa0 && c1 < 0xff)) -+ euc_c++, c1 = *ptr++; -+ c2 = c1; -+ } -+ if(sjis_c > euc_c) -+ expected = JCODE_SJIS; -+ else -+ expected = JCODE_EUC; -+ } -+ return expected; -+} -+ -+int -+int_detect_JCode(char *str) -+{ -+ int detected; -+ -+ if(!str) -+ return 0; -+ -+ detected = detect_kanji((unsigned char *)str); -+ -+ if(detected == JCODE_ASCII) -+ return JCODE_ASCII; -+ -+ switch(detected) { -+ case JCODE_EUC: -+ return JCODE_EUC; -+ break; -+ case JCODE_JIS: -+ return JCODE_JIS; -+ break; -+ case JCODE_SJIS: -+ return JCODE_SJIS; -+ break; -+ default: -+ return JCODE_ASCII; -+ break; -+ } -+ -+ /* not reached */ -+ return 0; -+} -+ -+const char * -+detect_JCode(char *str) -+{ -+ int detected; -+ -+ if(!str) -+ return NULL; -+ -+ detected = detect_kanji((unsigned char *)str); -+ -+ if(detected == JCODE_ASCII) -+ return "ASCII"; -+ -+ switch(detected) { -+ case JCODE_EUC: -+ return "EUC-JP"; -+ break; -+ case JCODE_JIS: -+ return "ISO-2022-JP"; -+ break; -+ case JCODE_SJIS: -+ return "SJIS"; -+ break; -+ default: -+ return "ASCII"; -+ break; -+ } -+ -+ /* not reached */ -+ return 0; -+} -+ -+char * -+kanji_conv_auto(char *str, const char *dstset) -+{ -+ unsigned char *buf, *ret; -+ iconv_t cd; -+ size_t insize = 0; -+ size_t outsize = 0; -+ size_t nconv = 0; -+ char *inptr; -+ char *outptr; -+ char srcset[16]; -+ -+ if(!str) -+ return NULL; -+ -+ switch (int_detect_JCode(str)) { -+ case JCODE_EUC: -+ strcpy(srcset, "EUC-JP"); -+ break; -+ case JCODE_JIS: -+ strcpy(srcset, "ISO-2022-JP"); -+ break; -+ case JCODE_SJIS: -+ strcpy(srcset, "SJIS"); -+ break; -+ default: -+ return strdup(str); -+ break; -+ } -+ -+ buf = (unsigned char *)malloc(strlen(str)* 4 + 1); -+ if(!buf) -+ return NULL; -+ -+ insize = strlen(str); -+ inptr = str; -+ outsize = strlen(str) * 4 ; -+ outptr = buf; -+ -+ cd = iconv_open(dstset, srcset); -+ if(cd == (iconv_t) -1) { -+ if(errno == EINVAL) -+ return strdup(str); -+ } -+ -+ nconv = iconv(cd, (const char **)&inptr, &insize, &outptr, &outsize); -+ if(nconv == (size_t) -1) { -+ if (errno == EINVAL) -+ memmove (buf, inptr, insize); -+ } else -+ iconv(cd, NULL, NULL, &outptr, &outsize); -+ -+ *outptr = '\0'; -+ iconv_close(cd); -+ -+ ret = strdup(buf); -+ free(buf); -+ -+ return ret; -+} -+ -+#endif -+ -diff -up a2ps-4.14/src/buffer.h.euc a2ps-4.14/src/buffer.h ---- a2ps-4.14/src/buffer.h.euc 2007-12-29 02:58:35.000000000 +0100 -+++ a2ps-4.14/src/buffer.h 2008-04-27 10:39:24.000000000 +0200 -@@ -104,4 +104,15 @@ void buffer_sample_get PARAMS ((buffer_t - void buffer_save PARAMS ((buffer_t * buffer, const char * filename)); - - #define buffer_is_empty(Buf) (Buf->curr >= Buf->len) -+ -+ -+/** -+ * from jcode.h by Takuo KITAME -+ */ -+ -+char *kanji_conv_auto(char *str, const char *dstset); -+ -+const char *detect_JCode(char *str); -+int int_detect_JCode(char *str); -+ - #endif -diff -up a2ps-4.14/src/Makefile.am.euc a2ps-4.14/src/Makefile.am ---- a2ps-4.14/src/Makefile.am.euc 2007-12-29 02:36:09.000000000 +0100 -+++ a2ps-4.14/src/Makefile.am 2008-04-27 10:39:24.000000000 +0200 -@@ -33,13 +33,13 @@ DEFS = @DEFS@ -DLOCALEDIR=\"$(datadir)/l - a2ps_SOURCES = main.c \ - read.c sshread.c ssheet.c select.c generate.c \ - delegate.c regex.c buffer.c versions.c ffaces.c \ --version-etc.c long-options.c \ -+version-etc.c long-options.c jcode.c \ - parsessh.y lexssh.l lexps.l sheets-map.l - - noinst_HEADERS = main.h \ - read.h sshread.h ssheet.h select.h generate.h \ - delegate.h regex.h buffer.h versions.h ffaces.h \ --version-etc.h long-options.h \ -+version-etc.h long-options.h jcode.h \ - yy2ssh.h lexps.h - - BUILT_SOURCES = parsessh.c parsessh.h diff --git a/a2ps-4.13-glibcpaper.patch b/a2ps-4.13-glibcpaper.patch index 23ab881..7030b73 100644 --- a/a2ps-4.13-glibcpaper.patch +++ b/a2ps-4.13-glibcpaper.patch @@ -1,25 +1,43 @@ ---- a2ps-4.13/lib/jobs.c.glibcpaper Sat Jan 15 18:15:07 2000 -+++ a2ps-4.13/lib/jobs.c Tue Feb 20 18:44:48 2001 -@@ -138,6 +138,7 @@ +diff -up a2ps-4.15.3/doc/a2ps.texi.glibcpaper a2ps-4.15.3/doc/a2ps.texi +--- a2ps-4.15.3/doc/a2ps.texi.glibcpaper 2023-04-25 15:55:46.783621115 +0200 ++++ a2ps-4.15.3/doc/a2ps.texi 2023-04-25 16:01:07.004225790 +0200 +@@ -1359,6 +1359,12 @@ use output medium @var{medium}. See the + default; see the man page of @code{paper} for how this is configured. + The default paper size may also be requested explicitly with the name + @samp{libpaper}. ++ ++The special @var{medium} @samp{_glibc} (which, in this Red Hat Linux ++version of @samp{a2ps}, is the default) means that you want the medium ++to be determined by the locale category @samp{LC_PAPER}. Note that this ++information is obtained from environment variables which may not be set ++up in non-interactive environments (such as in a cron job). + @end defvr + + @defvr {Option} -r +diff -up a2ps-4.15.3/liba2ps/jobs.c.glibcpaper a2ps-4.15.3/liba2ps/jobs.c +--- a2ps-4.15.3/liba2ps/jobs.c.glibcpaper 2023-04-25 15:55:46.781621105 +0200 ++++ a2ps-4.15.3/liba2ps/jobs.c 2023-04-25 15:56:51.340944620 +0200 +@@ -119,6 +119,7 @@ a2ps_job_new (void) + setlocale (LC_TIME, ""); setlocale (LC_MESSAGES, ""); - #endif setlocale (LC_CTYPE, ""); + setlocale (LC_PAPER, ""); bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); ---- a2ps-4.13/lib/options.c.glibcpaper Tue Aug 31 13:42:41 1999 -+++ a2ps-4.13/lib/options.c Tue Feb 20 18:44:48 2001 -@@ -54,6 +54,8 @@ - #include "argv.h" + bindtextdomain (PACKAGE "-gnulib", LOCALEDIR); +diff -up a2ps-4.15.3/liba2ps/options.c.glibcpaper a2ps-4.15.3/liba2ps/options.c +--- a2ps-4.15.3/liba2ps/options.c.glibcpaper 2023-03-19 18:22:01.000000000 +0100 ++++ a2ps-4.15.3/liba2ps/options.c 2023-04-25 15:57:18.942082933 +0200 +@@ -41,6 +41,8 @@ #include "quotearg.h" #include "filalign.h" + #include "version-etc.h" +#include +#include #define MAN_LINES 66 /* no lines for a man */ extern char *program_name; -@@ -281,7 +283,8 @@ +@@ -267,7 +269,8 @@ a2ps_handle_options (a2ps_job * job, int struct opt_optarg *opt_optarg_head = NULL; struct opt_optarg *opt_optarg = NULL; int res; @@ -29,7 +47,7 @@ /* Reset optind so that getopt is reinitialized. */ optind = 0; -@@ -545,7 +548,14 @@ +@@ -515,7 +518,14 @@ a2ps_handle_options (a2ps_job * job, int break; case 'M': /* select a medium */ @@ -45,36 +63,12 @@ break; case 'n': /* n copies */ ---- a2ps-4.13/src/main.c.glibcpaper Wed Jan 26 19:29:15 2000 -+++ a2ps-4.13/src/main.c Tue Feb 20 18:45:18 2001 -@@ -945,6 +945,7 @@ - setlocale (LC_MESSAGES, ""); - #endif - setlocale (LC_CTYPE, ""); -+ setlocale (LC_PAPER, ""); - - bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); ---- a2ps-4.13/doc/a2ps.texi.glibcpaper Wed Jan 23 12:36:30 2002 -+++ a2ps-4.13/doc/a2ps.texi Wed Jan 23 12:40:08 2002 -@@ -1363,6 +1363,12 @@ - ask the library @code{libpaper} for the medium to use. This choice is - valid only if @code{libpaper} was available when @pack{} was configured. - See the man page of @code{paperconf} for more information. -+ -+The special @var{medium} @samp{_glibc} (which, in this Red Hat Linux -+version of @samp{a2ps}, is the default) means that you want the medium -+to be determined by the locale category @samp{LC_PAPER}. Note that this -+information is obtained from environment variables which may not be set -+up in non-interactive environments (such as in a cron job). - @end defvr - - @defvr {Option} -r ---- a2ps-4.13/man/a2ps.1.glibcpaper Wed Jan 23 12:42:36 2002 -+++ a2ps-4.13/man/a2ps.1 Wed Jan 23 12:45:05 2002 -@@ -60,6 +60,11 @@ +diff -up a2ps-4.15.3/man/a2ps.1.glibcpaper a2ps-4.15.3/man/a2ps.1 +--- a2ps-4.15.3/man/a2ps.1.glibcpaper 2023-04-25 15:55:46.783621115 +0200 ++++ a2ps-4.15.3/man/a2ps.1 2023-04-25 16:01:48.946435970 +0200 +@@ -67,6 +67,11 @@ Sheets: .TP - \fB\-M\fR, \fB\-\-medium\fR=\fINAME\fR + \fB\-M\fR, \fB\-\-medium\fR=\fI\,NAME\/\fR use output medium NAME + +The default behaviour is to use the locale category @@ -84,3 +78,14 @@ .TP \fB\-r\fR, \fB\-\-landscape\fR print in landscape mode +diff -up a2ps-4.15.3/src/main.c.glibcpaper a2ps-4.15.3/src/main.c +--- a2ps-4.15.3/src/main.c.glibcpaper 2023-04-25 15:55:46.782621110 +0200 ++++ a2ps-4.15.3/src/main.c 2023-04-25 15:57:45.302215028 +0200 +@@ -933,6 +933,7 @@ main (int argc, char *argv[]) + setlocale (LC_TIME, ""); + setlocale (LC_MESSAGES, ""); + setlocale (LC_CTYPE, ""); ++ setlocale (LC_PAPER, ""); + + bindtextdomain (PACKAGE, LOCALEDIR); + bindtextdomain (PACKAGE "-gnulib", LOCALEDIR); diff --git a/a2ps-4.13-gnusource.patch b/a2ps-4.13-gnusource.patch deleted file mode 100644 index 5e75fbb..0000000 --- a/a2ps-4.13-gnusource.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a2ps-4.13/src/main.c.gnusource 2003-10-17 17:07:05.000000000 +0100 -+++ a2ps-4.13/src/main.c 2003-10-17 17:07:17.000000000 +0100 -@@ -30,6 +30,7 @@ - /* I n c l u d e f i l e s */ - /* */ - /************************************************************************/ -+#define _GNU_SOURCE - #include - #include - #include -@@ -105,7 +106,6 @@ - defined twice, see lib/confg.gperf, handling of `Options:'. */ - - char *program_name; --const char *program_invocation_name; - - /* Stores the data of liba2ps. */ - diff --git a/a2ps-4.13-security.patch b/a2ps-4.13-security.patch deleted file mode 100644 index cff6225..0000000 --- a/a2ps-4.13-security.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- a2ps-4.13/lib/routines.c.security Sat Oct 16 05:46:37 1999 -+++ a2ps-4.13/lib/routines.c Mon Feb 12 17:45:15 2001 -@@ -242,3 +242,50 @@ - /* Don't complain if you can't unlink. Who cares of a tmp file? */ - unlink (filename); - } -+ -+/* -+ * Securely generate a temp file, and make sure it gets -+ * deleted upon exit. -+ */ -+static char ** tempfiles; -+static unsigned ntempfiles; -+ -+static void -+cleanup_tempfiles() -+{ -+ while (ntempfiles--) -+ unlink(tempfiles[ntempfiles]); -+} -+ -+char * -+safe_tempnam(const char *pfx) -+{ -+ char *dirname, *filename; -+ int fd; -+ -+ if (!(dirname = getenv("TMPDIR"))) -+ dirname = "/tmp"; -+ -+ tempfiles = (char **) realloc(tempfiles, -+ (ntempfiles+1) * sizeof(char *)); -+ if (tempfiles == NULL) -+ return NULL; -+ -+ filename = malloc(strlen(dirname) + strlen(pfx) + sizeof("/XXXXXX")); -+ if (!filename) -+ return NULL; -+ -+ sprintf(filename, "%s/%sXXXXXX", dirname, pfx); -+ -+ if ((fd = mkstemp(filename)) < 0) { -+ free(filename); -+ return NULL; -+ } -+ close(fd); -+ -+ if (ntempfiles == 0) -+ atexit(cleanup_tempfiles); -+ tempfiles[ntempfiles++] = filename; -+ -+ return filename; -+} ---- a2ps-4.13/lib/routines.h.security Mon Oct 18 21:24:41 1999 -+++ a2ps-4.13/lib/routines.h Mon Feb 12 17:39:30 2001 -@@ -255,7 +255,8 @@ - /* If _STR_ is not defined, give it a tempname in _TMPDIR_ */ - #define tempname_ensure(Str) \ - do { \ -- (Str) = (Str) ? (Str) : tempnam (NULL, "a2_"); \ -+ (Str) = (Str) ? (Str) : safe_tempnam("a2_"); \ - } while (0) -+char * safe_tempnam(const char *); - - #endif diff --git a/a2ps-4.13b-attr.patch b/a2ps-4.13b-attr.patch deleted file mode 100644 index c157604..0000000 --- a/a2ps-4.13b-attr.patch +++ /dev/null @@ -1,92 +0,0 @@ ---- a2ps-4.13/lib/fonts.c.attr Wed Jan 9 14:41:27 2002 -+++ a2ps-4.13/lib/fonts.c Wed Jan 9 14:42:01 2002 -@@ -2173,7 +2173,7 @@ - * in the encoding specific dictionary - */ - int --font_is_to_reencode (PARAM_UNUSED struct a2ps_job * job, const char * key) -+font_is_to_reencode (struct a2ps_job * job PARAM_UNUSED, const char * key) - { - return !strequ (key, "Symbol"); - } ---- a2ps-4.13/lib/lister.c.attr Wed Jan 9 14:41:30 2002 -+++ a2ps-4.13/lib/lister.c Wed Jan 9 14:42:28 2002 -@@ -333,7 +333,7 @@ - } - - void --lister_fprint_vertical (struct lister * lister, PARAM_UNUSED FILE *unused, -+lister_fprint_vertical (struct lister * lister, FILE *unused PARAM_UNUSED, - void **items, size_t item_number, - lister_width_t item_width_fn, - lister_print_t item_print_fn) -@@ -483,7 +483,7 @@ - /* FIXME: document */ - - void --lister_fprint_horizontal (struct lister * lister, PARAM_UNUSED FILE *unused, -+lister_fprint_horizontal (struct lister * lister, FILE *unused PARAM_UNUSED, - void **items, size_t item_number, - lister_width_t item_width_fn, - lister_print_t item_print_fn) -@@ -577,7 +577,7 @@ - */ - - void --lister_fprint_separated (struct lister * lister,PARAM_UNUSED FILE *unused, -+lister_fprint_separated (struct lister * lister,FILE *unused PARAM_UNUSED, - void **items, size_t item_number, - lister_width_t item_width_fn, - lister_print_t item_print_fn) ---- a2ps-4.13/lib/media.c.attr Wed Jan 9 14:41:33 2002 -+++ a2ps-4.13/lib/media.c Wed Jan 9 14:42:35 2002 -@@ -190,7 +190,7 @@ - - /* Is libpaper used? */ - bool --a2ps_medium_libpaper_p (PARAM_UNUSED a2ps_job * job, const char * name) -+a2ps_medium_libpaper_p (a2ps_job * job PARAM_UNUSED, const char * name) - { - return strequ (name, LIBPAPER_MEDIUM) ? true : false; - } ---- a2ps-4.13/lib/pathwalk.c.attr Wed Jan 9 14:41:38 2002 -+++ a2ps-4.13/lib/pathwalk.c Wed Jan 9 14:42:47 2002 -@@ -425,14 +425,14 @@ - /* Helping functions for pw_glob. */ - - static bool --pw_filter_fnmatch (PARAM_UNUSED const char * dir, const char *file, -+pw_filter_fnmatch (const char * dir PARAM_UNUSED, const char *file, - const char *pattern) - { - return !fnmatch (pattern, file, 0); - } - - static void --pw_filter_da_append (PARAM_UNUSED const char * dir, const char *file, -+pw_filter_da_append (const char * dir PARAM_UNUSED, const char *file, - struct darray *da) - { - da_append (da, xstrdup (file)); ---- a2ps-4.13/lib/routines.c.attr Wed Jan 9 14:41:42 2002 -+++ a2ps-4.13/lib/routines.c Wed Jan 9 14:42:54 2002 -@@ -235,7 +235,7 @@ - * Unlink the file FILENAME. - */ - void --unlink2 (PARAM_UNUSED void * dummy, const char * filename) -+unlink2 (void * dummy PARAM_UNUSED, const char * filename) - { - message (msg_tool | msg_file, (stderr, "Unlinking file `%s'\n", filename)); - ---- a2ps-4.13/lib/fonts.l.attr Wed Jan 9 14:58:38 2002 -+++ a2ps-4.13/lib/fonts.l Wed Jan 9 14:58:52 2002 -@@ -585,7 +585,7 @@ - * in the encoding specific dictionary - */ - int --font_is_to_reencode (PARAM_UNUSED struct a2ps_job * job, const char * key) -+font_is_to_reencode (struct a2ps_job * job PARAM_UNUSED, const char * key) - { - return !strequ (key, "Symbol"); - } diff --git a/a2ps-4.13b-encoding.patch b/a2ps-4.13b-encoding.patch index d4337b6..0b26e4a 100644 --- a/a2ps-4.13b-encoding.patch +++ b/a2ps-4.13b-encoding.patch @@ -1,39 +1,8 @@ ---- a2ps-4.13/etc/a2ps-site.cfg.in.encoding 2000-01-15 23:39:36.000000000 +0000 -+++ a2ps-4.13/etc/a2ps-site.cfg.in 2002-08-05 10:22:20.000000000 +0100 -@@ -11,7 +11,7 @@ - ################################################################# - - # Default encoding --Options: --encoding=@ENCODING@ -+#Options: --encoding=@ENCODING@ - - # Default medium - Options: --medium=@MEDIUM@ ---- a2ps-4.13/src/main.c.encoding 2002-08-05 10:22:20.000000000 +0100 -+++ a2ps-4.13/src/main.c 2002-08-05 10:22:20.000000000 +0100 -@@ -32,6 +32,7 @@ - /************************************************************************/ - #include - #include -+#include - #include - - #include "a2ps.h" -@@ -1021,9 +1022,8 @@ - sheets_map = sheets_map_new (); - style_sheets = new_style_sheets (); - -- /* Process special case: Japanese Document */ -- if (! strncmp (locale, "ja", 2) ) -- job->requested_encoding_name = xstrdup ("euc-jp"); -+ /* Use locale to set default encoding. */ -+ job->requested_encoding_name = xstrdup (nl_langinfo (CODESET)); - - /* Process the command line options. */ - argn = a2ps_handle_options (job, argc, argv); ---- a2ps-4.13/encoding/encoding.map.encoding 2002-08-05 10:22:20.000000000 +0100 -+++ a2ps-4.13/encoding/encoding.map 2002-08-05 10:38:55.000000000 +0100 -@@ -45,6 +45,7 @@ +diff --git a/encoding/encoding.map b/encoding/encoding.map +index 926749e..7eb3873 100644 +--- a/encoding/encoding.map ++++ b/encoding/encoding.map +@@ -45,6 +45,7 @@ us-ascii ascii latin1 iso1 iso1 iso1 iso-8859-1 iso1 @@ -41,10 +10,45 @@ latin2 iso2 iso2 iso2 -@@ -128,3 +129,6 @@ +@@ -142,3 +143,6 @@ hp8 hp # Apple' Macintosh mac mac macintosh mac + +# We don't handle UTF-8 at all yet. Sometimes latin1 will work... +utf-8 iso1 +diff --git a/etc/a2ps-site.cfg.in b/etc/a2ps-site.cfg.in +index 2bbcddd..f9f699d 100644 +--- a/etc/a2ps-site.cfg.in ++++ b/etc/a2ps-site.cfg.in +@@ -11,7 +11,7 @@ + ################################################################# + + # Default encoding +-Options: --encoding=@ENCODING@ ++#Options: --encoding=@ENCODING@ + + ################################################################# + # 2) Your printers # +diff --git a/src/main.c b/src/main.c +index 32699ce..b015fb0 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -25,6 +25,7 @@ + #include + + #include ++#include + #include + + #include "a2ps.h" +@@ -989,6 +990,9 @@ main (int argc, char *argv[]) + sheets_map = sheets_map_new (); + style_sheets = new_style_sheets (); + ++ /* Use locale to set default encoding. */ ++ job->requested_encoding_name = xstrdup (nl_langinfo (CODESET)); ++ + /* Process the command line options. */ + argn = a2ps_handle_options (job, argc, argv); + switch (behavior) { diff --git a/a2ps-4.13b-numeric.patch b/a2ps-4.13b-numeric.patch index b7d0990..e6dbe77 100644 --- a/a2ps-4.13b-numeric.patch +++ b/a2ps-4.13b-numeric.patch @@ -1,10 +1,11 @@ ---- a2ps-4.13/src/main.c.numeric Wed Jan 9 14:59:46 2002 -+++ a2ps-4.13/src/main.c Wed Jan 9 15:03:52 2002 -@@ -951,6 +951,7 @@ +diff -up a2ps-4.15.5/src/main.c.numeric a2ps-4.15.5/src/main.c +--- a2ps-4.15.5/src/main.c.numeric 2023-07-25 13:51:15.682949214 +0200 ++++ a2ps-4.15.5/src/main.c 2023-07-25 13:56:01.934924976 +0200 +@@ -927,6 +927,7 @@ main (int argc, char *argv[]) + setlocale (LC_MESSAGES, ""); + setlocale (LC_CTYPE, ""); setlocale (LC_PAPER, ""); - - locale = setlocale (LC_ALL, ""); + setlocale (LC_NUMERIC, "C"); - /* fprintf(stderr, "locale : %s\n", locale); */ bindtextdomain (PACKAGE, LOCALEDIR); + bindtextdomain (PACKAGE "-gnulib", LOCALEDIR); diff --git a/a2ps-4.14-texinfo-nodes.patch b/a2ps-4.14-texinfo-nodes.patch index 47c2001..a06fb2d 100644 --- a/a2ps-4.14-texinfo-nodes.patch +++ b/a2ps-4.14-texinfo-nodes.patch @@ -1,6 +1,84 @@ -diff -up a2ps-4.14/doc/regex.texi_old a2ps-4.14/doc/regex.texi ---- a2ps-4.14/doc/regex.texi_old 2002-03-04 19:46:24.000000000 +0100 -+++ a2ps-4.14/doc/regex.texi 2008-05-16 11:34:42.000000000 +0200 +diff -up a2ps-4.15.5/doc/a2ps.texi.nodes a2ps-4.15.5/doc/a2ps.texi +--- a2ps-4.15.5/doc/a2ps.texi.nodes 2023-07-25 18:04:09.076935779 +0200 ++++ a2ps-4.15.5/doc/a2ps.texi 2023-07-25 18:11:46.197081542 +0200 +@@ -342,11 +342,11 @@ Contributions + + Frequently asked questions + +-* Why Does ...?:: Questions on Error +-* How Can I ...?:: a2ps' How-To +-* Please tell me...:: Existential Questions on a2ps ++* Why Does?:: Questions on Error ++* How Can I?:: a2ps' How-To ++* Please tell me:: Existential Questions on a2ps + +-Why Does...? ++Why Does? + + * It Prints Nothing:: The printer issues nothing + * It Prints in Simplex:: While I asked for Duplex +@@ -356,7 +356,7 @@ Why Does...? + * It Says my File is Binary:: And refuses to print it + * It Refuses to Change the Font Size:: + +-How Can I ...? ++How Can I? + + * Leave Room for Binding:: Specifying Margins + * Print stdin:: Using a2ps in a pipe chain +@@ -365,7 +365,7 @@ How Can I ...? + * Pass Options to lpr:: Disable the banner + * Man Pages with Underlines:: Now it Prints With Italics + +-Please tell me... ++Please tell me + + * Is a2ps Y2K compliant?:: Printing dates in short format + * Why not using yacc:: Why Using Style Sheets +@@ -5841,13 +5841,13 @@ question about the options, etc. It has + suggestions, not to contact the authors. + + @menu +-* Why Does ...?:: Questions on Error +-* How Can I ...?:: a2ps' How-To +-* Please tell me...:: Existential Questions on a2ps ++* Why Does?:: Questions on Error ++* How Can I?:: a2ps' How-To ++* Please tell me:: Existential Questions on a2ps + @end menu + +-@node Why Does ...? +-@section Why Does...? ++@node Why Does? ++@section Why Does? + + Error related questions. + +@@ -6069,8 +6069,8 @@ Note that the `pure' options (no side-ef + virtual pages are @samp{--columns} and @samp{--rows}. + + @c -----------------------------How can I ? ------------------------------ +-@node How Can I ...? +-@section How Can I ...? ++@node How Can I? ++@section How Can I? + + A mini how-to on @pack{}. + +@@ -6152,8 +6152,8 @@ Use @samp{a2ps --pro=ul}. + + + @c -------------------------- Please Tell me ? ------------------------------ +-@node Please tell me... +-@section Please tell me... ++@node Please tell me ++@section Please tell me + + Wondering something? + +diff -up a2ps-4.15.5/doc/regex.texi.nodes a2ps-4.15.5/doc/regex.texi +--- a2ps-4.15.5/doc/regex.texi.nodes 2022-05-01 14:00:35.000000000 +0200 ++++ a2ps-4.15.5/doc/regex.texi 2023-07-25 18:04:09.094935900 +0200 @@ -121,7 +121,7 @@ Regular Expression Syntax * Syntax Bits:: @@ -28,7 +106,7 @@ diff -up a2ps-4.14/doc/regex.texi_old a2ps-4.14/doc/regex.texi @section Predefined Syntaxes If you're programming with Regex, you can set a pattern buffer's -@@ -552,8 +552,8 @@ The predefined syntaxes--taken directly +@@ -552,8 +552,8 @@ The predefined syntaxes--taken directly | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) @end example @@ -48,81 +126,3 @@ diff -up a2ps-4.14/doc/regex.texi_old a2ps-4.14/doc/regex.texi @section The Backslash Character @cindex @samp{\} -diff -up a2ps-4.14/doc/a2ps.texi_old a2ps-4.14/doc/a2ps.texi ---- a2ps-4.14/doc/a2ps.texi_old 2008-05-16 11:34:21.000000000 +0200 -+++ a2ps-4.14/doc/a2ps.texi 2008-05-16 11:42:11.000000000 +0200 -@@ -371,11 +371,11 @@ Contributions - - Frequently asked questions - --* Why Does ...?:: Questions on Error --* How Can I ...?:: a2ps' How-To --* Please tell me...:: Existential Questions on a2ps -+* Why Does?:: Questions on Error -+* How Can I?:: a2ps' How-To -+* Please tell me:: Existential Questions on a2ps - --Why Does...? -+Why Does? - - * It Prints Nothing:: The printer issues nothing - * It Prints in Simplex:: While I asked for Duplex -@@ -385,7 +385,7 @@ Why Does...? - * It Says my File is Binary:: And refuses to print it - * It Refuses to Change the Font Size:: - --How Can I ...? -+How Can I? - - * Leave Room for Binding:: Specifying Margins - * Print stdin:: Using a2ps in a pipe chain -@@ -395,7 +395,7 @@ How Can I ...? - * Non PostScript Printers:: Using GhostScript - * Man Pages with Underlines:: Now it Prints With Italics - --Please tell me... -+Please tell me - - * Is a2ps Y2K compliant?:: Printing dates in short format - * The Options Have Changed:: Respect The Users -@@ -6198,13 +6198,13 @@ question about the options, etc. It has - suggestions, not to contact the authors. - - @menu --* Why Does ...?:: Questions on Error --* How Can I ...?:: a2ps' How-To --* Please tell me...:: Existential Questions on a2ps -+* Why Does?:: Questions on Error -+* How Can I?:: a2ps' How-To -+* Please tell me:: Existential Questions on a2ps - @end menu - --@node Why Does ...? --@section Why Does...? -+@node Why Does? -+@section Why Does? - - Error related questions. - -@@ -6426,8 +6426,8 @@ Note that the `pure' options (no side-ef - virtual pages are @samp{--columns} and @samp{--rows}. - - @c -----------------------------How can I ? ------------------------------ --@node How Can I ...? --@section How Can I ...? -+@node How Can I? -+@section How Can I? - - A mini how-to on @pack{}. - -@@ -6561,8 +6561,8 @@ Use @samp{a2ps --pro=ul}. - - - @c -------------------------- Please Tell me ? ------------------------------ --@node Please tell me... --@section Please tell me... -+@node Please tell me -+@section Please tell me - - Wondering something? - diff --git a/a2ps-CVE-2014-0466.patch b/a2ps-CVE-2014-0466.patch deleted file mode 100644 index b857019..0000000 --- a/a2ps-CVE-2014-0466.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up a2ps-4.14/contrib/fixps.in.CVE-2014-0466 a2ps-4.14/contrib/fixps.in ---- a2ps-4.14/contrib/fixps.in.CVE-2014-0466 2014-04-01 15:35:04.168904356 +0100 -+++ a2ps-4.14/contrib/fixps.in 2014-04-01 15:35:36.509060292 +0100 -@@ -389,7 +389,7 @@ if test $task != check; then - eval "$command" ;; - gs) - $verbose "$program: making a full rewrite of the file ($gs)." >&2 -- $gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;; -+ $gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;; - esac - ) - fi -diff -up a2ps-4.14/contrib/fixps.m4.CVE-2014-0466 a2ps-4.14/contrib/fixps.m4 ---- a2ps-4.14/contrib/fixps.m4.CVE-2014-0466 2014-04-01 15:35:06.885917452 +0100 -+++ a2ps-4.14/contrib/fixps.m4 2014-04-01 15:35:48.748119336 +0100 -@@ -307,7 +307,7 @@ if test $task != check; then - eval "$command" ;; - gs) - $verbose "$program: making a full rewrite of the file ($gs)." >&2 -- $gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;; -+ $gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;; - esac - ) - fi diff --git a/a2ps-U.patch b/a2ps-U.patch index 48c5a90..eff7118 100644 --- a/a2ps-U.patch +++ b/a2ps-U.patch @@ -9,14 +9,3 @@ | $a2ps -gEudiff $a2ps_options || exit 1 ;; esac ---- a2ps-4.13/contrib/pdiff.m4.U 2005-05-05 12:47:54.000000000 +0100 -+++ a2ps-4.13/contrib/pdiff.m4 2005-05-05 12:53:10.000000000 +0100 -@@ -100,7 +100,7 @@ - # We need the total number of lines - lines=`wc -l $file1 $file2 | sed -n 3p` - lines=`set -- $lines && echo $1` -- $diff_prog $diff_options -$lines $file1 $file2 \ -+ $diff_prog $diff_options -U$lines $file1 $file2 \ - | $a2ps -gEudiff $a2ps_options || exit 1 - ;; - esac diff --git a/a2ps-aarch64.patch b/a2ps-aarch64.patch deleted file mode 100644 index a55bf9f..0000000 --- a/a2ps-aarch64.patch +++ /dev/null @@ -1,1629 +0,0 @@ -diff -up a2ps-4.14/auxdir/config.guess.aarch64 a2ps-4.14/auxdir/config.guess ---- a2ps-4.14/auxdir/config.guess.aarch64 2007-12-29 03:28:06.000000000 +0000 -+++ a2ps-4.14/auxdir/config.guess 2013-04-29 13:13:51.035686658 +0100 -@@ -1,10 +1,10 @@ - #! /bin/sh - # Attempt to guess a canonical system name. - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, --# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, --# Inc. -+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -+# 2011, 2012 Free Software Foundation, Inc. - --timestamp='2007-07-22' -+timestamp='2012-09-25' - - # This file is free software; you can redistribute it and/or modify it - # under the terms of the GNU General Public License as published by -@@ -17,9 +17,7 @@ timestamp='2007-07-22' - # 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. -+# along with this program; if not, see . - # - # As a special exception to the GNU General Public License, if you - # distribute this file as part of a program that contains a -@@ -27,16 +25,16 @@ timestamp='2007-07-22' - # the same distribution terms that you use for the rest of that program. - - --# Originally written by Per Bothner . --# Please send patches to . Submit a context --# diff and a properly formatted ChangeLog entry. -+# Originally written by Per Bothner. Please send patches (context -+# diff format) to and include a ChangeLog -+# entry. - # - # This script attempts to guess a canonical system name similar to - # config.sub. If it succeeds, it prints the system name on stdout, and - # exits with 0. Otherwise, it exits with 1. - # --# The plan is that this can be called by configure scripts if you --# don't specify an explicit build system type. -+# You can get the latest version of this script from: -+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD - - me=`echo "$0" | sed -e 's,.*/,,'` - -@@ -56,7 +54,8 @@ version="\ - GNU config.guess ($timestamp) - - Originally written by Per Bothner. --Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 - Free Software Foundation, Inc. - - This is free software; see the source for copying conditions. There is NO -@@ -144,7 +143,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` | - case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or -- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, -+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward -@@ -170,7 +169,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ -- | grep __ELF__ >/dev/null -+ | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? -@@ -180,7 +179,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - fi - ;; - *) -- os=netbsd -+ os=netbsd - ;; - esac - # The OS release -@@ -201,6 +200,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; -+ *:Bitrig:*:*) -+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` -+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} -+ exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} -@@ -223,7 +226,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) -- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` -+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on -@@ -269,7 +272,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` -- exit ;; -+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code. -+ exitcode=$? -+ trap '' 0 -+ exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead -@@ -295,12 +301,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) -- echo powerpc-ibm-os400 -+ echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; -- arm:riscos:*:*|arm:RISCOS:*:*) -+ arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) -@@ -324,14 +330,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; -+ s390x:SunOS:*:*) -+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -+ exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; -+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) -+ echo i386-pc-auroraux${UNAME_RELEASE} -+ exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) -- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -+ eval $set_cc_for_build -+ SUN_ARCH="i386" -+ # If there is a compiler, see if it is configured for 64-bit objects. -+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. -+ # This test works for both compilers. -+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then -+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ -+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ -+ grep IS_64BIT_ARCH >/dev/null -+ then -+ SUN_ARCH="x86_64" -+ fi -+ fi -+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize -@@ -375,23 +400,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) -- echo m68k-atari-mint${UNAME_RELEASE} -+ echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} -- exit ;; -+ exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) -- echo m68k-atari-mint${UNAME_RELEASE} -+ echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) -- echo m68k-milan-mint${UNAME_RELEASE} -- exit ;; -+ echo m68k-milan-mint${UNAME_RELEASE} -+ exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) -- echo m68k-hades-mint${UNAME_RELEASE} -- exit ;; -+ echo m68k-hades-mint${UNAME_RELEASE} -+ exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) -- echo m68k-unknown-mint${UNAME_RELEASE} -- exit ;; -+ echo m68k-unknown-mint${UNAME_RELEASE} -+ exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; -@@ -461,8 +486,8 @@ EOF - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) -- # DG/UX returns AViiON for all architectures -- UNAME_PROCESSOR=`/usr/bin/uname -p` -+ # DG/UX returns AViiON for all architectures -+ UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ -@@ -475,7 +500,7 @@ EOF - else - echo i586-dg-dgux${UNAME_RELEASE} - fi -- exit ;; -+ exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; -@@ -532,7 +557,7 @@ EOF - echo rs6000-ibm-aix3.2 - fi - exit ;; -- *:AIX:*:[45]) -+ *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 -@@ -575,52 +600,52 @@ EOF - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` -- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` -- case "${sc_cpu_version}" in -- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 -- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 -- 532) # CPU_PA_RISC2_0 -- case "${sc_kernel_bits}" in -- 32) HP_ARCH="hppa2.0n" ;; -- 64) HP_ARCH="hppa2.0w" ;; -+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` -+ case "${sc_cpu_version}" in -+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 -+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 -+ 532) # CPU_PA_RISC2_0 -+ case "${sc_kernel_bits}" in -+ 32) HP_ARCH="hppa2.0n" ;; -+ 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 -- esac ;; -- esac -+ esac ;; -+ esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build -- sed 's/^ //' << EOF >$dummy.c -+ sed 's/^ //' << EOF >$dummy.c - -- #define _HPUX_SOURCE -- #include -- #include -- -- int main () -- { -- #if defined(_SC_KERNEL_BITS) -- long bits = sysconf(_SC_KERNEL_BITS); -- #endif -- long cpu = sysconf (_SC_CPU_VERSION); -- -- switch (cpu) -- { -- case CPU_PA_RISC1_0: puts ("hppa1.0"); break; -- case CPU_PA_RISC1_1: puts ("hppa1.1"); break; -- case CPU_PA_RISC2_0: -- #if defined(_SC_KERNEL_BITS) -- switch (bits) -- { -- case 64: puts ("hppa2.0w"); break; -- case 32: puts ("hppa2.0n"); break; -- default: puts ("hppa2.0"); break; -- } break; -- #else /* !defined(_SC_KERNEL_BITS) */ -- puts ("hppa2.0"); break; -- #endif -- default: puts ("hppa1.0"); break; -- } -- exit (0); -- } -+ #define _HPUX_SOURCE -+ #include -+ #include -+ -+ int main () -+ { -+ #if defined(_SC_KERNEL_BITS) -+ long bits = sysconf(_SC_KERNEL_BITS); -+ #endif -+ long cpu = sysconf (_SC_CPU_VERSION); -+ -+ switch (cpu) -+ { -+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break; -+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break; -+ case CPU_PA_RISC2_0: -+ #if defined(_SC_KERNEL_BITS) -+ switch (bits) -+ { -+ case 64: puts ("hppa2.0w"); break; -+ case 32: puts ("hppa2.0n"); break; -+ default: puts ("hppa2.0"); break; -+ } break; -+ #else /* !defined(_SC_KERNEL_BITS) */ -+ puts ("hppa2.0"); break; -+ #endif -+ default: puts ("hppa1.0"); break; -+ } -+ exit (0); -+ } - EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa -@@ -640,7 +665,7 @@ EOF - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | -- grep __LP64__ >/dev/null -+ grep -q __LP64__ - then - HP_ARCH="hppa2.0w" - else -@@ -711,22 +736,22 @@ EOF - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd -- exit ;; -+ exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi -- exit ;; -+ exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd -- exit ;; -+ exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd -- exit ;; -+ exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd -- exit ;; -+ exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; -@@ -750,14 +775,14 @@ EOF - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` -- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` -- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` -- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" -- exit ;; -+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` -+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` -+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" -+ exit ;; - 5000:UNIX_System_V:4.*:*) -- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` -- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` -- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" -+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` -+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` -+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} -@@ -769,40 +794,51 @@ EOF - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) -- case ${UNAME_MACHINE} in -- pc98) -- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; -+ UNAME_PROCESSOR=`/usr/bin/uname -p` -+ case ${UNAME_PROCESSOR} in - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) -- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; -+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; -+ *:MINGW64*:*) -+ echo ${UNAME_MACHINE}-pc-mingw64 -+ exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; -+ i*:MSYS*:*) -+ echo ${UNAME_MACHINE}-pc-msys -+ exit ;; - i*:windows32*:*) -- # uname -m includes "-pc" on this system. -- echo ${UNAME_MACHINE}-mingw32 -+ # uname -m includes "-pc" on this system. -+ echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; -- *:Interix*:[3456]*) -- case ${UNAME_MACHINE} in -+ *:Interix*:*) -+ case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; -- EM64T | authenticamd) -+ authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; -+ IA64) -+ echo ia64-unknown-interix${UNAME_RELEASE} -+ exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; -+ 8664:Windows_NT:*) -+ echo x86_64-pc-mks -+ exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we -@@ -832,20 +868,68 @@ EOF - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; -- arm*:Linux:*:*) -+ aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -+ aarch64_be:Linux:*:*) -+ UNAME_MACHINE=aarch64_be -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; -+ alpha:Linux:*:*) -+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in -+ EV5) UNAME_MACHINE=alphaev5 ;; -+ EV56) UNAME_MACHINE=alphaev56 ;; -+ PCA56) UNAME_MACHINE=alphapca56 ;; -+ PCA57) UNAME_MACHINE=alphapca56 ;; -+ EV6) UNAME_MACHINE=alphaev6 ;; -+ EV67) UNAME_MACHINE=alphaev67 ;; -+ EV68*) UNAME_MACHINE=alphaev68 ;; -+ esac -+ objdump --private-headers /bin/sh | grep -q ld.so.1 -+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi -+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} -+ exit ;; -+ arm*:Linux:*:*) -+ eval $set_cc_for_build -+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ -+ | grep -q __ARM_EABI__ -+ then -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ else -+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ -+ | grep -q __ARM_PCS_VFP -+ then -+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi -+ else -+ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf -+ fi -+ fi -+ exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) -- echo cris-axis-linux-gnu -+ echo ${UNAME_MACHINE}-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) -- echo crisv32-axis-linux-gnu -+ echo ${UNAME_MACHINE}-axis-linux-gnu - exit ;; - frv:Linux:*:*) -- echo frv-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; -+ hexagon:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; -+ i*86:Linux:*:*) -+ LIBC=gnu -+ eval $set_cc_for_build -+ sed 's/^ //' << EOF >$dummy.c -+ #ifdef __dietlibc__ -+ LIBC=dietlibc -+ #endif -+EOF -+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` -+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu -@@ -856,74 +940,33 @@ EOF - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -- mips:Linux:*:*) -+ mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU -- #undef mips -- #undef mipsel -+ #undef ${UNAME_MACHINE} -+ #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) -- CPU=mipsel -+ CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) -- CPU=mips -+ CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif - EOF -- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' -- /^CPU/{ -- s: ::g -- p -- }'`" -- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } -- ;; -- mips64:Linux:*:*) -- eval $set_cc_for_build -- sed 's/^ //' << EOF >$dummy.c -- #undef CPU -- #undef mips64 -- #undef mips64el -- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) -- CPU=mips64el -- #else -- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) -- CPU=mips64 -- #else -- CPU= -- #endif -- #endif --EOF -- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' -- /^CPU/{ -- s: ::g -- p -- }'`" -+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) -- echo or32-unknown-linux-gnu -- exit ;; -- ppc:Linux:*:*) -- echo powerpc-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -- ppc64:Linux:*:*) -- echo powerpc64-unknown-linux-gnu -+ padre:Linux:*:*) -+ echo sparc-unknown-linux-gnu - exit ;; -- alpha:Linux:*:*) -- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in -- EV5) UNAME_MACHINE=alphaev5 ;; -- EV56) UNAME_MACHINE=alphaev56 ;; -- PCA56) UNAME_MACHINE=alphapca56 ;; -- PCA57) UNAME_MACHINE=alphapca56 ;; -- EV6) UNAME_MACHINE=alphaev6 ;; -- EV67) UNAME_MACHINE=alphaev67 ;; -- EV68*) UNAME_MACHINE=alphaev68 ;; -- esac -- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null -- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi -- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} -+ parisc64:Linux:*:* | hppa64:Linux:*:*) -+ echo hppa64-unknown-linux-gnu - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level -@@ -933,14 +976,17 @@ EOF - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; -- parisc64:Linux:*:* | hppa64:Linux:*:*) -- echo hppa64-unknown-linux-gnu -+ ppc64:Linux:*:*) -+ echo powerpc64-unknown-linux-gnu -+ exit ;; -+ ppc:Linux:*:*) -+ echo powerpc-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu -@@ -948,78 +994,18 @@ EOF - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -+ tile*:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) -- echo x86_64-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -- xtensa:Linux:*:*) -- echo xtensa-unknown-linux-gnu -+ xtensa*:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -- i*86:Linux:*:*) -- # The BFD linker knows what the default object file format is, so -- # first see if it will tell us. cd to the root directory to prevent -- # problems with other programs or directories called `ld' in the path. -- # Set LC_ALL=C to ensure ld outputs messages in English. -- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ -- | sed -ne '/supported targets:/!d -- s/[ ][ ]*/ /g -- s/.*supported targets: *// -- s/ .*// -- p'` -- case "$ld_supported_targets" in -- elf32-i386) -- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" -- ;; -- a.out-i386-linux) -- echo "${UNAME_MACHINE}-pc-linux-gnuaout" -- exit ;; -- coff-i386) -- echo "${UNAME_MACHINE}-pc-linux-gnucoff" -- exit ;; -- "") -- # Either a pre-BFD a.out linker (linux-gnuoldld) or -- # one that does not give us useful --help. -- echo "${UNAME_MACHINE}-pc-linux-gnuoldld" -- exit ;; -- esac -- # Determine whether the default compiler is a.out or elf -- eval $set_cc_for_build -- sed 's/^ //' << EOF >$dummy.c -- #include -- #ifdef __ELF__ -- # ifdef __GLIBC__ -- # if __GLIBC__ >= 2 -- LIBC=gnu -- # else -- LIBC=gnulibc1 -- # endif -- # else -- LIBC=gnulibc1 -- # endif -- #else -- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -- LIBC=gnu -- #else -- LIBC=gnuaout -- #endif -- #endif -- #ifdef __dietlibc__ -- LIBC=dietlibc -- #endif --EOF -- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' -- /^LIBC/{ -- s: ::g -- p -- }'`" -- test x"${LIBC}" != x && { -- echo "${UNAME_MACHINE}-pc-linux-${LIBC}" -- exit -- } -- test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } -- ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both -@@ -1027,11 +1013,11 @@ EOF - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) -- # Unixware is an offshoot of SVR4, but it has its own version -- # number series starting with 2... -- # I am not positive that other SVR4 systems won't match this, -+ # Unixware is an offshoot of SVR4, but it has its own version -+ # number series starting with 2... -+ # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. -- # Use sysv4.2uw... so that sysv4* matches it. -+ # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) -@@ -1048,7 +1034,7 @@ EOF - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; -- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) -+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) -@@ -1063,7 +1049,7 @@ EOF - fi - exit ;; - i*86:*:5:[678]*) -- # UnixWare 7.x, OpenUNIX and OpenServer 6. -+ # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; -@@ -1091,10 +1077,13 @@ EOF - exit ;; - pc:*:*:*) - # Left here for compatibility: -- # uname -m prints for DJGPP always 'pc', but it prints nothing about -- # the processor, so we play safe by assuming i386. -- echo i386-pc-msdosdjgpp -- exit ;; -+ # uname -m prints for DJGPP always 'pc', but it prints nothing about -+ # the processor, so we play safe by assuming i586. -+ # Note: whatever this is, it MUST be the same as what config.sub -+ # prints for the "djgpp" host, or else GDB configury will decide that -+ # this is a cross-build. -+ echo i586-pc-msdosdjgpp -+ exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; -@@ -1129,8 +1118,18 @@ EOF - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) -- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ -- && { echo i486-ncr-sysv4; exit; } ;; -+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ -+ && { echo i486-ncr-sysv4; exit; } ;; -+ NCR*:*:4.2:* | MPRAS*:*:4.2:*) -+ OS_REL='.3' -+ test -r /etc/.relid \ -+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` -+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ -+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } -+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ -+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } -+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ -+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; -@@ -1143,7 +1142,7 @@ EOF - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; -- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) -+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) -@@ -1163,10 +1162,10 @@ EOF - echo ns32k-sni-sysv - fi - exit ;; -- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort -- # says -- echo i586-unisys-sysv4 -- exit ;; -+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort -+ # says -+ echo i586-unisys-sysv4 -+ exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm -@@ -1192,11 +1191,11 @@ EOF - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then -- echo mips-nec-sysv${UNAME_RELEASE} -+ echo mips-nec-sysv${UNAME_RELEASE} - else -- echo mips-unknown-sysv${UNAME_RELEASE} -+ echo mips-unknown-sysv${UNAME_RELEASE} - fi -- exit ;; -+ exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; -@@ -1206,6 +1205,12 @@ EOF - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; -+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible. -+ echo i586-pc-haiku -+ exit ;; -+ x86_64:Haiku:*:*) -+ echo x86_64-unknown-haiku -+ exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; -@@ -1233,6 +1238,16 @@ EOF - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in -+ i386) -+ eval $set_cc_for_build -+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then -+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ -+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ -+ grep IS_64BIT_ARCH >/dev/null -+ then -+ UNAME_PROCESSOR="x86_64" -+ fi -+ fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} -@@ -1248,7 +1263,10 @@ EOF - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; -- NSE-?:NONSTOP_KERNEL:*:*) -+ NEO-?:NONSTOP_KERNEL:*:*) -+ echo neo-tandem-nsk${UNAME_RELEASE} -+ exit ;; -+ NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) -@@ -1293,13 +1311,13 @@ EOF - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) -- echo mips-sei-seiux${UNAME_RELEASE} -+ echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) -- UNAME_MACHINE=`(uname -p) 2>/dev/null` -+ UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; -@@ -1314,11 +1332,14 @@ EOF - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; -+ i*86:AROS:*:*) -+ echo ${UNAME_MACHINE}-pc-aros -+ exit ;; -+ x86_64:VMkernel:*:*) -+ echo ${UNAME_MACHINE}-unknown-esx -+ exit ;; - esac - --#echo '(No uname command or uname output not recognized.)' 1>&2 --#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 -- - eval $set_cc_for_build - cat >$dummy.c < - printf ("m68k-sony-newsos%s\n", - #ifdef NEWSOS4 -- "4" -+ "4" - #else -- "" -+ "" - #endif -- ); exit (0); -+ ); exit (0); - #endif - #endif - -@@ -1474,9 +1495,9 @@ This script, last modified $timestamp, h - the operating system you are using. It is advised that you - download the most up to date version of the config scripts from - -- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess -+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD - and -- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub -+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - - If the version you run ($0) is already up to date, please - send the following data and any information you think might be -diff -up a2ps-4.14/auxdir/config.sub.aarch64 a2ps-4.14/auxdir/config.sub ---- a2ps-4.14/auxdir/config.sub.aarch64 2007-12-29 03:28:06.000000000 +0000 -+++ a2ps-4.14/auxdir/config.sub 2013-04-29 13:13:51.037686671 +0100 -@@ -1,10 +1,10 @@ - #! /bin/sh - # Configuration validation subroutine script. - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, --# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, --# Inc. -+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -+# 2011, 2012 Free Software Foundation, Inc. - --timestamp='2007-06-28' -+timestamp='2012-10-10' - - # This file is (in principle) common to ALL GNU software. - # The presence of a machine in this file suggests that SOME GNU software -@@ -21,9 +21,7 @@ timestamp='2007-06-28' - # 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. -+# along with this program; if not, see . - # - # As a special exception to the GNU General Public License, if you - # distribute this file as part of a program that contains a -@@ -32,13 +30,16 @@ timestamp='2007-06-28' - - - # Please send patches to . Submit a context --# diff and a properly formatted ChangeLog entry. -+# diff and a properly formatted GNU ChangeLog entry. - # - # Configuration subroutine to validate and canonicalize a configuration type. - # Supply the specified configuration type as an argument. - # If it is invalid, we print an error message on stderr and exit with code 1. - # Otherwise, we print the canonical config type on stdout and succeed. - -+# You can get the latest version of this script from: -+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD -+ - # This file is supposed to be the same for all GNU packages - # and recognize all the CPU types, system types and aliases - # that are meaningful with *any* GNU software. -@@ -72,7 +73,8 @@ Report bugs and patches to substitutes, font_name); -- if (!res) -+ if (res) -+ res = xstrdup (res); -+ else - /* No. Check if this font is supported */ - if (font_exists (job, font_name)) - /* Avoid returning sth alloca'd */ diff --git a/a2ps-define-texinfo-enc.patch b/a2ps-define-texinfo-enc.patch deleted file mode 100644 index abfd32b..0000000 --- a/a2ps-define-texinfo-enc.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/doc/a2ps.texi b/doc/a2ps.texi -index 1b64234..59e0834 100644 ---- a/doc/a2ps.texi -+++ b/doc/a2ps.texi -@@ -1,4 +1,5 @@ - \input texinfo @c -*- texinfo -*- -+@documentencoding utf-8 - @c %**start of header - @setfilename a2ps.info - @settitle General Purpose PostScript Generating Utility diff --git a/a2ps-external-libtool.patch b/a2ps-external-libtool.patch deleted file mode 100644 index 5780160..0000000 --- a/a2ps-external-libtool.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up a2ps-4.14/configure.external-libtool a2ps-4.14/configure ---- a2ps-4.14/configure.external-libtool 2008-09-24 15:28:13.000000000 +0100 -+++ a2ps-4.14/configure 2008-09-24 15:28:13.000000000 +0100 -@@ -21864,7 +21864,8 @@ fi - LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - - # Always use our own libtool. --LIBTOOL='$(SHELL) $(top_builddir)/libtool' -+#LIBTOOL='$(SHELL) $(top_builddir)/libtool' -+LIBTOOL='/usr/bin/libtool' - - # Prevent multiple expansion - diff --git a/a2ps-format-security.patch b/a2ps-format-security.patch deleted file mode 100644 index 3fbd034..0000000 --- a/a2ps-format-security.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -up a2ps-4.14/lib/output.c.format-security a2ps-4.14/lib/output.c ---- a2ps-4.14/lib/output.c.format-security 2007-12-29 01:58:21.000000000 +0000 -+++ a2ps-4.14/lib/output.c 2014-04-03 18:24:35.259901356 +0100 -@@ -525,7 +525,7 @@ output_file (struct output * out, a2ps_j - expand_user_string (job, FIRST_FILE (job), - (const uchar *) "Expand: requirement", - (const uchar *) token)); -- output (dest, expansion); -+ output (dest, "%s", expansion); - continue; - } - -diff -up a2ps-4.14/lib/parseppd.y.format-security a2ps-4.14/lib/parseppd.y ---- a2ps-4.14/lib/parseppd.y.format-security 2007-12-29 01:58:21.000000000 +0000 -+++ a2ps-4.14/lib/parseppd.y 2014-04-03 18:24:35.259901356 +0100 -@@ -154,7 +154,7 @@ font_clause : - void - yyerror (const char *msg) - { -- error_at_line (1, 0, ppdfilename, ppdlineno, msg); -+ error_at_line (1, 0, ppdfilename, ppdlineno, "%s", msg); - } - - /* -diff -up a2ps-4.14/lib/psgen.c.format-security a2ps-4.14/lib/psgen.c ---- a2ps-4.14/lib/psgen.c.format-security 2014-04-03 18:24:35.241901276 +0100 -+++ a2ps-4.14/lib/psgen.c 2014-04-03 18:24:35.259901356 +0100 -@@ -232,7 +232,7 @@ output_marker (a2ps_job * job, const cha - default: - *buf = '\0'; - ps_escape_char (job, cp[i], buf); -- output (jdiv, (char *) buf); -+ output (jdiv, "%s", (char *) buf); - break; - } - } -diff -up a2ps-4.14/src/parsessh.y.format-security a2ps-4.14/src/parsessh.y ---- a2ps-4.14/src/parsessh.y.format-security 2014-04-03 18:25:56.011259069 +0100 -+++ a2ps-4.14/src/parsessh.y 2014-04-03 18:26:04.725297585 +0100 -@@ -740,7 +740,7 @@ exception_def_opt: - void - yyerror (const char *msg) - { -- error_at_line (1, 0, sshfilename, sshlineno, msg); -+ error_at_line (1, 0, sshfilename, sshlineno, "%s", msg); - } - - /* diff --git a/a2ps-forward-null.patch b/a2ps-forward-null.patch index 792f39d..6aa308e 100644 --- a/a2ps-forward-null.patch +++ b/a2ps-forward-null.patch @@ -1,7 +1,7 @@ -diff -up a2ps-4.14/lib/pathwalk.c.forward-null a2ps-4.14/lib/pathwalk.c ---- a2ps-4.14/lib/pathwalk.c.forward-null 2011-08-10 16:06:53.185942197 +0100 -+++ a2ps-4.14/lib/pathwalk.c 2011-08-10 16:08:36.831030924 +0100 -@@ -348,12 +348,12 @@ xpw_find_included_file (char * const *pa +diff -up a2ps-4.15.5/liba2ps/pathwalk.c.forward-null a2ps-4.15.5/liba2ps/pathwalk.c +--- a2ps-4.15.5/liba2ps/pathwalk.c.forward-null 2023-07-25 18:17:35.906486748 +0200 ++++ a2ps-4.15.5/liba2ps/pathwalk.c 2023-07-25 18:18:16.767767587 +0200 +@@ -335,12 +335,12 @@ xpw_find_included_file (char * const *pa /* Relative. Give its root. */ dir = dir_name (including_file); @@ -14,6 +14,6 @@ diff -up a2ps-4.14/lib/pathwalk.c.forward-null a2ps-4.14/lib/pathwalk.c - name, suffix ? suffix : ""); + sprintf (res, "%s%c%s%s", dir ? dir : "", DIRECTORY_SEPARATOR, + dir ? name : name + 1, suffix ? suffix : ""); - XFREE (dir); if (stat (res, &statbuf) == 0) return xstrdup (res); + diff --git a/a2ps-lm.patch b/a2ps-lm.patch deleted file mode 100644 index b4d5908..0000000 --- a/a2ps-lm.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -up a2ps-4.14/lib/Makefile.am.lm a2ps-4.14/lib/Makefile.am ---- a2ps-4.14/lib/Makefile.am.lm 2007-12-29 01:38:03.000000000 +0000 -+++ a2ps-4.14/lib/Makefile.am 2012-04-04 09:25:00.709845857 +0100 -@@ -32,7 +32,7 @@ YFLAGS = -dtv - GPERFFLAGS = -t -D -L ANSI-C - BUILT_SOURCES = parseppd.c parseppd.h liba2ps.h confg.c - --liba2ps_la_LIBADD = @LTALLOCA@ @LTLIBOBJS@ -+liba2ps_la_LIBADD = @LTALLOCA@ @LTLIBOBJS@ -lm - liba2ps_la_LDFLAGS = -version-info @LIBVERSION@ - - liba2psheaders = encoding.h media.h jobs.h output.h \ -diff -up a2ps-4.14/lib/Makefile.in.lm a2ps-4.14/lib/Makefile.in ---- a2ps-4.14/lib/Makefile.in.lm 2012-04-04 09:25:25.091842586 +0100 -+++ a2ps-4.14/lib/Makefile.in 2012-04-04 09:25:32.889841559 +0100 -@@ -322,7 +322,7 @@ INCLUDES = -I$(top_builddir) -I$(top_bui - # Use a struct, handle duplicates, produce ANSI-C - GPERFFLAGS = -t -D -L ANSI-C - BUILT_SOURCES = parseppd.c parseppd.h liba2ps.h confg.c --liba2ps_la_LIBADD = @LTALLOCA@ @LTLIBOBJS@ -+liba2ps_la_LIBADD = @LTALLOCA@ @LTLIBOBJS@ -lm - liba2ps_la_LDFLAGS = -version-info @LIBVERSION@ - liba2psheaders = encoding.h media.h jobs.h output.h \ - routines.h psgen.h prolog.h faces.h confg.h useropt.h \ -diff -up a2ps-4.14/Makefile.in.lm a2ps-4.14/Makefile.in diff --git a/a2ps-mb.patch b/a2ps-mb.patch index daa4ea3..b331f52 100644 --- a/a2ps-mb.patch +++ b/a2ps-mb.patch @@ -1,24 +1,14 @@ -diff -up a2ps-4.14/lib/psgen.c.mb a2ps-4.14/lib/psgen.c ---- a2ps-4.14/lib/psgen.c.mb 2008-09-24 15:29:30.000000000 +0100 -+++ a2ps-4.14/lib/psgen.c 2008-09-24 15:29:30.000000000 +0100 -@@ -96,7 +96,8 @@ ps_escape_char (a2ps_job * job, uchar c, - /* Printable, but not 7bit clean caracters */ - if (encoding_char_exists (job->encoding, job->status->face, c) - && ((0177 < c) || (c < 040))) { -- sprintf ((char *)res, "%s\\%o", res, c); -+ char *p = res + strlen (res); -+ sprintf (p, "\\%o", c); - return 1; - } - -@@ -893,8 +894,8 @@ ps_print_char (a2ps_job * job, int c, en - if (c > 127 && encoding_get_composite_flag (job->encoding) && - job->status->face != Symbol) { - if (mb_flag) { -- nchars = ps_escape_char (job, mb_flag, buf) + -- ps_escape_char (job, c, buf); -+ nchars = ps_escape_char (job, mb_flag, buf); -+ nchars += ps_escape_char (job, c, buf); - job->status->wx += char_composite_WX(job, c); - job->status->column += nchars; - if (line_full) { +diff -up a2ps-4.15.5/liba2ps/psgen.c.mb a2ps-4.15.5/liba2ps/psgen.c +--- a2ps-4.15.5/liba2ps/psgen.c.mb 2023-07-25 18:01:44.062963119 +0200 ++++ a2ps-4.15.5/liba2ps/psgen.c 2023-07-25 18:03:37.883726559 +0200 +@@ -854,8 +854,8 @@ ps_print_char (a2ps_job * job, char c, e + if ((unsigned char) c > 127 && encoding_get_composite_flag (job->encoding) && + job->status->face != Symbol) { + if (mb_flag) { +- nchars = ps_escape_char (job, mb_flag, buf) + +- ps_escape_char (job, (unsigned char) c, buf); ++ nchars = ps_escape_char (job, mb_flag, buf); ++ nchars += ps_escape_char (job, (unsigned char)c, buf); + job->status->wx += char_composite_WX(job); + job->status->column += nchars; + if (line_full) { diff --git a/a2ps-overrun-dynamic.patch b/a2ps-overrun-dynamic.patch index c50de44..d58bed3 100644 --- a/a2ps-overrun-dynamic.patch +++ b/a2ps-overrun-dynamic.patch @@ -1,7 +1,7 @@ -diff -up a2ps-4.14/lib/darray.c.overrun-dynamic a2ps-4.14/lib/darray.c ---- a2ps-4.14/lib/darray.c.overrun-dynamic 2011-08-10 16:16:49.607014904 +0100 -+++ a2ps-4.14/lib/darray.c 2011-08-10 16:17:10.965625881 +0100 -@@ -430,7 +430,7 @@ da_qsort (struct darray * arr) +diff -up a2ps-4.15.5/liba2ps/darray.c.overrun-dynamic a2ps-4.15.5/liba2ps/darray.c +--- a2ps-4.15.5/liba2ps/darray.c.overrun-dynamic 2022-06-11 22:16:14.000000000 +0200 ++++ a2ps-4.15.5/liba2ps/darray.c 2023-07-25 18:23:24.509882456 +0200 +@@ -383,7 +383,7 @@ da_qsort (struct darray * arr) jstack += 2; /* Push pointers to larger subarry on stack. * Process smaller subarrays now */ @@ -10,7 +10,7 @@ diff -up a2ps-4.14/lib/darray.c.overrun-dynamic a2ps-4.14/lib/darray.c error (da_exit_error, 0, "da_qsort: QSORT_STACK too small (%d)", QSORT_STACK); if (ir - i + 1 >= j - l) { -@@ -509,7 +509,7 @@ da_qsort_with_arg (struct darray * arr, +@@ -461,7 +461,7 @@ da_qsort_with_arg (struct darray * arr, jstack += 2; /* Push pointers to larger subarry on stack. * Process smaller subarrays now */ diff --git a/a2ps-overrun-static.patch b/a2ps-overrun-static.patch index f8e592b..e3585fe 100644 --- a/a2ps-overrun-static.patch +++ b/a2ps-overrun-static.patch @@ -1,6 +1,6 @@ -diff -up a2ps-4.14/lib/metaseq.c.overrun-static a2ps-4.14/lib/metaseq.c ---- a2ps-4.14/lib/metaseq.c.overrun-static 2011-08-10 16:18:44.924915695 +0100 -+++ a2ps-4.14/lib/metaseq.c 2011-08-10 16:19:04.739555258 +0100 +diff -up a2ps-4.14/liba2ps/metaseq.c.overrun-static a2ps-4.14/liba2ps/metaseq.c +--- a2ps-4.14/liba2ps/metaseq.c.overrun-static 2011-08-10 16:18:44.924915695 +0100 ++++ a2ps-4.14/liba2ps/metaseq.c 2011-08-10 16:19:04.739555258 +0100 @@ -334,7 +334,7 @@ grow_user_string_obstack (struct obstack { /* `%D{}' format run date with strftime() */ diff --git a/a2ps-resource-leak.patch b/a2ps-resource-leak.patch index d84d0cd..ab1830c 100644 --- a/a2ps-resource-leak.patch +++ b/a2ps-resource-leak.patch @@ -1,49 +1,45 @@ -diff -up a2ps-4.14/lib/encoding.c.resource-leak a2ps-4.14/lib/encoding.c ---- a2ps-4.14/lib/encoding.c.resource-leak 2011-08-10 16:02:26.244905923 +0100 -+++ a2ps-4.14/lib/encoding.c 2011-08-10 16:41:39.578353192 +0100 -@@ -554,7 +554,7 @@ encoding_resolve_font_substitute (struct +diff -up a2ps-4.15.5/liba2ps/encoding.c.resource-leak a2ps-4.15.5/liba2ps/encoding.c +--- a2ps-4.15.5/liba2ps/encoding.c.resource-leak 2023-07-25 18:30:14.422699484 +0200 ++++ a2ps-4.15.5/liba2ps/encoding.c 2023-07-25 18:34:22.033401969 +0200 +@@ -479,7 +479,7 @@ encoding_resolve_font_substitute (struct if (!res) { if (encoding->default_font) -- res = encoding->default_font; -+ res = xstrdup (encoding->default_font); +- res = encoding->default_font; ++ res = xstrdup (encoding->default_font); else - error (1, 0, "Cannot find font %s, nor any substitute", - font_name); -@@ -976,6 +976,7 @@ dump_encoding_setup (FILE * stream, - font_names [i]); + error (1, 0, "cannot find font %s, nor any substitute", + last_font_name); +@@ -895,6 +895,7 @@ dump_encoding_setup (FILE * stream, + font_names [i]); if (!font_is_to_reencode (job, real_font_name)) - da_remove_at (encoding->font_names_used, i, (da_map_func_t) free); + da_remove_at (encoding->font_names_used, i); + free (real_font_name); } /* The number of fonts that, finally, have to be encoded -@@ -992,10 +993,16 @@ dump_encoding_setup (FILE * stream, - fprintf (stream, "/%sdict %d dict begin\n", encoding->key, - (encoding->composite_flag == true)? nb+nb+ns:nb+ns); +@@ -911,10 +912,15 @@ dump_encoding_setup (FILE * stream, + fprintf (stream, "/%sdict %zu dict begin\n", encoding->key, + (encoding->composite_flag == true)? nb+nb+ns:nb+ns); for (i = 0 ; i < nb ; i++) -- fprintf (stream, " /f%s %sEncoding /%s reencode_font\n", -- font_names [i], -- encoding->name, -- encoding_resolve_font_substitute (job, encoding, font_names [i])); -+ { -+ char *real_font = encoding_resolve_font_substitute (job, encoding, -+ font_names [i]); -+ fprintf (stream, " /f%s %sEncoding /%s reencode_font\n", -+ font_names [i], -+ encoding->name, -+ real_font); -+ free (real_font); -+ } -+ ++ { ++ char *real_font = encoding_resolve_font_substitute (job, encoding, ++ font_names [i]); + fprintf (stream, " /f%s %sEncoding /%s reencode_font\n", + font_names [i], + encoding->name, +- encoding_resolve_font_substitute (job, encoding, font_names [i])); ++ real_font); ++ free (real_font); ++ } /* Slant font setting */ for (i = 0 ; encoding->slantfont[i].name ; i++ ) -@@ -1166,6 +1173,7 @@ encoding_build_faces_wx (a2ps_job * job, - encoding->vector, - encoding->faces_wx [face]); +@@ -1075,6 +1081,7 @@ encoding_build_faces_wx (a2ps_job * job, + encoding->vector, + encoding->faces_wx [face]); + free (true_font_name); if (encoding->composite_flag) - { - encoding->composite_raito[i] = + { + encoding->composite_ratio[i] = diff --git a/a2ps-texi-comments.patch b/a2ps-texi-comments.patch deleted file mode 100644 index 8ccf6f5..0000000 --- a/a2ps-texi-comments.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a2ps-4.14/doc/a2ps.texi.texifail 2013-03-26 12:50:06.624762058 +0000 -+++ a2ps-4.14/doc/a2ps.texi 2013-03-26 14:44:10.204929702 +0000 -@@ -22,12 +22,12 @@ - @c `a2ps'. Avoid those quotes. - @iftex - @macro pack --@code{@value{PACKAGE}}@c -+@code{@value{PACKAGE}} - @end macro - @end iftex - @ifnottex - @macro pack --@value{PACKAGE}@c -+@value{PACKAGE} - @end macro - @end ifnottex - diff --git a/a2ps-wdiff.patch b/a2ps-wdiff.patch index 7315336..dab05a6 100644 --- a/a2ps-wdiff.patch +++ b/a2ps-wdiff.patch @@ -1,23 +1,3 @@ ---- a2ps-4.13/contrib/pdiff.m4.wdiff 2005-03-23 15:43:47.000000000 +0000 -+++ a2ps-4.13/contrib/pdiff.m4 2005-03-23 15:46:13.000000000 +0000 -@@ -15,7 +15,7 @@ - a2ps=${A2PS:-a2ps} - a2ps_options= - debug= --diff_on=words -+diff_on=lines - diff_prog=${DIFF:-diff} - diff_options='-u' - file= -@@ -40,8 +40,6 @@ - -h, --help display this help and exit - -v, --version display version information and exit - -q, --quiet don't print informational messages -- -l, --lines search for line differences (\`diff') -- -w, --words search for word differences (\`wdiff') - -o, --output=FILE save the output in FILE - - Options for a2ps are given after \`--', for instance --- a2ps-4.13/contrib/pdiff.in.wdiff 2005-03-23 15:43:50.000000000 +0000 +++ a2ps-4.13/contrib/pdiff.in 2005-03-23 15:46:16.000000000 +0000 @@ -29,7 +29,7 @@ diff --git a/a2ps.spec b/a2ps.spec index 6fa3385..727bba9 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,95 +1,147 @@ Summary: Converts text and other types of files to PostScript Name: a2ps -Version: 4.14 -Release: 53%{?dist} -License: GPLv3+ +Version: 4.15.5 +Release: 1%{?dist} +# several files in afm/, lib/, liba2ps/, src/ - GPL3+ +# gnulib files in lib/ - LGPL-2.1+ +# several files in lib/ - LGPL-3+ +# Bison related files in src/ and liba2ps/ - GPL-3.0-or-later WITH Bison-exception-2.2 +# another gnulib files in /lib - LGPL2+ +License: GPL-3.0-or-later AND LGPL-2.1-or-later AND LGPL-3.0-or-later AND GPL-3.0-or-later WITH Bison-exception-2.2 AND LGPL-2.0-or-later Url: http://www.gnu.org/software/a2ps/ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz +# the latest upstream version does not have COPYING file... +# reported as https://savannah.gnu.org/bugs/index.php?64470 +# copied the GPL3+ COPYING file from the previous versions +Source2: COPYING -Patch0: a2ps-4.13-conf.patch -Patch1: a2ps-4.13-etc.patch -Patch2: a2ps-lm.patch -Patch3: a2ps-4.13-security.patch -Patch4: a2ps-4.13-glibcpaper.patch -Patch5: a2ps-texi-comments.patch -Patch6: a2ps-aarch64.patch -Patch7: a2ps-sort.patch -Patch8: a2ps-iso5-minus.patch -Patch9: a2ps-perl.patch -# EUC-JP support -Patch10: a2ps-4.13-eucjp.patch -Patch11: a2ps-4.13-autoenc.patch -Patch12: a2ps-4.13b-attr.patch -Patch13: a2ps-4.13b-numeric.patch -Patch14: a2ps-4.13b-encoding.patch -Patch15: a2ps-4.13b-tilde.patch -Patch16: a2ps-bad-free.patch -Patch17: a2ps-4.13-euckr.patch -Patch18: a2ps-4.13-gnusource.patch -Patch19: a2ps-format-security.patch -Patch20: a2ps-4.13-hebrew.patch -Patch26: a2ps-make-fonts-map.patch -Patch28: a2ps-wdiff.patch -Patch29: a2ps-U.patch -Patch31: a2ps-mb.patch -Patch34: a2ps-external-libtool.patch -Patch35: a2ps-4.14-texinfo-nodes.patch -Patch36: a2ps-forward-null.patch -Patch37: a2ps-overrun-dynamic.patch -Patch38: a2ps-overrun-static.patch -Patch39: a2ps-resource-leak.patch -Patch40: a2ps-CVE-2014-0466.patch -Patch41: a2ps-define-texinfo-enc.patch +Patch01: a2ps-4.13-conf.patch +Patch02: a2ps-4.13-etc.patch +Patch03: a2ps-4.13-glibcpaper.patch +Patch04: a2ps-sort.patch +Patch05: a2ps-iso5-minus.patch +Patch06: a2ps-perl.patch +Patch07: a2ps-4.13b-numeric.patch +Patch08: a2ps-4.13b-encoding.patch +Patch09: a2ps-4.13b-tilde.patch +Patch10: a2ps-4.13-euckr.patch +Patch11: a2ps-4.13-hebrew.patch +Patch12: a2ps-make-fonts-map.patch +Patch13: a2ps-wdiff.patch +Patch14: a2ps-U.patch +Patch15: a2ps-mb.patch +Patch16: a2ps-4.14-texinfo-nodes.patch +Patch17: a2ps-forward-null.patch +Patch18: a2ps-overrun-dynamic.patch +Patch19: a2ps-overrun-static.patch +Patch20: a2ps-resource-leak.patch +# most conversion rules are guarded by configure macros, so they +# are not enabled if the specific binary is not present in buildroot +# - thus to get full set of available rules there are lot of BuildRequires, +# but most binaries are only as Recommends during runtime to provide a way +# how to slim down the installation if needed. + +# parser for PPDs and SSH (style sheet) files BuildRequires: bison -BuildRequires: cups +# bzip2 is checked during build as well +BuildRequires: bzip2 +# for emacs support - configure scripts looks for emacs command during build BuildRequires: emacs +# for lexical scanning of postscript, ppds and style sheet (.ssh) files BuildRequires: flex -# gcc no longer in buildroot by default +# written in C - gcc no longer in buildroot by default BuildRequires: gcc +# uses BDW Garbage Collector +BuildRequires: gc-devel +# for translations BuildRequires: gettext +# for ps2pdf - PDF output, pdf2ps - PDF delegation +BuildRequires: ghostscript +# bundles gnulib source library +BuildRequires: gnulib-devel +# used for generating hash function for configuration options BuildRequires: gperf -BuildRequires: groff +# Perl parts of groff text processor - ROFF delegation for man pages BuildRequires: groff-perl -# instead of gv, xdg-open should certainly be used -#BuildRequires: gv +# for compressed delegations +BuildRequires: gzip +# generating manpages +BuildRequires: help2man +# for paper configs +BuildRequires: libpaper-devel +# used for building BuildRequires: libtool # make no longer in buildroot BuildRequires: make +# for getting version of bundled gnulib +BuildRequires: perl-interpreter +# tools for manipulating with postscript docs BuildRequires: psutils +# makeinfo for info documentation BuildRequires: texinfo +# for DVI files support, it's DVI driver for tex BuildRequires: texlive-dvips +# latex for LaTeX file support BuildRequires: texlive-latex +# tex for Tex File support +BuildRequires: texlive-tex %if 0%{?rhel} <= 8 || 0%{?fedora} +# for convert binary - used for converting images to postscript BuildRequires: ImageMagick +# converting html files to postscript BuildRequires: html2ps %endif -Requires: bzip2 +# bundles gnulib of certain version +Provides: bundled(gnulib)%(perl -ne 'if($. == 1 and /\A(\d+)-(\d+)-(\d+)/) {print qq{ = $1$2$3}}' %{_defaultdocdir}/gnulib/ChangeLog 2>/dev/null) + +# used during runtime for delegation +Recommends: bzip2 +# Perl parts of groff text processor - ROFF delegation for man pages +Recommends: groff-perl +# for compressed delegations +Recommends: gzip +# makeinfo for info documentation +Recommends: texinfo +# for DVI files support, it's DVI driver for tex +Recommends: texlive-dvips +# latex for LaTeX file support +Recommends: texlive-latex +# tex for Tex File support +Recommends: texinfo-tex + +# a2ps-lpr-wrapper uses lp/lpr +Requires: cups-client # for hebrew support, path set. # culmus-fonts # And certainly other font sets for other languages may be needed -Requires: emacs-filesystem >= %{_emacs_version} +Requires: emacs-filesystem Requires: file -Requires: groff-perl -Requires: gzip +# for ps2pdf - PDF output, pdf2ps - PDF delegation +Requires: ghostscript +# postscript delegation Requires: psutils Requires: psutils-perl +# set of recommended fonts, looks to be for postscript as well Requires: texlive-collection-fontsrecommended -Requires: texlive-dvips -Requires: texlive-latex -Requires: texinfo-tex + Requires(post): coreutils %if 0%{?rhel} <= 8 || 0%{?fedora} +# image delegations Requires: ImageMagick -Requires: html2ps +# html delegations +Recommends: html2ps %endif +# for emacs support +Suggests: emacs + %description The a2ps filter converts text and other types of files to PostScript. A2ps has pretty-printing capabilities and includes support for a wide @@ -101,89 +153,42 @@ and medias. %setup -q -a 1 # use fedora postscript font paths -%patch0 -p1 -b .conf - +%patch -P 01 -p1 -b .conf # add /etc/a2ps in directories searched for config files -%patch1 -p1 -b .etc - -# Link to libm in liba2ps (bug #809673). -%patch2 -p1 -b .lm - -%patch3 -p1 -b .security -%patch4 -p1 -b .glibcpaper - -# Fix texi build failure (bug #927633). -%patch5 -p1 -b .texi-comments -%patch6 -p1 -b .aarch64 - -%patch7 -p1 -b .sort -%patch8 -p1 -b .iso5-minus -%patch9 -p1 -b .perl - -%patch10 -p1 -b .euc -%patch11 -p1 -b .ae -%patch12 -p1 -b .attr - +%patch -P 02 -p1 -b .etc +%patch -P 03 -p1 -b .glibcpaper +%patch -P 04 -p1 -b .sort +%patch -P 05 -p1 -b .iso5-minus +%patch -P 06 -p1 -b .perl # Use C locale's decimal point style (bug #53715). -%patch13 -p1 -b .numeric - +%patch -P 07 -p1 -b .numeric # Use locale to determine a sensible default encoding (bug #64584). -%patch14 -p1 -b .encoding - +%patch -P 08 -p1 -b .encoding # Fix koi8 tilde (bug #66393). -%patch15 -p1 -b .tilde - -# Avoid a bad free in the encoding handling logic (bug #954104). -%patch16 -p1 -b .bad-free - +%patch -P 09 -p1 -b .tilde # Add Korean resource file (bug #81421). -%patch17 -p1 -b .euckr - -# Prevent strsignal segfaulting (bug #104970). -%patch18 -p1 -b .gnusource - -# Prevent build failure with -Wformat-security (bug #1036979). -%patch19 -p1 -b .format-security - +%patch -P 10 -p1 -b .euckr # Hebrew support (bug #113191). -%patch20 -p1 -b .hebrew - -# Use external libtool (bug #225235). -%patch34 -p1 -b .external-libtool - +%patch -P 11 -p1 -b .hebrew # Fix problems in make_fonts_map script (bug #142299). Patch from # Michal Jaegermann. -%patch26 -p1 -b .make-fonts-map - +%patch -P 12 -p1 -b .make-fonts-map # Make pdiff default to not requiring wdiff (bug #68537). -%patch28 -p1 -b .wdiff - +%patch -P 13 -p1 -b .wdiff # Make pdiff use diff(1) properly (bug #156916). -%patch29 -p1 -b .U - +%patch -P 14 -p1 -b .U # Fixed multibyte handling (bug #212154). -%patch31 -p1 -b .mb - +%patch -P 15 -p1 -b .mb # Remove dots in node names, patch from Vitezslav Crhonek (Bug #445971) -%patch35 -p1 -b .nodes - +%patch -P 16 -p1 -b .nodes # Coverity fix (forward-null). -%patch36 -p1 -b .forward-null - +%patch -P 17 -p1 -b .forward-null # Coverity fix (overrun-dynamic). -%patch37 -p1 -b .overrun-dynamic - +%patch -P 18 -p1 -b .overrun-dynamic # Coverity fix (overrun-static). -%patch38 -p1 -b .overrun-static - +%patch -P 19 -p1 -b .overrun-static # Coverity fix (resource-leak). -%patch39 -p1 -b .resource-leak - -# Invoke gs with the -dSAFER option in fixps (CVE-2014-0466, bug #1082411). -%patch40 -p1 -b .CVE-2014-0466 - -# new texinfo needs to have documentencoding defined (#1788165) -%patch41 -p1 -b .define-texinfo-enc +%patch -P 20 -p1 -b .resource-leak for file in AUTHORS ChangeLog; do iconv -f latin1 -t UTF-8 < $file > $file.utf8 @@ -191,26 +196,18 @@ for file in AUTHORS ChangeLog; do mv $file.utf8 $file done +autoreconf -fi + mv doc/encoding.texi doc/encoding.texi.utf8 iconv -f KOI-8 -t UTF-8 doc/encoding.texi.utf8 -o doc/encoding.texi # Fix reference to a2ps binary (bug #112930). sed -i -e "s,/usr/local/bin,%{_bindir}," contrib/emacs/a2ps.el -chmod -x lib/basename.c lib/xmalloc.c - -# restore timestamps of patched files -touch -c -r configure.in.conf configure.in -touch -c -r config.h.in.euc config.h.in -touch -c -r configure.conf configure -touch -c -r src/Makefile.am.euc src/Makefile.am -touch -c -r etc/Makefile.am.etc etc/Makefile.am -#touch -c -r fonts/Makefile.in src/Makefile.in lib/Makefile.in -touch -c -r etc/Makefile.in.etc etc/Makefile.in - chmod 644 encoding/iso8.edf.hebrew chmod 644 encoding/euc-kr.edf.euckr + %build # preset the date in README.in to avoid the timestamp of the build time sed -e "s!@date@!`date -r NEWS`!" etc/README.in > etc/README.in.tmp @@ -237,6 +234,7 @@ find src lib -name '*.l' -exec touch {} \; make %{?_smp_mflags} + %install make DESTDIR=%{buildroot} install INSTALL='install -p' @@ -253,14 +251,19 @@ install -p -m 0644 *.pfb %{buildroot}%{_datadir}/a2ps/fonts popd popd -# Don't ship the library file or header (bug #203536). -rm %{buildroot}%{_libdir}/*.{so,a,la} -rm %{buildroot}%{_includedir}/* - rm -f %{buildroot}%{_infodir}/dir +mkdir -p %{buildroot}%{_defaultlicensedir}/%{name} +install -p -m 644 %{SOURCE2} %{buildroot}%{_defaultlicensedir}/%{name}/COPYING + +for lang in af be bg ca cs da de el eo es et eu fi fr ga gl hu it ja ka ko ms nb nl pl pt pt_BR ro ru rw sk sl sr sv tr uk vi zh_CN zh_TW +do + mv %{buildroot}/usr/share/locale/$lang/LC_MESSAGES/a2ps{-gnulib,}.mo +done + %find_lang %name + %post %{?ldconfig} (cd %{_datadir}/a2ps/afm; @@ -273,19 +276,26 @@ exit 0 %ldconfig_postun + %files -f %{name}.lang +%license COPYING +%doc AUTHORS ChangeLog NEWS README TODO THANKS %dir %{_sysconfdir}/a2ps %config %{_sysconfdir}/a2ps.cfg %config(noreplace) %{_sysconfdir}/a2ps-site.cfg -%doc AUTHORS ChangeLog COPYING NEWS README TODO THANKS -%{_bindir}/* -%{_infodir}/a2ps.info* -%{_infodir}/ogonkify.info* -%{_infodir}/regex.info* -%{_mandir}/*/* +%{_bindir}/a2ps +%{_bindir}/a2ps-lpr-wrapper +%{_bindir}/card +%{_bindir}/composeglyphs +%{_bindir}/fixps +%{_bindir}/lp2 +%{_bindir}/ogonkify +%{_bindir}/pdiff +%dir %{_datadir}/a2ps +%dir %{_datadir}/a2ps/afm +%{_datadir}/a2ps/afm/*.afm # automatically regenerated at install and update time %verify(not size mtime md5) %{_datadir}/a2ps/afm/fonts.map -%{_datadir}/a2ps/afm/*.afm %{_datadir}/a2ps/afm/make_fonts_map.sh %{_datadir}/a2ps/README %{_datadir}/a2ps/encoding @@ -294,12 +304,25 @@ exit 0 %{_datadir}/a2ps/ps %{_datadir}/a2ps/sheets %{_datadir}/ogonkify/ -%dir %{_datadir}/a2ps/afm -%dir %{_datadir}/a2ps -%{_libdir}/*.so* %{_emacs_sitelispdir}/%{name} +%{_infodir}/a2ps.info* +%{_infodir}/ogonkify.info* +%{_infodir}/regex.info* +%{_mandir}/man1/a2ps-lpr-wrapper.1.gz +%{_mandir}/man1/a2ps.1.gz +%{_mandir}/man1/card.1.gz +%{_mandir}/man1/fixps.1.gz +%{_mandir}/man1/lp2.1.gz +%{_mandir}/man1/ogonkify.1.gz +%{_mandir}/man1/pdiff.1.gz %changelog +* Thu Jul 27 2023 Zdenek Dohnal - 4.15.5-1 +- 2225694 - a2ps: FTBFS in Fedora rawhide/f39 +- 2189133 - a2ps: FTBFS in rawhide, 64-bit and C99 compatibility issues +- 2176254 - a2ps-4.15.5 is available +- SPDX migration done + * Wed Jul 19 2023 Fedora Release Engineering - 4.14-53 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index e950ddb..8d04650 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -781ac3d9b213fa3e1ed0d79f986dc8c7 a2ps-4.14.tar.gz -fee1456d0e6e94af4fc5b5a1bb9687b7 i18n-fonts-0.1.tar.gz +SHA512 (a2ps-4.15.5.tar.gz) = e9953659139a46aed46e190d5485382a9e396ae8bbbe59edb78ab3110e7839a764e3cb6ff94f5f36e6e91fcaf85f6352376e0b4a0e0141f24e098fa334b5015e From d3e929a2437353abf308e1d436a168df4fe853bb Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Thu, 27 Jul 2023 16:46:25 +0200 Subject: [PATCH 74/85] 2225694 - a2ps: FTBFS in Fedora rawhide/f39 2189133 - a2ps: FTBFS in rawhide, 64-bit and C99 compatibility issues 2176254 - a2ps-4.15.5 is available SPDX migration done --- sources | 1 + 1 file changed, 1 insertion(+) diff --git a/sources b/sources index 8d04650..79a5b38 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ +SHA512 (i18n-fonts-0.1.tar.gz) = 670853cd0acc5feca572c1b0969d8fd506d2cdee0114d41d0a615f994455bd8ce122bfb02d92b85d18ddd9daa7174b86ccb3fdab92c1769aab066cbc62811fde SHA512 (a2ps-4.15.5.tar.gz) = e9953659139a46aed46e190d5485382a9e396ae8bbbe59edb78ab3110e7839a764e3cb6ff94f5f36e6e91fcaf85f6352376e0b4a0e0141f24e098fa334b5015e From b71a3984aae04db4fc350fd7a48c900e14fd9ad8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 11:57:03 +0000 Subject: [PATCH 75/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 727bba9..241e64c 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.15.5 -Release: 1%{?dist} +Release: 2%{?dist} # several files in afm/, lib/, liba2ps/, src/ - GPL3+ # gnulib files in lib/ - LGPL-2.1+ # several files in lib/ - LGPL-3+ @@ -317,6 +317,9 @@ exit 0 %{_mandir}/man1/pdiff.1.gz %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 4.15.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Thu Jul 27 2023 Zdenek Dohnal - 4.15.5-1 - 2225694 - a2ps: FTBFS in Fedora rawhide/f39 - 2189133 - a2ps: FTBFS in rawhide, 64-bit and C99 compatibility issues From dee894911da7ff72c3915c8bbd47068a57900362 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 22:31:42 +0000 Subject: [PATCH 76/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 241e64c..e378ce9 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.15.5 -Release: 2%{?dist} +Release: 3%{?dist} # several files in afm/, lib/, liba2ps/, src/ - GPL3+ # gnulib files in lib/ - LGPL-2.1+ # several files in lib/ - LGPL-3+ @@ -317,6 +317,9 @@ exit 0 %{_mandir}/man1/pdiff.1.gz %changelog +* Mon Jan 22 2024 Fedora Release Engineering - 4.15.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 4.15.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 5979687e405df72aea41a490364815bc6e248c6a Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Thu, 14 Mar 2024 08:19:58 +0100 Subject: [PATCH 77/85] 2269423 - a2ps-4.15.6 is available --- .gitignore | 1 + a2ps.spec | 7 +++++-- sources | 3 +-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 8978461..2c71345 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ a2ps-4.14.tar.gz i18n-fonts-0.1.tar.gz /a2ps-4.15.5.tar.gz +/a2ps-4.15.6.tar.gz diff --git a/a2ps.spec b/a2ps.spec index e378ce9..e908d5b 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps -Version: 4.15.5 -Release: 3%{?dist} +Version: 4.15.6 +Release: 1%{?dist} # several files in afm/, lib/, liba2ps/, src/ - GPL3+ # gnulib files in lib/ - LGPL-2.1+ # several files in lib/ - LGPL-3+ @@ -317,6 +317,9 @@ exit 0 %{_mandir}/man1/pdiff.1.gz %changelog +* Thu Mar 14 2024 Zdenek Dohnal - 4.15.6-1 +- 2269423 - a2ps-4.15.6 is available + * Mon Jan 22 2024 Fedora Release Engineering - 4.15.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/sources b/sources index 79a5b38..01dd757 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (i18n-fonts-0.1.tar.gz) = 670853cd0acc5feca572c1b0969d8fd506d2cdee0114d41d0a615f994455bd8ce122bfb02d92b85d18ddd9daa7174b86ccb3fdab92c1769aab066cbc62811fde -SHA512 (a2ps-4.15.5.tar.gz) = e9953659139a46aed46e190d5485382a9e396ae8bbbe59edb78ab3110e7839a764e3cb6ff94f5f36e6e91fcaf85f6352376e0b4a0e0141f24e098fa334b5015e +SHA512 (a2ps-4.15.6.tar.gz) = 23d054a2e58c28460c5e23a1cf3f0f9c27faffc9a99781c42c11cc0693eea5bb8cfe090a97b9bae3d80cfae6b4d5b9a30dfd997a2d70be2d25988c714ad14b44 From 11cdc0675f8939b127a2d7aceca47c7b94e40699 Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Thu, 14 Mar 2024 08:28:29 +0100 Subject: [PATCH 78/85] Always upload new a2ps release with old i18n-fonts --- sources | 1 + 1 file changed, 1 insertion(+) diff --git a/sources b/sources index 01dd757..dd0498c 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (a2ps-4.15.6.tar.gz) = 23d054a2e58c28460c5e23a1cf3f0f9c27faffc9a99781c42c11cc0693eea5bb8cfe090a97b9bae3d80cfae6b4d5b9a30dfd997a2d70be2d25988c714ad14b44 +SHA512 (i18n-fonts-0.1.tar.gz) = 670853cd0acc5feca572c1b0969d8fd506d2cdee0114d41d0a615f994455bd8ce122bfb02d92b85d18ddd9daa7174b86ccb3fdab92c1769aab066cbc62811fde From ef9f4ae268b65910a18ce722aaa9f3a9384fa6b0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 16:28:01 +0000 Subject: [PATCH 79/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index e908d5b..449109d 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.15.6 -Release: 1%{?dist} +Release: 2%{?dist} # several files in afm/, lib/, liba2ps/, src/ - GPL3+ # gnulib files in lib/ - LGPL-2.1+ # several files in lib/ - LGPL-3+ @@ -317,6 +317,9 @@ exit 0 %{_mandir}/man1/pdiff.1.gz %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 4.15.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Thu Mar 14 2024 Zdenek Dohnal - 4.15.6-1 - 2269423 - a2ps-4.15.6 is available From 0ebe6db78d5768da159cc339a77938cd61ba034d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 10:25:31 +0000 Subject: [PATCH 80/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 449109d..576676c 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.15.6 -Release: 2%{?dist} +Release: 3%{?dist} # several files in afm/, lib/, liba2ps/, src/ - GPL3+ # gnulib files in lib/ - LGPL-2.1+ # several files in lib/ - LGPL-3+ @@ -317,6 +317,9 @@ exit 0 %{_mandir}/man1/pdiff.1.gz %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 4.15.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Jul 17 2024 Fedora Release Engineering - 4.15.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 5d181c9929ff22fa1ed1232332e94287f2c1b583 Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Fri, 17 Jan 2025 09:59:48 +0100 Subject: [PATCH 81/85] fix build with GCC 15 (fedora#2336012) --- a2ps-gcc15.patch | 42 ++++++++++++++++++++++++++++++++++++++++++ a2ps.spec | 7 +++++++ 2 files changed, 49 insertions(+) create mode 100644 a2ps-gcc15.patch diff --git a/a2ps-gcc15.patch b/a2ps-gcc15.patch new file mode 100644 index 0000000..52b40bc --- /dev/null +++ b/a2ps-gcc15.patch @@ -0,0 +1,42 @@ +diff --git a/liba2ps/parseppd.y b/liba2ps/parseppd.y +index df4d863..ab24a78 100644 +--- a/liba2ps/parseppd.y ++++ b/liba2ps/parseppd.y +@@ -39,6 +39,7 @@ + #include "message.h" + #include "routines.h" + #include "lexppd.h" ++#include "parseppd.h" + + #define YYDEBUG 1 + #define YYERROR_VERBOSE 1 +@@ -50,7 +51,7 @@ extern struct a2ps_job * job; + + /* Local prototypes */ + void yyerror (const char *msg); +-static void yyprint (); ++static void yyprint (FILE *file, int type, YYSTYPE value); + + /* Initilizes the obstacks */ + void ppdlex_initialize (void); +diff --git a/src/parsessh.y b/src/parsessh.y +index 0a151c7..395d7f5 100644 +--- a/src/parsessh.y ++++ b/src/parsessh.y +@@ -39,6 +39,7 @@ + #include "message.h" + #include "routines.h" + #include "yy2ssh.h" ++#include "parsessh.h" + + #define YYDEBUG 1 + #define YYERROR_VERBOSE 1 +@@ -63,7 +64,7 @@ extern const char * sshfilename; + + /* Local prototypes */ + void yyerror (const char *msg); +-static void yyprint (); ++static void yyprint (FILE *file, int type, YYSTYPE value); + + /* Initilizes the obstacks */ + void sshlex_initialize (void); diff --git a/a2ps.spec b/a2ps.spec index 576676c..9175791 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -37,6 +37,8 @@ Patch17: a2ps-forward-null.patch Patch18: a2ps-overrun-dynamic.patch Patch19: a2ps-overrun-static.patch Patch20: a2ps-resource-leak.patch +# https://savannah.gnu.org/bugs/index.php?66678 +Patch21: a2ps-gcc15.patch # most conversion rules are guarded by configure macros, so they @@ -189,6 +191,8 @@ and medias. %patch -P 19 -p1 -b .overrun-static # Coverity fix (resource-leak). %patch -P 20 -p1 -b .resource-leak +# https://savannah.gnu.org/bugs/index.php?66678 +%patch -P 21 -p1 -b .gcc15 for file in AUTHORS ChangeLog; do iconv -f latin1 -t UTF-8 < $file > $file.utf8 @@ -317,6 +321,9 @@ exit 0 %{_mandir}/man1/pdiff.1.gz %changelog +* Fri Jan 17 2025 Zdenek Dohnal - 4.15.6-3 +- fix build with GCC 15 (fedora#2336012) + * Thu Jan 16 2025 Fedora Release Engineering - 4.15.6-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 8d5132e85a6cdf7b18f43c4dcff3c934170ddc2c Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Mon, 14 Jul 2025 12:42:50 +0200 Subject: [PATCH 82/85] 4.15.7 (fedora#2379508) --- .gitignore | 1 + a2ps-gcc15.patch | 42 ------------------------------------------ a2ps.spec | 11 +++++------ sources | 2 +- 4 files changed, 7 insertions(+), 49 deletions(-) delete mode 100644 a2ps-gcc15.patch diff --git a/.gitignore b/.gitignore index 2c71345..850f52d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ a2ps-4.14.tar.gz i18n-fonts-0.1.tar.gz /a2ps-4.15.5.tar.gz /a2ps-4.15.6.tar.gz +/a2ps-4.15.7.tar.gz diff --git a/a2ps-gcc15.patch b/a2ps-gcc15.patch deleted file mode 100644 index 52b40bc..0000000 --- a/a2ps-gcc15.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/liba2ps/parseppd.y b/liba2ps/parseppd.y -index df4d863..ab24a78 100644 ---- a/liba2ps/parseppd.y -+++ b/liba2ps/parseppd.y -@@ -39,6 +39,7 @@ - #include "message.h" - #include "routines.h" - #include "lexppd.h" -+#include "parseppd.h" - - #define YYDEBUG 1 - #define YYERROR_VERBOSE 1 -@@ -50,7 +51,7 @@ extern struct a2ps_job * job; - - /* Local prototypes */ - void yyerror (const char *msg); --static void yyprint (); -+static void yyprint (FILE *file, int type, YYSTYPE value); - - /* Initilizes the obstacks */ - void ppdlex_initialize (void); -diff --git a/src/parsessh.y b/src/parsessh.y -index 0a151c7..395d7f5 100644 ---- a/src/parsessh.y -+++ b/src/parsessh.y -@@ -39,6 +39,7 @@ - #include "message.h" - #include "routines.h" - #include "yy2ssh.h" -+#include "parsessh.h" - - #define YYDEBUG 1 - #define YYERROR_VERBOSE 1 -@@ -63,7 +64,7 @@ extern const char * sshfilename; - - /* Local prototypes */ - void yyerror (const char *msg); --static void yyprint (); -+static void yyprint (FILE *file, int type, YYSTYPE value); - - /* Initilizes the obstacks */ - void sshlex_initialize (void); diff --git a/a2ps.spec b/a2ps.spec index 9175791..cfed4c4 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps -Version: 4.15.6 -Release: 3%{?dist} +Version: 4.15.7 +Release: 1%{?dist} # several files in afm/, lib/, liba2ps/, src/ - GPL3+ # gnulib files in lib/ - LGPL-2.1+ # several files in lib/ - LGPL-3+ @@ -37,8 +37,6 @@ Patch17: a2ps-forward-null.patch Patch18: a2ps-overrun-dynamic.patch Patch19: a2ps-overrun-static.patch Patch20: a2ps-resource-leak.patch -# https://savannah.gnu.org/bugs/index.php?66678 -Patch21: a2ps-gcc15.patch # most conversion rules are guarded by configure macros, so they @@ -191,8 +189,6 @@ and medias. %patch -P 19 -p1 -b .overrun-static # Coverity fix (resource-leak). %patch -P 20 -p1 -b .resource-leak -# https://savannah.gnu.org/bugs/index.php?66678 -%patch -P 21 -p1 -b .gcc15 for file in AUTHORS ChangeLog; do iconv -f latin1 -t UTF-8 < $file > $file.utf8 @@ -321,6 +317,9 @@ exit 0 %{_mandir}/man1/pdiff.1.gz %changelog +* Mon Jul 14 2025 Zdenek Dohnal - 4.15.7-1 +- 4.15.7 (fedora#2379508) + * Fri Jan 17 2025 Zdenek Dohnal - 4.15.6-3 - fix build with GCC 15 (fedora#2336012) diff --git a/sources b/sources index dd0498c..510d6ee 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (a2ps-4.15.6.tar.gz) = 23d054a2e58c28460c5e23a1cf3f0f9c27faffc9a99781c42c11cc0693eea5bb8cfe090a97b9bae3d80cfae6b4d5b9a30dfd997a2d70be2d25988c714ad14b44 +SHA512 (a2ps-4.15.7.tar.gz) = 9ae73d29f9504cb6a9b85cd896286551fc7f65c0abba9a6e7ba1bd0a1f99b58e206b5a1dde42fa8eecc01a5ce32cdc16aafe4ca1a4eb5c5b01e48d816903269a SHA512 (i18n-fonts-0.1.tar.gz) = 670853cd0acc5feca572c1b0969d8fd506d2cdee0114d41d0a615f994455bd8ce122bfb02d92b85d18ddd9daa7174b86ccb3fdab92c1769aab066cbc62811fde From ae4e0632d1ac0f118659714e1ef64f0c78c59d13 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 16:40:49 +0000 Subject: [PATCH 83/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index cfed4c4..1959509 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.15.7 -Release: 1%{?dist} +Release: 2%{?dist} # several files in afm/, lib/, liba2ps/, src/ - GPL3+ # gnulib files in lib/ - LGPL-2.1+ # several files in lib/ - LGPL-3+ @@ -317,6 +317,9 @@ exit 0 %{_mandir}/man1/pdiff.1.gz %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 4.15.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Mon Jul 14 2025 Zdenek Dohnal - 4.15.7-1 - 4.15.7 (fedora#2379508) From 69932257388492b520404f349538f3112adba402 Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Fri, 12 Dec 2025 10:28:51 +0100 Subject: [PATCH 84/85] a2ps-4.15.8 is available (fedora#2418953) --- .gitignore | 1 + a2ps.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 850f52d..3d0355e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ i18n-fonts-0.1.tar.gz /a2ps-4.15.5.tar.gz /a2ps-4.15.6.tar.gz /a2ps-4.15.7.tar.gz +/a2ps-4.15.8.tar.gz diff --git a/a2ps.spec b/a2ps.spec index 1959509..3c3f542 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps -Version: 4.15.7 -Release: 2%{?dist} +Version: 4.15.8 +Release: 1%{?dist} # several files in afm/, lib/, liba2ps/, src/ - GPL3+ # gnulib files in lib/ - LGPL-2.1+ # several files in lib/ - LGPL-3+ @@ -317,6 +317,9 @@ exit 0 %{_mandir}/man1/pdiff.1.gz %changelog +* Fri Dec 12 2025 Zdenek Dohnal - 4.15.8-1 +- a2ps-4.15.8 is available (fedora#2418953) + * Wed Jul 23 2025 Fedora Release Engineering - 4.15.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild diff --git a/sources b/sources index 510d6ee..6e71d18 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (a2ps-4.15.7.tar.gz) = 9ae73d29f9504cb6a9b85cd896286551fc7f65c0abba9a6e7ba1bd0a1f99b58e206b5a1dde42fa8eecc01a5ce32cdc16aafe4ca1a4eb5c5b01e48d816903269a +SHA512 (a2ps-4.15.8.tar.gz) = b6c66c32f7b499fee19d0f6b4b3eed2ba5a5d6dcc74f99ac3434fa261d11b24c755345afc95b3839b1f21425d0aea17ccea5e13fda37f77e0f17da3f8e3ef786 SHA512 (i18n-fonts-0.1.tar.gz) = 670853cd0acc5feca572c1b0969d8fd506d2cdee0114d41d0a615f994455bd8ce122bfb02d92b85d18ddd9daa7174b86ccb3fdab92c1769aab066cbc62811fde From 63260bed3d286e805a3224e84ee438ea60ef0183 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 03:22:07 +0000 Subject: [PATCH 85/85] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- a2ps.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/a2ps.spec b/a2ps.spec index 3c3f542..9d6e3c4 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,7 +1,7 @@ Summary: Converts text and other types of files to PostScript Name: a2ps Version: 4.15.8 -Release: 1%{?dist} +Release: 2%{?dist} # several files in afm/, lib/, liba2ps/, src/ - GPL3+ # gnulib files in lib/ - LGPL-2.1+ # several files in lib/ - LGPL-3+ @@ -317,6 +317,9 @@ exit 0 %{_mandir}/man1/pdiff.1.gz %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 4.15.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Fri Dec 12 2025 Zdenek Dohnal - 4.15.8-1 - a2ps-4.15.8 is available (fedora#2418953)