1
0
Fork 0
mirror of git://slackware.nl/current.git synced 2025-01-30 08:38:10 +01:00

Sun May 28 18:25:43 UTC 2023

l/at-spi2-core-2.48.3-x86_64-1.txz:  Upgraded.
extra/xv/xv-4.1.1-x86_64-1.txz:  Upgraded.
This commit is contained in:
Patrick J Volkerding 2023-05-28 18:25:43 +00:00 committed by Eric Hameleers
parent b6e754b750
commit 073715b120
16 changed files with 165 additions and 65486 deletions

View file

@ -11,9 +11,21 @@
<description>Tracking Slackware development in git.</description>
<language>en-us</language>
<id xmlns="http://www.w3.org/2005/Atom">urn:uuid:c964f45e-6732-11e8-bbe5-107b4450212f</id>
<pubDate>Sat, 27 May 2023 20:42:29 GMT</pubDate>
<lastBuildDate>Sat, 27 May 2023 21:35:39 GMT</lastBuildDate>
<pubDate>Sun, 28 May 2023 18:25:43 GMT</pubDate>
<lastBuildDate>Sun, 28 May 2023 19:33:30 GMT</lastBuildDate>
<generator>maintain_current_git.sh v 1.17</generator>
<item>
<title>Sun, 28 May 2023 18:25:43 GMT</title>
<pubDate>Sun, 28 May 2023 18:25:43 GMT</pubDate>
<link>https://git.slackware.nl/current/tag/?h=20230528182543</link>
<guid isPermaLink="false">20230528182543</guid>
<description>
<![CDATA[<pre>
l/at-spi2-core-2.48.3-x86_64-1.txz: Upgraded.
extra/xv/xv-4.1.1-x86_64-1.txz: Upgraded.
</pre>]]>
</description>
</item>
<item>
<title>Sat, 27 May 2023 20:42:29 GMT</title>
<pubDate>Sat, 27 May 2023 20:42:29 GMT</pubDate>

View file

@ -1,3 +1,7 @@
Sun May 28 18:25:43 UTC 2023
l/at-spi2-core-2.48.3-x86_64-1.txz: Upgraded.
extra/xv/xv-4.1.1-x86_64-1.txz: Upgraded.
+--------------------------+
Sat May 27 20:42:29 UTC 2023
d/gdb-13.2-x86_64-1.txz: Upgraded.
l/gc-8.2.4-x86_64-1.txz: Upgraded.

View file

