diff options
author | Michał Masłowski <mtjm@mtjm.eu> | 2012-02-07 15:10:29 +0100 |
---|---|---|
committer | Michał Masłowski <mtjm@mtjm.eu> | 2012-02-07 15:10:29 +0100 |
commit | 4c4400925b792b694511bbbf2f645fb34495d5cf (patch) | |
tree | 86a3b3c62e75fdf9c536306d195bbbcbc7ac974c /community/libharu | |
parent | 08adec2ac14efea1ef452e79ff86f024b9becaf3 (diff) | |
parent | 1fa6edfba8d1e31ca1c0d59e8202cd3c62ccf393 (diff) |
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts:
community/bwbar/PKGBUILD
community/directfb/PKGBUILD
community/extremetuxracer/PKGBUILD
community/freedroidrpg/PKGBUILD
community/gnash/PKGBUILD
community/guake/PKGBUILD
community/pidgin-libnotify/PKGBUILD
community/png2ico/PKGBUILD
community/ruby-gtk2/PKGBUILD
community/torcs/PKGBUILD
community/virtualbox/PKGBUILD
extra/abiword/PKGBUILD
extra/alsaplayer/PKGBUILD
extra/automoc4/PKGBUILD
extra/cagibi/PKGBUILD
extra/fltk/PKGBUILD
extra/gnome-desktop2/PKGBUILD
extra/gnome-python/PKGBUILD
extra/gnome-sharp/PKGBUILD
extra/gnugo/PKGBUILD
extra/gstreamer0.10-good/PKGBUILD
extra/gtk2/PKGBUILD
extra/gtkmm/PKGBUILD
extra/imlib2/PKGBUILD
extra/koffice/PKGBUILD
extra/lcms/PKGBUILD
extra/libao/PKGBUILD
extra/libcue/PKGBUILD
extra/libdaemon/PKGBUILD
extra/libgnome-media-profiles/PKGBUILD
extra/libotf/PKGBUILD
extra/libotr/PKGBUILD
extra/libots/PKGBUILD
extra/libreoffice/PKGBUILD
extra/libtiff/PKGBUILD
extra/libwebkit/PKGBUILD
extra/libwmf/PKGBUILD
extra/libxfcegui4/PKGBUILD
extra/mjpegtools/PKGBUILD
extra/netpbm/PKGBUILD
extra/php/PKGBUILD
extra/plotutils/PKGBUILD
extra/poppler/PKGBUILD
extra/qrencode/PKGBUILD
extra/qt/PKGBUILD
extra/qtiplot/PKGBUILD
extra/rssh/PKGBUILD
extra/scim-chewing/PKGBUILD
extra/scim-m17n/PKGBUILD
extra/scim-pinyin/PKGBUILD
extra/scim-tables/PKGBUILD
extra/scim-uim/PKGBUILD
extra/tsocks/PKGBUILD
extra/vigra/PKGBUILD
extra/w3m/PKGBUILD
extra/wv/PKGBUILD
extra/xclip/PKGBUILD
extra/xfce4-datetime-plugin/PKGBUILD
extra/xfce4-notes-plugin/PKGBUILD
extra/xfce4-quicklauncher-plugin/PKGBUILD
extra/xfce4-sensors-plugin/PKGBUILD
extra/xorg-font-util/PKGBUILD
extra/xorg-setxkbmap/PKGBUILD
extra/xorg-xev/PKGBUILD
extra/xsane/PKGBUILD
extra/yakuake/PKGBUILD
extra/zvbi/PKGBUILD
multilib/lib32-cairo/PKGBUILD
multilib/lib32-gdk-pixbuf2/PKGBUILD
multilib/lib32-libcanberra/PKGBUILD
multilib/lib32-libcups/PKGBUILD
multilib/lib32-libglade/PKGBUILD
multilib/lib32-libpng/PKGBUILD
multilib/lib32-libtiff/PKGBUILD
multilib/lib32-pango/PKGBUILD
multilib/lib32-qt/PKGBUILD
multilib/lib32-sdl_image/PKGBUILD
multilib/wine/PKGBUILD
testing/vlc/PKGBUILD
testing/xulrunner/PKGBUILD
Diffstat (limited to 'community/libharu')
-rw-r--r-- | community/libharu/PKGBUILD | 11 | ||||
-rw-r--r-- | community/libharu/libpng15.patch | 302 |
2 files changed, 309 insertions, 4 deletions
diff --git a/community/libharu/PKGBUILD b/community/libharu/PKGBUILD index fb1a48645..75928feae 100644 --- a/community/libharu/PKGBUILD +++ b/community/libharu/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 51967 2011-07-18 20:03:48Z spupykin $ +# $Id: PKGBUILD 63644 2012-02-05 12:03:04Z ibiru $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer : SpepS <dreamspepser at yahoo dot it> # Contributor: Auguste <auguste@gmail.com> @@ -6,18 +6,21 @@ pkgname=libharu pkgver=2.2.1 -pkgrel=1 +pkgrel=2 pkgdesc="C/C++ library for generating PDF documents" url="http://libharu.org/wiki/Main_Page" arch=('i686' 'x86_64' 'mips64el') license=('custom:ZLIB') depends=('libpng' 'gcc-libs') options=(!libtool) -source=("http://libharu.org/files/$pkgname-$pkgver.tar.gz") -md5sums=('63da8e087744f1d6cf16f9501b1cb766') +source=("http://libharu.org/files/$pkgname-$pkgver.tar.gz" + libpng15.patch) +md5sums=('63da8e087744f1d6cf16f9501b1cb766' + '3793dd30017474bcd277af3b419bc0f6') build() { cd "$srcdir/$pkgname-$pkgver" + patch -p1 <$srcdir/libpng15.patch ./configure --prefix=/usr make } diff --git a/community/libharu/libpng15.patch b/community/libharu/libpng15.patch new file mode 100644 index 000000000..05a8d39fc --- /dev/null +++ b/community/libharu/libpng15.patch @@ -0,0 +1,302 @@ +diff -wbBur libharu-2.2.1/src/hpdf_image_png.c libharu-2.2.1.my/src/hpdf_image_png.c +--- libharu-2.2.1/src/hpdf_image_png.c 2010-02-08 12:27:51.000000000 +0300 ++++ libharu-2.2.1.my/src/hpdf_image_png.c 2012-01-23 12:53:05.000000000 +0400 +@@ -110,13 +110,13 @@ + { + png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr); + png_bytep* row_pointers = HPDF_GetMem (image->mmgr, +- info_ptr->height * sizeof (png_bytep)); ++ png_image_height(png_ptr, info_ptr) * sizeof (png_bytep)); + + if (row_pointers) { + HPDF_UINT i; + +- HPDF_MemSet (row_pointers, 0, info_ptr->height * sizeof (png_bytep)); +- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) { ++ HPDF_MemSet (row_pointers, 0, png_image_height(png_ptr, info_ptr) * sizeof (png_bytep)); ++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) { + row_pointers[i] = HPDF_GetMem (image->mmgr, len); + + if (image->error->error_no != HPDF_OK) +@@ -126,7 +126,7 @@ + if (image->error->error_no == HPDF_OK) { + png_read_image(png_ptr, row_pointers); + if (image->error->error_no == HPDF_OK) { /* add this line */ +- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) { ++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) { + if (HPDF_Stream_Write (image->stream, row_pointers[i], len) != + HPDF_OK) + break; +@@ -135,7 +135,7 @@ + } + + /* clean up */ +- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) { ++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) { + HPDF_FreeMem (image->mmgr, row_pointers[i]); + } + +@@ -156,7 +156,7 @@ + if (buf_ptr) { + HPDF_UINT i; + +- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) { ++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) { + png_read_rows(png_ptr, (png_byte**)&buf_ptr, NULL, 1); + if (image->error->error_no != HPDF_OK) + break; +@@ -183,13 +183,13 @@ + HPDF_UINT i, j; + png_bytep *row_ptr; + +- row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * sizeof(png_bytep)); ++ row_ptr = HPDF_GetMem (image->mmgr, png_image_height(png_ptr, info_ptr) * sizeof(png_bytep)); + if (!row_ptr) { + return HPDF_FAILD_TO_ALLOC_MEM; + } else { + png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr); + +- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) { ++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) { + row_ptr[i] = HPDF_GetMem(image->mmgr, len); + if (!row_ptr[i]) { + for (; i >= 0; i--) { +@@ -207,19 +207,19 @@ + goto Error; + } + +- for (j = 0; j < info_ptr->height; j++) { +- for (i = 0; i < info_ptr->width; i++) { +- smask_data[info_ptr->width * j + i] = (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF; ++ for (j = 0; j < png_image_height(png_ptr, info_ptr); j++) { ++ for (i = 0; i < png_image_width(png_ptr, info_ptr); i++) { ++ smask_data[png_image_width(png_ptr, info_ptr) * j + i] = (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF; + } + +- if (HPDF_Stream_Write (image->stream, row_ptr[j], info_ptr->width) != HPDF_OK) { ++ if (HPDF_Stream_Write (image->stream, row_ptr[j], png_image_width(png_ptr, info_ptr)) != HPDF_OK) { + ret = HPDF_FILE_IO_ERROR; + goto Error; + } + } + + Error: +- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) { ++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) { + HPDF_FreeMem (image->mmgr, row_ptr[i]); + } + +@@ -245,13 +245,13 @@ + return HPDF_INVALID_PNG_IMAGE; + } + +- row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height * sizeof(png_bytep)); ++ row_ptr = HPDF_GetMem (image->mmgr, png_image_height(png_ptr, info_ptr) * sizeof(png_bytep)); + if (!row_ptr) { + return HPDF_FAILD_TO_ALLOC_MEM; + } else { + png_uint_32 len = png_get_rowbytes(png_ptr, info_ptr); + +- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) { ++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) { + row_ptr[i] = HPDF_GetMem(image->mmgr, len); + if (!row_ptr[i]) { + for (; i >= 0; i--) { +@@ -271,12 +271,12 @@ + + switch (color_type) { + case PNG_COLOR_TYPE_RGB_ALPHA: +- row_len = 3 * info_ptr->width * sizeof(png_byte); +- for (j = 0; j < info_ptr->height; j++) { +- for (i = 0; i < info_ptr->width; i++) { ++ row_len = 3 * png_image_width(png_ptr, info_ptr) * sizeof(png_byte); ++ for (j = 0; j < png_image_height(png_ptr, info_ptr); j++) { ++ for (i = 0; i < png_image_width(png_ptr, info_ptr); i++) { + row = row_ptr[j]; + memmove(row + (3 * i), row + (4*i), 3); +- smask_data[info_ptr->width * j + i] = row[4 * i + 3]; ++ smask_data[png_image_width(png_ptr, info_ptr) * j + i] = row[4 * i + 3]; + } + + if (HPDF_Stream_Write (image->stream, row, row_len) != HPDF_OK) { +@@ -286,12 +286,12 @@ + } + break; + case PNG_COLOR_TYPE_GRAY_ALPHA: +- row_len = info_ptr->width * sizeof(png_byte); +- for (j = 0; j < info_ptr->height; j++) { +- for (i = 0; i < info_ptr->width; i++) { ++ row_len = png_image_width(png_ptr, info_ptr) * sizeof(png_byte); ++ for (j = 0; j < png_image_height(png_ptr, info_ptr); j++) { ++ for (i = 0; i < png_image_width(png_ptr, info_ptr); i++) { + row = row_ptr[j]; + row[i] = row[2 * i]; +- smask_data[info_ptr->width * j + i] = row[2 * i + 1]; ++ smask_data[png_image_width(png_ptr, info_ptr) * j + i] = row[2 * i + 1]; + } + + if (HPDF_Stream_Write (image->stream, row, row_len) != HPDF_OK) { +@@ -306,7 +306,7 @@ + } + + Error: +- for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) { ++ for (i = 0; i < (HPDF_UINT)png_image_height(png_ptr, info_ptr); i++) { + HPDF_FreeMem (image->mmgr, row_ptr[i]); + } + +@@ -448,7 +448,7 @@ + } + + /* 16bit images are not supported. */ +- if (info_ptr->bit_depth == 16) { ++ if (png_get_bit_depth(png_ptr, info_ptr) == 16) { + png_set_strip_16(png_ptr); + } + +@@ -458,7 +458,7 @@ + } + + /* check palette-based images for transparent areas and load them immediately if found */ +- if (xref && PNG_COLOR_TYPE_PALETTE & info_ptr->color_type) { ++ if (xref && PNG_COLOR_TYPE_PALETTE & png_get_color_type(png_ptr, info_ptr)) { + png_bytep trans; + int num_trans; + HPDF_Dict smask; +@@ -478,10 +478,10 @@ + smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT; + ret = HPDF_Dict_AddName (smask, "Type", "XObject"); + ret += HPDF_Dict_AddName (smask, "Subtype", "Image"); +- ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)info_ptr->width); +- ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)info_ptr->height); ++ ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)png_image_width(png_ptr, info_ptr)); ++ ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)png_image_height(png_ptr, info_ptr)); + ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray"); +- ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth); ++ ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr)); + + if (ret != HPDF_OK) { + HPDF_Dict_Free(smask); +@@ -489,7 +489,7 @@ + goto Exit; + } + +- smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * info_ptr->height); ++ smask_data = HPDF_GetMem(image->mmgr, png_image_width(png_ptr, info_ptr) * png_image_height(png_ptr, info_ptr)); + if (!smask_data) { + HPDF_Dict_Free(smask); + ret = HPDF_FAILD_TO_ALLOC_MEM; +@@ -503,7 +503,7 @@ + goto Exit; + } + +- if (HPDF_Stream_Write(smask->stream, smask_data, info_ptr->width * info_ptr->height) != HPDF_OK) { ++ if (HPDF_Stream_Write(smask->stream, smask_data, png_image_width(png_ptr, info_ptr) * png_image_height(png_ptr, info_ptr)) != HPDF_OK) { + HPDF_FreeMem(image->mmgr, smask_data); + HPDF_Dict_Free(smask); + ret = HPDF_FILE_IO_ERROR; +@@ -513,9 +513,9 @@ + + + ret += CreatePallet(image, png_ptr, info_ptr); +- ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width); +- ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height); +- ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth); ++ ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_image_width(png_ptr, info_ptr)); ++ ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_image_height(png_ptr, info_ptr)); ++ ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr)); + ret += HPDF_Dict_Add (image, "SMask", smask); + + png_destroy_read_struct(&png_ptr, &info_ptr, NULL); +@@ -526,7 +526,7 @@ + + /* read images with alpha channel right away + we have to do this because image transparent mask must be added to the Xref */ +- if (xref && PNG_COLOR_MASK_ALPHA & info_ptr->color_type) { ++ if (xref && PNG_COLOR_MASK_ALPHA & png_get_color_type(png_ptr, info_ptr)) { + HPDF_Dict smask; + png_bytep smask_data; + +@@ -539,10 +539,10 @@ + smask->header.obj_class |= HPDF_OSUBCLASS_XOBJECT; + ret = HPDF_Dict_AddName (smask, "Type", "XObject"); + ret += HPDF_Dict_AddName (smask, "Subtype", "Image"); +- ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)info_ptr->width); +- ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)info_ptr->height); ++ ret += HPDF_Dict_AddNumber (smask, "Width", (HPDF_UINT)png_image_width(png_ptr, info_ptr)); ++ ret += HPDF_Dict_AddNumber (smask, "Height", (HPDF_UINT)png_image_height(png_ptr, info_ptr)); + ret += HPDF_Dict_AddName (smask, "ColorSpace", "DeviceGray"); +- ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth); ++ ret += HPDF_Dict_AddNumber (smask, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr)); + + if (ret != HPDF_OK) { + HPDF_Dict_Free(smask); +@@ -550,7 +550,7 @@ + goto Exit; + } + +- smask_data = HPDF_GetMem(image->mmgr, info_ptr->width * info_ptr->height); ++ smask_data = HPDF_GetMem(image->mmgr, png_image_width(png_ptr, info_ptr) * png_image_height(png_ptr, info_ptr)); + if (!smask_data) { + HPDF_Dict_Free(smask); + ret = HPDF_FAILD_TO_ALLOC_MEM; +@@ -564,7 +564,7 @@ + goto Exit; + } + +- if (HPDF_Stream_Write(smask->stream, smask_data, info_ptr->width * info_ptr->height) != HPDF_OK) { ++ if (HPDF_Stream_Write(smask->stream, smask_data, png_image_width(png_ptr, info_ptr) * png_image_height(png_ptr, info_ptr)) != HPDF_OK) { + HPDF_FreeMem(image->mmgr, smask_data); + HPDF_Dict_Free(smask); + ret = HPDF_FILE_IO_ERROR; +@@ -572,14 +572,14 @@ + } + HPDF_FreeMem(image->mmgr, smask_data); + +- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) { ++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) { + ret += HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray"); + } else { + ret += HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB"); + } +- ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width); +- ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height); +- ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)info_ptr->bit_depth); ++ ret += HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_image_width(png_ptr, info_ptr)); ++ ret += HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_image_height(png_ptr, info_ptr)); ++ ret += HPDF_Dict_AddNumber (image, "BitsPerComponent", (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr)); + ret += HPDF_Dict_Add (image, "SMask", smask); + + png_destroy_read_struct(&png_ptr, &info_ptr, NULL); +@@ -589,9 +589,9 @@ + /* if the image has color palette, copy the pallet of the image to + * create color map. + */ +- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) ++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) + ret = CreatePallet(image, png_ptr, info_ptr); +- else if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY) ++ else if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY) + ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceGray"); + else + ret = HPDF_Dict_AddName (image, "ColorSpace", "DeviceRGB"); +@@ -617,16 +617,16 @@ + } + + /* setting the info of the image. */ +- if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)info_ptr->width) ++ if (HPDF_Dict_AddNumber (image, "Width", (HPDF_UINT)png_image_width(png_ptr, info_ptr)) + != HPDF_OK) + goto Exit; + +- if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)info_ptr->height) ++ if (HPDF_Dict_AddNumber (image, "Height", (HPDF_UINT)png_image_height(png_ptr, info_ptr)) + != HPDF_OK) + goto Exit; + + if (HPDF_Dict_AddNumber (image, "BitsPerComponent", +- (HPDF_UINT)info_ptr->bit_depth) != HPDF_OK) ++ (HPDF_UINT)png_get_bit_depth(png_ptr, info_ptr)) != HPDF_OK) + goto Exit; + + /* clean up */ |