diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3d0355e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+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
+/a2ps-4.15.8.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/Makefile b/Makefile
deleted file mode 100644
index da5b6e5..0000000
--- a/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# Makefile for source rpm: a2ps
-# $Id: Makefile,v 1.1 2004/09/09 02:51:00 cvsdist 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
-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/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-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..060aec6 100644
--- a/a2ps-4.13-conf.patch
+++ b/a2ps-4.13-conf.patch
@@ -1,24 +1,7 @@
---- 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
- # 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/fonts/afms/adobe \
-+ /usr/share/X11/fonts/Type1 ;
- 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.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=
@@ -26,8 +9,24 @@
- /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 -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=
+-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 --git a/a2ps-4.13-etc.patch b/a2ps-4.13-etc.patch
index 1aaee86..899c522 100644
--- a/a2ps-4.13-etc.patch
+++ b/a2ps-4.13-etc.patch
@@ -1,50 +1,7 @@
---- 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 @@
-
-
- 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
-@@ -2,7 +2,7 @@
- ## Makefile for a2ps' etc library directory.
-
- 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
-
-@@ -40,7 +40,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/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 @@
+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
@@ -52,3 +9,27 @@
#################################################################
+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)
++libpath = $(sysconfdir)/$(PACKAGE):$(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir)
+
+ pkgdata_DATA = README
+
+@@ -55,7 +55,9 @@ DISTCLEANFILES = a2ps.cfg README
+
+ # 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 timestamp to know the version.
+ README: README.in Makefile
+diff -up a2ps-4.15/etc/Makefile.in.etc a2ps-4.15/etc/Makefile.in
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-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-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-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.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.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
new file mode 100644
index 0000000..a06fb2d
--- /dev/null
+++ b/a2ps-4.14-texinfo-nodes.patch
@@ -0,0 +1,128 @@
+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::
+ * 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 --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-external-libtool.patch b/a2ps-external-libtool.patch
deleted file mode 100644
index 93b5cf7..0000000
--- a/a2ps-external-libtool.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- 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"
-
- # 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.
diff --git a/a2ps-forward-null.patch b/a2ps-forward-null.patch
new file mode 100644
index 0000000..6aa308e
--- /dev/null
+++ b/a2ps-forward-null.patch
@@ -0,0 +1,19 @@
+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);
+
+- 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 : "");
+ if (stat (res, &statbuf) == 0)
+ return xstrdup (res);
+
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-*
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-mb.patch b/a2ps-mb.patch
index 2f79272..b331f52 100644
--- a/a2ps-mb.patch
+++ b/a2ps-mb.patch
@@ -1,23 +1,14 @@
---- 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);
- 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;
- }
-
-@@ -894,8 +895,8 @@
- 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-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-overrun-dynamic.patch b/a2ps-overrun-dynamic.patch
new file mode 100644
index 0000000..d58bed3
--- /dev/null
+++ b/a2ps-overrun-dynamic.patch
@@ -0,0 +1,21 @@
+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 */
+- 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) {
+@@ -461,7 +461,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-overrun-static.patch b/a2ps-overrun-static.patch
new file mode 100644
index 0000000..e3585fe
--- /dev/null
+++ b/a2ps-overrun-static.patch
@@ -0,0 +1,12 @@
+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() */
+ 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-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-resource-leak.patch b/a2ps-resource-leak.patch
new file mode 100644
index 0000000..ab1830c
--- /dev/null
+++ b/a2ps-resource-leak.patch
@@ -0,0 +1,45 @@
+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);
+ else
+ 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);
++ free (real_font_name);
+ }
+
+ /* The number of fonts that, finally, have to be encoded
+@@ -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++)
++ {
++ 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++ )
+@@ -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_ratio[i] =
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-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 f8f721c..9d6e3c4 100644
--- a/a2ps.spec
+++ b/a2ps.spec
@@ -1,187 +1,202 @@
-# 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)
+Summary: Converts text and other types of files to PostScript
+Name: a2ps
+Version: 4.15.8
+Release: 2%{?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
+
+
+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
+# 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
+# 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
+# Perl parts of groff text processor - ROFF delegation for man pages
+BuildRequires: groff-perl
+# 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
+# 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
+Requires: file
+# 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
-Summary: Converts text and other types of files to PostScript(TM)
-Name: a2ps
-Version: 4.13b
-Release: 71%{?dist}
-License: GPLv2+
-Group: Applications/Publishing
-#Source0: ftp://ftp.enst.fr/pub/unix/a2ps/%{name}-%{version}.tar.gz
-Source0: %{name}-%{version}-GPL.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
-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
-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
-Requires: fileutils sh-utils info
-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: gv
-Url: http://www.inf.enst.fr/~demaille/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(post): coreutils
-Requires(post): /sbin/install-info
-Requires(preun): /sbin/install-info
-Obsoletes: a2ps-i18n <= 0.1-1
-Provides: a2ps-i18n = 0.1-1
+%if 0%{?rhel} <= 8 || 0%{?fedora}
+# image delegations
+Requires: ImageMagick
+# html delegations
+Recommends: html2ps
+%endif
-%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}
-
+# for emacs support
+Suggests: emacs
%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.
-%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 -n %{name}-4.13 -a 1
-
-# use __timestamp_configure.in to hold the configure.in timestamp
-touch -r configure.in __timestamp_configure.in
-
-%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
-
-%patch10 -p1 -b .euc
-%patch11 -p1 -b .ae
-%patch12 -p1 -b .attr
+%setup -q -a 1
+# use fedora postscript font paths
+%patch -P 01 -p1 -b .conf
+# add /etc/a2ps in directories searched for config files
+%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
-
+%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
-
-# Fix problems in .y file spotted by stricter bison.
-%patch19 -p1 -b .bison
-
+%patch -P 10 -p1 -b .euckr
# 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
-
+%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
-
-# Don't try to run netscape. Run mozilla instead (bug #121393).
-%patch27 -p1 -b .netscape
-
+%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
-
-# Fixed psset sed expression (bug #209613).
-%patch30 -p1 -b .psset
-
+%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)
+%patch -P 16 -p1 -b .nodes
+# Coverity fix (forward-null).
+%patch -P 17 -p1 -b .forward-null
+# Coverity fix (overrun-dynamic).
+%patch -P 18 -p1 -b .overrun-dynamic
+# Coverity fix (overrun-static).
+%patch -P 19 -p1 -b .overrun-static
+# Coverity fix (resource-leak).
+%patch -P 20 -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
+ 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
@@ -189,46 +204,38 @@ 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
+chmod 644 encoding/iso8.edf.hebrew
+chmod 644 encoding/euc-kr.edf.euckr
-# 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
%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
+ --enable-kanji \
+ --with-lispdir=%{_emacs_sitelispdir}/%{name}
# Remove prebuilt info files to force regeneration at build time
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 %{?_smp_mflags}
-make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
%install
-rm -rf %{buildroot}
make DESTDIR=%{buildroot} install INSTALL='install -p'
# reset the timestamp for the generated etc/README file
@@ -244,22 +251,21 @@ install -p -m 0644 *.pfb %{buildroot}%{_datadir}/a2ps/fonts
popd
popd
-# Don't ship the library file or header (bug #203536).
-rm -f %{buildroot}%{_libdir}/*.{so,a,la}
-rm -f %{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
-%clean
-rm -rf %{buildroot}
%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 || :
+%{?ldconfig}
(cd %{_datadir}/a2ps/afm;
./make_fonts_map.sh > /dev/null 2>&1 || /bin/true
if [ -f fonts.map.new ]; then
@@ -268,29 +274,28 @@ rm -rf %{buildroot}
)
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
+%ldconfig_postun
-%postun -p /sbin/ldconfig
%files -f %{name}.lang
-%defattr(-,root,root,-)
+%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}/*/*
-%{_datadir}/a2ps/afm/fonts.map
+%{_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/make_fonts_map.sh
%{_datadir}/a2ps/README
%{_datadir}/a2ps/encoding
@@ -299,19 +304,220 @@ exit 0
%{_datadir}/a2ps/ps
%{_datadir}/a2ps/sheets
%{_datadir}/ogonkify/
-%dir %{_datadir}/a2ps/afm
-%dir %{_datadir}/a2ps
-%{_libdir}/*.so*
-
-%files -n emacs-%{name}
-%defattr(-,root,root,-)
-%{emacs_lispdir}/*.elc
-
-%files -n emacs-%{name}-el
-%defattr(-,root,root,-)
-%{emacs_lispdir}/*.el
+%{_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
+* 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)
+
+* 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)
+
+* 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
+
+* 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
+
+* 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
+
+* 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
+
+* 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
+
+* 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
+
+* 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
+
+* 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
+
+* 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
+
+* 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
+
+* 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
+
+* 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
+
+* 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/
+
+* 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
+
+* 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
+
+* 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
+
+* 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
+
+* 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
+
+* 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).
+
+* 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
+
+* 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).
+
+* 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
+
+* 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).
+
+* 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).
+
+* 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
+- 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
+
+* 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
+
+* 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.
+
+* 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
@@ -558,7 +764,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
diff --git a/sources b/sources
index 99a216b..6e71d18 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,2 @@
-8e6a684611da92c9de2a42e7803aa8f0 a2ps-4.13-eucjp.patch.bz2
-fee1456d0e6e94af4fc5b5a1bb9687b7 i18n-fonts-0.1.tar.gz
-4c7efbbbb03558e3c900d2b3b4e3fbf0 a2ps-4.13b-GPL.tar.gz
+SHA512 (a2ps-4.15.8.tar.gz) = b6c66c32f7b499fee19d0f6b4b3eed2ba5a5d6dcc74f99ac3434fa261d11b24c755345afc95b3839b1f21425d0aea17ccea5e13fda37f77e0f17da3f8e3ef786
+SHA512 (i18n-fonts-0.1.tar.gz) = 670853cd0acc5feca572c1b0969d8fd506d2cdee0114d41d0a615f994455bd8ce122bfb02d92b85d18ddd9daa7174b86ccb3fdab92c1769aab066cbc62811fde