pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

compat32_jpeg: Rename jpeg-32 to compat32_jpeg



Module Name:	pkgsrc-wip
Committed By:	Naveen Narayanan <zerous@nocebo.space>
Pushed By:	zerous
Date:		Tue Jul 23 14:49:25 2019 +0200
Changeset:	c9c319f64359494334cc5cbd4800c234749ea851

Added Files:
	compat32_jpeg/DESCR
	compat32_jpeg/Makefile
	compat32_jpeg/PLIST
	compat32_jpeg/buildlink3.mk
	compat32_jpeg/distinfo
	compat32_jpeg/files/exifautotran
	compat32_jpeg/files/jpegexiforient.c
	compat32_jpeg/patches/patch-af
	compat32_jpeg/patches/patch-ag
	compat32_jpeg/patches/patch-jmorecfg.h
	compat32_jpeg/patches/patch-jpeglib.h
	compat32_jpeg/patches/patch-rdtarga.c
Removed Files:
	jpeg-32/DESCR
	jpeg-32/Makefile
	jpeg-32/PLIST
	jpeg-32/buildlink3.mk
	jpeg-32/distinfo
	jpeg-32/files/exifautotran
	jpeg-32/files/jpegexiforient.c
	jpeg-32/patches/patch-af
	jpeg-32/patches/patch-ag
	jpeg-32/patches/patch-jmorecfg.h
	jpeg-32/patches/patch-jpeglib.h
	jpeg-32/patches/patch-rdtarga.c

Log Message:
compat32_jpeg: Rename jpeg-32 to compat32_jpeg

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=c9c319f64359494334cc5cbd4800c234749ea851

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 compat32_jpeg/DESCR                    |  24 +++
 compat32_jpeg/Makefile                 |  38 +++++
 compat32_jpeg/PLIST                    |  21 +++
 compat32_jpeg/buildlink3.mk            |  15 ++
 compat32_jpeg/distinfo                 |  11 ++
 compat32_jpeg/files/exifautotran       |  40 +++++
 compat32_jpeg/files/jpegexiforient.c   | 293 +++++++++++++++++++++++++++++++++
 compat32_jpeg/patches/patch-af         |  24 +++
 compat32_jpeg/patches/patch-ag         |  62 +++++++
 compat32_jpeg/patches/patch-jmorecfg.h |  28 ++++
 compat32_jpeg/patches/patch-jpeglib.h  |  12 ++
 compat32_jpeg/patches/patch-rdtarga.c  |  37 +++++
 jpeg-32/DESCR                          |  24 ---
 jpeg-32/Makefile                       |  38 -----
 jpeg-32/PLIST                          |  21 ---
 jpeg-32/buildlink3.mk                  |  15 --
 jpeg-32/distinfo                       |  11 --
 jpeg-32/files/exifautotran             |  40 -----
 jpeg-32/files/jpegexiforient.c         | 293 ---------------------------------
 jpeg-32/patches/patch-af               |  24 ---
 jpeg-32/patches/patch-ag               |  62 -------
 jpeg-32/patches/patch-jmorecfg.h       |  28 ----
 jpeg-32/patches/patch-jpeglib.h        |  12 --
 jpeg-32/patches/patch-rdtarga.c        |  37 -----
 24 files changed, 605 insertions(+), 605 deletions(-)

