diff options
author | Lukáš Jirkovský | 2017-06-25 20:41:16 +0200 |
---|---|---|
committer | Lukáš Jirkovský | 2017-06-25 20:41:16 +0200 |
commit | 5e6ea24f49123fefe547dd1551ab19fee3e93cd6 (patch) | |
tree | 1f630fc06e923d4afeb8fd85798d5c24d738d757 | |
download | aur-5e6ea24f49123fefe547dd1551ab19fee3e93cd6.tar.gz |
move gimp-plugin-mathmap to AUR
-rw-r--r-- | .SRCINFO | 34 | ||||
-rw-r--r-- | PKGBUILD | 50 | ||||
-rw-r--r-- | fix_libnoise_build.patch | 12 | ||||
-rw-r--r-- | flexible_array_member.diff | 37 | ||||
-rw-r--r-- | giflib-5.1.patch | 21 | ||||
-rw-r--r-- | libpng15.patch | 170 | ||||
-rw-r--r-- | mathmap-gsl2.patch | 11 |
7 files changed, 335 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..cef4e43ab3fb --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,34 @@ +# Generated by mksrcinfo v8 +# Sun Jun 25 18:41:16 UTC 2017 +pkgbase = gimp-plugin-mathmap + pkgdesc = A GIMP plug-in which allows distortion of images specified by mathematical formulae + pkgver = 1.3.5 + pkgrel = 8 + url = http://www.complang.tuwien.ac.at/schani/mathmap/ + arch = i686 + arch = x86_64 + license = GPL + makedepends = doxygen + makedepends = unzip + depends = gimp + depends = gsl + depends = gtksourceview2 + depends = fftw + depends = giflib + provides = gimp-mathmap + replaces = gimp-mathmap + source = https://www.complang.tuwien.ac.at/schani/mathmap/files/mathmap-1.3.5.tar.gz + source = fix_libnoise_build.patch + source = libpng15.patch + source = giflib-5.1.patch + source = mathmap-gsl2.patch + source = flexible_array_member.diff + md5sums = 6ff66d070ea410dee1a27283d05b8beb + md5sums = eca40de0ba0e6b8d34b7d1f904bc3d18 + md5sums = 9780d6354b7380b772c4616253ecee54 + md5sums = a4dae904ede98ee8d3104bcfd285cec5 + md5sums = 34350e9d8edc451926298919a9300990 + md5sums = 769f284e7c0388f11849509487f5275f + +pkgname = gimp-plugin-mathmap + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..3cdc35c61c67 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,50 @@ +# $Id: PKGBUILD 195253 2016-11-09 21:24:04Z stativ $ +# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com> +# Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org> +# Contributor: Serge Gielkens <gielkens.serge@mumeli.org> +pkgname=gimp-plugin-mathmap +pkgver=1.3.5 +pkgrel=8 +pkgdesc="A GIMP plug-in which allows distortion of images specified by mathematical formulae" +arch=('i686' 'x86_64') +url="http://www.complang.tuwien.ac.at/schani/mathmap/" +license=('GPL') +depends=('gimp' 'gsl' 'gtksourceview2' 'fftw' 'giflib') +makedepends=('doxygen' 'unzip') +provides=('gimp-mathmap') +replaces=('gimp-mathmap') +source=(https://www.complang.tuwien.ac.at/schani/mathmap/files/mathmap-${pkgver}.tar.gz + fix_libnoise_build.patch libpng15.patch giflib-5.1.patch mathmap-gsl2.patch + flexible_array_member.diff) +md5sums=('6ff66d070ea410dee1a27283d05b8beb' + 'eca40de0ba0e6b8d34b7d1f904bc3d18' + '9780d6354b7380b772c4616253ecee54' + 'a4dae904ede98ee8d3104bcfd285cec5' + '34350e9d8edc451926298919a9300990' + '769f284e7c0388f11849509487f5275f') + +prepare() { + cd "$srcdir/mathmap-$pkgver" + + # fix problem with building libnoise + patch -Np1 < "$srcdir"/fix_libnoise_build.patch + # fix for libpng 1.5 + patch -Np1 < "$srcdir"/libpng15.patch + # fix for giflib 5.1 + patch -Np1 < "$srcdir"/giflib-5.1.patch + # fix build with GSL 2 + patch -Np1 -i "$srcdir"/mathmap-gsl2.patch + # fix build, GCC doesn't like flexible array members in unions + patch -Np1 -i "$srcdir"/flexible_array_member.diff +} + +build() { + cd "$srcdir/mathmap-$pkgver" + + make +} + +package() { + cd "$srcdir/mathmap-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/fix_libnoise_build.patch b/fix_libnoise_build.patch new file mode 100644 index 000000000000..fc81ba0d8904 --- /dev/null +++ b/fix_libnoise_build.patch @@ -0,0 +1,12 @@ +diff -rup mathmap-1.3.5/Makefile mathmap-1.3.5-fix//Makefile +--- mathmap-1.3.5/Makefile 2009-08-23 13:56:14.000000000 +0200 ++++ mathmap-1.3.5-fix//Makefile 2010-11-11 16:48:13.308941852 +0100 +@@ -178,7 +178,7 @@ backends/lazy_creator.o : backends/lazy_ + $(CXX) $(MATHMAP_CXXFLAGS) $(FORMATDEFS) -o $@ -c backends/lazy_creator.cpp + + builtins/libnoise.o : builtins/libnoise.cpp builtins/libnoise.h +- $(CXX) $(MATHMAP_CXXFLAGS) -Ilibnoise/noise/include -o $@ -c builtins/libnoise.cpp ++ $(CXX) $(MATHMAP_CXXFLAGS) -Ilibnoise/noise/include -Ilibnoise/noise/src -o $@ -c builtins/libnoise.cpp + + new_builtins.c opdefs.h opfuncs.h compiler_types.h llvm-ops.h : builtins.lisp ops.lisp + clisp builtins.lisp diff --git a/flexible_array_member.diff b/flexible_array_member.diff new file mode 100644 index 000000000000..119b589892cb --- /dev/null +++ b/flexible_array_member.diff @@ -0,0 +1,37 @@ +diff -rup mathmap-1.3.5/drawable.h mathmap-1.3.5.new/drawable.h +--- mathmap-1.3.5/drawable.h 2009-08-23 13:56:14.000000000 +0200 ++++ mathmap-1.3.5.new/drawable.h 2016-11-09 22:15:44.264585707 +0100 +@@ -98,16 +98,6 @@ typedef struct _image_t + { + struct _input_drawable_t *drawable; + struct { +- /* for rendering */ +- struct _mathfuncs_t *funcs; +- /* for getting single pixels - never called for the root closure */ +- filter_func_t func; +- mathmap_pools_t *pools; +- void *xy_vars; +- int num_args; +- userval_t args[]; +- } closure; +- struct { + float ax; + float bx; + float ay; +@@ -119,6 +109,16 @@ typedef struct _image_t + float x_factor; + float y_factor; + } resize; ++ struct { ++ /* for rendering */ ++ struct _mathfuncs_t *funcs; ++ /* for getting single pixels - never called for the root closure */ ++ filter_func_t func; ++ mathmap_pools_t *pools; ++ void *xy_vars; ++ int num_args; ++ userval_t args[]; ++ } closure; + } v; + } image_t; + /* END */ diff --git a/giflib-5.1.patch b/giflib-5.1.patch new file mode 100644 index 000000000000..22b75145abe1 --- /dev/null +++ b/giflib-5.1.patch @@ -0,0 +1,21 @@ +diff -rup mathmap-1.3.5/rwimg/rwgif.c mathmap-1.3.5.new/rwimg/rwgif.c +--- mathmap-1.3.5/rwimg/rwgif.c 2009-08-23 13:56:14.000000000 +0200 ++++ mathmap-1.3.5.new/rwimg/rwgif.c 2014-05-29 11:31:51.388388393 +0200 +@@ -54,7 +54,7 @@ open_gif_file (const char *filename, int + + assert(data != 0); + +- data->file = DGifOpenFileName(filename); ++ data->file = DGifOpenFileName(filename, NULL); + + assert(data->file !=0); + +@@ -137,7 +137,7 @@ open_gif_file (const char *filename, int + } + free(buffer); + +- assert(DGifCloseFile(data->file) == GIF_OK); ++ assert(DGifCloseFile(data->file, NULL) == GIF_OK); + + return data; + } diff --git a/libpng15.patch b/libpng15.patch new file mode 100644 index 000000000000..3cf95387c18e --- /dev/null +++ b/libpng15.patch @@ -0,0 +1,170 @@ +diff -rup mathmap-1.3.5/rwimg/rwpng.c mathmap-1.3.5.new/rwimg/rwpng.c +--- mathmap-1.3.5/rwimg/rwpng.c 2009-08-23 13:56:14.000000000 +0200 ++++ mathmap-1.3.5.new/rwimg/rwpng.c 2012-01-27 13:02:29.708023734 +0100 +@@ -58,34 +58,34 @@ open_png_file_reading (const char *filen + data->end_info = png_create_info_struct(data->png_ptr); + assert(data->end_info != 0); + +- if (setjmp(data->png_ptr->jmpbuf)) ++ if (setjmp(png_jmpbuf(data->png_ptr))) + assert(0); + + png_init_io(data->png_ptr, data->file); + + png_read_info(data->png_ptr, data->info_ptr); + +- *width = data->info_ptr->width; +- *height = data->info_ptr->height; ++ *width = png_get_image_width(data->png_ptr, data->info_ptr); ++ *height = png_get_image_height(data->png_ptr, data->info_ptr); + +- if (data->info_ptr->bit_depth != 8 && data->info_ptr->bit_depth != 16) ++ if (png_get_bit_depth(data->png_ptr, data->info_ptr) != 8 && png_get_bit_depth(data->png_ptr, data->info_ptr) != 16) + { + fprintf(stderr, "PNG files are only supported with bit depths 8 and 16.\n"); + /* FIXME: free stuff */ + return 0; + } + +- if (data->info_ptr->color_type != PNG_COLOR_TYPE_RGB +- && data->info_ptr->color_type != PNG_COLOR_TYPE_RGB_ALPHA +- && data->info_ptr->color_type != PNG_COLOR_TYPE_GRAY +- && data->info_ptr->color_type != PNG_COLOR_TYPE_GRAY_ALPHA) ++ if (png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_RGB ++ && png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_RGB_ALPHA ++ && png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_GRAY ++ && png_get_color_type(data->png_ptr, data->info_ptr) != PNG_COLOR_TYPE_GRAY_ALPHA) + { + fprintf(stderr, "PNG files are only supported in RGB and Gray, with or without alpha.\n"); + /* FIXME: free stuff */ + return 0; + } + +- if (data->info_ptr->interlace_type != PNG_INTERLACE_NONE) ++ if (png_get_interlace_type(data->png_ptr, data->info_ptr) != PNG_INTERLACE_NONE) + { + fprintf(stderr, "Interlaced PNG files are not supported.\n"); + /* FIXME: free stuff */ +@@ -105,24 +105,24 @@ png_read_lines (void *_data, unsigned ch + int bps, spp; + unsigned char *row; + +- if (setjmp(data->png_ptr->jmpbuf)) ++ if (setjmp(png_jmpbuf(data->png_ptr))) + assert(0); + +- if (data->info_ptr->color_type == PNG_COLOR_TYPE_GRAY) ++ if (png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_GRAY) + spp = 1; +- else if (data->info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) ++ else if (png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) + spp = 2; +- else if (data->info_ptr->color_type == PNG_COLOR_TYPE_RGB) ++ else if (png_get_color_type(data->png_ptr, data->info_ptr) == PNG_COLOR_TYPE_RGB) + spp = 3; + else + spp = 4; + +- if (data->info_ptr->bit_depth == 16) ++ if (png_get_bit_depth(data->png_ptr, data->info_ptr) == 16) + bps = 2; + else + bps = 1; + +- row = (unsigned char*)malloc(data->info_ptr->width * spp * bps); ++ row = (unsigned char*)malloc(png_get_image_width(data->png_ptr, data->info_ptr) * spp * bps); + + for (i = 0; i < num_lines; ++i) + { +@@ -131,13 +131,13 @@ png_read_lines (void *_data, unsigned ch + png_read_row(data->png_ptr, (png_bytep)row, 0); + + if (spp <= 2) +- for (j = 0; j < data->info_ptr->width; ++j) ++ for (j = 0; j < png_get_image_width(data->png_ptr, data->info_ptr); ++j) + for (channel = 0; channel < 3; ++channel) +- lines[i * data->info_ptr->width * 3 + j * 3 + channel] = row[j * spp * bps]; ++ lines[i * png_get_image_width(data->png_ptr, data->info_ptr) * 3 + j * 3 + channel] = row[j * spp * bps]; + else +- for (j = 0; j < data->info_ptr->width; ++j) ++ for (j = 0; j < png_get_image_width(data->png_ptr, data->info_ptr); ++j) + for (channel = 0; channel < 3; ++channel) +- lines[i * data->info_ptr->width * 3 + j * 3 + channel] ++ lines[i * png_get_image_width(data->png_ptr, data->info_ptr) * 3 + j * 3 + channel] + = row[j * spp * bps + channel * bps]; + } + +@@ -151,7 +151,7 @@ png_free_reader_data (void *_data) + { + png_data_t *data = (png_data_t*)_data; + +- if (setjmp(data->png_ptr->jmpbuf)) ++ if (setjmp(png_jmpbuf(data->png_ptr))) + assert(0); + + if (data->have_read) +@@ -180,7 +180,7 @@ open_png_file_writing (const char *filen + data->info_ptr = png_create_info_struct(data->png_ptr); + assert(data->info_ptr != 0); + +- if (setjmp(data->png_ptr->jmpbuf)) ++ if (setjmp(png_jmpbuf(data->png_ptr))) + assert(0); + + if (pixel_stride == 4) +@@ -188,18 +188,9 @@ open_png_file_writing (const char *filen + + png_init_io(data->png_ptr, data->file); + +- data->info_ptr->width = width; +- data->info_ptr->height = height; +- data->info_ptr->valid = 0; +- data->info_ptr->rowbytes = width * 3; +- data->info_ptr->palette = 0; +- data->info_ptr->num_palette = 0; +- data->info_ptr->num_trans = 0; +- data->info_ptr->bit_depth = 8; +- data->info_ptr->color_type = PNG_COLOR_TYPE_RGB; +- data->info_ptr->compression_type = PNG_COMPRESSION_TYPE_DEFAULT; +- data->info_ptr->filter_type = PNG_FILTER_TYPE_DEFAULT; +- data->info_ptr->interlace_type = PNG_INTERLACE_NONE; ++ png_set_IHDR(data->png_ptr, data->info_ptr, width, height, ++ 8, PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE, ++ PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); + + png_write_info(data->png_ptr, data->info_ptr); + +@@ -216,12 +207,12 @@ png_write_lines (void *_data, unsigned c + unsigned char *packed_line; + int i; + +- if (setjmp(data->png_ptr->jmpbuf)) ++ if (setjmp(png_jmpbuf(data->png_ptr))) + assert(0); + + if (data->pixel_stride != 3) + { +- packed_line = (unsigned char*)malloc(data->info_ptr->width * 3); ++ packed_line = (unsigned char*)malloc(png_get_image_width(data->png_ptr, data->info_ptr) * 3); + assert(packed_line != 0); + } + else +@@ -235,7 +226,7 @@ png_write_lines (void *_data, unsigned c + { + int j; + +- for (j = 0; j < data->info_ptr->width; ++j) ++ for (j = 0; j < png_get_image_width(data->png_ptr, data->info_ptr); ++j) + { + packed_line[j * 3 + 0] = p[j * data->pixel_stride + 0]; + packed_line[j * 3 + 1] = p[j * data->pixel_stride + 1]; +@@ -257,7 +248,7 @@ png_free_writer_data (void *_data) + { + png_data_t *data = (png_data_t*)_data; + +- if (setjmp(data->png_ptr->jmpbuf)) ++ if (setjmp(png_jmpbuf(data->png_ptr))) + assert(0); + + png_write_end(data->png_ptr, data->info_ptr); +Only in mathmap-1.3.5.new/rwimg: rwpng.c.orig diff --git a/mathmap-gsl2.patch b/mathmap-gsl2.patch new file mode 100644 index 000000000000..83bcf7561c62 --- /dev/null +++ b/mathmap-gsl2.patch @@ -0,0 +1,11 @@ +--- mathmap-1.3.5/opmacros.h.orig 2016-02-21 10:14:31.347636550 +0000 ++++ mathmap-1.3.5/opmacros.h 2016-02-21 10:15:03.544184507 +0000 +@@ -103,7 +103,7 @@ + #define ELL_INT_F(phi,k) gsl_sf_ellint_F((phi), (k), GSL_PREC_SINGLE) + #define ELL_INT_E(phi,k) gsl_sf_ellint_E((phi), (k), GSL_PREC_SINGLE) + #define ELL_INT_P(phi,k,n) gsl_sf_ellint_P((phi), (k), (n), GSL_PREC_SINGLE) +-#define ELL_INT_D(phi,k,n) gsl_sf_ellint_D((phi), (k), (n), GSL_PREC_SINGLE) ++#define ELL_INT_D(phi,k,n) gsl_sf_ellint_D((phi), (k), GSL_PREC_SINGLE) + + #define ELL_INT_RC(x,y) gsl_sf_ellint_RC((x), (y), GSL_PREC_SINGLE) + #define ELL_INT_RD(x,y,z) gsl_sf_ellint_RD((x), (y), (z), GSL_PREC_SINGLE) |