[arch-commits] Commit in xaos/repos (5 files)

Ionut Biru ibiru at archlinux.org
Mon Jan 30 18:51:35 UTC 2012


    Date: Monday, January 30, 2012 @ 13:51:35
  Author: ibiru
Revision: 148346

db-move: moved xaos from [staging] to [testing] (i686)

Added:
  xaos/repos/testing-i686/
  xaos/repos/testing-i686/PKGBUILD
    (from rev 148047, xaos/repos/staging-i686/PKGBUILD)
  xaos/repos/testing-i686/xaos-3.5-libpng15.patch
    (from rev 148047, xaos/repos/staging-i686/xaos-3.5-libpng15.patch)
  xaos/repos/testing-i686/xaos.install
    (from rev 148047, xaos/repos/staging-i686/xaos.install)
Deleted:
  xaos/repos/staging-i686/

-------------------------+
 PKGBUILD                |   28 +++++++++
 xaos-3.5-libpng15.patch |  131 ++++++++++++++++++++++++++++++++++++++++++++++
 xaos.install            |   20 +++++++
 3 files changed, 179 insertions(+)

Copied: xaos/repos/testing-i686/PKGBUILD (from rev 148047, xaos/repos/staging-i686/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2012-01-30 18:51:35 UTC (rev 148346)
@@ -0,0 +1,28 @@
+# $Id$
+# Maintainer: Eric Bélanger <eric at archlinux.org>
+
+pkgname=xaos
+pkgver=3.5
+pkgrel=5
+pkgdesc="A fast portable real-time interactive fractal zoomer"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/xaos/"
+license=('GPL')
+depends=('gsl' 'libpng' 'aalib')
+options=('!makeflags')
+install=xaos.install
+source=(http://downloads.sourceforge.net/sourceforge/xaos/${pkgname}-${pkgver}.tar.gz xaos-3.5-libpng15.patch)
+sha1sums=('6d16a58187fba7276e6bd0547cc2fd6bb073b801'
+          '6c51cb2ee1c5f28973680ffc3a040c2cea65fd33')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  patch -p0 -i ../xaos-3.5-libpng15.patch
+  ./configure --prefix=/usr --with-gsl --with-aa-driver
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+}

Copied: xaos/repos/testing-i686/xaos-3.5-libpng15.patch (from rev 148047, xaos/repos/staging-i686/xaos-3.5-libpng15.patch)
===================================================================
--- testing-i686/xaos-3.5-libpng15.patch	                        (rev 0)
+++ testing-i686/xaos-3.5-libpng15.patch	2012-01-30 18:51:35 UTC (rev 148346)
@@ -0,0 +1,131 @@
+http://code.google.com/p/gnuxaos/issues/detail?id=55
+
+--- src/util/png.c
++++ src/util/png.c
+@@ -3,6 +3,7 @@
+ #include <aconfig.h>
+ #ifdef USE_PNG
+ #include <png.h>
++#include <zlib.h>
+ #endif
+ #include <stdlib.h>
+ #include <stdio.h>
+@@ -31,6 +32,9 @@
+     png_structp png_ptr;
+     png_infop info_ptr;
+     png_color palette[256];
++    png_color_8 sig_bit;
++    int color_type;
++    int bit_depth;
+     volatile unsigned short a = 255;
+     volatile unsigned char *b = (volatile unsigned char *) &a;
+ #ifdef _undefined_
+@@ -59,7 +63,7 @@
+ 	png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
+ 	return "No memory to create png info structure";
+     }
+-    if (setjmp(png_ptr->jmpbuf)) {
++    if (setjmp(png_jmpbuf(png_ptr))) {
+ 	png_destroy_write_struct(&png_ptr, &info_ptr);
+ 	fclose(file);
+ 	return strerror(errno);
+@@ -78,57 +82,70 @@
+     png_set_compression_window_bits(png_ptr, 15);
+     png_set_compression_method(png_ptr, 8);
+ 
+-    info_ptr->width = image->width;
+-    info_ptr->height = image->height;
+-    /*info_ptr->gamma=1.0; */
+-    info_ptr->gamma = 0.5;
+-    info_ptr->valid |= PNG_INFO_gAMA | PNG_INFO_pHYs;
+-    info_ptr->x_pixels_per_unit = (png_uint_32) (100 / image->pixelwidth);
+-    info_ptr->y_pixels_per_unit = (png_uint_32) (100 / image->pixelheight);
++    switch (image->palette->type)
++    {
++    case C256:
++	color_type = PNG_COLOR_TYPE_PALETTE;
++	bit_depth = image->bytesperpixel * 8;
++	break;
++    case SMALLITER:
++    case LARGEITER:
++    case GRAYSCALE:
++	color_type = PNG_COLOR_TYPE_GRAY;
++	bit_depth = image->bytesperpixel * 8;
++	break;
++    case TRUECOLOR:
++    case TRUECOLOR24:
++    case TRUECOLOR16:
++	color_type = PNG_COLOR_TYPE_RGB;
++	bit_depth = 8;
++	break;
++    }
+ 
++    png_set_IHDR (png_ptr, info_ptr, image->width, image->height, bit_depth,
++		  color_type, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_BASE,
++		  PNG_FILTER_TYPE_BASE);
+ 
+     switch (image->palette->type) {
+     case C256:
+ 	{
+ 	    int i;
+-	    info_ptr->color_type = PNG_COLOR_TYPE_PALETTE;
+-	    info_ptr->bit_depth = image->bytesperpixel * 8;
+-	    info_ptr->palette = palette;
+-	    info_ptr->valid |= PNG_INFO_PLTE;
++	    png_color png_palette[257];
++	    int png_num_palette;
+ 	    for (i = 0; i < image->palette->end; i++)
+-		info_ptr->palette[i].red = image->palette->rgb[i][0],
+-		    info_ptr->palette[i].green = image->palette->rgb[i][1],
+-		    info_ptr->palette[i].blue = image->palette->rgb[i][2],
+-		    info_ptr->num_palette = image->palette->end;
++		png_palette[i].red = image->palette->rgb[i][0],
++		    png_palette[i].green = image->palette->rgb[i][1],
++		    png_palette[i].blue = image->palette->rgb[i][2],
++		    png_num_palette = image->palette->end;
++	    png_set_PLTE(png_ptr, info_ptr, png_palette, png_num_palette);
+ 	}
+ 	break;
+-    case SMALLITER:
+-    case LARGEITER:
+-    case GRAYSCALE:
+-	info_ptr->color_type = PNG_COLOR_TYPE_GRAY;
+-	info_ptr->bit_depth = image->bytesperpixel * 8;
+-	break;
+     case TRUECOLOR:
+     case TRUECOLOR24:
+     case TRUECOLOR16:
+-	info_ptr->color_type = PNG_COLOR_TYPE_RGB;
+-	info_ptr->bit_depth = 8;
+-	info_ptr->sig_bit.red = 8 - image->palette->info.truec.rprec;
+-	info_ptr->sig_bit.green = 8 - image->palette->info.truec.gprec;
+-	info_ptr->sig_bit.blue = 8 - image->palette->info.truec.bprec;
++	sig_bit.red = 8 - image->palette->info.truec.rprec;
++	sig_bit.green = 8 - image->palette->info.truec.gprec;
++	sig_bit.blue = 8 - image->palette->info.truec.bprec;
++	png_set_sBIT(png_ptr, info_ptr, &sig_bit);
+ 	break;
+     }
+-    info_ptr->interlace_type = 0;
++
++    png_write_info (png_ptr, info_ptr);
++
+ #ifdef _undefined_
+     png_set_text(png_ptr, info_ptr, comments,
+ 		 sizeof(comments) / sizeof(png_text));
+ #endif
+ 
+-    png_write_info(png_ptr, info_ptr);
++    png_set_gAMA(png_ptr, info_ptr, 0.5 /* 1.0 */);
++    png_set_pHYs(png_ptr, info_ptr, (png_uint_32) (100 / image->pixelwidth),
++		 (png_uint_32) (100 / image->pixelheight),
++		 PNG_RESOLUTION_UNKNOWN);
++
+     /*png_set_filler(png_ptr,0,PNG_FILLER_AFTER); */
+     png_set_packing(png_ptr);
+     if (image->palette->type & (TRUECOLOR | TRUECOLOR24 | TRUECOLOR16))
+-	png_set_shift(png_ptr, &(info_ptr->sig_bit));
++	png_set_shift (png_ptr, &sig_bit);
+     if (*b == 255)
+ 	png_set_swap(png_ptr);
+     png_set_bgr(png_ptr);

Copied: xaos/repos/testing-i686/xaos.install (from rev 148047, xaos/repos/staging-i686/xaos.install)
===================================================================
--- testing-i686/xaos.install	                        (rev 0)
+++ testing-i686/xaos.install	2012-01-30 18:51:35 UTC (rev 148346)
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(xaos.info.gz)
+
+post_install() {
+  [ -x usr/bin/install-info ] || return 0
+  for file in ${filelist[@]}; do
+    install-info $infodir/$file $infodir/dir 2> /dev/null
+  done
+}
+
+post_upgrade() {
+  post_install $1
+}
+
+pre_remove() {
+  [ -x usr/bin/install-info ] || return 0
+  for file in ${filelist[@]}; do
+    install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+  done
+}




More information about the arch-commits mailing list