Skip to content

Commit e5049a3

Browse files
committed
feat: re-enable and update gmic
1 parent 35122b9 commit e5049a3

File tree

1 file changed

+65
-53
lines changed

1 file changed

+65
-53
lines changed

snap/snapcraft.yaml

+65-53
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ parts:
164164
- libexif-dev
165165
- libexpat1-dev
166166
- libfftw3-dev
167-
- libgexiv2-2
167+
- libgexiv2-dev
168168
- libgpm-dev
169169
- libice-dev
170170
- libluajit-5.1-dev
@@ -193,7 +193,7 @@ parts:
193193
- libbz2-1.0
194194
- libexif12
195195
- libfftw3-bin
196-
- libgexiv2-dev
196+
- libgexiv2-2
197197
- libgpm2
198198
- libheif1
199199
- libluajit-5.1-2
@@ -218,55 +218,67 @@ parts:
218218
- mypaint-data
219219
- poppler-data
220220

221-
# TODO(jnsgruk): Re-enable once compatibility is restored with GIMP 3.0
222-
# gmic:
223-
# after: [gimp]
224-
# plugin: nil
225-
# override-pull: |
226-
# VERSION="v.3.4.2"
227-
# git clone -b "$VERSION" https://github.com/GreycLab/gmic.git
228-
# git clone -b "$VERSION" https://github.com/GreycLab/CImg.git
229-
# git clone -b "$VERSION" https://github.com/c-koi/gmic-qt.git
221+
gmic:
222+
after: [gimp]
223+
plugin: dump
224+
source: https://gmic.eu/files/source/gmic_3.5.0.tar.gz
225+
build-environment:
226+
- QT_SELECT: qt6
227+
build-packages:
228+
- cmake
229+
- pkg-config
230+
- qt6-base-dev
231+
- qt6-l10n-tools
232+
- qt6-tools-dev
233+
- qt6-wayland-dev
234+
- qtchooser
235+
- wget
236+
stage-packages:
237+
- libcurl4
238+
- libdouble-conversion3
239+
- libfftw3-bin
240+
- libffi8
241+
- libgraphicsmagick-q16-3
242+
- libgraphicsmagick++-q16-12
243+
- libjpeg-turbo8
244+
- libopencv-core406t64
245+
- libopencv-highgui406t64
246+
- libopencv-video406t64
247+
- libopenexr-3-1-30
248+
- libpng16-16
249+
- libqt6core6t64
250+
- libqt6gui6t64
251+
- libqt6network6t64
252+
- libqt6widgets6t64
253+
- qt6-wayland
254+
override-build: |
255+
qtchooser -install qt6 "$(which qmake6)" || true
256+
make -C src CImg.h gmic_stdlib_community.h
257+
258+
cd gmic-qt
259+
# The CMakeLists.txt file hard-codes a minimum QT6 version of 6.5.0, which is not available
260+
# in Noble. Testing confirms that things seem to work fine on the version in Noble (6.4.2).
261+
sed -i "s|set(MIN_QT_VERSION 6.5.0)|set(MIN_QT_VERSION 6.4.0)|g" CMakeLists.txt
262+
263+
mkdir build
264+
cd build
265+
cmake \
266+
-DGMIC_QT_HOST=gimp3 \
267+
-DGMIC_PATH=$CRAFT_PART_SRC/src \
268+
-DCMAKE_BUILD_TYPE=Release \
269+
-DENABLE_SYSTEM_GMIC=OFF \
270+
-DBUILD_WITH_QT6=ON \
271+
..
272+
273+
make
274+
275+
install -Dm 0755 $CRAFT_PART_BUILD/gmic-qt/build/gmic_gimp_qt \
276+
$CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/gimp/3.0/plug-ins/gmic_gimp_qt/gmic_gimp_qt
230277
231-
# # Force this extra online fetch to happen during the pull phase.
232-
# # This build takes a long time on Launchpad, and if we wait until
233-
# # the build phase, by the time we get there the proxy token has
234-
# # expired - so force it to happen here.
235-
# wget -qO gmic/src/gmic_stdlib_community.h "https://gmic.eu/gmic_stdlib_community$(echo "${VERSION}" | tr -d "v.").h"
236-
# build-environment:
237-
# - QT_SELECT: qt6
238-
# build-packages:
239-
# - pkg-config
240-
# - qmake6-bin
241-
# - qt6-base-dev
242-
# - qt6-l10n-tools
243-
# - qt6-tools-dev
244-
# - qt6-wayland-dev
245-
# - qtchooser
246-
# - wget
247-
# stage-packages:
248-
# - libcurl4
249-
# - libdouble-conversion3
250-
# - libfftw3-bin
251-
# - libffi8
252-
# - libgraphicsmagick-q16-3
253-
# - libgraphicsmagick++-q16-12
254-
# - libjpeg-turbo8
255-
# - libopencv-core406t64
256-
# - libopencv-highgui406t64
257-
# - libopencv-video406t64
258-
# - libopenexr-3-1-30
259-
# - libpng16-16
260-
# - libqt6core6t64
261-
# - libqt6gui6t64
262-
# - libqt6network6t64
263-
# - libqt6widgets6t64
264-
# - qt6-wayland
265-
# override-build: |
266-
# qtchooser -install qt6 "$(which qmake6)" || true
267-
# make -C gmic/src CImg.h gmic_stdlib_community.h
268-
# cd gmic-qt
269-
# qmake HOST=gimp3
270-
# make
271-
# install -Dm 0755 $CRAFT_PART_BUILD/gmic-qt/gmic_gimp_qt \
272-
# $CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/gimp/3.0/plug-ins/gmic_gimp_qt/gmic_gimp_qt
278+
cleanup:
279+
after: [gmic]
280+
source: https://github.com/canonical/gpu-snap.git
281+
plugin: dump
282+
override-prime: |
283+
craftctl default
284+
${CRAFT_PART_SRC}/bin/gpu-2404-cleanup mesa-2404

0 commit comments

Comments
 (0)