summaryrefslogtreecommitdiff
path: root/comms/hylafax
diff options
context:
space:
mode:
authordholland <dholland@pkgsrc.org>2012-04-08 03:25:03 +0000
committerdholland <dholland@pkgsrc.org>2012-04-08 03:25:03 +0000
commita73577548ff9fdf84ce41332306ee8a51f841ea9 (patch)
tree11b63208b71cb2b0309bb62126f3419836a4e07f /comms/hylafax
parentd02334d0843d194410d8c70abded811e28b2d23c (diff)
downloadpkgsrc-a73577548ff9fdf84ce41332306ee8a51f841ea9.tar.gz
Hack this to build against libtiff 4.x. With luck, it'll still work.
Because it depends on changes to the API in libtiff 4.x, set the minimum BUILDLINK_API_DEPENDS accordingly. And, even though it wasn't building, bump PKGREVISION to 7; the new package depending on tiff>=4.0 needs to be distinguishable from the old package depending on tiff<4.0. XXX: This package desperately needs to be updated. It is years out of XXX: date with respect to upstream.
Diffstat (limited to 'comms/hylafax')
-rw-r--r--comms/hylafax/Makefile7
-rw-r--r--comms/hylafax/distinfo6
-rw-r--r--comms/hylafax/patches/patch-ae8
-rw-r--r--comms/hylafax/patches/patch-hfaxd_FileSystem_c__33
-rw-r--r--comms/hylafax/patches/patch-hfaxd_FileTransfer_c__70
5 files changed, 118 insertions, 6 deletions
diff --git a/comms/hylafax/Makefile b/comms/hylafax/Makefile
index 22e937b8f36..6774130b2f5 100644
--- a/comms/hylafax/Makefile
+++ b/comms/hylafax/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.64 2012/02/16 17:18:50 hans Exp $
+# $NetBSD: Makefile,v 1.65 2012/04/08 03:25:03 dholland Exp $
VERS= 4.2.5
DISTNAME= hylafax-${VERS}
-PKGREVISION= 6
+PKGREVISION= 7
CATEGORIES= comms
MASTER_SITES_BETA= ftp://ftp.hylafax.org/source/BETA/
MASTER_SITES_RELEASE= ftp://ftp.hylafax.org/source/
@@ -64,6 +64,9 @@ CONFIGURE_ARGS+= --disable-pam
CONFIGURE_ENV+= MACHDEPLIBS=-lrt
.endif
+# Affected by TIFFHeader -> TIFFHeaderClassic change in 4.x.
+BUILDLINK_API_DEPENDS.libtiff+= tiff>=4.0.0
+
.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/jpeg.buildlink3.mk"
.include "../../graphics/tiff/buildlink3.mk"
diff --git a/comms/hylafax/distinfo b/comms/hylafax/distinfo
index 8d0b364fde1..b14249e39d6 100644
--- a/comms/hylafax/distinfo
+++ b/comms/hylafax/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.22 2011/09/03 08:52:59 obache Exp $
+$NetBSD: distinfo,v 1.23 2012/04/08 03:25:03 dholland Exp $
SHA1 (hylafax-4.2.5.tar.gz) = b3bfd492dcb85e8aa1ddff9e6dcec3c31e00fccc
RMD160 (hylafax-4.2.5.tar.gz) = aef5e7a8ff32bafa43b5efc431b9fd8c334ddb3a
@@ -7,7 +7,7 @@ SHA1 (patch-aa) = 94de7c7fb55c9c95c6a774fb732e2d47ec818152
SHA1 (patch-ab) = 5ee930814178223fa66dd308f365ff400559fd1d
SHA1 (patch-ac) = 6f89cc0c9e7a0e789c23b0dfc604376e457091b7
SHA1 (patch-ad) = a7e361980c94a025be0b326c1cf694cce3cbff72
-SHA1 (patch-ae) = f6111b7666a488e192fe4c180ccfed32fbe81348
+SHA1 (patch-ae) = 3623d9f41cfef85b0e079e6698cf974829451151
SHA1 (patch-af) = cb76c429c01e05ceeee7664a09344dc9d27f972d
SHA1 (patch-ag) = e1a38918cadf1d1cca7765ee2c050e99dfed0b7f
SHA1 (patch-ah) = 084a99cfe21d7090fca33d9e068036e19707f441
@@ -17,3 +17,5 @@ SHA1 (patch-am) = b004485310a2257630561a42b3f08896604ce986
SHA1 (patch-an) = 535f9454e473d7bb26a256aec3158cffdb3d0399
SHA1 (patch-ao) = 73da088c0dbc13a0dcb8d6abaa36804f34638c51
SHA1 (patch-ap) = f9d6a2796535e7200419d6e24203b9995e5cfb39
+SHA1 (patch-hfaxd_FileSystem_c__) = d39e8abb1163f5f02b2cb1fa5814c4588a8fa73e
+SHA1 (patch-hfaxd_FileTransfer_c__) = 683b4a0bdd1927d0a0636e8df75d5b8bae27e0ff
diff --git a/comms/hylafax/patches/patch-ae b/comms/hylafax/patches/patch-ae
index 77620a47a84..45401b5f21e 100644
--- a/comms/hylafax/patches/patch-ae
+++ b/comms/hylafax/patches/patch-ae
@@ -1,4 +1,8 @@
-$NetBSD: patch-ae,v 1.15 2011/09/03 08:52:59 obache Exp $
+$NetBSD: patch-ae,v 1.16 2012/04/08 03:25:03 dholland Exp $
+
+- Configure for pkgsrc.
+- Recognize libtiff 4.x.
+- ...
--- configure.orig 2005-12-16 22:40:30.000000000 +0000
+++ configure
@@ -106,7 +110,7 @@ $NetBSD: patch-ae,v 1.15 2011/09/03 08:52:59 obache Exp $
case ${lib_ver} in
3.4) tiff_runlen_t="uint16" ;;
- 3.[567]) tiff_runlen_t="uint32" ;;
-+ 3.[56789]) tiff_runlen_t="uint32" ;;
++ 3.[56789]|4*) tiff_runlen_t="uint32" ;;
esac
fi
else
diff --git a/comms/hylafax/patches/patch-hfaxd_FileSystem_c__ b/comms/hylafax/patches/patch-hfaxd_FileSystem_c__
new file mode 100644
index 00000000000..bd0acaf6540
--- /dev/null
+++ b/comms/hylafax/patches/patch-hfaxd_FileSystem_c__
@@ -0,0 +1,33 @@
+$NetBSD: patch-hfaxd_FileSystem_c__,v 1.1 2012/04/08 03:25:03 dholland Exp $
+
+Support libtiff 4.x.
+
+--- hfaxd/FileSystem.c++~ 2003-02-08 22:49:52.000000000 +0000
++++ hfaxd/FileSystem.c++
+@@ -728,7 +728,7 @@ HylaFAXServer::nlstUnixFile(FILE* fd, co
+ }
+
+ static bool
+-isTIFF(const TIFFHeader& h)
++isTIFF(const TIFFHeaderClassic& h)
+ {
+ if (h.tiff_magic != TIFF_BIGENDIAN && h.tiff_magic != TIFF_LITTLEENDIAN)
+ return (false);
+@@ -741,7 +741,7 @@ isTIFF(const TIFFHeader& h)
+ // byte swap version stamp if opposite byte order
+ if ((u.c[0] == 0) ^ (h.tiff_magic == TIFF_BIGENDIAN))
+ TIFFSwabShort(&version);
+- return (version == TIFF_VERSION);
++ return (version == TIFF_VERSION_CLASSIC);
+ }
+
+ bool
+@@ -754,7 +754,7 @@ HylaFAXServer::docType(const char* docna
+ if (FileCache::lookup(docname, sb) && S_ISREG(sb.st_mode)) {
+ union {
+ char buf[512];
+- TIFFHeader h;
++ TIFFHeaderClassic h;
+ } b;
+ ssize_t cc = Sys::read(fd, (char*) &b, sizeof (b));
+ if (cc > 2 && b.buf[0] == '%' && b.buf[1] == '!')
diff --git a/comms/hylafax/patches/patch-hfaxd_FileTransfer_c__ b/comms/hylafax/patches/patch-hfaxd_FileTransfer_c__
new file mode 100644
index 00000000000..27f1c94728c
--- /dev/null
+++ b/comms/hylafax/patches/patch-hfaxd_FileTransfer_c__
@@ -0,0 +1,70 @@
+$NetBSD: patch-hfaxd_FileTransfer_c__,v 1.1 2012/04/08 03:25:03 dholland Exp $
+
+Support libtiff 4.x. Hopefully.
+
+--- hfaxd/FileTransfer.c++.orig 2005-08-05 19:08:15.000000000 +0000
++++ hfaxd/FileTransfer.c++
+@@ -50,6 +50,14 @@
+ #define HAVE_PSLEVEL2 false
+ #define HAVE_PCL5 false
+
++/* XXX */
++struct TIFFDirEntry {
++ uint16_t tdir_tag;
++ uint16_t tdir_type;
++ uint16_t tdir_count;
++ uint16_t tdir_offset;
++};
++
+ static struct {
+ const char* name; // protocol token name
+ bool supported; // true if format is supported
+@@ -210,7 +218,7 @@ HylaFAXServer::retrievePageCmd(const cha
+ uint32* sb;
+ TIFFGetField(tif, TIFFTAG_STRIPBYTECOUNTS, &sb);
+ file_size = sizeof (DirTemplate) +
+- sizeof (TIFFHeader) + sizeof (uint16);
++ sizeof (TIFFHeaderClassic) + sizeof (uint16);
+ for (tstrip_t s = 0, ns = TIFFNumberOfStrips(tif); s < ns; s++)
+ file_size += sb[s];
+ reply(code, "%s for %s (%lu bytes).",
+@@ -242,10 +250,10 @@ HylaFAXServer::openTIFF(const char* name
+ if (fd >= 0) {
+ union {
+ char buf[512];
+- TIFFHeader h;
++ TIFFHeaderClassic h;
+ } b;
+ ssize_t cc = Sys::read(fd, (char*) &b, sizeof (b));
+- if (cc > (ssize_t)sizeof (b.h) && b.h.tiff_version == TIFF_VERSION &&
++ if (cc > (ssize_t)sizeof (b.h) && b.h.tiff_version == TIFF_VERSION_CLASSIC &&
+ (b.h.tiff_magic == TIFF_BIGENDIAN ||
+ b.h.tiff_magic == TIFF_LITTLEENDIAN)) {
+ (void) lseek(fd, 0L, SEEK_SET); // rewind
+@@ -324,7 +332,7 @@ HylaFAXServer::sendTIFFHeader(TIFF* tif,
+ {
+ static DirTemplate templ = {
+ #define TIFFdiroff(v) \
+- (uint32) (sizeof (TIFFHeader) + sizeof (uint16) + \
++ (uint32) (sizeof (TIFFHeaderClassic) + sizeof (uint16) + \
+ (intptr_t) &(((DirTemplate*) 0)->v))
+ { TIFFTAG_SUBFILETYPE, TIFF_LONG, 1 },
+ { TIFFTAG_IMAGEWIDTH, TIFF_LONG, 1 },
+@@ -358,14 +366,14 @@ HylaFAXServer::sendTIFFHeader(TIFF* tif,
+ * of things about the contents of the TIFF file.
+ */
+ struct {
+- TIFFHeader h;
++ TIFFHeaderClassic h;
+ uint16 dircount;
+ u_char dirstuff[sizeof (templ)];
+ } buf;
+ union { int32 i; char c[4]; } u; u.i = 1;
+ buf.h.tiff_magic = (u.c[0] == 0 ? TIFF_BIGENDIAN : TIFF_LITTLEENDIAN);
+- buf.h.tiff_version = TIFF_VERSION;
+- buf.h.tiff_diroff = sizeof (TIFFHeader);
++ buf.h.tiff_version = TIFF_VERSION_CLASSIC;
++ buf.h.tiff_diroff = sizeof (TIFFHeaderClassic);
+ buf.dircount = (uint16) NTAGS;
+ getLong(tif, templ.SubFileType);
+ getLong(tif, templ.ImageWidth);