From 21eb2757e1fc0d7c1508cd790b909ef593a62cf8 Mon Sep 17 00:00:00 2001 From: "W. Michael Petullo" Date: Sun, 23 Oct 2011 07:18:53 +0000 Subject: [PATCH] [package] vips: update to 7.26.3 SVN-Revision: 28533 --- libs/vips/Makefile | 6 +- libs/vips/patches/001-no_cpp.patch | 276 ++++++++++++++++-- libs/vips/patches/002-im_bufjpeg2vips.patch | 293 -------------------- libs/vips/patches/002-no_fits.patch | 31 --- 4 files changed, 259 insertions(+), 347 deletions(-) delete mode 100644 libs/vips/patches/002-im_bufjpeg2vips.patch delete mode 100644 libs/vips/patches/002-no_fits.patch diff --git a/libs/vips/Makefile b/libs/vips/Makefile index 9218f9041c..d4e2f1a4b3 100644 --- a/libs/vips/Makefile +++ b/libs/vips/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=vips -PKG_VERSION:=7.26.1 +PKG_VERSION:=7.26.3 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.vips.ecs.soton.ac.uk/supported/7.26/ -PKG_MD5SUM:=518c5a2d4813afc097a17f3fca9f4532 +PKG_MD5SUM:=1fbf164ef0da8e835a036c56ff659e8e PKG_FIXUP = libtool include $(INCLUDE_DIR)/package.mk @@ -30,7 +30,7 @@ define Package/vips $(call Package/vips/Default) SECTION:=multimedia CATEGORY:=Multimedia - DEPENDS:=+libjpeg +glib2 +libxml2 +libfreetype $(INTL_DEPENDS) + DEPENDS:=+libjpeg +glib2 +libxml2 $(INTL_DEPENDS) endef define Package/vips/description diff --git a/libs/vips/patches/001-no_cpp.patch b/libs/vips/patches/001-no_cpp.patch index 6fd60e122a..9c4671fe2b 100644 --- a/libs/vips/patches/001-no_cpp.patch +++ b/libs/vips/patches/001-no_cpp.patch @@ -1,6 +1,6 @@ -diff -u --recursive vips-7.26.1-vanilla/configure.in vips-7.26.1/configure.in ---- vips-7.26.1-vanilla/configure.in 2011-08-10 21:31:05.386968954 -0500 -+++ vips-7.26.1/configure.in 2011-08-10 21:31:50.747488580 -0500 +diff -u --recursive vips-7.26.3-vanilla/configure.in vips-7.26.3/configure.in +--- vips-7.26.3-vanilla/configure.in 2011-10-07 20:43:26.474844552 -0500 ++++ vips-7.26.3/configure.in 2011-10-07 21:00:33.633107256 -0500 @@ -142,7 +142,6 @@ AC_PROG_AWK AC_PROG_CC @@ -9,7 +9,61 @@ diff -u --recursive vips-7.26.1-vanilla/configure.in vips-7.26.1/configure.in AC_C_CONST AC_C_RESTRICT AC_PROG_RANLIB -@@ -604,7 +603,6 @@ +@@ -150,45 +149,6 @@ + AC_PROG_LN_S + AM_WITH_DMALLOC + +-# vips_PROG_CXX_WORKS +-# Check whether the C++ compiler works. +-AC_DEFUN([vips_PROG_CXX_WORKS], +- [AC_REQUIRE([AC_PROG_CXX])dnl +- AC_CACHE_CHECK([whether the C++ compiler works], +- [vips_cv_prog_cxx_works], +- [AC_LANG_PUSH([C++]) +- AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], +- [vips_cv_prog_cxx_works=yes], +- [vips_cv_prog_cxx_works=no]) +- AC_LANG_POP([C++])]) +-]) +- +-# option to build without C++ +-# handy for some embedded applications +-# also, including C++ source causes link problems on some +-# platforms, so have an option to disable it +-AC_ARG_ENABLE(cxx, +- AS_HELP_STRING([--enable-cxx], [build C++ components (default: test)])) +- +-if test x"$enable_cxx" != x"no"; then +- vips_PROG_CXX_WORKS +- if test x"$vips_cv_prog_cxx_works" = x"yes"; then +- AC_DEFINE(ENABLE_CXX,1,[build C++ components]) +- AM_CONDITIONAL(ENABLE_CXX, true) +- # need -lstdc++ for (eg.) the C++ format loaders +- # this gets added to vips-7.xx.pc to help mingw and friends link programs +- # using libvips +- VIPS_CXX_LIBS="-lstdc++" +- enable_cxx=yes +- fi +-fi +- +-if test x"$enable_cxx" != x"yes"; then +- AM_CONDITIONAL(ENABLE_CXX, false) +- VIPS_CXX_LIBS="" +- enable_cxx=no +-fi +- + # we need a fully expanded version of $libdir + # without this we get something like + # define VIPS_LIBDIR ${exec_prefix}/lib +@@ -614,7 +574,6 @@ + AC_SUBST(VIPS_CFLAGS) + AC_SUBST(VIPS_INCLUDES) + AC_SUBST(VIPS_LIBS) +-AC_SUBST(VIPS_CXX_LIBS) + AC_SUBST(PACKAGES_USED) + + # you'd think we could have +@@ -622,7 +581,6 @@ # in AC_OUTPUT, but that seems to break for some combinations of sh/m4 AC_OUTPUT([ vips-7.26.pc @@ -17,7 +71,7 @@ diff -u --recursive vips-7.26.1-vanilla/configure.in vips-7.26.1/configure.in Makefile libvips/include/vips/version.h libvips/include/Makefile -@@ -612,7 +610,6 @@ +@@ -630,7 +588,6 @@ libvips/Makefile libvips/arithmetic/Makefile libvips/boolean/Makefile @@ -25,7 +79,7 @@ diff -u --recursive vips-7.26.1-vanilla/configure.in vips-7.26.1/configure.in libvips/colour/Makefile libvips/conversion/Makefile libvips/convolution/Makefile -@@ -629,9 +626,6 @@ +@@ -647,9 +604,6 @@ libvips/relational/Makefile libvips/resample/Makefile libvips/video/Makefile @@ -35,7 +89,7 @@ diff -u --recursive vips-7.26.1-vanilla/configure.in vips-7.26.1/configure.in tools/Makefile tools/batch_crop tools/batch_image_convert -@@ -639,7 +633,6 @@ +@@ -657,7 +611,6 @@ tools/light_correct tools/shrink_width swig/Makefile @@ -43,9 +97,9 @@ diff -u --recursive vips-7.26.1-vanilla/configure.in vips-7.26.1/configure.in swig/python/setup.py man/Makefile doc/Makefile -diff -u --recursive vips-7.26.1-vanilla/libvips/Makefile.am vips-7.26.1/libvips/Makefile.am ---- vips-7.26.1-vanilla/libvips/Makefile.am 2011-08-10 21:31:05.982949772 -0500 -+++ vips-7.26.1/libvips/Makefile.am 2011-08-10 21:32:37.969906173 -0500 +diff -u --recursive vips-7.26.3-vanilla/libvips/Makefile.am vips-7.26.3/libvips/Makefile.am +--- vips-7.26.3-vanilla/libvips/Makefile.am 2011-10-07 20:43:26.909839013 -0500 ++++ vips-7.26.3/libvips/Makefile.am 2011-10-07 20:45:25.074274823 -0500 @@ -1,14 +1,3 @@ -# only build in the cimg dir if C++ is enabled -if ENABLE_CXX @@ -69,17 +123,22 @@ diff -u --recursive vips-7.26.1-vanilla/libvips/Makefile.am vips-7.26.1/libvips/ format \ freq_filt \ histograms_lut \ -@@ -35,9 +23,6 @@ - lib_LTLIBRARIES = libvips.la +@@ -37,14 +25,6 @@ + # empty means default to C linking + libvips_la_SOURCES = - libvips_la_SOURCES = dummy.c +-# if we have C++ components enabled, make sure we link the top-level with c++ +-# +-# sadly the if/enndif isn't enough to stop automake detecting a c++ link even +-# when c++ is disabled ... comment out this line if you have linking problems -if ENABLE_CXX --libvips_la_SOURCES += dummy2.cc +-nodist_EXTRA_libvips_la_SOURCES = cimg/dummy2.cxx -endif - +- # DLLs need dependant libs there too ... put @VIPS_LIBS@ at the end libvips_la_LIBADD = \ -@@ -48,7 +33,6 @@ + resample/libresample.la \ +@@ -54,7 +34,6 @@ conversion/libconversion.la \ convolution/libconvolution.la \ deprecated/libdeprecated.la \ @@ -87,7 +146,7 @@ diff -u --recursive vips-7.26.1-vanilla/libvips/Makefile.am vips-7.26.1/libvips/ format/libformat.la \ freq_filt/libfreq_filt.la \ histograms_lut/libhistograms_lut.la \ -@@ -62,13 +46,6 @@ +@@ -68,13 +47,6 @@ video/libvideo.la \ @VIPS_LIBS@ @@ -101,9 +160,9 @@ diff -u --recursive vips-7.26.1-vanilla/libvips/Makefile.am vips-7.26.1/libvips/ - -EXTRA_DIST = \ - $(C_DIST_DIR) -diff -u --recursive vips-7.26.1-vanilla/libvips/resample/Makefile.am vips-7.26.1/libvips/resample/Makefile.am ---- vips-7.26.1-vanilla/libvips/resample/Makefile.am 2011-08-10 21:31:06.658928005 -0500 -+++ vips-7.26.1/libvips/resample/Makefile.am 2011-08-10 21:32:59.648166658 -0500 +diff -u --recursive vips-7.26.3-vanilla/libvips/resample/Makefile.am vips-7.26.3/libvips/resample/Makefile.am +--- vips-7.26.3-vanilla/libvips/resample/Makefile.am 2011-10-07 20:43:27.173835707 -0500 ++++ vips-7.26.3/libvips/resample/Makefile.am 2011-10-07 20:45:49.360933471 -0500 @@ -2,22 +2,6 @@ # you'd think we could just define a couple of variables, but that seems to # confuse libtool and make it link the library with g++ @@ -143,3 +202,180 @@ diff -u --recursive vips-7.26.1-vanilla/libvips/resample/Makefile.am vips-7.26.1 noinst_LTLIBRARIES = libresample.la INCLUDES = -I${top_srcdir}/libvips/include @VIPS_CFLAGS@ @VIPS_INCLUDES@ +diff -u --recursive vips-7.26.3-vanilla/Makefile.am vips-7.26.3/Makefile.am +--- vips-7.26.3-vanilla/Makefile.am 2011-10-07 20:43:26.476844503 -0500 ++++ vips-7.26.3/Makefile.am 2011-10-07 22:31:54.034586656 -0500 +@@ -1,43 +1,17 @@ +- +-# turn off libvipsCC if C++ is disabled +-if ENABLE_CXX +-C_COMPILE_DIR = libvipsCC +-C_DIST_DIR = +-C_PKGCONFIG = vipsCC-7.${VIPS_MINOR_VERSION}.pc +- +-# turn on Python if we can (requires C++) +-if HAVE_PYTHON +-P_COMPILE_DIR = swig +-P_DIST_DIR = +-endif +- +-else +-C_COMPILE_DIR = +-C_DIST_DIR = libvipsCC +-C_PKGCONFIG = +-P_COMPILE_DIR = +-P_DIST_DIR = swig +-endif +- + SUBDIRS = \ + libvips \ + tools \ + po \ + man \ +- doc \ +- $(C_COMPILE_DIR) \ +- $(P_COMPILE_DIR) ++ doc + + EXTRA_DIST = \ + m4 \ + benchmark \ + bootstrap.sh \ + vips-7.${VIPS_MINOR_VERSION}.pc.in \ +- vipsCC-7.${VIPS_MINOR_VERSION}.pc.in \ + acinclude.m4 \ +- depcomp \ +- $(C_DIST_DIR) \ +- $(P_DIST_DIR) ++ depcomp + + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = vips-7.${VIPS_MINOR_VERSION}.pc $(C_PKGCONFIG) +diff -u --recursive vips-7.26.3-vanilla/Makefile.in vips-7.26.3/Makefile.in +--- vips-7.26.3-vanilla/Makefile.in 2011-10-07 20:43:26.766840803 -0500 ++++ vips-7.26.3/Makefile.in 2011-10-07 22:30:18.980820947 -0500 +@@ -37,7 +37,6 @@ + subdir = . + DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ +- $(srcdir)/vips-7.26.pc.in $(srcdir)/vipsCC-7.26.pc.in \ + $(top_srcdir)/configure $(top_srcdir)/swig/python/setup.py.in \ + AUTHORS COPYING ChangeLog INSTALL NEWS THANKS TODO \ + config.guess config.sub depcomp install-sh ltmain.sh missing \ +@@ -51,7 +50,7 @@ + configure.lineno config.status.lineno + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs + CONFIG_HEADER = config.h +-CONFIG_CLEAN_FILES = vips-7.26.pc vipsCC-7.26.pc swig/python/setup.py ++CONFIG_CLEAN_FILES = vips-7.26.pc swig/python/setup.py + CONFIG_CLEAN_VPATH_FILES = + SOURCES = + DIST_SOURCES = +@@ -92,7 +91,7 @@ + distdir dist dist-all distcheck + ETAGS = etags + CTAGS = ctags +-DIST_SUBDIRS = libvips tools po man doc libvipsCC swig ++DIST_SUBDIRS = libvips tools po man doc swig + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + distdir = $(PACKAGE)-$(VERSION) + top_distdir = $(distdir) +@@ -146,10 +145,6 @@ + CFLAGS = @CFLAGS@ + CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ +-CXX = @CXX@ +-CXXCPP = @CXXCPP@ +-CXXDEPMODE = @CXXDEPMODE@ +-CXXFLAGS = @CXXFLAGS@ + CYGPATH_W = @CYGPATH_W@ + DATADIRNAME = @DATADIRNAME@ + DEFS = @DEFS@ +@@ -262,7 +257,6 @@ + USE_NLS = @USE_NLS@ + VERSION = @VERSION@ + VIPS_CFLAGS = @VIPS_CFLAGS@ +-VIPS_CXX_LIBS = @VIPS_CXX_LIBS@ + VIPS_EXEEXT = @VIPS_EXEEXT@ + VIPS_INCLUDES = @VIPS_INCLUDES@ + VIPS_LIBDIR = @VIPS_LIBDIR@ +@@ -285,7 +279,6 @@ + abs_top_builddir = @abs_top_builddir@ + abs_top_srcdir = @abs_top_srcdir@ + ac_ct_CC = @ac_ct_CC@ +-ac_ct_CXX = @ac_ct_CXX@ + ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ + am__include = @am__include@ + am__leading_dot = @am__leading_dot@ +@@ -337,39 +330,21 @@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-@ENABLE_CXX_FALSE@C_COMPILE_DIR = + +-# turn off libvipsCC if C++ is disabled +-@ENABLE_CXX_TRUE@C_COMPILE_DIR = libvipsCC +-@ENABLE_CXX_FALSE@C_DIST_DIR = libvipsCC +-@ENABLE_CXX_TRUE@C_DIST_DIR = +-@ENABLE_CXX_FALSE@C_PKGCONFIG = +-@ENABLE_CXX_TRUE@C_PKGCONFIG = vipsCC-7.${VIPS_MINOR_VERSION}.pc +-@ENABLE_CXX_FALSE@P_COMPILE_DIR = +- +-# turn on Python if we can (requires C++) +-@ENABLE_CXX_TRUE@@HAVE_PYTHON_TRUE@P_COMPILE_DIR = swig +-@ENABLE_CXX_FALSE@P_DIST_DIR = swig +-@ENABLE_CXX_TRUE@@HAVE_PYTHON_TRUE@P_DIST_DIR = + SUBDIRS = \ + libvips \ + tools \ + po \ + man \ + doc \ +- $(C_COMPILE_DIR) \ +- $(P_COMPILE_DIR) + + EXTRA_DIST = \ + m4 \ + benchmark \ + bootstrap.sh \ + vips-7.${VIPS_MINOR_VERSION}.pc.in \ +- vipsCC-7.${VIPS_MINOR_VERSION}.pc.in \ + acinclude.m4 \ + depcomp \ +- $(C_DIST_DIR) \ +- $(P_DIST_DIR) + + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = vips-7.${VIPS_MINOR_VERSION}.pc $(C_PKGCONFIG) +@@ -431,8 +406,6 @@ + -rm -f config.h stamp-h1 + vips-7.26.pc: $(top_builddir)/config.status $(srcdir)/vips-7.26.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +-vipsCC-7.26.pc: $(top_builddir)/config.status $(srcdir)/vipsCC-7.26.pc.in +- cd $(top_builddir) && $(SHELL) ./config.status $@ + swig/python/setup.py: $(top_builddir)/config.status $(top_srcdir)/swig/python/setup.py.in + cd $(top_builddir) && $(SHELL) ./config.status $@ + +diff -u --recursive vips-7.26.3-vanilla/tools/Makefile.am vips-7.26.3/tools/Makefile.am +--- vips-7.26.3-vanilla/tools/Makefile.am 2011-10-07 20:43:26.495844193 -0500 ++++ vips-7.26.3/tools/Makefile.am 2011-10-07 22:34:56.215304397 -0500 +@@ -16,9 +16,6 @@ + INCLUDES = -I${top_srcdir}/libvips/include @VIPS_CFLAGS@ @VIPS_INCLUDES@ + AM_LDFLAGS = @LDFLAGS@ + LDADD = @VIPS_CFLAGS@ ${top_builddir}/libvips/libvips.la @VIPS_LIBS@ +-if ENABLE_CXX +-LDADD += @VIPS_CXX_LIBS@ +-endif + + bin_SCRIPTS = \ + light_correct \ +diff -u --recursive vips-7.26.3-vanilla/vips-7.26.pc.in vips-7.26.3/vips-7.26.pc.in +--- vips-7.26.3-vanilla/vips-7.26.pc.in 2011-10-07 20:43:26.769840766 -0500 ++++ vips-7.26.3/vips-7.26.pc.in 2011-10-07 22:25:21.633810254 -0500 +@@ -7,5 +7,5 @@ + Description: Image processing library + Version: @VERSION@ + Requires: @PACKAGES_USED@ +-Libs: -L${libdir} -lvips @VIPS_LIBS@ @VIPS_CXX_LIBS@ ++Libs: -L${libdir} -lvips @VIPS_LIBS@ + Cflags: -I${includedir} diff --git a/libs/vips/patches/002-im_bufjpeg2vips.patch b/libs/vips/patches/002-im_bufjpeg2vips.patch deleted file mode 100644 index 950d137bea..0000000000 --- a/libs/vips/patches/002-im_bufjpeg2vips.patch +++ /dev/null @@ -1,293 +0,0 @@ -Index: libs/vips/patches/002-im_bufjpeg2vips.patch -=================================================================== ---- libs/vips/patches/002-im_bufjpeg2vips.patch (revision 0) -+++ libs/vips/patches/002-im_bufjpeg2vips.patch (revision 0) -@@ -0,0 +1,288 @@ -+diff -u --recursive vips-7.24.5-vanilla/libvips/format/im_jpeg2vips.c vips-7.24.5/libvips/format/im_jpeg2vips.c -+--- vips-7.24.5-vanilla/libvips/format/im_jpeg2vips.c 2011-07-04 09:23:04.437730278 -0500 -++++ vips-7.24.5/libvips/format/im_jpeg2vips.c 2011-07-04 09:27:46.972274128 -0500 -+@@ -30,6 +30,8 @@ -+ * - gtkdoc -+ * 4/12/10 -+ * - attach the jpeg thumbnail and multiscan fields (thanks Mike) -++ * 20/4/2011 -++ * - added im_bufjpeg2vips() -+ */ -+ -+ /* -+@@ -683,7 +685,7 @@ -+ fail_on_warn = TRUE; -+ } -+ -+- /* Make jpeg compression object. -++ /* Make jpeg dcompression object. -+ */ -+ cinfo.err = jpeg_std_error( &eman.pub ); -+ eman.pub.error_exit = new_error_exit; -+@@ -737,6 +739,227 @@ -+ return( result ); -+ } -+ -++/* Just like the above, but we read from a memory buffer. -++ */ -++typedef struct { -++ /* Public jpeg fields. -++ */ -++ struct jpeg_source_mgr pub; -++ -++ /* Private stuff during read. -++ */ -++ gboolean start_of_file; /* have we gotten any data yet? */ -++ JOCTET *buf; -++ size_t len; -++} InputBuffer; -++ -++/* -++ * Initialize source --- called by jpeg_read_header -++ * before any data is actually read. -++ */ -++ -++static void -++init_source (j_decompress_ptr cinfo) -++{ -++ InputBuffer *src = (InputBuffer *) cinfo->src; -++ -++ /* We reset the empty-input-file flag for each image, -++ * but we don't clear the input buffer. -++ * This is correct behavior for reading a series of images from one source. -++ */ -++ src->start_of_file = TRUE; -++} -++ -++/* -++ * Fill the input buffer --- called whenever buffer is emptied. -++ * -++ * In typical applications, this should read fresh data into the buffer -++ * (ignoring the current state of next_input_byte & bytes_in_buffer), -++ * reset the pointer & count to the start of the buffer, and return TRUE -++ * indicating that the buffer has been reloaded. It is not necessary to -++ * fill the buffer entirely, only to obtain at least one more byte. -++ * -++ * There is no such thing as an EOF return. If the end of the file has been -++ * reached, the routine has a choice of ERREXIT() or inserting fake data into -++ * the buffer. In most cases, generating a warning message and inserting a -++ * fake EOI marker is the best course of action --- this will allow the -++ * decompressor to output however much of the image is there. However, -++ * the resulting error message is misleading if the real problem is an empty -++ * input file, so we handle that case specially. -++ * -++ * In applications that need to be able to suspend compression due to input -++ * not being available yet, a FALSE return indicates that no more data can be -++ * obtained right now, but more may be forthcoming later. In this situation, -++ * the decompressor will return to its caller (with an indication of the -++ * number of scanlines it has read, if any). The application should resume -++ * decompression after it has loaded more data into the input buffer. Note -++ * that there are substantial restrictions on the use of suspension --- see -++ * the documentation. -++ * -++ * When suspending, the decompressor will back up to a convenient restart point -++ * (typically the start of the current MCU). next_input_byte & bytes_in_buffer -++ * indicate where the restart point will be if the current call returns FALSE. -++ * Data beyond this point must be rescanned after resumption, so move it to -++ * the front of the buffer rather than discarding it. -++ */ -++ -++static boolean -++fill_input_buffer (j_decompress_ptr cinfo) -++{ -++ InputBuffer *src = (InputBuffer *) cinfo->src; -++ size_t nbytes; -++ -++ if (src->start_of_file) { -++ nbytes = src->len; -++ } -++ else { -++ WARNMS(cinfo, JWRN_JPEG_EOF); -++ /* Insert a fake EOI marker */ -++ src->buf[0] = (JOCTET) 0xFF; -++ src->buf[1] = (JOCTET) JPEG_EOI; -++ nbytes = 2; -++ } -++ -++ src->pub.next_input_byte = src->buf; -++ src->pub.bytes_in_buffer = nbytes; -++ src->start_of_file = FALSE; -++ -++ return TRUE; -++} -++ -++/* -++ * Skip data --- used to skip over a potentially large amount of -++ * uninteresting data (such as an APPn marker). -++ * -++ * Writers of suspendable-input applications must note that skip_input_data -++ * is not granted the right to give a suspension return. If the skip extends -++ * beyond the data currently in the buffer, the buffer can be marked empty so -++ * that the next read will cause a fill_input_buffer call that can suspend. -++ * Arranging for additional bytes to be discarded before reloading the input -++ * buffer is the application writer's problem. -++ */ -++ -++static void -++skip_input_data (j_decompress_ptr cinfo, long num_bytes) -++{ -++ InputBuffer *src = (InputBuffer *) cinfo->src; -++ -++ /* Just skip fwd. -++ */ -++ if (num_bytes > 0) { -++ src->pub.next_input_byte += (size_t) num_bytes; -++ src->pub.bytes_in_buffer -= (size_t) num_bytes; -++ } -++} -++ -++/* -++ * An additional method that can be provided by data source modules is the -++ * resync_to_restart method for error recovery in the presence of RST markers. -++ * For the moment, this source module just uses the default resync method -++ * provided by the JPEG library. That method assumes that no backtracking -++ * is possible. -++ */ -++ -++/* -++ * Terminate source --- called by jpeg_finish_decompress -++ * after all data has been read. Often a no-op. -++ * -++ * NB: *not* called by jpeg_abort or jpeg_destroy; surrounding -++ * application must deal with any cleanup that should happen even -++ * for error exit. -++ */ -++ -++static void -++term_source (j_decompress_ptr cinfo) -++{ -++ /* no work necessary here */ -++} -++ -++/* -++ * Prepare for input from a memory buffer. The caller needs to free the -++ * buffer after decompress is done, we don't take ownership. -++ */ -++ -++static void -++buf_source (j_decompress_ptr cinfo, void *buf, size_t len) -++{ -++ InputBuffer *src; -++ -++ /* The source object and input buffer are made permanent so that a series -++ * of JPEG images can be read from the same file by calling jpeg_stdio_src -++ * only before the first one. (If we discarded the buffer at the end of -++ * one image, we'd likely lose the start of the next one.) -++ * This makes it unsafe to use this manager and a different source -++ * manager serially with the same JPEG object. Caveat programmer. -++ */ -++ if (cinfo->src == NULL) { /* first time for this JPEG object? */ -++ cinfo->src = (struct jpeg_source_mgr *) -++ (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, -++ sizeof(InputBuffer)); -++ src = (InputBuffer *) cinfo->src; -++ src->buf = buf; -++ src->len = len; -++ } -++ -++ src = (InputBuffer *) cinfo->src; -++ src->pub.init_source = init_source; -++ src->pub.fill_input_buffer = fill_input_buffer; -++ src->pub.skip_input_data = skip_input_data; -++ src->pub.resync_to_restart = jpeg_resync_to_restart; /* use default method */ -++ src->pub.term_source = term_source; -++ src->pub.bytes_in_buffer = 0; /* forces fill_input_buffer on first read */ -++ src->pub.next_input_byte = NULL; /* until buffer loaded */ -++} -++ -++/* Read a JPEG memory buffer into a VIPS image. -++ */ -++static int -++bufjpeg2vips( void *buf, size_t len, IMAGE *out ) -++{ -++ char *p, *q; -++ struct jpeg_decompress_struct cinfo; -++ ErrorManager eman; -++ int result; -++ gboolean invert_pels; -++ gboolean header_only = FALSE; -++ -++ /* Make jpeg dcompression object. -++ */ -++ cinfo.err = jpeg_std_error( &eman.pub ); -++ eman.pub.error_exit = new_error_exit; -++ eman.pub.output_message = new_output_message; -++ eman.fp = NULL; -++ if( setjmp( eman.jmp ) ) { -++ /* Here for longjmp() from new_error_exit(). -++ */ -++ jpeg_destroy_decompress( &cinfo ); -++ -++ return( -1 ); -++ } -++ jpeg_create_decompress( &cinfo ); -++ -++ /* Make input. -++ */ -++ buf_source( &cinfo, buf, len ); -++ -++ /* Need to read in APP1 (EXIF metadata) and APP2 (ICC profile). -++ */ -++ jpeg_save_markers( &cinfo, JPEG_APP0 + 1, 0xffff ); -++ jpeg_save_markers( &cinfo, JPEG_APP0 + 2, 0xffff ); -++ -++ /* Convert! -++ */ -++ result = read_jpeg_header( &cinfo, out, &invert_pels, 1 ); -++ if( !header_only && !result ) -++ result = read_jpeg_image( &cinfo, out, invert_pels ); -++ -++ /* Close and tidy. -++ */ -++ jpeg_destroy_decompress( &cinfo ); -++ -++ return( result ); -++} -++ -+ /** -+ * im_jpeg2vips: -+ * @filename: file to load -+@@ -803,6 +1026,27 @@ -+ return( jpeg2vips( filename, out, FALSE ) ); -+ } -+ -++/** -++ * im_bufjpeg2vips: -++ * @buf: memory area to load -++ * @len: size of memory area -++ * @out: image to write -++ * -++ * Read a JPEG-formatted memory block into a VIPS image. It can read most -++ * 8-bit JPEG images, including CMYK and YCbCr. -++ * -++ * This function is handy for processing JPEG image thumbnails. -++ * -++ * See also: #VipsFormat, im_jpeg2vips(). -++ * -++ * Returns: 0 on success, -1 on error. -++ */ -++int -++im_bufjpeg2vips( void *buf, size_t len, IMAGE *out ) -++{ -++ return( bufjpeg2vips( buf, len, out ) ); -++} -++ -+ static int -+ isjpeg( const char *filename ) -+ { -+diff -u --recursive vips-7.24.5-vanilla/libvips/include/vips/format.h vips-7.24.5/libvips/include/vips/format.h -+--- vips-7.24.5-vanilla/libvips/include/vips/format.h 2011-07-04 09:23:04.643721945 -0500 -++++ vips-7.24.5/libvips/include/vips/format.h 2011-07-04 09:26:21.870724494 -0500 -+@@ -122,6 +122,7 @@ -+ /* Low-level read/write operations. -+ */ -+ int im_jpeg2vips( const char *filename, IMAGE *out ); -++int im_bufjpeg2vips( void *buf, size_t len, IMAGE *out ); -+ int im_vips2jpeg( IMAGE *in, const char *filename ); -+ int im_vips2mimejpeg( IMAGE *in, int qfac ); -+ int im_vips2bufjpeg( IMAGE *in, IMAGE *out, int qfac, char **obuf, int *olen ); diff --git a/libs/vips/patches/002-no_fits.patch b/libs/vips/patches/002-no_fits.patch deleted file mode 100644 index 00e8f2de50..0000000000 --- a/libs/vips/patches/002-no_fits.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff -u --recursive vips-7.26.1-vanilla/libvips/format/fits.c vips-7.26.1/libvips/format/fits.c ---- vips-7.26.1-vanilla/libvips/format/fits.c 2011-08-10 21:31:05.971950126 -0500 -+++ vips-7.26.1/libvips/format/fits.c 2011-08-10 22:12:08.478853668 -0500 -@@ -56,8 +56,6 @@ - #endif /*HAVE_CONFIG_H*/ - #include - --#ifdef HAVE_CFITSIO -- - #include - #include - #include -@@ -67,6 +65,18 @@ - #include - #include - -+#ifndef HAVE_CFITSIO -+ -+int -+im_fits2vips( const char *filename, IMAGE *im ) -+{ -+ im_error( "im_fits2vips", "%s", -+ _( "FITS support disabled" ) ); -+ return( -1 ); -+} -+ -+#else /* HAVE_CFITSIO */ -+ - #include - - #ifdef WITH_DMALLOC -- 2.30.2