@ -1,20 +1,20 @@
Sat May 27 20:47:51 UTC 2023
Sun May 28 18:36:19 UTC 2023
Here is the file list for this directory. If you are using a
mirror site and find missing or extra files in the disk
subdirectories, please have the archive administrator refresh
the mirror.
drwxr-xr-x 12 root root 4096 2023-05-27 20:42 .
drwxr-xr-x 12 root root 4096 2023-05-28 18:28 .
-rw-r--r-- 1 root root 5767 2022-02-02 22:44 ./ANNOUNCE.15.0
-rw-r--r-- 1 root root 16617 2022-02-02 23:27 ./CHANGES_AND_HINTS.TXT
-rw-r--r-- 1 root root 1116082 2023-05-26 19:02 ./CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-05-26 19:02 ./CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 1115340 2023-05-28 18:28 ./CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-05-28 18:28 ./CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 17976 1994-06-10 02:28 ./COPYING
-rw-r--r-- 1 root root 35147 2007-06-30 04:21 ./COPYING3
-rw-r--r-- 1 root root 19573 2016-06-23 20:08 ./COPYRIGHT.TXT
-rw-r--r-- 1 root root 616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT
-rw-r--r-- 1 root root 644241 2023-05-27 20:42 ./ChangeLog.txt
-rw-r--r-- 1 root root 644389 2023-05-28 18:25 ./ChangeLog.txt
drwxr-xr-x 3 root root 4096 2013-03-20 22:17 ./EFI
drwxr-xr-x 2 root root 4096 2023-05-25 00:23 ./EFI/BOOT
-rw-r--r-- 1 root root 1187840 2021-06-15 19:16 ./EFI/BOOT/bootx64.efi
@ -25,9 +25,9 @@ drwxr-xr-x 2 root root 4096 2023-05-25 00:23 ./EFI/BOOT
-rwxr-xr-x 1 root root 2504 2019-07-05 18:54 ./EFI/BOOT/make-grub.sh
-rw-r--r-- 1 root root 10722 2013-09-21 19:02 ./EFI/BOOT/osdetect.cfg
-rw-r--r-- 1 root root 1273 2013-08-12 21:08 ./EFI/BOOT/tools.cfg
-rw-r--r-- 1 root root 1455456 2023-05-26 19:02 ./FILELIST.TXT
-rw-r--r-- 1 root root 1454568 2023-05-28 18:28 ./FILELIST.TXT
-rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY
-rw-r--r-- 1 root root 872185 2023-05-27 20:47 ./PACKAGES.TXT
-rw-r--r-- 1 root root 872185 2023-05-28 18:28 ./PACKAGES.TXT
-rw-r--r-- 1 root root 8034 2022-02-02 03:36 ./README.TXT
-rw-r--r-- 1 root root 3629 2023-05-25 00:09 ./README.initrd
-rw-r--r-- 1 root root 34162 2022-01-30 20:35 ./README_CRYPT.TXT
@ -39,12 +39,12 @@ drwxr-xr-x 2 root root 4096 2023-05-25 00:23 ./EFI/BOOT
-rw-r--r-- 1 root root 17294 2008-12-08 18:13 ./SPEAK_INSTALL.TXT
-rw-r--r-- 1 root root 57187 2022-02-01 19:37 ./Slackware-HOWTO
-rw-r--r-- 1 root root 8700 2022-01-26 05:44 ./UPGRADE.TXT
drwxr-xr-x 17 root root 4096 2023-03-21 21:21 ./extra
-rw-r--r-- 1 root root 47708 2023-03-21 21:21 ./extra/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-03-21 21:21 ./extra/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 59869 2023-03-21 21:21 ./extra/FILE_LIST
-rw-r--r-- 1 root root 1474002 2023-03-21 21:21 ./extra/MANIFEST.bz2
-rw-r--r-- 1 root root 35459 2023-03-21 21:21 ./extra/PACKAGES.TXT
drwxr-xr-x 17 root root 4096 2023-05-28 18:27 ./extra
-rw-r--r-- 1 root root 47021 2023-05-28 18:27 ./extra/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-05-28 18:27 ./extra/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 59029 2023-05-28 18:27 ./extra/FILE_LIST
-rw-r--r-- 1 root root 1476695 2023-05-28 18:27 ./extra/MANIFEST.bz2
-rw-r--r-- 1 root root 35459 2023-05-28 18:27 ./extra/PACKAGES.TXT
-rw-r--r-- 1 root root 149 2002-02-09 00:18 ./extra/README.TXT
drwxr-xr-x 2 root root 20480 2020-05-26 20:38 ./extra/aspell-word-lists
-rw-r--r-- 1 root root 171 2016-06-06 20:10 ./extra/aspell-word-lists/aspell-af-0.50_0-x86_64-5.txt
@ -361,7 +361,7 @@ drwxr-xr-x 2 root root 4096 2023-03-08 20:34 ./extra/sendmail
-rw-r--r-- 1 root root 586 2023-03-08 18:55 ./extra/sendmail/sendmail-cf-8.17.1-noarch-7.txt
-rw-r--r-- 1 root root 118896 2023-03-08 18:55 ./extra/sendmail/sendmail-cf-8.17.1-noarch-7.txz
-rw-r--r-- 1 root root 163 2023-03-08 18:55 ./extra/sendmail/sendmail-cf-8.17.1-noarch-7.txz.asc
drwxr-xr-x 15 root root 4096 2023-03-21 19:46 ./extra/source
drwxr-xr-x 15 root root 4096 2023-05-28 18:16 ./extra/source
lrwxrwxrwx 1 root root 21 2021-04-29 18:18 ./extra/source/alpine -> ../../source/n/alpine
drwxr-xr-x 4 root root 4096 2022-09-06 18:32 ./extra/source/aspell-word-lists
-rwxr-xr-x 1 root root 3533 2022-09-06 18:32 ./extra/source/aspell-word-lists/aspell-dict.SlackBuild
@ -608,20 +608,11 @@ drwxr-xr-x 2 root root 4096 2022-09-06 18:32 ./extra/source/xfractint
-rw-r--r-- 1 root root 1097840 2020-08-02 13:12 ./extra/source/xfractint/xfractint-20.04p16.tar.xz
-rwxr-xr-x 1 root root 4612 2022-09-06 18:32 ./extra/source/xfractint/xfractint.SlackBuild
-rw-r--r-- 1 root root 44 2019-10-18 18:31 ./extra/source/xfractint/xfractint.url
drwxr-xr-x 2 root root 4096 2022-02-24 19:59 ./extra/source/xv
drwxr-xr-x 2 root root 4096 2023-05-28 18:16 ./extra/source/xv
-rw-r--r-- 1 root root 683 2018-02-27 06:13 ./extra/source/xv/slack-desc
-rw-r--r-- 1 root root 1693808 1994-12-22 15:50 ./extra/source/xv/xv-3.10.tar.xz
-rw-r--r-- 1 root root 3294 2008-12-16 18:04 ./extra/source/xv/xv-3.10a-enhancements.20070520-20081216.diff.bz2
-rw-r--r-- 1 root root 25974 2007-05-21 05:19 ./extra/source/xv/xv-3.10a-jumbo-README.txt
-rw-r--r-- 1 root root 114978 2010-02-19 19:24 ./extra/source/xv/xv-3.10a-jumbo-additions.diff.bz2
-rw-r--r-- 1 root root 287250 2007-05-21 04:57 ./extra/source/xv/xv-3.10a-jumbo-fix-enh-patch-20070520.txt.bz2
-rw-r--r-- 1 root root 21943 1996-10-05 19:33 ./extra/source/xv/xv-3.10a.patch.gz
-rw-r--r-- 1 root root 4933 2015-03-28 21:28 ./extra/source/xv/xv-libpng-1.5.patch.gz
-rwxr-xr-x 1 root root 3736 2022-02-24 20:03 ./extra/source/xv/xv.SlackBuild
-rw-r--r-- 1 root root 229 2010-02-19 19:27 ./extra/source/xv/xv.jasper.diff.gz
-rw-r--r-- 1 root root 336 2022-02-24 20:04 ./extra/source/xv/xv.no.jasper.diff.gz
-rw-r--r-- 1 root root 317 2010-02-19 19:15 ./extra/source/xv/xv.prefix.diff.gz
-rw-r--r-- 1 root root 282 2010-02-19 19:16 ./extra/source/xv/xv.prefix_x86_64.diff.gz
-rw-r--r-- 1 root root 4625029 2023-05-27 15:14 ./extra/source/xv/xv-4.1.1.tar.lz
-rwxr-xr-x 1 root root 4176 2023-05-28 18:06 ./extra/source/xv/xv.SlackBuild
-rw-r--r-- 1 root root 38 2023-05-28 17:57 ./extra/source/xv/xv.url
drwxr-xr-x 2 root root 4096 2023-03-21 21:21 ./extra/tigervnc
-rw-r--r-- 1 root root 0 2015-12-15 08:03 ./extra/tigervnc/the_fltk_package_must_also_be_installed
-rw-r--r-- 1 root root 474 2023-03-21 19:45 ./extra/tigervnc/tigervnc-1.13.1-x86_64-1.txt
@ -639,10 +630,10 @@ drwxr-xr-x 2 root root 4096 2020-08-02 18:22 ./extra/xfractint
-rw-r--r-- 1 root root 409 2020-08-02 17:57 ./extra/xfractint/xfractint-20.04p16-x86_64-1.txt
-rw-r--r-- 1 root root 824600 2020-08-02 17:57 ./extra/xfractint/xfractint-20.04p16-x86_64-1.txz
-rw-r--r-- 1 root root 163 2020-08-02 17:57 ./extra/xfractint/xfractint-20.04p16-x86_64-1.txz.asc
drwxr-xr-x 2 root root 4096 2022-02-25 00:07 ./extra/xv
-rw-r--r-- 1 root root 233 2022-02-24 20:04 ./extra/xv/xv-3.10a-x86_64-10.txt
-rw-r--r-- 1 root root 942524 2022-02-24 20:04 ./extra/xv/xv-3.10a-x86_64-10.txz
-rw-r--r-- 1 root root 163 2022-02-24 20:04 ./extra/xv/xv-3.10a-x86_64-10.txz.asc
drwxr-xr-x 2 root root 4096 2023-05-28 18:27 ./extra/xv
-rw-r--r-- 1 root root 233 2023-05-28 18:16 ./extra/xv/xv-4.1.1-x86_64-1.txt
-rw-r--r-- 1 root root 1098144 2023-05-28 18:16 ./extra/xv/xv-4.1.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-05-28 18:16 ./extra/xv/xv-4.1.1-x86_64-1.txz.asc
drwxr-xr-x 3 root root 4096 2023-05-25 00:23 ./isolinux
-rw-r--r-- 1 root root 6185 2022-02-03 06:53 ./isolinux/README.TXT
-rw-r--r-- 1 root root 788 2007-03-17 19:50 ./isolinux/README_SPLIT.TXT
@ -687,11 +678,11 @@ drwxr-xr-x 2 root root 4096 2022-02-03 07:02 ./patches
-rw-r--r-- 1 root root 575 2022-02-03 07:02 ./patches/FILE_LIST
-rw-r--r-- 1 root root 14 2022-02-03 07:02 ./patches/MANIFEST.bz2
-rw-r--r-- 1 root root 224 2022-02-03 07:02 ./patches/PACKAGES.TXT
drwxr-xr-x 17 root root 4096 2023-05-27 20:47 ./slackware64
-rw-r--r-- 1 root root 340379 2023-05-27 20:47 ./slackware64/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-05-27 20:47 ./slackware64/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 421987 2023-05-27 20:46 ./slackware64/FILE_LIST
-rw-r--r-- 1 root root 4305122 2023-05-27 20:46 ./slackware64/MANIFEST.bz2
drwxr-xr-x 17 root root 4096 2023-05-28 18:28 ./slackware64
-rw-r--r-- 1 root root 340379 2023-05-28 18:28 ./slackware64/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-05-28 18:28 ./slackware64/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 421987 2023-05-28 18:27 ./slackware64/FILE_LIST
-rw-r--r-- 1 root root 4293846 2023-05-28 18:27 ./slackware64/MANIFEST.bz2
lrwxrwxrwx 1 root root 15 2009-08-23 23:34 ./slackware64/PACKAGES.TXT -> ../PACKAGES.TXT
drwxr-xr-x 2 root root 32768 2023-05-25 00:32 ./slackware64/a
-rw-r--r-- 1 root root 327 2022-02-15 18:16 ./slackware64/a/aaa_base-15.1-x86_64-2.txt
@ -2748,7 +2739,7 @@ drwxr-xr-x 2 root root 86016 2023-05-25 19:10 ./slackware64/kde
-rw-r--r-- 1 root root 403 2023-04-20 20:52 ./slackware64/kde/zxing-cpp-2.0.0-x86_64-1.txt
-rw-r--r-- 1 root root 713544 2023-04-20 20:52 ./slackware64/kde/zxing-cpp-2.0.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-04-20 20:52 ./slackware64/kde/zxing-cpp-2.0.0-x86_64-1.txz.asc
drwxr-xr-x 2 root root 86016 2023-05-27 20:46 ./slackware64/l
drwxr-xr-x 2 root root 86016 2023-05-28 18:27 ./slackware64/l
-rw-r--r-- 1 root root 329 2022-03-06 20:00 ./slackware64/l/GConf-3.2.6-x86_64-8.txt
-rw-r--r-- 1 root root 928144 2022-03-06 20:00 ./slackware64/l/GConf-3.2.6-x86_64-8.txz
-rw-r--r-- 1 root root 163 2022-03-06 20:00 ./slackware64/l/GConf-3.2.6-x86_64-8.txz.asc
@ -2830,9 +2821,9 @@ drwxr-xr-x 2 root root 86016 2023-05-27 20:46 ./slackware64/l
-rw-r--r-- 1 root root 269 2021-02-13 06:13 ./slackware64/l/at-spi2-atk-2.38.0-x86_64-3.txt
-rw-r--r-- 1 root root 79728 2021-02-13 06:13 ./slackware64/l/at-spi2-atk-2.38.0-x86_64-3.txz
-rw-r--r-- 1 root root 163 2021-02-13 06:13 ./slackware64/l/at-spi2-atk-2.38.0-x86_64-3.txz.asc
-rw-r--r-- 1 root root 456 2023-05-14 15:36 ./slackware64/l/at-spi2-core-2.48.2-x86_64-1.txt
-rw-r--r-- 1 root root 1103204 2023-05-14 15:36 ./slackware64/l/at-spi2-core-2.48.2-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-05-14 15:36 ./slackware64/l/at-spi2-core-2.48.2-x86_64-1.txz.asc
-rw-r--r-- 1 root root 456 2023-05-28 17:53 ./slackware64/l/at-spi2-core-2.48.3-x86_64-1.txt
-rw-r--r-- 1 root root 1104168 2023-05-28 17:53 ./slackware64/l/at-spi2-core-2.48.3-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-05-28 17:53 ./slackware64/l/at-spi2-core-2.48.3-x86_64-1.txz.asc
-rw-r--r-- 1 root root 173 2022-07-12 03:30 ./slackware64/l/atk-2.38.0-x86_64-1.txt
-rw-r--r-- 1 root root 376364 2022-07-12 03:30 ./slackware64/l/atk-2.38.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-07-12 03:30 ./slackware64/l/atk-2.38.0-x86_64-1.txz.asc
@ -5592,11 +5583,11 @@ drwxr-xr-x 2 root root 4096 2023-03-08 20:34 ./slackware64/y
-rw-r--r-- 1 root root 1491108 2023-02-19 18:31 ./slackware64/y/nethack-3.6.7-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-02-19 18:31 ./slackware64/y/nethack-3.6.7-x86_64-1.txz.asc
-rw-r--r-- 1 root root 26 2020-12-30 21:55 ./slackware64/y/tagfile
drwxr-xr-x 18 root root 4096 2023-05-27 20:47 ./source
-rw-r--r-- 1 root root 599436 2023-05-27 20:47 ./source/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-05-27 20:47 ./source/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 833348 2023-05-27 20:47 ./source/FILE_LIST
-rw-r--r-- 1 root root 24536864 2023-05-27 20:47 ./source/MANIFEST.bz2
drwxr-xr-x 18 root root 4096 2023-05-28 18:36 ./source
-rw-r--r-- 1 root root 599436 2023-05-28 18:36 ./source/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-05-28 18:36 ./source/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 833348 2023-05-28 18:36 ./source/FILE_LIST
-rw-r--r-- 1 root root 24537691 2023-05-28 18:36 ./source/MANIFEST.bz2
-rw-r--r-- 1 root root 828 2022-02-02 04:43 ./source/README.TXT
drwxr-xr-x 123 root root 4096 2023-05-17 20:46 ./source/a
-rw-r--r-- 1 root root 234 2022-10-16 18:39 ./source/a/FTBFSlog
@ -9934,8 +9925,8 @@ drwxr-xr-x 2 root root 4096 2021-02-13 05:31 ./source/l/at-spi2-atk
-rwxr-xr-x 1 root root 3488 2021-02-13 05:31 ./source/l/at-spi2-atk/at-spi2-atk.SlackBuild
-rw-r--r-- 1 root root 126 2013-02-22 04:24 ./source/l/at-spi2-atk/doinst.sh.gz
-rw-r--r-- 1 root root 761 2018-02-27 06:12 ./source/l/at-spi2-atk/slack-desc
drwxr-xr-x 2 root root 4096 2023-05-14 15:35 ./source/l/at-spi2-core
-rw-r--r-- 1 root root 554056 2023-05-11 17:26 ./source/l/at-spi2-core/at-spi2-core-2.48.2.tar.xz
drwxr-xr-x 2 root root 4096 2023-05-28 17:53 ./source/l/at-spi2-core
-rw-r--r-- 1 root root 554388 2023-05-27 15:05 ./source/l/at-spi2-core/at-spi2-core-2.48.3.tar.xz
-rwxr-xr-x 1 root root 3475 2021-03-31 19:04 ./source/l/at-spi2-core/at-spi2-core.SlackBuild
-rw-r--r-- 1 root root 948 2018-02-27 06:12 ./source/l/at-spi2-core/slack-desc
drwxr-xr-x 2 root root 4096 2022-07-12 02:58 ./source/l/atk

View file

