[arch-commits] Commit in libraw/trunk (PKGBUILD libraw-gcc6.patch)
Antonio Rojas
arojas at archlinux.org
Mon May 30 16:07:13 UTC 2016
Date: Monday, May 30, 2016 @ 18:07:13
Author: arojas
Revision: 268744
Update to 0.17.2
Added:
libraw/trunk/libraw-gcc6.patch
Modified:
libraw/trunk/PKGBUILD
-------------------+
PKGBUILD | 32 ++++++++++++--------
libraw-gcc6.patch | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 102 insertions(+), 12 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2016-05-30 14:28:34 UTC (rev 268743)
+++ PKGBUILD 2016-05-30 16:07:13 UTC (rev 268744)
@@ -1,5 +1,6 @@
# $Id$
-# Maintainer: Andre Scarpino <andrea at archlinux.org>
+# Maintainer: Antonio Rojas <arojas at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
# Contributor: Jaroslav Lichtblau <dragonlord at aur.archlinux.org>
# Contributor: Ionut Biru <ibiru at archlinux.org>
# Contributor: Joeny Ang <ang(dot)joeny(at)gmail(dot)com>
@@ -6,18 +7,25 @@
# Contributor: Brad Fanella <bradfanella at archlinux.us>
pkgname=libraw
-pkgver=0.17.1
+pkgver=0.17.2
pkgrel=1
pkgdesc="A library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others)"
arch=('i686' 'x86_64')
url="http://www.libraw.org/"
-license=('CDDL' 'LGPL' 'custom')
-depends=('lcms2' 'jasper')
-source=("http://www.libraw.org/data/LibRaw-${pkgver}.tar.gz")
-sha256sums=('e599651a4cc37e00cfc2d2b56be87c3a4e4dae2c360b680fe9ab3f93d07cdea1')
+license=(CDDL LGPL custom)
+depends=(lcms2 jasper)
+source=("http://www.libraw.org/data/LibRaw-${pkgver}.tar.gz" libraw-gcc6.patch)
+sha256sums=('92b0c42c7666eca9307e5e1f97d6fefc196cf0b7ee089e22880259a76fafd15c'
+ '317af364c48fd346eef0b116264a8c048aed923e2d850c0f2dd2d30a34b3771a')
+prepare() {
+ cd LibRaw-$pkgver
+# Fix build with GCC 6 (Fedora)
+ patch -p0 -i ../libraw-gcc6.patch
+}
+
build() {
- cd LibRaw-${pkgver}
+ cd LibRaw-$pkgver
./configure --prefix=/usr \
--disable-examples
make
@@ -24,10 +32,10 @@
}
package() {
- cd LibRaw-${pkgver}
- make DESTDIR="${pkgdir}" install
+ cd LibRaw-$pkgver
+ make DESTDIR="$pkgdir" install
- install -d "${pkgdir}"/usr/share/licenses/${pkgname}
- install -D -m644 "${srcdir}"/LibRaw-${pkgver}/LICENSE.LibRaw.pdf \
- "${pkgdir}"/usr/share/licenses/${pkgname}
+ install -d "$pkgdir"/usr/share/licenses/$pkgname
+ install -D -m644 "$srcdir"/LibRaw-$pkgver/LICENSE.LibRaw.pdf \
+ "$pkgdir"/usr/share/licenses/$pkgname
}
Added: libraw-gcc6.patch
===================================================================
--- libraw-gcc6.patch (rev 0)
+++ libraw-gcc6.patch 2016-05-30 16:07:13 UTC (rev 268744)
@@ -0,0 +1,82 @@
+--- internal/dcraw_common.cpp
++++ internal/dcraw_common.cpp
+@@ -4417,30 +4417,37 @@ void CLASS lin_interpolate()
+ */
+ void CLASS vng_interpolate()
+ {
+- static const signed char *cp, terms[] = {
+- -2,-2,+0,-1,0,0x01, -2,-2,+0,+0,1,0x01, -2,-1,-1,+0,0,0x01,
+- -2,-1,+0,-1,0,0x02, -2,-1,+0,+0,0,0x03, -2,-1,+0,+1,1,0x01,
+- -2,+0,+0,-1,0,0x06, -2,+0,+0,+0,1,0x02, -2,+0,+0,+1,0,0x03,
+- -2,+1,-1,+0,0,0x04, -2,+1,+0,-1,1,0x04, -2,+1,+0,+0,0,0x06,
+- -2,+1,+0,+1,0,0x02, -2,+2,+0,+0,1,0x04, -2,+2,+0,+1,0,0x04,
+- -1,-2,-1,+0,0,0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01,
+- -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,0x88, -1,-1,+1,-2,0,0x40,
+- -1,-1,+1,-1,0,0x22, -1,-1,+1,+0,0,0x33, -1,-1,+1,+1,1,0x11,
+- -1,+0,-1,+2,0,0x08, -1,+0,+0,-1,0,0x44, -1,+0,+0,+1,0,0x11,
+- -1,+0,+1,-2,1,0x40, -1,+0,+1,-1,0,0x66, -1,+0,+1,+0,1,0x22,
+- -1,+0,+1,+1,0,0x33, -1,+0,+1,+2,1,0x10, -1,+1,+1,-1,1,0x44,
+- -1,+1,+1,+0,0,0x66, -1,+1,+1,+1,0,0x22, -1,+1,+1,+2,0,0x10,
+- -1,+2,+0,+1,0,0x04, -1,+2,+1,+0,1,0x04, -1,+2,+1,+1,0,0x04,
+- +0,-2,+0,+0,1,0x80, +0,-1,+0,+1,1,0x88, +0,-1,+1,-2,0,0x40,
+- +0,-1,+1,+0,0,0x11, +0,-1,+2,-2,0,0x40, +0,-1,+2,-1,0,0x20,
+- +0,-1,+2,+0,0,0x30, +0,-1,+2,+1,1,0x10, +0,+0,+0,+2,1,0x08,
+- +0,+0,+2,-2,1,0x40, +0,+0,+2,-1,0,0x60, +0,+0,+2,+0,1,0x20,
+- +0,+0,+2,+1,0,0x30, +0,+0,+2,+2,1,0x10, +0,+1,+1,+0,0,0x44,
+- +0,+1,+1,+2,0,0x10, +0,+1,+2,-1,1,0x40, +0,+1,+2,+0,0,0x60,
+- +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,0x80,
+- +1,-1,+1,+1,0,0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40,
+- +1,+0,+2,+1,0,0x10
+- }, chood[] = { -1,-1, -1,0, -1,+1, 0,+1, +1,+1, +1,0, +1,-1, 0,-1 };
++ struct interpolate_terms {
++ signed char y1, x1, y2, x2, weight;
++ unsigned char grads;
++ };
++ static const interpolate_terms terms[] = {
++ {-2,-2,+0,-1,0,0x01}, {-2,-2,+0,+0,1,0x01}, {-2,-1,-1,+0,0,0x01},
++ {-2,-1,+0,-1,0,0x02}, {-2,-1,+0,+0,0,0x03}, {-2,-1,+0,+1,1,0x01},
++ {-2,+0,+0,-1,0,0x06}, {-2,+0,+0,+0,1,0x02}, {-2,+0,+0,+1,0,0x03},
++ {-2,+1,-1,+0,0,0x04}, {-2,+1,+0,-1,1,0x04}, {-2,+1,+0,+0,0,0x06},
++ {-2,+1,+0,+1,0,0x02}, {-2,+2,+0,+0,1,0x04}, {-2,+2,+0,+1,0,0x04},
++ {-1,-2,-1,+0,0,0x80}, {-1,-2,+0,-1,0,0x01}, {-1,-2,+1,-1,0,0x01},
++ {-1,-2,+1,+0,1,0x01}, {-1,-1,-1,+1,0,0x88}, {-1,-1,+1,-2,0,0x40},
++ {-1,-1,+1,-1,0,0x22}, {-1,-1,+1,+0,0,0x33}, {-1,-1,+1,+1,1,0x11},
++ {-1,+0,-1,+2,0,0x08}, {-1,+0,+0,-1,0,0x44}, {-1,+0,+0,+1,0,0x11},
++ {-1,+0,+1,-2,1,0x40}, {-1,+0,+1,-1,0,0x66}, {-1,+0,+1,+0,1,0x22},
++ {-1,+0,+1,+1,0,0x33}, {-1,+0,+1,+2,1,0x10}, {-1,+1,+1,-1,1,0x44},
++ {-1,+1,+1,+0,0,0x66}, {-1,+1,+1,+1,0,0x22}, {-1,+1,+1,+2,0,0x10},
++ {-1,+2,+0,+1,0,0x04}, {-1,+2,+1,+0,1,0x04}, {-1,+2,+1,+1,0,0x04},
++ {+0,-2,+0,+0,1,0x80}, {+0,-1,+0,+1,1,0x88}, {+0,-1,+1,-2,0,0x40},
++ {+0,-1,+1,+0,0,0x11}, {+0,-1,+2,-2,0,0x40}, {+0,-1,+2,-1,0,0x20},
++ {+0,-1,+2,+0,0,0x30}, {+0,-1,+2,+1,1,0x10}, {+0,+0,+0,+2,1,0x08},
++ {+0,+0,+2,-2,1,0x40}, {+0,+0,+2,-1,0,0x60}, {+0,+0,+2,+0,1,0x20},
++ {+0,+0,+2,+1,0,0x30}, {+0,+0,+2,+2,1,0x10}, {+0,+1,+1,+0,0,0x44},
++ {+0,+1,+1,+2,0,0x10}, {+0,+1,+2,-1,1,0x40}, {+0,+1,+2,+0,0,0x60},
++ {+0,+1,+2,+1,0,0x20}, {+0,+1,+2,+2,0,0x10}, {+1,-2,+1,+0,0,0x80},
++ {+1,-1,+1,+1,0,0x88}, {+1,+0,+1,+2,0,0x08}, {+1,+0,+2,-1,0,0x40},
++ {+1,+0,+2,+1,0,0x10}
++ };
++ const interpolate_terms *cpt;
++ signed char *cp;
++ signed char chood[] = { -1,-1, -1,0, -1,+1, 0,+1, +1,+1, +1,0, +1,-1, 0,-1 };
+ ushort (*brow[5])[4], *pix;
+ int prow=8, pcol=2, *ip, *code[16][16], gval[8], gmin, gmax, sum[4];
+ int row, col, x, y, x1, x2, y1, y2, t, weight, grads, color, diag;
+@@ -4456,11 +4463,11 @@ void CLASS vng_interpolate()
+ for (row=0; row < prow; row++) /* Precalculate for VNG */
+ for (col=0; col < pcol; col++) {
+ code[row][col] = ip;
+- for (cp=terms, t=0; t < 64; t++) {
+- y1 = *cp++; x1 = *cp++;
+- y2 = *cp++; x2 = *cp++;
+- weight = *cp++;
+- grads = *cp++;
++ for (cpt=&terms[0], t=0; t < 64, cpt = &terms[t]; t++) {
++ y1 = cpt->y1; x1 = cpt->x1;
++ y2 = cpt->y2; x2 = cpt->x2;
++ weight = cpt->weight;
++ grads = cpt->grads;
+ color = fcol(row+y1,col+x1);
+ if (fcol(row+y2,col+x2) != color) continue;
+ diag = (fcol(row,col+1) == color && fcol(row+1,col) == color) ? 2:1;
+
More information about the arch-commits
mailing list