diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 3d0355e..0000000 --- a/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -a2ps-4.14.tar.gz -i18n-fonts-0.1.tar.gz -/a2ps-4.15.5.tar.gz -/a2ps-4.15.6.tar.gz -/a2ps-4.15.7.tar.gz -/a2ps-4.15.8.tar.gz diff --git a/COPYING b/COPYING deleted file mode 100644 index 4432540..0000000 --- a/COPYING +++ /dev/null @@ -1,676 +0,0 @@ - - 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 new file mode 100644 index 0000000..5e3e08f --- /dev/null +++ b/a2ps-4.13-autoenc.patch @@ -0,0 +1,40 @@ +--- a2ps-4.13.rh/src/main.c Fri Feb 23 17:39:02 2001 ++++ a2ps-4.13.euc/src/main.c Fri Feb 23 23:07:40 2001 +@@ -31,6 +31,8 @@ + /* */ + /************************************************************************/ + #include ++#include ++#include + + #include "a2ps.h" + #include "argmatch.h" +@@ -925,6 +927,7 @@ + main (int argc, char *argv[]) + { + int argn; ++ char *locale; + + /* Architecture specific initialization. */ + #ifdef __EMX__ +@@ -947,6 +950,9 @@ + setlocale (LC_CTYPE, ""); + setlocale (LC_PAPER, ""); + ++ locale = setlocale (LC_ALL, ""); ++ /* fprintf(stderr, "locale : %s\n", locale); */ ++ + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); + +@@ -1013,6 +1019,10 @@ + yet read sheets. */ + sheets_map = sheets_map_new (); + style_sheets = new_style_sheets (); ++ ++ /* Process special case: Japanese Document */ ++ if (! strncmp (locale, "ja", 2) ) ++ job->requested_encoding_name = xstrdup ("euc-jp"); + + /* Process the command line options. */ + argn = a2ps_handle_options (job, argc, argv); diff --git a/a2ps-4.13-bison.patch b/a2ps-4.13-bison.patch new file mode 100644 index 0000000..fcc89a6 --- /dev/null +++ b/a2ps-4.13-bison.patch @@ -0,0 +1,29 @@ +--- a2ps-4.13/src/parsessh.y.bison 2004-01-06 10:27:42.352903527 +0000 ++++ a2ps-4.13/src/parsessh.y 2004-01-06 10:28:14.328105348 +0000 +@@ -242,7 +242,7 @@ + /* Dealing with the inessential informations */ + /************************************************************************/ + requirement : +- tREQUIRES tA2PS tSTRING { $$ = $3 ; } ; ++ tREQUIRES tA2PS tSTRING { $$ = $3 ; } + | tREQUIRES tA2PS tVERSION tSTRING { $$ = $4 ; } ; + + documentation : +@@ -267,7 +267,7 @@ + authors : tWRITTEN tBY tSTRING { $$ = $3 ; }; + + version : +- tVERSION tIS tSTRING { $$ = $3 ; }; ++ tVERSION tIS tSTRING { $$ = $3 ; } + | tVERSION tSTRING { $$ = $2 ; }; + + /************************************************************************/ +@@ -717,7 +717,7 @@ + /* Only one */ + $$ = words_new ("Closing: Strings", "Closing: Regexps", 2, 2); + words_add_regex ($$, $1); +- }; ++ } + | tCLOSERS operators_def tCLOSERS + { + /* Several, comma separated, between () */ diff --git a/a2ps-4.13-conf.patch b/a2ps-4.13-conf.patch index 060aec6..0613655 100644 --- a/a2ps-4.13-conf.patch +++ b/a2ps-4.13-conf.patch @@ -1,7 +1,24 @@ -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 +--- a2ps-4.13/configure.config Wed Feb 9 09:32:31 2000 ++++ a2ps-4.13/configure Thu Apr 27 19:56:05 2000 +@@ -8433,9 +8433,13 @@ + echo "configure:8434: checking for PostScript fonts path" 1>&5 + # Try to find some PostScript fonts. + # Find out if ghostscript is installed ++# for ac_dir in /usr/local/ghostscript/fonts \ ++# /usr/local/share/ghostscript/fonts; + ac_psfont_path= +-for ac_dir in /usr/local/ghostscript/fonts \ +- /usr/local/share/ghostscript/fonts; ++for ac_dir in /usr/share/fonts/default/Type1 \ ++ /usr/share/fonts/default/ghostscript \ ++ /usr/share/fonts/afms/adobe \ ++ /usr/share/X11/fonts/Type1 ; + do + if test "cd $ac_dir 2>/dev/null && echo *.afm"; then + ac_psfont_path="$ac_psfont_path:$ac_dir"; +--- a2ps-4.13/configure.in.conf 2000-02-24 17:53:03.000000000 +0000 ++++ a2ps-4.13/configure.in 2004-12-09 16:25:14.984961138 +0000 +@@ -197,8 +197,10 @@ # Try to find some PostScript fonts. # Find out if ghostscript is installed ac_psfont_path= @@ -9,24 +26,8 @@ diff -up a2ps-4.15/configure.ac.conf a2ps-4.15/configure.ac - /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= --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 ; ++ /usr/share/fonts/afms/adobe \ ++ /usr/share/X11/fonts/Type1 ; do if test "cd $ac_dir 2>/dev/null && echo *.afm"; then ac_psfont_path="$ac_psfont_path:$ac_dir"; diff --git a/a2ps-4.13-etc.patch b/a2ps-4.13-etc.patch index 899c522..1aaee86 100644 --- a/a2ps-4.13-etc.patch +++ b/a2ps-4.13-etc.patch @@ -1,27 +1,15 @@ -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 -+AppendLibraryPath: @apppath@ +--- a2ps-4.13/etc/Makefile.in.etc Wed Feb 9 09:32:55 2000 ++++ a2ps-4.13/etc/Makefile.in Thu Apr 27 22:45:03 2000 +@@ -132,7 +132,7 @@ - ################################################################# -diff -up a2ps-4.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 + ogonkifydir = $(datadir)/ogonkify -libpath = $(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) +libpath = $(sysconfdir)/$(PACKAGE):$(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) pkgdata_DATA = README -@@ -55,7 +55,9 @@ DISTCLEANFILES = a2ps.cfg README +@@ -297,7 +297,9 @@ # Building the correct a2ps.cfg a2ps.cfg: a2ps_cfg Makefile @@ -30,6 +18,37 @@ diff -up a2ps-4.15/etc/Makefile.am.etc a2ps-4.15/etc/Makefile.am + -e "s!@apppath@!$(PSFONT_PATH)!" \ + a2ps_cfg > a2ps.cfg - # Building a timestamp to know the version. + # Building a time stamp to know the version. README: README.in Makefile -diff -up a2ps-4.15/etc/Makefile.in.etc a2ps-4.15/etc/Makefile.in +--- a2ps-4.13/etc/Makefile.am.etc 1999-11-30 09:20:09.000000000 +0100 ++++ a2ps-4.13/etc/Makefile.am 2007-03-09 11:05:43.000000000 +0100 +@@ -2,7 +2,7 @@ + ## Makefile for a2ps' etc library directory. + + ogonkifydir=$(datadir)/ogonkify +-libpath = $(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) ++libpath = $(sysconfdir)/$(PACKAGE):$(pkgdatadir)/sheets:$(pkgdatadir)/ps:$(pkgdatadir)/encoding:$(pkgdatadir)/afm:$(ogonkifydir)/afm:$(pkgdatadir)/ppd:$(pkgdatadir)/fonts:$(ogonkifydir)/fonts:$(pkgdatadir) + + pkgdata_DATA = README + +@@ -40,7 +40,9 @@ + + # Building the correct a2ps.cfg + a2ps.cfg: a2ps_cfg Makefile +- sed "s!@libpath@!$(libpath)!" a2ps_cfg > a2ps.cfg ++ sed -e "s!@libpath@!$(libpath)!" \ ++ -e "s!@apppath@!$(PSFONT_PATH)!" \ ++ a2ps_cfg > a2ps.cfg + + # Building a time stamp to know the version. + README: README.in Makefile +--- a2ps-4.13/etc/a2ps_cfg.in.etc Tue Feb 8 03:24:03 2000 ++++ a2ps-4.13/etc/a2ps_cfg.in Thu Apr 27 20:49:04 2000 +@@ -73,6 +73,7 @@ + # It may be useful to extend it so that a2ps can see some + # TeX or X11 resources: it likes AFM files and PF[AB] files. + #AppendLibraryPath: foo ++AppendLibraryPath: @apppath@ + + + ################################################################# diff --git a/a2ps-4.13-euckr.patch b/a2ps-4.13-euckr.patch index 40df372..639ab77 100644 --- a/a2ps-4.13-euckr.patch +++ b/a2ps-4.13-euckr.patch @@ -1,22 +1,27 @@ -diff -up a2ps-4.14/encoding/encoding.map.euckr a2ps-4.14/encoding/encoding.map ---- a2ps-4.14/encoding/encoding.map.euckr 2008-04-27 01:46:59.000000000 +0200 -+++ a2ps-4.14/encoding/encoding.map 2008-04-27 01:46:59.000000000 +0200 -@@ -100,6 +100,12 @@ japanese euc-jp - ja euc-jp - jp euc-jp +--- a2ps-4.13/encoding/Makefile.am.orig 2003-01-09 17:45:41.000000000 +0900 ++++ a2ps-4.13/encoding/Makefile.am 2003-01-09 17:45:50.000000000 +0900 +@@ -16,7 +16,7 @@ + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ + iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ +-iso15.edf koi8.edf euc-jp.edf ++iso15.edf koi8.edf euc-jp.edf euc-kr.edf -+euc-kr euc-kr -+euc-kr euc-kr -+korean euc-kr -+ko euc-kr -+kr euc-kr -+ - ######################################################################## - # Some architectures specific char sets - ######################################################################## -diff -up /dev/null a2ps-4.14/encoding/euc-kr.edf ---- /dev/null 2008-04-26 20:48:40.298012400 +0200 -+++ a2ps-4.14/encoding/euc-kr.edf 2008-04-27 01:46:59.000000000 +0200 + if EXTENSIONS + encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) +--- a2ps-4.13/encoding/Makefile.in.orig 2003-01-09 17:46:09.000000000 +0900 ++++ a2ps-4.13/encoding/Makefile.in 2003-01-09 17:46:14.000000000 +0900 +@@ -141,7 +141,7 @@ + minor_encodings = \ + ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ + iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ +-iso15.edf koi8.edf euc-jp.edf ++iso15.edf koi8.edf euc-jp.edf euc-kr.edf + + @EXTENSIONS_TRUE@encodings_DATA = @EXTENSIONS_TRUE@encoding.map $(major_encodings) $(minor_encodings) + @EXTENSIONS_FALSE@encodings_DATA = @EXTENSIONS_FALSE@encoding.map $(major_encodings) +--- a2ps-4.13/encoding/euc-kr.edf.orig 2003-01-09 17:46:22.000000000 +0900 ++++ a2ps-4.13/encoding/euc-kr.edf 2003-01-09 17:47:34.000000000 +0900 @@ -0,0 +1,104 @@ +# Description of the EUC-KR encoding +# Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana @@ -122,27 +127,18 @@ diff -up /dev/null a2ps-4.14/encoding/euc-kr.edf +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.euckr a2ps-4.14/encoding/Makefile.am ---- a2ps-4.14/encoding/Makefile.am.euckr 2008-04-27 01:46:59.000000000 +0200 -+++ a2ps-4.14/encoding/Makefile.am 2008-04-27 01:47:58.000000000 +0200 -@@ -16,7 +16,7 @@ major_encodings = ascii.edf iso1.edf - minor_encodings = \ - ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ - iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf -+iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf +--- a2ps-4.13/encoding/encoding.map.orig 2003-01-09 17:46:50.000000000 +0900 ++++ a2ps-4.13/encoding/encoding.map 2003-01-09 17:46:57.000000000 +0900 +@@ -100,6 +100,12 @@ + ja euc-jp + jp euc-jp - if EXTENSIONS - encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) -diff -up a2ps-4.14/encoding/Makefile.in.euckr a2ps-4.14/encoding/Makefile.in ---- a2ps-4.14/encoding/Makefile.in.euckr 2008-04-27 01:46:59.000000000 +0200 -+++ a2ps-4.14/encoding/Makefile.in 2008-04-27 01:48:09.000000000 +0200 -@@ -270,7 +270,7 @@ major_encodings = ascii.edf iso1.edf - minor_encodings = \ - ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ - iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ --iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf -+iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf - - @EXTENSIONS_FALSE@encodings_DATA = encoding.map $(major_encodings) - @EXTENSIONS_TRUE@encodings_DATA = encoding.map $(major_encodings) $(minor_encodings) ++euc-kr euc-kr ++euc-kr euc-kr ++korean euc-kr ++ko euc-kr ++kr euc-kr ++ + ######################################################################## + # Some architectures specific char sets + ######################################################################## diff --git a/a2ps-4.13-flex.patch b/a2ps-4.13-flex.patch new file mode 100644 index 0000000..26fcbf4 --- /dev/null +++ b/a2ps-4.13-flex.patch @@ -0,0 +1,73 @@ +--- a2ps-4.13/lib/Makefile.in.flex Wed Feb 9 09:33:01 2000 ++++ a2ps-4.13/lib/Makefile.in Thu Apr 27 19:00:20 2000 +@@ -100,7 +100,7 @@ + INTLDEPS = @INTLDEPS@ + INTLLIBS = @INTLLIBS@ + INTLOBJS = @INTLOBJS@ +-LEX = @LEX@ ++LEX = @LEX@ -CFe + LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ + LIBOBJS = @LIBOBJS@ + LIBTOOL = @LIBTOOL@ +--- a2ps-4.13/lib/fonts.l.flex Wed Dec 15 18:27:01 1999 ++++ a2ps-4.13/lib/fonts.l Thu Apr 27 19:00:20 2000 +@@ -178,7 +178,7 @@ + + %} + +-%option yylineno ++/* %option yylineno */ + %option prefix="afm" + %option outfile="lex.yy.c" + +@@ -524,7 +524,7 @@ + const char * filename; + FILE * stream; + +- yylineno = 0; ++ /* yylineno = 0; */ + + /* Find its AFM file: first resolve its font file name */ + filename = fonts_map_resolve_alias (job->fonts_map, font->key); +--- a2ps-4.13/src/Makefile.in.flex Wed Feb 9 09:34:18 2000 ++++ a2ps-4.13/src/Makefile.in Thu Apr 27 19:00:20 2000 +@@ -100,7 +100,7 @@ + INTLDEPS = @INTLDEPS@ + INTLLIBS = @INTLLIBS@ + INTLOBJS = @INTLOBJS@ +-LEX = @LEX@ ++LEX = @LEX@ -CFe + LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ + LIBOBJS = @LIBOBJS@ + LIBTOOL = @LIBTOOL@ +@@ -154,7 +154,7 @@ + BUILT_SOURCES = parsessh.h + + YFLAGS = -dtv +-LEX = @LEX@ ++LEX = @LEX@ -CFe + # I don't really understand why I have to put srcdir here, but + # it is needed for yacc and lex files (seems related to #line, but + # I really don't understand why)... +--- a2ps-4.13/src/lexps.l.flex Mon Feb 7 17:05:43 2000 ++++ a2ps-4.13/src/lexps.l Thu Apr 27 19:00:20 2000 +@@ -35,7 +35,7 @@ + void pslex_initialize PARAMS ((void)); + %} + +-%option yylineno ++/* %option yylineno */ + %option prefix="ps" + %option outfile="lex.yy.c" + +--- a2ps-4.13/Makefile.in.flex Wed Feb 9 09:32:25 2000 ++++ a2ps-4.13/Makefile.in Thu Apr 27 19:00:20 2000 +@@ -100,7 +100,7 @@ + INTLDEPS = @INTLDEPS@ + INTLLIBS = @INTLLIBS@ + INTLOBJS = @INTLOBJS@ +-LEX = @LEX@ ++LEX = @LEX@ -CFe + LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ + LIBOBJS = @LIBOBJS@ + LIBTOOL = @LIBTOOL@ diff --git a/a2ps-4.13-glibcpaper.patch b/a2ps-4.13-glibcpaper.patch index 7030b73..23ab881 100644 --- a/a2ps-4.13-glibcpaper.patch +++ b/a2ps-4.13-glibcpaper.patch @@ -1,43 +1,25 @@ -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, ""); +--- 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 @@ setlocale (LC_MESSAGES, ""); + #endif setlocale (LC_CTYPE, ""); + setlocale (LC_PAPER, ""); bindtextdomain (PACKAGE, LOCALEDIR); - 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 @@ + 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" #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; -@@ -267,7 +269,8 @@ a2ps_handle_options (a2ps_job * job, int +@@ -281,7 +283,8 @@ struct opt_optarg *opt_optarg_head = NULL; struct opt_optarg *opt_optarg = NULL; int res; @@ -47,7 +29,7 @@ diff -up a2ps-4.15.3/liba2ps/options.c.glibcpaper a2ps-4.15.3/liba2ps/options.c /* Reset optind so that getopt is reinitialized. */ optind = 0; -@@ -515,7 +518,14 @@ a2ps_handle_options (a2ps_job * job, int +@@ -545,7 +548,14 @@ break; case 'M': /* select a medium */ @@ -63,12 +45,36 @@ diff -up a2ps-4.15.3/liba2ps/options.c.glibcpaper a2ps-4.15.3/liba2ps/options.c break; case 'n': /* n copies */ -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: +--- 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 @@ .TP - \fB\-M\fR, \fB\-\-medium\fR=\fI\,NAME\/\fR + \fB\-M\fR, \fB\-\-medium\fR=\fINAME\fR use output medium NAME + +The default behaviour is to use the locale category @@ -78,14 +84,3 @@ diff -up a2ps-4.15.3/man/a2ps.1.glibcpaper a2ps-4.15.3/man/a2ps.1 .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 new file mode 100644 index 0000000..5e75fbb --- /dev/null +++ b/a2ps-4.13-gnusource.patch @@ -0,0 +1,18 @@ +--- a2ps-4.13/src/main.c.gnusource 2003-10-17 17:07:05.000000000 +0100 ++++ a2ps-4.13/src/main.c 2003-10-17 17:07:17.000000000 +0100 +@@ -30,6 +30,7 @@ + /* I n c l u d e f i l e s */ + /* */ + /************************************************************************/ ++#define _GNU_SOURCE + #include + #include + #include +@@ -105,7 +106,6 @@ + defined twice, see lib/confg.gperf, handling of `Options:'. */ + + char *program_name; +-const char *program_invocation_name; + + /* Stores the data of liba2ps. */ + diff --git a/a2ps-4.13-hebrew.patch b/a2ps-4.13-hebrew.patch index b8fbd6e..5d4a104 100644 --- a/a2ps-4.13-hebrew.patch +++ b/a2ps-4.13-hebrew.patch @@ -1,19 +1,18 @@ -diff -up a2ps-4.14/encoding/encoding.map.hebrew a2ps-4.14/encoding/encoding.map ---- a2ps-4.14/encoding/encoding.map.hebrew 2008-04-27 01:50:14.000000000 +0200 -+++ a2ps-4.14/encoding/encoding.map 2008-04-27 01:50:14.000000000 +0200 -@@ -65,6 +65,9 @@ iso-8859-5 iso5 - iso7 iso7 - iso-8859-7 iso7 - -+iso8 iso8 -+iso-8859-8 iso8 -+ - # The following lines _are_not_an_error_. - # This is the right correspondance between ISO-8859 names - # and the Latin n nick name. -diff -up /dev/null a2ps-4.14/encoding/iso8.edf ---- /dev/null 2008-04-26 20:48:40.298012400 +0200 -+++ a2ps-4.14/encoding/iso8.edf 2008-04-27 01:50:14.000000000 +0200 +--- a2ps-4.13/configure.hebrew 2004-01-09 15:29:44.000000000 +0200 ++++ a2ps-4.13/configure 2004-01-09 15:44:14.000000000 +0200 +@@ -8454,7 +8454,9 @@ + for ac_dir in /usr/share/fonts/default/Type1 \ + /usr/share/fonts/default/ghostscript \ + /usr/share/fonts/afms/adobe \ +- /usr/share/X11/fonts/Type1 ; ++ /usr/share/X11/fonts/Type1 \ ++ /usr/share/fonts/hebrew \ ++ /usr/share/fonts/he/Type1 ; + do + if test "cd $ac_dir 2>/dev/null && echo *.afm"; then + ac_psfont_path="$ac_psfont_path:$ac_dir"; +--- a2ps-4.13/encoding/iso8.edf.hebrew 2004-01-09 15:44:03.000000000 +0200 ++++ a2ps-4.13/encoding/iso8.edf 2004-01-09 15:44:03.000000000 +0200 @@ -0,0 +1,77 @@ +# Description of the ISO-8859-8 encoding +# Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana @@ -92,27 +91,41 @@ diff -up /dev/null a2ps-4.14/encoding/iso8.edf +afii57672 afii57673 afii57674 afii57675 afii57676 afii57677 afii57678 afii57679 +afii57680 afii57681 afii57682 afii57683 afii57684 afii57685 afii57686 afii57687 +afii57688 afii57689 afii57690 .notdef .notdef .notdef .notdef .notdef -diff -up a2ps-4.14/encoding/Makefile.am.hebrew a2ps-4.14/encoding/Makefile.am ---- a2ps-4.14/encoding/Makefile.am.hebrew 2008-04-27 01:51:14.000000000 +0200 -+++ a2ps-4.14/encoding/Makefile.am 2008-04-27 01:52:11.000000000 +0200 -@@ -15,7 +15,7 @@ encodingsdir = $(pkgdatadir)/encoding +--- a2ps-4.13/encoding/encoding.map.hebrew ++++ a2ps-4.13/encoding/encoding.map +@@ -65,6 +65,9 @@ + iso7 iso7 + iso-8859-7 iso7 + ++iso8 iso8 ++iso-8859-8 iso8 ++ + # The following lines _are_not_an_error_. + # This is the right correspondance between ISO-8859 names + # and the Latin n nick name. +--- a2ps-4.13/encoding/Makefile.in.hebrew ++++ a2ps-4.13/encoding/Makefile.in +@@ -140,8 +140,8 @@ major_encodings = ascii.edf iso1.edf minor_encodings = \ ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ -iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ -+iso3.edf iso4.edf iso5.edf iso7.edf iso8.edf iso9.edf iso10.edf iso13.edf \ - iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf +-iso15.edf koi8.edf euc-jp.edf euc-kr.edf ++iso3.edf iso4.edf iso5.edf iso7.edf iso8.edf iso9.edf iso10.edf \ ++iso13.edf iso15.edf koi8.edf euc-jp.edf euc-kr.edf - if EXTENSIONS -diff -up a2ps-4.14/encoding/Makefile.in.hebrew a2ps-4.14/encoding/Makefile.in ---- a2ps-4.14/encoding/Makefile.in.hebrew 2008-04-27 01:50:14.000000000 +0200 -+++ a2ps-4.14/encoding/Makefile.in 2008-04-27 01:52:01.000000000 +0200 -@@ -269,7 +269,7 @@ encodingsdir = $(pkgdatadir)/encoding - major_encodings = ascii.edf iso1.edf - minor_encodings = \ - ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf \ --iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf \ -+iso3.edf iso4.edf iso5.edf iso7.edf iso8.edf iso9.edf iso10.edf iso13.edf \ - iso15.edf koi8.edf ms-cp1251.edf euc-jp.edf euc-kr.edf - - @EXTENSIONS_FALSE@encodings_DATA = encoding.map $(major_encodings) + @EXTENSIONS_TRUE@encodings_DATA = @EXTENSIONS_TRUE@encoding.map $(major_encodings) $(minor_encodings) + @EXTENSIONS_FALSE@encodings_DATA = @EXTENSIONS_FALSE@encoding.map $(major_encodings) +--- a2ps-4.13/configure.in.hebrew 2007-01-22 18:19:04.000000000 +0000 ++++ a2ps-4.13/configure.in 2007-01-22 18:19:16.000000000 +0000 +@@ -200,7 +200,9 @@ + for ac_dir in /usr/share/fonts/default/Type1 \ + /usr/share/fonts/default/ghostscript \ + /usr/share/fonts/afms/adobe \ +- /usr/share/X11/fonts/Type1 ; ++ /usr/share/X11/fonts/Type1 \ ++ /usr/share/fonts/hebrew \ ++ /usr/share/fonts/he/Type1 ; + do + if test "cd $ac_dir 2>/dev/null && echo *.afm"; then + ac_psfont_path="$ac_psfont_path:$ac_dir"; diff --git a/a2ps-4.13-malloc.patch b/a2ps-4.13-malloc.patch new file mode 100644 index 0000000..bdfa01c --- /dev/null +++ b/a2ps-4.13-malloc.patch @@ -0,0 +1,11 @@ +--- a2ps-4.13/lib/path-concat.c.malloc 2004-03-02 11:27:49.000000000 +0000 ++++ a2ps-4.13/lib/path-concat.c 2004-03-02 11:28:14.000000000 +0000 +@@ -31,7 +31,7 @@ + #endif + #include + +-char *malloc (); ++#include + + #ifndef DIRECTORY_SEPARATOR + # define DIRECTORY_SEPARATOR '/' diff --git a/a2ps-4.13-security.patch b/a2ps-4.13-security.patch new file mode 100644 index 0000000..cff6225 --- /dev/null +++ b/a2ps-4.13-security.patch @@ -0,0 +1,65 @@ +--- a2ps-4.13/lib/routines.c.security Sat Oct 16 05:46:37 1999 ++++ a2ps-4.13/lib/routines.c Mon Feb 12 17:45:15 2001 +@@ -242,3 +242,50 @@ + /* Don't complain if you can't unlink. Who cares of a tmp file? */ + unlink (filename); + } ++ ++/* ++ * Securely generate a temp file, and make sure it gets ++ * deleted upon exit. ++ */ ++static char ** tempfiles; ++static unsigned ntempfiles; ++ ++static void ++cleanup_tempfiles() ++{ ++ while (ntempfiles--) ++ unlink(tempfiles[ntempfiles]); ++} ++ ++char * ++safe_tempnam(const char *pfx) ++{ ++ char *dirname, *filename; ++ int fd; ++ ++ if (!(dirname = getenv("TMPDIR"))) ++ dirname = "/tmp"; ++ ++ tempfiles = (char **) realloc(tempfiles, ++ (ntempfiles+1) * sizeof(char *)); ++ if (tempfiles == NULL) ++ return NULL; ++ ++ filename = malloc(strlen(dirname) + strlen(pfx) + sizeof("/XXXXXX")); ++ if (!filename) ++ return NULL; ++ ++ sprintf(filename, "%s/%sXXXXXX", dirname, pfx); ++ ++ if ((fd = mkstemp(filename)) < 0) { ++ free(filename); ++ return NULL; ++ } ++ close(fd); ++ ++ if (ntempfiles == 0) ++ atexit(cleanup_tempfiles); ++ tempfiles[ntempfiles++] = filename; ++ ++ return filename; ++} +--- a2ps-4.13/lib/routines.h.security Mon Oct 18 21:24:41 1999 ++++ a2ps-4.13/lib/routines.h Mon Feb 12 17:39:30 2001 +@@ -255,7 +255,8 @@ + /* If _STR_ is not defined, give it a tempname in _TMPDIR_ */ + #define tempname_ensure(Str) \ + do { \ +- (Str) = (Str) ? (Str) : tempnam (NULL, "a2_"); \ ++ (Str) = (Str) ? (Str) : safe_tempnam("a2_"); \ + } while (0) ++char * safe_tempnam(const char *); + + #endif diff --git a/a2ps-4.13-varargs.patch b/a2ps-4.13-varargs.patch new file mode 100644 index 0000000..7339376 --- /dev/null +++ b/a2ps-4.13-varargs.patch @@ -0,0 +1,45 @@ +--- a2ps-4.13/lib/printlen.c.orig Fri Jun 1 16:38:21 2001 ++++ a2ps-4.13/lib/printlen.c Fri Jun 1 16:38:28 2001 +@@ -28,14 +28,15 @@ + unsigned long strtoul (); + + static int +-int_printflen (const char *format, va_list *args) ++int_printflen (const char *format, va_list args) + { + const char *cp; + int total_width = 0; + int width = 0; + va_list ap; + +- memcpy (&ap, args, sizeof (va_list)); ++ __va_copy(ap, args); ++ /* memcpy (&ap, args, sizeof (va_list)); */ + + for (cp = format ; *cp ; cp++) + { +@@ -99,7 +100,7 @@ + int + vprintflen (const char *format, va_list args) + { +- return int_printflen (format, &args); ++ return int_printflen (format, args); + } + + int +--- a2ps-4.13/lib/title.c.orig Fri Jun 1 16:19:04 2001 ++++ a2ps-4.13/lib/title.c Fri Jun 1 16:20:16 2001 +@@ -83,11 +83,13 @@ + VA_START (args, format); + + len = vprintflen (format, args); ++ va_end(args); + if (format [strlen (format) - 1] == '\n') + len --; + if (center_p) + for (padding = 0 ; padding < 79 - len ; padding += 2) + putc (' ', stream); ++ VA_START (args, format); + # if HAVE_VPRINTF || _LIBC + vfprintf (stream, format, args); + # else diff --git a/a2ps-4.13b-attr.patch b/a2ps-4.13b-attr.patch new file mode 100644 index 0000000..c157604 --- /dev/null +++ b/a2ps-4.13b-attr.patch @@ -0,0 +1,92 @@ +--- 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 0b26e4a..d4337b6 100644 --- a/a2ps-4.13b-encoding.patch +++ b/a2ps-4.13b-encoding.patch @@ -1,26 +1,5 @@ -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 -+ansi_x3.4-1968 iso1 - - latin2 iso2 - iso2 iso2 -@@ -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 +--- 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 @@ ################################################################# @@ -28,27 +7,44 @@ index 2bbcddd..f9f699d 100644 -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 + # 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" -@@ -989,6 +990,9 @@ main (int argc, char *argv[]) +@@ -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); - switch (behavior) { +--- 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 @@ + latin1 iso1 + iso1 iso1 + iso-8859-1 iso1 ++ansi_x3.4-1968 iso1 + + latin2 iso2 + iso2 iso2 +@@ -128,3 +129,6 @@ + # 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/a2ps-4.13b-numeric.patch b/a2ps-4.13b-numeric.patch index e6dbe77..b7d0990 100644 --- a/a2ps-4.13b-numeric.patch +++ b/a2ps-4.13b-numeric.patch @@ -1,11 +1,10 @@ -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, ""); +--- 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 @@ 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 deleted file mode 100644 index a06fb2d..0000000 --- a/a2ps-4.14-texinfo-nodes.patch +++ /dev/null @@ -1,128 +0,0 @@ -diff -up a2ps-4.15.5/doc/a2ps.texi.nodes a2ps-4.15.5/doc/a2ps.texi ---- a2ps-4.15.5/doc/a2ps.texi.nodes 2023-07-25 18:04:09.076935779 +0200 -+++ a2ps-4.15.5/doc/a2ps.texi 2023-07-25 18:11:46.197081542 +0200 -@@ -342,11 +342,11 @@ Contributions - - Frequently asked questions - --* Why Does ...?:: Questions on Error --* How Can I ...?:: a2ps' How-To --* Please tell me...:: Existential Questions on a2ps -+* Why Does?:: Questions on Error -+* How Can I?:: a2ps' How-To -+* Please tell me:: Existential Questions on a2ps - --Why Does...? -+Why Does? - - * It Prints Nothing:: The printer issues nothing - * It Prints in Simplex:: While I asked for Duplex -@@ -356,7 +356,7 @@ Why Does...? - * It Says my File is Binary:: And refuses to print it - * It Refuses to Change the Font Size:: - --How Can I ...? -+How Can I? - - * Leave Room for Binding:: Specifying Margins - * Print stdin:: Using a2ps in a pipe chain -@@ -365,7 +365,7 @@ How Can I ...? - * Pass Options to lpr:: Disable the banner - * Man Pages with Underlines:: Now it Prints With Italics - --Please tell me... -+Please tell me - - * Is a2ps Y2K compliant?:: Printing dates in short format - * Why not using yacc:: Why Using Style Sheets -@@ -5841,13 +5841,13 @@ question about the options, etc. It has - suggestions, not to contact the authors. - - @menu --* Why Does ...?:: Questions on Error --* How Can I ...?:: a2ps' How-To --* Please tell me...:: Existential Questions on a2ps -+* Why Does?:: Questions on Error -+* How Can I?:: a2ps' How-To -+* Please tell me:: Existential Questions on a2ps - @end menu - --@node Why Does ...? --@section Why Does...? -+@node Why Does? -+@section Why Does? - - Error related questions. - -@@ -6069,8 +6069,8 @@ Note that the `pure' options (no side-ef - virtual pages are @samp{--columns} and @samp{--rows}. - - @c -----------------------------How can I ? ------------------------------ --@node How Can I ...? --@section How Can I ...? -+@node How Can I? -+@section How Can I? - - A mini how-to on @pack{}. - -@@ -6152,8 +6152,8 @@ Use @samp{a2ps --pro=ul}. - - - @c -------------------------- Please Tell me ? ------------------------------ --@node Please tell me... --@section Please tell me... -+@node Please tell me -+@section Please tell me - - Wondering something? - -diff -up a2ps-4.15.5/doc/regex.texi.nodes a2ps-4.15.5/doc/regex.texi ---- a2ps-4.15.5/doc/regex.texi.nodes 2022-05-01 14:00:35.000000000 +0200 -+++ a2ps-4.15.5/doc/regex.texi 2023-07-25 18:04:09.094935900 +0200 -@@ -121,7 +121,7 @@ Regular Expression Syntax - - * Syntax Bits:: - * Predefined Syntaxes:: --* Collating Elements vs. Characters:: -+* Collating Elements vs Characters:: - * The Backslash Character:: - - Common Operators -@@ -305,7 +305,7 @@ In the following sections, we describe t - @menu - * Syntax Bits:: - * Predefined Syntaxes:: --* Collating Elements vs. Characters:: -+* Collating Elements vs Characters:: - * The Backslash Character:: - @end menu - -@@ -470,7 +470,7 @@ operator (based on how @code{RE_NO_BK_PA - @end table - - --@node Predefined Syntaxes, Collating Elements vs. Characters, Syntax Bits, Regular Expression Syntax -+@node Predefined Syntaxes, Collating Elements vs Characters, Syntax Bits, Regular Expression Syntax - @section Predefined Syntaxes - - If you're programming with Regex, you can set a pattern buffer's -@@ -552,8 +552,8 @@ The predefined syntaxes--taken directly - | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) - @end example - --@node Collating Elements vs. Characters, The Backslash Character, Predefined Syntaxes, Regular Expression Syntax --@section Collating Elements vs.@: Characters -+@node Collating Elements vs Characters, The Backslash Character, Predefined Syntaxes, Regular Expression Syntax -+@section Collating Elements vs@: Characters - - @sc{posix} generalizes the notion of a character to that of a - collating element. It defines a @dfn{collating element} to be ``a -@@ -577,7 +577,7 @@ collating element. For example, the Spa - Since @sc{posix}'s ``collating element'' preserves the essential idea of - a ``character,'' we use the latter, more familiar, term in this document. - --@node The Backslash Character, , Collating Elements vs. Characters, Regular Expression Syntax -+@node The Backslash Character, , Collating Elements vs Characters, Regular Expression Syntax - @section The Backslash Character - - @cindex @samp{\} diff --git a/a2ps-U.patch b/a2ps-U.patch index eff7118..48c5a90 100644 --- a/a2ps-U.patch +++ b/a2ps-U.patch @@ -9,3 +9,14 @@ | $a2ps -gEudiff $a2ps_options || exit 1 ;; esac +--- a2ps-4.13/contrib/pdiff.m4.U 2005-05-05 12:47:54.000000000 +0100 ++++ a2ps-4.13/contrib/pdiff.m4 2005-05-05 12:53:10.000000000 +0100 +@@ -100,7 +100,7 @@ + # We need the total number of lines + lines=`wc -l $file1 $file2 | sed -n 3p` + lines=`set -- $lines && echo $1` +- $diff_prog $diff_options -$lines $file1 $file2 \ ++ $diff_prog $diff_options -U$lines $file1 $file2 \ + | $a2ps -gEudiff $a2ps_options || exit 1 + ;; + esac diff --git a/a2ps-external-libtool.patch b/a2ps-external-libtool.patch new file mode 100644 index 0000000..93b5cf7 --- /dev/null +++ b/a2ps-external-libtool.patch @@ -0,0 +1,12 @@ +--- a2ps-4.13/configure.external-libtool 2007-02-28 22:32:48.000000000 +0100 ++++ a2ps-4.13/configure 2007-02-28 22:32:48.000000000 +0100 +@@ -2673,7 +2673,8 @@ + LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" + + # Always use our own libtool. +-LIBTOOL='$(SHELL) $(top_builddir)/libtool' ++#LIBTOOL='$(SHELL) $(top_builddir)/libtool' ++LIBTOOL='/usr/bin/libtool' + + # Redirect the config.log output again, so that the ltconfig log is not + # clobbered by the next message. diff --git a/a2ps-forward-null.patch b/a2ps-forward-null.patch deleted file mode 100644 index 6aa308e..0000000 --- a/a2ps-forward-null.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up a2ps-4.15.5/liba2ps/pathwalk.c.forward-null a2ps-4.15.5/liba2ps/pathwalk.c ---- a2ps-4.15.5/liba2ps/pathwalk.c.forward-null 2023-07-25 18:17:35.906486748 +0200 -+++ a2ps-4.15.5/liba2ps/pathwalk.c 2023-07-25 18:18:16.767767587 +0200 -@@ -335,12 +335,12 @@ xpw_find_included_file (char * const *pa - /* Relative. Give its root. */ - dir = dir_name (including_file); - -- res = ALLOCA (char, (strlen (dir) -+ res = ALLOCA (char, ((dir ? strlen (dir) : 0) - + strlen (name) - + (suffix ? strlen (suffix) : 0) - + 2)); -- sprintf (res, "%s%c%s%s", dir, DIRECTORY_SEPARATOR, -- name, suffix ? suffix : ""); -+ sprintf (res, "%s%c%s%s", dir ? dir : "", DIRECTORY_SEPARATOR, -+ dir ? name : name + 1, suffix ? suffix : ""); - if (stat (res, &statbuf) == 0) - return xstrdup (res); - diff --git a/a2ps-generate-tarball.sh b/a2ps-generate-tarball.sh new file mode 100755 index 0000000..f5aa5ec --- /dev/null +++ b/a2ps-generate-tarball.sh @@ -0,0 +1,20 @@ +#!/bin/sh +VERSION=$1 + +TMPDIR=tarball-arena +rm -rf "$TMPDIR" a2ps-$VERSION-GPL.tar.gz +mkdir "$TMPDIR" +tar zxf a2ps-$VERSION.tar.gz -C "$TMPDIR" +cd "$TMPDIR" +for f in \ + tests/gps-ref/Converter.ps \ + tests/gps-ref/fasttrig.ps \ + tests/ps-ref/Converter.ps \ + tests/ps-ref/fasttrig.ps \ + tests/tstfiles/Converter.java \ + tests/tstfiles/fasttrig.pas +do + rm -f a2ps-*/"$f" +done + +tar zcf ../a2ps-$VERSION-GPL.tar.gz a2ps-* diff --git a/a2ps-includes.patch b/a2ps-includes.patch new file mode 100644 index 0000000..be610d0 --- /dev/null +++ b/a2ps-includes.patch @@ -0,0 +1,61 @@ +--- a2ps-4.13/src/sheets-map.l.includes 2000-02-04 21:07:47.000000000 +0000 ++++ a2ps-4.13/src/sheets-map.l 2004-09-07 16:06:27.575891868 +0100 +@@ -40,6 +40,7 @@ + + #define MAX_INCLUDE_DEPTH 10 + static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH]; ++static int lineno_stack[MAX_INCLUDE_DEPTH]; + static char *filename_stack[MAX_INCLUDE_DEPTH]; + static int include_stack_ptr; + static char *yyfilename; +@@ -93,7 +94,7 @@ + white [[:space:]]+ + key [-a-zA-Z0-9_]+: + comment #.* +-include include([^)]+) ++include include\([^)]+\) + %% + + {key} token_val = xstrndup (yytext, yyleng - 1); return tKEY; +@@ -102,7 +103,7 @@ + {white} ; + {comment} ; + {include} { /* Kill the closing paren and pass the file name. */ +- yytext[yyleng] = '\0'; ++ yytext[yyleng-1] = '\0'; + yy_include_push (yytext + strlen ("include(")); + } + +@@ -210,11 +211,13 @@ + error (1, 0, _("too many includes")); + + include_stack[include_stack_ptr] = YY_CURRENT_BUFFER; +- filename_stack[include_stack_ptr++] = file; ++ lineno_stack[include_stack_ptr] = yylineno; ++ filename_stack[include_stack_ptr++] = yyfilename; + + message (msg_file, (stderr, "%s:%d: includes %s\n", + yyfilename, yylineno, file)); + ++ yyfilename = file; + yyin = xrfopen (yyfilename); + + yy_switch_to_buffer (yy_create_buffer (yyin, YY_BUF_SIZE)); +@@ -227,8 +230,8 @@ + { + fclose (yyin); + yy_delete_buffer (YY_CURRENT_BUFFER); +- free (yyfilename); + yyfilename = filename_stack[include_stack_ptr]; ++ yylineno = lineno_stack[include_stack_ptr]; + yy_switch_to_buffer (include_stack[include_stack_ptr]); + message (msg_file, (stderr, "Back to file `%s'.\n", yyfilename)); + } +@@ -254,6 +257,7 @@ + yy_close (void) + { + fclose (yyin); ++ free (yyfilename); + } + + int diff --git a/a2ps-mb.patch b/a2ps-mb.patch index b331f52..2f79272 100644 --- a/a2ps-mb.patch +++ b/a2ps-mb.patch @@ -1,14 +1,23 @@ -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) { +--- a2ps-4.13/lib/psgen.c.mb 2006-10-25 16:16:44.000000000 +0100 ++++ a2ps-4.13/lib/psgen.c 2006-10-25 16:18:54.000000000 +0100 +@@ -97,7 +97,8 @@ + fprintf(stderr,"%d\n",job->status->face); + if (encoding_char_exists (job->encoding, job->status->face, c) + && ((0177 < c) || (c < 040))) { +- sprintf ((char *)res, "%s\\%o", res, c); ++ char *p = res + strlen (res); ++ sprintf (p, "\\%o", c); + return 1; + } + +@@ -894,8 +895,8 @@ + if (c > 127 && encoding_get_composite_flag (job->encoding) && + job->status->face != Symbol) { + if (mb_flag) { +- nchars = ps_escape_char (job, mb_flag, buf) + +- ps_escape_char (job, c, buf); ++ nchars = ps_escape_char (job, mb_flag, buf); ++ nchars += ps_escape_char (job, c, buf); + job->status->wx += char_composite_WX(job, c); + job->status->column += nchars; + if (line_full) { diff --git a/a2ps-netscape.patch b/a2ps-netscape.patch new file mode 100644 index 0000000..738a606 --- /dev/null +++ b/a2ps-netscape.patch @@ -0,0 +1,31 @@ +--- a2ps-4.13/etc/a2ps_cfg.in.netscape 2005-02-02 16:22:36.000000000 +0000 ++++ a2ps-4.13/etc/a2ps_cfg.in 2005-02-02 16:40:06.431499603 +0000 +@@ -265,7 +265,8 @@ + @COM_PSUTILS@@COM_dvips@ fi + + ########## HTML files +-# Pass HTML to Netscape, hoping that there is an Netscape running... ++# Pass HTML to Mozilla, hoping that there is a Mozilla running... ++# (Previously had used Netscape. Following comments refer to Netscape:) + # Tricks: + # 1. Netscape can't output on stdout, hence use a tmp file (#f0) + # 2. openfile refuses relative paths, so prepend cwd (%d) when relative +@@ -274,14 +275,14 @@ + # loaded page (not that of openfile). So run Netscape twice. + # 4. It asks the user if s/he wants to replace an existing output file, + # so rm before. +-@COM_PSUTILS@Delegation: Netscape html:ps \ ++@COM_PSUTILS@Delegation: Mozilla html:ps \ + @COM_PSUTILS@ rm -f #f0; \ + @COM_PSUTILS@ if echo '$f' | grep '^/' >/dev/null 2>&1; then \ +-@COM_PSUTILS@ ${NETSCAPE:-netscape} -noraise -remote 'openfile($f)'; \ ++@COM_PSUTILS@ ${MOZILLA:-mozilla} -noraise -remote 'openfile($f)'; \ + @COM_PSUTILS@ else \ +-@COM_PSUTILS@ ${NETSCAPE:-netscape} -noraise -remote 'openfile(%d/$f)'; \ ++@COM_PSUTILS@ ${MOZILLA:-mozilla} -noraise -remote 'openfile(%d/$f)'; \ + @COM_PSUTILS@ fi && \ +-@COM_PSUTILS@ ${NETSCAPE:-netscape} -noraise -remote 'saveas(#f0,postscript)' && \ ++@COM_PSUTILS@ ${MOZILLA:-mozilla} -noraise -remote 'saveas(#f0,postscript)' && \ + @COM_PSUTILS@ #{del.psselect} #f0 | #{del.psnup} + + ########## MetaFont / MetaPost files diff --git a/a2ps-overrun-dynamic.patch b/a2ps-overrun-dynamic.patch deleted file mode 100644 index d58bed3..0000000 --- a/a2ps-overrun-dynamic.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up a2ps-4.15.5/liba2ps/darray.c.overrun-dynamic a2ps-4.15.5/liba2ps/darray.c ---- a2ps-4.15.5/liba2ps/darray.c.overrun-dynamic 2022-06-11 22:16:14.000000000 +0200 -+++ a2ps-4.15.5/liba2ps/darray.c 2023-07-25 18:23:24.509882456 +0200 -@@ -383,7 +383,7 @@ da_qsort (struct darray * arr) - jstack += 2; - /* Push pointers to larger subarry on stack. - * Process smaller subarrays now */ -- if (jstack > QSORT_STACK) -+ if (jstack >= QSORT_STACK) - error (da_exit_error, 0, "da_qsort: QSORT_STACK too small (%d)", - QSORT_STACK); - if (ir - i + 1 >= j - l) { -@@ -461,7 +461,7 @@ da_qsort_with_arg (struct darray * arr, - jstack += 2; - /* Push pointers to larger subarry on stack. - * Process smaller subarrays now */ -- if (jstack > QSORT_STACK) -+ if (jstack >= QSORT_STACK) - error (da_exit_error, 0, "da_qsort: QSORT_STACK too small (%d)", - QSORT_STACK); - if (ir - i + 1 >= j - l) { diff --git a/a2ps-overrun-static.patch b/a2ps-overrun-static.patch deleted file mode 100644 index e3585fe..0000000 --- a/a2ps-overrun-static.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up a2ps-4.14/liba2ps/metaseq.c.overrun-static a2ps-4.14/liba2ps/metaseq.c ---- a2ps-4.14/liba2ps/metaseq.c.overrun-static 2011-08-10 16:18:44.924915695 +0100 -+++ a2ps-4.14/liba2ps/metaseq.c 2011-08-10 16:19:04.739555258 +0100 -@@ -334,7 +334,7 @@ grow_user_string_obstack (struct obstack - { - /* `%D{}' format run date with strftime() */ - for (j = 0, i += 2; -- j < sizeof (buf2) && str[i] && str[i] != '}'; -+ j < sizeof (buf2) - 1 && str[i] && str[i] != '}'; - i++, j++) - buf2[j] = str[i]; - if (str[i] != '}') diff --git a/a2ps-psset.patch b/a2ps-psset.patch new file mode 100644 index 0000000..5197237 --- /dev/null +++ b/a2ps-psset.patch @@ -0,0 +1,11 @@ +--- a2ps-4.13/contrib/psset.in.psset 2006-10-06 13:12:03.000000000 +0100 ++++ a2ps-4.13/contrib/psset.in 2006-10-06 13:12:09.000000000 +0100 +@@ -241,7 +241,7 @@ + # spaces with a `\' too... + pspagedevicelen=`echo "$pspagedevice" | wc -l` + pspagedevice=`echo "$pspagedevice" | \ +- sed -e "$pspagedevicelen!s/\$/\\\\\\/;s/^/\\\\\\/"` ++ sed -e "$pspagedevicelen!s/\$/\\\\\\/;s/^ /\\\\\\ /"` + + case $at in + 0) # Insert last in the Setup, so that we win over other requests. diff --git a/a2ps-resource-leak.patch b/a2ps-resource-leak.patch deleted file mode 100644 index ab1830c..0000000 --- a/a2ps-resource-leak.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -up a2ps-4.15.5/liba2ps/encoding.c.resource-leak a2ps-4.15.5/liba2ps/encoding.c ---- a2ps-4.15.5/liba2ps/encoding.c.resource-leak 2023-07-25 18:30:14.422699484 +0200 -+++ a2ps-4.15.5/liba2ps/encoding.c 2023-07-25 18:34:22.033401969 +0200 -@@ -479,7 +479,7 @@ encoding_resolve_font_substitute (struct - if (!res) - { - if (encoding->default_font) -- res = encoding->default_font; -+ res = xstrdup (encoding->default_font); - else - error (1, 0, "cannot find font %s, nor any substitute", - last_font_name); -@@ -895,6 +895,7 @@ dump_encoding_setup (FILE * stream, - font_names [i]); - if (!font_is_to_reencode (job, real_font_name)) - da_remove_at (encoding->font_names_used, i); -+ free (real_font_name); - } - - /* The number of fonts that, finally, have to be encoded -@@ -911,10 +912,15 @@ dump_encoding_setup (FILE * stream, - fprintf (stream, "/%sdict %zu dict begin\n", encoding->key, - (encoding->composite_flag == true)? nb+nb+ns:nb+ns); - for (i = 0 ; i < nb ; i++) -+ { -+ char *real_font = encoding_resolve_font_substitute (job, encoding, -+ font_names [i]); - fprintf (stream, " /f%s %sEncoding /%s reencode_font\n", - font_names [i], - encoding->name, -- encoding_resolve_font_substitute (job, encoding, font_names [i])); -+ real_font); -+ free (real_font); -+ } - - /* Slant font setting */ - for (i = 0 ; encoding->slantfont[i].name ; i++ ) -@@ -1075,6 +1081,7 @@ encoding_build_faces_wx (a2ps_job * job, - encoding->vector, - encoding->faces_wx [face]); - -+ free (true_font_name); - if (encoding->composite_flag) - { - encoding->composite_ratio[i] = diff --git a/a2ps-shell.patch b/a2ps-shell.patch new file mode 100644 index 0000000..b26f648 --- /dev/null +++ b/a2ps-shell.patch @@ -0,0 +1,15 @@ +--- a2ps-4.13/src/select.c.shell 2004-07-29 16:43:08.178940204 +0100 ++++ a2ps-4.13/src/select.c 2004-07-29 16:43:09.328722698 +0100 +@@ -148,8 +148,10 @@ + command = ALLOCA (char, (2 + + strlen (job->file_command) + + ustrlen (filename))); +- sprintf (command, "%s %s", job->file_command, (const char *) filename); +- message (msg_tool, (stderr, "Reading pipe: `%s'\n", command)); ++ setenv ("filename", (const char *) filename, 1); ++ sprintf (command, "%s \"${filename}\"", job->file_command); ++ message (msg_tool, (stderr, "Reading pipe: `%s' [filename=%s]\n", command, ++ (const char *) filename)); + file_out = popen (command, "r"); + + /* Check for failure */ diff --git a/a2ps-tmpdir.patch b/a2ps-tmpdir.patch new file mode 100644 index 0000000..fe6be21 --- /dev/null +++ b/a2ps-tmpdir.patch @@ -0,0 +1,58 @@ +--- a2ps-4.13/contrib/psmandup.in.tmpdir 1999-10-24 14:06:42.000000000 +0100 ++++ a2ps-4.13/contrib/psmandup.in 2006-08-08 14:52:22.000000000 +0100 +@@ -36,7 +36,7 @@ + message= + psselect=${PSSELECT:-psselect} + psset=${PSSET:-psset} +-tmpdir=/tmp/$program.$$ ++tmpdir=$(mktemp -d /tmp/$program.XXXXXX) + + # These two must be kept in synch. They are opposed. + verbose=echo +--- a2ps-4.13/contrib/fixps.in.tmpdir 2000-02-21 08:16:15.000000000 +0000 ++++ a2ps-4.13/contrib/fixps.in 2006-08-08 14:53:36.000000000 +0100 +@@ -38,7 +38,6 @@ + run_gs=0 + # What action to perform: fixps, cat, check, and gs + task=fixps +-tmpdir=/tmp/$program.$$ + verbose=echo + + # The version/usage strings +@@ -183,6 +182,7 @@ + exit 1;; + esac + ++tmpdir=$(mktemp -d /tmp/$program.XXXXXX) + if test -n "$debug"; then + # Set -x now if debugging + set -x +@@ -191,7 +191,6 @@ + trap "/bin/rm -rf $tmpdir" 0 1 2 3 13 15 + fi + +-mkdir $tmpdir + fixps_sed=$tmpdir/fixps.sed + + # If printing from stdin, save into a tmp file +--- a2ps-4.13/contrib/pdiff.in.tmpdir 1999-10-24 16:07:51.000000000 +0100 ++++ a2ps-4.13/contrib/pdiff.in 2006-08-08 14:52:22.000000000 +0100 +@@ -34,7 +34,7 @@ + diff_options='-u' + file= + output= +-tmpdir=/tmp/$program.$$ ++tmpdir=$(mktemp -d /tmp/$program.XXXXXX) + verbose=echo + wdiff_prog=${WDIFF:-wdiff} + wdiff_options='-w[wd- -x-wd] -y{wd+ -z+wd}' +--- a2ps-4.13/contrib/pdiff.in.tmpdir 1999-10-24 16:07:51.000000000 +0100 ++++ a2ps-4.13/contrib/pdiff.in 2007-02-28 13:30:36.000000000 +0000 +@@ -67,6 +67,7 @@ + + help="Try \`$program --help' for more information." + ++trap "/bin/rm -rf $tmpdir" 0 1 2 3 13 15 + + # Parse command line arguments. + option_without_arguments='vhsqDlw' diff --git a/a2ps-underquoted.patch b/a2ps-underquoted.patch new file mode 100644 index 0000000..4cd609d --- /dev/null +++ b/a2ps-underquoted.patch @@ -0,0 +1,208 @@ +--- a2ps-4.13/m4/c-bs-a.m4.underquoted 2004-12-07 15:48:56.317799029 +0000 ++++ a2ps-4.13/m4/c-bs-a.m4 2004-12-07 15:49:09.240315913 +0000 +@@ -2,7 +2,7 @@ + + dnl From Paul Eggert. + +-AC_DEFUN(AC_C_BACKSLASH_A, ++AC_DEFUN([AC_C_BACKSLASH_A], + [ + AC_CACHE_CHECK([whether backslash-a works in strings], ac_cv_c_backslash_a, + [AC_TRY_COMPILE([], +@@ -22,7 +22,7 @@ + fi + ]) + +-AC_DEFUN(jm_PREREQ_QUOTEARG, ++AC_DEFUN([jm_PREREQ_QUOTEARG], + [ + AC_CHECK_FUNCS(isascii mbrtowc) + AC_CHECK_HEADERS(limits.h stdlib.h string.h wchar.h) +--- a2ps-4.13/m4/error.m4.underquoted 2004-12-07 15:49:21.559948942 +0000 ++++ a2ps-4.13/m4/error.m4 2004-12-07 15:49:28.235666455 +0000 +@@ -1,7 +1,7 @@ + dnl From Jim Meyering. Use this if you use the GNU error.[ch]. + dnl FIXME: Migrate into libit + +-AC_DEFUN(AM_FUNC_ERROR_AT_LINE, ++AC_DEFUN([AM_FUNC_ERROR_AT_LINE], + [AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line, + [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");], + am_cv_lib_error_at_line=yes, +--- a2ps-4.13/m4/obstack.m4.underquoted 2004-12-07 15:49:39.826439920 +0000 ++++ a2ps-4.13/m4/obstack.m4 2004-12-07 15:49:49.827518954 +0000 +@@ -1,7 +1,7 @@ + dnl From Jim Meyering. + dnl FIXME: migrate into libit. + +-AC_DEFUN(AM_FUNC_OBSTACK, ++AC_DEFUN([AM_FUNC_OBSTACK], + [AC_CACHE_CHECK([for obstacks], am_cv_func_obstack, + [AC_TRY_LINK([#include "obstack.h"], + [struct obstack *mem;obstack_free(mem,(char *) 0)], +--- a2ps-4.13/m4/libtool.m4.underquoted 2004-12-07 15:50:24.793804138 +0000 ++++ a2ps-4.13/m4/libtool.m4 2004-12-07 15:52:28.530057547 +0000 +@@ -22,7 +22,7 @@ + ## the same distribution terms that you use for the rest of that program. + + # serial 40 AC_PROG_LIBTOOL +-AC_DEFUN(AC_PROG_LIBTOOL, ++AC_DEFUN([AC_PROG_LIBTOOL], + [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl + + # Save cache, so that ltconfig can load it +@@ -52,7 +52,7 @@ + exec 5>>./config.log + ]) + +-AC_DEFUN(AC_LIBTOOL_SETUP, ++AC_DEFUN([AC_LIBTOOL_SETUP], + [AC_PREREQ(2.13)dnl + AC_REQUIRE([AC_ENABLE_SHARED])dnl + AC_REQUIRE([AC_ENABLE_STATIC])dnl +@@ -132,16 +132,16 @@ + ]) + + # AC_LIBTOOL_DLOPEN - enable checks for dlopen support +-AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) ++AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) + + # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's +-AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) ++AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) + + # AC_ENABLE_SHARED - implement the --enable-shared flag + # Usage: AC_ENABLE_SHARED[(DEFAULT)] + # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to + # `yes'. +-AC_DEFUN(AC_ENABLE_SHARED, [dnl ++AC_DEFUN([AC_ENABLE_SHARED], [dnl + define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl + AC_ARG_ENABLE(shared, + changequote(<<, >>)dnl +@@ -167,14 +167,14 @@ + ]) + + # AC_DISABLE_SHARED - set the default shared flag to --disable-shared +-AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ++AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_ENABLE_SHARED(no)]) + + # AC_ENABLE_STATIC - implement the --enable-static flag + # Usage: AC_ENABLE_STATIC[(DEFAULT)] + # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to + # `yes'. +-AC_DEFUN(AC_ENABLE_STATIC, [dnl ++AC_DEFUN([AC_ENABLE_STATIC], [dnl + define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl + AC_ARG_ENABLE(static, + changequote(<<, >>)dnl +@@ -200,7 +200,7 @@ + ]) + + # AC_DISABLE_STATIC - set the default static flag to --disable-static +-AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ++AC_DEFUN([AC_DISABLE_STATIC], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_ENABLE_STATIC(no)]) + + +@@ -208,7 +208,7 @@ + # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] + # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to + # `yes'. +-AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl ++AC_DEFUN([AC_ENABLE_FAST_INSTALL], [dnl + define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl + AC_ARG_ENABLE(fast-install, + changequote(<<, >>)dnl +@@ -234,11 +234,11 @@ + ]) + + # AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install +-AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ++AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_ENABLE_FAST_INSTALL(no)]) + + # AC_PROG_LD - find the path to the GNU or non-GNU linker +-AC_DEFUN(AC_PROG_LD, ++AC_DEFUN([AC_PROG_LD], + [AC_ARG_WITH(gnu-ld, + [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], + test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) +@@ -308,7 +308,7 @@ + AC_PROG_LD_GNU + ]) + +-AC_DEFUN(AC_PROG_LD_GNU, ++AC_DEFUN([AC_PROG_LD_GNU], + [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, + [# I'd rather use --version here, but apparently some GNU ld's only accept -v. + if $LD -v 2>&1 &5; then +@@ -319,7 +319,7 @@ + ]) + + # AC_PROG_NM - find the path to a BSD-compatible name lister +-AC_DEFUN(AC_PROG_NM, ++AC_DEFUN([AC_PROG_NM], + [AC_MSG_CHECKING([for BSD-compatible nm]) + AC_CACHE_VAL(ac_cv_path_NM, + [if test -n "$NM"; then +@@ -353,7 +353,7 @@ + ]) + + # AC_CHECK_LIBM - check for math library +-AC_DEFUN(AC_CHECK_LIBM, ++AC_DEFUN([AC_CHECK_LIBM], + [AC_REQUIRE([AC_CANONICAL_HOST])dnl + LIBM= + case "$lt_target" in +@@ -378,7 +378,7 @@ + # '${top_builddir}/' (note the single quotes!) if your package is not + # flat, and, if you're not using automake, define top_builddir as + # appropriate in the Makefiles. +-AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ++AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case "$enable_ltdl_convenience" in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes +@@ -397,7 +397,7 @@ + # flat, and, if you're not using automake, define top_builddir as + # appropriate in the Makefiles. + # In the future, this macro may have to be called after AC_PROG_LIBTOOL. +-AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl ++AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, main, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then +@@ -418,13 +418,13 @@ + ]) + + dnl old names +-AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl +-AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl +-AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl +-AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl +-AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl +-AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl +-AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl ++AC_DEFUN([AM_PROG_LIBTOOL], [indir([AC_PROG_LIBTOOL])])dnl ++AC_DEFUN([AM_ENABLE_SHARED], [indir([AC_ENABLE_SHARED], $@)])dnl ++AC_DEFUN([AM_ENABLE_STATIC], [indir([AC_ENABLE_STATIC], $@)])dnl ++AC_DEFUN([AM_DISABLE_SHARED], [indir([AC_DISABLE_SHARED], $@)])dnl ++AC_DEFUN([AM_DISABLE_STATIC], [indir([AC_DISABLE_STATIC], $@)])dnl ++AC_DEFUN([AM_PROG_LD], [indir([AC_PROG_LD])])dnl ++AC_DEFUN([AM_PROG_NM], [indir([AC_PROG_NM])])dnl + + dnl This is just to silence aclocal about the macro not being used + ifelse([AC_DISABLE_FAST_INSTALL])dnl +--- a2ps-4.13/m4/lex.m4.underquoted 2004-12-07 15:53:11.815755409 +0000 ++++ a2ps-4.13/m4/lex.m4 2004-12-07 15:53:20.523085631 +0000 +@@ -3,7 +3,7 @@ + + dnl AM_PROG_LEX + dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT +-AC_DEFUN(AM_PROG_LEX, ++AC_DEFUN([AM_PROG_LEX], + [AC_REQUIRE([AM_MISSING_HAS_RUN]) + AC_CHECK_PROGS(LEX, flex lex, [${am_missing_run}flex]) + AC_PROG_LEX diff --git a/a2ps-wdiff.patch b/a2ps-wdiff.patch index dab05a6..7315336 100644 --- a/a2ps-wdiff.patch +++ b/a2ps-wdiff.patch @@ -1,3 +1,23 @@ +--- 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 9d6e3c4..cbde349 100644 --- a/a2ps.spec +++ b/a2ps.spec @@ -1,202 +1,151 @@ -Summary: Converts text and other types of files to PostScript +Summary: Converts text and other types of files to PostScript(TM) Name: a2ps -Version: 4.15.8 -Release: 2%{?dist} -# several files in afm/, lib/, liba2ps/, src/ - GPL3+ -# gnulib files in lib/ - LGPL-2.1+ -# several files in lib/ - LGPL-3+ -# Bison related files in src/ and liba2ps/ - GPL-3.0-or-later WITH Bison-exception-2.2 -# another gnulib files in /lib - LGPL2+ -License: GPL-3.0-or-later AND LGPL-2.1-or-later AND LGPL-3.0-or-later AND GPL-3.0-or-later WITH Bison-exception-2.2 AND LGPL-2.0-or-later -Url: http://www.gnu.org/software/a2ps/ -Source0: http://ftp.gnu.org/gnu/a2ps/%{name}-%{version}.tar.gz +Version: 4.13b +Release: 69%{?dist} +License: GPLv2+ +Group: Applications/Publishing +#Source0: ftp://ftp.enst.fr/pub/unix/a2ps/%{name}-%{version}.tar.gz +Source0: %{name}-%{version}-GPL.tar.gz Source1: ftp://ftp.enst.fr/pub/unix/a2ps/i18n-fonts-0.1.tar.gz -# the latest upstream version does not have COPYING file... -# reported as https://savannah.gnu.org/bugs/index.php?64470 -# copied the GPL3+ COPYING file from the previous versions -Source2: COPYING - - -Patch01: a2ps-4.13-conf.patch -Patch02: a2ps-4.13-etc.patch -Patch03: a2ps-4.13-glibcpaper.patch -Patch04: a2ps-sort.patch -Patch05: a2ps-iso5-minus.patch -Patch06: a2ps-perl.patch -Patch07: a2ps-4.13b-numeric.patch -Patch08: a2ps-4.13b-encoding.patch -Patch09: a2ps-4.13b-tilde.patch -Patch10: a2ps-4.13-euckr.patch -Patch11: a2ps-4.13-hebrew.patch -Patch12: a2ps-make-fonts-map.patch -Patch13: a2ps-wdiff.patch -Patch14: a2ps-U.patch -Patch15: a2ps-mb.patch -Patch16: a2ps-4.14-texinfo-nodes.patch -Patch17: a2ps-forward-null.patch -Patch18: a2ps-overrun-dynamic.patch -Patch19: a2ps-overrun-static.patch -Patch20: a2ps-resource-leak.patch - - -# most conversion rules are guarded by configure macros, so they -# are not enabled if the specific binary is not present in buildroot -# - thus to get full set of available rules there are lot of BuildRequires, -# but most binaries are only as Recommends during runtime to provide a way -# how to slim down the installation if needed. - -# parser for PPDs and SSH (style sheet) files -BuildRequires: bison -# bzip2 is checked during build as well -BuildRequires: bzip2 -# for emacs support - configure scripts looks for emacs command during build -BuildRequires: emacs -# for lexical scanning of postscript, ppds and style sheet (.ssh) files -BuildRequires: flex -# written in C - gcc no longer in buildroot by default -BuildRequires: gcc -# uses BDW Garbage Collector -BuildRequires: gc-devel -# for translations -BuildRequires: gettext -# for ps2pdf - PDF output, pdf2ps - PDF delegation -BuildRequires: ghostscript -# bundles gnulib source library -BuildRequires: gnulib-devel -# used for generating hash function for configuration options -BuildRequires: gperf -# Perl parts of groff text processor - ROFF delegation for man pages -BuildRequires: groff-perl -# for compressed delegations -BuildRequires: gzip -# generating manpages -BuildRequires: help2man -# for paper configs -BuildRequires: libpaper-devel -# used for building -BuildRequires: libtool -# make no longer in buildroot -BuildRequires: make -# for getting version of bundled gnulib -BuildRequires: perl-interpreter -# tools for manipulating with postscript docs -BuildRequires: psutils -# makeinfo for info documentation -BuildRequires: texinfo -# for DVI files support, it's DVI driver for tex -BuildRequires: texlive-dvips -# latex for LaTeX file support -BuildRequires: texlive-latex -# tex for Tex File support -BuildRequires: texlive-tex - -%if 0%{?rhel} <= 8 || 0%{?fedora} -# for convert binary - used for converting images to postscript +# a2ps contains code that we cannot ship due to its license. +# Therefore we use this script to remove the code in question before +# shipping it. Download the upstream tarball and invoke this script +# while in the same directory as the tarball: +# ./generate-tarball.sh 4.13b +Source2: a2ps-generate-tarball.sh +Patch0: a2ps-4.13-conf.patch +Patch1: a2ps-4.13-etc.patch +Patch2: a2ps-4.13-flex.patch +Patch3: a2ps-4.13-security.patch +Patch4: a2ps-4.13-glibcpaper.patch +Patch5: a2ps-4.13-varargs.patch +Patch6: a2ps-tmpdir.patch +Patch7: a2ps-sort.patch +Patch8: a2ps-iso5-minus.patch +Patch9: a2ps-perl.patch +# EUC-JP support +Patch10: a2ps-4.13-eucjp.patch.bz2 +Patch11: a2ps-4.13-autoenc.patch +Patch12: a2ps-4.13b-attr.patch +Patch13: a2ps-4.13b-numeric.patch +Patch14: a2ps-4.13b-encoding.patch +Patch15: a2ps-4.13b-tilde.patch +Patch17: a2ps-4.13-euckr.patch +Patch18: a2ps-4.13-gnusource.patch +Patch19: a2ps-4.13-bison.patch +Patch20: a2ps-4.13-hebrew.patch +Patch21: a2ps-4.13-malloc.patch +Patch22: a2ps-shell.patch +Patch23: a2ps-includes.patch +Patch24: a2ps-underquoted.patch +Patch26: a2ps-make-fonts-map.patch +Patch27: a2ps-netscape.patch +Patch28: a2ps-wdiff.patch +Patch29: a2ps-U.patch +Patch30: a2ps-psset.patch +Patch31: a2ps-mb.patch +Patch34: a2ps-external-libtool.patch +Requires: fileutils sh-utils info +BuildRequires: emacs, flex, libtool, texinfo, groff BuildRequires: ImageMagick -# converting html files to postscript -BuildRequires: html2ps -%endif - -# bundles gnulib of certain version -Provides: bundled(gnulib)%(perl -ne 'if($. == 1 and /\A(\d+)-(\d+)-(\d+)/) {print qq{ = $1$2$3}}' %{_defaultdocdir}/gnulib/ChangeLog 2>/dev/null) - -# used during runtime for delegation -Recommends: bzip2 -# Perl parts of groff text processor - ROFF delegation for man pages -Recommends: groff-perl -# for compressed delegations -Recommends: gzip -# makeinfo for info documentation -Recommends: texinfo -# for DVI files support, it's DVI driver for tex -Recommends: texlive-dvips -# latex for LaTeX file support -Recommends: texlive-latex -# tex for Tex File support -Recommends: texinfo-tex - -# a2ps-lpr-wrapper uses lp/lpr -Requires: cups-client -# for hebrew support, path set. -# culmus-fonts -# And certainly other font sets for other languages may be needed -Requires: emacs-filesystem -Requires: file -# for ps2pdf - PDF output, pdf2ps - PDF delegation -Requires: ghostscript -# postscript delegation -Requires: psutils -Requires: psutils-perl -# set of recommended fonts, looks to be for postscript as well -Requires: texlive-collection-fontsrecommended - +BuildRequires: groff-perl +BuildRequires: cups +BuildRequires: gettext, bison +BuildRequires: psutils, tetex-dvips, texinfo, tetex-latex +# Uncomment this after Extras merge: +#BuildRequires: gv +Url: http://www.inf.enst.fr/~demaille/a2ps/ +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Requires: psutils, ImageMagick, texinfo-tex, gzip, bzip2, groff-perl +Requires: tetex-dvips, tetex-latex, tetex-fonts, file Requires(post): coreutils +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +Obsoletes: a2ps-i18n <= 0.1-1 +Provides: a2ps-i18n = 0.1-1 -%if 0%{?rhel} <= 8 || 0%{?fedora} -# image delegations -Requires: ImageMagick -# html delegations -Recommends: html2ps -%endif - -# for emacs support -Suggests: emacs %description -The a2ps filter converts text and other types of files to PostScript. +The a2ps filter converts text and other types of files to PostScript(TM). A2ps has pretty-printing capabilities and includes support for a wide number of programming languages, encodings (ISO Latins, Cyrillic, etc.), and medias. - %prep -%setup -q -a 1 +%setup -q -n %{name}-4.13 -a 1 + +# use __timestamp_configure.in to hold the configure.in timestamp +touch -r configure.in __timestamp_configure.in + +%patch0 -p1 +%patch1 -p1 -b .etc +%patch2 -p1 +%patch3 -p1 -b .security +%patch4 -p1 -b .glibcpaper +%patch5 -p1 +%patch6 -p1 -b .tmpdir +%patch7 -p1 -b .sort +%patch8 -p1 -b .iso5-minus +%patch9 -p1 -b .perl + +%patch10 -p1 -b .euc +%patch11 -p1 -b .ae +%patch12 -p1 -b .attr -# use fedora postscript font paths -%patch -P 01 -p1 -b .conf -# add /etc/a2ps in directories searched for config files -%patch -P 02 -p1 -b .etc -%patch -P 03 -p1 -b .glibcpaper -%patch -P 04 -p1 -b .sort -%patch -P 05 -p1 -b .iso5-minus -%patch -P 06 -p1 -b .perl # Use C locale's decimal point style (bug #53715). -%patch -P 07 -p1 -b .numeric +%patch13 -p1 -b .numeric + # Use locale to determine a sensible default encoding (bug #64584). -%patch -P 08 -p1 -b .encoding +%patch14 -p1 -b .encoding + # Fix koi8 tilde (bug #66393). -%patch -P 09 -p1 -b .tilde +%patch15 -p1 -b .tilde + # Add Korean resource file (bug #81421). -%patch -P 10 -p1 -b .euckr +%patch17 -p1 -b .euckr + +# Prevent strsignal segfaulting (bug #104970). +%patch18 -p1 -b .gnusource + +# Fix problems in .y file spotted by stricter bison. +%patch19 -p1 -b .bison + # Hebrew support (bug #113191). -%patch -P 11 -p1 -b .hebrew +%patch20 -p1 -b .hebrew + +# Prevent "error: conflicting types for 'malloc'". +%patch21 -p1 -b .malloc + +# Use environment variable to pass filenames to shell (bug #128647). +%patch22 -p1 -b .shell + +# Apply patch from bug #122699 to fix "too many includes" error. +%patch23 -p1 -b .includes + +# Fixed m4 files. +%patch24 -p1 -b .underquoted + +# Use external libtool (bug #225235). +%patch34 -p1 -b .external-libtool + # Fix problems in make_fonts_map script (bug #142299). Patch from # Michal Jaegermann. -%patch -P 12 -p1 -b .make-fonts-map +%patch26 -p1 -b .make-fonts-map + +# Don't try to run netscape. Run mozilla instead (bug #121393). +%patch27 -p1 -b .netscape + # Make pdiff default to not requiring wdiff (bug #68537). -%patch -P 13 -p1 -b .wdiff +%patch28 -p1 -b .wdiff + # Make pdiff use diff(1) properly (bug #156916). -%patch -P 14 -p1 -b .U +%patch29 -p1 -b .U + +# Fixed psset sed expression (bug #209613). +%patch30 -p1 -b .psset + # Fixed multibyte handling (bug #212154). -%patch -P 15 -p1 -b .mb -# Remove dots in node names, patch from Vitezslav Crhonek (Bug #445971) -%patch -P 16 -p1 -b .nodes -# Coverity fix (forward-null). -%patch -P 17 -p1 -b .forward-null -# Coverity fix (overrun-dynamic). -%patch -P 18 -p1 -b .overrun-dynamic -# Coverity fix (overrun-static). -%patch -P 19 -p1 -b .overrun-static -# Coverity fix (resource-leak). -%patch -P 20 -p1 -b .resource-leak - -for file in AUTHORS ChangeLog; do - iconv -f latin1 -t UTF-8 < $file > $file.utf8 - touch -c -r $file $file.utf8 - mv $file.utf8 $file -done - -autoreconf -fi +%patch31 -p1 -b .mb mv doc/encoding.texi doc/encoding.texi.utf8 iconv -f KOI-8 -t UTF-8 doc/encoding.texi.utf8 -o doc/encoding.texi @@ -204,42 +153,42 @@ 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 644 encoding/iso8.edf.hebrew -chmod 644 encoding/euc-kr.edf.euckr +chmod -x lib/basename.c lib/xmalloc.c +# restore timestamps of patched files +touch -r __timestamp_configure.in configure.in +rm __timestamp_configure.in +touch -r config.h.in.euc config.h.in +touch -r configure.orig configure Makefile.in +touch -r src/Makefile.am.euc src/Makefile.am +touch -r etc/Makefile.am.etc etc/Makefile.am +touch -r fonts/Makefile.in src/Makefile.in etc/Makefile.in lib/Makefile.in %build -# preset the date in README.in to avoid the timestamp of the build time -sed -e "s!@date@!`date -r NEWS`!" etc/README.in > etc/README.in.tmp -touch -c -r etc/README.in etc/README.in.tmp -mv etc/README.in.tmp etc/README.in - +chmod 644 {po/ja.po,encoding/euc-jp.edf,README.eucJP}.euc +chmod 644 encoding/euc-kr.edf.euckr EMACS=emacs %configure \ --with-medium=_glibc \ - --enable-kanji \ - --with-lispdir=%{_emacs_sitelispdir}/%{name} + --enable-kanji # Remove prebuilt info files to force regeneration at build time find . -name "*.info*" -exec rm -f {} \; # force rebuilding scanners by flex - patched or not find src lib -name '*.l' -exec touch {} \; # these scanners use 'lineno' - incompatible with -CFe flex flags -#( -# cd src -# /bin/sh ../auxdir/ylwrap "flex" sheets-map.l lex.yy.c sheets-map.c -- -# /bin/sh ../auxdir/ylwrap "flex" lexssh.l lex.yy.c lexssh.c -- -# cd ../lib -# /bin/sh ../auxdir/ylwrap "flex" lexppd.l lex.yy.c lexppd.c -- -#) - -make %{?_smp_mflags} +( + cd src + /bin/sh ../auxdir/ylwrap "flex" sheets-map.l lex.yy.c sheets-map.c -- + /bin/sh ../auxdir/ylwrap "flex" lexssh.l lex.yy.c lexssh.c -- + cd ../lib + /bin/sh ../auxdir/ylwrap "flex" lexppd.l lex.yy.c lexppd.c -- +) +make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} %install -make DESTDIR=%{buildroot} install INSTALL='install -p' - -# reset the timestamp for the generated etc/README file -touch -r etc/README.in %{buildroot}%{_datadir}/a2ps/README +rm -rf %{buildroot} +make DESTDIR=%{buildroot} install mkdir -p %{buildroot}%{_sysconfdir}/a2ps @@ -251,21 +200,30 @@ install -p -m 0644 *.pfb %{buildroot}%{_datadir}/a2ps/fonts popd popd +### FIXME ### +inst() +{ +mkdir -p %{buildroot}%{_datadir}/emacs/site-lisp/ +for f in contrib/emacs/*.el; do \ + install -p -m 0644 $f %{buildroot}%{_datadir}/emacs/site-lisp/ ; done +} + +# Don't ship the library file or header (bug #203536). +rm -f %{buildroot}%{_libdir}/*.{so,a,la} +rm -f %{buildroot}%{_includedir}/* + rm -f %{buildroot}%{_infodir}/dir -mkdir -p %{buildroot}%{_defaultlicensedir}/%{name} -install -p -m 644 %{SOURCE2} %{buildroot}%{_defaultlicensedir}/%{name}/COPYING - -for lang in af be bg ca cs da de el eo es et eu fi fr ga gl hu it ja ka ko ms nb nl pl pt pt_BR ro ru rw sk sl sr sv tr uk vi zh_CN zh_TW -do - mv %{buildroot}/usr/share/locale/$lang/LC_MESSAGES/a2ps{-gnulib,}.mo -done - %find_lang %name +%clean +rm -rf %{buildroot} %post -%{?ldconfig} +/sbin/ldconfig +/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || : +/sbin/install-info %{_infodir}/ogonkify.info %{_infodir}/dir || : +/sbin/install-info %{_infodir}/regex.info %{_infodir}/dir || : (cd %{_datadir}/a2ps/afm; ./make_fonts_map.sh > /dev/null 2>&1 || /bin/true if [ -f fonts.map.new ]; then @@ -274,28 +232,30 @@ done ) exit 0 -%ldconfig_postun +%preun +if [ $1 = 0 ]; then + /sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || : + /sbin/install-info --delete %{_infodir}/ogonkify.info %{_infodir}/dir || : + /sbin/install-info --delete %{_infodir}/regex.info %{_infodir}/dir || : +fi +exit 0 +%postun -p /sbin/ldconfig %files -f %{name}.lang -%license COPYING -%doc AUTHORS ChangeLog NEWS README TODO THANKS +%defattr(-,root,root,-) %dir %{_sysconfdir}/a2ps %config %{_sysconfdir}/a2ps.cfg %config(noreplace) %{_sysconfdir}/a2ps-site.cfg -%{_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 +%doc AUTHORS ChangeLog COPYING NEWS README TODO THANKS +%{_bindir}/* +%{_libdir}/liba2ps.so.* +%{_infodir}/a2ps.info* +%{_infodir}/ogonkify.info* +%{_infodir}/regex.info* +%{_mandir}/*/* +%{_datadir}/a2ps/afm/fonts.map %{_datadir}/a2ps/afm/*.afm -# automatically regenerated at install and update time -%verify(not size mtime md5) %{_datadir}/a2ps/afm/fonts.map %{_datadir}/a2ps/afm/make_fonts_map.sh %{_datadir}/a2ps/README %{_datadir}/a2ps/encoding @@ -304,227 +264,11 @@ exit 0 %{_datadir}/a2ps/ps %{_datadir}/a2ps/sheets %{_datadir}/ogonkify/ -%{_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 +%{_datadir}/emacs/site-lisp/* +%dir %{_datadir}/a2ps/afm +%dir %{_datadir}/a2ps %changelog -* Fri Jan 16 2026 Fedora Release Engineering - 4.15.8-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Fri Dec 12 2025 Zdenek Dohnal - 4.15.8-1 -- a2ps-4.15.8 is available (fedora#2418953) - -* Wed Jul 23 2025 Fedora Release Engineering - 4.15.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Mon Jul 14 2025 Zdenek Dohnal - 4.15.7-1 -- 4.15.7 (fedora#2379508) - -* Fri Jan 17 2025 Zdenek Dohnal - 4.15.6-3 -- fix build with GCC 15 (fedora#2336012) - -* Thu Jan 16 2025 Fedora Release Engineering - 4.15.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Jul 17 2024 Fedora Release Engineering - 4.15.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Thu Mar 14 2024 Zdenek Dohnal - 4.15.6-1 -- 2269423 - a2ps-4.15.6 is available - -* Mon Jan 22 2024 Fedora Release Engineering - 4.15.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 4.15.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Jul 27 2023 Zdenek Dohnal - 4.15.5-1 -- 2225694 - a2ps: FTBFS in Fedora rawhide/f39 -- 2189133 - a2ps: FTBFS in rawhide, 64-bit and C99 compatibility issues -- 2176254 - a2ps-4.15.5 is available -- SPDX migration done - -* Wed Jul 19 2023 Fedora Release Engineering - 4.14-53 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Jan 18 2023 Fedora Release Engineering - 4.14-52 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Jul 20 2022 Fedora Release Engineering - 4.14-51 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Jan 19 2022 Fedora Release Engineering - 4.14-50 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jul 21 2021 Fedora Release Engineering - 4.14-49 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Mon Jan 25 2021 Fedora Release Engineering - 4.14-48 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Jan 18 2021 Zdenek Dohnal - 4.14-47 -- make eln changes - remove dependency on ImageMagick and html2ps - -* Thu Nov 05 2020 Zdenek Dohnal - 4.14-46 -- make nor gcc are in buildroot anymore - -* Fri Jul 31 2020 Fedora Release Engineering - 4.14-45 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 4.14-44 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jan 28 2020 Fedora Release Engineering - 4.14-43 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Mon Jan 06 2020 Zdenek Dohnal - 4.14-42 -- a2ps: new texinfo needs to have documentencoding defined - -* Wed Jul 24 2019 Fedora Release Engineering - 4.14-41 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu Jan 31 2019 Fedora Release Engineering - 4.14-40 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Jul 12 2018 Fedora Release Engineering - 4.14-39 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Mon Jun 18 2018 Zdenek Dohnal - 4.14-38 -- removing install-info, because now it is done automatically - -* Mon Feb 19 2018 Zdenek Dohnal - 4.14-37 -- fix tetex-fonts dependency - now provided by texlive-collections-fontsrecommended - -* Fri Feb 16 2018 Zdenek Dohnal - 4.14-36 -- remove tetex dependency - -* Thu Feb 08 2018 Zdenek Dohnal - 4.14-35 -- remove old stuff https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/MRWOMRZ6KPCV25EFHJ2O67BCCP3L4Y6N/ - -* Wed Feb 07 2018 Fedora Release Engineering - 4.14-34 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Nov 07 2017 Igor Gnatenko - 4.14-33 -- Remove old crufty coreutils requires - -* Wed Aug 02 2017 Fedora Release Engineering - 4.14-32 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 4.14-31 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Feb 10 2017 Fedora Release Engineering - 4.14-30 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Wed Feb 03 2016 Fedora Release Engineering - 4.14-29 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Tue Jun 23 2015 Tim Waugh - 4.14-28 -- Moved emacs sub-packages into main package (bug #1234582). - -* Tue Jun 16 2015 Fedora Release Engineering - 4.14-27 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Fri Aug 15 2014 Fedora Release Engineering - 4.14-26 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Fri Jun 06 2014 Fedora Release Engineering - 4.14-25 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Thu Apr 3 2014 Tim Waugh - 4.14-24 -- Prevent another build failure with -Werror=format-security. - -* Tue Apr 1 2014 Tim Waugh - 4.14-23 -- Invoke gs with the -dSAFER option in fixps (CVE-2014-0466, bug #1082411). - -* Tue Dec 3 2013 Tim Waugh - 4.14-22 -- Prevent build failure with -Werror=format-security (bug #1036979). - -* Sat Aug 03 2013 Fedora Release Engineering - 4.14-21 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Tue Apr 30 2013 Tim Waugh - 4.14-20 -- Avoid a bad free in the encoding handling logic (bug #954104). - -* Mon Apr 29 2013 Tim Waugh - 4.14-19 -- Support for building on aarch64 (bug #924962). - -* Tue Mar 26 2013 Tim Waugh - 4.14-18 -- Fixed texi build failure (bug #927633). - -* Wed Feb 13 2013 Fedora Release Engineering - 4.14-17 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Wed Jul 18 2012 Fedora Release Engineering - 4.14-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Wed Apr 4 2012 Tim Waugh - 4.14-15 -- Link to libm in liba2ps (bug #809673). - -* Thu Jan 12 2012 Fedora Release Engineering - 4.14-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Wed Aug 10 2011 Tim Waugh - 4.14-13 -- Coverity fixes (resource-leak, overrun-static, overrun-dynamic, - forward-null). - -* Mon Feb 07 2011 Fedora Release Engineering - 4.14-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Sun Mar 14 2010 Jonathan G. Underwood - 4.14-11 -- Spec file fixes for Emacs add-on guideline compliance -- Move *.el(c) files to their own directory -- Use Emacs packaging macros -- Remove unneeded pkgconfig macros - -* Fri Jul 24 2009 Fedora Release Engineering - 4.14-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Wed Jul 22 2009 Adam Jackson 4.14-9 -- Requires: psutils-perl for fixps - -* Mon Feb 23 2009 Fedora Release Engineering - 4.14-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Fri Jan 30 2009 Tim Waugh 4.14-7 -- Removed trade marks to avoid potential confusion. - -* Wed Sep 24 2008 Tim Waugh 4.14-6 -- Removed patch fuzz. - -* Thu May 29 2008 Tim Waugh 4.14-5 -- Removed old patches. - -* Sun May 18 2008 Patrice Dumas 4.14-4 -- remove dots in node names, patch from Vitezslav Crhonek (bug #445971) - -* Wed May 14 2008 Patrice Dumas 4.14-3 -- %%{_datadir}/a2ps/afm/fonts.map is dynamically generated, mark it - as such in %%files (bug #70919) - -* Sun Apr 27 2008 Patrice Dumas 4.14-2 -- update to 4.14 -- don't obsolete the provided version of a2ps-i18n -- use html2ps for the html delegation -- BuildRequires gperf - -* Tue Feb 12 2008 Patrice Dumas 4.13b-71 -- use a predictable stamp inside the etc/README file -- follow emacs packaging guidelines - -* Tue Feb 12 2008 Tim Waugh 4.13b-70 -- Separate out libs sub-package for multilib (bug #340571). - * Wed Sep 26 2007 Tim Waugh 4.13b-69 - Try out a perl stylesheet speed improvement (bug #252183). @@ -764,7 +508,7 @@ exit 0 * Thu Apr 26 2001 Florian La Roche - call libtoolize to allow easy porting to new archs -* Wed Feb 28 2001 SATO Satoru +* Thu Feb 28 2001 SATO Satoru - bunzip2-ed all patches except eucjp * Thu Feb 22 2001 SATO Satoru diff --git a/sources b/sources index 6e71d18..99a216b 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ -SHA512 (a2ps-4.15.8.tar.gz) = b6c66c32f7b499fee19d0f6b4b3eed2ba5a5d6dcc74f99ac3434fa261d11b24c755345afc95b3839b1f21425d0aea17ccea5e13fda37f77e0f17da3f8e3ef786 -SHA512 (i18n-fonts-0.1.tar.gz) = 670853cd0acc5feca572c1b0969d8fd506d2cdee0114d41d0a615f994455bd8ce122bfb02d92b85d18ddd9daa7174b86ccb3fdab92c1769aab066cbc62811fde +8e6a684611da92c9de2a42e7803aa8f0 a2ps-4.13-eucjp.patch.bz2 +fee1456d0e6e94af4fc5b5a1bb9687b7 i18n-fonts-0.1.tar.gz +4c7efbbbb03558e3c900d2b3b4e3fbf0 a2ps-4.13b-GPL.tar.gz