summaryrefslogtreecommitdiff
path: root/time/pcal
diff options
context:
space:
mode:
authorriastradh <riastradh@pkgsrc.org>2020-04-08 06:14:46 +0000
committerriastradh <riastradh@pkgsrc.org>2020-04-08 06:14:46 +0000
commita4dbd3d2bcd311817d06fbd05f71069dfc8bd7cd (patch)
treeeb534b65e0dd6275925bd8990d7850cace3da508 /time/pcal
parent9e3debb95254fc440992d84e9ab2bb473ed07f61 (diff)
downloadpkgsrc-a4dbd3d2bcd311817d06fbd05f71069dfc8bd7cd.tar.gz
pcal: Update to version 4.11.0
Changes since 4.7: "Pcal" Version 4.11.0 This release of 'pcal' includes additional functionality, some bug fixes, and an update of the associated documentation. Major changes: 1) New functionality: - Support for the following languages has been added: - Slovak ("-a sk") Thanks to Zdenko Podobny for this patch and for a new calendar configuration file with Slovak holidays ('calendar_sk.txt'), which is now included in the 'examples' directory. - Hawaiian ("-a ha") Thanks to Eric Nichols for this patch. - Added a sample Spanish calendar configuration file, with Spanish holidays ('calendar_es.txt'), generously provided by Francisco José Marín Pérez. Aside: The file was renamed from his original name of 'calendar_sp.txt' to 'calendar_es.txt', in order to match the convention of using ISO 3166 (country codes) for 'pcal' sample configuration files. - Allow the drawing of moon phase icons ('-m' or '-M') and Julian dates ('-j' or '-J') on yearly-format calendars. Previously, these features were only allowed on monthly-format calendars. If someone has eyes good enough to see these things, they should be allowed to add them to their yearly-format calendars! :^) Since moon phase icons and Julian dates were automatically disabled on yearly-format calendars in older releases, you might be surprised to suddenly find these (possibly unwanted) items on your yearly-format calendars, assuming you have a 'pcal' configuration file (loaded with '-f') with one of those 4 options enabled (i.e. 'opt -m', 'opt -M', 'opt -j', and/or 'opt -J'). If you want to see moon phases or Julian dates _only_ on your monthly-format calendars, simply modify your configuration file(s) to use a check such as this: # # Display moon phase icons on every day of the month. # # Beginning with version 4.11.0, this works on yearly-format (1 # year per page) calendars too. But it can be disabled as shown # below. # ifndef whole_year opt -M endif Note that the 'pcal-cfg.txt' sample configuration file (distributed with 'pcal' in the 'examples' subdirectory) has some examples of this too. - Added a new preposition -- 'on'. The use of this preposition is similar to the existing prepositions like 'on_or_before' and 'on_or_after', but it requires that the event occur exactly on the specified day. Some examples to clarify: Sat on Jul 4 Huge party! This example causes the text "Huge party!" to be displayed only if July 4th (for that year) occurs on a Saturday. Fri on all 13 Avoid black cats! This example causes the text "Avoid black cats!" to be displayed on Friday the 13th, for every month ("all") in which it occurs. This new feature was added based on a request from (and partially based on a patch from) Erkki Petsalo. - Added a new option -- '-W [ left | center | right ]' -- to specify the horizontal alignment of the month/year title displayed at the top of monthly-format calendars. The default is, of course, 'center'. Thanks to Todd Foster for providing a complete and thorough patch to provide this new feature. He uses it to avoid splitting the month/year label as he cuts a monthly-format calendar apart to fit into a 6x9-inch notebook, but this feature might be useful to others as well. - Per a request from Stefan Haubenthal, who provided a small patch and a proper makefile ('Makefile.Amiga'), re-added support for the Amiga platform, which had been removed in the last release (due to unavailability of someone to test on that platform). 2) Removed functionality: - Removed the long-obsolete external 'moon file' concept. Now, we depend solely on the algorithmic determination of moon phases, which has been in place for many years and seems to be plenty accurate. The 'moon98' file (with manual entries of the dates and times of the 4 primary moon phases for all of 1998) was also removed from the 'examples' subdirectory, since it no longer serves any purpose. - The 'F13' pre-defined event has been removed. It is unnecessary now that 'pcal' has support for the new 'on' preposition (described above). Replace any occurrence of 'F13' in your configuration file(s) with this: Fri on all 13 The 'examples/pcal-cfg.txt' and 'examples/calendar_nl.txt' files were altered accordingly, intelligently using a pre-processor 'ifdef' directive and the pre-defined 'pcal' version symbol ('ifdef v4_8_0 | v4_9_0 | v4_9_1 | v4_10_0') to use the appropriate format for this event specification, depending upon which version of 'pcal' is being used. 3) Bug fixes: - Fixed a bug present since the 4.10.0 release of 'pcal' whereby the use of the '-J' (capital 'J') option to display both the Julian date (day of year) and the number of remaining days in the year erroneously caused garbage text (PostScript commands) to appear in place of the number of days remaining in the year. - Fixed a long-standing bug whereby the last line of a 'pcal' configuration file was silently ignored if it ended without a 'line feed' (ASCII 10 character). Thanks to Thomas Zastrow for reporting this bug. - Fixed a long-standing bug in the 'moon phase' calculations. This bug only affected the pure DOS build (i.e. made with 'Makefile.DOS'). It did not affect the Linux/Unix builds or the DJGPP-based or Cygwin-based builds. This bug was causing the major phases of the moon (new, 1Q, full, 3Q) to be erroneously detected on 2 adjacent days instead of on just the single day on which they actually occurred. This in turn caused 2 of the same moon phase icons to appear on adjacent days on monthly-format calendars when the '-m' option was used. Thanks to Eric Nichols who helped to confirm the presence of this bug. 4) Other changes: - In the USA calendar example file and the generic 'pcal-cfg.txt' example file, commented out the pre-2007 rules for Daylight Saving Time (DST) and added new rules for 2007 and beyond. - Made some tweaks to the 'examples/pcal-cfg.txt' 'pcal' sample configuration file, in some cases to demonstrate more 'pcal' functionality. - Added the Polish calendar ('examples/calendar_pl.txt'), provided by Dominik 'Chiron' Derlatka in the previous 'pcal' release, to the release package. It had been inadvertently omitted from the 4.10.0 release (but was available via CVS checkout since then). - Added 2 Unix shell scripts to a new 'scripts' directory in the 'pcal' distribution: - my_daily_reminder_script.sh This script provides daily email schedule reminders. - group_calendaring.sh This script allows a simple 'group calendaring' capability. These scripts were written and generously provided by Kristofer Bergstrom. They help automate his usage of 'pcal' and should prove useful to others. Kris' detailed explanation of the usage of these scripts is available as a link on the main 'pcal'/'lcal' website, but here's the direct link: http://pcal.sourceforge.net/scripts.html - Modified the Unix makefile to allow use of a user-specified destination directory ('$DESTDIR') on the installation step. For example: make DESTDIR=$HOME/test install Thanks to "Jonathan" (who's packaging 'pcal' for Gentoo) for this idea and a related patch. - Made various tweaks and updates to the 'man pcal' page. Some of these are intended to provide more guidance and examples in the use of 'pcal'. Added a long-missing description of the pre-defined symbols for paper size and page orientation, which can be used to advantage in the 'pcal' configuration file. - Fixed up a few errors (wrong credits, etc) and made various required changes to previous release notes in this 'ReadMe.txt' file. Credits: The original calendar PostScript was Copyright (c) 1987 by Patrick Wood and Pipeline Associates, Inc. with permission to modify and redistribute. The following people contributed to Pcal v4.11.0: Bug fixes, support for moon icons and Julian dates on yearly-format calendars, and various other fixes: Bill Marr Slovak language support and config file: Zdenko Podobny Hawaiian language support: Eric Nichols Spanish config file: Francisco José Marín Pérez Useful Unix scripts: Kristofer Bergstrom New 'on' preposition: Erkki Petsalo Title alignment option: Todd Foster Amiga support: Stefan Haubenthal For a list of all known contributors to date, see the 'Authors' section of the 'man' page. Bill Marr (marr99@users.sourceforge.net) 18 Dec 2007 ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- "Pcal" Version 4.10.0 This release of 'pcal' includes additional functionality, some bug fixes, and an update of the associated documentation. Major changes: 1) New functionality: - Support for the following languages has been added: - Danish ("-a da") - Dutch ("-a nl") - Polish ("-a pl") - Romanian ("-a ro") Thanks to Ewald Beekman, a new calendar configuration file with Dutch holidays ('calendar_nl.txt') is included in the 'examples' directory. Thanks to Dominik 'Chiron' Derlatka, a new calendar configuration file with Polish holidays ('calendar_pl.txt') is included in the 'examples' directory. 2) Removed functionality: - Support for the OS/2, Amiga, and Vax/VMS platforms has been removed. These platforms are essentially obsolete and the files and code needed to accommodate these platforms was cluttering things up and interfering with further progress by needlessly complicating the code. Anyone needing support for these platforms is advised to continue using the 4.9.1 release of 'pcal'. 3) Bug fixes: - Fixed a couple of long-standing, recently-uncovered bugs in the use of the timezone ('-z') option, which is used in the 'moon phase' calculations: (1) Negative timezone arguments, used for areas east of (i.e. later than) UTC/Greenwich (e.g. '-z-5'), were not being processed correctly. (They were erroneously adjusted by adding a full 24 hours to make them positive.) Thanks to Lalit Chhabra for reporting this bug. (2) The user-specified timezone offset was being normalized to +/- 12 hours. Although this works for the vast majority of users, there are places in the world which are outside that range. For example, Christmas Island (aka 'Kiritimati', in the Pacific Ocean) is in the UTC+14 timezone. The local time there is 14 hours ahead of UTC, so the 'pcal' option would be '-z-14'. Obviously, with such places in the world, we can no longer normalize the user-specified timezone offset to +/- 12 hours. - Fixed a problem whereby certain installations of Cygwin were unable to compile 'pcal', due to a namespace collision between the 'getline()' routine in 'pcal' and the standard C library function 'getline()'. Thanks to Daniela ('Dani') Duerbeck for reporting this and to Stefan Fronzek for confirming that the fix worked. - Worked around a problem whereby a 'segmentation fault' crash can occur when a single entry in the 'pcal' configuration file has more than 100 'words' defining an event. Thanks to Eric Herrera for the crash report. For now, the limit has been increased from from 100 to 300, which should solve the problem for the vast majority of 'pcal' users. 4) Other changes: - Eliminated certain compile-time warnings that occur in a "GCC 3.4.2 + Solaris" build environment, thanks to a report from David Mathog. This involved adding a bunch casting operations to the argument of certain function calls like 'isdigit()' and 'islower()'. - Eliminated the voluminous description of the syntax and operations for the 'pcal' configuration file from the 'pcal -h' output, leaving just the detailed description of the command-line parameters. The long description of the use of 'pcal' configuration file was somewhat out-of-date and basically just (badly) duplicated the content of the 'man pcal' page (or its HTML, PostScript, or ASCII equivalent file). The 'man pcal' page should be treated as the authoritative reference for detailed aspects of 'pcal' operation. - Changed the format for the timestamp in the PostScript comment output ('%%CreationDate:') to one which is more thorough and less ambiguous. - Provide the URL to the 'pcal'/'lcal' website in the header (comment) section ('%%Creator:') of the PostScript output. - In the USA calendar example file, a couple of out-of-date URLs were repaired and some erroneous comment information about the date of George Washington's birthday was fixed. 5) Of interest to 'pcal' hackers and installers: - Made a major change to 'pcal' design. Previously, the PostScript output was generated in part using an external program ('pcalinit[.c]') which read the PostScript template file ('pcalinit.ps') and automatically generated a C header file ('pcalinit.h'). This old method had a few disadvantages: (1) The PostScript output that it generated was ugly, with no whitespace (vertically or horizontally) and devoid of the (useful) comments that were part of the PostScript template file. This made reading the PostScript much harder. (2) It was harder to take advantage of patterns in the PostScript output, causing redundancy. (3) It was harder to compile (especially as the size of the PostScript template file grew) under limited environments, like DOS. The new method generates all the PostScript output using C code only. Minor optimizations in the code can be made this way, without needlessly replicating similar chunks of PostScript code. This puts some of the logic behind the PostScript output back into C code, where it's easier to see what's happening. In truth, this change was first made (recently) to the 'lcal' application, where the inefficiencies are greater. Logically, however, 'pcal' benefited from the same change. - Renamed the 'Makefile' flag 'EPS' to 'EPS_DSC' in order to more clearly show its purpose (i.e. to use different PostScript Document Structuring Conventions [DSC]) and to avoid confusion with the embedded EPS image capability for monthly calendars. Credits: The original calendar PostScript was Copyright (c) 1987 by Patrick Wood and Pipeline Associates, Inc. with permission to modify and redistribute. The following people contributed to Pcal v4.10.0: Bug fixes, various other fixes: Bill Marr Polish language support: Dominik 'Chiron' Derlatka Dutch language support: Ewald Beekman Romanian language support: Claudiu Costin Danish language support: Kenneth Geisshirt For a list of all known contributors to date, see the 'Authors' section of the 'man' page. Bill Marr (marr99@users.sourceforge.net) 06 Aug 2006 ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- "Pcal" Version 4.9.1 This release of 'pcal' includes no new functionality. It contains only a simple bug fix. Major changes: 1) Bug fixes: - Fixed a bug which inadvertently slipped into the 4.9.0 release at the last minute. This bug is only encountered when building for the Unix/Linux, OS/2, or DOS+DJGPP environments (i.e. when using the 'Makefile' file). It causes a syntax error if you attempt to install 'pcal' using the 'make install' command. Bill Marr (marr99@users.sourceforge.net) 24 Aug 2005 ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- "Pcal" Version 4.9.0 This release of 'pcal' includes additional functionality, some bug fixes, and an update of the associated documentation. Major changes: 1) New functionality: - Added new PostScript encoding vectors to support the following character sets: - KOI8-R -- Russian - ISO 8859-2 -- Latin2 (East European) - ISO 8859-3 -- Latin3 (South European) - ISO 8859-4 -- Latin4 (North European) - ISO 8859-5 -- Cyrillic - ISO 8859-7 -- Greek - ISO 8859-9 -- Latin5 (Turkish) - ISO 8859-10 -- Latin6 (Nordic) - ISO 8859-11 -- Thai - ISO 8859-13 -- Latin7 (Baltic Rim) - ISO 8859-14 -- Latin8 (Celtic) - ISO 8859-15 -- Latin9 (adds euro, etc) Note that not all of these new encodings are currently used, simply because a language which requires the use of a given encoding may not yet be supported by 'pcal'. Any of these encodings which are not yet used have been added with the intent of simplifying the future addition of support for other languages. Furthermore, encodings for Arabic (ISO 8859-6), Hebrew (ISO 8859-8), and Latin10 (ISO 8859-16) are not currently supported at all, but placeholders have been added to the 'pcal' source code to allow easier entry of those encodings in the future, if someone comes up with the necessary PostScript encoding vectors. - Support for the following languages has been added: - Czech ("-a cz") - Hungarian ("-a hu") - Catalan ("-a ca") - Russian language support is no longer considered "experimental", now that 'pcal' properly supports the KOI8-R character encoding. The default encoding for Russian is now KOI8-R instead of KOI8-U (which was used in v4.8.0 as a crude, temporary method). Latvian and Lithuanian language support is no longer considered "experimental", now that 'pcal' properly supports the 'Latin7' (ISO 8859-13) character encoding. The default encoding for both Latvian and Lithuanian is now 'Latin4' instead of 'Latin1' (which was used in v4.8.0 as a crude, temporary method). 2) New date file functionality: - Based on a patch from Bill Bogstad, added the capability to delete specific events, thereby allowing one to exclude one or more events that were inserted as a group of events, by using the new 'delete' keyword. More details are in the 'man' page. The sample configuration file ('examples/pcal-cfg.txt') also includes an example of the usage of this new capability. 3) Other changes: - Changed the date/event separator character from a space to a tab when using the '-c' option (to output text lines which are compatible with the Unix 'calendar' program). This was done at the behest of a user who found that the space character was inadequate as a separator. In fact, the 'calendar' program from a recent stable version (6.0.17) of the Debian 'bsdmainutils' package proves that the space character is truly inadequate as a separator when running 'pcal -c > pcal-output.txt; calendar -f pcal-output.txt'. - Added a Perl script ('html/pcal.pl') from David Mathog which is an alternate way (compared to the existing 'pcal.cgi' Bourne shell script) to generate calendars via HTML/CGI. - Now that new character encodings are available, the default Greek-language character encoding was changed from 'Latin-1' (ISO 8859-1) to 'Greek' (ISO 8859-7) to prevent having to specify '-r none' in order to get a usable Greek calendar. - Added new 'pcal' calendar configuration files to the 'examples/' directory: - 'calendar_us.txt' This example, provided by J. Rhett Hooper, contains events for users in the USA. - 'calendar_hu.txt' This example, provided by Ferenc Kruzslicz, contains events for users in Hungary. - Now that the Latin3 (ISO 8859-3) character encoding is provided, there's no need to use the previous (customized) method of supporting the Esperanto language. Because of this, the custom 'Esperanto' encoding has been eliminated. Esperanto speakers/users should now just use the standard 'Latin3' (ISO 8859-3) characters, which fully support the unique characters in the Esperanto language. This change cleans up the code in several spots. - Tweaked several of the sample calendar configuration files in the 'examples/' directory to not specify any fonts. The specification of fonts is better left to the command line, since the necessary fonts to display/print a given language's calendar will undoubtedly differ amongst various users. - Added several new 'examples/fonttest_*' files to support testing of the various character encodings. These 'font test' files can be used as shown in this example to check any of your fonts for use with the specified character encoding: pcal -f examples/fonttest_koi8r -n some_koi8_fontname Renamed old 'examples/fonttest_x' files to be more explicit, thereby avoiding confusion with newly-added 'fonttest' files. - Fixed a long-standing misrepresentation of the Spanish word for 'Saturday'. The word is 'Sábado', but the acute accent on the first 'a' was missing. - Fixed misrepresentations of the Lithuanian word for 'August' and the Latvian words for 'June' and 'July'. Since these languages were added in the previous release, these months erroneously used a 'u'+circumflex instead of the proper 'u'+macron. 4) Bug fixes: - Fixed a bug introduced in version 4.8.0 whereby the specification of a plural form of the day-of-week name was not being properly detected, reporting an 'unrecognized line in file' error. Here's an example: all Fridays in Oct xxxxx Thanks to Pedro I. Sanchez <pedro.sanchez at rogers.com> for reporting this bug. A work-around for this bug was to simply change the plural form to the singular form (e.g. "Fridays" to "Friday" or just "Fri"). - Fix a long-standing bug whereby a centered "footer" specification with 'strftime()'-like date specifiers used in an HTML yearly calendar was using/showing the correct date values for the HTML 'title' but the wrong date values for the centered header string at the start of the actual displayed (HTML) content. 5) Documentation changes: - Added an entry to this 'ReadMe.txt' file in the v4.8.0 'Bug fixes' section due to a last-minute v4.8.0 change to fix a couple of security holes which accidentally went undocumented in this file. - Various updates throughout. 6) Of interest to 'pcal' hackers and installers: - All PostScript encoding vectors used to define the various character encodings were defined as 'readonly'. This is mostly a cosmetic change rather than a functional change. - Made changes to the 'Makefile.DOS' file to accommodate the separate directories for the source, the objects, and the executables. That change should have been part of the v4.8.0 release but was accidentally neglected. Make further changes to the DOS build process (via 'Makefile.DOS'): - Define '-DEPS' so that EPS-compatible PostScript is generated, just like has been done for the Unix build for a while. This allows PostScript utilities to process pages more intelligently (e.g. so that a preview utility can page up and down properly). - Define several compile-time flags to prevent certain warnings. - Define the '-DPROTOS' compile-time flag to include full prototypes, thereby preventing many warnings about 'missing prototype'. - Define the '-DSTDLIB' compile-time flag to prevent warnings about multiply-defined prototypes. - To enhance compatibility with the Debian GNU/Linux distribution, made a change to the (Unix, OS/2, DOS+DJGPP) 'Makefile' file (specifically, to the 'D_SEARCH_PCAL_DIR' variable) to default to _not_ searching the directory with the 'pcal' executable file when searching for the 'calendar' ('pcal' configuration) file. - Made a minor change to the (Unix, OS/2, DOS+DJGPP) 'Makefile' file based on a patch from Thiago F.G. Albuquerque to prevent an error when building in the DOS+DJGPP environment when the directory specified by 'CATDIR' does not exist. - Remove obsolete comment in the 'Makefile' file about separate directories for the source, the objects, and the executables. This comment was accidentally left in place for the v4.8.0 release. - In 'pcallang.h', to be consistent, converted all high-order characters in the language string specifications to simple octal format, to match the octal format used in the PostScript encoding vector specifications of 'pcalinit.ps'. This makes it easier to edit the 'pcallang.h' file in any editor. It also makes checking of the language strings against the character encodings simpler. Credits: The original calendar PostScript was Copyright (c) 1987 by Patrick Wood and Pipeline Associates, Inc. with permission to modify and redistribute. The following people contributed to Pcal v4.9.0: Bug fixes, 12 new character encodings, language support, various other fixes: Bill Marr Event deletion capability: Bill Bogstad Czech language support: Peter Cernoch Hungarian language support: Ferenc Kruzslicz Catalan language support: Carles Sadurní Anguita Perl script for HTML/CGI: David Mathog US example calendar: J. Rhett Hooper DOS/DJGPP build fix/support: Thiago F.G. Albuquerque For a list of all known contributors to date, see the 'Authors' section of the 'man' page. Bill Marr (marr99@users.sourceforge.net) 18 Aug 2005 ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- "Pcal" Version 4.8.0 This release of 'pcal' includes additional functionality, some bug fixes, and a thorough update of the associated documentation. Major changes: 1) New functionality: - A method of adding Encapsulated PostScript (EPS) images to any given day(s) on a monthly-format calendar has been incorporated. Now you can have (e.g.) photos of a person on their birthday and/or icons for various holiday events, etc. For details, see the expanded documentation in the 'man' file, but briefly, to add an EPS image (photo, icon, etc) to a day, use an event entry like this (for the Thanksgiving holiday event): 4th Thu in Nov* image:/eps-path/turkey.eps 1.0 1.0 0 0 The 'image:' text is a keyword which precedes the EPS image filename. As shown, a path to the file can be specified. The first 2 values after the EPS image name are X/Y scaling values, in case the output of the EPS file is not sized properly (which is almost always the case) to fit in the 'day box'. The last 2 values are X/Y translations, in case you want to move the EPS image around within the 'day box'. Note: Your EPS images will not be directly usable! As a minimum, you'll first need to remove/comment-out the PostScript 'showpage' command near the end of the EPS image file! Depending upon the source of the EPS image, you may also want to remove/comment-out some of the PostScript 'translate' commands too. Again, much more information about all this can be found in the 'man' page for 'pcal', so please read that first! A sample EPS image (the 'recycle' icon, with 3 green arrows in a circle) has been provided with the 'pcal' distribution (under the 'eps/' directory) as a quick way to test the EPS image embedding capability on one of your calendars. This file was converted from a '.WMF' image file (using the 'libwmf'/'wmf2eps' library/utility mentioned in the 'man' file) and the string '%%% DISABLED: ' was prepended in 3 spots to disable the PostScript 'translate' and 'showpage' commands associated with those lines. This file is intended as a guide for what needs to be done to make your own EPS images usable by 'pcal'. To test with this sample EPS icon, add lines like these to your 'pcal' configuration file: second Sat in all RECYCLE! second Sat in all image:/path-to-eps/recycle.eps 0.029 0.029 66 -28 With the provided X/Y scaling and X/Y translation values, it should place the symbol in the lower right corner of the 'day box', assuming you're using letter-sized paper and landscape orientation on a monthly calendar. - Support for 'legal' (8.5 x 14.0 inch) and 'tabloid' (11.0 x 17.0 inch) paper has been added. Specifying the paper size is now done differently than in the past. See the section 'New command-line options' (below) for details. - Added new automatically-defined symbols based on the current paper size: - "PAPERSIZE_LETTER" - "PAPERSIZE_LEGAL" - "PAPERSIZE_A4" - "PAPERSIZE_TABLOID" These can be useful for providing alternate values in the 'pcal' configuration file for EPS image placement and scaling, based on paper size. - Added new automatically-defined symbols based on the current page orientation: - "ORIENTATION_PORTRAIT" - "ORIENTATION_LANDSCAPE" These can be useful for providing alternate values in the 'pcal' configuration file for EPS image placement and scaling, based on the page orientation. - Support the definition of a symbol value along with a symbol name in 'define' pre-processor directives in the 'pcal' configuration file. For example: define sem_start 8/23 # Beginning of semester sem_start CIS136 Start 7th day after sem_start CIS136 Quiz 1 14th day after sem_start CIS136 Quiz 2 undef sem_start This capability came from an unknown author via the Debian Bug Tracking System for 'pcal'. It was somewhat buggy in the Debian implementation, but was (completely?) repaired prior to inclusion in this release of 'pcal'. - Support for the following languages has been added: - Swedish ("-a sv") - Ukrainian ("-a uk") - Portuguese ("-a pt") - Estonian ("-a et") - Russian ("-a ru") - Latvian ("-a lv") - Lithuanian ("-a lt") Note: The support for Russian, Latvian, and Lithuanian is considered "experimental". The day-of-week names and month names have been provided for these languages, but the character encodings have not been provided. Russian support has been set up to use the KOI8-U (Ukrainian) character encoding instead of the KOI8-R encoding that it should use. Latvian and Lithuanian support have been set up to use the Latin-1 (ISO-8859-1) encoding instead of the ISO-8859-13 character encoding that they should use. From a practical standpoint, this probably means that these languages will appear mostly correct (i.e. for characters which can be displayed/printed in the encoding used) but will not be 100%. Patches would be gratefully accepted from anyone with the expertise to provide the necessary character encodings! UPDATE: As of 'pcal-4.9.0', Russian, Latvian, and Lithuanian language support is no longer considered "experimental" due to the addition of the proper character encodings for those languages. See the 'pcal-4.9.0' release notes (above) for details. - Substantial changes were made to the HTML user interface used to generate calendars. Added the appropriate option for the (already-existing) Finnish language support. Changed the 'Language:' selection in HTML calendar generation files ('pcal.html' and 'pcalw.html') to support the new languages. Also, make this a 'drop-down' list instead of a series of 'radio buttons', which makes for a cleaner interface now that there are 12 language options. Added a new 'Paper Size' option to correspond to the new '-P' option to 'pcal'. Changed the description of the last option ('Holidays:') to 'Bypass Date File Processing:' to more accurately reflect what it really does! Changed the interface for this item to a 'check box' instead of 2 'radio buttons' to match common user interface guidelines and to clean-up the interface. Changed references to 'gray' date numerics to instead say "'date shade' color (default = gray)" to reflect the fact that a user can override the 'grey' default color in his/her 'pcal' options file (via the 'opt -s ...' command/switch). Provide a new 'default' option for all the 'Day Numerics' (Weekday, Sat/Sun, Holiday) selection sets. This allows the CGI script to bypass the specification of the '-g', '-O', '-G', and '-b' options. This is needed because of odd interactions between these switches which prevented the creation of a simple colored calendar. For example, there was no way to generate a monthly or yearly calendar with the defaults (Mon-Fri in black, Sat/Sun in the 'date shade' [gray by default] color, and holidays in the 'date shade' [gray by default] color, even though this is the common case when PostScript calendars are generated from the command line version of 'pcal'. Make separate entries for 'day numerics' font and 'title (etc) font' to the user interface since these are distinct and therefore separately controllable in 'pcal'. Previously, whatever font the user selected was used in both cases. Overhauled each group of 'radio buttons', changing from a horizontal set of options (which was long and difficult to discern for some entries) to a nicer, more-readable set of vertically-aligned options in a clean, captioned table for each group of radio buttons. Provide the user interface option to generate HTML-format calendars instead of PostScript-format calendars. 2) New command-line options: - In the past, the paper size could only be specified via the 'Makefile', which required recompiling if you wanted to change paper sizes. This is somewhat bothersome, but even more so now that 'pcal' supports more paper sizes (i.e. not just 'letter' and 'A4'). Beginning with this release of 'pcal', a new '-P' option is now supported to declare the 'paper size'. This option takes a value which can be any of the following (case-insensitive) values: - "letter" - "legal" - "a4" - "tabloid" This option can be specified using any of the 3 methods: (1) via the 'PCAL_OPTS' environment variable, (2) via the 'pcal' configuration file (aka '.calendar', aka the 'date' file), or (3) via the command line itself. 3) New date file functionality: - Added support for "Friday the 13th" events. Use the keyword 'F13' on the event specification. For example: F13 Avoid black cats! - Added a new 'input-language' directive for the 'pcal' configuration file. It takes a single parameter -- the 2-letter version of the ISO 639 (language code) standard. This 'input language' will be used when deciphering any month names and/or day-of-week names when processing the event entries in the 'pcal' configuration file. The default language is currently the same as the default 'output' language (English). An example entry in the 'pcal' configuration file: input-language fr # interpret event dates in French In previous versions of 'pcal', which had no concept of 'input' and 'output' languages, both the default language (English) and the currently-selected ('output') language were checked when parsing and checking for month names and day-of-week names during event processing. For the same reason as the creation of this new 'input-language' directive (i.e. to avoid conflicts), the default language is no longer checked in addition to the current (input) language. Only the current 'input' language is checked. Note that the input language only makes sense in the 'pcal' configuration file, so it can only be specified there. Note also that the 'input language' can be changed as needed at any time during processing of the 'pcal' configuration file, for the rare case where someone has multiple language event definitions within the same file. 4) Other changes: - The 2-letter language code for Greek was re-assigned from 'gr' to 'el' to be compatible with ISO 639 (2-letter and 3-letter language codes). This means that you need to (for example) use '-a el' on the 'pcal' command line to generate a Greek-language calendar rather than the old '-a gr'. - Added the '-p' and '-l' flags ('portrait' and 'landscape' paper orientations) to the list of those processed from the command line prior to the processing of the 'pcal' configuration file. This is needed so that directives like 'ifdef ORIENTATION_PORTRAIT' in the configuration file work as expected. - Fixed a flaw in the sizing of calendars generated in the 'portrait' page orientation. They were not using as much of the physical page space as they should have been. - Collected all sample 'calendar options' files for various countries (some which were on the 'pcal' website or in the mailing list archives but weren't part of the actual distribution) and named them all 'calendar_XX.txt' where 'XX' is the 2-letter country name code based on the ISO 3166 standard. This required a change to the Greek ('gk' to 'gr') and Estonian ('et' to 'ee') 2-letter codes used in the filenames. Since 'pcal' can be run under DOS, converted sample 'calendar options' files from Unix-style to DOS-style line-endings (as needed) for maximum portability. - The '%a' format specifier (which is used to represent the abbreviated day-of-week name [e.g. 'Wed']) was using a simplified method of generating the abbreviated name from the full name -- by using just the first 3 characters. With the addition of Ukrainian and (later) Estonian language support, this simple scheme became inadequate because those languages don't use 3-character abbreviations for the day-of-week names. Instead, a new array (with entries for each supported language) of the abbreviated day-of-week names was created. The '%a' format specifier uses this new array to derive abbreviated day-of-week names. 5) Bug fixes: - Fixed a design flaw whereby certain languages (like Italian, French, Esperanto, and Spanish) which have a day-of-the-week name with the same first 3 letters as a month name can cause problems detecting events in the 'pcal' configuration file. Aside: When parsing unknown tokens, day-of-week names are compared before month names. For example, French has the day 'Mardi' (Tuesday) and the month 'Mars' (March). Finnish has the day 'Maanantai' (Monday) and the month 'Maaliskuu' (March). The following event in the configuration file will yield an error because the string intended as an abbreviated month name 'Mar' (for 'Mars'/March) is erroneously interpreted as a weekday name 'Mardi': Mar 21 Event for March 21st It should be possible to specify the full month name ('Mars') to avoid the conflict, but 'pcal' was only examining the first 3 letters of the weekday names when looking for a matching token. The code which looks for matching weekday names has now been modified to use the full length of the specified token string from the configuration file, which allows one to specify the full name of the month to avoid any conflict. Note: A similar change was made to the month name comparison, because an event of 'Mars 21' (French) was being erroneously detected in an English-language setting! This ties in with the new 'input-language' directive (described above). - Fix bug whereby 'Holidays:' option in 'pcalw.html' was using older, incorrect name, causing that option to be completely ignored. - Fixed the bug (present since v4.7.1 of 'pcal', and previously documented on the 'pcal' website) whereby use of the '-q' option to generate 1-column-per-month HTML output required one to use the '-F 1' flag to force the day-of-week to begin with 'Monday'. This restriction is now removed and one can generate HTML 1-column-per-month calendars with any value for the '-F' flag (or without using the '-F' flag at all). - Fixed a couple of security holes whereby a malicious calendar file (e.g from an external source) could cause an exploitable buffer overflow attack. 6) Documentation changes: - Made major changes to the 'pcal.man' file to bring it up-to-date and make it more useful and/or readable, both in raw format and as a rendered 'man' page. Those changes are described in detail in a newly-added comment section at the beginning of that file, which acts as a 'ChangeLog' section. See that file for details. - Provided a new sample 'pcal' configuration file ('pcal-cfg.txt') in the new 'examples/' subdirectory. This file attempts to demonstrate the various features that are possible with 'pcal' in a manner which is well-documented and can be easily incorporated by others into their own 'pcal' configuration file(s). It was created with the idea that "an example (or two, or three) is worth a thousand words". Among other things, it demonstrates the use of various format specifiers, the use of the 'Notes' box, the use of pre-processor directives and conditional processing, and the use of some predefined events. - Removed the 'Pcal.hlp' file, which was essentially just a duplicate of the 'pcal.man' content in a human-readable form. The content of the 'pcal.man' file is intended to be pre-rendered (by the 'pcal' maintainer / release manager) into other human-readable forms (PostScript, HTML, ASCII text) as described in the 'Overview:' section at the beginning of this file. Now, there are essentially just 2 files which need to be updated to document 'pcal' operation: 'pcal.man' and 'ReadMe.txt'. Renamed 'ReadMe' to 'ReadMe.txt' and merged all the old versions of 'ReadMe.4.x' into that single file for clarity, consistency, and ease of access. - Moved old 'pscalendar' file into the new 'doc/obsolete/' directory since it only has historical significance. 7) Of interest to 'pcal' hackers and installers: - Created new subdirectories to better organize the 'pcal' distribution files: - 'src/' all 'pcal' source code (*.c, *.h, *.ps) - 'obj/' empty subdirectory which will contain all object code and the single C header file ('pcalinit.h') which is auto-generated at compile time - 'exec/' empty subdirectory which will contain all executable code ('pcal[.exe]' and 'pcalinit[.exe]') - 'doc/' and 'doc/obsolete/' various documentation (current and historical) - 'examples/' several sample 'calendar options' files, mostly for various holidays in each of several countries; also includes various 'calendar options' files used to test the fonts and character mappings - 'html/' files used to generate calendars using the HTML/CGI (web browser) interface - Added build instructions for the various platforms that 'pcal' supports to this file ('ReadMe.txt'). - Added a new compile-time flags setting ('CFLAGS = -O2 -Wall -W') to the Unix 'Makefile'. The first 2 of those flags were already in the OS/2 'make' file (which was almost identical to the Unix 'Makefile'), but for some unknown reason they were not in the Unix 'Makefile'. Added a brief description of each flag ('-O2' and '-Wall' and '-W') used on the 'CFLAGS = ...' line to the Unix 'make' file. For those not familiar with these flags, '-O2' provides code optimization, '-Wall' enables many compile-time warning messages, and '-W' enables more compile-time warning messages. Made several minor code modifications to prevent the compile-time warning messages that resulted from enabling those flags. - Merged the OS/2 'make' file ('Makefile.os2') into the Unix 'make' file ('Makefile'). These files were almost identical and did not merit separate files. Added support for the DOS+DJGPP environment to this same file. Use these commands: Unix/Linux: make OS/2: make OS=OS2 DOS+DJGPP: make OS=DJGPP - Added a (commented-out) '# PACK = gzip' option in the Unix 'make' file for those who don't have the 'compress' utility. - Modified the existing 'man' target in the Unix 'make' file ('Makefile') to generate the content of the 'pcal' 'man' page in HTML, PostScript, and raw text formats. Before a new release of 'pcal', the 'pcal' maintainer should run 'make man' to generate these help files. These files should also be placed on the 'pcal' website, since the main page provides links to these files. - Removed Control-L ('^L', page eject) characters from C and PostScript source code. Who puts that in source files?!? - Remove obsolete, unused targets and definitions (used to compress and 'uuencode' the source) from Unix and OS/2 'Makefile' files. - Changed 'find_sym()' routine to 'find_sym_name()' to be distinct from new 'find_sym_val()' routine in code searches. - Removed extraneous files from previous distribution ('Makefile~' and 'pcal' [pre-built DOS executable binary file]). If anyone really needs a pre-built 'pcal.exe' DOS executable file, it can always be provided separately on the project webpage. - Change sense of and provide proper comment for 'SEARCH_PCAL_DIR' flag setting in Unix and OS/2 'make' files. - Provide comments in the 'Makefile' for the '-DEPS' option, describing what it does and why it's useful. - Removed executable permission from various text files: moon98 Readme writefil.c Pcal.hlp In general, fixed up the permissions on several files. For example, some makefiles had 'rw' permission and others had just 'r' permission! - Changed the misleading name of array 'holidays[]' to 'predef_events[]' to reflect the fact that this is a list of 'predefined events', which are often, but not necessarily, holiday events. For example, this includes the new 'Friday the 13th' events, which, like every other event in this array, are not treated as a 'holiday' event unless the user specifies a '*' after the date portion of the event specification in the 'pcal' options file. - Converted the 'Makefile.DOS' file from Unix-style line-endings to DOS-style. Tweaked the same file to successfully compile under MS-DOS using the Borland C++ v5.0 compiler. Credits: The original calendar PostScript was Copyright (c) 1987 by Patrick Wood and Pipeline Associates, Inc. with permission to modify and redistribute. The following people contributed to Pcal v4.8.0: EPS images, 'paper size' option, new paper sizes, HTML UI update, various other fixes: Bill Marr "Friday the 13th" events: Don Laursen Swedish language support: Joel Fredrikson Ukrainian language support: Volodymyr M. Lisivka Portuguese language support: Pedro Zorzenon Neto Estonian, Russian, Lithuanian, and Latvian language support: Neeme Praks Enhanced 'define' capability: unknown (requested by Louis Taber) French example calendar: Valéry Bruniaux DOS/DJGPP build support: Thiago F.G. Albuquerque Detection of security holes: Danny Lungstrom For a list of all known contributors to date, see the 'Authors' section of the 'man' page. Bill Marr (marr99@users.sourceforge.net) 15 Dec 2004 ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- "Pcal" Version 4.7.1 This is a new release of "Pcal", the PostScript calendar program. It has minor changes to the 4.7 version: the -q flag that allows the printing of a yearplanner and an additional Finnish languages support with the -a flag. The -q flag gives prints out as one column per month resulting in table that gives a quicker overview over several months and which can be used as a yearplanner. As a yearplanner obviously has less space for text, only the first character of the weekday and the first 5 characters of each calendar entry are printed. Holidays are marked red but the text of the calendar entry is not printed. The yearplanner gives output at the moment only in HTML and therefore has effect only when used the -H flag. To print a half-yearplanner of the first six months: pcal -H -q 1 2003 6 > yearplanner_I_2003.html The Finnish language is switched on with "-a fi". For more general information see the readme-file of version 4.7 below. Stefan Fronzek (stefan@fronzek.akshor.com), January 15 2003
Diffstat (limited to 'time/pcal')
-rw-r--r--time/pcal/Makefile41
-rw-r--r--time/pcal/PLIST4
-rw-r--r--time/pcal/distinfo22
-rw-r--r--time/pcal/patches/patch-aa39
-rw-r--r--time/pcal/patches/patch-ab8
-rw-r--r--time/pcal/patches/patch-ac15
-rw-r--r--time/pcal/patches/patch-ad16
-rw-r--r--time/pcal/patches/patch-ae21
-rw-r--r--time/pcal/patches/patch-af27
-rw-r--r--time/pcal/patches/patch-ag24
-rw-r--r--time/pcal/patches/patch-ah13
-rw-r--r--time/pcal/patches/patch-ai13
12 files changed, 41 insertions, 202 deletions
diff --git a/time/pcal/Makefile b/time/pcal/Makefile
index 04203fc9fed..62880aebfe6 100644
--- a/time/pcal/Makefile
+++ b/time/pcal/Makefile
@@ -1,45 +1,44 @@
-# $NetBSD: Makefile,v 1.19 2020/03/20 11:58:31 nia Exp $
+# $NetBSD: Makefile,v 1.20 2020/04/08 06:14:46 riastradh Exp $
#
-DISTNAME= pcal-4.7
-PKGREVISION= 2
+DISTNAME= pcal-4.11.0
CATEGORIES= time
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=pcal/}
-EXTRACT_SUFX= .tar.bz2
+EXTRACT_SUFX= .tgz
MAINTAINER= pkgsrc-users@NetBSD.org
-HOMEPAGE= http://pcal.sourceforge.net/
+HOMEPAGE= https://pcal.sourceforge.net/
COMMENT= PostScript calendar program
HTDOCS= ${PREFIX}/share/httpd/htdocs
CGIBINDIR= ${PREFIX}/libexec/cgi-bin
WWWSERVER= ${HOSTNAME_CMD:sh}
-.include "../../mk/bsd.prefs.mk" # for PAPERSIZE
-MAKE_ENV+= PAPERSIZE=${PAPERSIZE:Q}
-MAKE_ENV+= CC=${CC:Q} HOST_CC=${CC:Q}
+USE_TOOLS+= gmake
-BUILD_TARGET= pcal
+MAKE_ENV+= CC=${CC:Q}
+
+BUILD_TARGET= exec/pcal
INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 share/doc/pcal ${HTDOCS} ${CGIBINDIR}
pre-install:
- ${MV} ${WRKSRC}/pcal.cgi ${WRKSRC}/pcal.cgi.tmp
+ ${MV} ${WRKSRC}/html/pcal.cgi ${WRKSRC}/html/pcal.cgi.tmp
${SED} -e 's|@@PREFIX@@|${PREFIX}|' \
- < ${WRKSRC}/pcal.cgi.tmp > ${WRKSRC}/pcal.cgi
- ${MV} ${WRKSRC}/pcal.html ${WRKSRC}/pcal.html.tmp
+ < ${WRKSRC}/html/pcal.cgi.tmp > ${WRKSRC}/html/pcal.cgi
+ ${MV} ${WRKSRC}/html/pcal.html ${WRKSRC}/html/pcal.html.tmp
${SED} -e 's|@@WWWSERVER@@|${WWWSERVER}|' \
- < ${WRKSRC}/pcal.html.tmp > ${WRKSRC}/pcal.html
- ${MV} ${WRKSRC}/pcalw.html ${WRKSRC}/pcalw.html.tmp
+ < ${WRKSRC}/html/pcal.html.tmp > ${WRKSRC}/html/pcal.html
+ ${MV} ${WRKSRC}/html/pcalw.html ${WRKSRC}/html/pcalw.html.tmp
${SED} -e 's|@@WWWSERVER@@|${WWWSERVER}|' \
- < ${WRKSRC}/pcalw.html.tmp > ${WRKSRC}/pcalw.html
+ < ${WRKSRC}/html/pcalw.html.tmp > ${WRKSRC}/html/pcalw.html
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/pcal ${DESTDIR}${PREFIX}/bin
- ${INSTALL_SCRIPT} ${WRKSRC}/pcal.cgi ${DESTDIR}${CGIBINDIR}
- ${INSTALL_MAN} ${WRKSRC}/pcal.man ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/pcal.1
- ${INSTALL_DATA} ${WRKSRC}/ReadMe ${DESTDIR}${PREFIX}/share/doc/pcal/ReadMe
- ${INSTALL_DATA} ${WRKSRC}/pcal.html ${DESTDIR}${HTDOCS}
- ${INSTALL_DATA} ${WRKSRC}/pcalw.html ${DESTDIR}${HTDOCS}
+ ${INSTALL_PROGRAM} ${WRKSRC}/exec/pcal ${DESTDIR}${PREFIX}/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/html/pcal.cgi ${DESTDIR}${CGIBINDIR}
+ ${INSTALL_MAN} ${WRKSRC}/doc/pcal.man ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/pcal.1
+ ${INSTALL_DATA} ${WRKSRC}/doc/ReadMe.txt ${DESTDIR}${PREFIX}/share/doc/pcal/README
+ ${INSTALL_DATA} ${WRKSRC}/html/pcal.html ${DESTDIR}${HTDOCS}
+ ${INSTALL_DATA} ${WRKSRC}/html/pcalw.html ${DESTDIR}${HTDOCS}
.include "../../mk/bsd.pkg.mk"
diff --git a/time/pcal/PLIST b/time/pcal/PLIST
index 96f0ceed873..80e0cb1fedb 100644
--- a/time/pcal/PLIST
+++ b/time/pcal/PLIST
@@ -1,7 +1,7 @@
-@comment $NetBSD: PLIST,v 1.6 2009/06/14 21:38:08 joerg Exp $
+@comment $NetBSD: PLIST,v 1.7 2020/04/08 06:14:46 riastradh Exp $
bin/pcal
libexec/cgi-bin/pcal.cgi
man/man1/pcal.1
-share/doc/pcal/ReadMe
+share/doc/pcal/README
share/httpd/htdocs/pcal.html
share/httpd/htdocs/pcalw.html
diff --git a/time/pcal/distinfo b/time/pcal/distinfo
index a0e9e04032c..3ec6400aa44 100644
--- a/time/pcal/distinfo
+++ b/time/pcal/distinfo
@@ -1,15 +1,9 @@
-$NetBSD: distinfo,v 1.7 2015/11/02 23:31:43 agc Exp $
+$NetBSD: distinfo,v 1.8 2020/04/08 06:14:46 riastradh Exp $
-SHA1 (pcal-4.7.tar.bz2) = 4604067da16b7674630eb4d8894406b885e85d89
-RMD160 (pcal-4.7.tar.bz2) = d0b5380da2bbf94c5c5824f3355b583abba593bc
-SHA512 (pcal-4.7.tar.bz2) = eb643ea869e808a813aee8a3d3bb7e259370de464a19d5863ddf0d10429247489eec3e978aae771b2d5b54eb3c71cb3b8052da4e8994b131a0f273658808c494
-Size (pcal-4.7.tar.bz2) = 134913 bytes
-SHA1 (patch-aa) = 4defcb72a9cfdfa167e02b15c896be5550d2b219
-SHA1 (patch-ab) = 95205a855ed29f45f68bdb940f88d33133348b97
-SHA1 (patch-ac) = ab1eee4e3441268255d4bbc2d043db74d3eac2ae
-SHA1 (patch-ad) = ffd8b00dbb716df55be4a7e17f4637dad86bcd1f
-SHA1 (patch-ae) = 34ae04ae56d096b1b2294114428dc1f29af83701
-SHA1 (patch-af) = 1d97ed88bbcadc1187b8a010c6a2856222584bc3
-SHA1 (patch-ag) = e52a268b8301459dcecea70927a0c8862e68435e
-SHA1 (patch-ah) = c8a1ccf6c8f5addd7c4088caae4c8d7fd7f54ef3
-SHA1 (patch-ai) = 86458a1eeffea3722cdbe3d65558c267a7220583
+SHA1 (pcal-4.11.0.tgz) = 214bcb4c4b7bc986ae495c96f2ab169233a7f973
+RMD160 (pcal-4.11.0.tgz) = f2c6d061ff0abbb01c33b8d7617f3e1c03e967c5
+SHA512 (pcal-4.11.0.tgz) = a04ed4e859c4df32dd9c8b8dd8076f88679cc631aa4acecfb23524c14eef758fa3cac41f52bc88a018544e2df025b5f659d1bcc8c8f6c317ebfdcbe197c066c8
+Size (pcal-4.11.0.tgz) = 324368 bytes
+SHA1 (patch-ab) = aa664915b47cf9119ef7a1e5a3db964dc30c9a72
+SHA1 (patch-ac) = da39b0cb675f2e955f183964c9ece0263364c97e
+SHA1 (patch-ad) = eaacccb3b3830e0d169820271e8f74d5ec2fc514
diff --git a/time/pcal/patches/patch-aa b/time/pcal/patches/patch-aa
deleted file mode 100644
index 6fae85049f8..00000000000
--- a/time/pcal/patches/patch-aa
+++ /dev/null
@@ -1,39 +0,0 @@
-$NetBSD: patch-aa,v 1.1.1.1 2000/12/21 06:20:53 kei Exp $
-
---- Makefile.orig Thu Feb 10 01:06:23 2000
-+++ Makefile Thu Dec 21 09:40:35 2000
-@@ -21,8 +21,8 @@
-
- # Set the configuration variables below to taste.
-
--PCALINIT_CC = /bin/cc # native compiler
--CC = /bin/cc # cross-compiler (if target != host)
-+PCALINIT_CC = ${CC} # native compiler
-+CC = ${HOST_CC} # cross-compiler (if target != host)
-
- # Set COMPRESS to your preferred compression utility (compress, gzip, etc.),
- # Z to the file suffix that it generates (.Z, .gz, etc.), and UUC to the file
-@@ -58,9 +58,9 @@
- # PACK = pack
-
- # directories for installing executable and man page(s)
--BINDIR = /usr/local/bin
--MANDIR = /usr/man/man1
--CATDIR = /usr/man/cat1
-+BINDIR = ${PREFIX}/bin
-+MANDIR = ${PREFIX}/man/man1
-+CATDIR = ${PREFIX}/cat1
-
- OBJECTS = pcal.o exprpars.o moonphas.o pcalutil.o readfile.o writefil.o
-
-@@ -112,6 +112,10 @@
- $(D_TEXT) $(D_LINK) $(D_ALINK) $(D_VLINK) \
- $(D_HOLIDAY_PRE) $(D_HOLIDAY_POST) $(D_BLANK_STYLE) \
- $(D_SEARCH_PCAL_DIR)
-+
-+.if defined(PAPERSIZE) && $(PAPERSIZE) == A4 # default Letter (OK?)
-+COPTS += -DA4PAPER
-+.endif
-
- $(PCAL): $(OBJECTS)
- $(CC) $(LDFLAGS) -o $(PCAL) $(OBJECTS) -lm
diff --git a/time/pcal/patches/patch-ab b/time/pcal/patches/patch-ab
index ec0dc73641c..c240144e502 100644
--- a/time/pcal/patches/patch-ab
+++ b/time/pcal/patches/patch-ab
@@ -1,7 +1,7 @@
-$NetBSD: patch-ab,v 1.1.1.1 2000/12/21 06:20:53 kei Exp $
+$NetBSD: patch-ab,v 1.2 2020/04/08 06:14:46 riastradh Exp $
---- pcal.cgi.orig Wed Dec 20 15:43:36 2000
-+++ pcal.cgi Wed Dec 20 15:45:35 2000
+--- html/pcal.cgi.orig Wed Dec 20 15:43:36 2000
++++ html/pcal.cgi Wed Dec 20 15:45:35 2000
@@ -27,8 +27,8 @@
# common calendar file on your system (note that the user can't use his/her
# own calendar file since most servers will execute pcal.cgi as 'nobody')
@@ -12,4 +12,4 @@ $NetBSD: patch-ab,v 1.1.1.1 2000/12/21 06:20:53 kei Exp $
+file=@@PREFIX@@/share/misc/calendar
# set DEBUG=1 to echo debugging output as HTML text
- DEBUG=0
+ # DEBUG=0
diff --git a/time/pcal/patches/patch-ac b/time/pcal/patches/patch-ac
index b8648f8bf92..9b6a37a2ee4 100644
--- a/time/pcal/patches/patch-ac
+++ b/time/pcal/patches/patch-ac
@@ -1,16 +1,7 @@
-$NetBSD: patch-ac,v 1.1.1.1 2000/12/21 06:20:53 kei Exp $
+$NetBSD: patch-ac,v 1.2 2020/04/08 06:14:46 riastradh Exp $
---- pcal.html.orig Thu Feb 10 01:06:23 2000
-+++ pcal.html Wed Dec 20 17:38:53 2000
-@@ -12,7 +12,7 @@
-
- -->
- <HEAD>
--<TITLE>pcal v4.6</TITLE>
-+<TITLE>pcal v4.7</TITLE>
- </HEAD>
-
- <BODY>
+--- html/pcal.html.orig Thu Feb 10 01:06:23 2000
++++ html/pcal.html Wed Dec 20 17:38:53 2000
@@ -21,7 +21,7 @@
<!-- start of form -->
diff --git a/time/pcal/patches/patch-ad b/time/pcal/patches/patch-ad
index c461d4f3a3e..0f33b255e93 100644
--- a/time/pcal/patches/patch-ad
+++ b/time/pcal/patches/patch-ad
@@ -1,16 +1,8 @@
-$NetBSD: patch-ad,v 1.1.1.1 2000/12/21 06:20:53 kei Exp $
+$NetBSD: patch-ad,v 1.2 2020/04/08 06:14:46 riastradh Exp $
---- pcalw.html.orig Thu Feb 10 01:06:23 2000
-+++ pcalw.html Wed Dec 20 17:38:56 2000
-@@ -12,14 +12,14 @@
-
- -->
- <HEAD>
--<TITLE>pcal v4.6 (single-year mode)</TITLE>
-+<TITLE>pcal v4.7 (single-year mode)</TITLE>
- </HEAD>
- <BODY>
- <H2 ALIGN=CENTER>Generate single-page PostScript calendar for entire year</H2>
+--- html/pcalw.html.orig Thu Feb 10 01:06:23 2000
++++ html/pcalw.html Wed Dec 20 17:38:56 2000
+@@ -12,7 +12,7 @@
<!-- start of form -->
diff --git a/time/pcal/patches/patch-ae b/time/pcal/patches/patch-ae
deleted file mode 100644
index 27976f864ce..00000000000
--- a/time/pcal/patches/patch-ae
+++ /dev/null
@@ -1,21 +0,0 @@
-$NetBSD: patch-ae,v 1.1.1.1 2000/12/21 06:20:53 kei Exp $
-
---- pcal.man.orig Thu Dec 21 10:10:45 2000
-+++ pcal.man Thu Dec 21 10:11:15 2000
-@@ -443,14 +443,14 @@
- `&#NNN;' (NNN = any three decimal digits) are also supported. These will
- be propagated intact (be sure to escape the `#' in `&#NNN;') if the output
- is specified as HTML (see the
--.B -\H
-+.B \-H
- flag); otherwise they will be converted to their ASCII equivalents. This
- allows a common date file to be used regardless of whether the desired
- output format is HTML, PostScript, or
- Un*x
- .I "calendar(1)"
- (see the
--.B -\c
-+.B \-c
- flag) input.
- .PP
- Lines in the
diff --git a/time/pcal/patches/patch-af b/time/pcal/patches/patch-af
deleted file mode 100644
index 5adf4cf5b33..00000000000
--- a/time/pcal/patches/patch-af
+++ /dev/null
@@ -1,27 +0,0 @@
-$NetBSD: patch-af,v 1.2 2010/04/29 00:17:14 dholland Exp $
-
---- pcalutil.c.orig 2000-02-09 16:06:23.000000000 +0000
-+++ pcalutil.c
-@@ -1063,11 +1063,11 @@ cvt_escape(obuf, ibuf)
- */
- int
- #ifdef PROTOS
--getline(FILE *fp,
-+get_line(FILE *fp,
- char *buf,
- int *pline)
- #else
--getline(fp, buf, pline)
-+get_line(fp, buf, pline)
- FILE *fp;
- char *buf;
- int *pline;
-@@ -1111,6 +1111,8 @@ getline(fp, buf, pline)
- else
- ungetc(c2, fp);
- }
-+ /* Don't overflow the buffer */
-+ if ( (cp - tmpbuf) < (LINSIZ -1))
- *cp++ = c;
- }
-
diff --git a/time/pcal/patches/patch-ag b/time/pcal/patches/patch-ag
deleted file mode 100644
index daac4d14c19..00000000000
--- a/time/pcal/patches/patch-ag
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD: patch-ag,v 1.2 2010/04/29 00:17:14 dholland Exp $
-
---- readfile.c.orig 2000-02-09 16:06:23.000000000 +0000
-+++ readfile.c
-@@ -235,7 +235,7 @@ read_datefile(fp, filename)
-
- /* read lines until EOF */
-
-- while (getline(fp, lbuf, &line)) {
-+ while (get_line(fp, lbuf, &line)) {
- char suffix;
-
- if (DEBUG(DEBUG_PP)) {
-@@ -1300,8 +1300,9 @@ get_holiday(cp)
- {
- KWD_H *p;
- char tmp[STRSIZ];
-+ memset(tmp,'\0',sizeof(tmp));
-
-- strcpy(tmp, cp); /* make copy without any trailing '*' */
-+ strncpy(tmp, cp,sizeof(tmp)-1); /* make copy without any trailing '*' */
- if (LASTCHAR(tmp) == '*')
- LASTCHAR(tmp) = '\0';
-
diff --git a/time/pcal/patches/patch-ah b/time/pcal/patches/patch-ah
deleted file mode 100644
index 8ec787096c7..00000000000
--- a/time/pcal/patches/patch-ah
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ah,v 1.1 2010/04/29 00:17:14 dholland Exp $
-
---- moonphas.c~ 2000-02-09 16:06:23.000000000 +0000
-+++ moonphas.c
-@@ -526,7 +526,7 @@ read_moonfile(year)
- line = 0;
- mf_date_style = date_style; /* unless overridden by "opt -[AE]" */
-
-- for (nrec = 1; getline(fp, lbuf, &line); nrec++) {
-+ for (nrec = 1; get_line(fp, lbuf, &line); nrec++) {
-
- /* special check for "opt -[AE]" line */
- n = loadwords(words, lbuf);
diff --git a/time/pcal/patches/patch-ai b/time/pcal/patches/patch-ai
deleted file mode 100644
index 095f52a518e..00000000000
--- a/time/pcal/patches/patch-ai
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ai,v 1.1 2010/04/29 00:17:14 dholland Exp $
-
---- protos.h~ 2000-02-09 16:06:23.000000000 +0000
-+++ protos.h
-@@ -106,7 +106,7 @@ void define_font PROTO((char *orig_font,
- void define_shading PROTO((char *orig_shading, char *new_shading,
- char *dflt_shading));
- char *find_executable PROTO((char *prog));
--int getline PROTO((FILE *fp, char *buf, int *pline));
-+int get_line PROTO((FILE *fp, char *buf, int *pline));
- int is_valid PROTO((register int m, register int d, register int y));
- int loadwords PROTO((char **words, char *buf));
- char *mk_filespec PROTO((char *filespec, char *path, char *name));