@ -1,293 +0,0 @@
20070621
fixed improper ClearCode termination condition in GIF decoder (JZ); fixed
some minor inconsistencies in Makefile (GRR)
- xv-joe-zbiciak-20070621-gif-decoder-bugfix.dif
20080121
removed duplicate "XDestroyWindow(theDisp, pngW);" in xvmisc.c (IMC); fixed
empty-filename click-and-crash bug in xvdir.c (IMC, DB)
- xv-ian-collier-20080118-crash-fixes.msg
- xv-david-bath-20080901-empty-filename-save-crash-fix.dif
20081205
reverted xvxwd.c to SJT's version (bug reported by Jari Ruusu)
20081216
fixed crash-bug in IFF decoder (EP)
- xv-elmar-plischke-20081216-xviff-crash-fix.dif
diff -ru ../test3.20070520.stock/xv-3.10a/xv.h ./xv.h
--- ../test3.20070520.stock/xv-3.10a/xv.h 2007-05-20 22:23:33.000000000 -0700
+++ ./xv.h 2008-12-16 09:45:00.000000000 -0800
@@ -16,8 +16,9 @@
/* GRR 2nd public jumbo F+E patches: 20050410 */
/* GRR 3rd public jumbo F+E patches: 20050501 */
/* GRR 4th public jumbo F+E patch: 20070520 */
-#define REVDATE "version 3.10a-jumboFix+Enh of 20070520"
-#define VERSTR "3.10a-20070520"
+/* GRR 5th public jumbo F+E patch: 200xxxxx (probably mid-2009) */
+#define REVDATE "version 3.10a-jumboFix+Enh of 20081216 (interim!)"
+#define VERSTR "3.10a-20081216"
/*
* uncomment the following, and modify for your site, but only if you've
diff -ru ../test3.20070520.stock/xv-3.10a/xvdir.c ./xvdir.c
--- ../test3.20070520.stock/xv-3.10a/xvdir.c 2007-05-20 22:23:33.000000000 -0700
+++ ./xvdir.c 2008-01-21 13:02:38.000000000 -0800
@@ -539,8 +539,9 @@
return -1;
}
- /* handle clicks inside the filename box */
- if (x > 80 &&
+ /* handle clicks inside the filename box, but only when box is not empty */
+ if (enPos > stPos &&
+ x > 80 &&
y > dList.y + (int) dList.h + 30 &&
x < 80 + DNAMWIDE+6 &&
y < dList.y + (int) dList.h + 30 + LINEHIGH+5) {
diff -ru ../test3.20070520.stock/xv-3.10a/xvgif.c ./xvgif.c
--- ../test3.20070520.stock/xv-3.10a/xvgif.c 2007-05-20 22:23:33.000000000 -0700
+++ ./xvgif.c 2007-06-21 09:36:40.000000000 -0700
@@ -700,7 +700,7 @@
* associated output code on the output queue.
*/
- while (CurCode > BitMask) {
+ while (CurCode >= ClearCode) { /* Joe Zbiciak fix, 20070621 */
if (OutCount > 4096) break; /* corrupt file */
OutCode[OutCount++] = Suffix[CurCode];
CurCode = Prefix[CurCode];
diff -ru ../test3.20070520.stock/xv-3.10a/xvmisc.c ./xvmisc.c
--- ../test3.20070520.stock/xv-3.10a/xvmisc.c 2007-05-20 22:23:33.000000000 -0700
+++ ./xvmisc.c 2008-01-21 12:57:29.000000000 -0800
@@ -561,10 +561,6 @@
if (mgcsfxW) XDestroyWindow(theDisp, mgcsfxW);
#endif
-#ifdef HAVE_PNG
- if (pngW) XDestroyWindow(theDisp, pngW);
-#endif
-
/* if NOT using stdcmap for images, free stdcmap */
if (colorMapMode != CM_STDCMAP) {
int j;
[This one reverts xvxwd.c to the pre-2007 SJT version, which actually worked...]
diff -ru ../test3.20070520.stock/xv-3.10a/xvxwd.c ./xvxwd.c
--- ../test3.20070520.stock/xv-3.10a/xvxwd.c 2007-05-20 22:23:33.000000000 -0700
+++ ./xvxwd.c 2008-12-06 00:30:44.000000000 -0800
@@ -19,6 +19,12 @@
*/
#include "xv.h"
+#include <limits.h> /* for CHAR_BIT */
+
+/* SJT: just in case ... */
+#ifndef CHAR_BIT
+# define CHAR_BIT 8
+#endif
/***************************** x11wd.h *****************************/
@@ -83,9 +89,14 @@
static int writebiglong PARM((FILE *, CARD32));
#endif
+static void getcolorshift PARM((CARD32, int *, int *)); /* SJT */
+
+/* SJT: for 16bpp and 24bpp shifts */
+static int red_shift_right, red_justify_left,
+ grn_shift_right, grn_justify_left,
+ blu_shift_right, blu_justify_left;
static byte *pic8, *pic24;
-static CARD32 red_mask, green_mask, blue_mask;
-static int red_shift, green_shift, blue_shift;
+static CARD32 red_mask, grn_mask, blu_mask;
static int bits_per_item, bits_used, bit_shift,
bits_per_pixel, bits_per_rgb;
static char buf[4];
@@ -189,38 +200,34 @@
return 0;
}
- switch (bits_per_pixel) {
- case 16:
- case 24:
- case 32:
- ;
- default:
- xwdError("True/Direct supports only 16, 24, and 32 bits");
- return 0;
- }
+ for (row=0; row<rows; row++) {
+ for (col=0, xP=pic24+(row*cols*3); col<cols; col++) {
+ CARD32 ul;
- if (byte_order == MSBFirst) {
- for (row=0; row<rows; row++) {
- for (col=0, xP=pic24+(row*cols*3); col<cols; col++) {
- register CARD32 ul = getpixnum(ifp);
-
- *xP++ = ul >> red_shift & red_mask ;
- *xP++ = ul >> green_shift & green_mask;
- *xP++ = ul >> blue_shift & blue_mask ;
- };
- for (col=0; col<padright; col++) getpixnum(ifp);
- }
- } else {
- for (row=0; row<rows; row++) {
- for (col=0, xP=pic24+(row*cols*3); col<cols; col++) {
- register CARD32 ul = getpixnum(ifp);
-
- *xP++ = ul >> blue_shift & blue_mask ;
- *xP++ = ul >> green_shift & green_mask;
- *xP++ = ul >> red_shift & red_mask ;
- };
- for (col=0; col<padright; col++) getpixnum(ifp);
+ ul = getpixnum(ifp);
+ switch (bits_per_pixel) {
+ case 16:
+ case 24:
+ case 32:
+ /* SJT: shift all the way to the right and then shift left. The
+ pairs of shifts could be combined. There will be two right and
+ one left shift, but it's unknown which will be which. It seems
+ easier to do the shifts (which might be 0) separately than to
+ have a complex set of tests. I believe this is independent of
+ byte order but I have no way to test.
+ */
+ *xP++ = ((ul & red_mask) >> red_shift_right) << red_justify_left;
+ *xP++ = ((ul & grn_mask) >> grn_shift_right) << grn_justify_left;
+ *xP++ = ((ul & blu_mask) >> blu_shift_right) << blu_justify_left;
+ break;
+
+ default:
+ xwdError("True/Direct supports only 16, 24, and 32 bits");
+ return 0;
+ }
}
+
+ for (col=0; col<padright; col++) getpixnum(ifp);
}
pinfo->type = PIC24;
@@ -445,28 +452,18 @@
(i.e., 3 bytes, no alpha/padding) */
- bits_used = bits_per_item;
+ bits_used = bits_per_item;
if (bits_per_pixel == sizeof(pixel_mask) * 8) pixel_mask = (CARD32) -1;
else pixel_mask = (1 << bits_per_pixel) - 1;
- red_mask = h11P->red_mask;
- green_mask = h11P->grn_mask;
- blue_mask = h11P->blu_mask;
-
- red_shift = blue_shift = green_shift = 0;
- while (!(red_mask & 1)) {
- red_mask >>= 1;
- ++red_shift;
- }
- while (!(blue_mask & 1)) {
- blue_mask >>= 1;
- ++blue_shift;
- }
- while (!(green_mask & 1)) {
- green_mask >>= 1;
- ++green_shift;
- }
+ red_mask = h11P->red_mask;
+ grn_mask = h11P->grn_mask;
+ blu_mask = h11P->blu_mask;
+
+ getcolorshift(red_mask, &red_shift_right, &red_justify_left);
+ getcolorshift(grn_mask, &grn_shift_right, &grn_justify_left);
+ getcolorshift(blu_mask, &blu_shift_right, &blu_justify_left);
byteP = (char *) buf;
shortP = (CARD16 *) buf;
@@ -476,6 +473,45 @@
}
+/* SJT: figure out the proper shifts */
+static void getcolorshift (CARD32 mask, int *rightshift, int *leftshift)
+{
+ int lshift, rshift;
+ unsigned int uu;
+
+ if (mask == 0)
+ {
+ *rightshift = *leftshift = 0;
+ return;
+ }
+
+ uu = mask;
+ lshift = rshift = 0;
+ while ((uu & 0xf) == 0)
+ {
+ rshift += 4;
+ uu >>= 4;
+ }
+ while ((uu & 1) == 0)
+ {
+ rshift++;
+ uu >>= 1;
+ }
+
+ while (uu != 0)
+ {
+ if (uu & 1)
+ {
+ lshift++;
+ uu >>= 1;
+ }
+ }
+ *rightshift = rshift;
+ *leftshift = CHAR_BIT * sizeof(pixel) - lshift;
+ return;
+}
+
+
/******************************/
static CARD32 getpixnum(file)
FILE* file;
diff -ru ../test3.20070520.stock/xv-3.10a/xviff.c ./xviff.c
--- ../test3.20070520.stock/xv-3.10a/xviff.c 2007-05-13 17:50:59.000000000 -0700
+++ ./xviff.c 2008-12-16 09:20:25.000000000 -0800
@@ -73,6 +73,7 @@
int BMHDok, CMAPok, CAMGok;
int bmhd_width, bmhd_height, bmhd_bitplanes, bmhd_transcol;
int i, j, k, lineskip, colors, fmt;
+ int npixels = 0; /* needs to be initialized _outside_ while-loop */
byte bmhd_masking, bmhd_compression;
long chunkLen, camg_viewmode;
byte *databuf, *dataptr, *cmapptr, *picptr, *pic, *bodyptr;
@@ -138,7 +139,6 @@
BODY chunk was found or dataptr ran over end of file */
while ((rv<0) && (dataptr < (databuf + filesize))) {
- int npixels = 0;
chunkLen = (iff_getlong(dataptr + 4) + 1) & 0xfffffffe; /* make even */
if (strncmp((char *) dataptr, "BMHD", (size_t) 4)==0) { /* BMHD chunk? */

View file

@ -1,559 +0,0 @@
This is the latest version of the XV jumbo patches I originally created in
February 2000 (but never distributed) and eventually updated and released in
May 2004, prompted by a discussion on LWN (http://lwn.net/Articles/76391/).
Information about the patches, updates to the patches, and the patches
themselves can all be found here:
http://pobox.com/~newt/greg_xv.html
http://freshmeat.net/projects/xvjumbopatches/
(Use the "Subscribe to new releases" link on the latter page if you want to
be notified of new versions automatically; trivial registration required.)
These patches incorporate all of the fix- and enhancement-patches available
from John's XV site (http://www.trilon.com/xv/downloads.html and
ftp://ftp.trilon.com/pub/xv/patches/), plus a number of my own fixes and
additions (security-related and otherwise), plus quite a few from other
people. They're still not fully complete, and it's probable they never
will be, but I do plan to continue tinkering with them whenever the mood
strikes--and I may even release them publicly on rare occasions. (At the
current rate, once every few years may be the best we can hope for....)
Also be aware that several other people have had the same idea over the
years. Ones I've found, more or less by accident, include:
- Landon Curt "chongo" Noll (http://www.isthe.com/chongo/)
http://www.isthe.com/chongo/src/xv-patch/
- Mark Ashley <mark ibiblio.org>
http://www.ibiblio.org/pub/packages/solaris/sparc/html/xv.3.10a.p19.html
- Peter Jordan <pete dc.seflin.org>
http://www.ibiblio.org/pub/Linux/apps/graphics/viewers/X/xv-3.10a.patch.*
- Uwe F. Mayer (http://www.tux.org/~mayer/)
http://www.tux.org/~mayer/linux/book/node311.html
- Kurt Wall <kwall kurtwerks.com>
http://www.kurtwerks.com/software/xv.html
- Chisato Yamauchi (http://phe.phyas.aichi-edu.ac.jp/~cyamauch/index_en.html)
http://phe.phyas.aichi-edu.ac.jp/~cyamauch/xv.html
- Daisuke Yabuki <dxy optix.org>
http://www.optix.org/~dxy/solaris/xv/
- Pekoe (http://pekoe.lair.net/)
http://pekoe.lair.net/diary/xv.html
- FreeBSD FreshPorts
http://www.freshports.org/graphics/xv/
- Kyoichiro Suda <sudakyo fat.coara.or.jp>
http://www.coara.or.jp/~sudakyo/XV_jp.html
This is not an exhaustive list (e.g., Jörgen Grahn also had one). So far,
most of the other patch-sets appear not to be as extensive or as up-to-date
as my own, particularly now that the (very large) "Japanese extension" patches
are incorporated--big thanks to Werner Fink of SuSE for that!
Below I summarize the component patches that are encompassed by my jumbo
bugfixes and jumbo enhancements patches, circa 2005. (As of 2007, they're
distributed as a single monster-patch, and the "component patches" are now
listed in the changelog section at the bottom of this file.) Unfortunately,
some of my own additions never saw the light of day as standalone patches,
but considering the number of overlaps (collisions) already implicit in the
list, that would have been difficult to accomplish even if I'd had the time.
Here's a quick guide to the "third-party" credits in the lists and changelog
below:
AAC = Andrey A. Chernov [ache]
(http://cvsweb.freebsd.org/ports/graphics/xv/files/patch-ab)
AD = Andreas Dilger (adilger clusterfs.com)
AL = Alexander Lehmann (lehmann usa.net)
AS = Alexey Spiridonov (http://www-math.mit.edu/~lesha/)
AT = Anthony Thyssen (http://www.cit.gu.edu.au/~anthony/)
BR = Bruno Rohee (http://bruno.rohee.com/)
DAC = David A. Clunie (http://www.dclunie.com/xv-pcd.html)
EAJ = Erling A. Jacobsen (linuxcub email.dk)
EK = Egmont Koblinger (egmont users.sourceforge.net)
FG = Fabian Greffrath (fabian debian-unofficial.org)
GRR = Greg Roelofs (http://pobox.com/~newt/greg_contact.html)
GV = Guido Vollbeding (http://sylvana.net/guido/)
IM = IKEMOTO Masahiro (ikeyan airlab.cs.ritsumei.ac.jp)
JC = John Cooper (john.cooper third-harmonic.com)
JCE = John C. Elliott (http://www.seasip.demon.co.uk/ZX/zxdload.html)
JDB = John D. Baker (http://mylinuxisp.com/~jdbaker/)
JG = Jörgen Grahn (jgrahn algonet.se)
JHB = John H. Bradley, of course (http://www.trilon.com/xv/)
JPD = Jean-Pierre Demailly (http://www-fourier.ujf-grenoble.fr/~demailly/)
JR = John Rochester (http://www.freebsd.org/cgi/query-pr.cgi?pr=2920)
(also http://cvsweb.freebsd.org/ports/graphics/xv/files/patch-af, -ag)
JRK = James Roberts Kirkpatrick (uwyo.edu)
JZ = Joe Zbiciak (http://spatula-city.org/~im14u2c/)
KS = Kyoichiro Suda (http://www.coara.or.jp/~sudakyo/XV_jp.html)
LCN = Landon Curt "chongo" Noll (http://www.isthe.com/chongo/)
LJ = Larry Jones (lawrence.jones ugs.com)
PBJ = Peter Jordan (http://www.ibiblio.org/pub/Linux/apps/graphics/viewers/X/)
PSV = Pawel S. Veselov (http://manticore.2y.net/wbmp.html)
RAC = Ross Combs (rocombs cs.nmsu.edu)
RJH = Robin Humble (http://www.cita.utoronto.ca/~rjh/)
SB = Sean Borman (http://www.nd.edu/~sborman/software/xvwheelmouse.html)
SJT = TenThumbs (tenthumbs cybernex.net)
SBM = Scott B. Marovich (formerly marovich hpl.hp.com)
TA = Tim Adye (http://hepwww.rl.ac.uk/Adye/xv-psnewstyle.html)
TAR = Tim Ramsey (tar pobox.com)
TI = Tetsuya INOUE (tin329 chino.it.okayama-u.ac.jp)
TO = Tavis Ormandy (taviso gentoo.org)
WF = Werner Fink (http://www.suse.de/~werner/)
Other credits are as listed on the XV Downloads page or in the respective
patches (e.g., the jp-extension patches or within the PNG patch).
Finally, please note that these patches have not been blessed by John Bradley
in any way (although I copied him on the May 2004 announcement and wrote to
him again in May 2005), unless you count Debian's redistribution permission
(Daniel Kirchheimer, 5 Dec 2005). Nor have I personally tested every change
and feature! (See the BIG SCARY WARNING below for further caveats.) In other
words, they're both completely unofficial and completely unguaranteed. But
they seem to work for me. (And when they don't, I try to fix 'em--eventually,
anyway... ;-) )
Greg Roelofs, 20070520
http://pobox.com/~newt/greg_contact.html
How to build
------------
The following assumes you, the user, already have the libtiff,[1] libjpeg,[2]
libpng,[3] zlib,[4] and JasPer[5] libraries downloaded, patched (if necessary),
compiled, and installed, not to mention a C compiler and the bzip2,[6] tar,[7]
patch,[8] and make[9] utilities. You should also have downloaded the original
XV 3.10a source distribution from the XV Downloads page[10] and be able to edit
its Makefile and config.h files as indicated in the INSTALL file. (Editing
the Makefile will also allow you to disable some of the third-party libraries
if you wish.) Finally, you should know what a Unix(-style) command line is,
where to find one, and how to wield it with abandon (or at least with adult
supervision)--and preferably not as the root user until the "make install"
step. (A filesystem is a terrible thing to waste.)
[1] http://www.remotesensing.org/libtiff/
[2] http://www.ijg.org/
[3] http://www.libpng.org/pub/png/libpng.html
[4] http://www.zlib.net/
[5] http://www.ece.uvic.ca/~mdadams/jasper/
[6] http://sources.redhat.com/bzip2/
[7] http://www.gnu.org/directory/devel/specific/tar.html
[8] http://www.gnu.org/directory/devel/specific/patch.html
[9] http://www.gnu.org/directory/devel/specific/make.html
[10] http://www.trilon.com/xv/downloads.html#src-distrib
+-------------------------------------------------------------------------+
| |
| BIG SCARY WARNING |
| |
| These patches work for Greg (and parts of them reportedly work for |
| various other people), and so far Greg's CPU still computes and his |
| hard disks haven't been wiped. But there's no guarantee that this |
| will be the case for you! In particular, not every incorporated patch |
| has been explicitly tested, nor has every possible subcase of the |
| explicitly tested subset. (Read that again; it's grammatical.) Nor |
| are these patches officially blessed by John Bradley in any way. In |
| other words, if you use these patches, you do so at your own risk. |
| (Greg doesn't believe there are any serious problems remaining, but |
| then, what programmer ever does? Bugs happen.) |
| |
+-------------------------------------------------------------------------+
Assuming you have the prerequisites out of the way and aren't scared
off by the Big Scary Warning, here's the build procedure:
tar xvzf xv-3.10a-jumbo-patches-20070520.tar.gz
(or: gzip -dc xv-3.10a-jumbo-patches-20070520.tar.gz | tar xvf - )
tar xvzf xv-3.10a.tar.gz
cd xv-3.10a
patch -p1 < ../xv-3.10a-jumbo-fix-enh-patch-20070520.txt
edit Makefile and config.h as directed in INSTALL file (in particular,
ensure paths to external libraries and header files are correct)
make
./xv your_favorite_image your_other_favorite_image etc.
If everything seems to be working to your satisfaction, go ahead and install:
make -n install (and double-check that things will be installed
where you want them to be)
become root if necessary (e.g., type su)
make install
(or: sudo make install)
That wasn't so hard, was it?
Summary of incorporated and unincorporated patches (through 20050501)
---------------------------------------------------------------------
(See the ChangeLog at the bottom for more recent incorporated patches.)
fixes ((*) = listed on XV Downloads page, (f) = on ftp site only):
20040516:
- grabpatch (*) [obsoleted by new-xvgrab.c below]
- vispatch (*)
- mp-tiff-patch (*) [technically an enhancement, but JHB says...]
- longname.patch (*) [*SECURITY*]
- xpm.patch (*)
- deepcolor.patch (*) [slightly modified for language conformance]
- gifpatch (*)
- exceed_grab.patch (*)
- xv-redhat6-readme.txt (*) [slightly modified for portability]
- beos.patch (*) [modified for portability]
- croppad.patch (f)
- epsfpatch (f)
- tiff1200.patch (*)
- gssafer.patch (*) [*SECURITY*]
- new-xvgrab.c (f) [includes grabpatch but not exceed_grab.patch]
- xcmap.diff (AD) [part of xv-3.10a-png-1.2d.tar.gz]
- fixes for huge number gcc -Wall warnings--including two bugs (GRR)
- fix for cleandir script when no makefile exists (GRR)
- *SECURITY* fix for gets() in vdcomp.c (GRR, LCN vdcomp-security.patch)
- *SECURITY* fix for getwd() on Linux (GRR, LCN Linux-compile.patch)
- fix for "no fuss" Linux compiles (LCN Linux-compile.patch)
- partial *SECURITY* fix for mktemp() in xv.c and xvdir.c (GRR)
(remaining instances in xv.c (2), xvimage.c, xvfits.c, xvpds.c, xvps.c, and
possibly xvtiff.c--most involve system())
- freebsd-vdcomp-newline.patch (AAC)
- xv-3.10a.patch.linux (PBJ) [/bin/sh versions of cleandir, RANLIB.sh only]
- removed trailing white space (GRR) [purely cosmetic]
20040523:
- fixed compilation error in registered versions (GRR)
20050410:
- fix for YCbCr oversaturated-green bug(s) in TIFF decoder (GRR)
- provisional fix for contiguous tiled TIFFs with bottom-* orientation (GRR)
- fixes for gcc 3.3 -Wall warnings (GRR)
- fix for incorrect 16/24-bit display of xwd dumps (SJT)
- *SECURITY* fix for multiple input-validation bugs (OpenBSD/SuSE, Gentoo, GRR)
(this also completes the partial mktemp() security fix listed above)
- fix for (probable) 24-bit endianness bug in fixpix code (GRR)
enhancements ((*) = listed on XV Downloads page, (<who>) = third-party):
20040516:
- xv-3.10a.JPEG-patch (*)
(xv-3.10a.JPEG-patch.old differs only in ftp site listed in comments at top)
- xv-3.10a.TIFF-patch (*)
- xv-3.10a-png-1.2d.tar.gz (AL, AD) (*)
(xvjpeg.diff and xvtiff.diff ignored; xcmap.diff included in fixes)
- xvpng-1.2d-fix3.patch (GRR, SJT) (*)
- pdf.patch (*)
- windowid.patch + windowid.patch.readme (*)
- bmp32.patch (*)
- fixpix-20000610.tar.gz (GV)
(identical to 19961127 version except for README updates and new Win32 file)
[modified to be runtime-selectable via -/+fixpix option]
- browse-remember.patch (JZ)
- faster-smooth.patch (JZ)
- PAM support (GRR)
- PNG/GIF -ibg ("image background") transparency option (GRR)
(does not yet support TIFF, XPM or TGA)
- VersionInfo* in help screen (GRR)
- minor grammar/spelling fixes (GRR)
- floating-point support for -wait when USE_TICKS enabled (GRR)
- wheelmouse.patch (SB)
- freebsd-gravity-hints-patch (JR)
- xv-zx.patch (JCE)
- xv3.10a.wapbmp.patch (PSV)
- xv-3.10a-pcd.patch.20010708 (DAC)
- jp-ext-bzip2-1.1.patch
(from ftp://ftp.freebsd.org/pub/FreeBSD/ports/local-distfiles/shige/xv/)
20050410:
- boosted maximum number of files from 4096 to 32768 (GRR)
(note that OS kernel limits may also apply; for example, in Linux see
MAX_ARG_PAGES in linux-<version>/include/linux/binfmts.h)
- xv-3.10a-bmp16.patch (KS)
- final-image delay (e.g., "-wait 0.2,3" : pause 3 secs on final image) (GRR)
- xv-numpad.patch (EK)
- xv-delete-is-not-backspace.patch (EK)
- made browser window (schnauzer) and icons configurable (AT, GRR)
20050501:
- xv-3.10a-bmpfix.patch (WF) [*SECURITY*]
- xv310a-jp-extension-rev5.3.3.tar.gz (TI, IM, ..., WF)
(adds support for MAG, MAKI, Pi, PIC, and PIC2 formats[!]; "magic suffix"
detection/conversion; MacBinary prefixes; archives as virtual filesystems;
multilingual text viewer [though not Unicode]; etc.)
- xv-3.10a-yaos.dif (WF, TO) [*SECURITY*]
(fixes a number of format-string issues and system() calls)
- xv-3.10a.dif (WF) [*SECURITY*]
(fixes more format-string issues, mktemp() and open() calls, and compilation
warnings [mostly from jp-extension patch])
- xv-3.10a-jumbo-jpd_startgrab-patch-20050420.txt (JPD)
- PATCH.alwaysnever (LJ)
- PATCH.bsd (LJ)
- PATCH.linedraw (LJ)
- PATCH.multipage (LJ)
- PATCH.multipageGIF (LJ)
- PATCH.random (LJ)
- PATCH.stat (LJ)
- PATCH.thumbs (LJ)
- xv-startgrab-imake-hips.patch (JPD)
("hips" portion only; adds support for HIPS image format[!])
- xv-3.10a-formatstr.patch (KS)
- xv-3.10a-shortsleep.patch (KS)
- xv-3.10a-locale-linux.patch (KS)
- xv-3.10a-printkey.patch (KS)
- xv-3.10a-sysconfdir.patch (KS)
- added PREFIX and DESTDIR support to Makefile (KS, GRR)
- xv-3.10a-xvexecpath.patch (but disabled pending fixes) (KS)
- xv-3.10a-zeroquit.patch (KS, GRR)
[!] Note that all six of these formats may still suffer from exploitable heap
overflows [*SECURITY*] when decoding images with large (possibly invalid)
dimensions; as a result, they are DISABLED by default. (Search for "GRR
POSSIBLE OVERFLOW / FIXME" comments in xvmag.c, xvmaki.c, xvpi.c, xvpic.c,
xvpic2.c, and xvhips.c, but keep in mind that these may not be exhaustive.)
Users who choose to overlook these security issues can enable any or all
of them by editing config.h.
not (yet?) included:
- others from http://www.coara.or.jp/~sudakyo/XV_jp.html (some are duplicates):
-rw-r--r-- 4644 Mar 11 2004 xv-3.10a-directory.patch
-rw-r--r-- 462 Mar 11 2004 xv-3.10a-dirwkey.patch
-rw-r--r-- 688 Mar 11 2004 xv-3.10a-docdir.patch
-rw-r--r-- 11952 Mar 11 2004 xv-3.10a-download-test0.patch
-rw-r--r-- 41786 Mar 11 2004 xv-3.10a-download-test1.patch
-rw-r--r-- 42397 Mar 11 2004 xv-3.10a-download-test2.patch
-rw-r--r-- 47679 Mar 11 2004 xv-3.10a-download-test3.patch
-rw-r--r-- 52745 Mar 11 2004 xv-3.10a-download-test4.patch
-rw-r--r-- 3423 Apr 24 2004 xv-3.10a-keyzoom.patch
-rw-r--r-- 12387 Mar 15 2004 xv-3.10a-menubutton.patch
-rw-r--r-- 1178 Apr 24 2004 xv-3.10a-noblink.patch
-rw-r--r-- 57092 Jul 9 2004 xv-3.10a-resolution.patch
-rw-r--r-- 4645 Apr 24 2004 xv-3.10a-selall.patch
-rw-r--r-- 702 Apr 24 2004 xv-3.10a-showlongname.patch
-rw-r--r-- 1205 Apr 24 2004 xv-3.10a-staytoppdir.patch
-rw-r--r-- 4228 Apr 24 2004 xv-3.10a-wheelmouse.patch
-rw-r--r-- 744 Apr 24 2004 xv-3.10a-xvbutt_wait.patch
-rw-r--r-- 3757 Jul 9 2004 xv-3.10a-xvscrl_button2.patch
-rw-r--r-- 1494 Jul 9 2004 xv-3.10a-xvscrl_wait.patch
-rw-r--r-- 19352 Jul 9 2004 xv-3.10a-xvzoom.patch
- xv-3.10a+jp-extension-rev5.3.3+FLmask.v2.1+png+misc.patch ["mask" support]
- xv-psnewstyle.patch (TA) [coming "soon"?]
- xv-3.10a.patch.linux (PBJ) [maybe use vdcomp.c changes?]
- xvxpm-anthony-thyssen.c (AT) ["slate grey" bug already gone?]
- xv-geoff-kuenning-iconsize-slideshow.patch [var. icons; full-screen slides]
- xv-scott-marovich-20070214-xvtiff.c.patch6.unified [TIFF CMYK support]
- stuff in xv/unsupt:
-rw-r--r-- 30527 Dec 22 1994 FITS.rite
-rw-r--r-- 49152 Dec 22 1994 FITS.tar
-rw-r--r-- 3753 Dec 22 1994 G3.patch1
-rw-r--r-- 24576 Dec 22 1994 G3.tar
-rw-r--r-- 1098 Dec 22 1994 INFO.cgm
-rw-r--r-- 1941 Dec 22 1994 README
-rwxr-xr-x 1059 Dec 22 1994 getweather
-rwxr-xr-x 2186 Dec 22 1994 getweather.ksh
-rw-r--r-- 856 Dec 22 1994 twm.fix
-rw-r--r-- 844 Dec 22 1994 vargs.c
-rw-r--r-- 47626 Dec 22 1994 vis
-rw-r--r-- 21097 Dec 22 1994 xscm
not finished (and/or even started ;-) ):
- fix xvpng.c not to use direct struct access
- (better) fix for never-ending pile of SLOW popups when viewing TIFFs with
unknown tags (or truncated/corrupted images)
- fix for minor .Z inefficiency in xv.c ("FIXME")
- fix for filename entry-field mouse/cursor deficiencies
(positioning fixed 20070104 by Ross Combs; would like select/cut/paste, too)
- fix for .ppm.gz "disk leak" [can't reproduce...already fixed?]
(maybe occurs only if filesystem is already nearly full? bad .gz?)
- transparency support for TIFF, XPM and TGA images
- support for tiled background image (with transparent foreground image)
- MNG/JNG support
- SVG support
ChangeLog
---------
20000220
original pair of jumbo patches, comprising perhaps 16 fix-patches and a
dozen enhancement-patches; never publicly released
20040516
first public release, incorporating 25 fix-patches and 21 enhancement-
patches
20040523
minor fix to xvctrl.c to support registered versions (GRR warnings-patch
was slightly overzealous); switched to tarball packaging
20040531
fixed undefined CLK_TCK with gcc -ansi (enh/USE_TICKS option); made
libjpeg, libtiff, libpng and zlib sections of makefile more consistent
(enh)
20040606
added freshmeat link, build instructions, and changelog to jumbo README
(this file)
20050213
increased max number of files from 4096 to 32768 (enh)
20050320-20050410
fixed two very long-standing YCbCr bugs in TIFF decoder (fix);
provisionally fixed bug in TIFF decoder for contiguous tiled TIFFs with
bottom-* orientation (fix/USE_TILED_TIFF_BOTLEFT_FIX option); fixed new
gcc 3.3 warnings (fix); fixed incorrect 16/24-bit display of xwd dumps
(fix); fixed multiple input-validation bugs (potential heap overflows)
and mktemp() dependencies (*SECURITY* fixes: CAN-2004-1725, CAN-2004-
1726, CAN-2005-0665, CERT VU#622622, and others); added support for 16-
and 32-bit BMPs using bitfields "compression" (enh); fixed probable byte-
sex bug in 24-bit FixPix display code (enh/USE_24BIT_ENDIAN_FIX option);
fixed numerical-keypad NumLock behavior and delete-key behavior in file-
load/save window (enh); made schnauzer window and icons configurable (enh)
20050417
incorporated "Japanese extension" patches, revision 5.3.3 (enh); fixed
additional *SECURITY* issues (format-string vulnerabilities, system()
and mktemp() calls, etc., but NOT heap overflows in new decoders) both
in existing code and in jp-extension additions (enh)
20050425
added support for -startgrab option (enh); added support for a "Never"
button to file-overwrite popups (enh); added NetBSD and BSDI to list of
mkstemp()-supporting systems (enh); improved line-drawing code to set the
correct pixels for lines of all slopes (enh); added "Page n of m" to Info
window for multipage images (enh); added support for multipage (animated)
GIFs (enh); fixed -random support so randomized file list can be traversed
normally in forward or backward direction (enh); added typecasts to stat()
printfs for portability (enh); fixed erroneous use of "creation" time and
forced unlink prior to overwrite in schnauzer thumbnail code (enh); added
HIPS support (enh/HAVE_HIPS option)
20050501
extended multipage keyboard support (PgUp/PgDn) to all windows except
control ("console") and directory (enh); fixed minor (non-security)
format-string issue in xv.c (enh); shortened delay on popup error windows
from 3 seconds to 1 second (enh); tweaked text-viewer localization support
(TV_L10N) for Linux (enh); added keyboard short cuts for Color and
Grayscale buttons in print dialog (enh); added support for separate "magic
suffix" (xv_mgcsfx) config dir (enh); added PREFIX and DESTDIR support to
Makefile (enh); fixed handling of zero-length files and other text-viewer
failures (enh)
20050528
conditionally added missing alloca.h to xvpcd.c (required if alloca() is
a macro and alloca.h not included in stdlib.h, for example); fixed bogus
__S_IWRITE introduced in 20050501 release; fixed Makefile "install" target
(mkdir, chmod); fixed bug in MUST macro in xvwbmp.c; fixed prototype
warnings in xvevent.c, xvpcd.c (JRK, GRR)
- xv-3.10a-jimkirk-fixes.patch
20050630
fixed broken mkdir(.xvpics) introduced in 20050501 release (RJH, GRR);
tweaked GUNZIP config for OpenBSD (GRR)
- xv-3.10a-xvpics-mkdir-fix.patch
20051014
fixed longstanding xvevent.c typo (wasJpegUp -> wasPngUp) that caused build
failure if no JPEG support (TAR)
20051019
fixed Darwin (Mac OS X) build error in xv.h and vdcomp.c due to lack of
malloc.h (JDB)
20070210
fixed minor grammos (GRR); promoted PNG to first position, demoted GIF to
third (GRR); changed internal type of default image to PNG (GRR); increased
max files again, to 65536 (GRR)
20070310
incorporated JPEG-2000 patch (SBM, GRR); added manual fax options for
unrecognized G3 images (SBM); relaxed 30-byte minimum file size (SBM)
- http://www.ece.uvic.ca/~mdadams/jasper/software/xv-patches
20070318
incorporated 16bps raw (binary) PPM patch (define ASSUME_RAW_PPM_LSB_FIRST
for old behavior) (RAC, GRR); updated format list, web sites in xv man page
(GRR); fixed Makefile "install" target to create any necessary directories
(RAC, GRR); fixed GIF decoder bug (sizes of global, local color tables
different) (GRR)
- xv-ross-combs-ppm-16bps-rawbits.patch
20070325
fixed invalid gamma assumption in PNG decoder (=> progressive color changes
over load/save cycles) (GRR)
20070328
fixed animated-GIF /tmp/xvpgXXXXXX droppings (GRR)
20070331
fixed PNG duplicate-palette-entries bug (GRR)
20070415
incorporated EXIF-preserve patch (GHK); added missing JP2/JPC VS bits code
(GRR); added extended-warning options to CCOPTS (RAC); added "const" to
huge number of function args (RAC, GRR); made more effectively static
functions officially static (RAC); added mouse-clickability (but not
selectability) to text-entry fields (RAC); fixed window positioning (race
conditions?) under some virtual window managers (e.g., tvtwm) (RAC);
removed explicit paths for external (de)compressors (GRR, RAC)
- xv-geoff-kuenning-jpeg-exif-preserve.patch
- xv-ross-combs-20070104.diff
20070422
incorporated function-key-scripts patch (see contrib/fnkey-scripts) (AS);
fixed man-page-section extensions ("1", not "l" or "1X") (FG); switched to
more sensible install paths for docs (FG); added Fedora Core build script
(see contrib/fedora) (JC); fixed VS to switch from move-mode to copy-mode
if source dir is read-only (EAJ); extended VS incremental-search mode (EAJ)
- xv-alexey-spiridonov-20070116-fnkey-scripts.tar.bz2
- xv-fabian-greffrath-20070215-debian-04-manpages.dpatch
- xv-fabian-greffrath-20070215-debian-03-makefiles.dpatch
- xv-john-cooper-Build-FC5-script.sh
- xv-erling-jacobsen-20060617-incr-search.patch
20070428
modified install to include README.jumbo in docs (GRR); incorporated PNG
no-stdio patch (SBM); fixed XWD endianness support, improved performance
(replaces SJT 16/24-bit fix) (SBM)
- xv-scott-marovich-20070214-xvpng.diff
- xv-scott-marovich-20070214-xvxwd.c.patch
20070506
added JPEG CMYK support (SBM); fixed TIFF (and others?) /tmp/xvpgXXXXXX
droppings (GRR); added VS clipboard support (JG)
- xv-scott-marovich-20070214-xvjpeg.c.patch
- xv-jurgen-grahn-20051127-schnauzer-clip.patch
20070512
inverted handling of malloc.h header file to require NEED_MALLOC_H macro
for those few systems that actually need it (GRR)
20070513
fixed GCC 4.1.x warnings (GRR); next round of const cleanup (GRR); fixed
minor TIFF memleak (GRR)
20070514
fixed TIFF YCbCr reference black/white levels (SBM); added option to use
libjpeg YCbCr-to-RGB conversion for TIFF images (SBM, GRR)
- xv-scott-marovich-20070214-xvtiff.c.patch2.unified
- xv-scott-marovich-20070214-xvtiff.c.patch3.unified
20070519
fixed handling of multi-page JPEG-compressed TIFFs (old or new) (SBM);
added TIFF YCbCr separated-color-plane support (may require libtiff
patch(es) to tif_ojpeg.c and/or tif_jpeg.c) (SBM)
- xv-scott-marovich-20070214-xvtiff.c.patch4.unified
- xv-scott-marovich-20070214-xvtiff.c.patch5.unified
20070520
updated README.jumbo

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,543 +0,0 @@
$OpenBSD: patch-xvpng_c,v 1.2 2011/08/29 18:07:44 espie Exp $
Fix build with png-1.5.
--- xvpng.c.orig Mon May 14 02:53:28 2007
+++ xvpng.c Mon Aug 29 15:05:31 2011
@@ -31,6 +31,7 @@
#ifdef HAVE_PNG
+#include "zlib.h"
#include "png.h"
/*** Stuff for PNG Dialog box ***/
@@ -41,7 +42,7 @@
#define COMPRESSION 6 /* default zlib compression level, not max
(Z_BEST_COMPRESSION) */
-#define HAVE_tRNS (info_ptr->valid & PNG_INFO_tRNS)
+#define HAVE_tRNS (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))
#define DWIDE 86
#define DHIGH 104
@@ -435,6 +436,16 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
{
png_struct *png_ptr;
png_info *info_ptr;
+ struct {
+ /* IHDR */
+ png_uint_32 width;
+ png_uint_32 height;
+ int bit_depth;
+ int color_type;
+ int interlace_type;
+ /* PLTE */
+ int use_palette;
+ } info_tmp;
png_color palette[256];
png_textp text;
byte r1[256], g1[256], b1[256]; /* storage for deduped palette */
@@ -444,6 +455,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
byte *p, *png_line;
char software[256];
char *savecmnt;
+ int num_text, max_text;
if ((png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL,
png_xv_error, png_xv_warning)) == NULL) {
@@ -458,7 +470,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
FatalError(software);
}
- if (setjmp(png_ptr->jmpbuf)) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
png_destroy_write_struct(&png_ptr, &info_ptr);
return -1;
}
@@ -489,8 +501,8 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
png_set_filter(png_ptr, 0, filter);
}
- info_ptr->width = w;
- info_ptr->height = h;
+ info_tmp.width = w;
+ info_tmp.height = h;
if (w <= 0 || h <= 0) {
SetISTR(ISTR_WARNING, "%s: image dimensions out of range (%dx%d)",
fbasename, w, h);
@@ -498,7 +510,8 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
return -1;
}
- info_ptr->interlace_type = interCB.val ? 1 : 0;
+ info_tmp.interlace_type =
+ interCB.val ? PNG_INTERLACE_ADAM7 : PNG_INTERLACE_NONE;
linesize = 0; /* quiet a compiler warning */
@@ -542,40 +555,40 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
png_destroy_write_struct(&png_ptr, &info_ptr);
return -1;
}
- info_ptr->color_type = PNG_COLOR_TYPE_RGB;
- info_ptr->bit_depth = 8;
+ info_tmp.color_type = PNG_COLOR_TYPE_RGB;
+ info_tmp.bit_depth = 8;
+ info_tmp.use_palette = 0;
} else /* ptype == PIC8 */ {
linesize = w;
- info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
+ info_tmp.color_type = PNG_COLOR_TYPE_PALETTE;
if (numuniqcols <= 2)
- info_ptr->bit_depth = 1;
+ info_tmp.bit_depth = 1;
else
if (numuniqcols <= 4)
- info_ptr->bit_depth = 2;
+ info_tmp.bit_depth = 2;
else
if (numuniqcols <= 16)
- info_ptr->bit_depth = 4;
+ info_tmp.bit_depth = 4;
else
- info_ptr->bit_depth = 8;
+ info_tmp.bit_depth = 8;
for (i = 0; i < numuniqcols; i++) {
palette[i].red = r1[i];
palette[i].green = g1[i];
palette[i].blue = b1[i];
}
- info_ptr->num_palette = numuniqcols;
- info_ptr->palette = palette;
- info_ptr->valid |= PNG_INFO_PLTE;
+ info_tmp.use_palette = 1;
}
}
else if (colorType == F_GREYSCALE || colorType == F_BWDITHER) {
- info_ptr->color_type = PNG_COLOR_TYPE_GRAY;
+ info_tmp.color_type = PNG_COLOR_TYPE_GRAY;
+ info_tmp.use_palette = 0;
if (colorType == F_BWDITHER) {
/* shouldn't happen */
if (ptype == PIC24) FatalError("PIC24 and B/W Stipple in WritePNG()");
- info_ptr->bit_depth = 1;
+ info_tmp.bit_depth = 1;
if (MONO(r1[0], g1[0], b1[0]) > MONO(r1[1], g1[1], b1[1])) {
remap[0] = 1;
remap[1] = 0;
@@ -595,7 +608,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
png_destroy_write_struct(&png_ptr, &info_ptr);
return -1;
}
- info_ptr->bit_depth = 8;
+ info_tmp.bit_depth = 8;
}
else /* ptype == PIC8 */ {
int low_precision;
@@ -617,7 +630,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
for (; i < 256; i++)
remap[i]=0; /* shouldn't be necessary, but... */
- info_ptr->bit_depth = 8;
+ info_tmp.bit_depth = 8;
/* Note that this fails most of the time because of gamma */
/* (and that would be a bug: GRR FIXME) */
@@ -636,7 +649,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
for (i = 0; i < numuniqcols; i++) {
remap[i] &= 0xf;
}
- info_ptr->bit_depth = 4;
+ info_tmp.bit_depth = 4;
/* try to adjust to 2-bit precision grayscale */
@@ -652,7 +665,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
for (i = 0; i < numuniqcols; i++) {
remap[i] &= 3;
}
- info_ptr->bit_depth = 2;
+ info_tmp.bit_depth = 2;
/* try to adjust to 1-bit precision grayscale */
@@ -668,7 +681,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
for (i = 0; i < numuniqcols; i++) {
remap[i] &= 1;
}
- info_ptr->bit_depth = 1;
+ info_tmp.bit_depth = 1;
}
}
}
@@ -677,6 +690,20 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
else
png_error(png_ptr, "Unknown colorstyle in WritePNG");
+ png_set_IHDR(png_ptr, info_ptr,
+ info_tmp.width, info_tmp.height,
+ info_tmp.bit_depth, info_tmp.color_type,
+ info_tmp.interlace_type, PNG_COMPRESSION_TYPE_BASE,
+ PNG_FILTER_TYPE_BASE);
+ if (info_tmp.use_palette) {
+ /*
+ * info_ptr->num_palette = numuniqcols;
+ * info_ptr->palette = palette;
+ * info_ptr->valid |= PNG_INFO_PLTE;
+ */
+ png_set_PLTE(png_ptr, info_ptr, palette, numuniqcols);
+ }
+
if ((text = (png_textp)malloc(sizeof(png_text)))) {
sprintf(software, "XV %s", REVDATE);
@@ -684,21 +711,29 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
text->key = "Software";
text->text = software;
text->text_length = strlen(text->text);
+ text->lang = NULL;
- info_ptr->max_text = 1;
- info_ptr->num_text = 1;
- info_ptr->text = text;
+ /*
+ * info_ptr->max_text = 1;
+ * info_ptr->num_text = 1;
+ * info_ptr->text = text;
+ */
+ png_set_text(png_ptr, info_ptr, text, 1);
+ num_text = max_text = 1;
}
Display_Gamma = gDial.val; /* Save the current gamma for loading */
// GRR FIXME: add .Xdefaults option to omit writing gamma (size, cumulative errors when editing)--alternatively, modify save box to include "omit" checkbox
- info_ptr->gamma = 1.0/gDial.val;
- info_ptr->valid |= PNG_INFO_gAMA;
+ /*
+ * info_ptr->gamma = 1.0/gDial.val;
+ * info_ptr->valid |= PNG_INFO_gAMA;
+ */
+ png_set_gAMA(png_ptr, info_ptr, 1.0/gDial.val);
png_write_info(png_ptr, info_ptr);
- if (info_ptr->bit_depth < 8)
+ if (info_tmp.bit_depth < 8)
png_set_packing(png_ptr);
pass=png_set_interlace_handling(png_ptr);
@@ -711,13 +746,13 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
int j;
p = pic;
for (j = 0; j < h; ++j) {
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY) {
+ if (info_tmp.color_type == PNG_COLOR_TYPE_GRAY) {
int k;
for (k = 0; k < w; ++k)
png_line[k] = ptype==PIC24 ? MONO(p[k*3], p[k*3+1], p[k*3+2]) :
remap[pc2nc[p[k]]];
png_write_row(png_ptr, png_line);
- } else if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) {
+ } else if (info_tmp.color_type == PNG_COLOR_TYPE_PALETTE) {
int k;
for (k = 0; k < w; ++k)
png_line[k] = pc2nc[p[k]];
@@ -743,24 +778,26 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
strcpy(savecmnt, picComments);
key = savecmnt;
tp = text;
- info_ptr->num_text = 0;
+ png_free_data(png_ptr, info_ptr, PNG_FREE_TEXT, -1);
+ num_text = 0;
+
comment = strchr(key, ':');
do {
/* Allocate a larger structure for comments if necessary */
- if (info_ptr->num_text >= info_ptr->max_text)
+ if (num_text >= max_text)
{
if ((tp =
- realloc(text, (info_ptr->num_text + 2)*sizeof(png_text))) == NULL)
+ realloc(text, (num_text + 2)*sizeof(png_text))) == NULL)
{
break;
}
else
{
text = tp;
- tp = &text[info_ptr->num_text];
- info_ptr->max_text += 2;
+ tp = &text[num_text];
+ max_text += 2;
}
}
@@ -810,7 +847,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
}
tp->compression = tp->text_length > 640 ? 0 : -1;
- info_ptr->num_text++;
+ num_text++;
tp++;
}
}
@@ -834,27 +871,29 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n
tp->text = key;
tp->text_length = q - key;
tp->compression = tp->text_length > 750 ? 0 : -1;
- info_ptr->num_text++;
+ num_text++;
key = NULL;
}
} while (key && *key);
+ png_set_text(png_ptr, info_ptr, text, num_text);
}
else {
- info_ptr->num_text = 0;
+ png_free_data(png_ptr, info_ptr, PNG_FREE_TEXT, -1);
}
}
- info_ptr->text = text;
- png_convert_from_time_t(&(info_ptr->mod_time), time(NULL));
- info_ptr->valid |= PNG_INFO_tIME;
+ {
+ png_time mod_time;
+ png_convert_from_time_t(&mod_time, time(NULL));
+ png_set_tIME(png_ptr, info_ptr, &mod_time);
+ }
+
png_write_end(png_ptr, info_ptr);
fflush(fp); /* just in case we core-dump before finishing... */
if (text) {
free(text);
- /* must do this or png_destroy_write_struct() 0.97+ will free text again: */
- info_ptr->text = (png_textp)NULL;
if (savecmnt)
{
free(savecmnt);
@@ -886,6 +925,8 @@ int LoadPNG(fname, pinfo)
int pass;
int gray_to_rgb;
size_t commentsize;
+ png_textp text;
+ int num_text;
fbasename = BaseName(fname);
@@ -921,7 +962,7 @@ int LoadPNG(fname, pinfo)
FatalError("malloc failure in LoadPNG");
}
- if (setjmp(png_ptr->jmpbuf)) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
fclose(fp);
png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
if (!read_anything) {
@@ -945,8 +986,8 @@ int LoadPNG(fname, pinfo)
#endif
png_read_info(png_ptr, info_ptr);
- pinfo->w = pinfo->normw = info_ptr->width;
- pinfo->h = pinfo->normh = info_ptr->height;
+ pinfo->w = pinfo->normw = png_get_image_width(png_ptr, info_ptr);
+ pinfo->h = pinfo->normh = png_get_image_height(png_ptr, info_ptr);
if (pinfo->w <= 0 || pinfo->h <= 0) {
SetISTR(ISTR_WARNING, "%s: image dimensions out of range (%dx%d)",
fbasename, pinfo->w, pinfo->h);
@@ -957,9 +998,9 @@ int LoadPNG(fname, pinfo)
pinfo->frmType = F_PNG;
sprintf(pinfo->fullInfo, "PNG, %d bit ",
- info_ptr->bit_depth * info_ptr->channels);
+ png_get_bit_depth(png_ptr,info_ptr) * png_get_channels(png_ptr, info_ptr));
- switch(info_ptr->color_type) {
+ switch(png_get_color_type(png_ptr, info_ptr)) {
case PNG_COLOR_TYPE_PALETTE:
strcat(pinfo->fullInfo, "palette color");
break;
@@ -983,15 +1024,20 @@ int LoadPNG(fname, pinfo)
sprintf(pinfo->fullInfo + strlen(pinfo->fullInfo),
", %sinterlaced. (%d bytes)",
- info_ptr->interlace_type ? "" : "non-", filesize);
+ png_get_interlace_type(png_ptr, info_ptr) ? "" : "non-", filesize);
- sprintf(pinfo->shrtInfo, "%lux%lu PNG", info_ptr->width, info_ptr->height);
+ sprintf(pinfo->shrtInfo, "%lux%lu PNG",
+ png_get_image_width(png_ptr, info_ptr),
+ png_get_image_height(png_ptr, info_ptr));
- if (info_ptr->bit_depth < 8)
+ if (png_get_bit_depth(png_ptr, info_ptr) < 8)
png_set_packing(png_ptr);
- if (info_ptr->valid & PNG_INFO_gAMA)
- png_set_gamma(png_ptr, Display_Gamma, info_ptr->gamma);
+ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_gAMA)) {
+ double gamma;
+ png_get_gAMA(png_ptr, info_ptr, &gamma);
+ png_set_gamma(png_ptr, Display_Gamma, gamma);
+ }
/*
*else
* png_set_gamma(png_ptr, Display_Gamma, 0.45);
@@ -1000,7 +1046,7 @@ int LoadPNG(fname, pinfo)
gray_to_rgb = 0; /* quiet a compiler warning */
if (have_imagebg) {
- if (info_ptr->bit_depth == 16) {
+ if (png_get_bit_depth(png_ptr, info_ptr) == 16) {
my_background.red = imagebgR;
my_background.green = imagebgG;
my_background.blue = imagebgB;
@@ -1013,8 +1059,8 @@ int LoadPNG(fname, pinfo)
}
png_set_background(png_ptr, &my_background, PNG_BACKGROUND_GAMMA_SCREEN,
0, Display_Gamma);
- if ((info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA ||
- (info_ptr->color_type == PNG_COLOR_TYPE_GRAY && HAVE_tRNS)) &&
+ if ((png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA ||
+ (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY && HAVE_tRNS)) &&
(imagebgR != imagebgG || imagebgR != imagebgB)) /* i.e., colored bg */
{
png_set_gray_to_rgb(png_ptr);
@@ -1022,8 +1068,10 @@ int LoadPNG(fname, pinfo)
gray_to_rgb = 1;
}
} else {
- if (info_ptr->valid & PNG_INFO_bKGD) {
- png_set_background(png_ptr, &info_ptr->background,
+ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_bKGD)) {
+ png_color_16p background;
+ png_get_bKGD(png_ptr, info_ptr, &background);
+ png_set_background(png_ptr, background,
PNG_BACKGROUND_GAMMA_FILE, 1, 1.0);
} else {
my_background.red = my_background.green = my_background.blue =
@@ -1033,13 +1081,13 @@ int LoadPNG(fname, pinfo)
}
}
- if (info_ptr->bit_depth == 16)
+ if (png_get_bit_depth(png_ptr, info_ptr) == 16)
png_set_strip_16(png_ptr);
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
+ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
{
- if (info_ptr->bit_depth == 1)
+ if (png_get_bit_depth(png_ptr, info_ptr) == 1)
pinfo->colType = F_BWDITHER;
else
pinfo->colType = F_GREYSCALE;
@@ -1050,8 +1098,8 @@ int LoadPNG(fname, pinfo)
png_read_update_info(png_ptr, info_ptr);
- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB ||
- info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA || gray_to_rgb)
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB ||
+ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA || gray_to_rgb)
{
linesize = 3 * pinfo->w;
if (linesize/3 < pinfo->w) { /* know pinfo->w > 0 (see above) */
@@ -1065,16 +1113,20 @@ int LoadPNG(fname, pinfo)
} else {
linesize = pinfo->w;
pinfo->type = PIC8;
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY ||
- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY ||
+ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) {
for (i = 0; i < 256; i++)
pinfo->r[i] = pinfo->g[i] = pinfo->b[i] = i;
} else {
+ png_colorp palette;
+ int num_palette;
+
+ png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette);
pinfo->colType = F_FULLCOLOR;
- for (i = 0; i < info_ptr->num_palette; i++) {
- pinfo->r[i] = info_ptr->palette[i].red;
- pinfo->g[i] = info_ptr->palette[i].green;
- pinfo->b[i] = info_ptr->palette[i].blue;
+ for (i = 0; i < num_palette; i++) {
+ pinfo->r[i] = palette[i].red;
+ pinfo->g[i] = palette[i].green;
+ pinfo->b[i] = palette[i].blue;
}
}
}
@@ -1092,7 +1144,17 @@ int LoadPNG(fname, pinfo)
png_error(png_ptr, "can't allocate space for PNG image");
}
- png_start_read_image(png_ptr);
+ /*
+ * In png 1.5 (or at least 1.5.1beta06) calling this after calling
+ * png_read_update_info() does nothing besides issue a misleading
+ * warning message. The png docs are not at all clear on what an
+ * application is *supposed* to do, so I'm not sure if this is a
+ * problem with xv or with libpng. However, for now I'll comment
+ * this out as according to the png source that should be harmless
+ * and we don't want to see the warning message every time someone
+ * opens a png.
+ */
+ /*png_start_read_image(png_ptr);*/
for (i = 0; i < pass; i++) {
byte *p = pinfo->pic;
@@ -1106,22 +1168,24 @@ int LoadPNG(fname, pinfo)
png_read_end(png_ptr, info_ptr);
- if (info_ptr->num_text > 0) {
+ png_get_text(png_ptr, info_ptr, &text, &num_text);
+ if (num_text > 0) {
commentsize = 1;
- for (i = 0; i < info_ptr->num_text; i++)
- commentsize += strlen(info_ptr->text[i].key) + 1 +
- info_ptr->text[i].text_length + 2;
+ for (i = 0; i < num_text; i++)
+ commentsize += strlen(text[i].key) + 1 +
+ text[i].text_length + 2;
if ((pinfo->comment = malloc(commentsize)) == NULL) {
png_warning(png_ptr,"can't allocate comment string");
}
else {
pinfo->comment[0] = '\0';
- for (i = 0; i < info_ptr->num_text; i++) {
- strcat(pinfo->comment, info_ptr->text[i].key);
+ for (i = 0; i < num_text; i++) {
+ strcat(pinfo->comment, text[i].key);
strcat(pinfo->comment, "::");
- strcat(pinfo->comment, info_ptr->text[i].text);
+ if (text[i].text_length != 0)
+ strcat(pinfo->comment, text[i].text);
strcat(pinfo->comment, "\n");
}
}
@@ -1143,7 +1207,7 @@ png_xv_error(png_ptr, message)
{
SetISTR(ISTR_WARNING,"%s: libpng error: %s", fbasename, message);
- longjmp(png_ptr->jmpbuf, 1);
+ longjmp(png_jmpbuf(png_ptr), 1);
}

View file

@ -1,6 +1,6 @@
#!/bin/bash
# Copyright 2008, 2009, 2015, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA
# Copyright 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@ -23,17 +23,18 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=xv
VERSION=3.10a
BUILD=${BUILD:-10}
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) export ARCH=i586 ;;
arm*) export ARCH=arm ;;
case "$(uname -m)" in
i?86) ARCH=i586 ;;
arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
*) ARCH=$(uname -m) ;;
esac
export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@ -44,54 +45,90 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
TMP=${TMP:-/tmp}
PKG=$TMP/package-xv
PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf xv-3.10
tar xvf $CWD/xv-3.10.tar.?z* || exit 1
cd xv-3.10 || exit 1
rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
zcat $CWD/xv-3.10a.patch.gz | patch -p0 --verbose --backup --suffix=.orig || exit 1
bzcat $CWD/xv-3.10a-jumbo-fix-enh-patch-20070520.txt.bz2 | patch -p1 --verbose --backup --suffix=.orig || exit 1
bzcat $CWD/xv-3.10a-jumbo-additions.diff.bz2 | patch -p1 --verbose --backup --suffix=.orig || exit 1
bzcat $CWD/xv-3.10a-enhancements.20070520-20081216.diff.bz2 | patch -p1 --verbose --backup --suffix=.orig || exit 1
zcat $CWD/xv.prefix.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
if [ "$ARCH" = "x86_64" ]; then
zcat $CWD/xv.prefix_x86_64.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
fi
zcat $CWD/xv.jasper.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
zcat $CWD/xv-libpng-1.5.patch.gz | patch -p0 --verbose --backup --suffix=.orig || exit 1
zcat $CWD/xv.no.jasper.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
make -f Makefile.std || exit 1
strip --strip-unneeded bggen vdcomp xcmap xv xvpictoppm
mkdir -p $PKG/usr/bin
cat bggen > $PKG/usr/bin/bggen
cat vdcomp > $PKG/usr/bin/vdcomp
cat xcmap > $PKG/usr/bin/xcmap
cat xv > $PKG/usr/bin/xv
cat xvpictoppm > $PKG/usr/bin/xvpictoppm
chmod 755 $PKG/usr/bin/*
mkdir -p $PKG/usr/man/man1
for page in docs/xv.man docs/bggen.man docs/xcmap.man docs/xvp2p.man ; do
cat $page | gzip -9c > $PKG/usr/man/man1/`basename $page .man`.1.gz
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
# Configure, build, and install:
mkdir cmake-build
cd cmake-build
cmake \
-DCMAKE_C_FLAGS="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX="$LIBDIRSUFFIX" \
-DCMAKE_INSTALL_DOCDIR=/usr/doc/xv-$VERSION \
-DCMAKE_INSTALL_MANDIR=/usr/man \
-DCMAKE_INSTALL_SYSCONFDIR=/etc \
.. || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
cd ..
# Don't ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
# Strip binaries:
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
# Compress manual pages:
find $PKG/usr/man -type f -exec gzip -9 {} \+
for i in $( find $PKG/usr/man -type l ) ; do
ln -s $( readlink $i ).gz $i.gz
rm $i
done
mkdir -p $PKG/usr/doc/xv-$VERSION
# Add a documentation directory:
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
BUGS IDEAS INSTALL README README.jumbo README.pcd \
$PKG/usr/doc/xv-$VERSION
( cd docs
cp -a \
penn.policy xv.blurb xv.ann xvdocs.ps \
$PKG/usr/doc/xv-$VERSION
bzip2 -9 $PKG/usr/doc/xv-$VERSION/xvdocs.ps )
INSTALL* LICENSE* NEWS* README* \
$PKG/usr/doc/${PKGNAM}-$VERSION
# Not updated and useless:
rm -f $PKG/usr/doc/${PKGNAM}-$VERSION/CHANGELOG
# HTML is enough:
mv $PKG/usr/doc/${PKGNAM}-$VERSION/manuals/html $PKG/usr/doc/${PKGNAM}-$VERSION
rm -rf $PKG/usr/doc/${PKGNAM}-$VERSION/manuals
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
# Build the package:
cd $PKG
/sbin/makepkg -l y -c n $TMP/xv-$VERSION-$ARCH-$BUILD.txz
/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz

View file

@ -1,20 +0,0 @@
--- ./Makefile.std.orig 2010-02-19 13:24:58.000000000 -0600
+++ ./Makefile.std 2010-02-19 13:27:20.000000000 -0600
@@ -179,13 +179,13 @@
JP2K = -DDOJP2K
###
#JP2KDIR = ../../jasper
-JP2KDIR = /usr/local/lib
+JP2KDIR = /usr
###
#JP2KINC = -I$(JP2KDIR)
-JP2KINC = -I/usr/local/include
+JP2KINC = -I/usr/include
###
-#JP2KLIB = -L$(JP2KDIR) -ljasper
-JP2KLIB = $(JP2KDIR)/libjasper.a
+JP2KLIB = -L$(JP2KDIR) -ljasper
+#JP2KLIB = $(JP2KDIR)/libjasper.a
###

View file

@ -1,22 +0,0 @@
--- ./Makefile.std.orig 2022-02-24 14:03:06.099774095 -0600
+++ ./Makefile.std 2022-02-24 14:04:14.407770317 -0600
@@ -176,15 +176,15 @@
### if, for whatever reason, you're unable to get the JasPer JPEG-2000 library
### to compile on your machine, *COMMENT OUT* the following lines
###
-JP2K = -DDOJP2K
+#JP2K = -DDOJP2K
###
#JP2KDIR = ../../jasper
-JP2KDIR = /usr
+#JP2KDIR = /usr
###
#JP2KINC = -I$(JP2KDIR)
-JP2KINC = -I/usr/include
+#JP2KINC = -I/usr/include
###
-JP2KLIB = -L$(JP2KDIR) -ljasper
+#JP2KLIB = -L$(JP2KDIR) -ljasper
#JP2KLIB = $(JP2KDIR)/libjasper.a

View file

@ -1,11 +0,0 @@
--- ./Makefile.std.orig 2010-02-19 13:12:10.000000000 -0600
+++ ./Makefile.std 2010-02-19 13:14:50.000000000 -0600
@@ -56,7 +56,7 @@
### NOTE: Users of old K&R compilers (i.e., any version not supporting C89
### string concatenation, such as "fub" "ar" => "fubar") should update
### xvtext.c:1831 (or thereabouts) if either PREFIX or DOCDIR changes:
-PREFIX = /usr/local
+PREFIX = /usr
BINDIR = $(PREFIX)/bin
MANDIR = $(PREFIX)/share/man/man1
MANSUF = 1

View file

@ -1,20 +0,0 @@
--- ./Makefile.std.orig 2010-02-19 13:15:05.000000000 -0600
+++ ./Makefile.std 2010-02-19 13:16:10.000000000 -0600
@@ -61,7 +61,7 @@
MANDIR = $(PREFIX)/share/man/man1
MANSUF = 1
DOCDIR = $(PREFIX)/share/doc/xv
-LIBDIR = $(PREFIX)/lib/xv
+LIBDIR = $(PREFIX)/lib64/xv
SYSCONFDIR = /etc
DESTDIR =
@@ -236,7 +236,7 @@
### for Linux, uncomment one of the following lines:
-#MCHN = -DLINUX -L/usr/X11R6/lib
+MCHN = -DLINUX -L/usr/X11R6/lib64
#MCHN = -DLINUX -L/usr/X11R6/lib64

1
extra/source/xv/xv.url Normal file
View file

@ -0,0 +1 @@
https://github.com/jasper-software/xv

View file

@ -5,12 +5,6 @@
#
gzip ./extra/source/rust-for-mozilla/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff
gzip ./extra/source/rust-for-mozilla/link_libffi.diff
gzip ./extra/source/xv/xv.no.jasper.diff
gzip ./extra/source/xv/xv-3.10a.patch
gzip ./extra/source/xv/xv-libpng-1.5.patch
gzip ./extra/source/xv/xv.prefix_x86_64.diff
gzip ./extra/source/xv/xv.jasper.diff
gzip ./extra/source/xv/xv.prefix.diff
gzip ./extra/source/getty-ps/getty.bugfixes.diff
gzip ./extra/source/fltk/fltk.fltk-config.in.diff
gzip ./extra/source/bittornado/btdownloadxterm.sh
@ -1161,6 +1155,3 @@ gzip ./source/x/xcm/xcm.udev.rules.diff
gzip ./source/x/libva/doinst.sh
gzip ./testing/source/rust/link_libffi.diff
gzip ./testing/source/gcc/patches/gcc-no_fixincludes.diff
bzip2 ./extra/source/xv/xv-3.10a-enhancements.20070520-20081216.diff
bzip2 ./extra/source/xv/xv-3.10a-jumbo-additions.diff
bzip2 ./extra/source/xv/xv-3.10a-jumbo-fix-enh-patch-20070520.txt