public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: media-libs/libjpeg-turbo/files/, media-libs/libjpeg-turbo/
@ 2016-02-25 17:14 Markus Meier
  0 siblings, 0 replies; 5+ messages in thread
From: Markus Meier @ 2016-02-25 17:14 UTC (permalink / raw
  To: gentoo-commits

commit:     bcd7c70dc22c55d74cfcfb75b3acc8c68120cca3
Author:     Markus Meier <maekke <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 25 17:14:01 2016 +0000
Commit:     Markus Meier <maekke <AT> gentoo <DOT> org>
CommitDate: Thu Feb 25 17:14:01 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bcd7c70d

media-libs/libjpeg-turbo: remove old, bug #531418

Package-Manager: portage-2.2.27

 media-libs/libjpeg-turbo/Manifest                  |   4 -
 ...ibjpeg-turbo-1.3.0-CVE-2013-6629-and-6630.patch |  38 ---
 .../files/libjpeg-turbo-1.3.1-jstdhuff.patch       | 301 ---------------------
 .../files/libjpeg-turbo-1.3.1-overrun.patch        |  21 --
 .../libjpeg-turbo/libjpeg-turbo-1.3.0-r3.ebuild    | 122 ---------
 .../libjpeg-turbo/libjpeg-turbo-1.3.1-r1.ebuild    | 118 --------
 .../libjpeg-turbo/libjpeg-turbo-1.3.1.ebuild       | 121 ---------
 .../libjpeg-turbo/libjpeg-turbo-1.4.1.ebuild       | 117 --------
 8 files changed, 842 deletions(-)

diff --git a/media-libs/libjpeg-turbo/Manifest b/media-libs/libjpeg-turbo/Manifest
index bd41654..c5ef8cc 100644
--- a/media-libs/libjpeg-turbo/Manifest
+++ b/media-libs/libjpeg-turbo/Manifest
@@ -1,6 +1,2 @@
-DIST libjpeg-turbo-1.3.0.tar.gz 1361603 SHA256 2657008cfc08aadbaca065bd9f8964b8a2c0abd03e73da5b5f09c1216be31234 SHA512 4d34c3c5f2cdd70b2a3d1b55eeb4ce59cb3d4b8d22bb6d43c2ec844b7eb5685b55a9b1b46ad2bc5f2756b5f5535ccad032791c3b932af9c1efc502aa5e701053 WHIRLPOOL 13c1366b9bef87cab42c88f75d1ff7eddb4ea745e0056154f1f3fb27deedee077d662395bada3bd5c18d6f8bf744d0b1f3d465967d33b453ea2acc327a6f166f
-DIST libjpeg-turbo-1.3.1.tar.gz 1390282 SHA256 c132907417ddc40ed552fe53d6b91d5fecbb14a356a60ddc7ea50d6be9666fb9 SHA512 6b02dc617e291b357230ef3e8cfcd27f9acc8c3e9f1c869ab0a08e9e13711b87156c6cd1aaa1a6406a873fc6732f44c8a7d94a5d6688d24b14ac63a96ee52081 WHIRLPOOL f978b24d0a4e63a421822c2114c0cfc87cbc1dedd648ddc2e97e24ee19dc5584433b1da7d41a64f0ae37b50799a273165aaec6f1377ed35a7971dbe8a0b6a8d5
-DIST libjpeg-turbo-1.4.1.tar.gz 1529614 SHA256 4bf5bad4ce85625bffbbd9912211e06790e00fb982b77724af7211034efafb08 SHA512 81197fdac40c55cb9820b832c55dab9dd5aa19427a22feb6027510a4dc9c45aeea6a37203447600481f5162a0a2ca972324997cc89fc7e51b51808260df0598d WHIRLPOOL b1c2a225720216b602dfda04a3ecf52d2251ea775c44d2cd872e9c33f43f4275ca2fbfaccba8d493c12ece4023f0c4e0c3c029837bdaff577bc401ee46a14433
 DIST libjpeg-turbo-1.4.2.tar.gz 1569306 SHA256 521bb5d3043e7ac063ce3026d9a59cc2ab2e9636c655a2515af5f4706122233e SHA512 9bd27c917c29125c425469eb0fdf99b802f25095f187fb416bd7c05e4af95a32404bbb0d06b77343d35d3461029500decf3481337b2eade9e57b58dea69719ee WHIRLPOOL 4a6dfefee5d50b19474a5b0a8b2e3c06a403538985b9cf369a51d3cb2a9e2a0bbb6ac314e1e85d4432a44a8a381472c4e8be1286de909f3f47407692a583a01b
-DIST libjpeg8_8d-1.debian.tar.gz 13676 SHA256 70ec6689b0ad85739802cf3ebbdcc12ea01e21edd8f931c614b25b44cf199057 SHA512 7def4f13524f0af3b9adf35a370027a18f43b9a635f56a17d5bb7883370db8b18b8a12737d0f0cb4b0287ccf8fb474eb5f754de6b398ffe7d522c54e5bf68040 WHIRLPOOL 94526c31d401eb14c9bf0f7115e13a27886ad58863e25d6653eba2b2f5ef260ec272368d2b9d9934bd75b1e5b5f1afc97230e540248efc24d6e85e5680399d27
 DIST libjpeg8_8d-2.debian.tar.gz 14764 SHA256 9b36468b2aba24d63d3c87625de89f31834ac429e6dec7d68d86a52b5110219c SHA512 8c5959fb7583a2d61e9442187f67b91b45e72d9dd30db3360d583a3b5d8e1a908db5659f760bdd455b3056e6ae3535b2fd3b847df3d58b140a1816b754003675 WHIRLPOOL bda41c37f3f57733fcd86969126f6dbede2fbf633b0168265a7fe353fb7f3cd995a94e7987bac472957ec6fb0b2dc34d5dd646f0de79e06bc94e59d7cf440939

diff --git a/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.3.0-CVE-2013-6629-and-6630.patch b/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.3.0-CVE-2013-6629-and-6630.patch
deleted file mode 100644
index 46eefad..0000000
--- a/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.3.0-CVE-2013-6629-and-6630.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-http://bugzilla.redhat.com/show_bug.cgi?id=1031734
-http://bugzilla.redhat.com/show_bug.cgi?id=1031749
-http://sourceforge.net/p/libjpeg-turbo/code/1090/
-
---- jdmarker.c
-+++ jdmarker.c
-@@ -304,7 +304,7 @@
- /* Process a SOS marker */
- {
-   INT32 length;
--  int i, ci, n, c, cc;
-+  int i, ci, n, c, cc, pi;
-   jpeg_component_info * compptr;
-   INPUT_VARS(cinfo);
- 
-@@ -348,6 +348,13 @@
-     
-     TRACEMS3(cinfo, 1, JTRC_SOS_COMPONENT, cc,
- 	     compptr->dc_tbl_no, compptr->ac_tbl_no);
-+
-+    /* This CSi (cc) should differ from the previous CSi */
-+    for (pi = 0; pi < i; pi++) {
-+      if (cinfo->cur_comp_info[pi] == compptr) {
-+        ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, cc);
-+      }
-+    }
-   }
- 
-   /* Collect the additional scan parameters Ss, Se, Ah/Al. */
-@@ -465,6 +472,8 @@
-     for (i = 0; i < count; i++)
-       INPUT_BYTE(cinfo, huffval[i], return FALSE);
- 
-+    MEMZERO(&huffval[count], (256 - count) * SIZEOF(UINT8));
-+
-     length -= count;
- 
-     if (index & 0x10) {		/* AC table definition */

diff --git a/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.3.1-jstdhuff.patch b/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.3.1-jstdhuff.patch
deleted file mode 100644
index 764147d..0000000
--- a/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.3.1-jstdhuff.patch
+++ /dev/null
@@ -1,301 +0,0 @@
-Index: jcparam.c
-===================================================================
---- jcparam.c	(revision 1103)
-+++ jcparam.c	(revision 1104)
-@@ -16,6 +16,7 @@
- #define JPEG_INTERNALS
- #include "jinclude.h"
- #include "jpeglib.h"
-+#include "jstdhuff.c"
- 
- 
- /*
-@@ -166,116 +167,6 @@
- 
- 
- /*
-- * Huffman table setup routines
-- */
--
--LOCAL(void)
--add_huff_table (j_compress_ptr cinfo,
--		JHUFF_TBL **htblptr, const UINT8 *bits, const UINT8 *val)
--/* Define a Huffman table */
--{
--  int nsymbols, len;
--
--  if (*htblptr == NULL)
--    *htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo);
--
--  /* Copy the number-of-symbols-of-each-code-length counts */
--  MEMCOPY((*htblptr)->bits, bits, SIZEOF((*htblptr)->bits));
--
--  /* Validate the counts.  We do this here mainly so we can copy the right
--   * number of symbols from the val[] array, without risking marching off
--   * the end of memory.  jchuff.c will do a more thorough test later.
--   */
--  nsymbols = 0;
--  for (len = 1; len <= 16; len++)
--    nsymbols += bits[len];
--  if (nsymbols < 1 || nsymbols > 256)
--    ERREXIT(cinfo, JERR_BAD_HUFF_TABLE);
--
--  MEMCOPY((*htblptr)->huffval, val, nsymbols * SIZEOF(UINT8));
--
--  /* Initialize sent_table FALSE so table will be written to JPEG file. */
--  (*htblptr)->sent_table = FALSE;
--}
--
--
--LOCAL(void)
--std_huff_tables (j_compress_ptr cinfo)
--/* Set up the standard Huffman tables (cf. JPEG standard section K.3) */
--/* IMPORTANT: these are only valid for 8-bit data precision! */
--{
--  static const UINT8 bits_dc_luminance[17] =
--    { /* 0-base */ 0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 };
--  static const UINT8 val_dc_luminance[] =
--    { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
--  
--  static const UINT8 bits_dc_chrominance[17] =
--    { /* 0-base */ 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 };
--  static const UINT8 val_dc_chrominance[] =
--    { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
--  
--  static const UINT8 bits_ac_luminance[17] =
--    { /* 0-base */ 0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d };
--  static const UINT8 val_ac_luminance[] =
--    { 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12,
--      0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07,
--      0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08,
--      0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0,
--      0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16,
--      0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28,
--      0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
--      0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
--      0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
--      0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
--      0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
--      0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
--      0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
--      0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
--      0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6,
--      0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5,
--      0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4,
--      0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2,
--      0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,
--      0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
--      0xf9, 0xfa };
--  
--  static const UINT8 bits_ac_chrominance[17] =
--    { /* 0-base */ 0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77 };
--  static const UINT8 val_ac_chrominance[] =
--    { 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21,
--      0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71,
--      0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91,
--      0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0,
--      0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34,
--      0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26,
--      0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38,
--      0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
--      0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
--      0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
--      0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
--      0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
--      0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96,
--      0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5,
--      0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4,
--      0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3,
--      0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2,
--      0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda,
--      0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
--      0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
--      0xf9, 0xfa };
--  
--  add_huff_table(cinfo, &cinfo->dc_huff_tbl_ptrs[0],
--		 bits_dc_luminance, val_dc_luminance);
--  add_huff_table(cinfo, &cinfo->ac_huff_tbl_ptrs[0],
--		 bits_ac_luminance, val_ac_luminance);
--  add_huff_table(cinfo, &cinfo->dc_huff_tbl_ptrs[1],
--		 bits_dc_chrominance, val_dc_chrominance);
--  add_huff_table(cinfo, &cinfo->ac_huff_tbl_ptrs[1],
--		 bits_ac_chrominance, val_ac_chrominance);
--}
--
--
--/*
-  * Default parameter setup for compression.
-  *
-  * Applications that don't choose to use this routine must do their
-@@ -313,7 +204,7 @@
-   /* Set up two quantization tables using default quality of 75 */
-   jpeg_set_quality(cinfo, 75, TRUE);
-   /* Set up two Huffman tables */
--  std_huff_tables(cinfo);
-+  std_huff_tables((j_common_ptr) cinfo);
- 
-   /* Initialize default arithmetic coding conditioning */
-   for (i = 0; i < NUM_ARITH_TBLS; i++) {
-Index: jstdhuff.c
-===================================================================
---- jstdhuff.c	(revision 0)
-+++ jstdhuff.c	(revision 1104)
-@@ -0,0 +1,133 @@
-+/*
-+* jstdhuff.c
-+*
-+* This file was part of the Independent JPEG Group's software:
-+* Copyright (C) 1991-1998, Thomas G. Lane.
-+* libjpeg-turbo Modifications:
-+* Copyright (C) 2013, D. R. Commander.
-+* For conditions of distribution and use, see the accompanying README file.
-+*
-+* This file contains routines to set the default Huffman tables, if they are
-+* not already set.
-+*/ 
-+
-+/*
-+ * Huffman table setup routines
-+ */
-+
-+LOCAL(void)
-+add_huff_table (j_common_ptr cinfo,
-+		JHUFF_TBL **htblptr, const UINT8 *bits, const UINT8 *val)
-+/* Define a Huffman table */
-+{
-+  int nsymbols, len;
-+
-+  if (*htblptr == NULL)
-+    *htblptr = jpeg_alloc_huff_table(cinfo);
-+  else
-+    return;
-+
-+  /* Copy the number-of-symbols-of-each-code-length counts */
-+  MEMCOPY((*htblptr)->bits, bits, SIZEOF((*htblptr)->bits));
-+
-+  /* Validate the counts.  We do this here mainly so we can copy the right
-+   * number of symbols from the val[] array, without risking marching off
-+   * the end of memory.  jchuff.c will do a more thorough test later.
-+   */
-+  nsymbols = 0;
-+  for (len = 1; len <= 16; len++)
-+    nsymbols += bits[len];
-+  if (nsymbols < 1 || nsymbols > 256)
-+    ERREXIT(cinfo, JERR_BAD_HUFF_TABLE);
-+
-+  MEMCOPY((*htblptr)->huffval, val, nsymbols * SIZEOF(UINT8));
-+
-+  /* Initialize sent_table FALSE so table will be written to JPEG file. */
-+  (*htblptr)->sent_table = FALSE;
-+}
-+
-+
-+LOCAL(void)
-+std_huff_tables (j_common_ptr cinfo)
-+/* Set up the standard Huffman tables (cf. JPEG standard section K.3) */
-+/* IMPORTANT: these are only valid for 8-bit data precision! */
-+{
-+  JHUFF_TBL **dc_huff_tbl_ptrs, **ac_huff_tbl_ptrs;
-+
-+  static const UINT8 bits_dc_luminance[17] =
-+    { /* 0-base */ 0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 };
-+  static const UINT8 val_dc_luminance[] =
-+    { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
-+  
-+  static const UINT8 bits_dc_chrominance[17] =
-+    { /* 0-base */ 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 };
-+  static const UINT8 val_dc_chrominance[] =
-+    { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
-+  
-+  static const UINT8 bits_ac_luminance[17] =
-+    { /* 0-base */ 0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d };
-+  static const UINT8 val_ac_luminance[] =
-+    { 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12,
-+      0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07,
-+      0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08,
-+      0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0,
-+      0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16,
-+      0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28,
-+      0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
-+      0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
-+      0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
-+      0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
-+      0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
-+      0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
-+      0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
-+      0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
-+      0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6,
-+      0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5,
-+      0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4,
-+      0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2,
-+      0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,
-+      0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
-+      0xf9, 0xfa };
-+  
-+  static const UINT8 bits_ac_chrominance[17] =
-+    { /* 0-base */ 0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77 };
-+  static const UINT8 val_ac_chrominance[] =
-+    { 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21,
-+      0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71,
-+      0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91,
-+      0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0,
-+      0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34,
-+      0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26,
-+      0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38,
-+      0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
-+      0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
-+      0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
-+      0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
-+      0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
-+      0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96,
-+      0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5,
-+      0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4,
-+      0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3,
-+      0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2,
-+      0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda,
-+      0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
-+      0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
-+      0xf9, 0xfa };
-+
-+  if (cinfo->is_decompressor) {
-+    dc_huff_tbl_ptrs = ((j_decompress_ptr)cinfo)->dc_huff_tbl_ptrs;
-+    ac_huff_tbl_ptrs = ((j_decompress_ptr)cinfo)->ac_huff_tbl_ptrs;
-+  } else {
-+    dc_huff_tbl_ptrs = ((j_compress_ptr)cinfo)->dc_huff_tbl_ptrs;
-+    ac_huff_tbl_ptrs = ((j_compress_ptr)cinfo)->ac_huff_tbl_ptrs;
-+  }
-+
-+  add_huff_table(cinfo, &dc_huff_tbl_ptrs[0], bits_dc_luminance,
-+                 val_dc_luminance);
-+  add_huff_table(cinfo, &ac_huff_tbl_ptrs[0], bits_ac_luminance,
-+                 val_ac_luminance);
-+  add_huff_table(cinfo, &dc_huff_tbl_ptrs[1], bits_dc_chrominance,
-+                 val_dc_chrominance);
-+  add_huff_table(cinfo, &ac_huff_tbl_ptrs[1], bits_ac_chrominance,
-+                 val_ac_chrominance);
-+}
-Index: jdhuff.c
-===================================================================
---- jdhuff.c	(revision 1103)
-+++ jdhuff.c	(revision 1104)
-@@ -21,6 +21,7 @@
- #include "jpeglib.h"
- #include "jdhuff.h"		/* Declarations shared with jdphuff.c */
- #include "jpegcomp.h"
-+#include "jstdhuff.c"
- 
- 
- /*
-@@ -795,6 +796,12 @@
-   huff_entropy_ptr entropy;
-   int i;
- 
-+  /* Motion JPEG frames typically do not include the Huffman tables if they
-+     are the default tables.  Thus, if the tables are not set by the time
-+     the Huffman decoder is initialized (usually within the body of
-+     jpeg_start_decompress()), we set them to default values. */
-+  std_huff_tables((j_common_ptr) cinfo);
-+
-   entropy = (huff_entropy_ptr)
-     (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
- 				SIZEOF(huff_entropy_decoder));

diff --git a/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.3.1-overrun.patch b/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.3.1-overrun.patch
deleted file mode 100644
index 92f48c3..0000000
--- a/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.3.1-overrun.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naur old/jchuff.c new/jchuff.c
---- old/jchuff.c	2014-11-27 06:48:21.009442853 -1000
-+++ new/jchuff.c	2014-11-27 06:48:46.289700004 -1000
-@@ -391,7 +391,16 @@
- #endif
- 
- 
--#define BUFSIZE (DCTSIZE2 * 2)
-+/* Although it is exceedingly rare, it is possible for a Huffman-encoded
-+ * coefficient block to be larger than the 128-byte unencoded block.  For each
-+ * of the 64 coefficients, PUT_BITS is invoked twice, and each invocation can
-+ * theoretically store 16 bits (for a maximum of 2048 bits or 256 bytes per
-+ * encoded block.)  If, for instance, one artificially sets the AC
-+ * coefficients to alternating values of 32767 and -32768 (using the JPEG
-+ * scanning order-- 1, 8, 16, etc.), then this will produce an encoded block
-+ * larger than 200 bytes.
-+ */
-+#define BUFSIZE (DCTSIZE2 * 4)
- 
- #define LOAD_BUFFER() { \
-   if (state->free_in_buffer < BUFSIZE) { \

diff --git a/media-libs/libjpeg-turbo/libjpeg-turbo-1.3.0-r3.ebuild b/media-libs/libjpeg-turbo/libjpeg-turbo-1.3.0-r3.ebuild
deleted file mode 100644
index d8cf7c7..0000000
--- a/media-libs/libjpeg-turbo/libjpeg-turbo-1.3.0-r3.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools eutils java-pkg-opt-2 libtool toolchain-funcs multilib-minimal
-
-DESCRIPTION="MMX, SSE, and SSE2 SIMD accelerated JPEG library"
-HOMEPAGE="http://libjpeg-turbo.virtualgl.org/ http://sourceforge.net/projects/libjpeg-turbo/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz
-	mirror://debian/pool/main/libj/libjpeg8/libjpeg8_8d-1.debian.tar.gz"
-
-LICENSE="BSD IJG"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="java static-libs"
-
-ASM_DEPEND="|| ( dev-lang/nasm dev-lang/yasm )"
-COMMON_DEPEND="!media-libs/jpeg:0
-	!media-libs/jpeg:62
-	abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r5
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-RDEPEND="${COMMON_DEPEND}
-	java? ( >=virtual/jre-1.5 )"
-DEPEND="${COMMON_DEPEND}
-	amd64? ( ${ASM_DEPEND} )
-	x86? ( ${ASM_DEPEND} )
-	amd64-fbsd? ( ${ASM_DEPEND} )
-	x86-fbsd? ( ${ASM_DEPEND} )
-	amd64-linux? ( ${ASM_DEPEND} )
-	x86-linux? ( ${ASM_DEPEND} )
-	x64-macos? ( ${ASM_DEPEND} )
-	java? ( >=virtual/jdk-1.5 )"
-
-MULTILIB_WRAPPED_HEADERS=( /usr/include/jconfig.h )
-
-src_prepare() {
-	epatch "${FILESDIR}"/${PN}-1.2.0-x32.patch #420239
-	epatch "${FILESDIR}"/${P}-CVE-2013-6629-and-6630.patch
-
-	if [[ -x ./configure ]]; then
-		elibtoolize
-	else
-		eautoreconf
-	fi
-
-	epunt_cxx #424689
-
-	java-pkg-opt-2_src_prepare
-}
-
-multilib_src_configure() {
-	local myconf=()
-	if multilib_is_native_abi; then
-		myconf+=( $(use_with java) )
-		if use java; then
-			export JAVACFLAGS="$(java-pkg_javac-args)"
-			export JNI_CFLAGS="$(java-pkg_get-jni-cflags)"
-		fi
-	else
-		myconf+=( --without-java )
-	fi
-	[[ ${ABI} == "x32" ]] && myconf+=( --without-simd ) #420239
-
-	ECONF_SOURCE=${S} \
-	econf \
-		$(use_enable static-libs static) \
-		--with-mem-srcdst \
-		"${myconf[@]}"
-}
-
-multilib_src_compile() {
-	local _java_makeopts
-	use java && _java_makeopts="-j1"
-	emake ${_java_makeopts}
-
-	if multilib_is_native_abi; then
-		pushd ../debian/extra >/dev/null
-		emake CC="$(tc-getCC)" CFLAGS="${LDFLAGS} ${CFLAGS}"
-		popd >/dev/null
-	fi
-}
-
-multilib_src_test() {
-	emake test
-}
-
-multilib_src_install() {
-	emake \
-		DESTDIR="${D}" \
-		docdir="${EPREFIX}"/usr/share/doc/${PF} \
-		exampledir="${EPREFIX}"/usr/share/doc/${PF} \
-		install
-
-	if multilib_is_native_abi; then
-		pushd "${WORKDIR}"/debian/extra >/dev/null
-		emake \
-			DESTDIR="${D}" prefix="${EPREFIX}"/usr \
-			INSTALL="install -m755" INSTALLDIR="install -d -m755" \
-			install
-		popd >/dev/null
-
-		if use java; then
-			rm -rf "${ED}"/usr/classes
-			java-pkg_dojar java/turbojpeg.jar
-		fi
-	fi
-}
-
-multilib_src_install_all() {
-	prune_libtool_files
-
-	insinto /usr/share/doc/${PF}/html
-	doins -r "${S}"/doc/html/*
-	newdoc "${WORKDIR}"/debian/changelog changelog.debian
-	if use java; then
-		insinto /usr/share/doc/${PF}/html/java
-		doins -r "${S}"/java/doc/*
-		newdoc "${S}"/java/README README.java
-	fi
-}

diff --git a/media-libs/libjpeg-turbo/libjpeg-turbo-1.3.1-r1.ebuild b/media-libs/libjpeg-turbo/libjpeg-turbo-1.3.1-r1.ebuild
deleted file mode 100644
index 5c5d52a..0000000
--- a/media-libs/libjpeg-turbo/libjpeg-turbo-1.3.1-r1.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools eutils java-pkg-opt-2 libtool toolchain-funcs multilib-minimal
-
-DESCRIPTION="MMX, SSE, and SSE2 SIMD accelerated JPEG library"
-HOMEPAGE="http://libjpeg-turbo.virtualgl.org/ http://sourceforge.net/projects/libjpeg-turbo/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz
-	mirror://debian/pool/main/libj/libjpeg8/libjpeg8_8d-2.debian.tar.gz"
-
-LICENSE="BSD IJG"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="java static-libs"
-
-ASM_DEPEND="|| ( dev-lang/nasm dev-lang/yasm )"
-COMMON_DEPEND="!media-libs/jpeg:0
-	!media-libs/jpeg:62
-	abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r5
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-RDEPEND="${COMMON_DEPEND}
-	java? ( >=virtual/jre-1.5 )"
-DEPEND="${COMMON_DEPEND}
-	amd64? ( ${ASM_DEPEND} )
-	x86? ( ${ASM_DEPEND} )
-	amd64-fbsd? ( ${ASM_DEPEND} )
-	x86-fbsd? ( ${ASM_DEPEND} )
-	amd64-linux? ( ${ASM_DEPEND} )
-	x86-linux? ( ${ASM_DEPEND} )
-	x64-macos? ( ${ASM_DEPEND} )
-	java? ( >=virtual/jdk-1.5 )"
-
-MULTILIB_WRAPPED_HEADERS=( /usr/include/jconfig.h )
-
-src_prepare() {
-	epatch "${FILESDIR}"/${PN}-1.2.0-x32.patch #420239
-	epatch "${FILESDIR}"/${PN}-1.3.1-jstdhuff.patch
-	epatch "${FILESDIR}"/${PN}-1.3.1-overrun.patch
-
-	# generate a new ./configure compatible with non-bash shells, #533902
-	eautoreconf
-
-	java-pkg-opt-2_src_prepare
-}
-
-multilib_src_configure() {
-	local myconf=()
-	if multilib_is_native_abi; then
-		myconf+=( $(use_with java) )
-		if use java; then
-			export JAVACFLAGS="$(java-pkg_javac-args)"
-			export JNI_CFLAGS="$(java-pkg_get-jni-cflags)"
-		fi
-	else
-		myconf+=( --without-java )
-	fi
-	[[ ${ABI} == "x32" ]] && myconf+=( --without-simd ) #420239
-
-	ECONF_SOURCE=${S} \
-	econf \
-		$(use_enable static-libs static) \
-		--with-mem-srcdst \
-		"${myconf[@]}"
-}
-
-multilib_src_compile() {
-	local _java_makeopts
-	use java && _java_makeopts="-j1"
-	emake ${_java_makeopts}
-
-	if multilib_is_native_abi; then
-		pushd ../debian/extra >/dev/null
-		emake CC="$(tc-getCC)" CFLAGS="${LDFLAGS} ${CFLAGS}"
-		popd >/dev/null
-	fi
-}
-
-multilib_src_test() {
-	emake test
-}
-
-multilib_src_install() {
-	emake \
-		DESTDIR="${D}" \
-		docdir="${EPREFIX}"/usr/share/doc/${PF} \
-		exampledir="${EPREFIX}"/usr/share/doc/${PF} \
-		install
-
-	if multilib_is_native_abi; then
-		pushd "${WORKDIR}"/debian/extra >/dev/null
-		emake \
-			DESTDIR="${D}" prefix="${EPREFIX}"/usr \
-			INSTALL="install -m755" INSTALLDIR="install -d -m755" \
-			install
-		popd >/dev/null
-
-		if use java; then
-			rm -rf "${ED}"/usr/classes
-			java-pkg_dojar java/turbojpeg.jar
-		fi
-	fi
-}
-
-multilib_src_install_all() {
-	prune_libtool_files
-
-	insinto /usr/share/doc/${PF}/html
-	doins -r "${S}"/doc/html/*
-	newdoc "${WORKDIR}"/debian/changelog changelog.debian
-	if use java; then
-		insinto /usr/share/doc/${PF}/html/java
-		doins -r "${S}"/java/doc/*
-		newdoc "${S}"/java/README README.java
-	fi
-}

diff --git a/media-libs/libjpeg-turbo/libjpeg-turbo-1.3.1.ebuild b/media-libs/libjpeg-turbo/libjpeg-turbo-1.3.1.ebuild
deleted file mode 100644
index dc1e2bd..0000000
--- a/media-libs/libjpeg-turbo/libjpeg-turbo-1.3.1.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit autotools eutils java-pkg-opt-2 libtool toolchain-funcs multilib-minimal
-
-DESCRIPTION="MMX, SSE, and SSE2 SIMD accelerated JPEG library"
-HOMEPAGE="http://libjpeg-turbo.virtualgl.org/ http://sourceforge.net/projects/libjpeg-turbo/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz
-	mirror://debian/pool/main/libj/libjpeg8/libjpeg8_8d-2.debian.tar.gz"
-
-LICENSE="BSD IJG"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="java static-libs"
-
-ASM_DEPEND="|| ( dev-lang/nasm dev-lang/yasm )"
-COMMON_DEPEND="!media-libs/jpeg:0
-	!media-libs/jpeg:62
-	abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r5
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-RDEPEND="${COMMON_DEPEND}
-	java? ( >=virtual/jre-1.5 )"
-DEPEND="${COMMON_DEPEND}
-	amd64? ( ${ASM_DEPEND} )
-	x86? ( ${ASM_DEPEND} )
-	amd64-fbsd? ( ${ASM_DEPEND} )
-	x86-fbsd? ( ${ASM_DEPEND} )
-	amd64-linux? ( ${ASM_DEPEND} )
-	x86-linux? ( ${ASM_DEPEND} )
-	x64-macos? ( ${ASM_DEPEND} )
-	java? ( >=virtual/jdk-1.5 )"
-
-MULTILIB_WRAPPED_HEADERS=( /usr/include/jconfig.h )
-
-src_prepare() {
-	epatch "${FILESDIR}"/${PN}-1.2.0-x32.patch #420239
-
-	if [[ -x ./configure ]]; then
-		elibtoolize
-	else
-		eautoreconf
-	fi
-
-	epunt_cxx #424689
-
-	java-pkg-opt-2_src_prepare
-}
-
-multilib_src_configure() {
-	local myconf=()
-	if multilib_is_native_abi; then
-		myconf+=( $(use_with java) )
-		if use java; then
-			export JAVACFLAGS="$(java-pkg_javac-args)"
-			export JNI_CFLAGS="$(java-pkg_get-jni-cflags)"
-		fi
-	else
-		myconf+=( --without-java )
-	fi
-	[[ ${ABI} == "x32" ]] && myconf+=( --without-simd ) #420239
-
-	ECONF_SOURCE=${S} \
-	econf \
-		$(use_enable static-libs static) \
-		--with-mem-srcdst \
-		"${myconf[@]}"
-}
-
-multilib_src_compile() {
-	local _java_makeopts
-	use java && _java_makeopts="-j1"
-	emake ${_java_makeopts}
-
-	if multilib_is_native_abi; then
-		pushd ../debian/extra >/dev/null
-		emake CC="$(tc-getCC)" CFLAGS="${LDFLAGS} ${CFLAGS}"
-		popd >/dev/null
-	fi
-}
-
-multilib_src_test() {
-	emake test
-}
-
-multilib_src_install() {
-	emake \
-		DESTDIR="${D}" \
-		docdir="${EPREFIX}"/usr/share/doc/${PF} \
-		exampledir="${EPREFIX}"/usr/share/doc/${PF} \
-		install
-
-	if multilib_is_native_abi; then
-		pushd "${WORKDIR}"/debian/extra >/dev/null
-		emake \
-			DESTDIR="${D}" prefix="${EPREFIX}"/usr \
-			INSTALL="install -m755" INSTALLDIR="install -d -m755" \
-			install
-		popd >/dev/null
-
-		if use java; then
-			rm -rf "${ED}"/usr/classes
-			java-pkg_dojar java/turbojpeg.jar
-		fi
-	fi
-}
-
-multilib_src_install_all() {
-	prune_libtool_files
-
-	insinto /usr/share/doc/${PF}/html
-	doins -r "${S}"/doc/html/*
-	newdoc "${WORKDIR}"/debian/changelog changelog.debian
-	if use java; then
-		insinto /usr/share/doc/${PF}/html/java
-		doins -r "${S}"/java/doc/*
-		newdoc "${S}"/java/README README.java
-	fi
-}

diff --git a/media-libs/libjpeg-turbo/libjpeg-turbo-1.4.1.ebuild b/media-libs/libjpeg-turbo/libjpeg-turbo-1.4.1.ebuild
deleted file mode 100644
index d473c17..0000000
--- a/media-libs/libjpeg-turbo/libjpeg-turbo-1.4.1.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit libtool eutils java-pkg-opt-2 libtool toolchain-funcs multilib-minimal
-
-DESCRIPTION="MMX, SSE, and SSE2 SIMD accelerated JPEG library"
-HOMEPAGE="http://libjpeg-turbo.virtualgl.org/ http://sourceforge.net/projects/libjpeg-turbo/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz
-	mirror://gentoo/libjpeg8_8d-2.debian.tar.gz"
-
-LICENSE="BSD IJG"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="java static-libs"
-
-ASM_DEPEND="|| ( dev-lang/nasm dev-lang/yasm )"
-COMMON_DEPEND="!media-libs/jpeg:0
-	!media-libs/jpeg:62
-	abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r5
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
-RDEPEND="${COMMON_DEPEND}
-	java? ( >=virtual/jre-1.5 )"
-DEPEND="${COMMON_DEPEND}
-	amd64? ( ${ASM_DEPEND} )
-	x86? ( ${ASM_DEPEND} )
-	amd64-fbsd? ( ${ASM_DEPEND} )
-	x86-fbsd? ( ${ASM_DEPEND} )
-	amd64-linux? ( ${ASM_DEPEND} )
-	x86-linux? ( ${ASM_DEPEND} )
-	x64-macos? ( ${ASM_DEPEND} )
-	java? ( >=virtual/jdk-1.5 )"
-
-MULTILIB_WRAPPED_HEADERS=( /usr/include/jconfig.h )
-
-src_prepare() {
-	epatch "${FILESDIR}"/${PN}-1.2.0-x32.patch #420239
-
-	elibtoolize
-
-	java-pkg-opt-2_src_prepare
-}
-
-multilib_src_configure() {
-	local myconf=()
-	if multilib_is_native_abi; then
-		myconf+=( $(use_with java) )
-		if use java; then
-			export JAVACFLAGS="$(java-pkg_javac-args)"
-			export JNI_CFLAGS="$(java-pkg_get-jni-cflags)"
-		fi
-	else
-		myconf+=( --without-java )
-	fi
-	[[ ${ABI} == "x32" ]] && myconf+=( --without-simd ) #420239
-
-	# Force /bin/bash until upstream generates a new version. #533902
-	CONFIG_SHELL=/bin/bash \
-	ECONF_SOURCE=${S} \
-	econf \
-		$(use_enable static-libs static) \
-		--with-mem-srcdst \
-		"${myconf[@]}"
-}
-
-multilib_src_compile() {
-	local _java_makeopts
-	use java && _java_makeopts="-j1"
-	emake ${_java_makeopts}
-
-	if multilib_is_native_abi; then
-		pushd ../debian/extra >/dev/null
-		emake CC="$(tc-getCC)" CFLAGS="${LDFLAGS} ${CFLAGS}"
-		popd >/dev/null
-	fi
-}
-
-multilib_src_test() {
-	emake test
-}
-
-multilib_src_install() {
-	emake \
-		DESTDIR="${D}" \
-		docdir="${EPREFIX}"/usr/share/doc/${PF} \
-		exampledir="${EPREFIX}"/usr/share/doc/${PF} \
-		install
-
-	if multilib_is_native_abi; then
-		pushd "${WORKDIR}"/debian/extra >/dev/null
-		emake \
-			DESTDIR="${D}" prefix="${EPREFIX}"/usr \
-			INSTALL="install -m755" INSTALLDIR="install -d -m755" \
-			install
-		popd >/dev/null
-
-		if use java; then
-			rm -rf "${ED}"/usr/classes
-			java-pkg_dojar java/turbojpeg.jar
-		fi
-	fi
-}
-
-multilib_src_install_all() {
-	prune_libtool_files
-
-	insinto /usr/share/doc/${PF}/html
-	doins -r "${S}"/doc/html/*
-	newdoc "${WORKDIR}"/debian/changelog changelog.debian
-	if use java; then
-		insinto /usr/share/doc/${PF}/html/java
-		doins -r "${S}"/java/doc/*
-		newdoc "${S}"/java/README README.java
-	fi
-}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/libjpeg-turbo/files/, media-libs/libjpeg-turbo/
@ 2018-08-16 11:02 Jason Zaman
  0 siblings, 0 replies; 5+ messages in thread
From: Jason Zaman @ 2018-08-16 11:02 UTC (permalink / raw
  To: gentoo-commits

commit:     0ba1f0cf1f00c16bd2efcf96fcba79f17dffc0ee
Author:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 16 11:01:30 2018 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Thu Aug 16 11:02:03 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ba1f0cf

media-libs/libjpeg-turbo-1.5.3-r2: Fix CVE-2018-11813

libjpeg 9c has a large loop because read_pixel in rdtarga.c mishandles EOF

https://nvd.nist.gov/vuln/detail/CVE-2018-11813

Bug: https://bugs.gentoo.org/658624
Package-Manager: Portage-2.3.40, Repoman-2.3.9

 .../files/libjpeg-turbo-1.5.3-cve-2018-11813.patch | 45 ++++++++++++++++++++++
 ...5.3-r1.ebuild => libjpeg-turbo-1.5.3-r2.ebuild} |  1 +
 2 files changed, 46 insertions(+)

diff --git a/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.5.3-cve-2018-11813.patch b/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.5.3-cve-2018-11813.patch
new file mode 100644
index 00000000000..f99a1ab27f9
--- /dev/null
+++ b/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.5.3-cve-2018-11813.patch
@@ -0,0 +1,45 @@
+From 909a8cfc7bca9b2e6707425bdb74da997e8fa499 Mon Sep 17 00:00:00 2001
+From: DRC <information@libjpeg-turbo.org>
+Date: Tue, 12 Jun 2018 16:08:26 -0500
+Subject: [PATCH] Fix CVE-2018-11813
+
+Refer to change log for details.
+
+Fixes #242
+---
+ ChangeLog.md | 14 ++++++++++++++
+ rdtarga.c    |  6 ++----
+ 2 files changed, 16 insertions(+), 4 deletions(-)
+
+--- libjpeg-turbo-1.5.3/rdtarga.c
++++ libjpeg-turbo-1.5.3/rdtarga.c
+@@ -125,11 +125,10 @@
+ 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 @@
+ 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 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/media-libs/libjpeg-turbo/libjpeg-turbo-1.5.3-r1.ebuild b/media-libs/libjpeg-turbo/libjpeg-turbo-1.5.3-r2.ebuild
similarity index 98%
rename from media-libs/libjpeg-turbo/libjpeg-turbo-1.5.3-r1.ebuild
rename to media-libs/libjpeg-turbo/libjpeg-turbo-1.5.3-r2.ebuild
index a18bcc5812b..578f104e04f 100644
--- a/media-libs/libjpeg-turbo/libjpeg-turbo-1.5.3-r1.ebuild
+++ b/media-libs/libjpeg-turbo/libjpeg-turbo-1.5.3-r2.ebuild
@@ -36,6 +36,7 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/jconfig.h )
 PATCHES=(
 	"${FILESDIR}"/${PN}-1.2.0-x32.patch #420239
 	"${FILESDIR}"/${P}-divzero_fix.patch #658624
+	"${FILESDIR}"/${P}-cve-2018-11813.patch
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/libjpeg-turbo/files/, media-libs/libjpeg-turbo/
@ 2020-06-13 16:30 Mike Gilbert
  0 siblings, 0 replies; 5+ messages in thread
From: Mike Gilbert @ 2020-06-13 16:30 UTC (permalink / raw
  To: gentoo-commits

commit:     8110962edc520001b3d2059be69702a1ceccee9b
Author:     Sam James (sam_c) <sam <AT> cmpct <DOT> info>
AuthorDate: Thu Jun 11 00:37:52 2020 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sat Jun 13 16:30:39 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8110962e

media-libs/libjpeg-turbo: Patch CVE-2020-13790

Bug: https://bugs.gentoo.org/727010
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Sam James (sam_c) <sam <AT> cmpct.info>
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/16184

 .../files/libjpeg-turbo-1.5.3-CVE-2020-13790.patch |  43 ++++++++
 .../files/libjpeg-turbo-2.0.4-CVE-2020-13790.patch |  34 ++++++
 .../libjpeg-turbo/libjpeg-turbo-1.5.3-r3.ebuild    | 122 +++++++++++++++++++++
 .../libjpeg-turbo/libjpeg-turbo-2.0.4-r1.ebuild    | 108 ++++++++++++++++++
 4 files changed, 307 insertions(+)

diff --git a/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.5.3-CVE-2020-13790.patch b/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.5.3-CVE-2020-13790.patch
new file mode 100644
index 00000000000..8a9fcbd7972
--- /dev/null
+++ b/media-libs/libjpeg-turbo/files/libjpeg-turbo-1.5.3-CVE-2020-13790.patch
@@ -0,0 +1,43 @@
+From 1bfb0b5247f4fc8f6677639781ce468543490216 Mon Sep 17 00:00:00 2001
+From: DRC <information@libjpeg-turbo.org>
+Date: Tue, 2 Jun 2020 14:15:37 -0500
+Subject: [PATCH] rdppm.c: Fix buf overrun caused by bad binary PPM
+
+This extends the fix in 1e81b0c3ea26f4ea8f56de05367469333de64a9f to
+include binary PPM files with maximum values < 255, thus preventing a
+malformed binary PPM input file with those specifications from
+triggering an overrun of the rescale array and potentially crashing
+cjpeg, TJBench, or any program that uses the tjLoadImage() function.
+
+Fixes #433
+diff --git a/rdppm.c b/rdppm.c
+index c0c096218..899436eec 100644
+--- a/rdppm.c
++++ b/rdppm.c
+@@ -5,7 +5,7 @@
+  * Copyright (C) 1991-1997, Thomas G. Lane.
+  * Modified 2009 by Bill Allombert, Guido Vollbeding.
+  * libjpeg-turbo Modifications:
+- * Copyright (C) 2015, 2016, D. R. Commander.
++ * Copyright (C) 2015, 2016, 2020, D. R. Commander.
+  * For conditions of distribution and use, see the accompanying README.ijg
+  * file.
+  *
+@@ -22,6 +22,7 @@
+  * the file is indeed PPM format).
+  */
+ 
++#define JPEG_INTERNALS
+ #include "cdjpeg.h"             /* Common decls for cjpeg/djpeg applications */
+ 
+ #ifdef PPM_SUPPORTED
+@@ -425,7 +426,7 @@ start_input_ppm (j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
+     /* On 16-bit-int machines we have to be careful of maxval = 65535 */
+     source->rescale = (JSAMPLE *)
+       (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
+-                                  (size_t) (((long) maxval + 1L) *
++                                  (size_t) (((long) MAX(maxval, 255) + 1L) *
+                                             sizeof(JSAMPLE)));
+     half_maxval = maxval / 2;
+     for (val = 0; val <= (long) maxval; val++) {
+

diff --git a/media-libs/libjpeg-turbo/files/libjpeg-turbo-2.0.4-CVE-2020-13790.patch b/media-libs/libjpeg-turbo/files/libjpeg-turbo-2.0.4-CVE-2020-13790.patch
new file mode 100644
index 00000000000..e88ac174684
--- /dev/null
+++ b/media-libs/libjpeg-turbo/files/libjpeg-turbo-2.0.4-CVE-2020-13790.patch
@@ -0,0 +1,34 @@
+From 3de15e0c344d11d4b90f4a47136467053eb2d09a Mon Sep 17 00:00:00 2001
+From: DRC <information@libjpeg-turbo.org>
+Date: Tue, 2 Jun 2020 14:15:37 -0500
+Subject: [PATCH] rdppm.c: Fix buf overrun caused by bad binary PPM
+
+This extends the fix in 1e81b0c3ea26f4ea8f56de05367469333de64a9f to
+include binary PPM files with maximum values < 255, thus preventing a
+malformed binary PPM input file with those specifications from
+triggering an overrun of the rescale array and potentially crashing
+cjpeg, TJBench, or any program that uses the tjLoadImage() function.
+
+Fixes #433
+diff --git a/rdppm.c b/rdppm.c
+index 87bc33090..a8507b902 100644
+--- a/rdppm.c
++++ b/rdppm.c
+@@ -5,7 +5,7 @@
+  * Copyright (C) 1991-1997, Thomas G. Lane.
+  * Modified 2009 by Bill Allombert, Guido Vollbeding.
+  * libjpeg-turbo Modifications:
+- * Copyright (C) 2015-2017, D. R. Commander.
++ * Copyright (C) 2015-2017, 2020, D. R. Commander.
+  * For conditions of distribution and use, see the accompanying README.ijg
+  * file.
+  *
+@@ -720,7 +720,7 @@ start_input_ppm(j_compress_ptr cinfo, cjpeg_source_ptr sinfo)
+     /* On 16-bit-int machines we have to be careful of maxval = 65535 */
+     source->rescale = (JSAMPLE *)
+       (*cinfo->mem->alloc_small) ((j_common_ptr)cinfo, JPOOL_IMAGE,
+-                                  (size_t)(((long)maxval + 1L) *
++                                  (size_t)(((long)MAX(maxval, 255) + 1L) *
+                                            sizeof(JSAMPLE)));
+     half_maxval = maxval / 2;
+     for (val = 0; val <= (long)maxval; val++) {

diff --git a/media-libs/libjpeg-turbo/libjpeg-turbo-1.5.3-r3.ebuild b/media-libs/libjpeg-turbo/libjpeg-turbo-1.5.3-r3.ebuild
new file mode 100644
index 00000000000..4563573715d
--- /dev/null
+++ b/media-libs/libjpeg-turbo/libjpeg-turbo-1.5.3-r3.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools libtool ltprune java-pkg-opt-2 libtool toolchain-funcs multilib-minimal
+
+DESCRIPTION="MMX, SSE, and SSE2 SIMD accelerated JPEG library"
+HOMEPAGE="https://libjpeg-turbo.org/ https://sourceforge.net/projects/libjpeg-turbo/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz
+	mirror://gentoo/libjpeg8_8d-2.debian.tar.gz"
+
+LICENSE="BSD IJG"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="java static-libs"
+
+ASM_DEPEND="|| ( dev-lang/nasm dev-lang/yasm )"
+COMMON_DEPEND="!media-libs/jpeg:0
+	!media-libs/jpeg:62"
+RDEPEND="${COMMON_DEPEND}
+	java? ( >=virtual/jre-1.5 )"
+DEPEND="${COMMON_DEPEND}
+	amd64? ( ${ASM_DEPEND} )
+	x86? ( ${ASM_DEPEND} )
+	amd64-fbsd? ( ${ASM_DEPEND} )
+	x86-fbsd? ( ${ASM_DEPEND} )
+	amd64-linux? ( ${ASM_DEPEND} )
+	x86-linux? ( ${ASM_DEPEND} )
+	x64-macos? ( ${ASM_DEPEND} )
+	x64-cygwin? ( ${ASM_DEPEND} )
+	java? ( >=virtual/jdk-1.5 )"
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/jconfig.h )
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.2.0-x32.patch #420239
+	"${FILESDIR}"/${P}-divzero_fix.patch #658624
+	"${FILESDIR}"/${P}-cve-2018-11813.patch
+	"${FILESDIR}"/${P}-CVE-2020-13790.patch
+)
+
+src_prepare() {
+	default
+
+	eautoreconf
+
+	java-pkg-opt-2_src_prepare
+}
+
+multilib_src_configure() {
+	local myconf=()
+	if multilib_is_native_abi; then
+		myconf+=( $(use_with java) )
+		if use java; then
+			export JAVACFLAGS="$(java-pkg_javac-args)"
+			export JNI_CFLAGS="$(java-pkg_get-jni-cflags)"
+		fi
+	else
+		myconf+=( --without-java )
+	fi
+	[[ ${ABI} == "x32" ]] && myconf+=( --without-simd ) #420239
+
+	# Force /bin/bash until upstream generates a new version. #533902
+	CONFIG_SHELL="${EPREFIX}"/bin/bash \
+	ECONF_SOURCE=${S} \
+	econf \
+		$(use_enable static-libs static) \
+		--with-mem-srcdst \
+		"${myconf[@]}"
+}
+
+multilib_src_compile() {
+	local _java_makeopts
+	use java && _java_makeopts="-j1"
+	emake ${_java_makeopts}
+
+	if multilib_is_native_abi; then
+		pushd ../debian/extra >/dev/null
+		emake CC="$(tc-getCC)" CFLAGS="${LDFLAGS} ${CFLAGS}"
+		popd >/dev/null
+	fi
+}
+
+multilib_src_test() {
+	emake test
+}
+
+multilib_src_install() {
+	emake \
+		DESTDIR="${D}" \
+		docdir="${EPREFIX}"/usr/share/doc/${PF} \
+		exampledir="${EPREFIX}"/usr/share/doc/${PF} \
+		install
+
+	if multilib_is_native_abi; then
+		pushd "${WORKDIR}"/debian/extra >/dev/null
+		emake \
+			DESTDIR="${D}" prefix="${EPREFIX}"/usr \
+			INSTALL="install -m755" INSTALLDIR="install -d -m755" \
+			install
+		popd >/dev/null
+
+		if use java; then
+			rm -rf "${ED}"/usr/classes
+			java-pkg_dojar java/turbojpeg.jar
+		fi
+	fi
+}
+
+multilib_src_install_all() {
+	prune_libtool_files
+
+	insinto /usr/share/doc/${PF}/html
+	doins -r "${S}"/doc/html/*
+	newdoc "${WORKDIR}"/debian/changelog changelog.debian
+	if use java; then
+		insinto /usr/share/doc/${PF}/html/java
+		doins -r "${S}"/java/doc/*
+		newdoc "${S}"/java/README README.java
+	fi
+}

diff --git a/media-libs/libjpeg-turbo/libjpeg-turbo-2.0.4-r1.ebuild b/media-libs/libjpeg-turbo/libjpeg-turbo-2.0.4-r1.ebuild
new file mode 100644
index 00000000000..2b66d033d72
--- /dev/null
+++ b/media-libs/libjpeg-turbo/libjpeg-turbo-2.0.4-r1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+inherit cmake-multilib java-pkg-opt-2 libtool toolchain-funcs
+
+DESCRIPTION="MMX, SSE, and SSE2 SIMD accelerated JPEG library"
+HOMEPAGE="https://libjpeg-turbo.org/ https://sourceforge.net/projects/libjpeg-turbo/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz
+	mirror://gentoo/libjpeg8_8d-2.debian.tar.gz"
+
+LICENSE="BSD IJG"
+SLOT="0"
+[[ "$(ver_cut 3)" -ge 90 ]] || \
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE="java static-libs"
+
+ASM_DEPEND="|| ( dev-lang/nasm dev-lang/yasm )"
+COMMON_DEPEND="!media-libs/jpeg:0
+	!media-libs/jpeg:62"
+RDEPEND="${COMMON_DEPEND}
+	java? ( >=virtual/jre-1.5 )"
+DEPEND="${COMMON_DEPEND}
+	amd64? ( ${ASM_DEPEND} )
+	x86? ( ${ASM_DEPEND} )
+	amd64-fbsd? ( ${ASM_DEPEND} )
+	x86-fbsd? ( ${ASM_DEPEND} )
+	amd64-linux? ( ${ASM_DEPEND} )
+	x86-linux? ( ${ASM_DEPEND} )
+	x64-macos? ( ${ASM_DEPEND} )
+	x64-cygwin? ( ${ASM_DEPEND} )
+	java? ( >=virtual/jdk-1.5 )"
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/jconfig.h )
+
+PATCHES=(
+	"${FILESDIR}"/${P}-CVE-2020-13790.patch
+)
+
+src_prepare() {
+	local FILE
+	ln -snf ../debian/extra/*.c . || die
+
+	for FILE in ../debian/extra/*.c; do
+		FILE=${FILE##*/}
+		cat >> CMakeLists.txt <<EOF || die
+add_executable(${FILE%.c} ${FILE})
+install(TARGETS ${FILE%.c})
+EOF
+	done
+
+	for FILE in ../debian/extra/exifautotran; do
+		cat >> CMakeLists.txt <<EOF || die
+install(FILES \${CMAKE_CURRENT_SOURCE_DIR}/${FILE} DESTINATION \${CMAKE_INSTALL_BINDIR})
+EOF
+	done
+
+	for FILE in ../debian/extra/*.[0-9]*; do
+		cat >> CMakeLists.txt <<EOF || die
+install(FILES \${CMAKE_CURRENT_SOURCE_DIR}/${FILE} DESTINATION \${CMAKE_INSTALL_MANDIR}/man${FILE##*.})
+EOF
+	done
+
+	#default
+
+	cmake_src_prepare
+	java-pkg-opt-2_src_prepare
+}
+
+multilib_src_configure() {
+	if multilib_is_native_abi && use java ; then
+		export JAVACFLAGS="$(java-pkg_javac-args)"
+		export JNI_CFLAGS="$(java-pkg_get-jni-cflags)"
+	fi
+
+	local mycmakeargs=(
+		-DCMAKE_INSTALL_DEFAULT_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+		-DENABLE_STATIC="$(usex static-libs)"
+		-DWITH_JAVA="$(multilib_native_usex java)"
+		-DWITH_MEM_SRCDST=ON
+	)
+	[[ ${ABI} == "x32" ]] && mycmakeargs+=( -DREQUIRE_SIMD=OFF ) #420239
+	cmake_src_configure
+}
+
+multilib_src_install() {
+	cmake_src_install
+
+	if multilib_is_native_abi && use java ; then
+		rm -rf "${ED}"/usr/classes || die
+		java-pkg_dojar java/turbojpeg.jar
+	fi
+}
+
+multilib_src_install_all() {
+	find "${ED}" -type f -name '*.la' -delete || die
+
+	docinto html
+	dodoc -r "${S}"/doc/html/*
+	newdoc "${WORKDIR}"/debian/changelog changelog.debian
+	if use java; then
+		docinto html/java
+		dodoc -r "${S}"/java/doc/*
+		newdoc "${S}"/java/README README.java
+	fi
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/libjpeg-turbo/files/, media-libs/libjpeg-turbo/
@ 2021-09-21 19:45 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2021-09-21 19:45 UTC (permalink / raw
  To: gentoo-commits

commit:     5461f1137c410777343daf6c6f688ab8d5422116
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 21 19:25:20 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Sep 21 19:25:38 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5461f113

media-libs/libjpeg-turbo: add patch for arm64 writable sections

Bug: https://bugs.gentoo.org/814206
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/libjpeg-turbo-2.1.1-arm64-relro.patch      | 20 ++++++++++++++++++++
 ...2.1.1-r1.ebuild => libjpeg-turbo-2.1.1-r2.ebuild} |  5 +++++
 2 files changed, 25 insertions(+)

diff --git a/media-libs/libjpeg-turbo/files/libjpeg-turbo-2.1.1-arm64-relro.patch b/media-libs/libjpeg-turbo/files/libjpeg-turbo-2.1.1-arm64-relro.patch
new file mode 100644
index 00000000000..7784ae513d1
--- /dev/null
+++ b/media-libs/libjpeg-turbo/files/libjpeg-turbo-2.1.1-arm64-relro.patch
@@ -0,0 +1,20 @@
+https://github.com/libjpeg-turbo/libjpeg-turbo/commit/129f0cb76346ceede8f4d8d87dea8acb0809056c
+
+From: DRC <information@libjpeg-turbo.org>
+Date: Wed, 25 Aug 2021 12:07:58 -0500
+Subject: [PATCH] Neon/AArch64: Don't put GAS functions in .rodata
+
+Regression introduced by 240ba417aa4b3174850d05ea0d22dbe5f80553c1
+
+Closes #546
+--- a/simd/arm/aarch64/jsimd_neon.S
++++ b/simd/arm/aarch64/jsimd_neon.S
+@@ -182,6 +182,8 @@ Ljsimd_huff_encode_one_block_neon_consts:
+     .byte    4,   5,   6,   7, 255, 255, 255, 255, \
+            255, 255, 255, 255, 255, 255, 255, 255  /* L7 : 1 line OK */
+ 
++.text
++
+ 
+ /*****************************************************************************/
+ 

diff --git a/media-libs/libjpeg-turbo/libjpeg-turbo-2.1.1-r1.ebuild b/media-libs/libjpeg-turbo/libjpeg-turbo-2.1.1-r2.ebuild
similarity index 97%
rename from media-libs/libjpeg-turbo/libjpeg-turbo-2.1.1-r1.ebuild
rename to media-libs/libjpeg-turbo/libjpeg-turbo-2.1.1-r2.ebuild
index 9fa04496082..f8495413e2e 100644
--- a/media-libs/libjpeg-turbo/libjpeg-turbo-2.1.1-r1.ebuild
+++ b/media-libs/libjpeg-turbo/libjpeg-turbo-2.1.1-r2.ebuild
@@ -41,6 +41,11 @@ RDEPEND="${COMMON_DEPEND}
 
 MULTILIB_WRAPPED_HEADERS=( /usr/include/jconfig.h )
 
+PATCHES=(
+	# Upstream patch
+	"${FILESDIR}"/${P}-arm64-relro.patch
+)
+
 src_prepare() {
 	local FILE
 	ln -snf ../debian/extra/*.c . || die


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-libs/libjpeg-turbo/files/, media-libs/libjpeg-turbo/
@ 2023-02-08  1:04 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2023-02-08  1:04 UTC (permalink / raw
  To: gentoo-commits

commit:     0d7aaed3e9ca8dfda55d24bdb1c6f8d81251873f
Author:     Matt Whitlock <gentoo <AT> mattwhitlock <DOT> name>
AuthorDate: Wed Feb  8 00:44:18 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Feb  8 00:50:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0d7aaed3

media-libs/libjpeg-turbo: add patch to avoid SIGILL for 2.1.5

See: https://github.com/libjpeg-turbo/libjpeg-turbo/issues/649
Signed-off-by: Matt Whitlock <gentoo <AT> mattwhitlock.name>
Closes: https://github.com/gentoo/gentoo/pull/29473
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...-initialize-simd_support-before-every-use.patch | 442 +++++++++++++++++++++
 ...-2.1.5.ebuild => libjpeg-turbo-2.1.5-r1.ebuild} |   4 +
 2 files changed, 446 insertions(+)

diff --git a/media-libs/libjpeg-turbo/files/2.1.5-initialize-simd_support-before-every-use.patch b/media-libs/libjpeg-turbo/files/2.1.5-initialize-simd_support-before-every-use.patch
new file mode 100644
index 000000000000..8ab7ede422b1
--- /dev/null
+++ b/media-libs/libjpeg-turbo/files/2.1.5-initialize-simd_support-before-every-use.patch
@@ -0,0 +1,442 @@
+From d743a2c12e889f7605a56f5144ae2e3899c9dd4f Mon Sep 17 00:00:00 2001
+From: DRC <information@libjpeg-turbo.org>
+Date: Thu, 2 Feb 2023 08:55:37 -0600
+Subject: [PATCH] SIMD/x86: Initialize simd_support before every use
+
+As long as a libjpeg instance is only used by one thread at a time, a
+program is technically within its rights to call jpeg_start_*compress()
+in one thread and jpeg_(read|write)_*(), with the same libjpeg instance,
+in a second thread.  However, because the various jsimd_can*() functions
+are called within the body of jpeg_start_*compress() and simd_support is
+now thread-local (due to f579cc11b33e5bfeb9931e37cc74b4a33c95d2e6), that
+led to a situation in which simd_support was initialized in the first
+thread but not the second.  The uninitialized value of simd_support is
+0xFFFFFFFF, which the second thread interpreted to mean that it could
+use any instruction set, and when it attempted to use AVX2 instructions
+on a CPU that didn't support them, an illegal instruction error
+occurred.
+
+This issue was known to affect libvips.
+
+This commit modifies the i386 and x86-64 SIMD dispatchers so that the
+various jsimd_*() functions always call init_simd(), if simd_support is
+uninitialized, prior to dispatching based on the value of simd_support.
+Note that the other SIMD dispatchers don't need this, because only the
+x86 SIMD extensions currently support multiple instruction sets.
+
+This patch has been verified to be performance-neutral to within
++/- 0.4% with 32-bit and 64-bit code running on a 2.8 GHz Intel Xeon
+W3530 and a 3.6 GHz Intel Xeon W2123.
+
+Fixes #649
+---
+ simd/i386/jsimd.c   | 71 ++++++++++++++++++++++++++++++++++++++++++++-
+ simd/x86_64/jsimd.c | 47 +++++++++++++++++++++++++++++-
+ 2 files changed, 116 insertions(+), 2 deletions(-)
+
+diff --git a/simd/i386/jsimd.c b/simd/i386/jsimd.c
+index 7bd61b62f..b429b0a53 100644
+--- a/simd/i386/jsimd.c
++++ b/simd/i386/jsimd.c
+@@ -2,7 +2,7 @@
+  * jsimd_i386.c
+  *
+  * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
+- * Copyright (C) 2009-2011, 2013-2014, 2016, 2018, 2022, D. R. Commander.
++ * Copyright (C) 2009-2011, 2013-2014, 2016, 2018, 2022-2023, D. R. Commander.
+  * Copyright (C) 2015-2016, 2018, 2022, Matthieu Darbois.
+  *
+  * Based on the x86 SIMD extension for IJG JPEG library,
+@@ -158,6 +158,9 @@ jsimd_rgb_ycc_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf,
+   void (*sse2fct) (JDIMENSION, JSAMPARRAY, JSAMPIMAGE, JDIMENSION, int);
+   void (*mmxfct) (JDIMENSION, JSAMPARRAY, JSAMPIMAGE, JDIMENSION, int);
+ 
++  if (simd_support == ~0U)
++    init_simd();
++
+   switch (cinfo->in_color_space) {
+   case JCS_EXT_RGB:
+     avx2fct = jsimd_extrgb_ycc_convert_avx2;
+@@ -217,6 +220,9 @@ jsimd_rgb_gray_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf,
+   void (*sse2fct) (JDIMENSION, JSAMPARRAY, JSAMPIMAGE, JDIMENSION, int);
+   void (*mmxfct) (JDIMENSION, JSAMPARRAY, JSAMPIMAGE, JDIMENSION, int);
+ 
++  if (simd_support == ~0U)
++    init_simd();
++
+   switch (cinfo->in_color_space) {
+   case JCS_EXT_RGB:
+     avx2fct = jsimd_extrgb_gray_convert_avx2;
+@@ -276,6 +282,9 @@ jsimd_ycc_rgb_convert(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
+   void (*sse2fct) (JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY, int);
+   void (*mmxfct) (JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY, int);
+ 
++  if (simd_support == ~0U)
++    init_simd();
++
+   switch (cinfo->out_color_space) {
+   case JCS_EXT_RGB:
+     avx2fct = jsimd_ycc_extrgb_convert_avx2;
+@@ -379,6 +388,9 @@ GLOBAL(void)
+ jsimd_h2v2_downsample(j_compress_ptr cinfo, jpeg_component_info *compptr,
+                       JSAMPARRAY input_data, JSAMPARRAY output_data)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_h2v2_downsample_avx2(cinfo->image_width, cinfo->max_v_samp_factor,
+                                compptr->v_samp_factor,
+@@ -399,6 +411,9 @@ GLOBAL(void)
+ jsimd_h2v1_downsample(j_compress_ptr cinfo, jpeg_component_info *compptr,
+                       JSAMPARRAY input_data, JSAMPARRAY output_data)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_h2v1_downsample_avx2(cinfo->image_width, cinfo->max_v_samp_factor,
+                                compptr->v_samp_factor,
+@@ -461,6 +476,9 @@ GLOBAL(void)
+ jsimd_h2v2_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
+                     JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_h2v2_upsample_avx2(cinfo->max_v_samp_factor, cinfo->output_width,
+                              input_data, output_data_ptr);
+@@ -476,6 +494,9 @@ GLOBAL(void)
+ jsimd_h2v1_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
+                     JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_h2v1_upsample_avx2(cinfo->max_v_samp_factor, cinfo->output_width,
+                              input_data, output_data_ptr);
+@@ -537,6 +558,9 @@ GLOBAL(void)
+ jsimd_h2v2_fancy_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
+                           JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_h2v2_fancy_upsample_avx2(cinfo->max_v_samp_factor,
+                                    compptr->downsampled_width, input_data,
+@@ -555,6 +579,9 @@ GLOBAL(void)
+ jsimd_h2v1_fancy_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
+                           JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_h2v1_fancy_upsample_avx2(cinfo->max_v_samp_factor,
+                                    compptr->downsampled_width, input_data,
+@@ -623,6 +650,9 @@ jsimd_h2v2_merged_upsample(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
+   void (*sse2fct) (JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY);
+   void (*mmxfct) (JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY);
+ 
++  if (simd_support == ~0U)
++    init_simd();
++
+   switch (cinfo->out_color_space) {
+   case JCS_EXT_RGB:
+     avx2fct = jsimd_h2v2_extrgb_merged_upsample_avx2;
+@@ -681,6 +711,9 @@ jsimd_h2v1_merged_upsample(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
+   void (*sse2fct) (JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY);
+   void (*mmxfct) (JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY);
+ 
++  if (simd_support == ~0U)
++    init_simd();
++
+   switch (cinfo->out_color_space) {
+   case JCS_EXT_RGB:
+     avx2fct = jsimd_h2v1_extrgb_merged_upsample_avx2;
+@@ -785,6 +818,9 @@ GLOBAL(void)
+ jsimd_convsamp(JSAMPARRAY sample_data, JDIMENSION start_col,
+                DCTELEM *workspace)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_convsamp_avx2(sample_data, start_col, workspace);
+   else if (simd_support & JSIMD_SSE2)
+@@ -797,6 +833,9 @@ GLOBAL(void)
+ jsimd_convsamp_float(JSAMPARRAY sample_data, JDIMENSION start_col,
+                      FAST_FLOAT *workspace)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_SSE2)
+     jsimd_convsamp_float_sse2(sample_data, start_col, workspace);
+   else if (simd_support & JSIMD_SSE)
+@@ -867,6 +906,9 @@ jsimd_can_fdct_float(void)
+ GLOBAL(void)
+ jsimd_fdct_islow(DCTELEM *data)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_fdct_islow_avx2(data);
+   else if (simd_support & JSIMD_SSE2)
+@@ -878,6 +920,9 @@ jsimd_fdct_islow(DCTELEM *data)
+ GLOBAL(void)
+ jsimd_fdct_ifast(DCTELEM *data)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if ((simd_support & JSIMD_SSE2) && IS_ALIGNED_SSE(jconst_fdct_islow_sse2))
+     jsimd_fdct_ifast_sse2(data);
+   else
+@@ -887,6 +932,9 @@ jsimd_fdct_ifast(DCTELEM *data)
+ GLOBAL(void)
+ jsimd_fdct_float(FAST_FLOAT *data)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if ((simd_support & JSIMD_SSE) && IS_ALIGNED_SSE(jconst_fdct_float_sse))
+     jsimd_fdct_float_sse(data);
+   else if (simd_support & JSIMD_3DNOW)
+@@ -942,6 +990,9 @@ jsimd_can_quantize_float(void)
+ GLOBAL(void)
+ jsimd_quantize(JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_quantize_avx2(coef_block, divisors, workspace);
+   else if (simd_support & JSIMD_SSE2)
+@@ -954,6 +1005,9 @@ GLOBAL(void)
+ jsimd_quantize_float(JCOEFPTR coef_block, FAST_FLOAT *divisors,
+                      FAST_FLOAT *workspace)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_SSE2)
+     jsimd_quantize_float_sse2(coef_block, divisors, workspace);
+   else if (simd_support & JSIMD_SSE)
+@@ -1017,6 +1071,9 @@ jsimd_idct_2x2(j_decompress_ptr cinfo, jpeg_component_info *compptr,
+                JCOEFPTR coef_block, JSAMPARRAY output_buf,
+                JDIMENSION output_col)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if ((simd_support & JSIMD_SSE2) && IS_ALIGNED_SSE(jconst_idct_red_sse2))
+     jsimd_idct_2x2_sse2(compptr->dct_table, coef_block, output_buf,
+                         output_col);
+@@ -1029,6 +1086,9 @@ jsimd_idct_4x4(j_decompress_ptr cinfo, jpeg_component_info *compptr,
+                JCOEFPTR coef_block, JSAMPARRAY output_buf,
+                JDIMENSION output_col)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if ((simd_support & JSIMD_SSE2) && IS_ALIGNED_SSE(jconst_idct_red_sse2))
+     jsimd_idct_4x4_sse2(compptr->dct_table, coef_block, output_buf,
+                         output_col);
+@@ -1123,6 +1183,9 @@ jsimd_idct_islow(j_decompress_ptr cinfo, jpeg_component_info *compptr,
+                  JCOEFPTR coef_block, JSAMPARRAY output_buf,
+                  JDIMENSION output_col)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_idct_islow_avx2(compptr->dct_table, coef_block, output_buf,
+                           output_col);
+@@ -1139,6 +1202,9 @@ jsimd_idct_ifast(j_decompress_ptr cinfo, jpeg_component_info *compptr,
+                  JCOEFPTR coef_block, JSAMPARRAY output_buf,
+                  JDIMENSION output_col)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if ((simd_support & JSIMD_SSE2) && IS_ALIGNED_SSE(jconst_idct_ifast_sse2))
+     jsimd_idct_ifast_sse2(compptr->dct_table, coef_block, output_buf,
+                           output_col);
+@@ -1152,6 +1218,9 @@ jsimd_idct_float(j_decompress_ptr cinfo, jpeg_component_info *compptr,
+                  JCOEFPTR coef_block, JSAMPARRAY output_buf,
+                  JDIMENSION output_col)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if ((simd_support & JSIMD_SSE2) && IS_ALIGNED_SSE(jconst_idct_float_sse2))
+     jsimd_idct_float_sse2(compptr->dct_table, coef_block, output_buf,
+                           output_col);
+diff --git a/simd/x86_64/jsimd.c b/simd/x86_64/jsimd.c
+index 227e27657..3f5ee77eb 100644
+--- a/simd/x86_64/jsimd.c
++++ b/simd/x86_64/jsimd.c
+@@ -2,7 +2,7 @@
+  * jsimd_x86_64.c
+  *
+  * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
+- * Copyright (C) 2009-2011, 2014, 2016, 2018, 2022, D. R. Commander.
++ * Copyright (C) 2009-2011, 2014, 2016, 2018, 2022-2023, D. R. Commander.
+  * Copyright (C) 2015-2016, 2018, 2022, Matthieu Darbois.
+  *
+  * Based on the x86 SIMD extension for IJG JPEG library,
+@@ -145,6 +145,9 @@ jsimd_rgb_ycc_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf,
+   void (*avx2fct) (JDIMENSION, JSAMPARRAY, JSAMPIMAGE, JDIMENSION, int);
+   void (*sse2fct) (JDIMENSION, JSAMPARRAY, JSAMPIMAGE, JDIMENSION, int);
+ 
++  if (simd_support == ~0U)
++    init_simd();
++
+   switch (cinfo->in_color_space) {
+   case JCS_EXT_RGB:
+     avx2fct = jsimd_extrgb_ycc_convert_avx2;
+@@ -194,6 +197,9 @@ jsimd_rgb_gray_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf,
+   void (*avx2fct) (JDIMENSION, JSAMPARRAY, JSAMPIMAGE, JDIMENSION, int);
+   void (*sse2fct) (JDIMENSION, JSAMPARRAY, JSAMPIMAGE, JDIMENSION, int);
+ 
++  if (simd_support == ~0U)
++    init_simd();
++
+   switch (cinfo->in_color_space) {
+   case JCS_EXT_RGB:
+     avx2fct = jsimd_extrgb_gray_convert_avx2;
+@@ -243,6 +249,9 @@ jsimd_ycc_rgb_convert(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
+   void (*avx2fct) (JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY, int);
+   void (*sse2fct) (JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY, int);
+ 
++  if (simd_support == ~0U)
++    init_simd();
++
+   switch (cinfo->out_color_space) {
+   case JCS_EXT_RGB:
+     avx2fct = jsimd_ycc_extrgb_convert_avx2;
+@@ -333,6 +342,9 @@ GLOBAL(void)
+ jsimd_h2v2_downsample(j_compress_ptr cinfo, jpeg_component_info *compptr,
+                       JSAMPARRAY input_data, JSAMPARRAY output_data)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_h2v2_downsample_avx2(cinfo->image_width, cinfo->max_v_samp_factor,
+                                compptr->v_samp_factor,
+@@ -349,6 +361,9 @@ GLOBAL(void)
+ jsimd_h2v1_downsample(j_compress_ptr cinfo, jpeg_component_info *compptr,
+                       JSAMPARRAY input_data, JSAMPARRAY output_data)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_h2v1_downsample_avx2(cinfo->image_width, cinfo->max_v_samp_factor,
+                                compptr->v_samp_factor,
+@@ -403,6 +418,9 @@ GLOBAL(void)
+ jsimd_h2v2_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
+                     JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_h2v2_upsample_avx2(cinfo->max_v_samp_factor, cinfo->output_width,
+                              input_data, output_data_ptr);
+@@ -415,6 +433,9 @@ GLOBAL(void)
+ jsimd_h2v1_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
+                     JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_h2v1_upsample_avx2(cinfo->max_v_samp_factor, cinfo->output_width,
+                              input_data, output_data_ptr);
+@@ -469,6 +490,9 @@ GLOBAL(void)
+ jsimd_h2v2_fancy_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
+                           JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_h2v2_fancy_upsample_avx2(cinfo->max_v_samp_factor,
+                                    compptr->downsampled_width, input_data,
+@@ -483,6 +507,9 @@ GLOBAL(void)
+ jsimd_h2v1_fancy_upsample(j_decompress_ptr cinfo, jpeg_component_info *compptr,
+                           JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_h2v1_fancy_upsample_avx2(cinfo->max_v_samp_factor,
+                                    compptr->downsampled_width, input_data,
+@@ -542,6 +569,9 @@ jsimd_h2v2_merged_upsample(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
+   void (*avx2fct) (JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY);
+   void (*sse2fct) (JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY);
+ 
++  if (simd_support == ~0U)
++    init_simd();
++
+   switch (cinfo->out_color_space) {
+   case JCS_EXT_RGB:
+     avx2fct = jsimd_h2v2_extrgb_merged_upsample_avx2;
+@@ -590,6 +620,9 @@ jsimd_h2v1_merged_upsample(j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
+   void (*avx2fct) (JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY);
+   void (*sse2fct) (JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY);
+ 
++  if (simd_support == ~0U)
++    init_simd();
++
+   switch (cinfo->out_color_space) {
+   case JCS_EXT_RGB:
+     avx2fct = jsimd_h2v1_extrgb_merged_upsample_avx2;
+@@ -679,6 +712,9 @@ GLOBAL(void)
+ jsimd_convsamp(JSAMPARRAY sample_data, JDIMENSION start_col,
+                DCTELEM *workspace)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_convsamp_avx2(sample_data, start_col, workspace);
+   else
+@@ -748,6 +784,9 @@ jsimd_can_fdct_float(void)
+ GLOBAL(void)
+ jsimd_fdct_islow(DCTELEM *data)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_fdct_islow_avx2(data);
+   else
+@@ -809,6 +848,9 @@ jsimd_can_quantize_float(void)
+ GLOBAL(void)
+ jsimd_quantize(JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_quantize_avx2(coef_block, divisors, workspace);
+   else
+@@ -963,6 +1005,9 @@ jsimd_idct_islow(j_decompress_ptr cinfo, jpeg_component_info *compptr,
+                  JCOEFPTR coef_block, JSAMPARRAY output_buf,
+                  JDIMENSION output_col)
+ {
++  if (simd_support == ~0U)
++    init_simd();
++
+   if (simd_support & JSIMD_AVX2)
+     jsimd_idct_islow_avx2(compptr->dct_table, coef_block, output_buf,
+                           output_col);

diff --git a/media-libs/libjpeg-turbo/libjpeg-turbo-2.1.5.ebuild b/media-libs/libjpeg-turbo/libjpeg-turbo-2.1.5-r1.ebuild
similarity index 97%
rename from media-libs/libjpeg-turbo/libjpeg-turbo-2.1.5.ebuild
rename to media-libs/libjpeg-turbo/libjpeg-turbo-2.1.5-r1.ebuild
index 713c9e844e83..e38d1e2aa16e 100644
--- a/media-libs/libjpeg-turbo/libjpeg-turbo-2.1.5.ebuild
+++ b/media-libs/libjpeg-turbo/libjpeg-turbo-2.1.5-r1.ebuild
@@ -41,6 +41,10 @@ BDEPEND="
 	x64-cygwin? ( ${ASM_DEPEND} )
 "
 
+PATCHES=(
+	"${FILESDIR}/2.1.5-initialize-simd_support-before-every-use.patch"
+)
+
 MULTILIB_WRAPPED_HEADERS=( /usr/include/jconfig.h )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-02-08  1:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-16 11:02 [gentoo-commits] repo/gentoo:master commit in: media-libs/libjpeg-turbo/files/, media-libs/libjpeg-turbo/ Jason Zaman
  -- strict thread matches above, loose matches on Subject: below --
2023-02-08  1:04 Sam James
2021-09-21 19:45 Sam James
2020-06-13 16:30 Mike Gilbert
2016-02-25 17:14 Markus Meier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox