Christophe Giboudeaux 2022-05-01 12:28:09 +00:00 committed by Git OBS Bridge
parent 87afbe55a2
commit b54f244e90
8 changed files with 172 additions and 140 deletions

View File

@ -0,0 +1,39 @@
From 66475044c5ebed112d75cb51af925f9643b20d18 Mon Sep 17 00:00:00 2001
From: Christophe Giboudeaux <christophe@krop.fr>
Date: Sat, 30 Apr 2022 09:23:31 +0200
Subject: [PATCH] Find the local gmic library
GMic's working build system was replaced by a Makefile for unknown reasons
(the gmic author doesn't add messages to his commits).
To keep using CMake in gmic-qt, we need to teach it where the libgmic library is located.
---
gmic-qt/CMakeLists.txt | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/gmic-qt/CMakeLists.txt b/gmic-qt/CMakeLists.txt
index 3d4b109..fd360ba 100644
--- a/gmic-qt/CMakeLists.txt
+++ b/gmic-qt/CMakeLists.txt
@@ -119,6 +119,9 @@ if (NOT ENABLE_SYSTEM_GMIC)
if (NOT(${GMIC_VERSION} EQUAL ${CIMG_VERSION}))
message(FATAL_ERROR "\nVersion numbers of files 'gmic.h' (" ${GMIC_VERSION} ") and 'CImg.h' (" ${CIMG_VERSION} ") mismatch")
endif()
+
+ # find the 'gmic' library built using 'make lib' in the top folder
+ find_library(gmic NAMES gmic PATHS "${CMAKE_CURRENT_SOURCE_DIR}/../src")
endif()
@@ -567,7 +570,7 @@ if(ENABLE_DYNAMIC_LINKING)
set(CMAKE_SKIP_RPATH TRUE)
set(gmic_qt_LIBRARIES
${gmic_qt_LIBRARIES}
- "gmic"
+ ${gmic}
)
if (NOT ENABLE_SYSTEM_GMIC)
link_directories(${GMIC_LIB_PATH})
--
2.36.0

View File

@ -1,38 +0,0 @@
From de25bc1fab42ce294fbc0aa94f0cd0621491bf2e Mon Sep 17 00:00:00 2001
From: Christophe Giboudeaux <christophe@krop.fr>
Date: Mon, 7 Feb 2022 22:12:15 +0100
Subject: [PATCH] Remove unneeded CImg include
Build fails if CImg.h is included before gmic.h
---
src/gmic_cli.cpp | 1 -
src/gmic_libc.cpp | 1 -
2 files changed, 2 deletions(-)
diff --git a/src/gmic_cli.cpp b/src/gmic_cli.cpp
index b9ffa22..6d21160 100644
--- a/src/gmic_cli.cpp
+++ b/src/gmic_cli.cpp
@@ -49,7 +49,6 @@
*/
#include <signal.h>
-#include "CImg.h"
#include "gmic.h"
using namespace cimg_library;
diff --git a/src/gmic_libc.cpp b/src/gmic_libc.cpp
index 0736126..9aef11a 100644
--- a/src/gmic_libc.cpp
+++ b/src/gmic_libc.cpp
@@ -41,7 +41,6 @@
*/
#include <string>
-#include "CImg.h"
#include "gmic.h"
#include "gmic_libc.h"
--
2.35.1

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Fri Apr 29 06:37:52 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
- Update to 3.1.0. No changelog.
- Rebase patches:
* krita5.patch
- Add patch to keep using CMake when building gmic-qt:
* 0001-Find-the-local-gmic-library.patch
- Drop patch, no longer needed:
* 0001-Remove-unneeded-CImg-include.patch
-------------------------------------------------------------------
Mon Feb 7 10:11:38 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
@ -57,7 +68,7 @@ Fri Jan 14 18:41:47 UTC 2022 - Marcus Rueckert <mrueckert@suse.de>
-------------------------------------------------------------------
Fri Jan 14 17:39:09 UTC 2022 - Marcus Rueckert <mrueckert@suse.de>
- Remove unneeded BuildRequires fftw3-devel and cmake(KF5CoreAddons)
- Remove unneeded BuildRequires fftw3-devel and cmake(KF5CoreAddons)
-------------------------------------------------------------------
Fri Jan 14 17:31:52 UTC 2022 - Marcus Rueckert <mrueckert@suse.de>
@ -84,7 +95,7 @@ Fri Jan 14 11:01:21 UTC 2022 - Marcus Rueckert <mrueckert@suse.de>
Thu Jan 13 22:27:47 UTC 2022 - Marcus Rueckert <mrueckert@suse.de>
- enable opencv support xshm support
- Add BuildRequires xorg-x11-devel
- Add BuildRequires xorg-x11-devel
-------------------------------------------------------------------
Thu Jan 13 22:26:56 UTC 2022 - Marcus Rueckert <mrueckert@suse.de>
@ -180,7 +191,7 @@ Mon Feb 10 23:56:42 UTC 2020 - Christophe Giboudeaux <christophe@krop.fr>
-------------------------------------------------------------------
Fri Jan 24 08:19:13 UTC 2020 - Paolo Stivanin <info@paolostivanin.com>
- update to 2.8.3. No changelog
- update to 2.8.3. No changelog
-------------------------------------------------------------------
Tue Jan 14 20:44:14 UTC 2020 - Christophe Giboudeaux <christophe@krop.fr>
@ -350,10 +361,10 @@ Mon Jul 6 18:04:16 CEST 2015 - kurt@garloff.de
-------------------------------------------------------------------
Wed Jul 1 23:23:18 CEST 2015 - kurt@garloff.de
- Update to gmic-1.6.5.0:
- Update to gmic-1.6.5.0:
* https://www.flickr.com/groups/gmic/discuss/72157653514140862/
* New commands: -label3d, -head, -files
* Improvements -repeat, -axes, -warn, -displacement, -files2video,
* Improvements -repeat, -axes, -warn, -displacement, -files2video,
-apply_files
* Math parser now supports sqr()
* Bugfixes: Iain Fergusson denoising with selections and new layers,
@ -376,8 +387,8 @@ Thu Apr 30 17:58:26 CEST 2015 - kurt@garloff.de
* https://www.flickr.com/groups/gmic/discuss/72157651409869115/
* New commands -apply_timeout, -boxfilter, -serialize, -unserialize,
-fps, -transition.
* New filters Sequences / Spatial transition, Colors / Transfer colors
[advanced]
* New filters Sequences / Spatial transition, Colors / Transfer colors
[advanced]
* Improved error message line numbers in -if .. -endif block.
* Improved -blur, -displacement, - input, -warp
* Compressed storage of custom commands
@ -397,12 +408,12 @@ Thu Apr 30 17:58:26 CEST 2015 - kurt@garloff.de
- Udpate to gmic-1.6.0.4:
* https://www.flickr.com/groups/gmic/discuss/72157649713920459/
* New commands -array3d, -size3d, -imagegrid_hexagonal
* New filters Arrays & tiles / Grid [hexagonal], Arrays & Tiles /
* New filters Arrays & tiles / Grid [hexagonal], Arrays & Tiles /
Ministeck, Patterns / Crystal
* New command -delaunay3d, filter Artistic / Polygonize [delaunay]
* Improved -rgb2lab , -frame, -remove_pixels, -hostigram,
-equalize.
* Bugfixes for bbox with very very large images in -select and
* Bugfixes for bbox with very very large images in -select and
-display.
-------------------------------------------------------------------
Thu Jan 8 14:57:41 CET 2015 - kurt@garloff.de
@ -424,7 +435,7 @@ Thu Jan 8 14:57:41 CET 2015 - kurt@garloff.de
* New --guided, -cumulate
* New -apply_video, -video2files, -files2video, -average_video
* New -dct and -idct
* Improvements to -parallel
* Improvements to -parallel
* Improving -fitscreen and tiff -output
* Improvements for -snapshot3d, -text, -fft, -ifft, -blur
* Major ZArt update
@ -462,11 +473,11 @@ Sat Sep 6 23:59:57 CEST 2014 - kurt@garloff.de
* New filters for zart.
* Only support image datatypes with floats (thus remove -type),
but optionally do conversion in -input and -output.
* Supply boundary values in -map derived with
* Supply boundary values in -map derived with
neumann/dirichlet/periodic.
* More -blend paramaters.
* -apply_pose3d renamed to -pose3d.
* Remove -background3d (use enahnced -display3d and -snapshot3d
* Remove -background3d (use enahnced -display3d and -snapshot3d
to replace).
* Better exception handling (-onfail).
* gmic -h command suggests corrections for misspelled cmds.
@ -513,10 +524,10 @@ Sat Sep 6 23:59:57 CEST 2014 - kurt@garloff.de
* @{-1,t} now always returns a string
* Disable sharing global vars between threads
* -uncommand and -command improvements
- Update to gmic-1.5.8.5
- Update to gmic-1.5.8.5
* Support for PANDORE-5 (.pan) output files.
* Improve and optmize -replace-seq.
* Support for is_binary_data and maximum_sequence_length in
* Support for is_binary_data and maximum_sequence_length in
-compress-rle.
* Recoded and improved -text.
* Bugfixes for -output and math expressions starting with < or >.
@ -537,7 +548,7 @@ Sat Mar 8 19:47:38 CET 2014 - kurt@garloff.de
* 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.
* Fix thread destruction with non-wait mode and sub-commands.
-------------------------------------------------------------------
Fri Feb 14 12:10:02 CET 2014 - kurt@garloff.de
@ -553,7 +564,7 @@ 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,
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.
@ -578,17 +589,17 @@ Fri Jan 10 10:04:17 CET 2014 - kurt@garloff.de
* Bugfixes, Optimizations, and Improvements
* Small API changes
- Update to 1.5.7.2:
* New commands -output_ggr, -at_line, -x_metaballs, -cubes3d,
* 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
* 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,
* Improve parallelization (-fft, -apply_parallel,
-apply_parallel_overlap)
@ -600,26 +611,26 @@ Fri Sep 13 17:09:48 CEST 2013 - kurt@garloff.de
-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
* 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
* 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
* New command (and filter) -bokeh
* Math parser accepts 'j(dx,_dy,_dz,_dc,_interpolation,_boundary)'
* Commands '-deblur_richardsonlucy' and '-deblur_goldmeinel'
* 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
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
@ -627,7 +638,7 @@ Fri Sep 13 17:09:48 CEST 2013 - kurt@garloff.de
-------------------------------------------------------------------
Tue May 14 06:37:54 CEST 2013 - kurt@garloff.de
- Disable GraphicsMagick features again (dependency hell).
- Disable GraphicsMagick features again (dependency hell).
-------------------------------------------------------------------
Tue May 14 06:02:43 CEST 2013 - kurt@garloff.de
@ -638,7 +649,7 @@ Tue May 14 06:02:43 CEST 2013 - kurt@garloff.de
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.
- Enable openmp, xshm, xrandr, opencv and magick features.
-------------------------------------------------------------------
Sun May 12 00:55:20 CEST 2013 - kurt@garloff.de
@ -657,12 +668,12 @@ Fri May 10 01:16:53 CEST 2013 - kurt@garloff.de
* 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
* -richardson_lucy was a misnomer and is now called -deblur
* Various bugfixes
- Update to 1.5.4.0:
* Spanish translations
* Colors/Recolorize added
* -weave
* -weave
* -compose_* deprecated, use -blend instead
* bugfixes
- Update to 1.5.3.0:
@ -720,7 +731,7 @@ Wed Oct 19 15:37:32 CEST 2011 - garloff@suse.de
- 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
* 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),
@ -739,8 +750,8 @@ Wed Oct 19 15:37:32 CEST 2011 - garloff@suse.de
* 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,
* 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
@ -750,7 +761,7 @@ Wed Oct 19 15:37:32 CEST 2011 - garloff@suse.de
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.
-pointcloud3d.
- Update to 1.4.9.2:
* Improvments: package libgmic and header in .deb package, -flood, -label.
* Bug fixes: -round, 'Mirrored array' filter.
@ -789,7 +800,7 @@ Wed Oct 19 15:37:32 CEST 2011 - garloff@suse.de
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.
navigation through image lists, HSV equalizer.
* Improvements: Auto-completion, class name for windows, -display_array,
-append.
* Bug fixes: Manage mouse wheel again in -animate.
@ -802,7 +813,7 @@ Wed Oct 19 15:37:32 CEST 2011 - garloff@suse.de
* 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
* 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:
@ -819,7 +830,7 @@ Fri Dec 10 10:32:44 CET 2010 - garloff@suse.de
- 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'.
* 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'
@ -837,9 +848,9 @@ Fri Dec 10 10:32:44 CET 2010 - garloff@suse.de
* 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
bad memory access in command '-input', typos in various
error/warning messages.
* Features: '-gyroid3d', '-texturize3d', new default colormaps
* 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.
@ -847,7 +858,7 @@ Fri Dec 10 10:32:44 CET 2010 - garloff@suse.de
- 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,
- 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.
@ -867,7 +878,7 @@ Fri Dec 10 10:32:44 CET 2010 - garloff@suse.de
- Bugfixes
* Update to 1.3.6.0:
- Small improvements and optimizations: Better substitution mechanism
(with labels, making filter writing more comfortable), new ('-grid')
(with labels, making filter writing more comfortable), new ('-grid')
and improved commands
- Demo for new label mechanism: gmic -x_jawbreaker
@ -894,7 +905,7 @@ Fri Jun 25 10:59:01 CEST 2010 - garloff@suse.de
* Layers/Shape average
* Internal changes and optimizations
- Update to 1.3.4.1:
* Minor bug fixes
* Minor bug fixes
-------------------------------------------------------------------
Sun Mar 21 15:40:07 CET 2010 - garloff@suse.de
@ -918,13 +929,13 @@ Fri Mar 19 01:20:57 CET 2010 - garloff@suse.de
-------------------------------------------------------------------
Mon Nov 23 08:48:32 CET 2009 - garloff@suse.de
- Parallel make.
- Parallel make.
-------------------------------------------------------------------
Sun Nov 22 22:02:20 CET 2009 - garloff@suse.de
- Update to 1.3.2.9:
* Non-interactive mode possible
* Non-interactive mode possible
* Bug fixes and new modes
-------------------------------------------------------------------

View File

@ -35,12 +35,12 @@
%define hostapps gimp%{?gimp_suffix} krita
%endif
%define gmic_qt_options -DENABLE_SYSTEM_GMIC=OFF -DENABLE_DYNAMIC_LINKING=ON -DGMIC_PATH=%{_builddir}/%{name}-%{version}/src -DGMIC_LIB_PATH=%{_builddir}/%{name}-%{version}/build
%define gmic_qt_options -DENABLE_SYSTEM_GMIC=OFF -DENABLE_DYNAMIC_LINKING=ON
%define gmic_datadir %{_datadir}/gmic
Name: gmic
Version: 3.0.2
Version: 3.1.0
Release: 0
Summary: GREYC's Magick for Image Computing (denoise and others)
# gmic-qt is GPL-3.0-or-later, zart is CECILL-2.0, libgmic and cli program are
@ -50,25 +50,26 @@ Group: Productivity/Graphics/Bitmap Editors
URL: https://gmic.eu
# Git URL: https://github.com/dtschump/gmic
Source0: https://gmic.eu/files/source/gmic_%{version}.tar.gz
Source1: gmic_qt.png
# PATCH-FIX-UPSTREAM gmic-qt-make-it-work-without-gmic-cpp.patch - https://github.com/c-koi/gmic-qt/pull/134
Patch0: gmic-qt-make-it-work-without-gmic-cpp.patch
# PATCH-FIX-UPSTREAM krita.patch - Will be sent upstream soon. For now https://github.com/darix/gmic-qt/tree/krita5
Patch1: krita5.patch
# PATCH-FIX-UPSTREAM
Patch2: 0001-Remove-unneeded-CImg-include.patch
BuildRequires: cmake >= 3.14.0
BuildRequires: fftw3-threads-devel
# PATCH-FEATURE-OPENSUSE
Patch2: 0001-Find-the-local-gmic-library.patch
#
# BR for pkg_vcmp
# SECTION pkg_vcmp
#
# Those 2 are used for the pkg_vcmp conditionals above and also the rich expressions in the BuildRequires below
#
BuildRequires: gimp
BuildRequires: krita
#
#/BR for pkg_vcmp
# /SECTION
#
BuildRequires: cmake >= 3.14.0
BuildRequires: dos2unix
BuildRequires: fftw3-threads-devel
BuildRequires: hicolor-icon-theme
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-devel
@ -86,8 +87,10 @@ BuildRequires: pkgconfig(GraphicsMagick++)
BuildRequires: pkgconfig(OpenEXR)
BuildRequires: pkgconfig(fftw3)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libheif)
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(xcb-shm)
BuildRequires: pkgconfig(libtiff-4)
BuildRequires: pkgconfig(zlib)
# gmic first looks for opencv 4 and falls back to opencv 3 if not found.
@ -111,7 +114,7 @@ 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.
%package -n libgmic1
%package -n libgmic3
Summary: Shared library that belongs to gmic
License: CECILL-2.1
Group: Productivity/Graphics/Bitmap Editors
@ -120,9 +123,9 @@ Group: Productivity/Graphics/Bitmap Editors
Summary: Header and library from gmic for use in other C++ projects
License: CECILL-2.1
Group: Development/Libraries/C and C++
Requires: libgmic1 = %{version}
Requires: libgmic3 = %{version}
%description -n libgmic1
%description -n libgmic3
Shared library allows you to use gmic functionality from other
programs.
@ -175,18 +178,25 @@ BuildArch: noarch
This package contains shared data files for the various gmic frontends.
%prep
%autosetup -p1
%setup -q
dos2unix src/{gmic_libc.*,use_libcgmic.c}
%autopatch -p1
%build
# Build gmic
%cmake \
-DENABLE_DYNAMIC_LINKING=ON \
-DBUILD_LIB_STATIC=OFF \
-DENABLE_OPENCV:BOOL=ON \
-DENABLE_XSHM:BOOL=ON
%cmake_build
# Starting with gmic 3.1.0, the gmic dev replaced their CMake build system with a non-configurable Makefile...
sed -i 's#LIB = lib#LIB = %{_lib}#' src/Makefile
cd ..
# Breaks compilation for a couple archs
sed -i 's#-mtune=generic##' src/Makefile
# Broken rpath
sed -i 's# -Wl,-rpath,.##' src/Makefile
# The file is moved post-install in a directory not owned by gimp
sed -i 's#/usr/lib/gimp/2.0/plug-ins#%{gmic_datadir}#' src/gmic_stdlib.gmic
EXTRA_CFLAGS='%{optflags}' NOSTRIP=1 make lib cli_shared
# Build gmic{_gimp|_krita}_qt
pushd gmic-qt
@ -213,7 +223,16 @@ cd ..
popd
%install
%cmake_install
DESTDIR=%{buildroot} make install
# As planned, only providing a Makefile partially works...
install -m 0644 src/CImg.h %{buildroot}%{_includedir}
# Install icons
for size in 16 32 48 64; do
install -Dm 0644 gmic-qt/icons/application/${size}-gmic_qt.png %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/gmic_qt.png
done
install -Dm 0644 gmic-qt/icons/application/gmic_qt.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/gmic_qt.svg
%if %{with krita5}
DESTDIR=%{buildroot} cmake --install gmic-qt/plugin-build
@ -222,19 +241,23 @@ DESTDIR=%{buildroot} cmake --install gmic-qt/plugin-build
install -m 0755 gmic-qt/build/gmic_krita_qt %{buildroot}%{_bindir}/gmic_krita_qt
%endif
install -D -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/pixmaps/gmic_qt.png
%suse_update_desktop_file -c gmic_qt "G'Mic Qt" "G'MIC Qt GUI" "gmic_qt %%F" gmic_qt "Qt;Graphics;Photography;"
# Already installed in the hicolor namespace
rm %{buildroot}%{_datadir}/pixmaps/gmic_qt.png
# Film color lookup tables
install -d -m 0755 \
%{buildroot}%{_gimpplugindir} \
%{buildroot}%{gmic_datadir}/
# Move gmic plugins out of the gimp plugin dir
for file in gmic_cluts.gmz gmic_denoise_cnn.gmz ; do
install -m 0644 resources/${file} %{buildroot}%{gmic_datadir}/${file}
mv %{buildroot}%{_libdir}/gimp/2.0/plug-ins/${file} %{buildroot}%{gmic_datadir}/
done
# This manpage isn't translated
rm %{buildroot}%{_mandir}/fr/man1/gmic.1*
# qt_gmic
pushd gmic-qt
install -m 0755 build/gmic_qt %{buildroot}%{_bindir}/gmic_qt
@ -243,43 +266,40 @@ install -m 0755 build/gmic_qt %{buildroot}%{_bindir}/gmic_qt
install -m 0755 build/gmic_gimp_qt %{buildroot}%{_gimpplugindir}/gmic_gimp_qt
popd
%post -n libgmic1 -p /sbin/ldconfig
%postun -n libgmic1 -p /sbin/ldconfig
%post -n libgmic3 -p /sbin/ldconfig
%postun -n libgmic3 -p /sbin/ldconfig
%files
%license COPYING
%doc README gmic-qt/README.md
%{_bindir}/gmic
%{_bindir}/gmic_qt
%{_mandir}/man1/gmic.1%{?ext_man}
%{_datadir}/applications/gmic_qt.desktop
%{_datadir}/pixmaps/gmic_qt.png
%{_datadir}/icons/hicolor/*/apps/gmic_qt.png
%{_datadir}/icons/hicolor/scalable/apps/gmic_qt.svg
%files data
%license COPYING
%{gmic_datadir}/
%files -n gimp-plugin-gmic
%license COPYING
%{_gimpplugindir}/
%files -n krita-plugin-gmic
%license COPYING
%if %{with krita5}
%{_kf5_libdir}/kritaplugins/krita_gmic_qt.so
%else
%{_bindir}/gmic_krita_qt
%endif
%files -n libgmic1
%files -n libgmic3
%license COPYING
%{_libdir}/libgmic.so.*
%files -n libgmic-devel
%{_includedir}/CImg.h
%{_includedir}/gmic.h
%{_includedir}/gmic_libc.h
%{_libdir}/libgmic.so
%{_libdir}/cmake/gmic/
%files bash-completion
%dir %{_datadir}/bash-completion/completions

View File

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

3
gmic_3.1.0.tar.gz Normal file
View File

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

View File

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

View File

@ -1,13 +1,13 @@
diff --git a/gmic-qt/CMakeLists.txt b/gmic-qt/CMakeLists.txt
index 8bba11e..6137f59 100644
index 61d2b9c..3d4b109 100644
--- a/gmic-qt/CMakeLists.txt
+++ b/gmic-qt/CMakeLists.txt
@@ -22,7 +22,7 @@ endif()
message("Build type is " ${CMAKE_BUILD_TYPE})
-set (GMIC_QT_HOST "gimp" CACHE STRING "Define for which host qmic-qt will be built: gimp, gimp3 (experimental), krita, none, paintdotnet or 8bf.")
+set (GMIC_QT_HOST "gimp" CACHE STRING "Define for which host qmic-qt will be built: gimp, gimp3 (experimental), krita, krita-plugin, none, paintdotnet or 8bf.")
-set (GMIC_QT_HOST "gimp" CACHE STRING "Define for which host gmic-qt will be built: gimp, gimp3 (experimental), krita, none, paintdotnet or 8bf.")
+set (GMIC_QT_HOST "gimp" CACHE STRING "Define for which host gmic-qt will be built: gimp, gimp3 (experimental), krita, krita-plugin, none, paintdotnet or 8bf.")
if (${GMIC_QT_HOST} STREQUAL "none")
message("Building standalone version.")
else()
@ -292,10 +292,10 @@ index 0a32a65..b12058d 100644
_grid->addWidget(_slider, row, 1, 1, 1);
_grid->addWidget(_spinBox, row, 2, 1, 1);
diff --git a/gmic-qt/src/FilterParameters/NoteParameter.cpp b/gmic-qt/src/FilterParameters/NoteParameter.cpp
index 34d3424..bd1df33 100644
index 3b71c19..24e7b58 100644
--- a/gmic-qt/src/FilterParameters/NoteParameter.cpp
+++ b/gmic-qt/src/FilterParameters/NoteParameter.cpp
@@ -87,14 +87,14 @@ bool NoteParameter::initFromText(const QString & filterName, const char * text,
@@ -87,14 +87,14 @@ bool NoteParameter::initFromText(const QString & /* filterName */, const char *
_text = list[1].trimmed(); // Notes are never translated
_text.remove(QRegExp("^\"")).remove(QRegExp("\"$")).replace(QString("\\\""), "\"");
_text.replace(QString("\\n"), "<br/>");
@ -313,7 +313,7 @@ index 34d3424..bd1df33 100644
_text.replace(QRegExp("foreground\\s*=\\s*\""), QString("style=\"color:"));
_text = HtmlTranslator::fromUtf8Escapes(_text);
diff --git a/gmic-qt/src/FilterParameters/SeparatorParameter.cpp b/gmic-qt/src/FilterParameters/SeparatorParameter.cpp
index 40347f7..941b280 100644
index 0bacffb..623b5d9 100644
--- a/gmic-qt/src/FilterParameters/SeparatorParameter.cpp
+++ b/gmic-qt/src/FilterParameters/SeparatorParameter.cpp
@@ -58,9 +58,11 @@ bool SeparatorParameter::addTo(QWidget * widget, int row)
@ -329,7 +329,7 @@ index 40347f7..941b280 100644
return true;
}
diff --git a/gmic-qt/src/FilterSelector/FiltersPresenter.cpp b/gmic-qt/src/FilterSelector/FiltersPresenter.cpp
index e39270f..18e722e 100644
index 5406eb1..2481bc2 100644
--- a/gmic-qt/src/FilterSelector/FiltersPresenter.cpp
+++ b/gmic-qt/src/FilterSelector/FiltersPresenter.cpp
@@ -416,7 +416,7 @@ void FiltersPresenter::expandFaveFolder()
@ -996,7 +996,7 @@ index e18f31f..8c6f8f2 100644
}
}
diff --git a/gmic-qt/src/MainWindow.cpp b/gmic-qt/src/MainWindow.cpp
index 33db6e4..9311901 100644
index d89aa7e..56b4bec 100644
--- a/gmic-qt/src/MainWindow.cpp
+++ b/gmic-qt/src/MainWindow.cpp
@@ -184,8 +184,12 @@ MainWindow::MainWindow(QWidget * parent) : QMainWindow(parent), ui(new Ui::MainW
@ -1037,7 +1037,7 @@ index 33db6e4..9311901 100644
}
_filtersPresenter->toggleSelectionMode(withVisibility);
@@ -477,7 +483,7 @@ void MainWindow::onStartupFiltersUpdateFinished(int status)
@@ -478,7 +484,7 @@ void MainWindow::onStartupFiltersUpdateFinished(int status)
} else if (status == (int)Updater::UpdateStatus::NotNecessary) {
}
@ -1046,7 +1046,7 @@ index 33db6e4..9311901 100644
_gtkFavesShouldBeImported = false;
} else {
_gtkFavesShouldBeImported = askUserForGTKFavesImport();
@@ -494,7 +500,7 @@ void MainWindow::onStartupFiltersUpdateFinished(int status)
@@ -495,7 +501,7 @@ void MainWindow::onStartupFiltersUpdateFinished(int status)
}
// Retrieve and select previously selected filter
@ -1055,7 +1055,7 @@ index 33db6e4..9311901 100644
if (_newSession || !_lastExecutionOK) {
hash.clear();
}
@@ -559,7 +565,9 @@ void MainWindow::onEscapeKeyPressed()
@@ -560,7 +566,9 @@ void MainWindow::onEscapeKeyPressed()
} else {
_processor.cancel();
ui->previewWidget->displayOriginalImage();
@ -1065,7 +1065,7 @@ index 33db6e4..9311901 100644
}
}
}
@@ -671,7 +679,9 @@ void MainWindow::onPreviewUpdateRequested(bool synchronous)
@@ -672,7 +680,9 @@ void MainWindow::onPreviewUpdateRequested(bool synchronous)
ui->previewWidget->displayOriginalImage();
return;
}
@ -1075,7 +1075,7 @@ index 33db6e4..9311901 100644
const FiltersPresenter::Filter currentFilter = _filtersPresenter->currentFilter();
GmicProcessor::FilterContext context;
@@ -733,7 +743,9 @@ void MainWindow::onPreviewImageAvailable()
@@ -736,7 +746,9 @@ void MainWindow::onPreviewImageAvailable()
}
ui->previewWidget->setPreviewImage(_processor.previewImage());
ui->previewWidget->enableRightClick();
@ -1085,7 +1085,7 @@ index 33db6e4..9311901 100644
if (_pendingActionAfterCurrentProcessing == ProcessingAction::Close) {
close();
}
@@ -743,7 +755,9 @@ void MainWindow::onPreviewError(const QString & message)
@@ -746,7 +758,9 @@ void MainWindow::onPreviewError(const QString & message)
{
ui->previewWidget->setPreviewErrorMessage(message);
ui->previewWidget->enableRightClick();
@ -1095,7 +1095,7 @@ index 33db6e4..9311901 100644
if (_pendingActionAfterCurrentProcessing == ProcessingAction::Close) {
close();
}
@@ -969,7 +983,7 @@ void MainWindow::saveCurrentParameters()
@@ -973,7 +987,7 @@ void MainWindow::saveCurrentParameters()
void MainWindow::saveSettings()
{
@ -1104,7 +1104,7 @@ index 33db6e4..9311901 100644
_filtersPresenter->saveSettings(settings);
@@ -1010,7 +1024,7 @@ void MainWindow::saveSettings()
@@ -1014,7 +1028,7 @@ void MainWindow::saveSettings()
void MainWindow::loadSettings()
{
@ -1113,7 +1113,7 @@ index 33db6e4..9311901 100644
_filtersPresenter->loadSettings(settings);
_lastExecutionOK = settings.value("LastExecution/ExitedNormally", true).toBool();
@@ -1026,9 +1040,11 @@ void MainWindow::loadSettings()
@@ -1030,9 +1044,11 @@ void MainWindow::loadSettings()
if (settings.value("Config/PreviewPosition", "Left").toString() == "Left") {
setPreviewPosition(PreviewPosition::Left);
}
@ -1125,7 +1125,7 @@ index 33db6e4..9311901 100644
if (!DialogSettings::logosAreVisible()) {
ui->logosLabel->hide();
}
@@ -1068,7 +1084,7 @@ void MainWindow::loadSettings()
@@ -1072,7 +1088,7 @@ void MainWindow::loadSettings()
ui->splitter->setSizes(sizes);
}
@ -1134,7 +1134,7 @@ index 33db6e4..9311901 100644
}
void MainWindow::setPreviewPosition(MainWindow::PreviewPosition position)
@@ -1130,7 +1146,7 @@ void MainWindow::setPreviewPosition(MainWindow::PreviewPosition position)
@@ -1134,7 +1150,7 @@ void MainWindow::setPreviewPosition(MainWindow::PreviewPosition position)
void MainWindow::adjustVerticalSplitter()
{
QList<int> sizes;
@ -1143,7 +1143,7 @@ index 33db6e4..9311901 100644
sizes.push_back(settings.value(QString("Config/ParamsVerticalSplitterSizeTop"), -1).toInt());
sizes.push_back(settings.value(QString("Config/ParamsVerticalSplitterSizeBottom"), -1).toInt());
const int splitterHeight = ui->verticalSplitter->height();
@@ -1251,12 +1267,16 @@ void MainWindow::showEvent(QShowEvent * event)
@@ -1255,12 +1271,16 @@ void MainWindow::showEvent(QShowEvent * event)
Updater::setOutputMessageMode(DialogSettings::outputMessageMode());
int ageLimit;
{
@ -1162,7 +1162,7 @@ index 33db6e4..9311901 100644
}
void MainWindow::resizeEvent(QResizeEvent * e)
@@ -1273,17 +1293,19 @@ bool MainWindow::askUserForGTKFavesImport()
@@ -1277,17 +1297,19 @@ bool MainWindow::askUserForGTKFavesImport()
QMessageBox::Yes | QMessageBox::No, this);
messageBox.setDefaultButton(QMessageBox::Yes);
QCheckBox * cb = new QCheckBox(tr("Don't ask again"));
@ -1303,3 +1303,6 @@ index 8345152..17d8bb8 100644
<property name="title">
<string>Theme</string>
</property>
--
2.36.0