diffs:
diff --git a/compat32_jpeg/DESCR b/compat32_jpeg/DESCR
new file mode 100644
index 0000000000..8f77e2a44c
--- /dev/null
+++ b/compat32_jpeg/DESCR
@@ -0,0 +1,24 @@
+Independent JPEG Group's free JPEG software
+-------------------------------------------
+
+This package contains C software to implement JPEG image encoding, decoding,
+and transcoding.  JPEG is a standardized compression method for full-color
+and gray-scale images.
+
+The distributed programs provide conversion between JPEG "JFIF" format and
+image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats.  The
+core compression and decompression library can easily be reused in other
+programs, such as image viewers.  The package is highly portable C code;
+we have tested it on many machines ranging from PCs to Crays.
+
+We are releasing this software for both noncommercial and commercial use.
+Companies are welcome to use it as the basis for JPEG-related products.
+We do not ask a royalty, although we do ask for an acknowledgement in
+product literature (see the README file in the distribution for details).
+We hope to make this software industrial-quality --- although, as with
+anything that's free, we offer no warranty and accept no liability.
+
+For more information, contact jpeg-info%uc.ag@localhost.
+
+Note: This package is intended to crosscompile jpeg for i386 on x86_64
+
diff --git a/compat32_jpeg/Makefile b/compat32_jpeg/Makefile
new file mode 100644
index 0000000000..4631b1bdb8
--- /dev/null
+++ b/compat32_jpeg/Makefile
@@ -0,0 +1,38 @@
+# $NetBSD: Makefile,v 1.55 2019/03/10 11:22:43 spz Exp $
+
+DISTNAME=		jpegsrc.v9c
+ABI=			32
+PKGNAME=		compat${ABI}_${DISTNAME:S/src.v/-/}
+CATEGORIES=		graphics
+MASTER_SITES=		http://www.ijg.org/files/
+DIST_SUBDIR=		jpeg-9c-v2
+PKGREVISION=		1
+
+MAINTAINER=		pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=		http://www.ijg.org/
+COMMENT=		IJG's jpeg compression utilities
+
+CONFLICTS=		libjpeg-turbo-[0-9]*
+
+WRKSRC=			${WRKDIR}/jpeg-9c
+USE_LIBTOOL=		yes
+GNU_CONFIGURE=		yes
+CFLAGS+=		-m32
+GNU_CONFIGURE_PREFIX=	${PREFIX}/emul/netbsd32/
+CONFIGURE_ARGS+=	--disable-ld-version-script
+
+INSTALLATION_DIRS=	bin include share/doc/jpeg
+
+PKGCONFIG_OVERRIDE=	libjpeg.pc.in
+
+TEST_TARGET=		test
+
+post-extract:
+	${CP} ${FILESDIR}/jpegexiforient.c ${WRKSRC}
+
+post-install:
+	# ${INSTALL_SCRIPT} ${FILESDIR}/exifautotran ${DESTDIR}${PREFIX}/bin
+	# ${INSTALL_DATA} ${WRKSRC}/jpegint.h ${DESTDIR}${PREFIX}/include
+	# ${INSTALL_DATA} ${WRKSRC}/*.txt ${DESTDIR}${PREFIX}/share/doc/jpeg
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/compat32_jpeg/PLIST b/compat32_jpeg/PLIST
new file mode 100644
index 0000000000..46580dd7a4
--- /dev/null
+++ b/compat32_jpeg/PLIST
@@ -0,0 +1,21 @@
+@comment $NetBSD$
+emul/netbsd32/bin/cjpeg
+emul/netbsd32/bin/djpeg
+emul/netbsd32/bin/jpegexiforient
+emul/netbsd32/bin/jpegtran
+emul/netbsd32/bin/rdjpgcom
+emul/netbsd32/bin/wrjpgcom
+emul/netbsd32/include/jconfig.h
+emul/netbsd32/include/jerror.h
+emul/netbsd32/include/jmorecfg.h
+emul/netbsd32/include/jpeglib.h
+emul/netbsd32/lib/libjpeg.la
+emul/netbsd32/lib/pkgconfig/libjpeg.pc
+emul/netbsd32/man/man1/cjpeg.1
+emul/netbsd32/man/man1/djpeg.1
+emul/netbsd32/man/man1/jpegtran.1
+emul/netbsd32/man/man1/rdjpgcom.1
+emul/netbsd32/man/man1/wrjpgcom.1
+@pkgdir share/doc/jpeg
+@pkgdir include
+@pkgdir bin
diff --git a/compat32_jpeg/buildlink3.mk b/compat32_jpeg/buildlink3.mk
new file mode 100644
index 0000000000..62f98e5d32
--- /dev/null
+++ b/compat32_jpeg/buildlink3.mk
@@ -0,0 +1,15 @@
+# $NetBSD: buildlink3.mk,v 1.17 2013/01/24 21:52:28 wiz Exp $
+
+BUILDLINK_TREE+=	compat32_jpeg
+
+.if !defined(COMPAT32_JPEG_BUILDLINK3_MK)
+COMPAT32_JPEG_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.compat32_jpeg+=	compat32_jpeg>=8nb1
+BUILDLINK_ABI_DEPENDS.compat32_jpeg+=	compat32_jpeg>=9
+BUILDLINK_PKGSRCDIR.compat32_jpeg?=	../../wip/jpeg-32
+BUILDLINK_LIBDIRS.compat32_jpeg=	/emul/netbsd32/lib
+BUILDLINK_INCDIRS.compat32_jpeg=	/emul/netbsd32/include
+.endif # COMPAT32_JPEG_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-compat32_jpeg
diff --git a/compat32_jpeg/distinfo b/compat32_jpeg/distinfo
new file mode 100644
index 0000000000..f395645759
--- /dev/null
+++ b/compat32_jpeg/distinfo
@@ -0,0 +1,11 @@
+$NetBSD: distinfo,v 1.24 2019/03/10 11:22:43 spz Exp $
+
+SHA1 (jpeg-9c-v2/jpegsrc.v9c.tar.gz) = 2ce111c8c0ac828a44b13ad28c265e954a342d07
+RMD160 (jpeg-9c-v2/jpegsrc.v9c.tar.gz) = c181cc66d03d96ffcca85724938551bb089fd519
+SHA512 (jpeg-9c-v2/jpegsrc.v9c.tar.gz) = 2b581c60ae401a79bbbe748ff2deeda5acd50bfd2ea22e5926e36d34b9ebcffb6580b0ff48e972c1441583e30e21e1ea821ca0423f9c67ce08a31dffabdbe6b7
+Size (jpeg-9c-v2/jpegsrc.v9c.tar.gz) = 1028134 bytes
+SHA1 (patch-af) = 925604706574009aacd452dab2d736039b0654e9
+SHA1 (patch-ag) = 46164c00386d1968356f1b61d144bc9168410654
+SHA1 (patch-jmorecfg.h) = c00f81ba94e2ad6b55ca9892553eedbe4eca3ad1
+SHA1 (patch-jpeglib.h) = 635453c5a2b1223ef5af729edcbfcfa3ed78a8b5
+SHA1 (patch-rdtarga.c) = eaec399d67ffb5d33b32131d01a052132bb5bae2
diff --git a/compat32_jpeg/files/exifautotran b/compat32_jpeg/files/exifautotran
new file mode 100644
index 0000000000..09db9ee48c
--- /dev/null
+++ b/compat32_jpeg/files/exifautotran
@@ -0,0 +1,40 @@
+#! /bin/sh
+#
+# $NetBSD: exifautotran,v 1.2 2010/01/04 19:43:39 joerg Exp $
+#
+# Based on http://www.jpegclub.org/exifautotran.txt
+#
+if [ "$#" = "0" ]
+then
+cat << EOF 1>&2
+usage: exifautotran [list of files]
+Transforms Exif files so that Orientation becomes 1
+EOF
+exit 1
+fi
+
+for i
+do
+ case `jpegexiforient -n "$i"` in
+ 1) transform="";;
+ 2) transform="-flip horizontal";;
+ 3) transform="-rotate 180";;
+ 4) transform="-flip vertical";;
+ 5) transform="-transpose";;
+ 6) transform="-rotate 90";;
+ 7) transform="-transverse";;
+ 8) transform="-rotate 270";;
+ *) transform="";;
+ esac
+ if test -n "$transform"; then
+  echo Executing: jpegtran -copy all $transform $i
+  jpegtran -copy all $transform "$i" > tempfile
+  if test $? -ne 0; then
+   echo Error while transforming $i - skipped.
+  else
+   rm "$i"
+   mv tempfile "$i"
+   jpegexiforient -1 "$i" > /dev/null
+  fi
+ fi
+done
diff --git a/compat32_jpeg/files/jpegexiforient.c b/compat32_jpeg/files/jpegexiforient.c
new file mode 100644
index 0000000000..177ba51ef6
--- /dev/null
+++ b/compat32_jpeg/files/jpegexiforient.c
@@ -0,0 +1,293 @@
+/* $NetBSD: jpegexiforient.c,v 1.2 2010/01/04 19:43:39 joerg Exp $ */
+/*
+ * jpegexiforient.c
+ *
+ * This is a utility program to get and set the Exif Orientation Tag.
+ * It can be used together with jpegtran in scripts for automatic
+ * orientation correction of digital camera pictures.
+ *
+ * The Exif orientation value gives the orientation of the camera
+ * relative to the scene when the image was captured.  The relation
+ * of the '0th row' and '0th column' to visual position is shown as
+ * below.
+ *
+ * Value | 0th Row     | 0th Column
+ * ------+-------------+-----------
+ *   1   | top         | left side
+ *   2   | top         | rigth side
+ *   3   | bottom      | rigth side
+ *   4   | bottom      | left side
+ *   5   | left side   | top
+ *   6   | right side  | top
+ *   7   | right side  | bottom
+ *   8   | left side   | bottom
+ *
+ * For convenience, here is what the letter F would look like if it were
+ * tagged correctly and displayed by a program that ignores the orientation
+ * tag:
+ *
+ *   1        2       3      4         5            6           7          8
+ *
+ * 888888  888888      88  88      8888888888  88                  88  8888888888
+ * 88          88      88  88      88  88      88  88          88  88      88  88
+ * 8888      8888    8888  8888    88          8888888888  8888888888          88
+ * 88          88      88  88
+ * 88          88  888888  888888
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+static FILE * myfile;		/* My JPEG file */
+
+static unsigned char exif_data[65536L];
+
+/* Return next input byte, or EOF if no more */
+#define NEXTBYTE()  getc(myfile)
+
+/* Error exit handler */
+#define ERREXIT(msg)  (exit(0))
+
+/* Read one byte, testing for EOF */
+static int
+read_1_byte (void)
+{
+  int c;
+
+  c = NEXTBYTE();
+  if (c == EOF)
+    ERREXIT("Premature EOF in JPEG file");
+  return c;
+}
+
+/* Read 2 bytes, convert to unsigned int */
+/* All 2-byte quantities in JPEG markers are MSB first */
+static unsigned int
+read_2_bytes (void)
+{
+  int c1, c2;
+
+  c1 = NEXTBYTE();
+  if (c1 == EOF)
+    ERREXIT("Premature EOF in JPEG file");
+  c2 = NEXTBYTE();
+  if (c2 == EOF)
+    ERREXIT("Premature EOF in JPEG file");
+  return (((unsigned int) c1) << 8) + ((unsigned int) c2);
+}
+
+static const char * progname;	/* program name for error messages */
+
+static void
+usage (void)
+/* complain about bad command line */
+{
+  fprintf(stderr, "jpegexiforient reads or writes the Exif Orientation Tag ");
+  fprintf(stderr, "in a JPEG Exif file.\n");
+
+  fprintf(stderr, "Usage: %s [switches] jpegfile\n", progname);
+
+  fprintf(stderr, "Switches:\n");
+  fprintf(stderr, "  -n         Do not output the trailing newline\n");
+  fprintf(stderr, "  -1 .. -8   Set orientation value 1 .. 8\n");
+}
+
+/*
+ * The main program.
+ */
+
+int
+main (int argc, char **argv)
+{
+  int n_flag, set_flag;
+  unsigned int length, i;
+  int is_motorola; /* Flag for byte order */
+  unsigned int offset, number_of_tags, tagnum;
+
+  progname = argv[0];
+  if (progname == NULL || progname[0] == 0)
+    progname = "jpegexiforient";	/* in case C library doesn't provide it */
+
+  if (argc < 2) { usage(); return 0; }
+
+  n_flag = 0; set_flag = 0;
+
+  i = 1;
+  while (argv[i][0] == '-') {
+    switch (argv[i][1]) {
+    case 'n':
+      n_flag = 1;
+      break;
+    case '1':
+    case '2':
+    case '3':
+    case '4':
+    case '5':
+    case '6':
+    case '7':
+    case '8':
+      set_flag = argv[i][1] - '0';
+      break;
+    default:
+      usage(); return 0;
+    }
+    if (++i >= argc) { usage(); return 0; }
+  }
+
+  if (set_flag) {
+    if ((myfile = fopen(argv[i], "rb+")) == NULL) {
+      fprintf(stderr, "%s: can't open %s\n", progname, argv[i]);
+      return 0;
+    }
+  } else {
+    if ((myfile = fopen(argv[i], "rb")) == NULL) {
+      fprintf(stderr, "%s: can't open %s\n", progname, argv[i]);
+      return 0;
+    }
+  }
+
+  /* Read File head, check for JPEG SOI + Exif APP1 */
+  for (i = 0; i < 4; i++)
+    exif_data[i] = (unsigned char) read_1_byte();
+  if (exif_data[0] != 0xFF ||
+      exif_data[1] != 0xD8 ||
+      exif_data[2] != 0xFF ||
+      exif_data[3] != 0xE1)
+    return 0;
+
+  /* Get the marker parameter length count */
+  length = read_2_bytes();
+  /* Length includes itself, so must be at least 2 */
+  /* Following Exif data length must be at least 6 */
+  if (length < 8)
+    return 0;
+  length -= 8;
+  /* Read Exif head, check for "Exif" */
+  for (i = 0; i < 6; i++)
+    exif_data[i] = (unsigned char) read_1_byte();
+  if (exif_data[0] != 0x45 ||
+      exif_data[1] != 0x78 ||
+      exif_data[2] != 0x69 ||
+      exif_data[3] != 0x66 ||
+      exif_data[4] != 0 ||
+      exif_data[5] != 0)
+    return 0;
+  /* Read Exif body */
+  for (i = 0; i < length; i++)
+    exif_data[i] = (unsigned char) read_1_byte();
+
+  if (length < 12) return 0; /* Length of an IFD entry */
+
+  /* Discover byte order */
+  if (exif_data[0] == 0x49 && exif_data[1] == 0x49)
+    is_motorola = 0;
+  else if (exif_data[0] == 0x4D && exif_data[1] == 0x4D)
+    is_motorola = 1;
+  else
+    return 0;
+
+  /* Check Tag Mark */
+  if (is_motorola) {
+    if (exif_data[2] != 0) return 0;
+    if (exif_data[3] != 0x2A) return 0;
+  } else {
+    if (exif_data[3] != 0) return 0;
+    if (exif_data[2] != 0x2A) return 0;
+  }
+
+  /* Get first IFD offset (offset to IFD0) */
+  if (is_motorola) {
+    if (exif_data[4] != 0) return 0;
+    if (exif_data[5] != 0) return 0;
+    offset = exif_data[6];
+    offset <<= 8;
+    offset += exif_data[7];
+  } else {
+    if (exif_data[7] != 0) return 0;
+    if (exif_data[6] != 0) return 0;
+    offset = exif_data[5];
+    offset <<= 8;
+    offset += exif_data[4];
+  }
+  if (offset > length - 2) return 0; /* check end of data segment */
+
+  /* Get the number of directory entries contained in this IFD */
+  if (is_motorola) {
+    number_of_tags = exif_data[offset];
+    number_of_tags <<= 8;
+    number_of_tags += exif_data[offset+1];
+  } else {
+    number_of_tags = exif_data[offset+1];
+    number_of_tags <<= 8;
+    number_of_tags += exif_data[offset];
+  }
+  if (number_of_tags == 0) return 0;
+  offset += 2;
+
+  /* Search for Orientation Tag in IFD0 */
+  for (;;) {
+    if (offset > length - 12) return 0; /* check end of data segment */
+    /* Get Tag number */
+    if (is_motorola) {
+      tagnum = exif_data[offset];
+      tagnum <<= 8;
+      tagnum += exif_data[offset+1];
+    } else {
+      tagnum = exif_data[offset+1];
+      tagnum <<= 8;
+      tagnum += exif_data[offset];
+    }
+    if (tagnum == 0x0112) break; /* found Orientation Tag */
+    if (--number_of_tags == 0) return 0;
+    offset += 12;
+  }
+
+  if (set_flag) {
+    /* Set the Orientation value */
+    if (is_motorola) {
+      exif_data[offset+2] = 0; /* Format = unsigned short (2 octets) */
+      exif_data[offset+3] = 3;
+      exif_data[offset+4] = 0; /* Number Of Components = 1 */
+      exif_data[offset+5] = 0;
+      exif_data[offset+6] = 0;
+      exif_data[offset+7] = 1;
+      exif_data[offset+8] = 0;
+      exif_data[offset+9] = (unsigned char)set_flag;
+      exif_data[offset+10] = 0;
+      exif_data[offset+11] = 0;
+    } else {
+      exif_data[offset+2] = 3; /* Format = unsigned short (2 octets) */
+      exif_data[offset+3] = 0;
+      exif_data[offset+4] = 1; /* Number Of Components = 1 */
+      exif_data[offset+5] = 0;
+      exif_data[offset+6] = 0;
+      exif_data[offset+7] = 0;
+      exif_data[offset+8] = (unsigned char)set_flag;
+      exif_data[offset+9] = 0;
+      exif_data[offset+10] = 0;
+      exif_data[offset+11] = 0;
+    }
+    fseek(myfile, (4 + 2 + 6 + 2) + offset, SEEK_SET);
+    fwrite(exif_data + 2 + offset, 1, 10, myfile);
+  } else {
+    /* Get the Orientation value */
+    if (is_motorola) {
+      if (exif_data[offset+8] != 0) return 0;
+      set_flag = exif_data[offset+9];
+    } else {
+      if (exif_data[offset+9] != 0) return 0;
+      set_flag = exif_data[offset+8];
+    }
+    if (set_flag > 8) return 0;
+  }
+
+  /* Write out Orientation value */
+  if (n_flag)
+    printf("%c", '0' + set_flag);
+  else
+    printf("%c\n", '0' + set_flag);
+
+  /* All done. */
+  return 0;
+}
diff --git a/compat32_jpeg/patches/patch-af b/compat32_jpeg/patches/patch-af
new file mode 100644
index 0000000000..44f8ae64d5
--- /dev/null
+++ b/compat32_jpeg/patches/patch-af
@@ -0,0 +1,24 @@
+$NetBSD: patch-af,v 1.6 2016/02/01 09:22:53 wiz Exp $
+
+Build and install jpegexiforient.
+
+--- Makefile.am.orig	2012-05-09 13:13:36.000000000 +0000
++++ Makefile.am
+@@ -76,7 +76,7 @@ if HAVE_LD_VERSION_SCRIPT
+ endif
+ 
+ # Executables to build
+-bin_PROGRAMS = cjpeg djpeg jpegtran rdjpgcom wrjpgcom
++bin_PROGRAMS = cjpeg djpeg jpegtran rdjpgcom wrjpgcom jpegexiforient
+ 
+ # Executable sources & libs
+ cjpeg_SOURCES    = cjpeg.c rdppm.c rdgif.c rdtarga.c rdrle.c rdbmp.c \
+@@ -89,6 +89,8 @@ jpegtran_SOURCES = jpegtran.c rdswitch.c
+ jpegtran_LDADD   = libjpeg.la
+ rdjpgcom_SOURCES = rdjpgcom.c
+ wrjpgcom_SOURCES = wrjpgcom.c
++jpegexiforient_SOURCES	= jpegexiforient.c
++jpegexiforient_LDADD	= libjpeg.la
+ 
+ # Manual pages to install
+ man_MANS = $(DISTMANS)
diff --git a/compat32_jpeg/patches/patch-ag b/compat32_jpeg/patches/patch-ag
new file mode 100644
index 0000000000..4068278242
--- /dev/null
+++ b/compat32_jpeg/patches/patch-ag
@@ -0,0 +1,62 @@
+$NetBSD: patch-ag,v 1.4 2016/02/01 09:22:53 wiz Exp $
+
+Build and install jpegexiforient.
+
+--- Makefile.in.orig	2015-09-10 08:04:54.000000000 +0000
++++ Makefile.in
+@@ -99,7 +99,7 @@ host_triplet = @host@
+ target_triplet = @target@
+ @HAVE_LD_VERSION_SCRIPT_TRUE@am__append_1 = -Wl,--version-script=$(srcdir)/libjpeg.map
+ bin_PROGRAMS = cjpeg$(EXEEXT) djpeg$(EXEEXT) jpegtran$(EXEEXT) \
+-	rdjpgcom$(EXEEXT) wrjpgcom$(EXEEXT)
++	rdjpgcom$(EXEEXT) wrjpgcom$(EXEEXT) jpegexiforient$(EXEEXT)
+ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+@@ -184,6 +184,9 @@ rdjpgcom_LDADD = $(LDADD)
+ am_wrjpgcom_OBJECTS = wrjpgcom.$(OBJEXT)
+ wrjpgcom_OBJECTS = $(am_wrjpgcom_OBJECTS)
+ wrjpgcom_LDADD = $(LDADD)
++am_jpegexiforient_OBJECTS = jpegexiforient.$(OBJEXT)
++jpegexiforient_OBJECTS = $(am_jpegexiforient_OBJECTS)
++jpegexiforient_DEPENDENCIES = libjpeg.la
+ AM_V_P = $(am__v_P_@AM_V@)
+ am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+ am__v_P_0 = false
+@@ -219,7 +222,8 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V
+ am__v_CCLD_0 = @echo "  CCLD    " $@;
+ am__v_CCLD_1 = 
+ SOURCES = $(libjpeg_la_SOURCES) $(cjpeg_SOURCES) $(djpeg_SOURCES) \
+-	$(jpegtran_SOURCES) $(rdjpgcom_SOURCES) $(wrjpgcom_SOURCES)
++	$(jpegtran_SOURCES) $(rdjpgcom_SOURCES) $(wrjpgcom_SOURCES) \
++	$(jpegexiforient_SOURCES)
+ am__can_run_installinfo = \
+   case $$AM_UPDATE_INFO_DIR in \
+     n|no|NO) false;; \
+@@ -461,6 +465,8 @@ jpegtran_SOURCES = jpegtran.c rdswitch.c
+ jpegtran_LDADD = libjpeg.la
+ rdjpgcom_SOURCES = rdjpgcom.c
+ wrjpgcom_SOURCES = wrjpgcom.c
++jpegexiforient_SOURCES = jpegexiforient.c
++jpegexiforient_LDADD = libjpeg.la
+ 
+ # Manual pages to install
+ man_MANS = $(DISTMANS)
+@@ -640,6 +646,9 @@ rdjpgcom$(EXEEXT): $(rdjpgcom_OBJECTS) $
+ wrjpgcom$(EXEEXT): $(wrjpgcom_OBJECTS) $(wrjpgcom_DEPENDENCIES) $(EXTRA_wrjpgcom_DEPENDENCIES) 
+ 	@rm -f wrjpgcom$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(wrjpgcom_OBJECTS) $(wrjpgcom_LDADD) $(LIBS)
++jpegexiforient$(EXEEXT): $(jpegexiforient_OBJECTS) $(jpegexiforient_DEPENDENCIES) 
++	@rm -f jpegexiforient$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(jpegexiforient_OBJECTS) $(jpegexiforient_LDADD) $(LIBS)
+ 
+ mostlyclean-compile:
+ 	-rm -f *.$(OBJEXT)
+@@ -693,6 +702,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jidctfst.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jidctint.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jmemmgr.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jpegexiforient.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jpegtran.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jquant1.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jquant2.Plo@am__quote@
diff --git a/compat32_jpeg/patches/patch-jmorecfg.h b/compat32_jpeg/patches/patch-jmorecfg.h
new file mode 100644
index 0000000000..b588b2fac1
--- /dev/null
+++ b/compat32_jpeg/patches/patch-jmorecfg.h
@@ -0,0 +1,28 @@
+$NetBSD: patch-jmorecfg.h,v 1.3 2014/01/28 21:19:00 wiz Exp $
+
+Fix problem with booleans by reverting to the old definition.
+
+--- jmorecfg.h.orig	2013-09-17 07:20:20.000000000 +0000
++++ jmorecfg.h
+@@ -303,19 +303,14 @@ typedef void noreturn_t;
+  * Defining HAVE_BOOLEAN before including jpeglib.h should make it work.
+  */
+ 
+-#ifndef HAVE_BOOLEAN
+-#if defined FALSE || defined TRUE || defined QGLOBAL_H
+-/* Qt3 defines FALSE and TRUE as "const" variables in qglobal.h */
+-typedef int boolean;
+ #ifndef FALSE			/* in case these macros already exist */
+ #define FALSE	0		/* values of boolean */
+ #endif
+ #ifndef TRUE
+ #define TRUE	1
+ #endif
+-#else
+-typedef enum { FALSE = 0, TRUE = 1 } boolean;
+-#endif
++#ifndef HAVE_BOOLEAN
++typedef int boolean;
+ #endif
+ 
+ 
diff --git a/compat32_jpeg/patches/patch-jpeglib.h b/compat32_jpeg/patches/patch-jpeglib.h
new file mode 100644
index 0000000000..d4cc4e8023
--- /dev/null
+++ b/compat32_jpeg/patches/patch-jpeglib.h
@@ -0,0 +1,12 @@
+$NetBSD: patch-jpeglib.h,v 1.1 2013/10/11 14:54:06 joerg Exp $
+
+--- jpeglib.h.orig	2013-10-11 13:06:28.000000000 +0000
++++ jpeglib.h
+@@ -26,6 +26,7 @@
+ #endif
+ #include "jmorecfg.h"		/* seldom changed options */
+ 
++#include <stdio.h>
+ 
+ #ifdef __cplusplus
+ #ifndef DONT_USE_EXTERN_C
diff --git a/compat32_jpeg/patches/patch-rdtarga.c b/compat32_jpeg/patches/patch-rdtarga.c
new file mode 100644
index 0000000000..f037def55d
--- /dev/null
+++ b/compat32_jpeg/patches/patch-rdtarga.c
@@ -0,0 +1,37 @@
+$NetBSD: patch-rdtarga.c,v 1.1 2019/03/10 11:22:43 spz Exp $
+
+fix for CVE-2018-11813 from
+https://github.com/mozilla/mozjpeg/commit/909a8cfc7bca9b2e6707425bdb74da997e8fa499
+
+--- rdtarga.c.orig	2017-09-16 11:12:46.000000000 +0000
++++ rdtarga.c
+@@ -125,11 +125,10 @@ METHODDEF(void)
+ read_non_rle_pixel (tga_source_ptr sinfo)
+ /* Read one Targa pixel from the input file; no RLE expansion */
+ {
+-  register FILE *infile = sinfo->pub.input_file;
+   register int i;
+ 
+   for (i = 0; i < sinfo->pixel_size; i++) {
+-    sinfo->tga_pixel[i] = (U_CHAR) getc(infile);
++    sinfo->tga_pixel[i] = (U_CHAR) read_byte(sinfo);
+   }
+ }
+ 
+@@ -138,7 +137,6 @@ METHODDEF(void)
+ read_rle_pixel (tga_source_ptr sinfo)
+ /* Read one Targa pixel from the input file, expanding RLE data as needed */
+ {
+-  register FILE *infile = sinfo->pub.input_file;
+   register int i;
+ 
+   /* Duplicate previously read pixel? */
+@@ -160,7 +158,7 @@ read_rle_pixel (tga_source_ptr sinfo)
+ 
+   /* Read next pixel */
+   for (i = 0; i < sinfo->pixel_size; i++) {
+-    sinfo->tga_pixel[i] = (U_CHAR) getc(infile);
++    sinfo->tga_pixel[i] = (U_CHAR) read_byte(sinfo);
+   }
+ }
+ 
diff --git a/jpeg-32/DESCR b/jpeg-32/DESCR
deleted file mode 100644
index 8f77e2a44c..0000000000
--- a/jpeg-32/DESCR
+++ /dev/null
@@ -1,24 +0,0 @@
-Independent JPEG Group's free JPEG software
--------------------------------------------
-
-This package contains C software to implement JPEG image encoding, decoding,
-and transcoding.  JPEG is a standardized compression method for full-color
-and gray-scale images.
-
-The distributed programs provide conversion between JPEG "JFIF" format and
-image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats.  The
-core compression and decompression library can easily be reused in other
-programs, such as image viewers.  The package is highly portable C code;
-we have tested it on many machines ranging from PCs to Crays.
-
-We are releasing this software for both noncommercial and commercial use.
-Companies are welcome to use it as the basis for JPEG-related products.
-We do not ask a royalty, although we do ask for an acknowledgement in
-product literature (see the README file in the distribution for details).
-We hope to make this software industrial-quality --- although, as with
-anything that's free, we offer no warranty and accept no liability.
-
-For more information, contact jpeg-info%uc.ag@localhost.
-
-Note: This package is intended to crosscompile jpeg for i386 on x86_64
-
diff --git a/jpeg-32/Makefile b/jpeg-32/Makefile
deleted file mode 100644
index 4631b1bdb8..0000000000
--- a/jpeg-32/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# $NetBSD: Makefile,v 1.55 2019/03/10 11:22:43 spz Exp $
-
-DISTNAME=		jpegsrc.v9c
-ABI=			32
-PKGNAME=		compat${ABI}_${DISTNAME:S/src.v/-/}
-CATEGORIES=		graphics
-MASTER_SITES=		http://www.ijg.org/files/
-DIST_SUBDIR=		jpeg-9c-v2
-PKGREVISION=		1
-
-MAINTAINER=		pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE=		http://www.ijg.org/
-COMMENT=		IJG's jpeg compression utilities
-
-CONFLICTS=		libjpeg-turbo-[0-9]*
-
-WRKSRC=			${WRKDIR}/jpeg-9c
-USE_LIBTOOL=		yes
-GNU_CONFIGURE=		yes
-CFLAGS+=		-m32
-GNU_CONFIGURE_PREFIX=	${PREFIX}/emul/netbsd32/
-CONFIGURE_ARGS+=	--disable-ld-version-script
-
-INSTALLATION_DIRS=	bin include share/doc/jpeg
-
-PKGCONFIG_OVERRIDE=	libjpeg.pc.in
-
-TEST_TARGET=		test
-
-post-extract:
-	${CP} ${FILESDIR}/jpegexiforient.c ${WRKSRC}
-
-post-install:
-	# ${INSTALL_SCRIPT} ${FILESDIR}/exifautotran ${DESTDIR}${PREFIX}/bin
-	# ${INSTALL_DATA} ${WRKSRC}/jpegint.h ${DESTDIR}${PREFIX}/include
-	# ${INSTALL_DATA} ${WRKSRC}/*.txt ${DESTDIR}${PREFIX}/share/doc/jpeg
-
-.include "../../mk/bsd.pkg.mk"
diff --git a/jpeg-32/PLIST b/jpeg-32/PLIST
deleted file mode 100644
index 46580dd7a4..0000000000
--- a/jpeg-32/PLIST
+++ /dev/null
@@ -1,21 +0,0 @@
-@comment $NetBSD$
-emul/netbsd32/bin/cjpeg
-emul/netbsd32/bin/djpeg
-emul/netbsd32/bin/jpegexiforient
-emul/netbsd32/bin/jpegtran
-emul/netbsd32/bin/rdjpgcom
-emul/netbsd32/bin/wrjpgcom
-emul/netbsd32/include/jconfig.h
-emul/netbsd32/include/jerror.h
-emul/netbsd32/include/jmorecfg.h
-emul/netbsd32/include/jpeglib.h
-emul/netbsd32/lib/libjpeg.la
-emul/netbsd32/lib/pkgconfig/libjpeg.pc
-emul/netbsd32/man/man1/cjpeg.1
-emul/netbsd32/man/man1/djpeg.1
-emul/netbsd32/man/man1/jpegtran.1
-emul/netbsd32/man/man1/rdjpgcom.1
-emul/netbsd32/man/man1/wrjpgcom.1
-@pkgdir share/doc/jpeg
-@pkgdir include
-@pkgdir bin
diff --git a/jpeg-32/buildlink3.mk b/jpeg-32/buildlink3.mk
deleted file mode 100644
index 62f98e5d32..0000000000
--- a/jpeg-32/buildlink3.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# $NetBSD: buildlink3.mk,v 1.17 2013/01/24 21:52:28 wiz Exp $
-
-BUILDLINK_TREE+=	compat32_jpeg
-
-.if !defined(COMPAT32_JPEG_BUILDLINK3_MK)
-COMPAT32_JPEG_BUILDLINK3_MK:=
-
-BUILDLINK_API_DEPENDS.compat32_jpeg+=	compat32_jpeg>=8nb1
-BUILDLINK_ABI_DEPENDS.compat32_jpeg+=	compat32_jpeg>=9
-BUILDLINK_PKGSRCDIR.compat32_jpeg?=	../../wip/jpeg-32
-BUILDLINK_LIBDIRS.compat32_jpeg=	/emul/netbsd32/lib
-BUILDLINK_INCDIRS.compat32_jpeg=	/emul/netbsd32/include
-.endif # COMPAT32_JPEG_BUILDLINK3_MK
-
-BUILDLINK_TREE+=	-compat32_jpeg
diff --git a/jpeg-32/distinfo b/jpeg-32/distinfo
deleted file mode 100644
index f395645759..0000000000
--- a/jpeg-32/distinfo
+++ /dev/null
@@ -1,11 +0,0 @@
-$NetBSD: distinfo,v 1.24 2019/03/10 11:22:43 spz Exp $
-
-SHA1 (jpeg-9c-v2/jpegsrc.v9c.tar.gz) = 2ce111c8c0ac828a44b13ad28c265e954a342d07
-RMD160 (jpeg-9c-v2/jpegsrc.v9c.tar.gz) = c181cc66d03d96ffcca85724938551bb089fd519
-SHA512 (jpeg-9c-v2/jpegsrc.v9c.tar.gz) = 2b581c60ae401a79bbbe748ff2deeda5acd50bfd2ea22e5926e36d34b9ebcffb6580b0ff48e972c1441583e30e21e1ea821ca0423f9c67ce08a31dffabdbe6b7
-Size (jpeg-9c-v2/jpegsrc.v9c.tar.gz) = 1028134 bytes
-SHA1 (patch-af) = 925604706574009aacd452dab2d736039b0654e9
-SHA1 (patch-ag) = 46164c00386d1968356f1b61d144bc9168410654
-SHA1 (patch-jmorecfg.h) = c00f81ba94e2ad6b55ca9892553eedbe4eca3ad1
-SHA1 (patch-jpeglib.h) = 635453c5a2b1223ef5af729edcbfcfa3ed78a8b5
-SHA1 (patch-rdtarga.c) = eaec399d67ffb5d33b32131d01a052132bb5bae2
diff --git a/jpeg-32/files/exifautotran b/jpeg-32/files/exifautotran
deleted file mode 100644
index 09db9ee48c..0000000000
--- a/jpeg-32/files/exifautotran
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /bin/sh
-#
-# $NetBSD: exifautotran,v 1.2 2010/01/04 19:43:39 joerg Exp $
-#
-# Based on http://www.jpegclub.org/exifautotran.txt
-#
-if [ "$#" = "0" ]
-then
-cat << EOF 1>&2
-usage: exifautotran [list of files]
-Transforms Exif files so that Orientation becomes 1
-EOF
-exit 1
-fi
-
-for i
-do
- case `jpegexiforient -n "$i"` in
- 1) transform="";;
- 2) transform="-flip horizontal";;
- 3) transform="-rotate 180";;
- 4) transform="-flip vertical";;
- 5) transform="-transpose";;
- 6) transform="-rotate 90";;
- 7) transform="-transverse";;
- 8) transform="-rotate 270";;
- *) transform="";;
- esac
- if test -n "$transform"; then
-  echo Executing: jpegtran -copy all $transform $i
-  jpegtran -copy all $transform "$i" > tempfile
-  if test $? -ne 0; then
-   echo Error while transforming $i - skipped.
-  else
-   rm "$i"
-   mv tempfile "$i"
-   jpegexiforient -1 "$i" > /dev/null
-  fi
- fi
-done
diff --git a/jpeg-32/files/jpegexiforient.c b/jpeg-32/files/jpegexiforient.c
deleted file mode 100644
index 177ba51ef6..0000000000
--- a/jpeg-32/files/jpegexiforient.c
+++ /dev/null
@@ -1,293 +0,0 @@
-/* $NetBSD: jpegexiforient.c,v 1.2 2010/01/04 19:43:39 joerg Exp $ */
-/*
- * jpegexiforient.c
- *
- * This is a utility program to get and set the Exif Orientation Tag.
- * It can be used together with jpegtran in scripts for automatic
- * orientation correction of digital camera pictures.
- *
- * The Exif orientation value gives the orientation of the camera
- * relative to the scene when the image was captured.  The relation
- * of the '0th row' and '0th column' to visual position is shown as
- * below.
- *
- * Value | 0th Row     | 0th Column
- * ------+-------------+-----------
- *   1   | top         | left side
- *   2   | top         | rigth side
- *   3   | bottom      | rigth side
- *   4   | bottom      | left side
- *   5   | left side   | top
- *   6   | right side  | top
- *   7   | right side  | bottom
- *   8   | left side   | bottom
- *
- * For convenience, here is what the letter F would look like if it were
- * tagged correctly and displayed by a program that ignores the orientation
- * tag:
- *
- *   1        2       3      4         5            6           7          8
- *
- * 888888  888888      88  88      8888888888  88                  88  8888888888
- * 88          88      88  88      88  88      88  88          88  88      88  88
- * 8888      8888    8888  8888    88          8888888888  8888888888          88
- * 88          88      88  88
- * 88          88  888888  888888
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-static FILE * myfile;		/* My JPEG file */
-
-static unsigned char exif_data[65536L];
-
-/* Return next input byte, or EOF if no more */
-#define NEXTBYTE()  getc(myfile)
-
-/* Error exit handler */
-#define ERREXIT(msg)  (exit(0))
-
-/* Read one byte, testing for EOF */
-static int
-read_1_byte (void)
-{
-  int c;
-
-  c = NEXTBYTE();
-  if (c == EOF)
-    ERREXIT("Premature EOF in JPEG file");
-  return c;
-}
-
-/* Read 2 bytes, convert to unsigned int */
-/* All 2-byte quantities in JPEG markers are MSB first */
-static unsigned int
-read_2_bytes (void)
-{
-  int c1, c2;
-
-  c1 = NEXTBYTE();
-  if (c1 == EOF)
-    ERREXIT("Premature EOF in JPEG file");
-  c2 = NEXTBYTE();
-  if (c2 == EOF)
-    ERREXIT("Premature EOF in JPEG file");
-  return (((unsigned int) c1) << 8) + ((unsigned int) c2);
-}
-
-static const char * progname;	/* program name for error messages */
-
-static void
-usage (void)
-/* complain about bad command line */
-{
-  fprintf(stderr, "jpegexiforient reads or writes the Exif Orientation Tag ");
-  fprintf(stderr, "in a JPEG Exif file.\n");
-
-  fprintf(stderr, "Usage: %s [switches] jpegfile\n", progname);
-
-  fprintf(stderr, "Switches:\n");
-  fprintf(stderr, "  -n         Do not output the trailing newline\n");
-  fprintf(stderr, "  -1 .. -8   Set orientation value 1 .. 8\n");
-}
-
-/*
- * The main program.
- */
-
-int
-main (int argc, char **argv)
-{
-  int n_flag, set_flag;
-  unsigned int length, i;
-  int is_motorola; /* Flag for byte order */
-  unsigned int offset, number_of_tags, tagnum;
-
-  progname = argv[0];
-  if (progname == NULL || progname[0] == 0)
-    progname = "jpegexiforient";	/* in case C library doesn't provide it */
-
-  if (argc < 2) { usage(); return 0; }
-
-  n_flag = 0; set_flag = 0;
-
-  i = 1;
-  while (argv[i][0] == '-') {
-    switch (argv[i][1]) {
-    case 'n':
-      n_flag = 1;
-      break;
-    case '1':
-    case '2':
-    case '3':
-    case '4':
-    case '5':
-    case '6':
-    case '7':
-    case '8':
-      set_flag = argv[i][1] - '0';
-      break;
-    default:
-      usage(); return 0;
-    }
-    if (++i >= argc) { usage(); return 0; }
-  }
-
-  if (set_flag) {
-    if ((myfile = fopen(argv[i], "rb+")) == NULL) {
-      fprintf(stderr, "%s: can't open %s\n", progname, argv[i]);
-      return 0;
-    }
-  } else {
-    if ((myfile = fopen(argv[i], "rb")) == NULL) {
-      fprintf(stderr, "%s: can't open %s\n", progname, argv[i]);
-      return 0;
-    }
-  }
-
-  /* Read File head, check for JPEG SOI + Exif APP1 */
-  for (i = 0; i < 4; i++)
-    exif_data[i] = (unsigned char) read_1_byte();
-  if (exif_data[0] != 0xFF ||
-      exif_data[1] != 0xD8 ||
-      exif_data[2] != 0xFF ||
-      exif_data[3] != 0xE1)
-    return 0;
-
-  /* Get the marker parameter length count */
-  length = read_2_bytes();
-  /* Length includes itself, so must be at least 2 */
-  /* Following Exif data length must be at least 6 */
-  if (length < 8)
-    return 0;
-  length -= 8;
-  /* Read Exif head, check for "Exif" */
-  for (i = 0; i < 6; i++)
-    exif_data[i] = (unsigned char) read_1_byte();
-  if (exif_data[0] != 0x45 ||
-      exif_data[1] != 0x78 ||
-      exif_data[2] != 0x69 ||
-      exif_data[3] != 0x66 ||
-      exif_data[4] != 0 ||
-      exif_data[5] != 0)
-    return 0;
-  /* Read Exif body */
-  for (i = 0; i < length; i++)
-    exif_data[i] = (unsigned char) read_1_byte();
-
-  if (length < 12) return 0; /* Length of an IFD entry */
-
-  /* Discover byte order */
-  if (exif_data[0] == 0x49 && exif_data[1] == 0x49)
-    is_motorola = 0;
-  else if (exif_data[0] == 0x4D && exif_data[1] == 0x4D)
-    is_motorola = 1;
-  else
-    return 0;
-
-  /* Check Tag Mark */
-  if (is_motorola) {
-    if (exif_data[2] != 0) return 0;
-    if (exif_data[3] != 0x2A) return 0;
-  } else {
-    if (exif_data[3] != 0) return 0;
-    if (exif_data[2] != 0x2A) return 0;
-  }
-
-  /* Get first IFD offset (offset to IFD0) */
-  if (is_motorola) {
-    if (exif_data[4] != 0) return 0;
-    if (exif_data[5] != 0) return 0;
-    offset = exif_data[6];
-    offset <<= 8;
-    offset += exif_data[7];
-  } else {
-    if (exif_data[7] != 0) return 0;
-    if (exif_data[6] != 0) return 0;
-    offset = exif_data[5];
-    offset <<= 8;
-    offset += exif_data[4];
-  }
-  if (offset > length - 2) return 0; /* check end of data segment */
-
-  /* Get the number of directory entries contained in this IFD */
-  if (is_motorola) {
-    number_of_tags = exif_data[offset];
-    number_of_tags <<= 8;
-    number_of_tags += exif_data[offset+1];
-  } else {
-    number_of_tags = exif_data[offset+1];
-    number_of_tags <<= 8;
-    number_of_tags += exif_data[offset];
-  }
-  if (number_of_tags == 0) return 0;
-  offset += 2;
-
-  /* Search for Orientation Tag in IFD0 */
-  for (;;) {
-    if (offset > length - 12) return 0; /* check end of data segment */
-    /* Get Tag number */
-    if (is_motorola) {
-      tagnum = exif_data[offset];
-      tagnum <<= 8;
-      tagnum += exif_data[offset+1];
-    } else {
-      tagnum = exif_data[offset+1];
-      tagnum <<= 8;
-      tagnum += exif_data[offset];
-    }
-    if (tagnum == 0x0112) break; /* found Orientation Tag */
-    if (--number_of_tags == 0) return 0;
-    offset += 12;
-  }
-
-  if (set_flag) {
-    /* Set the Orientation value */
-    if (is_motorola) {
-      exif_data[offset+2] = 0; /* Format = unsigned short (2 octets) */
-      exif_data[offset+3] = 3;
-      exif_data[offset+4] = 0; /* Number Of Components = 1 */
-      exif_data[offset+5] = 0;
-      exif_data[offset+6] = 0;
-      exif_data[offset+7] = 1;
-      exif_data[offset+8] = 0;
-      exif_data[offset+9] = (unsigned char)set_flag;
-      exif_data[offset+10] = 0;
-      exif_data[offset+11] = 0;
-    } else {
-      exif_data[offset+2] = 3; /* Format = unsigned short (2 octets) */
-      exif_data[offset+3] = 0;
-      exif_data[offset+4] = 1; /* Number Of Components = 1 */
-      exif_data[offset+5] = 0;
-      exif_data[offset+6] = 0;
-      exif_data[offset+7] = 0;
-      exif_data[offset+8] = (unsigned char)set_flag;
-      exif_data[offset+9] = 0;
-      exif_data[offset+10] = 0;
-      exif_data[offset+11] = 0;
-    }
-    fseek(myfile, (4 + 2 + 6 + 2) + offset, SEEK_SET);
-    fwrite(exif_data + 2 + offset, 1, 10, myfile);
-  } else {
-    /* Get the Orientation value */
-    if (is_motorola) {
-      if (exif_data[offset+8] != 0) return 0;
-      set_flag = exif_data[offset+9];
-    } else {
-      if (exif_data[offset+9] != 0) return 0;
-      set_flag = exif_data[offset+8];
-    }
-    if (set_flag > 8) return 0;
-  }
-
-  /* Write out Orientation value */
-  if (n_flag)
-    printf("%c", '0' + set_flag);
-  else
-    printf("%c\n", '0' + set_flag);
-
-  /* All done. */
-  return 0;
-}
diff --git a/jpeg-32/patches/patch-af b/jpeg-32/patches/patch-af
deleted file mode 100644
index 44f8ae64d5..0000000000
--- a/jpeg-32/patches/patch-af
+++ /dev/null
@@ -1,24 +0,0 @@
-$NetBSD: patch-af,v 1.6 2016/02/01 09:22:53 wiz Exp $
-
-Build and install jpegexiforient.
-
---- Makefile.am.orig	2012-05-09 13:13:36.000000000 +0000
-+++ Makefile.am
-@@ -76,7 +76,7 @@ if HAVE_LD_VERSION_SCRIPT
- endif
- 
- # Executables to build
--bin_PROGRAMS = cjpeg djpeg jpegtran rdjpgcom wrjpgcom
-+bin_PROGRAMS = cjpeg djpeg jpegtran rdjpgcom wrjpgcom jpegexiforient
- 
- # Executable sources & libs
- cjpeg_SOURCES    = cjpeg.c rdppm.c rdgif.c rdtarga.c rdrle.c rdbmp.c \
-@@ -89,6 +89,8 @@ jpegtran_SOURCES = jpegtran.c rdswitch.c
- jpegtran_LDADD   = libjpeg.la
- rdjpgcom_SOURCES = rdjpgcom.c
- wrjpgcom_SOURCES = wrjpgcom.c
-+jpegexiforient_SOURCES	= jpegexiforient.c
-+jpegexiforient_LDADD	= libjpeg.la
- 
- # Manual pages to install
- man_MANS = $(DISTMANS)
diff --git a/jpeg-32/patches/patch-ag b/jpeg-32/patches/patch-ag
deleted file mode 100644
index 4068278242..0000000000
--- a/jpeg-32/patches/patch-ag
+++ /dev/null
@@ -1,62 +0,0 @@
-$NetBSD: patch-ag,v 1.4 2016/02/01 09:22:53 wiz Exp $
-
-Build and install jpegexiforient.
-
---- Makefile.in.orig	2015-09-10 08:04:54.000000000 +0000
-+++ Makefile.in
-@@ -99,7 +99,7 @@ host_triplet = @host@
- target_triplet = @target@
- @HAVE_LD_VERSION_SCRIPT_TRUE@am__append_1 = -Wl,--version-script=$(srcdir)/libjpeg.map
- bin_PROGRAMS = cjpeg$(EXEEXT) djpeg$(EXEEXT) jpegtran$(EXEEXT) \
--	rdjpgcom$(EXEEXT) wrjpgcom$(EXEEXT)
-+	rdjpgcom$(EXEEXT) wrjpgcom$(EXEEXT) jpegexiforient$(EXEEXT)
- subdir = .
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-@@ -184,6 +184,9 @@ rdjpgcom_LDADD = $(LDADD)
- am_wrjpgcom_OBJECTS = wrjpgcom.$(OBJEXT)
- wrjpgcom_OBJECTS = $(am_wrjpgcom_OBJECTS)
- wrjpgcom_LDADD = $(LDADD)
-+am_jpegexiforient_OBJECTS = jpegexiforient.$(OBJEXT)
-+jpegexiforient_OBJECTS = $(am_jpegexiforient_OBJECTS)
-+jpegexiforient_DEPENDENCIES = libjpeg.la
- AM_V_P = $(am__v_P_@AM_V@)
- am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
- am__v_P_0 = false
-@@ -219,7 +222,8 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V
- am__v_CCLD_0 = @echo "  CCLD    " $@;
- am__v_CCLD_1 = 
- SOURCES = $(libjpeg_la_SOURCES) $(cjpeg_SOURCES) $(djpeg_SOURCES) \
--	$(jpegtran_SOURCES) $(rdjpgcom_SOURCES) $(wrjpgcom_SOURCES)
-+	$(jpegtran_SOURCES) $(rdjpgcom_SOURCES) $(wrjpgcom_SOURCES) \
-+	$(jpegexiforient_SOURCES)
- am__can_run_installinfo = \
-   case $$AM_UPDATE_INFO_DIR in \
-     n|no|NO) false;; \
-@@ -461,6 +465,8 @@ jpegtran_SOURCES = jpegtran.c rdswitch.c
- jpegtran_LDADD = libjpeg.la
- rdjpgcom_SOURCES = rdjpgcom.c
- wrjpgcom_SOURCES = wrjpgcom.c
-+jpegexiforient_SOURCES = jpegexiforient.c
-+jpegexiforient_LDADD = libjpeg.la
- 
- # Manual pages to install
- man_MANS = $(DISTMANS)
-@@ -640,6 +646,9 @@ rdjpgcom$(EXEEXT): $(rdjpgcom_OBJECTS) $
- wrjpgcom$(EXEEXT): $(wrjpgcom_OBJECTS) $(wrjpgcom_DEPENDENCIES) $(EXTRA_wrjpgcom_DEPENDENCIES) 
- 	@rm -f wrjpgcom$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(wrjpgcom_OBJECTS) $(wrjpgcom_LDADD) $(LIBS)
-+jpegexiforient$(EXEEXT): $(jpegexiforient_OBJECTS) $(jpegexiforient_DEPENDENCIES) 
-+	@rm -f jpegexiforient$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(jpegexiforient_OBJECTS) $(jpegexiforient_LDADD) $(LIBS)
- 
- mostlyclean-compile:
- 	-rm -f *.$(OBJEXT)
-@@ -693,6 +702,7 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jidctfst.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jidctint.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jmemmgr.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jpegexiforient.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jpegtran.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jquant1.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jquant2.Plo@am__quote@
diff --git a/jpeg-32/patches/patch-jmorecfg.h b/jpeg-32/patches/patch-jmorecfg.h
deleted file mode 100644
index b588b2fac1..0000000000
--- a/jpeg-32/patches/patch-jmorecfg.h
+++ /dev/null
@@ -1,28 +0,0 @@
-$NetBSD: patch-jmorecfg.h,v 1.3 2014/01/28 21:19:00 wiz Exp $
-
-Fix problem with booleans by reverting to the old definition.
-
---- jmorecfg.h.orig	2013-09-17 07:20:20.000000000 +0000
-+++ jmorecfg.h
-@@ -303,19 +303,14 @@ typedef void noreturn_t;
-  * Defining HAVE_BOOLEAN before including jpeglib.h should make it work.
-  */
- 
--#ifndef HAVE_BOOLEAN
--#if defined FALSE || defined TRUE || defined QGLOBAL_H
--/* Qt3 defines FALSE and TRUE as "const" variables in qglobal.h */
--typedef int boolean;
- #ifndef FALSE			/* in case these macros already exist */
- #define FALSE	0		/* values of boolean */
- #endif
- #ifndef TRUE
- #define TRUE	1
- #endif
--#else
--typedef enum { FALSE = 0, TRUE = 1 } boolean;
--#endif
-+#ifndef HAVE_BOOLEAN
-+typedef int boolean;
- #endif
- 
- 
diff --git a/jpeg-32/patches/patch-jpeglib.h b/jpeg-32/patches/patch-jpeglib.h
deleted file mode 100644
index d4cc4e8023..0000000000
--- a/jpeg-32/patches/patch-jpeglib.h
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-jpeglib.h,v 1.1 2013/10/11 14:54:06 joerg Exp $
-
---- jpeglib.h.orig	2013-10-11 13:06:28.000000000 +0000
-+++ jpeglib.h
-@@ -26,6 +26,7 @@
- #endif
- #include "jmorecfg.h"		/* seldom changed options */
- 
-+#include <stdio.h>
- 
- #ifdef __cplusplus
- #ifndef DONT_USE_EXTERN_C
diff --git a/jpeg-32/patches/patch-rdtarga.c b/jpeg-32/patches/patch-rdtarga.c
deleted file mode 100644
index f037def55d..0000000000
--- a/jpeg-32/patches/patch-rdtarga.c
+++ /dev/null
@@ -1,37 +0,0 @@
-$NetBSD: patch-rdtarga.c,v 1.1 2019/03/10 11:22:43 spz Exp $
-
-fix for CVE-2018-11813 from
-https://github.com/mozilla/mozjpeg/commit/909a8cfc7bca9b2e6707425bdb74da997e8fa499
-
---- rdtarga.c.orig	2017-09-16 11:12:46.000000000 +0000
-+++ rdtarga.c
-@@ -125,11 +125,10 @@ METHODDEF(void)
- read_non_rle_pixel (tga_source_ptr sinfo)
- /* Read one Targa pixel from the input file; no RLE expansion */
- {
--  register FILE *infile = sinfo->pub.input_file;
-   register int i;
- 
-   for (i = 0; i < sinfo->pixel_size; i++) {
--    sinfo->tga_pixel[i] = (U_CHAR) getc(infile);
-+    sinfo->tga_pixel[i] = (U_CHAR) read_byte(sinfo);
-   }
- }
- 
-@@ -138,7 +137,6 @@ METHODDEF(void)
- read_rle_pixel (tga_source_ptr sinfo)
- /* Read one Targa pixel from the input file, expanding RLE data as needed */
- {
--  register FILE *infile = sinfo->pub.input_file;
-   register int i;
- 
-   /* Duplicate previously read pixel? */
-@@ -160,7 +158,7 @@ read_rle_pixel (tga_source_ptr sinfo)
- 
-   /* Read next pixel */
-   for (i = 0; i < sinfo->pixel_size; i++) {
--    sinfo->tga_pixel[i] = (U_CHAR) getc(infile);
-+    sinfo->tga_pixel[i] = (U_CHAR) read_byte(sinfo);
-   }
- }
- 



Home | Main Index | Thread Index | Old Index