graphics/exact-image: Added (image processing library)

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Benjamin Trigona-Harany 2010-06-23 16:07:40 -05:00 committed by Erik Hanson
parent 5e48145d7d
commit a4e30f9f3e
6 changed files with 199 additions and 0 deletions

View File

@ -0,0 +1,9 @@
ExactImage is an image processing library which reimplements ImageMagick
functions with a significant speed improvement. The library also provides
several new algorithms: lossless JPEG transforms and creation of searchable
PDFs from hOCR annotated HTML. There are bindings for PHP, Lua, Perl, and
Python. See /usr/doc/exact-image-*/examples/ for information on using
exactimage with Perl, Python, PHP and Lua.
This requires agg. lua and evas are optional dependencies, as is bardecode,
but bardecode is not available from SlackBuilds.org.

View File

@ -0,0 +1,77 @@
#!/bin/sh
# Slackware build script for exact-image
# Written by Benjamin Trigona-Harany <bosth@alumni.sfu.ca>
PRGNAM=exact-image
VERSION=${VERSION:-0.8.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Patch to fix libpng linkage
patch -p1 --verbose < $CWD/png.cc-libpng14.diff
# Patch to fix python and perl paths
eval $(perl -V:vendorlib)
sed "s,@vendorlib@,$vendorlib,g" $CWD/fixup-python_and_perl_paths.diff | patch -p1
./configure \
--bindir=/usr/bin \
--libdir=/usr/lib${LIBDIRSUFFIX}
make CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS"
make install DESTDIR=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a LICENSE README TODO CODING examples $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View File

@ -0,0 +1,10 @@
PRGNAM="exact-image"
VERSION="0.8.1"
HOMEPAGE="http://www.exactcode.de/site/open_source/exactimage/"
DOWNLOAD="http://dl.exactcode.de/oss/exact-image/exact-image-0.8.1.tar.bz2"
MD5SUM="f6c5a068a21a90c314ba557f0a601352"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Benjamin Trigona-Harany"
EMAIL="bosth@alumni.sfu.ca"
APPROVED="rworkman"

View File

@ -0,0 +1,22 @@
diff -Nur exact-image-0.8.1.orig//api/perl/Makefile exact-image-0.8.1/api/perl/Makefile
--- exact-image-0.8.1.orig//api/perl/Makefile 2008-12-09 03:42:19.000000000 -0600
+++ exact-image-0.8.1/api/perl/Makefile 2010-06-23 08:57:13.015010261 -0500
@@ -20,5 +20,6 @@
all:: $($(X_MODULE)_BINARY)
install:: $($(X_MODULE)_BINARY)
$(Q)echo "INSTALL PERL module $^"
- $(Q)mkdir -p $(DESTDIR)$(libdir)/perl5/site_perl/
- $(Q)install $^ $(dir $^)/ExactImage.pm $(DESTDIR)$(libdir)/perl5/site_perl/
+ eval `perl -V:vendorlib`
+ $(Q)mkdir -p $(DESTDIR)@vendorlib@
+ $(Q)install $^ $(dir $^)/ExactImage.pm $(DESTDIR)@vendorlib@
diff -Nur exact-image-0.8.1.orig//api/python/Makefile exact-image-0.8.1/api/python/Makefile
--- exact-image-0.8.1.orig//api/python/Makefile 2010-04-05 10:28:40.000000000 -0500
+++ exact-image-0.8.1/api/python/Makefile 2010-06-23 08:58:08.206169868 -0500
@@ -20,5 +20,5 @@
all:: $($(X_MODULE)_BINARY)
install:: $($(X_MODULE)_BINARY)
$(Q)echo "INSTALL PYTHON module $^"
- $(Q)mkdir -p $(DESTDIR)$(libdir)/python2.5/site-packages/
+ $(Q)mkdir -p $(DESTDIR)$(shell python -c 'from distutils.sysconfig import get_python_lib; print get_python_lib()')
$(Q)install $(dir $^)/ExactImage.py $^ $(DESTDIR)$(shell python -c 'from distutils.sysconfig import get_python_lib; print get_python_lib()')/

View File

@ -0,0 +1,62 @@
diff -Naur exact-image-0.8.1-old/codecs/png.cc exact-image-0.8.1/codecs/png.cc
--- exact-image-0.8.1-old/codecs/png.cc 2010-06-16 02:46:40.349543689 +0300
+++ exact-image-0.8.1/codecs/png.cc 2010-06-16 02:57:50.156542917 +0300
@@ -71,7 +71,7 @@
/* Allocate/initialize the memory for image information. REQUIRED. */
info_ptr = png_create_info_struct(png_ptr);
if (info_ptr == NULL) {
- png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
+ png_destroy_read_struct(&png_ptr, NULL, NULL);
return 0;
}
@@ -82,7 +82,7 @@
if (setjmp(png_jmpbuf(png_ptr))) {
/* Free all of the memory associated with the png_ptr and info_ptr */
- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
/* If we get here, we had a problem reading the file */
return 0;
}
@@ -99,7 +99,7 @@
png_read_info (png_ptr, info_ptr);
png_get_IHDR (png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
- &interlace_type, int_p_NULL, int_p_NULL);
+ &interlace_type, NULL, NULL);
image.w = width;
image.h = height;
@@ -196,11 +196,11 @@
for (int pass = 0; pass < number_passes; ++pass)
for (unsigned int y = 0; y < height; ++y) {
row_pointers[0] = image.getRawData() + y * stride;
- png_read_rows(png_ptr, row_pointers, png_bytepp_NULL, 1);
+ png_read_rows(png_ptr, row_pointers, NULL, 1);
}
/* clean up after the read, and free any memory allocated - REQUIRED */
- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
/* that's it */
return true;
@@ -224,7 +224,7 @@
/* Allocate/initialize the memory for image information. REQUIRED. */
info_ptr = png_create_info_struct(png_ptr);
if (info_ptr == NULL) {
- png_destroy_write_struct(&png_ptr, png_infopp_NULL);
+ png_destroy_write_struct(&png_ptr, NULL);
return false;
}
@@ -244,8 +244,6 @@
else if (quality > Z_BEST_COMPRESSION) quality = Z_BEST_COMPRESSION;
png_set_compression_level(png_ptr, quality);
- png_info_init (info_ptr);
-
/* Set up our STL stream output control */
png_set_write_fn (png_ptr, stream, &stdstream_write_data, &stdstream_flush_data);

View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
exact-image: exact-image (fast generic image processing library)
exact-image:
exact-image: ExactImage is an image processing library which reimplements
exact-image: ImageMagick functions with a significant speed improvement.
exact-image: The library also provides several new algorithms, e.g. lossless
exact-image: JPEG transforms and the creation of searchable PDFs from hOCR
exact-image: annotated HTML. There are bindings for PHP, Lua, Python and Perl.
exact-image:
exact-image:
exact-image:
exact-image: