From e607f40fd0ffe16058d6e34f79c92e71b6bb89c6 Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Thu, 27 Jul 2023 16:46:25 +0200 Subject: [PATCH] 2225694 - a2ps: FTBFS in Fedora rawhide/f39 2189133 - a2ps: FTBFS in rawhide, 64-bit and C99 compatibility issues 2176254 - a2ps-4.15.5 is available SPDX migration done --- .gitignore | 1 + COPYING | 676 ++++++++++++++ a2ps-4.13-autoenc.patch | 40 - a2ps-4.13-conf.patch | 43 +- a2ps-4.13-etc.patch | 48 +- a2ps-4.13-eucjp.patch | 1417 ---------------------------- a2ps-4.13-glibcpaper.patch | 85 +- a2ps-4.13-gnusource.patch | 18 - a2ps-4.13-security.patch | 65 -- a2ps-4.13b-attr.patch | 92 -- a2ps-4.13b-encoding.patch | 78 +- a2ps-4.13b-numeric.patch | 13 +- a2ps-4.14-texinfo-nodes.patch | 164 ++-- a2ps-CVE-2014-0466.patch | 24 - a2ps-U.patch | 11 - a2ps-aarch64.patch | 1629 --------------------------------- a2ps-bad-free.patch | 14 - a2ps-define-texinfo-enc.patch | 10 - a2ps-external-libtool.patch | 13 - a2ps-format-security.patch | 48 - a2ps-forward-null.patch | 10 +- a2ps-lm.patch | 25 - a2ps-mb.patch | 38 +- a2ps-overrun-dynamic.patch | 10 +- a2ps-overrun-static.patch | 6 +- a2ps-resource-leak.patch | 62 +- a2ps-texi-comments.patch | 17 - a2ps-wdiff.patch | 20 - a2ps.spec | 307 ++++--- sources | 3 +- 30 files changed, 1106 insertions(+), 3881 deletions(-) create mode 100644 COPYING delete mode 100644 a2ps-4.13-autoenc.patch delete mode 100644 a2ps-4.13-eucjp.patch delete mode 100644 a2ps-4.13-gnusource.patch delete mode 100644 a2ps-4.13-security.patch delete mode 100644 a2ps-4.13b-attr.patch delete mode 100644 a2ps-CVE-2014-0466.patch delete mode 100644 a2ps-aarch64.patch delete mode 100644 a2ps-bad-free.patch delete mode 100644 a2ps-define-texinfo-enc.patch delete mode 100644 a2ps-external-libtool.patch delete mode 100644 a2ps-format-security.patch delete mode 100644 a2ps-lm.patch delete mode 100644 a2ps-texi-comments.patch diff --git a/.gitignore b/.gitignore index 03aa984..8978461 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ a2ps-4.14.tar.gz i18n-fonts-0.1.tar.gz +/a2ps-4.15.5.tar.gz diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..4432540 --- /dev/null +++ b/COPYING @@ -0,0 +1,676 @@ + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + diff --git a/a2ps-4.13-autoenc.patch b/a2ps-4.13-autoenc.patch deleted file mode 100644 index 5e3e08f..0000000 --- a/a2ps-4.13-autoenc.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a2ps-4.13.rh/src/main.c Fri Feb 23 17:39:02 2001 -+++ a2ps-4.13.euc/src/main.c Fri Feb 23 23:07:40 2001 -@@ -31,6 +31,8 @@ - /* */ - /************************************************************************/ - #include -+#include -+#include - - #include "a2ps.h" - #include "argmatch.h" -@@ -925,6 +927,7 @@ - main (int argc, char *argv[]) - { - int argn; -+ char *locale; - - /* Architecture specific initialization. */ - #ifdef __EMX__ -@@ -947,6 +950,9 @@ - setlocale (LC_CTYPE, ""); - setlocale (LC_PAPER, ""); - -+ locale = setlocale (LC_ALL, ""); -+ /* fprintf(stderr, "locale : %s\n", locale); */ -+ - bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); - -@@ -1013,6 +1019,10 @@ - yet read sheets. */ - sheets_map = sheets_map_new (); - style_sheets = new_style_sheets (); -+ -+ /* Process special case: Japanese Document */ -+ if (! strncmp (locale, "ja", 2) ) -+ job->requested_encoding_name = xstrdup ("euc-jp"); - - /* Process the command line options. */ - argn = a2ps_handle_options (job, argc, argv); diff --git a/a2ps-4.13-conf.patch b/a2ps-4.13-conf.patch index 9504283..060aec6 100644 --- a/a2ps-4.13-conf.patch +++ b/a2ps-4.13-conf.patch @@ -1,26 +1,23 @@ -diff -up a2ps-4.14/configure.conf a2ps-4.14/configure ---- a2ps-4.14/configure.conf 2008-04-27 01:01:04.000000000 +0200 -+++ a2ps-4.14/configure 2008-04-27 01:04:12.000000000 +0200 -@@ -30758,9 +30758,13 @@ fi - echo $ECHO_N "checking for PostScript fonts path... $ECHO_C" >&6; } - # Try to find some PostScript fonts. - # Find out if ghostscript is installed -+# for ac_dir in /usr/local/ghostscript/fonts \ -+# /usr/local/share/ghostscript/fonts; - ac_psfont_path= --for ac_dir in /usr/local/ghostscript/fonts \ -- /usr/local/share/ghostscript/fonts; -+for ac_dir in /usr/share/fonts/default/Type1 \ -+ /usr/share/fonts/default/ghostscript \ -+ /usr/share/X11/fonts/Type1 \ -+ /usr/share/fonts/culmus ; - do - if test "cd $ac_dir 2>/dev/null && echo *.afm"; then - ac_psfont_path="$ac_psfont_path:$ac_dir"; -diff -up a2ps-4.14/configure.in.conf a2ps-4.14/configure.in ---- a2ps-4.14/configure.in.conf 2008-04-27 01:00:54.000000000 +0200 -+++ a2ps-4.14/configure.in 2008-04-27 01:03:52.000000000 +0200 -@@ -207,8 +207,10 @@ AC_MSG_CHECKING(for PostScript fonts pat +diff -up a2ps-4.15/configure.ac.conf a2ps-4.15/configure.ac +--- a2ps-4.15/configure.ac.conf 2023-03-08 09:09:29.694691191 +0100 ++++ a2ps-4.15/configure.ac 2023-03-08 09:10:00.210882309 +0100 +@@ -153,8 +153,10 @@ AC_MSG_CHECKING(for PostScript fonts pat + # Try to find some PostScript fonts. + # Find out if ghostscript is installed + ac_psfont_path= +-for ac_dir in /usr/local/ghostscript/fonts \ +- /usr/local/share/ghostscript/fonts; ++for ac_dir in /usr/share/fonts/default/Type1 \ ++ /usr/share/fonts/default/ghostscript \ ++ /usr/share/X11/fonts/Type1 \ ++ /usr/share/fonts/culmus ; + do + if test "cd $ac_dir 2>/dev/null && echo *.afm"; then + ac_psfont_path="$ac_psfont_path:$ac_dir"; +diff -up a2ps-4.15/configure.conf a2ps-4.15/configure +--- a2ps-4.15/configure.conf 2023-03-08 09:09:03.438526754 +0100 ++++ a2ps-4.15/configure 2023-03-08 09:10:39.922131011 +0100 +@@ -38619,8 +38619,10 @@ printf %s "checking for PostScript fonts # Try to find some PostScript fonts. # Find out if ghostscript is installed ac_psfont_path= diff --git a/a2ps-4.13-etc.patch b/a2ps-4.13-etc.patch index fa692ff..899c522 100644 --- a/a2ps-4.13-etc.patch +++ b/a2ps-4.13-etc.patch @@ -1,7 +1,7 @@ -diff -up a2ps-4.14/etc/a2ps_cfg.in.etc a2ps-4.14/etc/a2ps_cfg.in ---- a2ps-4.14/etc/a2ps_cfg.in.etc 2007-12-29 02:38:58.000000000 +0100 -+++ a2ps-4.14/etc/a2ps_cfg.in 2008-04-27 01:27:55.000000000 +0200 -@@ -73,6 +73,7 @@ LibraryPath: @libpath@ +diff -up a2ps-4.15/etc/a2ps_cfg.in.etc a2ps-4.15/etc/a2ps_cfg.in +--- a2ps-4.15/etc/a2ps_cfg.in.etc 2023-01-31 22:58:17.000000000 +0100 ++++ a2ps-4.15/etc/a2ps_cfg.in 2023-03-08 09:12:47.908932563 +0100 +@@ -56,6 +56,7 @@ LibraryPath: @libpath@ # It may be useful to extend it so that a2ps can see some # TeX or X11 resources: it likes AFM files and PF[AB] files. #AppendLibraryPath: foo @@ -9,11 +9,11 @@ diff -up a2ps-4.14/etc/a2ps_cfg.in.etc a2ps-4.14/etc/a2ps_cfg.in ################################################################# -diff -up a2ps-4.14/etc/Makefile.am.etc a2ps-4.14/etc/Makefile.am ---- a2ps-4.14/etc/Makefile.am.etc 2002-07-19 14:07:27.000000000 +0200 -+++ a2ps-4.14/etc/Makefile.am 2008-04-27 01:27:55.000000000 +0200 -@@ -2,7 +2,7 @@ - ## Makefile for a2ps' etc library directory. +diff -up a2ps-4.15/etc/Makefile.am.etc a2ps-4.15/etc/Makefile.am +--- a2ps-4.15/etc/Makefile.am.etc 2023-03-08 09:12:47.908932563 +0100 ++++ a2ps-4.15/etc/Makefile.am 2023-03-08 09:15:31.573957559 +0100 +@@ -17,7 +17,7 @@ + # ogonkifydir=$(datadir)/ogonkify -libpath = $(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) @@ -21,7 +21,7 @@ diff -up a2ps-4.14/etc/Makefile.am.etc a2ps-4.14/etc/Makefile.am pkgdata_DATA = README -@@ -40,7 +40,9 @@ DISTCLEANFILES = a2ps.cfg README +@@ -55,7 +55,9 @@ DISTCLEANFILES = a2ps.cfg README # Building the correct a2ps.cfg a2ps.cfg: a2ps_cfg Makefile @@ -30,30 +30,6 @@ diff -up a2ps-4.14/etc/Makefile.am.etc a2ps-4.14/etc/Makefile.am + -e "s!@apppath@!$(PSFONT_PATH)!" \ + a2ps_cfg > a2ps.cfg - # Building a time stamp to know the version. + # Building a timestamp to know the version. README: README.in Makefile -diff -up a2ps-4.14/etc/Makefile.in.etc a2ps-4.14/etc/Makefile.in ---- a2ps-4.14/etc/Makefile.in.etc 2007-12-29 04:28:07.000000000 +0100 -+++ a2ps-4.14/etc/Makefile.in 2008-04-27 01:30:55.000000000 +0200 -@@ -262,7 +262,7 @@ sysconfdir = @sysconfdir@ - target_alias = @target_alias@ - tex = @tex@ - ogonkifydir = $(datadir)/ogonkify --libpath = $(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) -+libpath = $(sysconfdir)/$(PACKAGE):$(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) - pkgdata_DATA = README - dsysconf = $(DESTDIR)$(sysconfdir) - EXTRA_DIST = README.in -@@ -482,7 +482,9 @@ uninstall-local: - - # Building the correct a2ps.cfg - a2ps.cfg: a2ps_cfg Makefile -- sed "s!@libpath@!$(libpath)!" a2ps_cfg > a2ps.cfg -+ sed -e "s!@libpath@!$(libpath)!" \ -+ -e "s!@apppath@!$(PSFONT_PATH)!" \ -+ a2ps_cfg > a2ps.cfg - - # Building a time stamp to know the version. - README: README.in Makefile -diff -up a2ps-4.14/Makefile.am.etc a2ps-4.14/Makefile.am -diff -up a2ps-4.14/Makefile.in.etc a2ps-4.14/Makefile.in +diff -up a2ps-4.15/etc/Makefile.in.etc a2ps-4.15/etc/Makefile.in diff --git a/a2ps-4.13-eucjp.patch b/a2ps-4.13-eucjp.patch deleted file mode 100644 index e94834a..0000000 --- a/a2ps-4.13-eucjp.patch +++ /dev/null @@ -1,1417 +0,0 @@ -diff -up a2ps-4.14/config.h.in.euc a2ps-4.14/config.h.in ---- a2ps-4.14/config.h.in.euc 2007-12-29 04:28:05.000000000 +0100 -+++ a2ps-4.14/config.h.in 2008-04-27 10:39:24.000000000 +0200 -@@ -24,6 +24,9 @@ - /* Define if TIOCGWINSZ requires sys/ioctl.h */ - #undef GWINSZ_IN_SYS_IOCTL - -+/* Define if you want to support japanese */ -+#undef ENABLE_KANJI -+ - /* Define to 1 if you have the `alarm' function. */ - #undef HAVE_ALARM - -diff -up a2ps-4.14/configure.euc a2ps-4.14/configure ---- a2ps-4.14/configure.euc 2008-04-27 10:39:24.000000000 +0200 -+++ a2ps-4.14/configure 2008-04-27 10:41:39.000000000 +0200 -@@ -1587,7 +1587,8 @@ Optional Packages: - --with-medium=medium specify the default medium (A4, Letter, Legal, etc.) - default=A4 - --with-encoding=enc specify the default encoding (ascii, latin1, -- latin2... latin6, hp etc.) default=latin1 -+ latin2... latin6, euc-jp, hp etc.) default=latin1 -+ --enable-kanji support Japanese (default=yes) - - Some influential environment variables: - CC C compiler command -@@ -22521,7 +22522,7 @@ fi - - for ac_header in sys/time.h sys/stat.h sys/types.h sys/ioctl.h \ - math.h string.h strings.h stdlib.h unistd.h stdarg.h pwd.h malloc.h \ -- memory.h errno.h fcntl.h stdbool.h fnmatch.h -+ memory.h errno.h fcntl.h stdbool.h fnmatch.h iconv.h - do - as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` - if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then -@@ -30947,6 +30948,22 @@ fi - - - -+# Check whether --enable-kanji or --disable-kanji was given. -+if test "${enable_kanji+set}" = set; then -+ enableval="$enable_kanji" -+ SUPPORT_KANJI=$enableval -+else -+ SUPPORT_KANJI=yes -+fi -+ -+if test "$SUPPORT_KANJI" = "yes"; then -+ cat >> confdefs.h <<\EOF -+#define ENABLE_KANJI 1 -+EOF -+# ENCODING=euc-jp -+fi -+ -+ - ######################## - # Nice special printers - ######################## -diff -up a2ps-4.14/configure.in.euc a2ps-4.14/configure.in ---- a2ps-4.14/configure.in.euc 2008-04-27 10:39:24.000000000 +0200 -+++ a2ps-4.14/configure.in 2008-04-27 10:39:24.000000000 +0200 -@@ -72,7 +72,7 @@ AC_HEADER_SYS_WAIT - AC_HEADER_DIRENT - AC_CHECK_HEADERS(sys/time.h sys/stat.h sys/types.h sys/ioctl.h \ - math.h string.h strings.h stdlib.h unistd.h stdarg.h pwd.h malloc.h \ -- memory.h errno.h fcntl.h stdbool.h fnmatch.h) -+ memory.h errno.h fcntl.h stdbool.h fnmatch.h iconv.h) - - ## --------------------- ## - ## Checks for typedefs. ## -@@ -276,11 +276,23 @@ AC_SUBST(MEDIUM) - # - AC_ARG_WITH(encoding, - AC_HELP_STRING([--with-encoding=enc], -- [specify the default encoding (ascii, latin1, latin2... latin6, hp etc.) [default=latin1]]), -+ [specify the default encoding (ascii, latin1, latin2... latin6, euc-jp, hp etc.) [default=latin1]]), - ENCODING=$with_encoding, - ENCODING=latin1) - AC_SUBST(ENCODING) - -+# -+# use libjcode -+# -+AC_ARG_ENABLE(kanji, -+ [ --enable-kanji support Japanese/kanji (default: yes)], -+ SUPPORT_KANJI=$enableval, SUPPORT_KANJI=yes) -+if test "$SUPPORT_KANJI" = "yes"; then -+ AC_DEFINE(ENABLE_KANJI) -+ dnl ENCODING=euc-jp -+fi -+ -+ - ######################## - # Nice special printers - ######################## -diff -up a2ps-4.14/encoding/encoding.map.euc a2ps-4.14/encoding/encoding.map ---- a2ps-4.14/encoding/encoding.map.euc 2007-12-29 02:39:21.000000000 +0100 -+++ a2ps-4.14/encoding/encoding.map 2008-04-27 10:39:24.000000000 +0200 -@@ -93,6 +93,12 @@ koi8r koi8 - koi8 koi8 - koi koi8 - -+euc-jp euc-jp -+eucjp euc-jp -+japanese euc-jp -+ja euc-jp -+jp euc-jp -+ - ######################################################################## - # Some architectures specific char sets - ######################################################################## -diff -up /dev/null a2ps-4.14/encoding/euc-jp.edf ---- /dev/null 2008-04-27 11:55:27.307012118 +0200 -+++ a2ps-4.14/encoding/euc-jp.edf 2008-04-27 10:39:24.000000000 +0200 -@@ -0,0 +1,109 @@ -+# Description of the EUC-JP encoding -+# Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana -+# Copyright (c) 1995, 96, 97, 98 Akim Demaille, Miguel Santana -+# -+ -+# -+# This file is part of a2ps. -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2, or (at your option) -+# any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; see the file COPYING. If not, write to -+# the Free Software Foundation, 59 Temple Place - Suite 330, -+# Boston, MA 02111-1307, USA. -+# -+ -+Name: EUC-JP -+ -+# This text is reproduced by a courtesy of Roman Czyborra -+# http://czyborra.com/charsets/iso8859.html -+Documentation -+The EUC-JP character set, often simply referred to as Latin 1, -+covers most West European languages, such as French, Spanish, Catalan, -+Basque, Portuguese, Italian, Albanian, Rhaeto-Romanic, Dutch, German, -+Danish, Swedish, Norwegian, Finnish, Faroese, Icelandic, Irish, -+Scottish, and English, incidentally also Afrikaans and Swahili, thus -+in effect also the entire American continent, Australia and the -+southern two-thirds of Africa. The lack of the ligatures Dutch IJ, -+French OE and ,,German`` quotation marks is considered tolerable. -+ -+The lack of the new C=-resembling Euro currency symbol U+20AC has -+opened the discussion of a new Latin0. -+EndDocumentation -+ -+# If there is an unknown font requested, use Courier -+Default: Courier -+ -+# Automatic spell checking :) -+Substitute: Times Times-Roman -+Substitute: Helvetica-Italic Helvetica-Oblique -+Substitute: Helvetica-BoldItalic Helvetica-BoldOblique -+ -+ -+# SlantFont for Japanese Italic Kanji font -+# new font source font value -+SlantFont: Ryumin-Light-EUC-H-Italic Ryumin-Light-EUC-H 0.2 -+SlantFont: GothicBBB-Medium-EUC-H-Italic GothicBBB-Medium-EUC-H 0.2 -+ -+# Compose font for japanese EUC code -+# target font additional font width size rate -+DefaultComposite: Ryumin-Light-EUC-H 1.0 1.1 -+ -+# 1:2 fixed -+#DefaultComposite: Ryumin-Light-EUC-H 1.0 0.8333 -+ -+# 1:1 fixed -+#DefaultComposite: Ryumin-Light-EUC-H 1.0 1.6666 -+ -+Composite: Helvetica GothicBBB-Medium-EUC-H 1.0 1.1 -+Composite: Helvetica-Oblique GothicBBB-Medium-EUC-H-Italic 1.0 1.1 -+Composite: Helvetica-Bold GothicBBB-Medium-EUC-H 1.0 1.1 -+Composite: Helvetica-BoldOblique GothicBBB-Medium-EUC-H-Italic 1.0 1.1 -+ -+Composite: Courier-Oblique Ryumin-Light-EUC-H-Italic 1.0 1.1 -+Composite: Courier-Bold GothicBBB-Medium-EUC-H 1.0 1.1 -+Composite: Courier-BoldOblique GothicBBB-Medium-EUC-H-Italic 1.0 1.1 -+Composite: Times-Bold GothicBBB-Medium-EUC-H 1.0 1.1 -+ -+Vector: -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+space exclam quotedbl numbersign dollar percent ampersand quoteright -+parenleft parenright asterisk plus comma minus period slash -+zero one two three four five six seven -+eight nine colon semicolon less equal greater question -+at A B C D E F G -+H I J K L M N O -+P Q R S T U V W -+X Y Z bracketleft backslash bracketright asciicircum underscore -+quoteleft a b c d e f g -+h i j k l m n o -+p q r s t u v w -+x y z braceleft bar braceright asciitilde .notdef -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef -+space exclamdown cent sterling currency yen brokenbar section -+dieresis copyright ordfeminine guillemotleft logicalnot hyphen registered macron -+degree plusminus twosuperior threesuperior acute mu paragraph bullet -+cedilla onesuperior ordmasculine guillemotright onequarter onehalf threequarters questiondown -+Agrave Aacute Acircumflex Atilde Adieresis Aring AE Ccedilla -+Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex Idieresis -+Eth Ntilde Ograve Oacute Ocircumflex Otilde Odieresis multiply -+Oslash Ugrave Uacute Ucircumflex Udieresis Yacute Thorn germandbls -+agrave aacute acircumflex atilde adieresis aring ae ccedilla -+egrave eacute ecircumflex edieresis igrave iacute icircumflex idieresis -+eth ntilde ograve oacute ocircumflex otilde odieresis divide -+oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis -diff -up a2ps-4.14/encoding/Makefile.am.euc a2ps-4.14/encoding/Makefile.am ---- a2ps-4.14/encoding/Makefile.am.euc 2007-12-29 02:39:27.000000000 +0100 -+++ a2ps-4.14/encoding/Makefile.am 2008-04-27 10:39:24.000000000 +0200 -@@ -16,7 +16,7 @@ major_encodings = ascii.edf iso1.edf - minor_encodings = \ - ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ - iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf ms-cp1251.edf -+iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf - - if EXTENSIONS - encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) -diff -up a2ps-4.14/encoding/Makefile.in.euc a2ps-4.14/encoding/Makefile.in ---- a2ps-4.14/encoding/Makefile.in.euc 2007-12-29 04:28:07.000000000 +0100 -+++ a2ps-4.14/encoding/Makefile.in 2008-04-27 10:39:24.000000000 +0200 -@@ -270,7 +270,7 @@ major_encodings = ascii.edf iso1.edf - minor_encodings = \ - ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ - iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf ms-cp1251.edf -+iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf - - @EXTENSIONS_FALSE@encodings_DATA = encoding.map $(major_encodings) - @EXTENSIONS_TRUE@encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) -diff -up a2ps-4.14/lib/encoding.c.euc a2ps-4.14/lib/encoding.c ---- a2ps-4.14/lib/encoding.c.euc 2007-12-29 02:37:54.000000000 +0100 -+++ a2ps-4.14/lib/encoding.c 2008-04-27 10:39:24.000000000 +0200 -@@ -37,6 +37,9 @@ - #include "document.h" - #include "quotearg.h" - #include "strverscmp.h" -+#ifdef ENABLE_KANJI -+int use_jcode = false; -+#endif - - /* Suffix of the Encoding Description Files */ - #define EDF_SUFFIX ".edf" -@@ -389,15 +392,25 @@ font_entry_set_used (struct hash_table_s - * Association of suffixes rules, and corresponding style sheet - * (The hashing is upon `alias') - */ -+struct slantfont_info { -+ char * name; -+ char * src; -+ float raito; -+}; -+ - struct encoding { - char * key; /* e.g. latin1 */ - char * name; /* e.g. ISO Latin 1 */ -+ int composite_flag; /* flag for composite font */ - uchar * documentation; /* Useful pieces of text */ - - char * default_font; /* When a font can't be used - define the font to use */ - struct pair_htable * substitutes; /* e.g. in latin2, don't use - * Courier, but Courier-Ogonki */ -+ struct pair_htable * composite; -+ -+ struct slantfont_info slantfont[NB_FACES]; - - char * vector[256]; /* Define the char set */ - struct darray * font_names_used; -@@ -407,6 +420,9 @@ struct encoding { - struct hash_table_s * fonts; /* Contains cells that are - * 1. name of font, 2. int wx[256] */ - unsigned int * faces_wx[NB_FACES]; -+ -+ unsigned int composite_wx[NB_FACES]; /* fixed length font width*/ -+ float composite_raito[NB_FACES]; /* size raito of additonal and orinal font */ - }; - - /* -@@ -423,9 +439,12 @@ encoding_new (const char * key) - res->name = NULL; - res->default_font = NULL; - res->documentation = NULL; -+ res->composite_flag = false; - - /* Vector will be set by setup */ - res->substitutes = pair_table_new (); -+ res->composite = pair_table_new (); -+ res->slantfont[0].name = NULL; - res->font_names_used = da_new ("List of font names", 10, - da_linear, 10, - (da_print_func_t) da_str_print, -@@ -471,6 +490,34 @@ encoding_add_font_substitute (struct enc - } - - /* -+ * Add a composite font in the current encoding -+ */ -+static void -+encoding_add_composite_font (struct encoding * encoding, -+ const char * orig, const char * subs, -+ int wx, float raito) -+{ -+ encoding->composite_flag = true; -+ pair_add2 (encoding->composite, orig, subs, wx, raito); -+} -+ -+/* -+ * Add a composite font in the current encoding -+ */ -+static void -+encoding_add_slant_font (struct encoding * encoding, -+ const char * new, const char * src, -+ float raito) -+{ -+ static num = 0; -+ encoding->slantfont[num].name = strdup(new); -+ encoding->slantfont[num].src = strdup(src); -+ encoding->slantfont[num].raito = raito; -+ encoding->slantfont[num+1].name = NULL; -+ num++; -+} -+ -+/* - * When FONT_NAME is used with ENCODING, return the - * real font name to use (e.g., in latin2, Courier-Ogonki - * should be returned when asked for Courier). -@@ -514,6 +561,77 @@ encoding_resolve_font_substitute (struct - } - - message (msg_enc, -+ (stderr, "In encoding %s, composite font for %s is resolved as %s\n", -+ encoding->key, font_name, res)); -+ return res; -+} -+ -+/* -+ * Get composite font size and raito -+ */ -+static int -+composite_font_info_get_wx(struct a2ps_job * job, -+ struct encoding * encoding, -+ const char * font_list) -+{ -+ int wx= -1; -+ char * font_list_copy; -+ char * font_name; -+ astrcpy (font_list_copy, font_list); -+ font_name = strtok (font_list_copy, ",<>;"); -+ -+ wx = pair_get_wx (encoding->composite, font_name); -+ if (wx<0) -+ wx = pair_get_wx (encoding->composite, "default_composite__"); -+ -+ return wx; -+} -+ -+static float -+composite_font_info_get_raito(struct a2ps_job * job, -+ struct encoding * encoding, -+ const char * font_list) -+{ -+ float raito= -1; -+ char * font_list_copy; -+ char * font_name; -+ -+ astrcpy (font_list_copy, font_list); -+ font_name = strtok (font_list_copy, ",<>;"); -+ -+ raito = pair_get_raito (encoding->composite, font_name); -+ if (raito<0) -+ raito = pair_get_raito (encoding->composite, "default_composite__"); -+ return raito; -+} -+ -+const char * -+encoding_resolve_composite_font (struct a2ps_job * job, -+ struct encoding * encoding, -+ const char * font_list) -+{ -+ const char * res = NULL; -+ char * font_list_copy; -+ char * font_name; -+ -+ astrcpy (font_list_copy, font_list); -+ font_name = strtok (font_list_copy, ",<>;"); -+ -+ /* Find if there is a substitute for that font */ -+ res = pair_get (encoding->composite, font_name); -+ -+ /* We've found nothing interesting. Last chance is the default -+ * font */ -+ if (!res) -+ { -+ res = pair_get (encoding->composite, "default_composite__"); -+ -+ if (!res) -+ error (1, 0, "Cannot find font %s, nor any composite font", -+ font_name); -+ } -+ -+ message (msg_enc, - (stderr, "In encoding %s, font %s is resolved as %s\n", - encoding->key, font_name, res)); - return res; -@@ -585,6 +703,12 @@ load_encoding_description_file (a2ps_job - { - token2 = GET_TOKEN (NULL); - CHECK_TOKEN (); -+#ifdef ENABLE_KANJI -+ if( strcmp(token2, "EUC-JP")== 0) -+ use_jcode = true; -+ else -+ use_jcode = false; -+#endif - encoding->name = xstrdup (token2); - } - else if (strequ (token, "Default:")) -@@ -633,6 +757,66 @@ load_encoding_description_file (a2ps_job - subs = token2; - encoding_add_font_substitute (encoding, orig, subs); - } -+ else if (strequ (token, "DefaultComposite:")) -+ { -+ char * orig, * subs; -+ int wx; -+ float raito; -+ -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ subs = token2; -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ wx = (int)atof(token2)*1000; -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ raito = atof(token2); -+ encoding_add_composite_font(encoding, "default_composite__", -+ subs, wx, raito); -+ } -+ else if (strequ (token, "Composite:")) -+ { -+ char * orig, * subs; -+ int wx; -+ float raito; -+ -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ orig = token2; -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ subs = token2; -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ wx = (int)atof(token2)*1000; -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ raito = atof(token2); -+ encoding_add_composite_font(encoding, orig, subs, wx, raito); -+ } -+ else if (strequ (token, "SlantFont:")) -+ { -+ char * new, * src; -+ float raito; -+ unsigned int num; -+ -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ new = token2; -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ src = token2; -+ token2 = GET_TOKEN (NULL); -+ CHECK_TOKEN (); -+ raito = atof(token2); -+ for (num = 0 ; encoding->slantfont[num].name ; num ++ ); -+ if (num > sizeof encoding->slantfont - 1){ -+ error_at_line (1, 0, fname, firstline, -+ _("too many slant font: `%s'"), new); -+ } -+ encoding_add_slant_font(encoding, new, src, raito); -+ } - else - error_at_line (1, 0, fname, firstline, - _("invalid option `%s'"), quotearg (token)); -@@ -754,6 +938,15 @@ encoding_char_exists (struct encoding * - } - - /* -+ * Return the flag of composite flag -+ */ -+int -+encoding_get_composite_flag (struct encoding * enc) -+{ -+ return enc->composite_flag; -+} -+ -+/* - * Prepare the environment (a dictionary) for the support - * of ENCODING, dump it into STREAM. - * -@@ -766,9 +959,11 @@ dump_encoding_setup (FILE * stream, - struct encoding * encoding) - { - size_t i, nb; -+ size_t ns; - const char * real_font_name; /* After subsitution */ - char ** font_names = (char **) encoding->font_names_used->content; - -+ - /* How many fonts are there? */ - da_qsort (encoding->font_names_used); - da_unique (encoding->font_names_used, (da_map_func_t) free); -@@ -787,15 +982,46 @@ dump_encoding_setup (FILE * stream, - * in the current ENCODING */ - nb = encoding->font_names_used->len; - -+ /* The number of slant fonts */ -+ for (i= 0, ns=0 ; encoding->slantfont[i].name ; i++ ) -+ ns++; -+ - /* Create the dictionary and fill it */ - fprintf (stream, "%% Dictionary for %s support\n", - encoding->name); -- fprintf (stream, "/%sdict %d dict begin\n", encoding->key, nb); -+ fprintf (stream, "/%sdict %d dict begin\n", encoding->key, -+ (encoding->composite_flag == true)? nb+nb+ns:nb+ns); - for (i = 0 ; i < nb ; i++) - fprintf (stream, " /f%s %sEncoding /%s reencode_font\n", - font_names [i], - encoding->name, - encoding_resolve_font_substitute (job, encoding, font_names [i])); -+ -+ /* Slant font setting */ -+ for (i = 0 ; encoding->slantfont[i].name ; i++ ) -+ fprintf (stream, " /%s /%s %f slantfont definefont pop\n", -+ encoding->slantfont[i].name, -+ encoding->slantfont[i].src, -+ encoding->slantfont[i].raito); -+ -+ /* -+ * Composite font setting. -+ * If kanji font size is larger than alphabet character, -+ * set base font size to kanji charactor size. -+ */ -+ if (encoding->composite_flag == true) { -+ for (i = 0 ; i < nb ; i++) -+ fprintf (stream, " /f%s /f%s /%s %f %f false compositefont " -+ "%f scalefont def\n", -+ font_names [i], -+ font_names [i], -+ encoding_resolve_composite_font (job, encoding, font_names [i]), -+ encoding->composite_raito[i], -+ (encoding->composite_raito[i] > 1.0)? -+ 0: (1-encoding->composite_raito[i])/2.0, -+ (encoding->composite_raito[i] > 1.0)? -+ 1.0/encoding->composite_raito[i]: 1.0 ); -+ } - fputs ("currentdict end def\n", stream); - } - -@@ -939,6 +1165,22 @@ encoding_build_faces_wx (a2ps_job * job, - true_font_name, - encoding->vector, - encoding->faces_wx [face]); -+ -+ if (encoding->composite_flag) -+ { -+ encoding->composite_raito[i] = -+ composite_font_info_get_raito(job, encoding, -+ job->face_eo_font [face]); -+ -+ encoding->composite_wx[i] = -+ composite_font_info_get_wx(job, encoding, -+ job->face_eo_font [face]); -+ -+ /* If kanji font size is larger than alphabet character, -+ fit kanji charactor size to base font size */ -+ if (encoding->composite_raito[i] < 1.0) -+ encoding->composite_wx[i] *= encoding->composite_raito[i]; -+ } - } - } - -@@ -1073,6 +1315,13 @@ char_WX (a2ps_job * job, uchar c) - return 0; /* For -Wall */ - } - -+unsigned int -+char_composite_WX (a2ps_job * job, uchar c) -+{ -+ return (job->encoding->composite_wx[job->status->face]/ -+ job->encoding->composite_raito[job->status->face]); -+} -+ - /* - * Returns the WX of a string (including M- and ^) - */ -diff -up a2ps-4.14/lib/encoding.h.euc a2ps-4.14/lib/encoding.h ---- a2ps-4.14/lib/encoding.h.euc 2007-12-29 02:58:17.000000000 +0100 -+++ a2ps-4.14/lib/encoding.h 2008-04-27 10:39:24.000000000 +0200 -@@ -43,6 +43,7 @@ struct a2ps_job; /* Declared in jobs.h w - */ - unsigned int char_WX PARAMS ((struct a2ps_job * job, uchar c)); - unsigned int string_WX PARAMS ((struct a2ps_job * job, uchar * string)); -+unsigned int char_composite_WX PARAMS ((struct a2ps_job * job, uchar c)); - - - /************************************************************************/ -@@ -56,6 +57,7 @@ void encoding_self_print PARAMS ((struct - FILE * stream)); - int encoding_char_exists PARAMS ((struct encoding * enc, - enum face_e face, uchar c)); -+int encoding_get_composite_flag (struct encoding * enc); - struct encoding * - get_encoding_by_alias PARAMS ((struct a2ps_job * job, - char *string)); -@@ -71,6 +73,12 @@ const char * encoding_resolve_font_subst - struct encoding * encoding, - const char * font_name)); - -+ -+const char * encoding_resolve_composite_font -+ PARAMS ((struct a2ps_job * job, -+ struct encoding * encoding, -+ const char * font_name)); -+ - /* - * Have a struct encoding determine the faces_wx - */ -diff -up a2ps-4.14/lib/pair_ht.c.euc a2ps-4.14/lib/pair_ht.c ---- a2ps-4.14/lib/pair_ht.c.euc 2007-12-29 02:58:21.000000000 +0100 -+++ a2ps-4.14/lib/pair_ht.c 2008-04-27 10:39:24.000000000 +0200 -@@ -49,6 +49,8 @@ struct pair - { - char * key; - char * value; -+ float raito; -+ int wx; - }; - - /* -@@ -165,6 +167,37 @@ pair_add (struct hash_table_s * table, - } - - /* -+ * Add a pair, with your own allocation for them. -+ * It KEY is yet used, override its value with VALUE -+ */ -+void -+pair_add2 (struct hash_table_s * table, -+ const char * key, const char * value, int wx, float raito) -+{ -+ struct pair * item, token; -+ -+ token.key = (char *) key; -+ item = (struct pair *) hash_find_item (table, &token); -+ -+ if (item) { -+ if (item->value) -+ free (item->value); -+ } else { -+ item = XMALLOC (struct pair, 1); -+ item->key = xstrdup(key); -+ item->wx = wx; -+ item->raito = raito; -+ } -+ -+ if (value) -+ item->value = xstrdup (value); -+ else -+ item->value = NULL; -+ -+ hash_insert (table, item); -+} -+ -+/* - * Remove a pair and free it. - * It KEY is yet used, override its value with VALUE - */ -@@ -201,6 +234,34 @@ pair_get (struct hash_table_s * table, c - return NULL; - } - -+int -+pair_get_wx (struct hash_table_s * table, const char * key) -+{ -+ struct pair * item, token; -+ -+ token.key = (char *) key; -+ item = (struct pair *) hash_find_item (table, &token); -+ -+ if (item) -+ return item->wx; -+ else -+ return -1; -+} -+ -+float -+pair_get_raito (struct hash_table_s * table, const char * key) -+{ -+ struct pair * item, token; -+ -+ token.key = (char *) key; -+ item = (struct pair *) hash_find_item (table, &token); -+ -+ if (item) -+ return item->raito; -+ else -+ return -1; -+} -+ - /* - * Return the content of the hash table, ordered - */ -diff -up a2ps-4.14/lib/pair_ht.h.euc a2ps-4.14/lib/pair_ht.h ---- a2ps-4.14/lib/pair_ht.h.euc 2007-12-29 02:58:21.000000000 +0100 -+++ a2ps-4.14/lib/pair_ht.h 2008-04-27 10:39:24.000000000 +0200 -@@ -56,6 +56,10 @@ void pair_table_free PARAMS ((struct pai - void pair_add PARAMS ((struct pair_htable * table, - const char * key, const char * value)); - -+void pair_add2 PARAMS ((struct pair_htable * table, -+ const char * key, const char * value, -+ int wx, float raito)); -+ - /* - * The key and value of the matching item will be free'd - * (No problem if KEY matches nothing) -@@ -68,6 +72,10 @@ void pair_delete PARAMS ((struct pair_ht - */ - char * pair_get PARAMS ((struct pair_htable * table, - const char * key)); -+int pair_get_wx PARAMS ((struct pair_htable * table, -+ const char * key)); -+float pair_get_raito PARAMS ((struct pair_htable * table, -+ const char * key)); - - void pair_table_list_short PARAMS ((struct pair_htable * table, - FILE * stream)); -diff -up a2ps-4.14/lib/psgen.c.euc a2ps-4.14/lib/psgen.c ---- a2ps-4.14/lib/psgen.c.euc 2007-12-29 02:58:22.000000000 +0100 -+++ a2ps-4.14/lib/psgen.c 2008-04-27 10:39:24.000000000 +0200 -@@ -875,6 +875,7 @@ ps_print_char (a2ps_job * job, int c, en - print: - default: - { -+ static mb_flag= 0; - uchar buf[256]; - int nchars; - *buf = '\0'; -@@ -889,6 +890,29 @@ ps_print_char (a2ps_job * job, int c, en - job->status->face_declared = false; - } - -+ if (c > 127 && encoding_get_composite_flag (job->encoding) && -+ job->status->face != Symbol) { -+ if (mb_flag) { -+ nchars = ps_escape_char (job, mb_flag, buf) + -+ ps_escape_char (job, c, buf); -+ job->status->wx += char_composite_WX(job, c); -+ job->status->column += nchars; -+ if (line_full) { -+ if (job->folding) { -+ fold_line (job, new_face); -+ job->status->column = nchars*2; -+ job->status->wx = char_composite_WX(job, c); -+ } else { -+ job->status->is_in_cut = true; -+ return; -+ } -+ } -+ mb_flag = 0; -+ } else { -+ mb_flag = c; -+ return; -+ } -+ } else { - nchars = ps_escape_char (job, c, buf); - job->status->wx += char_WX (job, c); - job->status->column += nchars; -@@ -902,8 +926,9 @@ ps_print_char (a2ps_job * job, int c, en - return; - } - } -+ } - output (jdiv, "%s", buf); -- job->status->chars++; -+ job->status->chars+=nchars; - } - break; - } -diff -up a2ps-4.14/ps/base.ps.euc a2ps-4.14/ps/base.ps ---- a2ps-4.14/ps/base.ps.euc 2007-12-29 02:58:26.000000000 +0100 -+++ a2ps-4.14/ps/base.ps 2008-04-27 10:39:24.000000000 +0200 -@@ -153,7 +153,11 @@ - % Return the y size of the current font - % - => fontsize - /currentfontsize { -- currentfont /FontMatrix get 3 get 1000 mul -+ currentfont /FontType get 0 eq { -+ currentfont /FontMatrix get 3 get -+ }{ -+ currentfont /FontMatrix get 3 get 1000 mul -+ } ifelse - } bind def - - % reencode the font -@@ -200,6 +204,144 @@ - end - } bind def - -+% composite fonts for ASCII-EUC mixed string -+% Version 1.2 1/31/1990 -+% Orignal Ken'ichi HANDA (handa@etl.go.jp) -+% Modified Norio Katayama (katayama@rd.nacsis.ac.jp),1998 -+% Extend & Fix Koji Nakamaru (maru@on.cs.keio.ac.jp), 1999 -+% Anyone can freely copy, modify, distribute this program. -+ -+/copyfont { % font-dic extra-entry-count copyfont font-dic -+ 1 index maxlength add dict begin -+ { 1 index /FID ne 2 index /UniqueID ne and -+ {def} {pop pop} ifelse -+ } forall -+ currentdict -+ end -+} bind def -+ -+/compositefont { % ASCIIFontName EUCFontName RomanScale RomanOffset Rot(T/F) compositefont font -+ /RomanRotation exch def -+ /RomanOffset exch def -+ /RomanScale exch def -+ userdict /fixeucfont_dict known not { -+ userdict begin -+ /fixeucfont_dict 2 dict begin -+ /UpperByteEncoding [ -+ 16#00 1 16#20 { pop 0 } for -+ 16#21 1 16#28 { 16#20 sub } for -+ 16#29 1 16#2F { pop 0 } for -+ 16#30 1 16#74 { 16#27 sub } for -+ 16#75 1 16#FF { pop 0 } for -+ ] def -+ /LowerByteEncoding [ -+ 16#00 1 16#A0 { pop /.notdef } for -+ 16#A1 1 16#FE { 16#80 sub 16 2 string cvrs -+ (cXX) dup 1 4 -1 roll -+ putinterval cvn } for -+ /.notdef -+ ] def -+ currentdict -+ end def -+ end -+ } if -+ findfont dup /FontType get 0 eq { -+ 14 dict begin -+ % -+ % 7+8 bit EUC font -+ % -+ 12 dict begin -+ /EUCFont exch def -+ /FontInfo (7+8 bit EUC font) readonly def -+ /PaintType 0 def -+ /FontType 0 def -+ /FontMatrix matrix def -+ % /FontName -+ /Encoding fixeucfont_dict /UpperByteEncoding get def -+ /FMapType 2 def -+ EUCFont /WMode known -+ { EUCFont /WMode get /WMode exch def } -+ { /WMode 0 def } ifelse -+ /FDepVector [ -+ EUCFont /FDepVector get 0 get -+ [ 16#21 1 16#28 {} for 16#30 1 16#74 {} for ] -+ { -+ 13 dict begin -+ /EUCFont EUCFont def -+ /UpperByte exch 16#80 add def -+ % /FontName -+ /FontInfo (EUC lower byte font) readonly def -+ /PaintType 0 def -+ /FontType 3 def -+ /FontMatrix matrix def -+ /FontBBox {0 0 0 0} def -+ /Encoding -+ fixeucfont_dict /LowerByteEncoding get def -+ % /UniqueID -+ % /WMode -+ /BuildChar { -+ gsave -+ exch dup /EUCFont get setfont -+ /UpperByte get -+ 2 string -+ dup 0 4 -1 roll put -+ dup 1 4 -1 roll put -+ dup stringwidth setcharwidth -+ 0 0 moveto show -+ grestore -+ } bind def -+ currentdict -+ end -+ /lowerbytefont exch definefont -+ } forall -+ ] def -+ currentdict -+ end -+ /eucfont exch definefont -+ exch -+ findfont 1 copyfont dup begin -+ RomanRotation { -+ /FontMatrix FontMatrix -+ [ 0 RomanScale neg RomanScale 0 RomanOffset neg 0 ] -+ matrix concatmatrix def -+ }{ -+ /FontMatrix FontMatrix -+ [ RomanScale 0 0 RomanScale 0 RomanOffset ] matrix concatmatrix -+ def -+ /CDevProc -+ {pop pop pop pop 0 exch -1000 exch 2 div 880} def -+ } ifelse -+ end -+ /asciifont exch definefont -+ exch -+ /FDepVector [ 4 2 roll ] def -+ /FontType 0 def -+ /WMode 0 def -+ /FMapType 4 def -+ /FontMatrix matrix def -+ /Encoding [0 1] def -+ /FontBBox {0 0 0 0} def -+% /FontHeight 1.0 def % XXXX -+ /FontHeight RomanScale 1.0 ge { RomanScale }{ 1.0 } ifelse def -+ /Descent -0.3 def % XXXX -+ currentdict -+ end -+ /tmpfont exch definefont -+ pop -+ /tmpfont findfont -+ }{ -+ pop findfont 0 copyfont -+ } ifelse -+} def -+ -+/slantfont { % FontName slant-degree slantfont font' -+ exch findfont 1 copyfont begin -+ [ 1 0 4 -1 roll 1 0 0 ] FontMatrix exch matrix concatmatrix -+ /FontMatrix exch def -+ currentdict -+ end -+} def -+ - % Function print line number ( # -) - /# { - gsave -diff -up /dev/null a2ps-4.14/README.eucJP ---- /dev/null 2008-04-27 11:55:27.307012118 +0200 -+++ a2ps-4.14/README.eucJP 2008-04-27 10:39:24.000000000 +0200 -@@ -0,0 +1,100 @@ -+a2ps euc-jp kanji supported patch: -+by SATO Satoru -+ -+These patches enables a2ps to support the files written in EUC-JP (and other -+Japanese encodings). I only arranged patches created by FURUKAWA Yasuyuki, -+KATAYAMA Yukio, and replaced libjcode by customized jcode.[ch] (by KITAME -+Takuo). -+ -+Notes from the orginal patch by FURUKAWA Yukihiro is follows. -+(sorry, it is written in japanese only): -+ -+a2ps 4.12¤Ç´Á»ú¤ò°õºþ¤¹¤ë¤¿¤á¤Î¥Ñ¥Ã¥Á -+ ·ÄØæÂç³ØÂç³Ø±¡ -+ ¸ÅÀî ÂÙÇ· -+ -+composite font ¤ò»È¤Ã¤Æ´Á»ú¤òɽ¼¨¤¹¤ë¤¿¤á¤Î¥Ñ¥Ã¥Á¤Ç¤¹¡£ -+composite font¤Ë¤Ï¡¢ÊÒ»³ µªÉפµ¤ó(¤Ï¤¸¤á¤ÆÆüËܸìghostscript¤òºîÀ®¤·¤¿ -+¿Í)¤Îfixeucfont ¤ò¥Ù¡¼¥¹¤Ëa2psÍѤË¿¾¯¼ê¤ò¤¤¤ì¤Æ¤ª¤ê¤Þ¤¹¡£¤³¤ì¤òÍøÍѤ¹ -+¤ë¤³¤È¤Ç¡¢2¥Ð¥¤¥ÈEUC¡ÜASCII¤Îʸ»úÎó¤ÎPostscript¤Î°·¤¤¤¬¤°¤Ã¤È´Êñ¤Ë¤Ê -+¤ê¤Þ¤¹¡£ -+ -+¡üComposite¥Õ¥©¥ó¥È¤ÎÀßÄêÊýË¡¤Ë¤Ä¤¤¤Æ -+ºÇÄã¸Â¤ÎÀßÄê¤Ï¥Ñ¥Ã¥Á¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤È¤ê¤¢¤¨¤ºÂç¾æÉפÀ¤È¤Ï»×¤¤¤Þ -+¤¹¡£°ì±þ¥á¥â¤·¤Æ¤ª¤­¤Þ¤¹¡£ -+ -+encoding¥Õ¥¡¥¤¥ë($prefix/share/a2ps/encoding/¤Î²¼¤Î¥Õ¥¡¥¤¥ë)¤Ë¤Ï -+¡ØComposite:¡Ù¤ª¤è¤Ó¡¢¡ØDefaultComposite:¡Ù¤¬¿·¤¿¤Ë»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤È -+¤¨¤Ð¡¢±Ñ¸ì¥Õ¥©¥ó¥È¤ËÂбþ¤¹¤ëEUC¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ÎÆüËܸì¥Õ¥©¥ó¥È¤ò½ñ¤¤ -+¤Æ¹Ô¤­¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤ÎºÝ¡¢¥Õ¥©¥ó¥ÈÉý¤ÈȾ³Ñ¤È´Á»ú¤ÎÈæ¤â»ØÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê -+¤ê¤Þ¤»¤ó¡£¼êÈ´¤­¤Ë¤è¤Ã¤Æ¡¢´Á»ú¤Ï¸ÇÄêÉý¥Õ¥©¥ó¥È¤·¤«»ØÄꤷ¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£ -+ -+-------------------------------------------------- -+# ÆüËܸì¥Õ¥©¥ó¥È ¥Õ¥©¥ó²£Éý Ⱦ³Ñ¤È´Á»ú¤ÎÈæ -+DefaultComposite: Ryumin-Light-EUC-H 1 1.1 -+# ±Ñ¸ì¥Õ¥©¥ó¥È ÆüËܸì¥Õ¥©¥ó¥È ¥Õ¥©¥ó²£Éý Ⱦ³Ñ¤È´Á»ú¤ÎÈæ -+Composite: Helvetica GothicBBB-Medium-EUC-H 1 1.1 -+-------------------------------------------------- -+ -+¤Þ¤¿¡¢¤³¤ì¤À¤È¼ÐÂδÁ»ú¤¬¤Ê¤¯¡¢¤µ¤ß¤·¤¤¤Î¤Ç¡¢SlantFont¤ò»È¤¤¡¢¼ÐÂΤδÁ -+»ú¥Õ¥©¥ó¥È¤âºîÀ®¤Ç¤­¤Þ¤¹¡£ -+ -+-------------------------------------------------- -+# ¿·µ¬¼ÐÂÎÆüËܸì¥Õ¥©¥ó¥È̾ ¥½¡¼¥¹ÆüËܸì¥Õ¥©¥ó¥È ·¹¤­ÅÙ -+SlantFont: Ryumin-Light-EUC-H-Italic Ryumin-Light-EUC-H 0.2 -+-------------------------------------------------- -+ -+SlantFont¤ÇÀ¸À®¤·¤¿¼ÐÂÎ¥Õ¥©¥ó¥È¤ÏComposite¥Õ¥©¥ó¥È(Âè2°ú¿ô)¤ÇÍøÍѤǤ­ -+¤Þ¤¹¡£ -+ -+¡ü¤³¤Î¥Ñ¥Ã¥Á¤Î¾ÜºÙ¥Ç¡¼¥¿ -+ ¡¦»Äǰ¤Ê¤¬¤é2¥Ð¥¤¥ÈEUC¥³¡¼¥É¤òÁ°Äó¤È¤·¤¿¥³¡¼¥Ç¥£¥ó¥°¤ò¤·¤Æ¤¤¤Þ¤¹¡£ -+ ¤½¤Î¤¿¤á¡¢¤¢¤Þ¤ê´Á»ú°Ê³°¤Î¸À¸ì¤ò¹Í¤¨¤Æ¤ª¤ê¤Þ¤»¤ó¡Ä¡£ -+ ¡¦ÁÒ¸÷ ·¯Ïº»á¤Îlibjcode¤ò»È¤Ã¤ÆÆâÉô¤ÇÆþÎÏ¥Õ¥¡¥¤¥ë¤Î´Á»ú¥¨¥ó¥³¡¼¥Ç¥£ -+ ¥ó¥°¤ò¤¹¤Ù¤ÆEUC¤ËÊÑ´¹¤·¤Æ½èÍý¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢¥ª¥ê¥¸ -+ ¥Ê¥ë¤Îlibjcode¤Ï¡¢SJIS¤ª¤è¤ÓEUC¤ÎȽÄ꤬´Å¤«¤Ã¤¿¤Î¤Ç¿¾¯¥«¥¹¥¿¥à¤· -+ ¤Æ¤ª¤ê¤Þ¤¹¡£ -+ ¡¦¤Þ¤¿¡¢tex¤Îdelegate(contrib/texi2dvi4a2ps)Ãæ¡¢TeX¥É¥é¥¤¥Ð¤Ë¤ÏpTeX -+ ¤È·è¤á¤¦¤Á¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤¬¤¤¤ä¤Ê¤é¡¢Î㤨¤ÐNTT-jTeX¤ò»ÈÍѤ·¤¿¤¤¾ì -+ ¹ç¡¢´Ä¶­ÊÑ¿ôTEX¤Ë¡Øjtex¡Ù¤ò¡¢LATEX¤Ë¤Ï¡Øjlatex¡Ù¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ -+ ¡¦compositefont¤òa2psÍѤË¿¾¯¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¥Õ¥©¥ó¥È¤Î¹â -+ ¤µ¤Ê¤É¤Î¾ðÊó¤ò´°Á´¤Ë¸ÇÄê¤Ç·è¤áÂǤÁ¤·¤Æ¤¤¤ë²Õ½ê¤¬¤¢¤ê¤Þ¤¹(XXX¤Ç¥á¥â -+ ¤·¤Æ¤¤¤Þ¤¹)¡£¤½¤Î¤¿¤á¤¢¤Þ¤ê±þÍÑÀ­¤¬Ä㤤¤È»×¤¤¤Þ¤¹¡£ -+ -+¡üȾ³Ñ¤òÁ´³Ñ¤Î1/2¤ÎÂ礭¤µ¤Ë¤·¤¿¤¤ -+¥Ñ¥Ã¥Á¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏÁ´³Ñʸ»ú¤ÈȾ³Ñʸ»ú¤ÎÂ礭¤µ¤Î¥Ð¥é¥ó¥¹¤Ï¡¢¸«¤¿´¶¤¸¤¬ -+(¸Ä¿ÍŪ¤Ê¥»¥ó¥¹¤Ç)°ÂÄꤹ¤ë¤è¤¦¤Ë¥Á¥å¡¼¥Ë¥ó¥°¤·¤Æ¤¤¤Þ¤¹¡£¤â¤·¡¢¥Æ¥­¥¹¥È -+¤Çɽ¤òºîÀ®¤·¤Æ¤¤¤Æ¡¢¤½¤Î¤¿¤á¡¢È¾³Ñʸ»ú¤òÁ´³Ñ¤Î¤Á¤ç¤¦¤ÉȾʬ¤Ë¤½¤í¤¨¤¿¤¤ -+¤È¤¤¤¦¾ì¹ç¤ÎÂнèÊýË¡¤ò½ñ¤¤¤Æ¤ª¤­¤Þ¤¹¡£ -+ -+¥¤¥ó¥¹¥È¡¼¥ë¸å¡¢$prefix/share/a2ps/encoding/euc-jpÃæ¤Ë¡¢ -+ -+-------------------------------------------------- -+DefaultComposite: Ryumin-Light-EUC-H 1.0 1.1 -+-------------------------------------------------- -+ -+¤È¤¤¤¦¤Î¤¬¤¢¤ë¤È»×¤¤¤Þ¤¹¡£ºÇ¸å¤Î¡Ø1.1¡Ù¤ò¡Ø0.8342¡Ù¤¢¤¿¤ê¤ËÊѹ¹¤·¤Æ²¼ -+¤µ¤¤¡£¥Î¡¼¥Þ¥ë¸ÇÄêʸ»ú¤Ë´Ø¤·¤Æ¤Ï¤³¤ì¤Ç˾¤ß¤Î·ë²Ì¤¬ÆÀ¤é¤ì¤ë¤È»×¤¤¤Þ¤¹¡£ -+ -+¾¤ÎÂÀ»ú¥Õ¥©¥ó¥È¤Ê¤É¤â¡¢Î㤨¤Ð -+ -+-------------------------------------------------- -+Composite: Courier-Bold GothicBBB-Medium-EUC-H 1.0 0.8342 -+-------------------------------------------------- -+ -+¤Î¤è¤¦¤ËÊѹ¹¤¹¤ì¤Ð¤¤¤¤¤È»×¤¤¤Þ¤¹¡£¤Ê¤ª¡¢Courier¤¬¤Ä¤«¤Ê¤¤¥Õ¥©¥ó¥È -+(HelveticaÅù)¤Ï¤â¤È¤â¤È¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤Ê¤Î¤Ç¡¢¸ÇÄêÉý¤Ë¤Ï¤Ç¤­ -+¤Þ¤»¤ó¡£ -+ -+ -+ -+¡üºÆÇÛÉۤˤĤ¤¤Æ -+¤Ê¤ó¤À¤«¤ó¤À¤¤¤Ã¤Æ¡¢¤³¤Î¥Ñ¥Ã¥Á¤Ï¡¢ -+ -+ÁÒ¸÷ ·¯Ïº¤µ¤ó¤Îlibjcode ¡Ü ÊÒ»³ µªÉפµ¤ó¤Îfixeucfont -+ -+¤òÁȤ߹ç¤ï¤Æ¤Ç¤­¤¿¤â¤Î¤Ç»ä¼«¿È¤Î¥³¡¼¥É¤Ï¼Â¤Ï¤Û¤È¤ó¤É¤¢¤ê¤Þ¤»¤ó¡Ä¡£ -+ -+»ä¼«¿È¤Î¥³¡¼¥É¤ÏºÆÇÛÉÕ¡¿²þ¤¤Ë´Ø¤·¤Æ¤Ê¤ó¤éÀ©¸Â¤òÀߤ±¤ë¤Ä¤â¤ê¤Ï¤¢¤ê¤Þ¤» -+¤ó¡£¤¿¤À¤·¡¢»ä°Ê³°¤Î¥³¡¼¥É¤ÎÊý¤¬Â¿¤¤¤¿¤á¡¢°ì±þ¤½¤ì¤À¤±¤Ï¸æÎ»¾µ¤ª´ê¤¤Ã× -+¤·¤Þ¤¹¡£ -diff -up a2ps-4.14/src/buffer.c.euc a2ps-4.14/src/buffer.c ---- a2ps-4.14/src/buffer.c.euc 2007-12-29 02:58:34.000000000 +0100 -+++ a2ps-4.14/src/buffer.c 2008-04-27 10:39:24.000000000 +0200 -@@ -41,6 +41,21 @@ - #include "argmatch.h" - #include "buffer.h" - #include -+ -+#ifdef HAVE_CONFIG_H -+# include -+#endif -+ -+#ifdef ENABLE_KANJI -+# include -+# include -+# include -+# include -+# include -+# include -+extern use_jcode; -+#endif -+ - - /****************************************************************/ - /* Handling of the various eol styles */ -@@ -526,3 +541,278 @@ buffer_test (const char *filename) - buffer_release (&buffer); - } - #endif -+ -+/** -+ * from jcode.c by Takuo KITAME -+ */ -+#ifdef ENABLE_KANJI -+ -+enum { -+ JCODE_ASCII, -+ JCODE_EUC, -+ JCODE_JIS, -+ JCODE_SJIS, -+ EUCORSJIS }; -+ -+#define ESC 0x1b -+#define SS2 0x8e -+ -+#define JCODE_LOCALE_EUC "ja", "ja_JP", "ja_JP.ujis", "ja_JP.EUC", "ja_JP.eucJP" -+#define JCODE_LOCALE_JIS "ja_JP.JIS", "ja_JP.jis", "ja_JP.iso-2022-jp" -+#define JCODE_LOCALE_SJIS "ja_JP.SJIS", "ja_JP.sjis" -+ -+/****************************************************************************/ -+/* Japanese string code detector */ -+/****************************************************************************/ -+int -+detect_kanji(unsigned char *str) -+{ -+ int expected = JCODE_ASCII; -+ register int c; -+ int c1, c2; -+ int euc_c = 0, sjis_c = 0; -+ unsigned char *ptr = str; -+ -+ while((c = (int)*ptr)!= '\0') { -+ if(c == ESC) { -+ if((c = (int)*(++ptr)) == '\0') -+ break; -+ if(c == '$') { -+ if((c = (int)*(++ptr)) == '\0') -+ break; -+ if(c == 'B' || c == '@') -+ return JCODE_JIS; -+ } -+ ptr++; -+ continue; -+ } -+ if((c >= 0x81 && c <= 0x8d) || (c >= 0x8f && c <= 0x9f)) -+ return JCODE_SJIS; -+ -+ if(c == SS2) { -+ if((c = (int)*(++ptr)) == '\0') -+ break; -+ if((c >= 0x40 && c <= 0x7e) || -+ (c >= 0x80 && c <= 0xa0) || -+ (c >= 0xe0 && c <= 0xfc)) -+ return JCODE_SJIS; -+ if(c >= 0xa1 && c <= 0xdf) -+ break; -+ -+ ptr++; -+ continue; -+ } -+ if(c >= 0xa1 && c <= 0xdf) { -+ if((c = (int)*(++ptr)) == '\0') -+ break; -+ -+ if (c >= 0xe0 && c <= 0xfe) -+ return JCODE_EUC; -+ if (c >= 0xa1 && c <= 0xdf) { -+ expected = EUCORSJIS; -+ ptr++; -+ continue; -+ } -+#if 1 -+ if(c == 0xa0 || (0xe0 <= c && c <= 0xfe)) -+ return JCODE_EUC; -+ else { -+ expected = EUCORSJIS; -+ ptr++; -+ continue; -+ } -+#else -+ if(c <= 0x9f) -+ return JCODE_SJIS; -+ if(c >= 0xf0 && c <= 0xfe) -+ return JCODE_EUC; -+#endif -+ -+ if(c >= 0xe0 && c <= 0xef) { -+ expected = EUCORSJIS; -+ while(c >= 0x40) { -+ if(c >= 0x81) { -+ if(c <= 0x8d || (c >= 0x8f && c <= 0x9f)) -+ return JCODE_SJIS; -+ else if(c >= 0xfd && c <= 0xfe) { -+ return JCODE_EUC; -+ } -+ } -+ if((c = (int)*(++ptr)) == '\0') -+ break; -+ } -+ ptr++; -+ continue; -+ } -+ -+ if(c >= 0xe0 && c <= 0xef) { -+ if((c = (int)*(++ptr)) == '\0') -+ break; -+ if((c >= 0x40 && c <= 0x7e) || (c >= 0x80 && c <= 0xa0)) -+ return JCODE_SJIS; -+ if(c >= 0xfd && c <= 0xfe) -+ return JCODE_EUC; -+ if(c >= 0xa1 && c <= 0xfc) -+ expected = EUCORSJIS; -+ } -+ } -+#if 1 -+ if (0xf0 <= c && c <= 0xfe) -+ return JCODE_EUC; -+#endif -+ ptr++; -+ } -+ -+ ptr = str; -+ c2 = 0; -+ while((c1 = (int)*ptr++) != '\0') { -+ if(((c2 > 0x80 && c2 < 0xa0) || (c2 >= 0xe0 && c2 < 0xfd)) && -+ ((c1 >= 0x40 && c1 < 0x7f) || (c1 >= 0x80 && c1 < 0xfd))) -+ sjis_c++, c1 = *ptr++; -+ c2 = c1; -+ } -+ if(sjis_c == 0) -+ expected = JCODE_EUC; -+ else { -+ ptr = str, c2 = 0; -+ while((c1 = (int)*ptr++) != '\0') { -+ if((c2 > 0xa0 && c2 < 0xff) && -+ (c1 > 0xa0 && c1 < 0xff)) -+ euc_c++, c1 = *ptr++; -+ c2 = c1; -+ } -+ if(sjis_c > euc_c) -+ expected = JCODE_SJIS; -+ else -+ expected = JCODE_EUC; -+ } -+ return expected; -+} -+ -+int -+int_detect_JCode(char *str) -+{ -+ int detected; -+ -+ if(!str) -+ return 0; -+ -+ detected = detect_kanji((unsigned char *)str); -+ -+ if(detected == JCODE_ASCII) -+ return JCODE_ASCII; -+ -+ switch(detected) { -+ case JCODE_EUC: -+ return JCODE_EUC; -+ break; -+ case JCODE_JIS: -+ return JCODE_JIS; -+ break; -+ case JCODE_SJIS: -+ return JCODE_SJIS; -+ break; -+ default: -+ return JCODE_ASCII; -+ break; -+ } -+ -+ /* not reached */ -+ return 0; -+} -+ -+const char * -+detect_JCode(char *str) -+{ -+ int detected; -+ -+ if(!str) -+ return NULL; -+ -+ detected = detect_kanji((unsigned char *)str); -+ -+ if(detected == JCODE_ASCII) -+ return "ASCII"; -+ -+ switch(detected) { -+ case JCODE_EUC: -+ return "EUC-JP"; -+ break; -+ case JCODE_JIS: -+ return "ISO-2022-JP"; -+ break; -+ case JCODE_SJIS: -+ return "SJIS"; -+ break; -+ default: -+ return "ASCII"; -+ break; -+ } -+ -+ /* not reached */ -+ return 0; -+} -+ -+char * -+kanji_conv_auto(char *str, const char *dstset) -+{ -+ unsigned char *buf, *ret; -+ iconv_t cd; -+ size_t insize = 0; -+ size_t outsize = 0; -+ size_t nconv = 0; -+ char *inptr; -+ char *outptr; -+ char srcset[16]; -+ -+ if(!str) -+ return NULL; -+ -+ switch (int_detect_JCode(str)) { -+ case JCODE_EUC: -+ strcpy(srcset, "EUC-JP"); -+ break; -+ case JCODE_JIS: -+ strcpy(srcset, "ISO-2022-JP"); -+ break; -+ case JCODE_SJIS: -+ strcpy(srcset, "SJIS"); -+ break; -+ default: -+ return strdup(str); -+ break; -+ } -+ -+ buf = (unsigned char *)malloc(strlen(str)* 4 + 1); -+ if(!buf) -+ return NULL; -+ -+ insize = strlen(str); -+ inptr = str; -+ outsize = strlen(str) * 4 ; -+ outptr = buf; -+ -+ cd = iconv_open(dstset, srcset); -+ if(cd == (iconv_t) -1) { -+ if(errno == EINVAL) -+ return strdup(str); -+ } -+ -+ nconv = iconv(cd, (const char **)&inptr, &insize, &outptr, &outsize); -+ if(nconv == (size_t) -1) { -+ if (errno == EINVAL) -+ memmove (buf, inptr, insize); -+ } else -+ iconv(cd, NULL, NULL, &outptr, &outsize); -+ -+ *outptr = '\0'; -+ iconv_close(cd); -+ -+ ret = strdup(buf); -+ free(buf); -+ -+ return ret; -+} -+ -+#endif -+ -diff -up a2ps-4.14/src/buffer.h.euc a2ps-4.14/src/buffer.h ---- a2ps-4.14/src/buffer.h.euc 2007-12-29 02:58:35.000000000 +0100 -+++ a2ps-4.14/src/buffer.h 2008-04-27 10:39:24.000000000 +0200 -@@ -104,4 +104,15 @@ void buffer_sample_get PARAMS ((buffer_t - void buffer_save PARAMS ((buffer_t * buffer, const char * filename)); - - #define buffer_is_empty(Buf) (Buf->curr >= Buf->len) -+ -+ -+/** -+ * from jcode.h by Takuo KITAME -+ */ -+ -+char *kanji_conv_auto(char *str, const char *dstset); -+ -+const char *detect_JCode(char *str); -+int int_detect_JCode(char *str); -+ - #endif -diff -up a2ps-4.14/src/Makefile.am.euc a2ps-4.14/src/Makefile.am ---- a2ps-4.14/src/Makefile.am.euc 2007-12-29 02:36:09.000000000 +0100 -+++ a2ps-4.14/src/Makefile.am 2008-04-27 10:39:24.000000000 +0200 -@@ -33,13 +33,13 @@ DEFS = @DEFS@ -DLOCALEDIR=\"$(datadir)/l - a2ps_SOURCES = main.c \ - read.c sshread.c ssheet.c select.c generate.c \ - delegate.c regex.c buffer.c versions.c ffaces.c \ --version-etc.c long-options.c \ -+version-etc.c long-options.c jcode.c \ - parsessh.y lexssh.l lexps.l sheets-map.l - - noinst_HEADERS = main.h \ - read.h sshread.h ssheet.h select.h generate.h \ - delegate.h regex.h buffer.h versions.h ffaces.h \ --version-etc.h long-options.h \ -+version-etc.h long-options.h jcode.h \ - yy2ssh.h lexps.h - - BUILT_SOURCES = parsessh.c parsessh.h diff --git a/a2ps-4.13-glibcpaper.patch b/a2ps-4.13-glibcpaper.patch index 23ab881..7030b73 100644 --- a/a2ps-4.13-glibcpaper.patch +++ b/a2ps-4.13-glibcpaper.patch @@ -1,25 +1,43 @@ ---- a2ps-4.13/lib/jobs.c.glibcpaper Sat Jan 15 18:15:07 2000 -+++ a2ps-4.13/lib/jobs.c Tue Feb 20 18:44:48 2001 -@@ -138,6 +138,7 @@ +diff -up a2ps-4.15.3/doc/a2ps.texi.glibcpaper a2ps-4.15.3/doc/a2ps.texi +--- a2ps-4.15.3/doc/a2ps.texi.glibcpaper 2023-04-25 15:55:46.783621115 +0200 ++++ a2ps-4.15.3/doc/a2ps.texi 2023-04-25 16:01:07.004225790 +0200 +@@ -1359,6 +1359,12 @@ use output medium @var{medium}. See the + default; see the man page of @code{paper} for how this is configured. + The default paper size may also be requested explicitly with the name + @samp{libpaper}. ++ ++The special @var{medium} @samp{_glibc} (which, in this Red Hat Linux ++version of @samp{a2ps}, is the default) means that you want the medium ++to be determined by the locale category @samp{LC_PAPER}. Note that this ++information is obtained from environment variables which may not be set ++up in non-interactive environments (such as in a cron job). + @end defvr + + @defvr {Option} -r +diff -up a2ps-4.15.3/liba2ps/jobs.c.glibcpaper a2ps-4.15.3/liba2ps/jobs.c +--- a2ps-4.15.3/liba2ps/jobs.c.glibcpaper 2023-04-25 15:55:46.781621105 +0200 ++++ a2ps-4.15.3/liba2ps/jobs.c 2023-04-25 15:56:51.340944620 +0200 +@@ -119,6 +119,7 @@ a2ps_job_new (void) + setlocale (LC_TIME, ""); setlocale (LC_MESSAGES, ""); - #endif setlocale (LC_CTYPE, ""); + setlocale (LC_PAPER, ""); bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); ---- a2ps-4.13/lib/options.c.glibcpaper Tue Aug 31 13:42:41 1999 -+++ a2ps-4.13/lib/options.c Tue Feb 20 18:44:48 2001 -@@ -54,6 +54,8 @@ - #include "argv.h" + bindtextdomain (PACKAGE "-gnulib", LOCALEDIR); +diff -up a2ps-4.15.3/liba2ps/options.c.glibcpaper a2ps-4.15.3/liba2ps/options.c +--- a2ps-4.15.3/liba2ps/options.c.glibcpaper 2023-03-19 18:22:01.000000000 +0100 ++++ a2ps-4.15.3/liba2ps/options.c 2023-04-25 15:57:18.942082933 +0200 +@@ -41,6 +41,8 @@ #include "quotearg.h" #include "filalign.h" + #include "version-etc.h" +#include +#include #define MAN_LINES 66 /* no lines for a man */ extern char *program_name; -@@ -281,7 +283,8 @@ +@@ -267,7 +269,8 @@ a2ps_handle_options (a2ps_job * job, int struct opt_optarg *opt_optarg_head = NULL; struct opt_optarg *opt_optarg = NULL; int res; @@ -29,7 +47,7 @@ /* Reset optind so that getopt is reinitialized. */ optind = 0; -@@ -545,7 +548,14 @@ +@@ -515,7 +518,14 @@ a2ps_handle_options (a2ps_job * job, int break; case 'M': /* select a medium */ @@ -45,36 +63,12 @@ break; case 'n': /* n copies */ ---- a2ps-4.13/src/main.c.glibcpaper Wed Jan 26 19:29:15 2000 -+++ a2ps-4.13/src/main.c Tue Feb 20 18:45:18 2001 -@@ -945,6 +945,7 @@ - setlocale (LC_MESSAGES, ""); - #endif - setlocale (LC_CTYPE, ""); -+ setlocale (LC_PAPER, ""); - - bindtextdomain (PACKAGE, LOCALEDIR); - textdomain (PACKAGE); ---- a2ps-4.13/doc/a2ps.texi.glibcpaper Wed Jan 23 12:36:30 2002 -+++ a2ps-4.13/doc/a2ps.texi Wed Jan 23 12:40:08 2002 -@@ -1363,6 +1363,12 @@ - ask the library @code{libpaper} for the medium to use. This choice is - valid only if @code{libpaper} was available when @pack{} was configured. - See the man page of @code{paperconf} for more information. -+ -+The special @var{medium} @samp{_glibc} (which, in this Red Hat Linux -+version of @samp{a2ps}, is the default) means that you want the medium -+to be determined by the locale category @samp{LC_PAPER}. Note that this -+information is obtained from environment variables which may not be set -+up in non-interactive environments (such as in a cron job). - @end defvr - - @defvr {Option} -r ---- a2ps-4.13/man/a2ps.1.glibcpaper Wed Jan 23 12:42:36 2002 -+++ a2ps-4.13/man/a2ps.1 Wed Jan 23 12:45:05 2002 -@@ -60,6 +60,11 @@ +diff -up a2ps-4.15.3/man/a2ps.1.glibcpaper a2ps-4.15.3/man/a2ps.1 +--- a2ps-4.15.3/man/a2ps.1.glibcpaper 2023-04-25 15:55:46.783621115 +0200 ++++ a2ps-4.15.3/man/a2ps.1 2023-04-25 16:01:48.946435970 +0200 +@@ -67,6 +67,11 @@ Sheets: .TP - \fB\-M\fR, \fB\-\-medium\fR=\fINAME\fR + \fB\-M\fR, \fB\-\-medium\fR=\fI\,NAME\/\fR use output medium NAME + +The default behaviour is to use the locale category @@ -84,3 +78,14 @@ .TP \fB\-r\fR, \fB\-\-landscape\fR print in landscape mode +diff -up a2ps-4.15.3/src/main.c.glibcpaper a2ps-4.15.3/src/main.c +--- a2ps-4.15.3/src/main.c.glibcpaper 2023-04-25 15:55:46.782621110 +0200 ++++ a2ps-4.15.3/src/main.c 2023-04-25 15:57:45.302215028 +0200 +@@ -933,6 +933,7 @@ main (int argc, char *argv[]) + setlocale (LC_TIME, ""); + setlocale (LC_MESSAGES, ""); + setlocale (LC_CTYPE, ""); ++ setlocale (LC_PAPER, ""); + + bindtextdomain (PACKAGE, LOCALEDIR); + bindtextdomain (PACKAGE "-gnulib", LOCALEDIR); diff --git a/a2ps-4.13-gnusource.patch b/a2ps-4.13-gnusource.patch deleted file mode 100644 index 5e75fbb..0000000 --- a/a2ps-4.13-gnusource.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a2ps-4.13/src/main.c.gnusource 2003-10-17 17:07:05.000000000 +0100 -+++ a2ps-4.13/src/main.c 2003-10-17 17:07:17.000000000 +0100 -@@ -30,6 +30,7 @@ - /* I n c l u d e f i l e s */ - /* */ - /************************************************************************/ -+#define _GNU_SOURCE - #include - #include - #include -@@ -105,7 +106,6 @@ - defined twice, see lib/confg.gperf, handling of `Options:'. */ - - char *program_name; --const char *program_invocation_name; - - /* Stores the data of liba2ps. */ - diff --git a/a2ps-4.13-security.patch b/a2ps-4.13-security.patch deleted file mode 100644 index cff6225..0000000 --- a/a2ps-4.13-security.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- a2ps-4.13/lib/routines.c.security Sat Oct 16 05:46:37 1999 -+++ a2ps-4.13/lib/routines.c Mon Feb 12 17:45:15 2001 -@@ -242,3 +242,50 @@ - /* Don't complain if you can't unlink. Who cares of a tmp file? */ - unlink (filename); - } -+ -+/* -+ * Securely generate a temp file, and make sure it gets -+ * deleted upon exit. -+ */ -+static char ** tempfiles; -+static unsigned ntempfiles; -+ -+static void -+cleanup_tempfiles() -+{ -+ while (ntempfiles--) -+ unlink(tempfiles[ntempfiles]); -+} -+ -+char * -+safe_tempnam(const char *pfx) -+{ -+ char *dirname, *filename; -+ int fd; -+ -+ if (!(dirname = getenv("TMPDIR"))) -+ dirname = "/tmp"; -+ -+ tempfiles = (char **) realloc(tempfiles, -+ (ntempfiles+1) * sizeof(char *)); -+ if (tempfiles == NULL) -+ return NULL; -+ -+ filename = malloc(strlen(dirname) + strlen(pfx) + sizeof("/XXXXXX")); -+ if (!filename) -+ return NULL; -+ -+ sprintf(filename, "%s/%sXXXXXX", dirname, pfx); -+ -+ if ((fd = mkstemp(filename)) < 0) { -+ free(filename); -+ return NULL; -+ } -+ close(fd); -+ -+ if (ntempfiles == 0) -+ atexit(cleanup_tempfiles); -+ tempfiles[ntempfiles++] = filename; -+ -+ return filename; -+} ---- a2ps-4.13/lib/routines.h.security Mon Oct 18 21:24:41 1999 -+++ a2ps-4.13/lib/routines.h Mon Feb 12 17:39:30 2001 -@@ -255,7 +255,8 @@ - /* If _STR_ is not defined, give it a tempname in _TMPDIR_ */ - #define tempname_ensure(Str) \ - do { \ -- (Str) = (Str) ? (Str) : tempnam (NULL, "a2_"); \ -+ (Str) = (Str) ? (Str) : safe_tempnam("a2_"); \ - } while (0) -+char * safe_tempnam(const char *); - - #endif diff --git a/a2ps-4.13b-attr.patch b/a2ps-4.13b-attr.patch deleted file mode 100644 index c157604..0000000 --- a/a2ps-4.13b-attr.patch +++ /dev/null @@ -1,92 +0,0 @@ ---- a2ps-4.13/lib/fonts.c.attr Wed Jan 9 14:41:27 2002 -+++ a2ps-4.13/lib/fonts.c Wed Jan 9 14:42:01 2002 -@@ -2173,7 +2173,7 @@ - * in the encoding specific dictionary - */ - int --font_is_to_reencode (PARAM_UNUSED struct a2ps_job * job, const char * key) -+font_is_to_reencode (struct a2ps_job * job PARAM_UNUSED, const char * key) - { - return !strequ (key, "Symbol"); - } ---- a2ps-4.13/lib/lister.c.attr Wed Jan 9 14:41:30 2002 -+++ a2ps-4.13/lib/lister.c Wed Jan 9 14:42:28 2002 -@@ -333,7 +333,7 @@ - } - - void --lister_fprint_vertical (struct lister * lister, PARAM_UNUSED FILE *unused, -+lister_fprint_vertical (struct lister * lister, FILE *unused PARAM_UNUSED, - void **items, size_t item_number, - lister_width_t item_width_fn, - lister_print_t item_print_fn) -@@ -483,7 +483,7 @@ - /* FIXME: document */ - - void --lister_fprint_horizontal (struct lister * lister, PARAM_UNUSED FILE *unused, -+lister_fprint_horizontal (struct lister * lister, FILE *unused PARAM_UNUSED, - void **items, size_t item_number, - lister_width_t item_width_fn, - lister_print_t item_print_fn) -@@ -577,7 +577,7 @@ - */ - - void --lister_fprint_separated (struct lister * lister,PARAM_UNUSED FILE *unused, -+lister_fprint_separated (struct lister * lister,FILE *unused PARAM_UNUSED, - void **items, size_t item_number, - lister_width_t item_width_fn, - lister_print_t item_print_fn) ---- a2ps-4.13/lib/media.c.attr Wed Jan 9 14:41:33 2002 -+++ a2ps-4.13/lib/media.c Wed Jan 9 14:42:35 2002 -@@ -190,7 +190,7 @@ - - /* Is libpaper used? */ - bool --a2ps_medium_libpaper_p (PARAM_UNUSED a2ps_job * job, const char * name) -+a2ps_medium_libpaper_p (a2ps_job * job PARAM_UNUSED, const char * name) - { - return strequ (name, LIBPAPER_MEDIUM) ? true : false; - } ---- a2ps-4.13/lib/pathwalk.c.attr Wed Jan 9 14:41:38 2002 -+++ a2ps-4.13/lib/pathwalk.c Wed Jan 9 14:42:47 2002 -@@ -425,14 +425,14 @@ - /* Helping functions for pw_glob. */ - - static bool --pw_filter_fnmatch (PARAM_UNUSED const char * dir, const char *file, -+pw_filter_fnmatch (const char * dir PARAM_UNUSED, const char *file, - const char *pattern) - { - return !fnmatch (pattern, file, 0); - } - - static void --pw_filter_da_append (PARAM_UNUSED const char * dir, const char *file, -+pw_filter_da_append (const char * dir PARAM_UNUSED, const char *file, - struct darray *da) - { - da_append (da, xstrdup (file)); ---- a2ps-4.13/lib/routines.c.attr Wed Jan 9 14:41:42 2002 -+++ a2ps-4.13/lib/routines.c Wed Jan 9 14:42:54 2002 -@@ -235,7 +235,7 @@ - * Unlink the file FILENAME. - */ - void --unlink2 (PARAM_UNUSED void * dummy, const char * filename) -+unlink2 (void * dummy PARAM_UNUSED, const char * filename) - { - message (msg_tool | msg_file, (stderr, "Unlinking file `%s'\n", filename)); - ---- a2ps-4.13/lib/fonts.l.attr Wed Jan 9 14:58:38 2002 -+++ a2ps-4.13/lib/fonts.l Wed Jan 9 14:58:52 2002 -@@ -585,7 +585,7 @@ - * in the encoding specific dictionary - */ - int --font_is_to_reencode (PARAM_UNUSED struct a2ps_job * job, const char * key) -+font_is_to_reencode (struct a2ps_job * job PARAM_UNUSED, const char * key) - { - return !strequ (key, "Symbol"); - } diff --git a/a2ps-4.13b-encoding.patch b/a2ps-4.13b-encoding.patch index d4337b6..0b26e4a 100644 --- a/a2ps-4.13b-encoding.patch +++ b/a2ps-4.13b-encoding.patch @@ -1,39 +1,8 @@ ---- a2ps-4.13/etc/a2ps-site.cfg.in.encoding 2000-01-15 23:39:36.000000000 +0000 -+++ a2ps-4.13/etc/a2ps-site.cfg.in 2002-08-05 10:22:20.000000000 +0100 -@@ -11,7 +11,7 @@ - ################################################################# - - # Default encoding --Options: --encoding=@ENCODING@ -+#Options: --encoding=@ENCODING@ - - # Default medium - Options: --medium=@MEDIUM@ ---- a2ps-4.13/src/main.c.encoding 2002-08-05 10:22:20.000000000 +0100 -+++ a2ps-4.13/src/main.c 2002-08-05 10:22:20.000000000 +0100 -@@ -32,6 +32,7 @@ - /************************************************************************/ - #include - #include -+#include - #include - - #include "a2ps.h" -@@ -1021,9 +1022,8 @@ - sheets_map = sheets_map_new (); - style_sheets = new_style_sheets (); - -- /* Process special case: Japanese Document */ -- if (! strncmp (locale, "ja", 2) ) -- job->requested_encoding_name = xstrdup ("euc-jp"); -+ /* Use locale to set default encoding. */ -+ job->requested_encoding_name = xstrdup (nl_langinfo (CODESET)); - - /* Process the command line options. */ - argn = a2ps_handle_options (job, argc, argv); ---- a2ps-4.13/encoding/encoding.map.encoding 2002-08-05 10:22:20.000000000 +0100 -+++ a2ps-4.13/encoding/encoding.map 2002-08-05 10:38:55.000000000 +0100 -@@ -45,6 +45,7 @@ +diff --git a/encoding/encoding.map b/encoding/encoding.map +index 926749e..7eb3873 100644 +--- a/encoding/encoding.map ++++ b/encoding/encoding.map +@@ -45,6 +45,7 @@ us-ascii ascii latin1 iso1 iso1 iso1 iso-8859-1 iso1 @@ -41,10 +10,45 @@ latin2 iso2 iso2 iso2 -@@ -128,3 +129,6 @@ +@@ -142,3 +143,6 @@ hp8 hp # Apple' Macintosh mac mac macintosh mac + +# We don't handle UTF-8 at all yet. Sometimes latin1 will work... +utf-8 iso1 +diff --git a/etc/a2ps-site.cfg.in b/etc/a2ps-site.cfg.in +index 2bbcddd..f9f699d 100644 +--- a/etc/a2ps-site.cfg.in ++++ b/etc/a2ps-site.cfg.in +@@ -11,7 +11,7 @@ + ################################################################# + + # Default encoding +-Options: --encoding=@ENCODING@ ++#Options: --encoding=@ENCODING@ + + ################################################################# + # 2) Your printers # +diff --git a/src/main.c b/src/main.c +index 32699ce..b015fb0 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -25,6 +25,7 @@ + #include + + #include ++#include + #include + + #include "a2ps.h" +@@ -989,6 +990,9 @@ main (int argc, char *argv[]) + sheets_map = sheets_map_new (); + style_sheets = new_style_sheets (); + ++ /* Use locale to set default encoding. */ ++ job->requested_encoding_name = xstrdup (nl_langinfo (CODESET)); ++ + /* Process the command line options. */ + argn = a2ps_handle_options (job, argc, argv); + switch (behavior) { diff --git a/a2ps-4.13b-numeric.patch b/a2ps-4.13b-numeric.patch index b7d0990..e6dbe77 100644 --- a/a2ps-4.13b-numeric.patch +++ b/a2ps-4.13b-numeric.patch @@ -1,10 +1,11 @@ ---- a2ps-4.13/src/main.c.numeric Wed Jan 9 14:59:46 2002 -+++ a2ps-4.13/src/main.c Wed Jan 9 15:03:52 2002 -@@ -951,6 +951,7 @@ +diff -up a2ps-4.15.5/src/main.c.numeric a2ps-4.15.5/src/main.c +--- a2ps-4.15.5/src/main.c.numeric 2023-07-25 13:51:15.682949214 +0200 ++++ a2ps-4.15.5/src/main.c 2023-07-25 13:56:01.934924976 +0200 +@@ -927,6 +927,7 @@ main (int argc, char *argv[]) + setlocale (LC_MESSAGES, ""); + setlocale (LC_CTYPE, ""); setlocale (LC_PAPER, ""); - - locale = setlocale (LC_ALL, ""); + setlocale (LC_NUMERIC, "C"); - /* fprintf(stderr, "locale : %s\n", locale); */ bindtextdomain (PACKAGE, LOCALEDIR); + bindtextdomain (PACKAGE "-gnulib", LOCALEDIR); diff --git a/a2ps-4.14-texinfo-nodes.patch b/a2ps-4.14-texinfo-nodes.patch index 47c2001..a06fb2d 100644 --- a/a2ps-4.14-texinfo-nodes.patch +++ b/a2ps-4.14-texinfo-nodes.patch @@ -1,6 +1,84 @@ -diff -up a2ps-4.14/doc/regex.texi_old a2ps-4.14/doc/regex.texi ---- a2ps-4.14/doc/regex.texi_old 2002-03-04 19:46:24.000000000 +0100 -+++ a2ps-4.14/doc/regex.texi 2008-05-16 11:34:42.000000000 +0200 +diff -up a2ps-4.15.5/doc/a2ps.texi.nodes a2ps-4.15.5/doc/a2ps.texi +--- a2ps-4.15.5/doc/a2ps.texi.nodes 2023-07-25 18:04:09.076935779 +0200 ++++ a2ps-4.15.5/doc/a2ps.texi 2023-07-25 18:11:46.197081542 +0200 +@@ -342,11 +342,11 @@ Contributions + + Frequently asked questions + +-* Why Does ...?:: Questions on Error +-* How Can I ...?:: a2ps' How-To +-* Please tell me...:: Existential Questions on a2ps ++* Why Does?:: Questions on Error ++* How Can I?:: a2ps' How-To ++* Please tell me:: Existential Questions on a2ps + +-Why Does...? ++Why Does? + + * It Prints Nothing:: The printer issues nothing + * It Prints in Simplex:: While I asked for Duplex +@@ -356,7 +356,7 @@ Why Does...? + * It Says my File is Binary:: And refuses to print it + * It Refuses to Change the Font Size:: + +-How Can I ...? ++How Can I? + + * Leave Room for Binding:: Specifying Margins + * Print stdin:: Using a2ps in a pipe chain +@@ -365,7 +365,7 @@ How Can I ...? + * Pass Options to lpr:: Disable the banner + * Man Pages with Underlines:: Now it Prints With Italics + +-Please tell me... ++Please tell me + + * Is a2ps Y2K compliant?:: Printing dates in short format + * Why not using yacc:: Why Using Style Sheets +@@ -5841,13 +5841,13 @@ question about the options, etc. It has + suggestions, not to contact the authors. + + @menu +-* Why Does ...?:: Questions on Error +-* How Can I ...?:: a2ps' How-To +-* Please tell me...:: Existential Questions on a2ps ++* Why Does?:: Questions on Error ++* How Can I?:: a2ps' How-To ++* Please tell me:: Existential Questions on a2ps + @end menu + +-@node Why Does ...? +-@section Why Does...? ++@node Why Does? ++@section Why Does? + + Error related questions. + +@@ -6069,8 +6069,8 @@ Note that the `pure' options (no side-ef + virtual pages are @samp{--columns} and @samp{--rows}. + + @c -----------------------------How can I ? ------------------------------ +-@node How Can I ...? +-@section How Can I ...? ++@node How Can I? ++@section How Can I? + + A mini how-to on @pack{}. + +@@ -6152,8 +6152,8 @@ Use @samp{a2ps --pro=ul}. + + + @c -------------------------- Please Tell me ? ------------------------------ +-@node Please tell me... +-@section Please tell me... ++@node Please tell me ++@section Please tell me + + Wondering something? + +diff -up a2ps-4.15.5/doc/regex.texi.nodes a2ps-4.15.5/doc/regex.texi +--- a2ps-4.15.5/doc/regex.texi.nodes 2022-05-01 14:00:35.000000000 +0200 ++++ a2ps-4.15.5/doc/regex.texi 2023-07-25 18:04:09.094935900 +0200 @@ -121,7 +121,7 @@ Regular Expression Syntax * Syntax Bits:: @@ -28,7 +106,7 @@ diff -up a2ps-4.14/doc/regex.texi_old a2ps-4.14/doc/regex.texi @section Predefined Syntaxes If you're programming with Regex, you can set a pattern buffer's -@@ -552,8 +552,8 @@ The predefined syntaxes--taken directly +@@ -552,8 +552,8 @@ The predefined syntaxes--taken directly | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) @end example @@ -48,81 +126,3 @@ diff -up a2ps-4.14/doc/regex.texi_old a2ps-4.14/doc/regex.texi @section The Backslash Character @cindex @samp{\} -diff -up a2ps-4.14/doc/a2ps.texi_old a2ps-4.14/doc/a2ps.texi ---- a2ps-4.14/doc/a2ps.texi_old 2008-05-16 11:34:21.000000000 +0200 -+++ a2ps-4.14/doc/a2ps.texi 2008-05-16 11:42:11.000000000 +0200 -@@ -371,11 +371,11 @@ Contributions - - Frequently asked questions - --* Why Does ...?:: Questions on Error --* How Can I ...?:: a2ps' How-To --* Please tell me...:: Existential Questions on a2ps -+* Why Does?:: Questions on Error -+* How Can I?:: a2ps' How-To -+* Please tell me:: Existential Questions on a2ps - --Why Does...? -+Why Does? - - * It Prints Nothing:: The printer issues nothing - * It Prints in Simplex:: While I asked for Duplex -@@ -385,7 +385,7 @@ Why Does...? - * It Says my File is Binary:: And refuses to print it - * It Refuses to Change the Font Size:: - --How Can I ...? -+How Can I? - - * Leave Room for Binding:: Specifying Margins - * Print stdin:: Using a2ps in a pipe chain -@@ -395,7 +395,7 @@ How Can I ...? - * Non PostScript Printers:: Using GhostScript - * Man Pages with Underlines:: Now it Prints With Italics - --Please tell me... -+Please tell me - - * Is a2ps Y2K compliant?:: Printing dates in short format - * The Options Have Changed:: Respect The Users -@@ -6198,13 +6198,13 @@ question about the options, etc. It has - suggestions, not to contact the authors. - - @menu --* Why Does ...?:: Questions on Error --* How Can I ...?:: a2ps' How-To --* Please tell me...:: Existential Questions on a2ps -+* Why Does?:: Questions on Error -+* How Can I?:: a2ps' How-To -+* Please tell me:: Existential Questions on a2ps - @end menu - --@node Why Does ...? --@section Why Does...? -+@node Why Does? -+@section Why Does? - - Error related questions. - -@@ -6426,8 +6426,8 @@ Note that the `pure' options (no side-ef - virtual pages are @samp{--columns} and @samp{--rows}. - - @c -----------------------------How can I ? ------------------------------ --@node How Can I ...? --@section How Can I ...? -+@node How Can I? -+@section How Can I? - - A mini how-to on @pack{}. - -@@ -6561,8 +6561,8 @@ Use @samp{a2ps --pro=ul}. - - - @c -------------------------- Please Tell me ? ------------------------------ --@node Please tell me... --@section Please tell me... -+@node Please tell me -+@section Please tell me - - Wondering something? - diff --git a/a2ps-CVE-2014-0466.patch b/a2ps-CVE-2014-0466.patch deleted file mode 100644 index b857019..0000000 --- a/a2ps-CVE-2014-0466.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up a2ps-4.14/contrib/fixps.in.CVE-2014-0466 a2ps-4.14/contrib/fixps.in ---- a2ps-4.14/contrib/fixps.in.CVE-2014-0466 2014-04-01 15:35:04.168904356 +0100 -+++ a2ps-4.14/contrib/fixps.in 2014-04-01 15:35:36.509060292 +0100 -@@ -389,7 +389,7 @@ if test $task != check; then - eval "$command" ;; - gs) - $verbose "$program: making a full rewrite of the file ($gs)." >&2 -- $gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;; -+ $gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;; - esac - ) - fi -diff -up a2ps-4.14/contrib/fixps.m4.CVE-2014-0466 a2ps-4.14/contrib/fixps.m4 ---- a2ps-4.14/contrib/fixps.m4.CVE-2014-0466 2014-04-01 15:35:06.885917452 +0100 -+++ a2ps-4.14/contrib/fixps.m4 2014-04-01 15:35:48.748119336 +0100 -@@ -307,7 +307,7 @@ if test $task != check; then - eval "$command" ;; - gs) - $verbose "$program: making a full rewrite of the file ($gs)." >&2 -- $gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;; -+ $gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=- -c save pop -f $file ;; - esac - ) - fi diff --git a/a2ps-U.patch b/a2ps-U.patch index 48c5a90..eff7118 100644 --- a/a2ps-U.patch +++ b/a2ps-U.patch @@ -9,14 +9,3 @@ | $a2ps -gEudiff $a2ps_options || exit 1 ;; esac ---- a2ps-4.13/contrib/pdiff.m4.U 2005-05-05 12:47:54.000000000 +0100 -+++ a2ps-4.13/contrib/pdiff.m4 2005-05-05 12:53:10.000000000 +0100 -@@ -100,7 +100,7 @@ - # We need the total number of lines - lines=`wc -l $file1 $file2 | sed -n 3p` - lines=`set -- $lines && echo $1` -- $diff_prog $diff_options -$lines $file1 $file2 \ -+ $diff_prog $diff_options -U$lines $file1 $file2 \ - | $a2ps -gEudiff $a2ps_options || exit 1 - ;; - esac diff --git a/a2ps-aarch64.patch b/a2ps-aarch64.patch deleted file mode 100644 index a55bf9f..0000000 --- a/a2ps-aarch64.patch +++ /dev/null @@ -1,1629 +0,0 @@ -diff -up a2ps-4.14/auxdir/config.guess.aarch64 a2ps-4.14/auxdir/config.guess ---- a2ps-4.14/auxdir/config.guess.aarch64 2007-12-29 03:28:06.000000000 +0000 -+++ a2ps-4.14/auxdir/config.guess 2013-04-29 13:13:51.035686658 +0100 -@@ -1,10 +1,10 @@ - #! /bin/sh - # Attempt to guess a canonical system name. - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, --# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, --# Inc. -+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -+# 2011, 2012 Free Software Foundation, Inc. - --timestamp='2007-07-22' -+timestamp='2012-09-25' - - # This file is free software; you can redistribute it and/or modify it - # under the terms of the GNU General Public License as published by -@@ -17,9 +17,7 @@ timestamp='2007-07-22' - # General Public License for more details. - # - # You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA --# 02110-1301, USA. -+# along with this program; if not, see . - # - # As a special exception to the GNU General Public License, if you - # distribute this file as part of a program that contains a -@@ -27,16 +25,16 @@ timestamp='2007-07-22' - # the same distribution terms that you use for the rest of that program. - - --# Originally written by Per Bothner . --# Please send patches to . Submit a context --# diff and a properly formatted ChangeLog entry. -+# Originally written by Per Bothner. Please send patches (context -+# diff format) to and include a ChangeLog -+# entry. - # - # This script attempts to guess a canonical system name similar to - # config.sub. If it succeeds, it prints the system name on stdout, and - # exits with 0. Otherwise, it exits with 1. - # --# The plan is that this can be called by configure scripts if you --# don't specify an explicit build system type. -+# You can get the latest version of this script from: -+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD - - me=`echo "$0" | sed -e 's,.*/,,'` - -@@ -56,7 +54,8 @@ version="\ - GNU config.guess ($timestamp) - - Originally written by Per Bothner. --Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 - Free Software Foundation, Inc. - - This is free software; see the source for copying conditions. There is NO -@@ -144,7 +143,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` | - case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or -- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, -+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward -@@ -170,7 +169,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ -- | grep __ELF__ >/dev/null -+ | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? -@@ -180,7 +179,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - fi - ;; - *) -- os=netbsd -+ os=netbsd - ;; - esac - # The OS release -@@ -201,6 +200,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; -+ *:Bitrig:*:*) -+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` -+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} -+ exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} -@@ -223,7 +226,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) -- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` -+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on -@@ -269,7 +272,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` -- exit ;; -+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code. -+ exitcode=$? -+ trap '' 0 -+ exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead -@@ -295,12 +301,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) -- echo powerpc-ibm-os400 -+ echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; -- arm:riscos:*:*|arm:RISCOS:*:*) -+ arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) -@@ -324,14 +330,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; -+ s390x:SunOS:*:*) -+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -+ exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; -+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) -+ echo i386-pc-auroraux${UNAME_RELEASE} -+ exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) -- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` -+ eval $set_cc_for_build -+ SUN_ARCH="i386" -+ # If there is a compiler, see if it is configured for 64-bit objects. -+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. -+ # This test works for both compilers. -+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then -+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ -+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ -+ grep IS_64BIT_ARCH >/dev/null -+ then -+ SUN_ARCH="x86_64" -+ fi -+ fi -+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize -@@ -375,23 +400,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) -- echo m68k-atari-mint${UNAME_RELEASE} -+ echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} -- exit ;; -+ exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) -- echo m68k-atari-mint${UNAME_RELEASE} -+ echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) -- echo m68k-milan-mint${UNAME_RELEASE} -- exit ;; -+ echo m68k-milan-mint${UNAME_RELEASE} -+ exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) -- echo m68k-hades-mint${UNAME_RELEASE} -- exit ;; -+ echo m68k-hades-mint${UNAME_RELEASE} -+ exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) -- echo m68k-unknown-mint${UNAME_RELEASE} -- exit ;; -+ echo m68k-unknown-mint${UNAME_RELEASE} -+ exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; -@@ -461,8 +486,8 @@ EOF - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) -- # DG/UX returns AViiON for all architectures -- UNAME_PROCESSOR=`/usr/bin/uname -p` -+ # DG/UX returns AViiON for all architectures -+ UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ -@@ -475,7 +500,7 @@ EOF - else - echo i586-dg-dgux${UNAME_RELEASE} - fi -- exit ;; -+ exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; -@@ -532,7 +557,7 @@ EOF - echo rs6000-ibm-aix3.2 - fi - exit ;; -- *:AIX:*:[45]) -+ *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 -@@ -575,52 +600,52 @@ EOF - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` -- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` -- case "${sc_cpu_version}" in -- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 -- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 -- 532) # CPU_PA_RISC2_0 -- case "${sc_kernel_bits}" in -- 32) HP_ARCH="hppa2.0n" ;; -- 64) HP_ARCH="hppa2.0w" ;; -+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` -+ case "${sc_cpu_version}" in -+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 -+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 -+ 532) # CPU_PA_RISC2_0 -+ case "${sc_kernel_bits}" in -+ 32) HP_ARCH="hppa2.0n" ;; -+ 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 -- esac ;; -- esac -+ esac ;; -+ esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build -- sed 's/^ //' << EOF >$dummy.c -+ sed 's/^ //' << EOF >$dummy.c - -- #define _HPUX_SOURCE -- #include -- #include -- -- int main () -- { -- #if defined(_SC_KERNEL_BITS) -- long bits = sysconf(_SC_KERNEL_BITS); -- #endif -- long cpu = sysconf (_SC_CPU_VERSION); -- -- switch (cpu) -- { -- case CPU_PA_RISC1_0: puts ("hppa1.0"); break; -- case CPU_PA_RISC1_1: puts ("hppa1.1"); break; -- case CPU_PA_RISC2_0: -- #if defined(_SC_KERNEL_BITS) -- switch (bits) -- { -- case 64: puts ("hppa2.0w"); break; -- case 32: puts ("hppa2.0n"); break; -- default: puts ("hppa2.0"); break; -- } break; -- #else /* !defined(_SC_KERNEL_BITS) */ -- puts ("hppa2.0"); break; -- #endif -- default: puts ("hppa1.0"); break; -- } -- exit (0); -- } -+ #define _HPUX_SOURCE -+ #include -+ #include -+ -+ int main () -+ { -+ #if defined(_SC_KERNEL_BITS) -+ long bits = sysconf(_SC_KERNEL_BITS); -+ #endif -+ long cpu = sysconf (_SC_CPU_VERSION); -+ -+ switch (cpu) -+ { -+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break; -+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break; -+ case CPU_PA_RISC2_0: -+ #if defined(_SC_KERNEL_BITS) -+ switch (bits) -+ { -+ case 64: puts ("hppa2.0w"); break; -+ case 32: puts ("hppa2.0n"); break; -+ default: puts ("hppa2.0"); break; -+ } break; -+ #else /* !defined(_SC_KERNEL_BITS) */ -+ puts ("hppa2.0"); break; -+ #endif -+ default: puts ("hppa1.0"); break; -+ } -+ exit (0); -+ } - EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa -@@ -640,7 +665,7 @@ EOF - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | -- grep __LP64__ >/dev/null -+ grep -q __LP64__ - then - HP_ARCH="hppa2.0w" - else -@@ -711,22 +736,22 @@ EOF - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd -- exit ;; -+ exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi -- exit ;; -+ exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd -- exit ;; -+ exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd -- exit ;; -+ exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd -- exit ;; -+ exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; -@@ -750,14 +775,14 @@ EOF - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` -- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` -- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` -- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" -- exit ;; -+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` -+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` -+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" -+ exit ;; - 5000:UNIX_System_V:4.*:*) -- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` -- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` -- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" -+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` -+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` -+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} -@@ -769,40 +794,51 @@ EOF - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) -- case ${UNAME_MACHINE} in -- pc98) -- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; -+ UNAME_PROCESSOR=`/usr/bin/uname -p` -+ case ${UNAME_PROCESSOR} in - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) -- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; -+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; -+ *:MINGW64*:*) -+ echo ${UNAME_MACHINE}-pc-mingw64 -+ exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; -+ i*:MSYS*:*) -+ echo ${UNAME_MACHINE}-pc-msys -+ exit ;; - i*:windows32*:*) -- # uname -m includes "-pc" on this system. -- echo ${UNAME_MACHINE}-mingw32 -+ # uname -m includes "-pc" on this system. -+ echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; -- *:Interix*:[3456]*) -- case ${UNAME_MACHINE} in -+ *:Interix*:*) -+ case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; -- EM64T | authenticamd) -+ authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; -+ IA64) -+ echo ia64-unknown-interix${UNAME_RELEASE} -+ exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; -+ 8664:Windows_NT:*) -+ echo x86_64-pc-mks -+ exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we -@@ -832,20 +868,68 @@ EOF - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; -- arm*:Linux:*:*) -+ aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -+ aarch64_be:Linux:*:*) -+ UNAME_MACHINE=aarch64_be -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; -+ alpha:Linux:*:*) -+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in -+ EV5) UNAME_MACHINE=alphaev5 ;; -+ EV56) UNAME_MACHINE=alphaev56 ;; -+ PCA56) UNAME_MACHINE=alphapca56 ;; -+ PCA57) UNAME_MACHINE=alphapca56 ;; -+ EV6) UNAME_MACHINE=alphaev6 ;; -+ EV67) UNAME_MACHINE=alphaev67 ;; -+ EV68*) UNAME_MACHINE=alphaev68 ;; -+ esac -+ objdump --private-headers /bin/sh | grep -q ld.so.1 -+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi -+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} -+ exit ;; -+ arm*:Linux:*:*) -+ eval $set_cc_for_build -+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ -+ | grep -q __ARM_EABI__ -+ then -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ else -+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ -+ | grep -q __ARM_PCS_VFP -+ then -+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi -+ else -+ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf -+ fi -+ fi -+ exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) -- echo cris-axis-linux-gnu -+ echo ${UNAME_MACHINE}-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) -- echo crisv32-axis-linux-gnu -+ echo ${UNAME_MACHINE}-axis-linux-gnu - exit ;; - frv:Linux:*:*) -- echo frv-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; -+ hexagon:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; -+ i*86:Linux:*:*) -+ LIBC=gnu -+ eval $set_cc_for_build -+ sed 's/^ //' << EOF >$dummy.c -+ #ifdef __dietlibc__ -+ LIBC=dietlibc -+ #endif -+EOF -+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` -+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu -@@ -856,74 +940,33 @@ EOF - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -- mips:Linux:*:*) -+ mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU -- #undef mips -- #undef mipsel -+ #undef ${UNAME_MACHINE} -+ #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) -- CPU=mipsel -+ CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) -- CPU=mips -+ CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif - EOF -- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' -- /^CPU/{ -- s: ::g -- p -- }'`" -- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } -- ;; -- mips64:Linux:*:*) -- eval $set_cc_for_build -- sed 's/^ //' << EOF >$dummy.c -- #undef CPU -- #undef mips64 -- #undef mips64el -- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) -- CPU=mips64el -- #else -- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) -- CPU=mips64 -- #else -- CPU= -- #endif -- #endif --EOF -- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' -- /^CPU/{ -- s: ::g -- p -- }'`" -+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) -- echo or32-unknown-linux-gnu -- exit ;; -- ppc:Linux:*:*) -- echo powerpc-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -- ppc64:Linux:*:*) -- echo powerpc64-unknown-linux-gnu -+ padre:Linux:*:*) -+ echo sparc-unknown-linux-gnu - exit ;; -- alpha:Linux:*:*) -- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in -- EV5) UNAME_MACHINE=alphaev5 ;; -- EV56) UNAME_MACHINE=alphaev56 ;; -- PCA56) UNAME_MACHINE=alphapca56 ;; -- PCA57) UNAME_MACHINE=alphapca56 ;; -- EV6) UNAME_MACHINE=alphaev6 ;; -- EV67) UNAME_MACHINE=alphaev67 ;; -- EV68*) UNAME_MACHINE=alphaev68 ;; -- esac -- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null -- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi -- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} -+ parisc64:Linux:*:* | hppa64:Linux:*:*) -+ echo hppa64-unknown-linux-gnu - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level -@@ -933,14 +976,17 @@ EOF - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; -- parisc64:Linux:*:* | hppa64:Linux:*:*) -- echo hppa64-unknown-linux-gnu -+ ppc64:Linux:*:*) -+ echo powerpc64-unknown-linux-gnu -+ exit ;; -+ ppc:Linux:*:*) -+ echo powerpc-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) -- echo ${UNAME_MACHINE}-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu -@@ -948,78 +994,18 @@ EOF - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -+ tile*:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) -- echo x86_64-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -- xtensa:Linux:*:*) -- echo xtensa-unknown-linux-gnu -+ xtensa*:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -- i*86:Linux:*:*) -- # The BFD linker knows what the default object file format is, so -- # first see if it will tell us. cd to the root directory to prevent -- # problems with other programs or directories called `ld' in the path. -- # Set LC_ALL=C to ensure ld outputs messages in English. -- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ -- | sed -ne '/supported targets:/!d -- s/[ ][ ]*/ /g -- s/.*supported targets: *// -- s/ .*// -- p'` -- case "$ld_supported_targets" in -- elf32-i386) -- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" -- ;; -- a.out-i386-linux) -- echo "${UNAME_MACHINE}-pc-linux-gnuaout" -- exit ;; -- coff-i386) -- echo "${UNAME_MACHINE}-pc-linux-gnucoff" -- exit ;; -- "") -- # Either a pre-BFD a.out linker (linux-gnuoldld) or -- # one that does not give us useful --help. -- echo "${UNAME_MACHINE}-pc-linux-gnuoldld" -- exit ;; -- esac -- # Determine whether the default compiler is a.out or elf -- eval $set_cc_for_build -- sed 's/^ //' << EOF >$dummy.c -- #include -- #ifdef __ELF__ -- # ifdef __GLIBC__ -- # if __GLIBC__ >= 2 -- LIBC=gnu -- # else -- LIBC=gnulibc1 -- # endif -- # else -- LIBC=gnulibc1 -- # endif -- #else -- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -- LIBC=gnu -- #else -- LIBC=gnuaout -- #endif -- #endif -- #ifdef __dietlibc__ -- LIBC=dietlibc -- #endif --EOF -- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' -- /^LIBC/{ -- s: ::g -- p -- }'`" -- test x"${LIBC}" != x && { -- echo "${UNAME_MACHINE}-pc-linux-${LIBC}" -- exit -- } -- test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } -- ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both -@@ -1027,11 +1013,11 @@ EOF - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) -- # Unixware is an offshoot of SVR4, but it has its own version -- # number series starting with 2... -- # I am not positive that other SVR4 systems won't match this, -+ # Unixware is an offshoot of SVR4, but it has its own version -+ # number series starting with 2... -+ # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. -- # Use sysv4.2uw... so that sysv4* matches it. -+ # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) -@@ -1048,7 +1034,7 @@ EOF - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; -- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) -+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) -@@ -1063,7 +1049,7 @@ EOF - fi - exit ;; - i*86:*:5:[678]*) -- # UnixWare 7.x, OpenUNIX and OpenServer 6. -+ # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; -@@ -1091,10 +1077,13 @@ EOF - exit ;; - pc:*:*:*) - # Left here for compatibility: -- # uname -m prints for DJGPP always 'pc', but it prints nothing about -- # the processor, so we play safe by assuming i386. -- echo i386-pc-msdosdjgpp -- exit ;; -+ # uname -m prints for DJGPP always 'pc', but it prints nothing about -+ # the processor, so we play safe by assuming i586. -+ # Note: whatever this is, it MUST be the same as what config.sub -+ # prints for the "djgpp" host, or else GDB configury will decide that -+ # this is a cross-build. -+ echo i586-pc-msdosdjgpp -+ exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; -@@ -1129,8 +1118,18 @@ EOF - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) -- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ -- && { echo i486-ncr-sysv4; exit; } ;; -+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ -+ && { echo i486-ncr-sysv4; exit; } ;; -+ NCR*:*:4.2:* | MPRAS*:*:4.2:*) -+ OS_REL='.3' -+ test -r /etc/.relid \ -+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` -+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ -+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } -+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ -+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } -+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ -+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; -@@ -1143,7 +1142,7 @@ EOF - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; -- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) -+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) -@@ -1163,10 +1162,10 @@ EOF - echo ns32k-sni-sysv - fi - exit ;; -- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort -- # says -- echo i586-unisys-sysv4 -- exit ;; -+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort -+ # says -+ echo i586-unisys-sysv4 -+ exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm -@@ -1192,11 +1191,11 @@ EOF - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then -- echo mips-nec-sysv${UNAME_RELEASE} -+ echo mips-nec-sysv${UNAME_RELEASE} - else -- echo mips-unknown-sysv${UNAME_RELEASE} -+ echo mips-unknown-sysv${UNAME_RELEASE} - fi -- exit ;; -+ exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; -@@ -1206,6 +1205,12 @@ EOF - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; -+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible. -+ echo i586-pc-haiku -+ exit ;; -+ x86_64:Haiku:*:*) -+ echo x86_64-unknown-haiku -+ exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; -@@ -1233,6 +1238,16 @@ EOF - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in -+ i386) -+ eval $set_cc_for_build -+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then -+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ -+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ -+ grep IS_64BIT_ARCH >/dev/null -+ then -+ UNAME_PROCESSOR="x86_64" -+ fi -+ fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} -@@ -1248,7 +1263,10 @@ EOF - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; -- NSE-?:NONSTOP_KERNEL:*:*) -+ NEO-?:NONSTOP_KERNEL:*:*) -+ echo neo-tandem-nsk${UNAME_RELEASE} -+ exit ;; -+ NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) -@@ -1293,13 +1311,13 @@ EOF - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) -- echo mips-sei-seiux${UNAME_RELEASE} -+ echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) -- UNAME_MACHINE=`(uname -p) 2>/dev/null` -+ UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; -@@ -1314,11 +1332,14 @@ EOF - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; -+ i*86:AROS:*:*) -+ echo ${UNAME_MACHINE}-pc-aros -+ exit ;; -+ x86_64:VMkernel:*:*) -+ echo ${UNAME_MACHINE}-unknown-esx -+ exit ;; - esac - --#echo '(No uname command or uname output not recognized.)' 1>&2 --#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 -- - eval $set_cc_for_build - cat >$dummy.c < - printf ("m68k-sony-newsos%s\n", - #ifdef NEWSOS4 -- "4" -+ "4" - #else -- "" -+ "" - #endif -- ); exit (0); -+ ); exit (0); - #endif - #endif - -@@ -1474,9 +1495,9 @@ This script, last modified $timestamp, h - the operating system you are using. It is advised that you - download the most up to date version of the config scripts from - -- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess -+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD - and -- http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub -+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - - If the version you run ($0) is already up to date, please - send the following data and any information you think might be -diff -up a2ps-4.14/auxdir/config.sub.aarch64 a2ps-4.14/auxdir/config.sub ---- a2ps-4.14/auxdir/config.sub.aarch64 2007-12-29 03:28:06.000000000 +0000 -+++ a2ps-4.14/auxdir/config.sub 2013-04-29 13:13:51.037686671 +0100 -@@ -1,10 +1,10 @@ - #! /bin/sh - # Configuration validation subroutine script. - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, --# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, --# Inc. -+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -+# 2011, 2012 Free Software Foundation, Inc. - --timestamp='2007-06-28' -+timestamp='2012-10-10' - - # This file is (in principle) common to ALL GNU software. - # The presence of a machine in this file suggests that SOME GNU software -@@ -21,9 +21,7 @@ timestamp='2007-06-28' - # GNU General Public License for more details. - # - # You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA --# 02110-1301, USA. -+# along with this program; if not, see . - # - # As a special exception to the GNU General Public License, if you - # distribute this file as part of a program that contains a -@@ -32,13 +30,16 @@ timestamp='2007-06-28' - - - # Please send patches to . Submit a context --# diff and a properly formatted ChangeLog entry. -+# diff and a properly formatted GNU ChangeLog entry. - # - # Configuration subroutine to validate and canonicalize a configuration type. - # Supply the specified configuration type as an argument. - # If it is invalid, we print an error message on stderr and exit with code 1. - # Otherwise, we print the canonical config type on stdout and succeed. - -+# You can get the latest version of this script from: -+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD -+ - # This file is supposed to be the same for all GNU packages - # and recognize all the CPU types, system types and aliases - # that are meaningful with *any* GNU software. -@@ -72,7 +73,8 @@ Report bugs and patches to substitutes, font_name); -- if (!res) -+ if (res) -+ res = xstrdup (res); -+ else - /* No. Check if this font is supported */ - if (font_exists (job, font_name)) - /* Avoid returning sth alloca'd */ diff --git a/a2ps-define-texinfo-enc.patch b/a2ps-define-texinfo-enc.patch deleted file mode 100644 index abfd32b..0000000 --- a/a2ps-define-texinfo-enc.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/doc/a2ps.texi b/doc/a2ps.texi -index 1b64234..59e0834 100644 ---- a/doc/a2ps.texi -+++ b/doc/a2ps.texi -@@ -1,4 +1,5 @@ - \input texinfo @c -*- texinfo -*- -+@documentencoding utf-8 - @c %**start of header - @setfilename a2ps.info - @settitle General Purpose PostScript Generating Utility diff --git a/a2ps-external-libtool.patch b/a2ps-external-libtool.patch deleted file mode 100644 index 5780160..0000000 --- a/a2ps-external-libtool.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up a2ps-4.14/configure.external-libtool a2ps-4.14/configure ---- a2ps-4.14/configure.external-libtool 2008-09-24 15:28:13.000000000 +0100 -+++ a2ps-4.14/configure 2008-09-24 15:28:13.000000000 +0100 -@@ -21864,7 +21864,8 @@ fi - LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - - # Always use our own libtool. --LIBTOOL='$(SHELL) $(top_builddir)/libtool' -+#LIBTOOL='$(SHELL) $(top_builddir)/libtool' -+LIBTOOL='/usr/bin/libtool' - - # Prevent multiple expansion - diff --git a/a2ps-format-security.patch b/a2ps-format-security.patch deleted file mode 100644 index 3fbd034..0000000 --- a/a2ps-format-security.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -up a2ps-4.14/lib/output.c.format-security a2ps-4.14/lib/output.c ---- a2ps-4.14/lib/output.c.format-security 2007-12-29 01:58:21.000000000 +0000 -+++ a2ps-4.14/lib/output.c 2014-04-03 18:24:35.259901356 +0100 -@@ -525,7 +525,7 @@ output_file (struct output * out, a2ps_j - expand_user_string (job, FIRST_FILE (job), - (const uchar *) "Expand: requirement", - (const uchar *) token)); -- output (dest, expansion); -+ output (dest, "%s", expansion); - continue; - } - -diff -up a2ps-4.14/lib/parseppd.y.format-security a2ps-4.14/lib/parseppd.y ---- a2ps-4.14/lib/parseppd.y.format-security 2007-12-29 01:58:21.000000000 +0000 -+++ a2ps-4.14/lib/parseppd.y 2014-04-03 18:24:35.259901356 +0100 -@@ -154,7 +154,7 @@ font_clause : - void - yyerror (const char *msg) - { -- error_at_line (1, 0, ppdfilename, ppdlineno, msg); -+ error_at_line (1, 0, ppdfilename, ppdlineno, "%s", msg); - } - - /* -diff -up a2ps-4.14/lib/psgen.c.format-security a2ps-4.14/lib/psgen.c ---- a2ps-4.14/lib/psgen.c.format-security 2014-04-03 18:24:35.241901276 +0100 -+++ a2ps-4.14/lib/psgen.c 2014-04-03 18:24:35.259901356 +0100 -@@ -232,7 +232,7 @@ output_marker (a2ps_job * job, const cha - default: - *buf = '\0'; - ps_escape_char (job, cp[i], buf); -- output (jdiv, (char *) buf); -+ output (jdiv, "%s", (char *) buf); - break; - } - } -diff -up a2ps-4.14/src/parsessh.y.format-security a2ps-4.14/src/parsessh.y ---- a2ps-4.14/src/parsessh.y.format-security 2014-04-03 18:25:56.011259069 +0100 -+++ a2ps-4.14/src/parsessh.y 2014-04-03 18:26:04.725297585 +0100 -@@ -740,7 +740,7 @@ exception_def_opt: - void - yyerror (const char *msg) - { -- error_at_line (1, 0, sshfilename, sshlineno, msg); -+ error_at_line (1, 0, sshfilename, sshlineno, "%s", msg); - } - - /* diff --git a/a2ps-forward-null.patch b/a2ps-forward-null.patch index 792f39d..6aa308e 100644 --- a/a2ps-forward-null.patch +++ b/a2ps-forward-null.patch @@ -1,7 +1,7 @@ -diff -up a2ps-4.14/lib/pathwalk.c.forward-null a2ps-4.14/lib/pathwalk.c ---- a2ps-4.14/lib/pathwalk.c.forward-null 2011-08-10 16:06:53.185942197 +0100 -+++ a2ps-4.14/lib/pathwalk.c 2011-08-10 16:08:36.831030924 +0100 -@@ -348,12 +348,12 @@ xpw_find_included_file (char * const *pa +diff -up a2ps-4.15.5/liba2ps/pathwalk.c.forward-null a2ps-4.15.5/liba2ps/pathwalk.c +--- a2ps-4.15.5/liba2ps/pathwalk.c.forward-null 2023-07-25 18:17:35.906486748 +0200 ++++ a2ps-4.15.5/liba2ps/pathwalk.c 2023-07-25 18:18:16.767767587 +0200 +@@ -335,12 +335,12 @@ xpw_find_included_file (char * const *pa /* Relative. Give its root. */ dir = dir_name (including_file); @@ -14,6 +14,6 @@ diff -up a2ps-4.14/lib/pathwalk.c.forward-null a2ps-4.14/lib/pathwalk.c - name, suffix ? suffix : ""); + sprintf (res, "%s%c%s%s", dir ? dir : "", DIRECTORY_SEPARATOR, + dir ? name : name + 1, suffix ? suffix : ""); - XFREE (dir); if (stat (res, &statbuf) == 0) return xstrdup (res); + diff --git a/a2ps-lm.patch b/a2ps-lm.patch deleted file mode 100644 index b4d5908..0000000 --- a/a2ps-lm.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -up a2ps-4.14/lib/Makefile.am.lm a2ps-4.14/lib/Makefile.am ---- a2ps-4.14/lib/Makefile.am.lm 2007-12-29 01:38:03.000000000 +0000 -+++ a2ps-4.14/lib/Makefile.am 2012-04-04 09:25:00.709845857 +0100 -@@ -32,7 +32,7 @@ YFLAGS = -dtv - GPERFFLAGS = -t -D -L ANSI-C - BUILT_SOURCES = parseppd.c parseppd.h liba2ps.h confg.c - --liba2ps_la_LIBADD = @LTALLOCA@ @LTLIBOBJS@ -+liba2ps_la_LIBADD = @LTALLOCA@ @LTLIBOBJS@ -lm - liba2ps_la_LDFLAGS = -version-info @LIBVERSION@ - - liba2psheaders = encoding.h media.h jobs.h output.h \ -diff -up a2ps-4.14/lib/Makefile.in.lm a2ps-4.14/lib/Makefile.in ---- a2ps-4.14/lib/Makefile.in.lm 2012-04-04 09:25:25.091842586 +0100 -+++ a2ps-4.14/lib/Makefile.in 2012-04-04 09:25:32.889841559 +0100 -@@ -322,7 +322,7 @@ INCLUDES = -I$(top_builddir) -I$(top_bui - # Use a struct, handle duplicates, produce ANSI-C - GPERFFLAGS = -t -D -L ANSI-C - BUILT_SOURCES = parseppd.c parseppd.h liba2ps.h confg.c --liba2ps_la_LIBADD = @LTALLOCA@ @LTLIBOBJS@ -+liba2ps_la_LIBADD = @LTALLOCA@ @LTLIBOBJS@ -lm - liba2ps_la_LDFLAGS = -version-info @LIBVERSION@ - liba2psheaders = encoding.h media.h jobs.h output.h \ - routines.h psgen.h prolog.h faces.h confg.h useropt.h \ -diff -up a2ps-4.14/Makefile.in.lm a2ps-4.14/Makefile.in diff --git a/a2ps-mb.patch b/a2ps-mb.patch index daa4ea3..b331f52 100644 --- a/a2ps-mb.patch +++ b/a2ps-mb.patch @@ -1,24 +1,14 @@ -diff -up a2ps-4.14/lib/psgen.c.mb a2ps-4.14/lib/psgen.c ---- a2ps-4.14/lib/psgen.c.mb 2008-09-24 15:29:30.000000000 +0100 -+++ a2ps-4.14/lib/psgen.c 2008-09-24 15:29:30.000000000 +0100 -@@ -96,7 +96,8 @@ ps_escape_char (a2ps_job * job, uchar c, - /* Printable, but not 7bit clean caracters */ - if (encoding_char_exists (job->encoding, job->status->face, c) - && ((0177 < c) || (c < 040))) { -- sprintf ((char *)res, "%s\\%o", res, c); -+ char *p = res + strlen (res); -+ sprintf (p, "\\%o", c); - return 1; - } - -@@ -893,8 +894,8 @@ ps_print_char (a2ps_job * job, int c, en - if (c > 127 && encoding_get_composite_flag (job->encoding) && - job->status->face != Symbol) { - if (mb_flag) { -- nchars = ps_escape_char (job, mb_flag, buf) + -- ps_escape_char (job, c, buf); -+ nchars = ps_escape_char (job, mb_flag, buf); -+ nchars += ps_escape_char (job, c, buf); - job->status->wx += char_composite_WX(job, c); - job->status->column += nchars; - if (line_full) { +diff -up a2ps-4.15.5/liba2ps/psgen.c.mb a2ps-4.15.5/liba2ps/psgen.c +--- a2ps-4.15.5/liba2ps/psgen.c.mb 2023-07-25 18:01:44.062963119 +0200 ++++ a2ps-4.15.5/liba2ps/psgen.c 2023-07-25 18:03:37.883726559 +0200 +@@ -854,8 +854,8 @@ ps_print_char (a2ps_job * job, char c, e + if ((unsigned char) c > 127 && encoding_get_composite_flag (job->encoding) && + job->status->face != Symbol) { + if (mb_flag) { +- nchars = ps_escape_char (job, mb_flag, buf) + +- ps_escape_char (job, (unsigned char) c, buf); ++ nchars = ps_escape_char (job, mb_flag, buf); ++ nchars += ps_escape_char (job, (unsigned char)c, buf); + job->status->wx += char_composite_WX(job); + job->status->column += nchars; + if (line_full) { diff --git a/a2ps-overrun-dynamic.patch b/a2ps-overrun-dynamic.patch index c50de44..d58bed3 100644 --- a/a2ps-overrun-dynamic.patch +++ b/a2ps-overrun-dynamic.patch @@ -1,7 +1,7 @@ -diff -up a2ps-4.14/lib/darray.c.overrun-dynamic a2ps-4.14/lib/darray.c ---- a2ps-4.14/lib/darray.c.overrun-dynamic 2011-08-10 16:16:49.607014904 +0100 -+++ a2ps-4.14/lib/darray.c 2011-08-10 16:17:10.965625881 +0100 -@@ -430,7 +430,7 @@ da_qsort (struct darray * arr) +diff -up a2ps-4.15.5/liba2ps/darray.c.overrun-dynamic a2ps-4.15.5/liba2ps/darray.c +--- a2ps-4.15.5/liba2ps/darray.c.overrun-dynamic 2022-06-11 22:16:14.000000000 +0200 ++++ a2ps-4.15.5/liba2ps/darray.c 2023-07-25 18:23:24.509882456 +0200 +@@ -383,7 +383,7 @@ da_qsort (struct darray * arr) jstack += 2; /* Push pointers to larger subarry on stack. * Process smaller subarrays now */ @@ -10,7 +10,7 @@ diff -up a2ps-4.14/lib/darray.c.overrun-dynamic a2ps-4.14/lib/darray.c error (da_exit_error, 0, "da_qsort: QSORT_STACK too small (%d)", QSORT_STACK); if (ir - i + 1 >= j - l) { -@@ -509,7 +509,7 @@ da_qsort_with_arg (struct darray * arr, +@@ -461,7 +461,7 @@ da_qsort_with_arg (struct darray * arr, jstack += 2; /* Push pointers to larger subarry on stack. * Process smaller subarrays now */ diff --git a/a2ps-overrun-static.patch b/a2ps-overrun-static.patch index f8e592b..e3585fe 100644 --- a/a2ps-overrun-static.patch +++ b/a2ps-overrun-static.patch @@ -1,6 +1,6 @@ -diff -up a2ps-4.14/lib/metaseq.c.overrun-static a2ps-4.14/lib/metaseq.c ---- a2ps-4.14/lib/metaseq.c.overrun-static 2011-08-10 16:18:44.924915695 +0100 -+++ a2ps-4.14/lib/metaseq.c 2011-08-10 16:19:04.739555258 +0100 +diff -up a2ps-4.14/liba2ps/metaseq.c.overrun-static a2ps-4.14/liba2ps/metaseq.c +--- a2ps-4.14/liba2ps/metaseq.c.overrun-static 2011-08-10 16:18:44.924915695 +0100 ++++ a2ps-4.14/liba2ps/metaseq.c 2011-08-10 16:19:04.739555258 +0100 @@ -334,7 +334,7 @@ grow_user_string_obstack (struct obstack { /* `%D{}' format run date with strftime() */ diff --git a/a2ps-resource-leak.patch b/a2ps-resource-leak.patch index d84d0cd..ab1830c 100644 --- a/a2ps-resource-leak.patch +++ b/a2ps-resource-leak.patch @@ -1,49 +1,45 @@ -diff -up a2ps-4.14/lib/encoding.c.resource-leak a2ps-4.14/lib/encoding.c ---- a2ps-4.14/lib/encoding.c.resource-leak 2011-08-10 16:02:26.244905923 +0100 -+++ a2ps-4.14/lib/encoding.c 2011-08-10 16:41:39.578353192 +0100 -@@ -554,7 +554,7 @@ encoding_resolve_font_substitute (struct +diff -up a2ps-4.15.5/liba2ps/encoding.c.resource-leak a2ps-4.15.5/liba2ps/encoding.c +--- a2ps-4.15.5/liba2ps/encoding.c.resource-leak 2023-07-25 18:30:14.422699484 +0200 ++++ a2ps-4.15.5/liba2ps/encoding.c 2023-07-25 18:34:22.033401969 +0200 +@@ -479,7 +479,7 @@ encoding_resolve_font_substitute (struct if (!res) { if (encoding->default_font) -- res = encoding->default_font; -+ res = xstrdup (encoding->default_font); +- res = encoding->default_font; ++ res = xstrdup (encoding->default_font); else - error (1, 0, "Cannot find font %s, nor any substitute", - font_name); -@@ -976,6 +976,7 @@ dump_encoding_setup (FILE * stream, - font_names [i]); + error (1, 0, "cannot find font %s, nor any substitute", + last_font_name); +@@ -895,6 +895,7 @@ dump_encoding_setup (FILE * stream, + font_names [i]); if (!font_is_to_reencode (job, real_font_name)) - da_remove_at (encoding->font_names_used, i, (da_map_func_t) free); + da_remove_at (encoding->font_names_used, i); + free (real_font_name); } /* The number of fonts that, finally, have to be encoded -@@ -992,10 +993,16 @@ dump_encoding_setup (FILE * stream, - fprintf (stream, "/%sdict %d dict begin\n", encoding->key, - (encoding->composite_flag == true)? nb+nb+ns:nb+ns); +@@ -911,10 +912,15 @@ dump_encoding_setup (FILE * stream, + fprintf (stream, "/%sdict %zu dict begin\n", encoding->key, + (encoding->composite_flag == true)? nb+nb+ns:nb+ns); for (i = 0 ; i < nb ; i++) -- fprintf (stream, " /f%s %sEncoding /%s reencode_font\n", -- font_names [i], -- encoding->name, -- encoding_resolve_font_substitute (job, encoding, font_names [i])); -+ { -+ char *real_font = encoding_resolve_font_substitute (job, encoding, -+ font_names [i]); -+ fprintf (stream, " /f%s %sEncoding /%s reencode_font\n", -+ font_names [i], -+ encoding->name, -+ real_font); -+ free (real_font); -+ } -+ ++ { ++ char *real_font = encoding_resolve_font_substitute (job, encoding, ++ font_names [i]); + fprintf (stream, " /f%s %sEncoding /%s reencode_font\n", + font_names [i], + encoding->name, +- encoding_resolve_font_substitute (job, encoding, font_names [i])); ++ real_font); ++ free (real_font); ++ } /* Slant font setting */ for (i = 0 ; encoding->slantfont[i].name ; i++ ) -@@ -1166,6 +1173,7 @@ encoding_build_faces_wx (a2ps_job * job, - encoding->vector, - encoding->faces_wx [face]); +@@ -1075,6 +1081,7 @@ encoding_build_faces_wx (a2ps_job * job, + encoding->vector, + encoding->faces_wx [face]); + free (true_font_name); if (encoding->composite_flag) - { - encoding->composite_raito[i] = + { + encoding->composite_ratio[i] = diff --git a/a2ps-texi-comments.patch b/a2ps-texi-comments.patch deleted file mode 100644 index 8ccf6f5..0000000 --- a/a2ps-texi-comments.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a2ps-4.14/doc/a2ps.texi.texifail 2013-03-26 12:50:06.624762058 +0000 -+++ a2ps-4.14/doc/a2ps.texi 2013-03-26 14:44:10.204929702 +0000 -@@ -22,12 +22,12 @@ - @c `a2ps'. Avoid those quotes. - @iftex - @macro pack --@code{@value{PACKAGE}}@c -+@code{@value{PACKAGE}} - @end macro - @end iftex - @ifnottex - @macro pack --@value{PACKAGE}@c -+@value{PACKAGE} - @end macro - @end ifnottex - diff --git a/a2ps-wdiff.patch b/a2ps-wdiff.patch index 7315336..dab05a6 100644 --- a/a2ps-wdiff.patch +++ b/a2ps-wdiff.patch @@ -1,23 +1,3 @@ ---- a2ps-4.13/contrib/pdiff.m4.wdiff 2005-03-23 15:43:47.000000000 +0000 -+++ a2ps-4.13/contrib/pdiff.m4 2005-03-23 15:46:13.000000000 +0000 -@@ -15,7 +15,7 @@ - a2ps=${A2PS:-a2ps} - a2ps_options= - debug= --diff_on=words -+diff_on=lines - diff_prog=${DIFF:-diff} - diff_options='-u' - file= -@@ -40,8 +40,6 @@ - -h, --help display this help and exit - -v, --version display version information and exit - -q, --quiet don't print informational messages -- -l, --lines search for line differences (\`diff') -- -w, --words search for word differences (\`wdiff') - -o, --output=FILE save the output in FILE - - Options for a2ps are given after \`--', for instance --- a2ps-4.13/contrib/pdiff.in.wdiff 2005-03-23 15:43:50.000000000 +0000 +++ a2ps-4.13/contrib/pdiff.in 2005-03-23 15:46:16.000000000 +0000 @@ -29,7 +29,7 @@ diff --git a/a2ps.spec b/a2ps.spec index 6fa3385..727bba9 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,95 +1,147 @@ Summary: Converts text and other types of files to PostScript Name: a2ps -Version: 4.14 -Release: 53%{?dist} -License: GPLv3+ +Version: 4.15.5 +Release: 1%{?dist} +# several files in afm/, lib/, liba2ps/, src/ - GPL3+ +# gnulib files in lib/ - LGPL-2.1+ +# several files in lib/ - LGPL-3+ +# Bison related files in src/ and liba2ps/ - GPL-3.0-or-later WITH Bison-exception-2.2 +# another gnulib files in /lib - LGPL2+ +License: GPL-3.0-or-later AND LGPL-2.1-or-later AND LGPL-3.0-or-later AND GPL-3.0-or-later WITH Bison-exception-2.2 AND LGPL-2.0-or-later Url: http://www.gnu.org/software/a2ps/ Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz +# the latest upstream version does not have COPYING file... +# reported as https://savannah.gnu.org/bugs/index.php?64470 +# copied the GPL3+ COPYING file from the previous versions +Source2: COPYING -Patch0: a2ps-4.13-conf.patch -Patch1: a2ps-4.13-etc.patch -Patch2: a2ps-lm.patch -Patch3: a2ps-4.13-security.patch -Patch4: a2ps-4.13-glibcpaper.patch -Patch5: a2ps-texi-comments.patch -Patch6: a2ps-aarch64.patch -Patch7: a2ps-sort.patch -Patch8: a2ps-iso5-minus.patch -Patch9: a2ps-perl.patch -# EUC-JP support -Patch10: a2ps-4.13-eucjp.patch -Patch11: a2ps-4.13-autoenc.patch -Patch12: a2ps-4.13b-attr.patch -Patch13: a2ps-4.13b-numeric.patch -Patch14: a2ps-4.13b-encoding.patch -Patch15: a2ps-4.13b-tilde.patch -Patch16: a2ps-bad-free.patch -Patch17: a2ps-4.13-euckr.patch -Patch18: a2ps-4.13-gnusource.patch -Patch19: a2ps-format-security.patch -Patch20: a2ps-4.13-hebrew.patch -Patch26: a2ps-make-fonts-map.patch -Patch28: a2ps-wdiff.patch -Patch29: a2ps-U.patch -Patch31: a2ps-mb.patch -Patch34: a2ps-external-libtool.patch -Patch35: a2ps-4.14-texinfo-nodes.patch -Patch36: a2ps-forward-null.patch -Patch37: a2ps-overrun-dynamic.patch -Patch38: a2ps-overrun-static.patch -Patch39: a2ps-resource-leak.patch -Patch40: a2ps-CVE-2014-0466.patch -Patch41: a2ps-define-texinfo-enc.patch +Patch01: a2ps-4.13-conf.patch +Patch02: a2ps-4.13-etc.patch +Patch03: a2ps-4.13-glibcpaper.patch +Patch04: a2ps-sort.patch +Patch05: a2ps-iso5-minus.patch +Patch06: a2ps-perl.patch +Patch07: a2ps-4.13b-numeric.patch +Patch08: a2ps-4.13b-encoding.patch +Patch09: a2ps-4.13b-tilde.patch +Patch10: a2ps-4.13-euckr.patch +Patch11: a2ps-4.13-hebrew.patch +Patch12: a2ps-make-fonts-map.patch +Patch13: a2ps-wdiff.patch +Patch14: a2ps-U.patch +Patch15: a2ps-mb.patch +Patch16: a2ps-4.14-texinfo-nodes.patch +Patch17: a2ps-forward-null.patch +Patch18: a2ps-overrun-dynamic.patch +Patch19: a2ps-overrun-static.patch +Patch20: a2ps-resource-leak.patch +# most conversion rules are guarded by configure macros, so they +# are not enabled if the specific binary is not present in buildroot +# - thus to get full set of available rules there are lot of BuildRequires, +# but most binaries are only as Recommends during runtime to provide a way +# how to slim down the installation if needed. + +# parser for PPDs and SSH (style sheet) files BuildRequires: bison -BuildRequires: cups +# bzip2 is checked during build as well +BuildRequires: bzip2 +# for emacs support - configure scripts looks for emacs command during build BuildRequires: emacs +# for lexical scanning of postscript, ppds and style sheet (.ssh) files BuildRequires: flex -# gcc no longer in buildroot by default +# written in C - gcc no longer in buildroot by default BuildRequires: gcc +# uses BDW Garbage Collector +BuildRequires: gc-devel +# for translations BuildRequires: gettext +# for ps2pdf - PDF output, pdf2ps - PDF delegation +BuildRequires: ghostscript +# bundles gnulib source library +BuildRequires: gnulib-devel +# used for generating hash function for configuration options BuildRequires: gperf -BuildRequires: groff +# Perl parts of groff text processor - ROFF delegation for man pages BuildRequires: groff-perl -# instead of gv, xdg-open should certainly be used -#BuildRequires: gv +# for compressed delegations +BuildRequires: gzip +# generating manpages +BuildRequires: help2man +# for paper configs +BuildRequires: libpaper-devel +# used for building BuildRequires: libtool # make no longer in buildroot BuildRequires: make +# for getting version of bundled gnulib +BuildRequires: perl-interpreter +# tools for manipulating with postscript docs BuildRequires: psutils +# makeinfo for info documentation BuildRequires: texinfo +# for DVI files support, it's DVI driver for tex BuildRequires: texlive-dvips +# latex for LaTeX file support BuildRequires: texlive-latex +# tex for Tex File support +BuildRequires: texlive-tex %if 0%{?rhel} <= 8 || 0%{?fedora} +# for convert binary - used for converting images to postscript BuildRequires: ImageMagick +# converting html files to postscript BuildRequires: html2ps %endif -Requires: bzip2 +# bundles gnulib of certain version +Provides: bundled(gnulib)%(perl -ne 'if($. == 1 and /\A(\d+)-(\d+)-(\d+)/) {print qq{ = $1$2$3}}' %{_defaultdocdir}/gnulib/ChangeLog 2>/dev/null) + +# used during runtime for delegation +Recommends: bzip2 +# Perl parts of groff text processor - ROFF delegation for man pages +Recommends: groff-perl +# for compressed delegations +Recommends: gzip +# makeinfo for info documentation +Recommends: texinfo +# for DVI files support, it's DVI driver for tex +Recommends: texlive-dvips +# latex for LaTeX file support +Recommends: texlive-latex +# tex for Tex File support +Recommends: texinfo-tex + +# a2ps-lpr-wrapper uses lp/lpr +Requires: cups-client # for hebrew support, path set. # culmus-fonts # And certainly other font sets for other languages may be needed -Requires: emacs-filesystem >= %{_emacs_version} +Requires: emacs-filesystem Requires: file -Requires: groff-perl -Requires: gzip +# for ps2pdf - PDF output, pdf2ps - PDF delegation +Requires: ghostscript +# postscript delegation Requires: psutils Requires: psutils-perl +# set of recommended fonts, looks to be for postscript as well Requires: texlive-collection-fontsrecommended -Requires: texlive-dvips -Requires: texlive-latex -Requires: texinfo-tex + Requires(post): coreutils %if 0%{?rhel} <= 8 || 0%{?fedora} +# image delegations Requires: ImageMagick -Requires: html2ps +# html delegations +Recommends: html2ps %endif +# for emacs support +Suggests: emacs + %description The a2ps filter converts text and other types of files to PostScript. A2ps has pretty-printing capabilities and includes support for a wide @@ -101,89 +153,42 @@ and medias. %setup -q -a 1 # use fedora postscript font paths -%patch0 -p1 -b .conf - +%patch -P 01 -p1 -b .conf # add /etc/a2ps in directories searched for config files -%patch1 -p1 -b .etc - -# Link to libm in liba2ps (bug #809673). -%patch2 -p1 -b .lm - -%patch3 -p1 -b .security -%patch4 -p1 -b .glibcpaper - -# Fix texi build failure (bug #927633). -%patch5 -p1 -b .texi-comments -%patch6 -p1 -b .aarch64 - -%patch7 -p1 -b .sort -%patch8 -p1 -b .iso5-minus -%patch9 -p1 -b .perl - -%patch10 -p1 -b .euc -%patch11 -p1 -b .ae -%patch12 -p1 -b .attr - +%patch -P 02 -p1 -b .etc +%patch -P 03 -p1 -b .glibcpaper +%patch -P 04 -p1 -b .sort +%patch -P 05 -p1 -b .iso5-minus +%patch -P 06 -p1 -b .perl # Use C locale's decimal point style (bug #53715). -%patch13 -p1 -b .numeric - +%patch -P 07 -p1 -b .numeric # Use locale to determine a sensible default encoding (bug #64584). -%patch14 -p1 -b .encoding - +%patch -P 08 -p1 -b .encoding # Fix koi8 tilde (bug #66393). -%patch15 -p1 -b .tilde - -# Avoid a bad free in the encoding handling logic (bug #954104). -%patch16 -p1 -b .bad-free - +%patch -P 09 -p1 -b .tilde # Add Korean resource file (bug #81421). -%patch17 -p1 -b .euckr - -# Prevent strsignal segfaulting (bug #104970). -%patch18 -p1 -b .gnusource - -# Prevent build failure with -Wformat-security (bug #1036979). -%patch19 -p1 -b .format-security - +%patch -P 10 -p1 -b .euckr # Hebrew support (bug #113191). -%patch20 -p1 -b .hebrew - -# Use external libtool (bug #225235). -%patch34 -p1 -b .external-libtool - +%patch -P 11 -p1 -b .hebrew # Fix problems in make_fonts_map script (bug #142299). Patch from # Michal Jaegermann. -%patch26 -p1 -b .make-fonts-map - +%patch -P 12 -p1 -b .make-fonts-map # Make pdiff default to not requiring wdiff (bug #68537). -%patch28 -p1 -b .wdiff - +%patch -P 13 -p1 -b .wdiff # Make pdiff use diff(1) properly (bug #156916). -%patch29 -p1 -b .U - +%patch -P 14 -p1 -b .U # Fixed multibyte handling (bug #212154). -%patch31 -p1 -b .mb - +%patch -P 15 -p1 -b .mb # Remove dots in node names, patch from Vitezslav Crhonek (Bug #445971) -%patch35 -p1 -b .nodes - +%patch -P 16 -p1 -b .nodes # Coverity fix (forward-null). -%patch36 -p1 -b .forward-null - +%patch -P 17 -p1 -b .forward-null # Coverity fix (overrun-dynamic). -%patch37 -p1 -b .overrun-dynamic - +%patch -P 18 -p1 -b .overrun-dynamic # Coverity fix (overrun-static). -%patch38 -p1 -b .overrun-static - +%patch -P 19 -p1 -b .overrun-static # Coverity fix (resource-leak). -%patch39 -p1 -b .resource-leak - -# Invoke gs with the -dSAFER option in fixps (CVE-2014-0466, bug #1082411). -%patch40 -p1 -b .CVE-2014-0466 - -# new texinfo needs to have documentencoding defined (#1788165) -%patch41 -p1 -b .define-texinfo-enc +%patch -P 20 -p1 -b .resource-leak for file in AUTHORS ChangeLog; do iconv -f latin1 -t UTF-8 < $file > $file.utf8 @@ -191,26 +196,18 @@ for file in AUTHORS ChangeLog; do mv $file.utf8 $file done +autoreconf -fi + mv doc/encoding.texi doc/encoding.texi.utf8 iconv -f KOI-8 -t UTF-8 doc/encoding.texi.utf8 -o doc/encoding.texi # Fix reference to a2ps binary (bug #112930). sed -i -e "s,/usr/local/bin,%{_bindir}," contrib/emacs/a2ps.el -chmod -x lib/basename.c lib/xmalloc.c - -# restore timestamps of patched files -touch -c -r configure.in.conf configure.in -touch -c -r config.h.in.euc config.h.in -touch -c -r configure.conf configure -touch -c -r src/Makefile.am.euc src/Makefile.am -touch -c -r etc/Makefile.am.etc etc/Makefile.am -#touch -c -r fonts/Makefile.in src/Makefile.in lib/Makefile.in -touch -c -r etc/Makefile.in.etc etc/Makefile.in - chmod 644 encoding/iso8.edf.hebrew chmod 644 encoding/euc-kr.edf.euckr + %build # preset the date in README.in to avoid the timestamp of the build time sed -e "s!@date@!`date -r NEWS`!" etc/README.in > etc/README.in.tmp @@ -237,6 +234,7 @@ find src lib -name '*.l' -exec touch {} \; make %{?_smp_mflags} + %install make DESTDIR=%{buildroot} install INSTALL='install -p' @@ -253,14 +251,19 @@ install -p -m 0644 *.pfb %{buildroot}%{_datadir}/a2ps/fonts popd popd -# Don't ship the library file or header (bug #203536). -rm %{buildroot}%{_libdir}/*.{so,a,la} -rm %{buildroot}%{_includedir}/* - rm -f %{buildroot}%{_infodir}/dir +mkdir -p %{buildroot}%{_defaultlicensedir}/%{name} +install -p -m 644 %{SOURCE2} %{buildroot}%{_defaultlicensedir}/%{name}/COPYING + +for lang in af be bg ca cs da de el eo es et eu fi fr ga gl hu it ja ka ko ms nb nl pl pt pt_BR ro ru rw sk sl sr sv tr uk vi zh_CN zh_TW +do + mv %{buildroot}/usr/share/locale/$lang/LC_MESSAGES/a2ps{-gnulib,}.mo +done + %find_lang %name + %post %{?ldconfig} (cd %{_datadir}/a2ps/afm; @@ -273,19 +276,26 @@ exit 0 %ldconfig_postun + %files -f %{name}.lang +%license COPYING +%doc AUTHORS ChangeLog NEWS README TODO THANKS %dir %{_sysconfdir}/a2ps %config %{_sysconfdir}/a2ps.cfg %config(noreplace) %{_sysconfdir}/a2ps-site.cfg -%doc AUTHORS ChangeLog COPYING NEWS README TODO THANKS -%{_bindir}/* -%{_infodir}/a2ps.info* -%{_infodir}/ogonkify.info* -%{_infodir}/regex.info* -%{_mandir}/*/* +%{_bindir}/a2ps +%{_bindir}/a2ps-lpr-wrapper +%{_bindir}/card +%{_bindir}/composeglyphs +%{_bindir}/fixps +%{_bindir}/lp2 +%{_bindir}/ogonkify +%{_bindir}/pdiff +%dir %{_datadir}/a2ps +%dir %{_datadir}/a2ps/afm +%{_datadir}/a2ps/afm/*.afm # automatically regenerated at install and update time %verify(not size mtime md5) %{_datadir}/a2ps/afm/fonts.map -%{_datadir}/a2ps/afm/*.afm %{_datadir}/a2ps/afm/make_fonts_map.sh %{_datadir}/a2ps/README %{_datadir}/a2ps/encoding @@ -294,12 +304,25 @@ exit 0 %{_datadir}/a2ps/ps %{_datadir}/a2ps/sheets %{_datadir}/ogonkify/ -%dir %{_datadir}/a2ps/afm -%dir %{_datadir}/a2ps -%{_libdir}/*.so* %{_emacs_sitelispdir}/%{name} +%{_infodir}/a2ps.info* +%{_infodir}/ogonkify.info* +%{_infodir}/regex.info* +%{_mandir}/man1/a2ps-lpr-wrapper.1.gz +%{_mandir}/man1/a2ps.1.gz +%{_mandir}/man1/card.1.gz +%{_mandir}/man1/fixps.1.gz +%{_mandir}/man1/lp2.1.gz +%{_mandir}/man1/ogonkify.1.gz +%{_mandir}/man1/pdiff.1.gz %changelog +* Thu Jul 27 2023 Zdenek Dohnal - 4.15.5-1 +- 2225694 - a2ps: FTBFS in Fedora rawhide/f39 +- 2189133 - a2ps: FTBFS in rawhide, 64-bit and C99 compatibility issues +- 2176254 - a2ps-4.15.5 is available +- SPDX migration done + * Wed Jul 19 2023 Fedora Release Engineering - 4.14-53 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index e950ddb..8d04650 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -781ac3d9b213fa3e1ed0d79f986dc8c7 a2ps-4.14.tar.gz -fee1456d0e6e94af4fc5b5a1bb9687b7 i18n-fonts-0.1.tar.gz +SHA512 (a2ps-4.15.5.tar.gz) = e9953659139a46aed46e190d5485382a9e396ae8bbbe59edb78ab3110e7839a764e3cb6ff94f5f36e6e91fcaf85f6352376e0b4a0e0141f24e098fa334b5015e