Accepting request 225522 from home:garloff:Photography

Submit gmic package to openSUSE:Factory via the graphics Devel package.
Sidenote: While I will continue to build the full gmic binary in my home:garloff:Photography 
project (and use MMX,SSE on i386) for continuity reasons, I follow upstream to only build 
gmic the float type for openSUSE submission, covering probably 99% of the use cases ...
This is controlled by a %define in the specfile, so I can keep the packages in sync otherwise
at least for the time being.

OBS-URL: https://build.opensuse.org/request/show/225522
OBS-URL: https://build.opensuse.org/package/show/graphics/gmic?expand=0&rev=1
This commit is contained in:
Adrian Schröter 2014-03-11 05:52:11 +00:00 committed by Git OBS Bridge
commit 8ba574cff5
20 changed files with 1230 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

9
_constraints Normal file
View File

@ -0,0 +1,9 @@
<!-- We build well with 2 CPUs/1.5GB, 3CPUs/2GB, 4CPUs/2.5GB-->
<constraints>
<hardware>
<physicalmemory>
<size unit="M">1920</size>
</physicalmemory>
<processors>3</processors>
</hardware>
</constraints>

134
gmic-cflags.diff Normal file
View File

@ -0,0 +1,134 @@
Index: gmic-1.5.8.4/src/Makefile
===================================================================
--- gmic-1.5.8.4.orig/src/Makefile
+++ gmic-1.5.8.4/src/Makefile
@@ -75,10 +75,10 @@ endif
# Flags to enable 'beta' version.
IS_BETA_CFLAGS =
# Flags that are mandatory to compile 'gmic'.
-MANDATORY_CFLAGS += -Dgmic_build -I$(USR)/include
-MANDATORY_LDFLAGS += -L$(USR)/lib
+MANDATORY_CFLAGS += $(CFLAGS) -Dgmic_build -I$(USR)/include
+MANDATORY_LDFLAGS += -L$(USR)/$(LIB)
ifeq ($(CC),g++)
MANDATORY_CFLAGS += -Wall -W
MANDATORY_LDFLAGS += -lm
endif
@@ -94,9 +94,9 @@ endif
DEBUG_CFLAGS = -Dcimg_verbosity=3 -g
# Flags to enable optimizations.
ifeq ($(CC),g++)
-OPT_CFLAGS = -O3 -mtune=generic # -fno-tree-pre # -ffast-math
+OPT_CFLAGS = -O3 # -mtune=generic # -fno-tree-pre # -ffast-math
endif
ifeq ($(CC),clang++)
OPT_CFLAGS = -O1
endif
@@ -121,15 +121,15 @@ endif
# (keep /usr/ dirname here since X11 is located in /usr/ on Mac too).
# This requires the presence of the X11 include and library files.
# (package 'libx11-dev' on Debian).
X11_CFLAGS = -Dcimg_display=1 -Dcimg_appname=\\\"gmic\\\" -I/usr/X11R6/include #-Dcimg_use_xrandr
-X11_LDFLAGS = -L/usr/X11R6/lib -lX11 -lpthread #-lXrandr
+X11_LDFLAGS = -L/usr/X11R6/$(LIB) -lX11 -lpthread #-lXrandr
# Flags to enable fast display, using XShm.
# This requires the presence of the X11 extension include and library files.
# (package 'libx11-dev' on Debian).
XSHM_CFLAGS = -Dcimg_use_xshm
-XSHM_LDFLAGS = -L$(USR)/X11R6/lib -lXext
+XSHM_LDFLAGS = -L$(USR)/X11R6/$(LIB) -lXext
# Flags to enable image display, using GDI32.
# This requires the presence of the GDI32 include and library files.
GDI32_CFLAGS = -Dcimg_display=2 -Dcimg_appname=\\\"gmic\\\"
@@ -232,9 +232,9 @@ MINIMAL_UNIX_CFLAGS = $(MANDATORY_CFLAGS
MINIMAL_UNIX_LDFLAGS = $(MANDATORY_LDFLAGS) $(PARALLEL_LDFLAGS) $(X11_LDFLAGS) \
${TIFF_LDFLAGS} ${PNG_LDFLAGS} $(ZLIB_LDFLAGS) $(FFTW_LDFLAGS) # $(OPENCV_LDFLAGS)
# Unix : Static build.
-STATIC_PATH = /usr/lib/
+STATIC_PATH = /usr/$(LIB)/
STATIC_EXTRA =
STATIC_UNIX_CFLAGS = $(MANDATORY_CFLAGS) $(CHECKIMAGE_CFLAGS) $(PARALLEL_CFLAGS) $(PNG_CFLAGS) $(JPEG_CFLAGS) $(TIFF_CFLAGS) $(ZLIB_CFLAGS) $(FFTW_CFLAGS) -Dcimg_display=0
STATIC_UNIX_LDFLAGS = $(PARALLEL_LDFLAGS) \
$(STATIC_PATH)/libpng.a \
@@ -279,9 +279,9 @@ STD_LIB_CFLAGS = $(MANDATORY_CFLAGS) $(C
STD_LIB_LDFLAGS = $(MANDATORY_LDFLAGS) $(PARALLEL_LDFLAGS) $(FFTW_LDFLAGS)
# GMICol : Standard build.
GMICOL_UNIX_CFLAGS = $(MANDATORY_CFLAGS) $(CHECKIMAGE_CFLAGS) $(PARALLEL_CFLAGS) $(PNG_CFLAGS) $(JPEG_CFLAGS) $(ZLIB_CFLAGS) $(FFTW_CFLAGS) -Dcimg_display=0
-GMICOL_UNIX_LDFLAGS = $(MANDATORY_LDFLAGS) $(PARALLEL_LDFLAGS) $(PNG_LDFLAGS) $(JPEG_LDFLAGS) $(ZLIB_LDFLAGS) /usr/lib/x86_64-linux-gnu/libfftw3.a /usr/lib/x86_64-linux-gnu/libfftw3_threads.a
+GMICOL_UNIX_LDFLAGS = $(MANDATORY_LDFLAGS) $(PARALLEL_LDFLAGS) $(PNG_LDFLAGS) $(JPEG_LDFLAGS) $(ZLIB_LDFLAGS) /usr/$(LIB)/libfftw3.a /usr/$(LIB)/libfftw3_threads.a
#--------------------------
# Define Makefile entries.
#--------------------------
@@ -307,9 +307,9 @@ else
endif
endif
gimp:
- $(MAKE) "CFLAGS=$(STD_GIMP_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS+=$(STD_GIMP_LDFLAGS) $(OPT_LDFLAGS)" "STRIP_EXE=1" gmic_gimp
+ $(MAKE) "CFLAGS=$(STD_GIMP_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS+=$(STD_GIMP_LDFLAGS) $(OPT_LDFLAGS)" gmic_gimp
lib:
$(MAKE) "CFLAGS=$(STD_LIB_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS+=$(STD_LIB_LDFLAGS) $(OPT_LDFLAGS)" gmic_lib
@@ -330,15 +330,15 @@ static:
minimal:
$(MAKE) "CFLAGS+=$(MINIMAL_UNIX_CFLAGS)" "LDFLAGS+=$(MINIMAL_UNIX_LDFLAGS)" gmic_cli_standard
linux:
- $(MAKE) "CFLAGS=$(STD_UNIX_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS=$(STD_UNIX_LDFLAGS)" "STRIP_EXE=1" gmic_cli_standard
+ $(MAKE) "CFLAGS=$(STD_UNIX_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS=$(STD_UNIX_LDFLAGS)" gmic_cli_standard
linux_alltypes:
- $(MAKE) "CFLAGS=$(STD_UNIX_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS=$(STD_UNIX_LDFLAGS)" "STRIP_EXE=1" gmic_cli_alltypes
+ $(MAKE) "CFLAGS=$(STD_UNIX_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS=$(STD_UNIX_LDFLAGS)" gmic_cli_alltypes
custom:
- $(MAKE) "CFLAGS=$(CUST_UNIX_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS=$(CUST_UNIX_LDFLAGS)" "STRIP_EXE=1" gmic_cli_alltypes
+ $(MAKE) "CFLAGS=$(CUST_UNIX_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS=$(CUST_UNIX_LDFLAGS)" gmic_cli_alltypes
solaris:
$(MAKE) "CFLAGS=$(STD_UNIX_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS=$(STD_UNIX_LDFLAGS) -R$(USR)/X11R6/lib -lrt -lnsl -lsocket" "STRIP_EXE=1" gmic_cli_standard
@@ -415,13 +415,13 @@ install:
ifneq ($(OS),Darwin)
mkdir -p $(DESTDIR)$(USR)/share
# mkdir -p $(DESTDIR)$(USR)/share/zart
# cp -f ../zart/zart $(DESTDIR)$(USR)/bin/zart
- mkdir -p $(DESTDIR)$(USR)/lib
- cp -f libgmic.so $(DESTDIR)$(USR)/lib/libgmic.so.1.5.8
- ln -s libgmic.so.1.5.8 $(DESTDIR)$(USR)/lib/libgmic.so.1
-# ln -s libgmic.so.1.5.8 $(DESTDIR)$(USR)/lib/libgmic.so.1
- ln -s libgmic.so.1 $(DESTDIR)$(USR)/lib/libgmic.so
+ mkdir -p $(DESTDIR)$(USR)/$(LIB)
+ cp -f libgmic.so $(DESTDIR)$(USR)/$(LIB)/libgmic.so.1.5.8
+ ln -s libgmic.so.1.5.8 $(DESTDIR)$(USR)/$(LIB)/libgmic.so.1
+# ln -s libgmic.so.1.5.8 $(DESTDIR)$(USR)/$(LIB)/libgmic.so.1
+ ln -s libgmic.so.1 $(DESTDIR)$(USR)/$(LIB)/libgmic.so
endif
mkdir -p $(DESTDIR)$(USR)/share/man/
mkdir -p $(DESTDIR)$(USR)/share/man/man1/
mkdir -p $(DESTDIR)$(USR)/share/man/fr/man1/
@@ -432,12 +432,12 @@ endif
uninstall:
rm -f $(DESTDIR)$(USR)/bin/gmic
rm -f $(DESTDIR)$(USR)/include/gmic.h
- rm -f $(DESTDIR)$(USR)/lib/libgmic.so.1.5.8
-# rm -f $(DESTDIR)$(USR)/lib/libgmic.so.1.5
- rm -f $(DESTDIR)$(USR)/lib/libgmic.so.1
- rm -f $(DESTDIR)$(USR)/lib/libgmic.so
+ rm -f $(DESTDIR)$(USR)/$(LIB)/libgmic.so.1.5.8
+# rm -f $(DESTDIR)$(USR)/$(LIB)/libgmic.so.1.5
+ rm -f $(DESTDIR)$(USR)/$(LIB)/libgmic.so.1
+ rm -f $(DESTDIR)$(USR)/$(LIB)/libgmic.so
rm -rf $(DESTDIR)$(USR)/share/doc/gmic/
rm -f $(DESTDIR)$(USR)/share/man/man1/gmic.1.gz
rm -f $(DESTDIR)$(USR)/share/man/fr/man1/gmic.1.gz
# rm -f $(DESTDIR)$(USR)/bin/zart

26
gmic-docdir.diff Normal file
View File

@ -0,0 +1,26 @@
Index: gmic-1.5.8.4/src/Makefile
===================================================================
--- gmic-1.5.8.4.orig/src/Makefile
+++ gmic-1.5.8.4/src/Makefile
@@ -67,8 +67,10 @@ endif
ifeq ($(OSTYPE),msys)
EXE = .exe
endif
+DOCDIR = $(USR)/share/doc
+
#------------------------------------------------
# Set compilation flags for build customization.
#------------------------------------------------
@@ -436,9 +438,9 @@ uninstall:
rm -f $(DESTDIR)$(USR)/$(LIB)/libgmic.so.1.5.8
# rm -f $(DESTDIR)$(USR)/$(LIB)/libgmic.so.1.5
rm -f $(DESTDIR)$(USR)/$(LIB)/libgmic.so.1
rm -f $(DESTDIR)$(USR)/$(LIB)/libgmic.so
- rm -rf $(DESTDIR)$(USR)/share/doc/gmic/
+ rm -rf $(DESTDIR)$(DOCDIR)/gmic/
rm -f $(DESTDIR)$(USR)/share/man/man1/gmic.1.gz
rm -f $(DESTDIR)$(USR)/share/man/fr/man1/gmic.1.gz
# rm -f $(DESTDIR)$(USR)/bin/zart
# rm -rf $(DESTDIR)$(USR)/share/zart/

20
gmic-magick.diff Normal file
View File

@ -0,0 +1,20 @@
Index: gmic-1.5.5.2/src/Makefile
===================================================================
--- gmic-1.5.5.2.orig/src/Makefile
+++ gmic-1.5.5.2/src/Makefile
@@ -204,13 +204,13 @@ BOARD_LDFLAGS = -lboard
# Sets of flags for building different configurations.
STD_UNIX_CFLAGS = $(MANDATORY_CFLAGS) $(X11_CFLAGS) $(XSHM_CFLAGS) $(PNG_CFLAGS) \
$(JPEG_CFLAGS) $(TIFF_CFLAGS) $(ZLIB_CFLAGS) \
$(EXR_CFLAGS) $(FFTW_CFLAGS) $(OPENMP_CFLAGS) \
- $(OPENCV_CFLAGS) # $(FFMPEG_CFLAGS) # $(XSHM_CFLAGS) # $(MAGICK_CFLAGS)
+ $(OPENCV_CFLAGS) $(MAGICK_CFLAGS) # $(FFMPEG_CFLAGS) # $(XSHM_CFLAGS)
STD_UNIX_LDFLAGS = $(MANDATORY_LDFLAGS) $(X11_LDFLAGS) $(XSHM_LDFLAGS) $(PNG_LDFLAGS) \
$(JPEG_LDFLAGS) $(TIFF_LDFLAGS) $(ZLIB_LDFLAGS) \
$(EXR_LDFLAGS) $(FFTW_LDFLAGS) $(OPENMP_LDFLAGS) \
- $(OPENCV_LDFLAGS) # $(FFMPEG_LDFLAGS) # $(XSHM_LDFLAGS) # $(MAGICK_LDFLAGS)
+ $(OPENCV_LDFLAGS) $(MAGICK_LDFLAGS) # $(FFMPEG_LDFLAGS) # $(XSHM_LDFLAGS)
CUST_UNIX_CFLAGS = $(MANDATORY_CFLAGS) $(X11_CFLAGS) $(XSHM_CFLAGS) $(PNG_CFLAGS) \
$(JPEG_CFLAGS) $(TIFF_CFLAGS) $(ZLIB_CFLAGS) \
$(FFTW_CFLAGS) $(EXR_CFLAGS) $(FFMPEG_CFLAGS) # $(MAGICK_CFLAGS) $(BOARD_CFLAGS) $(MINC2_CFLAGS) $(OPENCV_CFLAGS)

28
gmic-make-zart.diff Normal file
View File

@ -0,0 +1,28 @@
Index: gmic-1.5.8.4/src/Makefile
===================================================================
--- gmic-1.5.8.4.orig/src/Makefile
+++ gmic-1.5.8.4/src/Makefile
@@ -422,10 +422,8 @@ install:
mkdir -p $(DESTDIR)$(USR)/include/
cp -f gmic.h $(DESTDIR)$(USR)/include/
ifneq ($(OS),Darwin)
mkdir -p $(DESTDIR)$(USR)/share
-# mkdir -p $(DESTDIR)$(USR)/share/zart
-# cp -f ../zart/zart $(DESTDIR)$(USR)/bin/zart
mkdir -p $(DESTDIR)$(USR)/$(LIB)
cp -f libgmic.so $(DESTDIR)$(USR)/$(LIB)/libgmic.so.1.5.8
ln -s libgmic.so.1.5.8 $(DESTDIR)$(USR)/$(LIB)/libgmic.so.1
# ln -s libgmic.so.1.5.8 $(DESTDIR)$(USR)/$(LIB)/libgmic.so.1
@@ -438,8 +436,12 @@ endif
cp -f ../man/gmic.1.gz $(DESTDIR)$(USR)/share/man/fr/man1/gmic.1.gz
if test -d /etc/bash_completion.d/; then mkdir -p $(DESTDIR)/etc/bash_completion.d/; cp -f gmic_bashcompletion.sh $(DESTDIR)/etc/bash_completion.d/gmic; fi
if test -d /opt/local/etc/bash_completion.d/; then mkdir -p $(DESTDIR)/opt/local/etc/bash_completion.d/; cp -f gmic_bashcompletion.sh $(DESTDIR)/opt/local/etc/bash_completion.d/gmic; fi
+install-zart: zart
+ mkdir -p $(DESTDIR)$(USR)/share/zart
+ cp -f ../zart/zart $(DESTDIR)$(USR)/bin/zart
+
uninstall:
rm -f $(DESTDIR)$(USR)/bin/gmic
rm -f $(DESTDIR)$(USR)/include/gmic.h
rm -f $(DESTDIR)$(USR)/$(LIB)/libgmic.so.1.5.8

18
gmic-opencv-old.diff Normal file
View File

@ -0,0 +1,18 @@
Index: gmic-1.5.5.2/src/Makefile
===================================================================
--- gmic-1.5.5.2.orig/src/Makefile
+++ gmic-1.5.5.2/src/Makefile
@@ -159,10 +159,10 @@ ifeq ($(OS),Darwin)
OPENCV_CFLAGS = -Dcimg_use_opencv -I$(USR)/include -I$(USR)/include/opencv
OPENCV_LDFLAGS = `pkg-config opencv --libs` #-> Use this for OpenCV 2.2.0 !
else
OPENCV_CFLAGS = -Dcimg_use_opencv -I$(USR)/include -I$(USR)/include/opencv
-# OPENCV_LDFLAGS = -lcv -lhighgui
-OPENCV_LDFLAGS = -lopencv_core -lopencv_highgui #-> Use this for OpenCV >= 2.2.0 !
+OPENCV_LDFLAGS = -lcv -lhighgui
+#OPENCV_LDFLAGS = -lopencv_core -lopencv_highgui #-> Use this for OpenCV >= 2.2.0 !
endif
# Flags to enable native support of most classical image file formats, using the GraphicsMagick++ library.
# This requires the presence of the GraphicsMagick++ include and library files.

20
gmic-opencv.diff Normal file
View File

@ -0,0 +1,20 @@
Index: gmic-1.5.8.4/src/Makefile
===================================================================
--- gmic-1.5.8.4.orig/src/Makefile
+++ gmic-1.5.8.4/src/Makefile
@@ -226,13 +226,13 @@ BOARD_LDFLAGS = -lboard
# Unix : Standard build.
STD_UNIX_CFLAGS = $(MANDATORY_CFLAGS) $(CHECKIMAGE_CFLAGS) $(PARALLEL_CFLAGS) $(X11_CFLAGS) $(XSHM_CFLAGS) $(PNG_CFLAGS) \
$(JPEG_CFLAGS) $(TIFF_CFLAGS) $(ZLIB_CFLAGS) \
$(EXR_CFLAGS) $(FFTW_CFLAGS) $(OPENMP_CFLAGS) \
- # $(OPENCV_CFLAGS) $(FFMPEG_CFLAGS) # $(MAGICK_CFLAGS)
+ $(OPENCV_CFLAGS) # $(FFMPEG_CFLAGS) # $(MAGICK_CFLAGS)
STD_UNIX_LDFLAGS = $(MANDATORY_LDFLAGS) $(PARALLEL_LDFLAGS) $(X11_LDFLAGS) $(XSHM_LDFLAGS) $(PNG_LDFLAGS) \
$(JPEG_LDFLAGS) $(TIFF_LDFLAGS) $(ZLIB_LDFLAGS) \
$(EXR_LDFLAGS) $(FFTW_LDFLAGS) $(OPENMP_LDFLAGS) \
- # $(OPENCV_LDFLAGS) $(FFMPEG_LDFLAGS) # $(MAGICK_LDFLAGS)
+ $(OPENCV_LDFLAGS) # $(FFMPEG_LDFLAGS) # $(MAGICK_LDFLAGS)
# Unix : Minimal build.
MINIMAL_UNIX_CFLAGS = $(MANDATORY_CFLAGS) $(CHECKIMAGE_CFLAGS) $(PARALLEL_CFLAGS) $(DEBUG_CFLAGS) $(X11_CFLAGS) $(XSHM_CFLAGS) \
${TIFF_CFLAGS} ${PNG_CFLAGS} $(ZLIB_CFLAGS) $(FFTW_CFLAGS) # $(OPENCV_CFLAGS)

50
gmic-openmp-gcc43.diff Normal file
View File

@ -0,0 +1,50 @@
Index: gmic-1.5.8.4/src/CImg.h
===================================================================
--- gmic-1.5.8.4.orig/src/CImg.h
+++ gmic-1.5.8.4/src/CImg.h
@@ -220,8 +220,13 @@
// OpenMP directives may be used in a (very) few CImg functions to get
// advantages of multi-core CPUs.
#ifdef cimg_use_openmp
#include "omp.h"
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
+#define COLLAPSE(x) collapse(x)
+#else
+#define COLLAPSE(x)
+#endif
#endif
// Configure OpenCV support.
// (http://opencv.willowgarage.com/wiki/)
@@ -24304,27 +24309,27 @@ namespace cimg_library_suffixed {
switch (naxis) {
case 'x' : {
#ifdef cimg_use_openmp
-#pragma omp parallel for collapse(3)
+#pragma omp parallel for COLLAPSE(3)
#endif
cimg_forYZC(*this,y,z,c) _cimg_recursive_apply<4>(data(0,y,z,c),filter,_width,1U,order,boundary_conditions);
} break;
case 'y' : {
#ifdef cimg_use_openmp
-#pragma omp parallel for collapse(3)
+#pragma omp parallel for COLLAPSE(3)
#endif
cimg_forXZC(*this,x,z,c) _cimg_recursive_apply<4>(data(x,0,z,c),filter,_height,(unsigned long)_width,order,boundary_conditions);
} break;
case 'z' : {
#ifdef cimg_use_openmp
-#pragma omp parallel for collapse(3)
+#pragma omp parallel for COLLAPSE(3)
#endif
cimg_forXYC(*this,x,y,c) _cimg_recursive_apply<4>(data(x,y,0,c),filter,_depth,(unsigned long)(_width*_height),order,boundary_conditions);
} break;
default : {
#ifdef cimg_use_openmp
-#pragma omp parallel for collapse(3)
+#pragma omp parallel for COLLAPSE(3)
#endif
cimg_forXYZ(*this,x,y,z) _cimg_recursive_apply<4>(data(x,y,z,0),filter,_spectrum,(unsigned long)(_width*_height*_depth),order,boundary_conditions);
}
}

33
gmic-openmp.diff Normal file
View File

@ -0,0 +1,33 @@
Index: gmic-1.5.8.4/src/Makefile
===================================================================
--- gmic-1.5.8.4.orig/src/Makefile
+++ gmic-1.5.8.4/src/Makefile
@@ -209,8 +209,11 @@ FFTW_LDFLAGS = -lfftw3 -lfftw3_threads
ifeq ($(OSTYPE),msys)
FFTW_LDFLAGS = -lfftw3-3
endif
+OPENMP_CFLAGS = -fopenmp -Dcimg_use_openmp
+OPENMP_LDFLAGS = -fopenmp
+
# Flags to enable the use of the BOARD library.
# This requires the presence of the BOARD include and library files.
# (no packages exist for Debian at this time).
BOARD_CFLAGS = -Dcimg_use_board
@@ -222,12 +225,14 @@ BOARD_LDFLAGS = -lboard
# Unix : Standard build.
STD_UNIX_CFLAGS = $(MANDATORY_CFLAGS) $(CHECKIMAGE_CFLAGS) $(PARALLEL_CFLAGS) $(X11_CFLAGS) $(XSHM_CFLAGS) $(PNG_CFLAGS) \
$(JPEG_CFLAGS) $(TIFF_CFLAGS) $(ZLIB_CFLAGS) \
- $(EXR_CFLAGS) $(FFTW_CFLAGS) # $(OPENCV_CFLAGS) $(FFMPEG_CFLAGS) # $(MAGICK_CFLAGS)
+ $(EXR_CFLAGS) $(FFTW_CFLAGS) $(OPENMP_CFLAGS) \
+ # $(OPENCV_CFLAGS) $(FFMPEG_CFLAGS) # $(MAGICK_CFLAGS)
STD_UNIX_LDFLAGS = $(MANDATORY_LDFLAGS) $(PARALLEL_LDFLAGS) $(X11_LDFLAGS) $(XSHM_LDFLAGS) $(PNG_LDFLAGS) \
$(JPEG_LDFLAGS) $(TIFF_LDFLAGS) $(ZLIB_LDFLAGS) \
- $(EXR_LDFLAGS) $(FFTW_LDFLAGS) # $(OPENCV_LDFLAGS) $(FFMPEG_LDFLAGS) # $(MAGICK_LDFLAGS)
+ $(EXR_LDFLAGS) $(FFTW_LDFLAGS) $(OPENMP_LDFLAGS) \
+ # $(OPENCV_LDFLAGS) $(FFMPEG_LDFLAGS) # $(MAGICK_LDFLAGS)
# Unix : Minimal build.
MINIMAL_UNIX_CFLAGS = $(MANDATORY_CFLAGS) $(CHECKIMAGE_CFLAGS) $(PARALLEL_CFLAGS) $(DEBUG_CFLAGS) $(X11_CFLAGS) $(XSHM_CFLAGS) \
${TIFF_CFLAGS} ${PNG_CFLAGS} $(ZLIB_CFLAGS) $(FFTW_CFLAGS) # $(OPENCV_CFLAGS)

View File

@ -0,0 +1,15 @@
Index: gmic-1.5.8.4/src/Makefile
===================================================================
--- gmic-1.5.8.4.orig/src/Makefile
+++ gmic-1.5.8.4/src/Makefile
@@ -395,9 +395,9 @@ gmic_int.o: gmic.cpp
gmic_float.o: gmic.cpp
$(CC) -o gmic_float.o -c gmic.cpp $(CFLAGS) -Dgmic_split_compilation -Dgmic_float -Dgmic_main
gmic_double.o: gmic.cpp
$(CC) -o gmic_double.o -c gmic.cpp $(CFLAGS) -Dgmic_split_compilation -Dgmic_double
-gmic_cli_alltypes: gmic_bool.o gmic_uchar.o gmic_char.o gmic_ushort.o gmic_short.o gmic_uint.o gmic_int.o gmic_float.o gmic_double.o gmic_def.h
+gmic_cli_alltypes: gmic_float.o gmic_uchar.o gmic_char.o gmic_uint.o gmic_int.o gmic_double.o gmic_bool.o gmic_ushort.o gmic_short.o gmic_def.h
$(CC) -o gmic gmic_bool.o gmic_uchar.o gmic_char.o gmic_ushort.o gmic_short.o gmic_uint.o gmic_int.o gmic_float.o gmic_double.o $(LDFLAGS)
strip gmic$(EXE)
gmic_cli_standard: gmic.cpp

15
gmic-overflow.diff Normal file
View File

@ -0,0 +1,15 @@
Index: gmic-1.5.8.4/src/CImg.h
===================================================================
--- gmic-1.5.8.4.orig/src/CImg.h
+++ gmic-1.5.8.4/src/CImg.h
@@ -45929,9 +45929,9 @@ namespace cimg_library_suffixed {
filename?filename:"(FILE*)");
#endif
std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
const char *const ptype = pixel_type(), *const etype = cimg::endianness()?"big":"little";
- if (std::strstr(ptype,"unsigned")==ptype) std::fprintf(nfile,"%u unsigned_%s %s_endian\n",_width,ptype+9,etype);
+ if (std::strlen(ptype)>9 && std::strstr(ptype,"unsigned")==ptype) std::fprintf(nfile,"%u unsigned_%s %s_endian\n",_width,ptype+9,etype);
else std::fprintf(nfile,"%u %s %s_endian\n",_width,ptype,etype);
cimglist_for(*this,l) {
const CImg<T>& img = _data[l];
std::fprintf(nfile,"%u %u %u %u",img._width,img._height,img._depth,img._spectrum);

37
gmic-unstrip.diff Normal file
View File

@ -0,0 +1,37 @@
Index: gmic-1.5.8.4/src/Makefile
===================================================================
--- gmic-1.5.8.4.orig/src/Makefile
+++ gmic-1.5.8.4/src/Makefile
@@ -323,9 +323,9 @@ lib:
QMAKE = qmake
zart: lib
ifneq ($(OS),Darwin)
- cd ../zart && $(QMAKE) zart.pro && $(MAKE) && strip zart
+ cd ../zart && $(QMAKE) zart.pro && $(MAKE) && strip -S zart
else
cd ../zart && $(QMAKE) zart.pro && $(MAKE) "CFLAGS=$(STD_MACOSX_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS=$(STD_MACOSX_LDFLAGS) $(OPT_LDFLAGS)"
endif
@@ -375,9 +375,9 @@ endif
gmic_gimp.o: gmic.cpp gmic_def.h
$(CC) -o gmic_gimp.o -c gmic.cpp $(CFLAGS) -Dgmic_gimp -Dgmic_float_only
gmic_gimp : gmic_gimp.o gmic_gimp.cpp
$(CC) -o gmic_gimp gmic_gimp.cpp gmic_gimp.o `gimptool-2.0$(EXE) --cflags` $(CFLAGS) `gimptool-2.0$(EXE) --libs` $(LDFLAGS)
- strip gmic_gimp$(EXE)
+ strip -S gmic_gimp$(EXE)
gmic_bool.o: gmic.cpp
$(CC) -o gmic_bool.o -c gmic.cpp $(CFLAGS) -Dgmic_split_compilation -Dgmic_bool
gmic_uchar.o: gmic.cpp
@@ -397,9 +397,9 @@ gmic_float.o: gmic.cpp
gmic_double.o: gmic.cpp
$(CC) -o gmic_double.o -c gmic.cpp $(CFLAGS) -Dgmic_split_compilation -Dgmic_double
gmic_cli_alltypes: gmic_float.o gmic_uchar.o gmic_char.o gmic_uint.o gmic_int.o gmic_double.o gmic_bool.o gmic_ushort.o gmic_short.o gmic_def.h
$(CC) -o gmic gmic_bool.o gmic_uchar.o gmic_char.o gmic_ushort.o gmic_short.o gmic_uint.o gmic_int.o gmic_float.o gmic_double.o $(LDFLAGS)
- strip gmic$(EXE)
+ strip -S gmic$(EXE)
gmic_cli_standard: gmic.cpp
$(CC) -o gmic gmic.cpp $(CFLAGS) -Dgmic_float_only -Dgmic_main $(LDFLAGS)

43
gmic-x11opts.diff Normal file
View File

@ -0,0 +1,43 @@
Index: gmic-1.5.8.4/src/Makefile
===================================================================
--- gmic-1.5.8.4.orig/src/Makefile
+++ gmic-1.5.8.4/src/Makefile
@@ -122,10 +122,10 @@ endif
# Flags to enable image display, using X11
# (keep /usr/ dirname here since X11 is located in /usr/ on Mac too).
# This requires the presence of the X11 include and library files.
# (package 'libx11-dev' on Debian).
-X11_CFLAGS = -Dcimg_display=1 -Dcimg_appname=\\\"gmic\\\" -I/usr/X11R6/include #-Dcimg_use_xrandr
-X11_LDFLAGS = -L/usr/X11R6/$(LIB) -lX11 -lpthread #-lXrandr
+X11_CFLAGS = -Dcimg_display=1 -Dcimg_appname=\\\"gmic\\\" -I/usr/X11R6/include -Dcimg_use_xrandr
+X11_LDFLAGS = -L/usr/X11R6/$(LIB) -lX11 -lpthread -lXrandr
# Flags to enable fast display, using XShm.
# This requires the presence of the X11 extension include and library files.
# (package 'libx11-dev' on Debian).
@@ -220,19 +220,19 @@ BOARD_LDFLAGS = -lboard
# Predefined sets of flags for different default configurations.
#----------------------------------------------------------------
# Unix : Standard build.
-STD_UNIX_CFLAGS = $(MANDATORY_CFLAGS) $(CHECKIMAGE_CFLAGS) $(PARALLEL_CFLAGS) $(X11_CFLAGS) $(PNG_CFLAGS) \
+STD_UNIX_CFLAGS = $(MANDATORY_CFLAGS) $(CHECKIMAGE_CFLAGS) $(PARALLEL_CFLAGS) $(X11_CFLAGS) $(XSHM_CFLAGS) $(PNG_CFLAGS) \
$(JPEG_CFLAGS) $(TIFF_CFLAGS) $(ZLIB_CFLAGS) \
- $(EXR_CFLAGS) $(FFTW_CFLAGS) # $(XSHM_CFLAGS) $(OPENCV_CFLAGS) $(FFMPEG_CFLAGS) # $(MAGICK_CFLAGS)
-STD_UNIX_LDFLAGS = $(MANDATORY_LDFLAGS) $(PARALLEL_LDFLAGS) $(X11_LDFLAGS) $(PNG_LDFLAGS) \
+ $(EXR_CFLAGS) $(FFTW_CFLAGS) # $(OPENCV_CFLAGS) $(FFMPEG_CFLAGS) # $(MAGICK_CFLAGS)
+STD_UNIX_LDFLAGS = $(MANDATORY_LDFLAGS) $(PARALLEL_LDFLAGS) $(X11_LDFLAGS) $(XSHM_LDFLAGS) $(PNG_LDFLAGS) \
$(JPEG_LDFLAGS) $(TIFF_LDFLAGS) $(ZLIB_LDFLAGS) \
- $(EXR_LDFLAGS) $(FFTW_LDFLAGS) # $(XSHM_LDFLAGS) $(OPENCV_LDFLAGS) $(FFMPEG_LDFLAGS) # $(MAGICK_LDFLAGS)
+ $(EXR_LDFLAGS) $(FFTW_LDFLAGS) # $(OPENCV_LDFLAGS) $(FFMPEG_LDFLAGS) # $(MAGICK_LDFLAGS)
# Unix : Minimal build.
-MINIMAL_UNIX_CFLAGS = $(MANDATORY_CFLAGS) $(CHECKIMAGE_CFLAGS) $(PARALLEL_CFLAGS) $(DEBUG_CFLAGS) $(X11_CFLAGS) \
+MINIMAL_UNIX_CFLAGS = $(MANDATORY_CFLAGS) $(CHECKIMAGE_CFLAGS) $(PARALLEL_CFLAGS) $(DEBUG_CFLAGS) $(X11_CFLAGS) $(XSHM_CFLAGS) \
${TIFF_CFLAGS} ${PNG_CFLAGS} $(ZLIB_CFLAGS) $(FFTW_CFLAGS) # $(OPENCV_CFLAGS)
-MINIMAL_UNIX_LDFLAGS = $(MANDATORY_LDFLAGS) $(PARALLEL_LDFLAGS) $(X11_LDFLAGS) \
+MINIMAL_UNIX_LDFLAGS = $(MANDATORY_LDFLAGS) $(PARALLEL_LDFLAGS) $(X11_LDFLAGS) $(XSHM_LDFLAGS) \
${TIFF_LDFLAGS} ${PNG_LDFLAGS} $(ZLIB_LDFLAGS) $(FFTW_LDFLAGS) # $(OPENCV_LDFLAGS)
# Unix : Static build.
STATIC_PATH = /usr/$(LIB)/

22
gmic-zart-qmake.diff Normal file
View File

@ -0,0 +1,22 @@
Index: gmic-1.5.8.4/src/Makefile
===================================================================
--- gmic-1.5.8.4.orig/src/Makefile
+++ gmic-1.5.8.4/src/Makefile
@@ -319,13 +319,15 @@ gimp:
lib:
$(MAKE) "CFLAGS=$(STD_LIB_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS+=$(STD_LIB_LDFLAGS) $(OPT_LDFLAGS)" gmic_lib
+QMAKE = qmake
+
zart: lib
ifneq ($(OS),Darwin)
- cd ../zart && qmake-qt4 zart.pro && $(MAKE) && strip zart
+ cd ../zart && $(QMAKE) zart.pro && $(MAKE) && strip zart
else
- cd ../zart && qmake zart.pro && $(MAKE) "CFLAGS=$(STD_MACOSX_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS=$(STD_MACOSX_LDFLAGS) $(OPT_LDFLAGS)"
+ cd ../zart && $(QMAKE) zart.pro && $(MAKE) "CFLAGS=$(STD_MACOSX_CFLAGS) $(OPT_CFLAGS)" "LDFLAGS=$(STD_MACOSX_LDFLAGS) $(OPT_LDFLAGS)"
endif
# Entries for other configurations.
gmicol:

428
gmic.changes Normal file
View File

@ -0,0 +1,428 @@
-------------------------------------------------------------------
Sat Mar 8 19:47:38 CET 2014 - kurt@garloff.de
- Update to gmic-1.5.8.4:
* New command -imageblocks3d (and corresponding gimp plugin).
* New filter Degradations / Blur [depth-of-field].
* Improved -endian command (accepts optional datatype).
* Tiff output type can be specified.
* -apply_files can now force filename extensions.
* ability to wait for threads run with -parallel.
* Math parser now understands med() and kth().
* Reduce stack footprint of main parser.
* Request higher minimal stack size when possible.
* New output modes for Arrays & tiles / Extract objects.
* More imporvements to -inpaint.
* Fix line number displayed when error in .gmic file found.
* Fix thread destruction with non-wait mode and sub-commands.
-------------------------------------------------------------------
Fri Feb 14 12:10:02 CET 2014 - kurt@garloff.de
- Add logic to avoid excessive compilation time:
* Limit parallel make to available memory
* Set OBS _constraint to provide enough memory
* Reorder build targets to improve parallelism
-------------------------------------------------------------------
Thu Feb 13 15:42:00 CET 2014 - kurt@garloff.de
- Update to 1.5.8.3:
* New plug-in filter Frames / Frame[blur]
* Improvements: Less warnings on TIFFs, valgrind found bugfixes,
OS name in plug-in titlebar, slightly better -inpaint_patch,
more options for -taquin, significantly better -inpaint
* Fixed invalid mem access when reading command files
* Update reference manual.
-------------------------------------------------------------------
Fri Jan 10 10:04:17 CET 2014 - kurt@garloff.de
- Update to 1.5.8.2:
* New commands -puzzle, -map_sprites, -detect_skin
* Improvements to -bilateral amd debugging custom commands
* Fix bug with -display for images with NaNs
- Update to 1.5.8.1:
* New command -split_details
* New (GIMP plugin) filters Details/Details equalizer and
Repair/Smooth [skin].
* -repair is merged with -inpaint
* Improve UI of -display and -select
* Fix crash of -bilateral on blank image
* Fixes for Ctrl+F in GIMP plugin
* 3D object display light source follows object zoom now
- Update to 1.5.8.0:
* Bugfixes, Optimizations, and Improvements
* Small API changes
- Update to 1.5.7.2:
* New commands -output_ggr, -at_line, -x_metaballs, -cubes3d,
-color_med, -x_bouncing, -mutex
* Fast marching algo available in -distance
* New substituion $"*" which does quoting to protect whitespace
* GIMP plugin filters Rendering/Gradient [custom shape] and
[from line]
* Improvements for -display, -ball and documentation
* Fix CPU eating of gmic display
* Compilation improvements (for clang++)
- Update to 1.5.7.1:
* Improve parallelization (-fft, -apply_parallel,
-apply_parallel_overlap)
-------------------------------------------------------------------
Fri Sep 13 17:09:48 CEST 2013 - kurt@garloff.de
- Update to 1.5.7.0:
* Parallelization: Multiple threads can be used now, commands
-parallel, -apply_parallel, -apply_parallel{2,4,8} to use
it. Smoothing and sharpening filters use it already ...
* New: -image_integral, -autocrop_components, -bilateral
* Bugfixes: Added more randomness to the PRNG (gimp plugin), bug
in -polygon, in -output (% symbol), valgrind warings (false
positives actually)
- Update to 1.5.6.1:
* New filters 'Lights & Shadows / Drop shadow 3d', 'Colors /
Colorize comics'
* New commands '-pack_sprites', '-rprogress'
* Converted native commands '-haar' and '-ihaar' as custom
commands, re-organized filter tree sections (gimp), volumetric
images zoom in viewer keeps displaying z-coords.
* Bugfixes: raw files now correctly use unsigned int when requested
so (instead of unsigned short), -polygon, gimp non-interactive
mode.
- Update to 1.5.6.0:
* New command (and filter) -bokeh
* Math parser accepts 'j(dx,_dy,_dz,_dc,_interpolation,_boundary)'
* Commands '-deblur_richardsonlucy' and '-deblur_goldmeinel'
integrated into trunk.
* gimp plug-in external filter source management, optimiztion of
math parser, replace native -resize2x and 3x with custom
-scale2x and 3x, -blend_median recoded
* Integrate external filters in gimp plugin
* Bugfix: 3d rendering with parallel projection
-------------------------------------------------------------------
Tue May 14 06:37:54 CEST 2013 - kurt@garloff.de
- Disable GraphicsMagick features again (dependency hell).
-------------------------------------------------------------------
Tue May 14 06:02:43 CEST 2013 - kurt@garloff.de
- Include reference documentation (PDF) in -doc subpackage.
-------------------------------------------------------------------
Tue May 14 05:39:29 CEST 2013 - kurt@garloff.de
- Require same lib version from -devel package.
- Enable openmp, xshm, xrandr, opencv and magick features.
-------------------------------------------------------------------
Sun May 12 00:55:20 CEST 2013 - kurt@garloff.de
- Split off -zart and -gimp sub packages.
-------------------------------------------------------------------
Fri May 10 01:16:53 CEST 2013 - kurt@garloff.de
- Update to 1.5.5.2
- Update to 1.5.5.1:
* Inpainting (-repair) to reconstruct image areas
- Update to 1.5.5.0:
* New logo (GREYC's Magic for Image Computing)
* New blending modes for -blend
* opencv allows requesting specific resolution for camera capture
* -alert box display
* improve image resolution for pdf files
* -richardson_lucy was a misnomer and is now called -deblur
* Various bugfixes
- Update to 1.5.4.0:
* Spanish translations
* Colors/Recolorize added
* -weave
* -compose_* deprecated, use -blend instead
* bugfixes
- Update to 1.5.3.0:
* _sort_str sorts in lexicographic order
* -echo_stdout and -echo_file
* -gimp_list_filters
* -symmetrice
* bug fixes
- Update to 1.5.2.2:
* multiple frames of animated GIF files supported
* interactive demo -x_quantize_rgb
* -uniform_distribution
* bugfixes
- Update to 1.5.2.0:
* Web interface G'MIC online http://gmicol.greyc.fr/
* -text_pointcloud3d
* -vignette
* -ssd_patch
* -circle and -rectangle
* -x_pacman game
* -region_feature
* -average_color
* -histogram_pointwise
* -img2str
* -sprites3d
* -star3d
* -stars
* Bugfixes and Optimizations
- Update to 1.5.1.9:
* -med, -mad, -variance_noise, -resize_pow2, -denoise_haar
* Enhancement/Smooth [wavelets]
* -autocrop_seq
* -x_tetris
* Bugfixes
-------------------------------------------------------------------
Wed Oct 19 15:37:32 CEST 2011 - garloff@suse.de
- Split out libgmic1 and libgmic-devel subpackages.
- Update to 1.5.0.4:
* New features: -replace_nan, -min_patch/-max_patch, -rodilius.
* Bugfixes: -compose_alpha.
* Improvements: -gaussian.
- Update to 1.5.0.3:
* Improvements: P7 pink file format, image list name duplication limit,
-paper renamed to -texturize_paper.
* New features: -x_rubber3d, -texturize_canvas, Lylejk's painting
plug-in filter, -compose_alpha.
* Bug fixes: -select with feature_type=3.
- Update to 1.5.0.2:
* New features: -tensro2eigen, -eigen2tensor, space pauses -animate,
Solve Labyrith filter, managing empty images (-input 0), -maze
* Improvements: -split can split an image along several axes now
* Bug fixes: -ripple, -minimal_distance, @{x,-y} substitutions.
- Update to 1.5.0.1:
* New features: -output_pink3d, -ripple.
* Improvements: Remove 'beta' marker from man pages, reading BMP.
* Bug fixes: -convolve, -autocrop, modulo corrected for negative
numbers, -label (high connectivity mode).
- Update to 1.5.0.0:
* New features: -x_shadebobs, multi-line text parameter widget (plug-in),
paned GUI, faves copying in plug-in, allow specifying filename format
without filename extension, -uncase, compression of built-in commands,
gmic reference page documents convenient functions, -fire_edges.
* Improvements: Image copies have ~ appended, -mirror can now mirror
along several axes, outlined labels for -plot, -display_graph, labels
in command calls may reference several images, support for extended
ASCII chars, enlarge the size of preview window, chose RGBA channels
for plug-in filters.
* Bug fixes: -apply_channels, expand now displays last folder, -split,
faves.
- Update to 1.4.9.5:
* New features: -update, counter for documented commands, -x_blobs.
* Improvements: Kuwahara filter, more robust faves, GPT filter,
prefix for saved files in visualization module is now gmic_.
- Update to 1.4.9.4:
* New features: -distance (new mode), -gmicky, -minimal_path,
-x_minimal_path, -kuwahara,
* Improvements: -pointcloud3d, diplay start and end of shortened messages,
-input and -command now accept URLs, -select.
* Bug fixes: -ffast-math now safer, -pointcloud precision, remove update
files from temp dir.
- Update to 1.4.9.3:
* New features: -rgb2srgb, -srgb2rgb, -mdic, -discard, Plaid filter,
3d colored object filter, -otsu, -hough, -x_hough, -houghsketchbw.
* Improvements: g++-4.6 compatibility, -quotify renamed to -quote,
-pointcloud, decrease verbosity in substitutions, -hardsketchbw,
-pointcloud3d.
- Update to 1.4.9.2:
* Improvments: package libgmic and header in .deb package, -flood, -label.
* Bug fixes: -round, 'Mirrored array' filter.
- Update to 1.4.9.1:
* New features: -svd, -diagonal matrix functions.
* Improvements: Progress bar disabling in plug-in.
* Bug fixes: -split, -dijkstra ... allow rounding values.
- Update to 1.4.9.0:
* New features: Stained glass, plasma filters, input_network command,
poker tournament score board, external filter sources, -quotify.
* Improvements: multi-page TIFF support, -displacement w/ negative
smoothness (anisotropic), raw pixel types, fave management, -return.
* A number of smaller bug fixes.
- Update to 1.4.8.3:
* New features: -onfail, -srand, -reset, -replace.
* Improvements: More restrictive syntax for -do, -while, -if, ...,
-r3d shortcut, code examples with gmic -h command and on reference
page, removed HTML documentation from tar balls, -streamline3d,
-trisolve, -sharpen, real global vars, better reference doc (at
http://gmic.sourceforge.net/reference.shtml).
* Bug fixes: -break, -sort, -resize3x, -display, -equalize, -histogram,
-solve, -normalize.
- Update to 1.4.8.2:
* Bug corrections: -isosurface3d, -isoline3d, -extrude3d.
* New features: PINK extensions (.pgm), P1+P4 .pnm files, new filter
Light&Shadows/Light glow.
* Improvements: Avoid using xshm X11 extension, -gpt command.
- Update to 1.4.8.1:
* New features: (Partial) support of MINC2 files.
* Bug fixes: -append, image rations, -split, -text, '\r' handling.
- Update to 1.4.8.0:
* Improvements: -break, -continue, -return control flow, maintain some
special chars in variable names.
* Bug fixes: segfault reading filter zoon factor, display bugs in -shell
mode, DICOM format (3d), diplay of image lists and visualization windows
for very small images.
- Update to 1.4.7.4:
* New features: -distance with custom metric, -label threshold, interactive
navigation through image lists, HSV equalizer.
* Improvements: Auto-completion, class name for windows, -display_array,
-append.
* Bug fixes: Manage mouse wheel again in -animate.
- Update to 1.4.7.3:
* Bug corrections: -graph, plug-in with gimp 2.7.x
* New features: -display_array, Grain merge and Grain extract layer mode,
-distance metrics, -label, 3d view for 3d volumetric images (Ctrl-V).
* Improvements: Image display, -split.
- Update to 1.4.7.2:
* G'MIC interpreter: Substitution expressions '${>}' and '${' and '$<',
'@*', command line with spaces in filenames handling, large 3d object
handling.
* G'MIC commands: -split improvement, .off 3D file handling, new
-pointcloud3d, -colorcube3d, updated -histogram3d, -primitive3d,
-primitives3d. Bugfix for -primitive3d, -resize, -graph. New -gpt.
- Update to 1.4.7.1:
* Significant optimization in managing named variables, introduction of
global variables (start with _). Improved image selection.
- Update to 1.4.7.0:
* Significant cleanups.
-------------------------------------------------------------------
Fri Dec 10 10:32:44 CET 2010 - garloff@suse.de
- Update to 1.4.5.2:
* Raised precision for the sliders in the G'MIC for GIMP
- Update to 1.4.5.0:
* New command '-display_graph' that renders a graph plot
* New in GIMP plug-in : 'Rendering/Equation plot'
* Bugfixes: '-convolve', '-correlate', '-erode', '-dilate'.
Added boolean parameter for the computation of normalized versions.
* Bugifixes: small bugs in '-grid', '-graph' and '-plot'.
* New in GIMP plug-in: 'Various/Do nothing', 'Polka dots'
- Update to 1.4.4.2:
* Layers are now named after the G'MIC command generating them
- Update to 1.4.4.0:
* New filters 'Rendering/3d lathing', 'Contours/Skeleton'
* Improvement of 3d rendering capabilities in the G'MIC plug-in.
* Improvement of the 'Sequence' folder.
* Bugfixes in the internal G'MIC engine, in particula '-break'.
- Update to 1.4.3.0:
* Small improvements over 1.4.2.0
- Update to 1.4.2.0:
* Many bug fixes, and some speed improvements.
* Some new options in the 3d objects filters.
- Update to 1.4.1.0:
* Bugfixes: Display of 3d objects containing point primitives,
bad memory access in command '-input', typos in various
error/warning messages.
* Features: '-gyroid3d', '-texturize3d', new default colormaps
for '-map' and '-index' (8 in total) : hot, jet, cube, ...,
'-label_points3d'
* New in the GIMP plug-in : sphere and gyroid.
- Update to 1.4.0.0:
- New native commands '-trisolve', '-camera', '-rotation3d'
- New custom commands ('-tunnel','-apply_camera','-function1d',
'chessboard',...). New internal timer with a ms precision.
- New in the GIMP plug-in: RGB/YCbCr/Lab curves, Tunnel effect,
Tone Mapping and Chessboard filters.
- The command line version of G'MIC can now manage the webcam,
through the use of the OpenCV library.
- Small bugfixes and optimization.
* Update to 1.3.9.0:
- Small bugfixes and optimizations
* Update to 1.3.8.0:
- Various bugfixes
* Update to 1.3.7.2:
- Simplify the variable management in the G'MIC language
- Some small bugfixes
- Slightly reduced memory footprint of the interpreter
- Updates to The technical reference documentation
* Update to 1.3.7.1:
- Minor bugfixes
* Update to 1.3.7.0:
- Bugfixes
* Update to 1.3.6.0:
- Small improvements and optimizations: Better substitution mechanism
(with labels, making filter writing more comfortable), new ('-grid')
and improved commands
- Demo for new label mechanism: gmic -x_jawbreaker
-------------------------------------------------------------------
Fri Jun 25 10:59:01 CEST 2010 - garloff@suse.de
- Update to 1.3.5.7:
* Final stable version
- Update to 1.3.5.6:
* Maximize preview button (plugin dialog)
* New filters in plugin
* Small optimizations
- Update to 1.3.5.5:
* Processing engine now allows custom functions w/ return values
* Scrollbar in plugin parameters dialog
- Update to 1.3.5.3:
* deriche command
* Improved stability
- Update to 1.3.5.1:
* Optimize memory usage
- Update to 1.3.5.0:
* Quick preview toggling
* Median filtering
* Layers/Shape average
* Internal changes and optimizations
- Update to 1.3.4.1:
* Minor bug fixes
-------------------------------------------------------------------
Sun Mar 21 15:40:07 CET 2010 - garloff@suse.de
- Fix GraphicsMagick++ vs. (Image)Magick++ mess; work with either,
not both.
-------------------------------------------------------------------
Fri Mar 19 01:20:57 CET 2010 - garloff@suse.de
- Update do gmic-1.3.4.0:
* gmic lang interpreter stabilized
* Minor fixes and improvements
* Major performance gains
* Smarter preview
* gimp plugin more in line with the rest
- Drop parallel make patch (is upstream).
- Compile flag -fno-tree-pre now determined by detected compiled
version (4.3*).
-------------------------------------------------------------------
Mon Nov 23 08:48:32 CET 2009 - garloff@suse.de
- Parallel make.
-------------------------------------------------------------------
Sun Nov 22 22:02:20 CET 2009 - garloff@suse.de
- Update to 1.3.2.9:
* Non-interactive mode possible
* Bug fixes and new modes
-------------------------------------------------------------------
Mon Jul 6 19:56:03 CEST 2009 - garloff@suse.de
- Update to 1.3.2.0:
* Documentation improvements.
* Better image transfer with gimp.
-------------------------------------------------------------------
Tue Mar 31 10:41:35 CEST 2009 - garloff@suse.de
- Update to 1.3.1.1.
-------------------------------------------------------------------
Mon Mar 2 12:02:43 CET 2009 - garloff@suse.de
- Fix compiler overflow warning.
-------------------------------------------------------------------
Fri Feb 27 11:19:09 CET 2009 - garloff@suse.de
- Initial creation of package. (1.3.0.3)

302
gmic.spec Normal file
View File

@ -0,0 +1,302 @@
Name: gmic
Version: 1.5.8.4
Release: 0
Group: Productivity/Graphics/Bitmap Editors
URL: http://gmic.sourceforge.net/
Packager: kurt@garloff.de
Source: %{name}_%{version}.tar.bz2
Source1: http://gmic.sourceforge.net/gmic_reference.pdf
Patch1: gmic-cflags.diff
Patch2: gmic-docdir.diff
Patch3: gmic-overflow.diff
Patch10: gmic-x11opts.diff
Patch11: gmic-openmp.diff
Patch12: gmic-openmp-gcc43.diff
Patch15: gmic-opencv.diff
Patch16: gmic-opencv-old.diff
Patch17: gmic-magick.diff
Patch20: gmic-zart-qmake.diff
Patch21: gmic-make-zart.diff
Patch30: gmic-opt-parallel-make.diff
Patch31: gmic-unstrip.diff
Summary: GREYC's Magick for Image Computing (denoise and others)
License: CECILL v.2.0 (GPL compatible)
Prefix: /usr
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: procps
BuildRequires: fftw3-devel gcc-c++ libstdc++-devel dos2unix OpenEXR-devel
BuildRequires: libqt4-devel
%if 0%{?suse_version} >= 1110
BuildRequires: libjpeg-devel libtiff-devel
BuildRequires: opencv-devel libjasper1
BuildRequires: fftw3-threads-devel
#BuildRequires: GraphicsMagick-devel
%else
%if 0%{?fedora_version} > 16
BuildRequires: libjpeg-devel libtiff-devel opencv-devel jasper-libs
#BuildRequires: fftw-libs-threads
%else
%if 0%{?mandriva_version} > 0
BuildRequires: libtiff-devel
%endif
%endif
%endif
%if 0%{?suse_version} == 1030
BuildRequires: gimp-unstable-devel
%else
BuildRequires: gimp-devel
%endif
%if 0%{?sles_version} == 11
BuildRequires: glib2-branding-SLES
%endif
%define openSUSE_submit 1
%description
G'MIC is an open and full-featured framework for image processing, providing several different user interfaces to convert/manipulate/filter/visualize generic image datasets, from 1d scalar signals to 3d+t sequences of multi-spectral volumetric images. Technically speaking, what it does is:
Define a lightweight but powerful script language (the G'MIC language) dedicated to the design of image processing operators and pipelines.
Provide several user interfaces embedding the corresponding interpreter:
A command-line executable gmic, to use the G'MIC framework from a shell.
In this setting, G'MIC may be seen as a serious (and friendly) competitor of the ImageMagick or GraphicsMagick software suites.
A plug-in gmic_gimp, to bring G'MIC capabilities to the GIMP image retouching software. (gmic-gimp)
A web service G'MIC Online, to allow users applying image processing algorithms directly in a web browser.
A Qt-based interface ZArt, for real-time mainpulation of webcam images. (gmic-zart)
A C++ library libgmic, to be linked to third-party applications. (libgmic1, gmic-devel)
G'MIC is focused on the design of possibly complex pipelines for converting, manipulating, filtering and visualizing generic 1d/2d/3d multi-spectral image datasets. This includes of course color images, but also more complex data as image sequences or 3d(+t) volumetric float-valued datasets.
G'MIC is an open framework: the default language can be extended with custom G'MIC-written commands, defining thus new available image filters or effects. By the way, G'MIC already contains a substantial set of pre-defined image processing algorithms and pipelines (more than 1000).
G'MIC has been designed with portability in mind and runs on different platforms (Windows, Unix, MacOSX). It is distributed under the CeCILL license (GPL-compatible). Since 2008, it is developed in the Image Team of the GREYC laboratory, in Caen/France, by permanent researchers working in the field of image processing on a daily basis.
G'MIC has superior denoising and sharpening capabilities.
Authors
-------
David Tschumperle ( http://www.greyc.ensicaen.fr/~dtschump/ ) (source code)
Claude Bulin ( http://www.xcfa.tuxfamily.org/ ) (packaging)
Angelo Lama ( historical developper of EKD : http://ekd.tuxfamily.org,
post-prod software for videos and images) (testing)
Stephane de la Linuxerie (http://linuxerie.midiblogs.com and http://polariscorp.free.fr) (design & gimp plug-in)
Jerome Ferrari (testing)
GREYC Image / CNRS UMR 6072 / FRANCE
Team web page : http://www.greyc.ensicaen.fr/EquipeImage/
%package -n libgmic1
Summary: Shared library that belongs to gmic
Group: Productivity/Graphics/Bitmap Editors
%package -n libgmic-devel
Summary: Header and library from gmic for use in other C++ projects
Group: Development/Libraries/C and C++
Requires: libgmic1 = %{version}
%description -n libgmic1
Shared library allows you to use gmic functionality from other
programs.
%description -n libgmic-devel
Header and library from gmic to needed to develop C++ code that
uses the gmic functionality provided by the gmic library.
%package gimp
Summary: GMIC plugin for gimp
Group: Productivity/Graphics/Bitmap Editors
%description gimp
This is a plugin for gimp that exposes many of the nice gmic features
for interactive use in gimp.
%package zart
Summary: Real-time web cam video stream manipulation
Group: Productivity/Graphics/Bitmap editors
%description zart
This program allows you to capture video from a web cam and apply
(real time) gmic image manipulations on the video stream.
%package doc
Summary: GMIC reference documentation
Group: Productivity/Graphics/Bitmap editors
%description doc
This is the reference documentation for G'MIC in .pdf format.
%prep
%setup
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
# More gmic features ...
%patch15 -p1
%if 0%{?fedora_version} > 16
#nothing
%else
%if 0%{?suse_version} < 1100
%patch16 -p1
%endif
%endif
#%patch17 -p1
%patch20 -p1
%patch21 -p1
%patch30 -p1
%patch31 -p1
# Remove build time references so build-compare can do its work
FAKE_BUILDTIME=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%H:%%M')
FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y')
sed -i "s/__TIME__/\"$FAKE_BUILDTIME\"/g" src/CImg.h
sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/g" src/CImg.h
sed -i "s/__TIME__/\"$FAKE_BUILDTIME\"/g" src/gmic.cpp
sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/g" src/gmic.cpp
# Replacement for documentation that was formerly included
echo -e "<HTML>\n<Head><Title>G'MIC documentation</Title></Head>" > index.html
echo -e "<Body><H1>G'MIC documentation links</H1>\n<ul>" >> index.html
echo -e "<li><A HRef=\"http://gmic.sourceforge.net/reference.shtml\">Reference documentation</A></li>" >> index.html
echo -e "<li><A HRef=\"../gmic-doc/gmic_reference.pdf\">Reference doc (PDF)</A> (local copy, if gmic-doc is installed)</li>" >> index.html
echo -e "<li><A HRef=\"http://gmic.sourceforge.net/tutorial.shtml\">Tutorial</A></li>" >> index.html
echo -e "<li><A HRef=\"https://www.flickr.com/groups/gmic/discuss/72157625021897552/\">What can I do with G'MIC?</A> (Tutorial list on flickr)</li>" >> index.html
echo -e "<li><A HRef=\"README\">README file</A> (local)</li>" >> index.html
echo -e "</ul>\n</Body>\n</HTML>" >> index.html
mv zart/README zart/README.zart
cp -p %{SOURCE1} .
%build
RPM_OPT_FLAGS="`echo $RPM_OPT_FLAGS | sed 's/-fstack-protector//'`"
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -O3 -ffast-math -ftree-vectorize"
# Compile times are exorbitant as are, -funroll-loops makes it worse
#RPM_OPT_FLAGS="$RPM_OPT_FLAGS -funroll-loops"
%ifarch %{ix86} x86_64
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -momit-leaf-frame-pointer"
%endif
%if 0%{?openSUSE_submit} == 0
%ifarch %{ix86}
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -mmmx -msse -mfpmath=sse,387"
%endif
%endif
# gcc-4.3 needs -fno-tree-pre, see gcc bug 36439
GCCVER="`gcc --version | head -n1 | sed 's/^gcc[^0-9]*\([^ ]*\).*$/\1/'`"
#echo $GCCVER
case $GCCVER in 4.3*)
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-tree-pre"
;;
4.5*)
RPM_OPT_FLAGS="`echo $RPM_OPT_FLAGS | sed 's/\-funroll\-loops //'`"
;;
esac
# Limit parallel build to avoid overloading machines
free -m
MEM=`free -m | grep '^Mem:' | sed 's/^Mem: *\([0-9]*\).*$/\1/'`
# x86(-64) needs 0.6GB per gmic_XXX except gmic_float (main) with 1 GB
MAXJOBS=$((($MEM-300)/540))
echo "Limiting Jobs %jobs -> $MAXJOBS"
if test -n "%jobs" -a $MAXJOBS -gt 1; then
if test %jobs -gt $MAXJOBS; then
JOBS="-j$MAXJOBS"
else
JOBS="-j%jobs"
fi
else
JOBS=""
fi
#make CFLAGS="$RPM_OPT_FLAGS"
cd src
%if 0%{?fedora_version} > 16
make $JOBS CFLAGS="$RPM_OPT_FLAGS" LIB=%{_lib} QMAKE=qmake-qt4 linux_alltypes
make $JOBS CFLAGS="$RPM_OPT_FLAGS" LIB=%{_lib} QMAKE=qmake-qt4 gimp lib
make $JOBS CFLAGS="$RPM_OPT_FLAGS" LIB=%{_lib} QMAKE=qmake-qt4 zart
%else
%if 0%{?openSUSE_submit} == 0
make $JOBS CFLAGS="$RPM_OPT_FLAGS" LIB=%{_lib} linux_alltypes
%else
make $JOBS CFLAGS="$RPM_OPT_FLAGS" LIB=%{_lib} linux
%endif
make $JOBS CFLAGS="$RPM_OPT_FLAGS" LIB=%{_lib} gimp lib
make $JOBS CFLAGS="$RPM_OPT_FLAGS" LIB=%{_lib} zart
%endif
#make %{?jobs:-j%jobs} CFLAGS="$RPM_OPT_FLAGS" gimp
free -m
%install
mkdir -p $RPM_BUILD_ROOT/usr/%{_lib}/gimp/2.0/plug-ins/
cd src
make install DESTDIR=$RPM_BUILD_ROOT DOCDIR=%{_docdir} MANDIR=%{_mandir} LIB=%{_lib}
#ln -s libgmic.so.1 $RPM_BUILD_ROOT/usr/%{_lib}/libgmic.so
%if 0%{?fedora_version} > 16
make install-zart DESTDIR=$RPM_BUILD_ROOT DOCDIR=%{_docdir} MANDIR=%{_mandir} LIB=%{_lib} QMAKE=qmake-qt4
%else
make install-zart DESTDIR=$RPM_BUILD_ROOT DOCDIR=%{_docdir} MANDIR=%{_mandir} LIB=%{_lib}
%endif
#mkdir -p $RPM_BUILD_ROOT%{_docdir}/gmic/html
#for name in images res js slides thumbs; do
# cp -ax html/$name $RPM_BUILD_ROOT%{_docdir}/gmic/html/
#done
#for name in README AUTHORS ChangeLog COPYING; do
# cp -p $name $RPM_BUILD_ROOT%{_docdir}/gmic/
#done
strip -S $RPM_BUILD_ROOT/usr/bin/gmic
strip -S $RPM_BUILD_ROOT/usr/%{_lib}/gimp/2.0/plug-ins/gmic_gimp
# ZART
strip -S $RPM_BUILD_ROOT/usr/bin/zart
# Duplicate man page ...
rm $RPM_BUILD_ROOT/%{_mandir}/fr/man1/gmic.1.gz
# Reference manual
#install -d $RPM_BUILD_ROOT/%{_docdir}/gmic
#install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT/%{_docdir}/gmic/
%post -n libgmic1
%{run_ldconfig}
%postun -n libgmic1
%{run_ldconfig}
%files
%defattr(-,root,root)
/usr/bin/gmic
%if 0%{?mandriva_version} == 0
#%{_mandir}/fr/man1/gmic.1.gz
%{_mandir}/man1/gmic.1.gz
%else
#%{_mandir}/fr/man1/gmic.1.lzma
%{_mandir}/man1/gmic.1.lzma
%endif
#%dir %{_docdir}/gmic
#%doc README COPYING AUTHORS index.html
%doc README COPYING index.html
%config %attr(0644,root,root) /etc/bash_completion.d/gmic
%files zart
%defattr(-,root,root)
/usr/bin/zart
%doc zart/Licence_CeCILL_V2-en.html zart/README.zart
%files gimp
%defattr(-,root,root)
/usr/%{_lib}/gimp/2.0/plug-ins/gmic_gimp
%files -n libgmic1
%defattr(-,root,root)
%{_libdir}/libgmic.so.1*
%files -n libgmic-devel
%defattr(-,root,root)
/usr/include/gmic.h
%{_libdir}/libgmic.so
%files doc
%defattr(-,root,root)
#%dir %{_docdir}/gmic
%doc gmic_reference.pdf

3
gmic_1.5.8.4.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:18c4fc427b7f620b9143115b4f2b5cb0b2d825c444c6969b19367b038b7fb056
size 1676335

3
gmic_reference.pdf Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e0ea576f2ad1a444b9559025bb31f984b8d056ff0ba12d3473fd05fe02bc2e86
size 24650031