diff options
Diffstat (limited to 'community/qpxtool')
-rw-r--r-- | community/qpxtool/PKGBUILD | 35 | ||||
-rw-r--r-- | community/qpxtool/libpng15.patch | 127 |
2 files changed, 162 insertions, 0 deletions
diff --git a/community/qpxtool/PKGBUILD b/community/qpxtool/PKGBUILD new file mode 100644 index 000000000..a3d0b2f9f --- /dev/null +++ b/community/qpxtool/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 91840 2013-05-28 17:05:29Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Krzysztof Stasiorowski <krzysiekst@gmail.com> + +pkgname=qpxtool +pkgver=0.7.2 +pkgrel=4 +pkgdesc="Allows better controll over optical drives to include QChecks and optimization settings." +arch=('i686' 'x86_64') +url="http://qpxtool.sourceforge.net/" +license=('GPL') +depends=('qt4') +source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2 + libpng15.patch) +md5sums=('b1235e74b8ef4fe087a6b64f5cfca14a' + 'ab9af7610277652c77c6d114422b2266') + +build() { + cd $srcdir/$pkgname-$pkgver + # Fix strict aliasing warnings + export CFLAGS="$CFLAGS -fno-strict-aliasing" + sed -i \ + -e 's|lib64|lib|' \ + -e 's|lrelease|lrelease-qt4|' \ + configure + patch -p1 <$srcdir/libpng15.patch + ./configure --prefix=/usr --sbindir=/usr/bin + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + mkdir -p $pkgdir/usr/bin + make DESTDIR=$pkgdir install +} diff --git a/community/qpxtool/libpng15.patch b/community/qpxtool/libpng15.patch new file mode 100644 index 000000000..05e6f49d2 --- /dev/null +++ b/community/qpxtool/libpng15.patch @@ -0,0 +1,127 @@ +diff -wbBur qpxtool-0.7.1_002/console/f1tattoo/f1tattoo.cpp qpxtool-0.7.1_002.my/console/f1tattoo/f1tattoo.cpp +--- qpxtool-0.7.1_002/console/f1tattoo/f1tattoo.cpp 2009-11-25 10:55:44.000000000 +0300 ++++ qpxtool-0.7.1_002.my/console/f1tattoo/f1tattoo.cpp 2012-01-23 13:53:37.000000000 +0400 +@@ -129,28 +129,28 @@ + + png_read_info(png_ptr, info_ptr); + +- printf("Image size: %ld x %ld\n", info_ptr->width, info_ptr->height); ++ printf("Image size: %u x %u\n", png_get_image_width(png_ptr, info_ptr), png_get_image_height(png_ptr, info_ptr)); + +- if (info_ptr->width != 3744U || info_ptr->height != rows ) { ++ if (png_get_image_width(png_ptr, info_ptr) != 3744U || png_get_image_height(png_ptr, info_ptr) != rows ) { + printf("Image should be 3744 x %d", rows); + return 1; + } + +-// width = info_ptr->width; +-// height = info_ptr->height; +-// bit_depth = info_ptr->bit_depth; ++// width = png_get_image_width(png_ptr, info_ptr); ++// height = png_get_image_height(png_ptr, info_ptr); ++// bit_depth = png_get_bit_depth(png_ptr, info_ptr); + + number_of_passes = png_set_interlace_handling(png_ptr); + png_read_update_info(png_ptr, info_ptr); + +- printf("Color type: [%d] ", info_ptr->color_type); +- switch (info_ptr->color_type) { ++ printf("Color type: [%d] ", png_get_color_type(png_ptr, info_ptr)); ++ switch (png_get_color_type(png_ptr, info_ptr)) { + case PNG_COLOR_TYPE_GRAY: + printf("PNG_COLOR_TYPE_GRAY\n"); + break; + case PNG_COLOR_TYPE_PALETTE: + printf("PNG_COLOR_TYPE_PALETTE\n"); +- if (!(info_ptr->valid & PNG_INFO_PLTE)) { ++ if (!(png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE))) { + printf("PNG color type is indexed, but no palette found!"); + goto err_read_png; + } +@@ -168,49 +168,53 @@ + printf("unlnown PNG color type!\n"); + goto err_read_png; + } +- printf("Bit depth : %d\n", info_ptr->bit_depth); +- if (info_ptr->bit_depth != 8) { ++ printf("Bit depth : %d\n", png_get_bit_depth(png_ptr, info_ptr)); ++ if (png_get_bit_depth(png_ptr, info_ptr) != 8) { + printf("Unsupported bit depth!\n"); + goto err_read_png; + } +- if (info_ptr->valid & PNG_INFO_PLTE) { +- printf("Palette : %d colors\n", info_ptr->num_palette); ++ ++ int num_palette; ++ png_colorp plte; ++ png_get_PLTE(png_ptr, info_ptr, &plte, &num_palette); ++ ++ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE)) { ++ printf("Palette : %d colors\n", num_palette); + } else { + printf("Palette : NO\n"); + } +- printf("ROW bytes : %ld\n", info_ptr->rowbytes); +- ++ printf("ROW bytes : %d\n", png_get_rowbytes(png_ptr, info_ptr)); + + raw_row_pointer = buf; +- png_row_pointer = (png_byte*) malloc(info_ptr->rowbytes); ++ png_row_pointer = (png_byte*) malloc(png_get_rowbytes(png_ptr, info_ptr)); + for (row=0; row<rows; row++) { + if (setjmp(png_jmpbuf(png_ptr))) { + printf("png_jmpbuf failed!\n"); + goto err_read_png; + } + png_read_row(png_ptr, png_row_pointer, NULL); +- if (info_ptr->width < 3744U) ++ if (png_get_image_width(png_ptr, info_ptr) < 3744U) + memset(raw_row_pointer, 0, 3744); + +- switch (info_ptr->color_type) { ++ switch (png_get_color_type(png_ptr, info_ptr)) { + case PNG_COLOR_TYPE_GRAY: +- for (col=0; col<info_ptr->width; col++) { ++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) { + raw_row_pointer[col] = png_row_pointer[col] ^ 0xFF; + // memcpy(raw_row_pointer, png_row_pointer, 3744); + } + break; + case PNG_COLOR_TYPE_PALETTE: +- for (col=0; col<info_ptr->width; col++) { ++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) { + c = png_row_pointer[col]; +- r = info_ptr->palette[c].red; +- g = info_ptr->palette[c].green; +- b = info_ptr->palette[c].blue; ++ r = plte[c].red; ++ g = plte[c].green; ++ b = plte[c].blue; + c = (r*11 + g*16 + b*5) / 32; + raw_row_pointer[col] = c ^ 0xFF; + } + break; + case PNG_COLOR_TYPE_RGB: +- for (col=0; col<info_ptr->width; col++) { ++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) { + r = png_row_pointer[col*3]; + g = png_row_pointer[col*3+1]; + b = png_row_pointer[col*3+2]; +@@ -219,7 +223,7 @@ + } + break; + case PNG_COLOR_TYPE_RGB_ALPHA: +- for (col=0; col<info_ptr->width; col++) { ++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) { + r = png_row_pointer[col*4]; + g = png_row_pointer[col*4+1]; + b = png_row_pointer[col*4+2]; +@@ -228,7 +232,7 @@ + } + break; + case PNG_COLOR_TYPE_GRAY_ALPHA: +- for (col=0; col<info_ptr->width; col++) { ++ for (col=0; col<png_get_image_width(png_ptr, info_ptr); col++) { + raw_row_pointer[col] = png_row_pointer[col*2] ^ 0xFF; + } + break; |