mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-10-05 21:02:42 +02:00
Compare commits
20 Commits
5099a13987
...
9243da158f
Author | SHA1 | Date | |
---|---|---|---|
|
9243da158f | ||
|
ebd6e64dc8 | ||
|
4768a4283d | ||
|
fe4a698928 | ||
|
d8d73266bc | ||
|
356c2baec5 | ||
|
aea7042aa1 | ||
|
97944a5415 | ||
|
a5182a010f | ||
|
9c2c5ff183 | ||
|
f09007507f | ||
|
2b91551f4e | ||
|
cbe56ff388 | ||
|
7cec3f52b9 | ||
|
81c67e5614 | ||
|
67fa72a94e | ||
|
6587256c3a | ||
|
ad9dbf2c8b | ||
|
2f0bfc569b | ||
|
67f067183d |
@@ -395,7 +395,8 @@ gimp-debian:
|
||||
MESON_DIST: 0
|
||||
before_script:
|
||||
- export GIMP_PREFIX="${CI_PROJECT_DIR}/_install"
|
||||
timeout: 30m
|
||||
#30min is enough only if no module was updated/rebuilt, we need more time in case of module bumps
|
||||
timeout: 90m
|
||||
|
||||
deps-flatpak:
|
||||
extends: .flatpak
|
||||
@@ -532,10 +533,7 @@ gimp-snap:
|
||||
STORE_OPTION: '-Dms-store=true'
|
||||
parallel:
|
||||
matrix:
|
||||
- RUNNER: windows-aarch64
|
||||
MSYSTEM_PREFIX: clangarm64
|
||||
- RUNNER: win32-ps
|
||||
MSYSTEM_PREFIX: clang64
|
||||
- RUNNER: [windows-aarch64, win32-ps]
|
||||
tags:
|
||||
- $RUNNER
|
||||
variables:
|
||||
@@ -543,8 +541,8 @@ gimp-snap:
|
||||
#meson.build forces non-relocatable .pc. See: https://github.com/mesonbuild/meson/issues/14346
|
||||
PKGCONF_RELOCATABLE_OPTION: '-Dpkgconfig.relocatable=true'
|
||||
before_script:
|
||||
# FIXME:'gimpenv' have buggy code about Windows paths. See: https://gitlab.gnome.org/GNOME/gimp/-/issues/12284
|
||||
- $GIMP_PREFIX = "$PWD\_install-$MSYSTEM_PREFIX".Replace('\', '/')
|
||||
- if (-not $env:MSYSTEM_PREFIX) { $env:MSYSTEM_PREFIX = if ((Get-WmiObject Win32_ComputerSystem).SystemType -like 'ARM64*') { 'clangarm64' } else { 'clang64' }}
|
||||
- $GIMP_PREFIX = "$PWD\_install-$env:MSYSTEM_PREFIX"
|
||||
timeout: 30m
|
||||
|
||||
.win_environ: &WIN_ENVIRON
|
||||
@@ -565,9 +563,9 @@ deps-win:
|
||||
- build\windows\1_build-deps-msys2.ps1
|
||||
artifacts:
|
||||
paths:
|
||||
- _install-$MSYSTEM_PREFIX/
|
||||
- babl/_build-$MSYSTEM_PREFIX/meson-logs/meson-log.txt
|
||||
- gegl/_build-$MSYSTEM_PREFIX/meson-logs/meson-log.txt
|
||||
- _install-*/
|
||||
- babl/_build-*/meson-logs/meson-log.txt
|
||||
- gegl/_build-*/meson-logs/meson-log.txt
|
||||
expire_in: 2 hours
|
||||
|
||||
gimp-win:
|
||||
@@ -583,14 +581,14 @@ gimp-win:
|
||||
- build\windows\2_build-gimp-msys2.ps1
|
||||
artifacts:
|
||||
paths:
|
||||
- gimp-$MSYSTEM_PREFIX/
|
||||
- _build-$MSYSTEM_PREFIX/meson-logs/meson-log.txt
|
||||
- _build-$MSYSTEM_PREFIX/done-dll.list
|
||||
- gimp-*/
|
||||
- _build-*/meson-logs/meson-log.txt
|
||||
- _build-*/done-dll.list
|
||||
# Needed by dist-installer-weekly and dist-store-weekly
|
||||
- _build-$MSYSTEM_PREFIX/config.h
|
||||
- _build-$MSYSTEM_PREFIX/plug-ins/file_associations.list
|
||||
- _build-$MSYSTEM_PREFIX/build/windows/installer/
|
||||
- _build-$MSYSTEM_PREFIX/build/windows/store/
|
||||
- _build-*/config.h
|
||||
- _build-*/plug-ins/file_associations.list
|
||||
- _build-*/build/windows/installer/
|
||||
- _build-*/build/windows/store/
|
||||
expire_in: 2 days
|
||||
|
||||
|
||||
@@ -599,12 +597,10 @@ gimp-win:
|
||||
extends: .win
|
||||
parallel:
|
||||
matrix:
|
||||
- RUNNER: win32-ps
|
||||
MSYSTEM_PREFIX: mingw32
|
||||
- RUNNER: [win32-ps]
|
||||
variables:
|
||||
MSYSTEM_PREFIX: mingw32
|
||||
MINGW_PACKAGE_PREFIX: mingw-w64-i686
|
||||
CC: cc
|
||||
CXX: c++
|
||||
|
||||
deps-win-eol:
|
||||
extends: .win-eol
|
||||
|
@@ -24,7 +24,7 @@ https://gitlab.gnome.org/GNOME/gimp/-/issues/?sort=updated_desc&state=all&label_
|
||||
- "Be considerate and respectful". This is our main rule.
|
||||
E.g. avoid negative emotional writing which only generates more upsetting
|
||||
interactions.
|
||||
- Stay on topic by writting only one bug per report created.
|
||||
- Stay on topic by writing only one bug per report created.
|
||||
- Add full (not cropped) screenshots or other files using the clip button on GitLab. -->
|
||||
|
||||
### Reproduction
|
||||
|
@@ -12,4 +12,4 @@
|
||||
Only human created works please!
|
||||
|
||||
- You can request the devs to allow installable packages to be
|
||||
generated from this MR by writting ~Package: in the comments -->
|
||||
generated from this MR by writing ~Package: in the comments -->
|
||||
|
@@ -101,6 +101,6 @@ libappactions = static_library('appactions',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-Actions"',
|
||||
dependencies: [
|
||||
gegl, gdk_pixbuf, gtk3,
|
||||
gegl, gdk_pixbuf, gtk3, gexiv2,
|
||||
],
|
||||
)
|
||||
|
@@ -44,7 +44,7 @@ libappconfig = static_library('appconfig',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-Config"',
|
||||
dependencies: [
|
||||
cairo, gegl, gdk_pixbuf, gio, gio_specific, libmypaint,
|
||||
cairo, gegl, gdk_pixbuf, gexiv2, gio, gio_specific, libmypaint,
|
||||
],
|
||||
)
|
||||
|
||||
|
@@ -122,6 +122,6 @@ libappdisplay = static_library('appdisplay',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-Display"',
|
||||
dependencies: [
|
||||
gegl, gtk3, cairo,
|
||||
gegl, gtk3, cairo, gexiv2
|
||||
],
|
||||
)
|
||||
|
@@ -16,6 +16,7 @@ libappfiledata = static_library('appfiledata',
|
||||
cairo,
|
||||
gdk_pixbuf,
|
||||
gegl,
|
||||
gexiv2,
|
||||
libarchive,
|
||||
],
|
||||
)
|
||||
|
@@ -11,6 +11,6 @@ libappfile = static_library('appfile',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-File"',
|
||||
dependencies: [
|
||||
gegl, gdk_pixbuf,
|
||||
gegl, gdk_pixbuf, gexiv2
|
||||
],
|
||||
)
|
||||
|
@@ -56,5 +56,6 @@ libappgegl = static_library('appgegl',
|
||||
cairo,
|
||||
gegl,
|
||||
gdk_pixbuf,
|
||||
gexiv2
|
||||
],
|
||||
)
|
||||
|
@@ -31,7 +31,7 @@ libappgui = static_library('appgui',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-GUI"',
|
||||
dependencies: [
|
||||
cairo, gegl, gdk_pixbuf, gio_specific, gtk3
|
||||
cairo, gegl, gdk_pixbuf, gexiv2, gio_specific, gtk3
|
||||
],
|
||||
install: false,
|
||||
)
|
||||
|
@@ -16,6 +16,6 @@ libappmenus = static_library('appmenus',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-Menus"',
|
||||
dependencies: [
|
||||
gegl, gtk3
|
||||
gegl, gtk3, gexiv2
|
||||
],
|
||||
)
|
||||
|
@@ -25,6 +25,6 @@ libapplayermodeslegacy = static_library('applayermodeslegacy',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-Layer-Modes-Legacy"',
|
||||
dependencies: [
|
||||
cairo, gegl, gdk_pixbuf,
|
||||
cairo, gegl, gdk_pixbuf, gexiv2
|
||||
],
|
||||
)
|
||||
|
@@ -50,5 +50,6 @@ libapplayermodes = static_library('applayermodes',
|
||||
cairo,
|
||||
gegl,
|
||||
gdk_pixbuf,
|
||||
gexiv2
|
||||
],
|
||||
)
|
||||
|
@@ -66,7 +66,7 @@ libappoperations = static_library('appoperations',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-Operations"',
|
||||
dependencies: [
|
||||
cairo, gegl, gdk_pixbuf,
|
||||
cairo, gegl, gdk_pixbuf, gexiv2
|
||||
],
|
||||
)
|
||||
|
||||
|
@@ -63,6 +63,6 @@ libapppaint = static_library('apppaint',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-Paint"',
|
||||
dependencies: [
|
||||
cairo, gegl, gdk_pixbuf, libmypaint,
|
||||
cairo, gegl, gdk_pixbuf, gexiv2, libmypaint,
|
||||
],
|
||||
)
|
||||
|
@@ -22,6 +22,6 @@ libapppath = static_library('apppath',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-Path"',
|
||||
dependencies: [
|
||||
cairo, gegl, gdk_pixbuf,
|
||||
cairo, gegl, gdk_pixbuf, gexiv2
|
||||
],
|
||||
)
|
||||
|
@@ -75,7 +75,7 @@ libapppdb = static_library('apppdb',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-PDB"',
|
||||
dependencies: [
|
||||
cairo, gegl, gdk_pixbuf,
|
||||
cairo, gegl, gdk_pixbuf, gexiv2
|
||||
],
|
||||
)
|
||||
|
||||
@@ -85,7 +85,7 @@ libappinternalprocs = static_library('appinternalprocs',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-PDB"',
|
||||
dependencies: [
|
||||
cairo, gegl, gdk_pixbuf, pangocairo, pango,
|
||||
cairo, gegl, gdk_pixbuf, gexiv2, pangocairo, pango,
|
||||
],
|
||||
sources: [
|
||||
pdbgen
|
||||
|
@@ -56,6 +56,6 @@ libappplugin = static_library('appplug-in',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-Plug-In"',
|
||||
dependencies: [
|
||||
cairo, gegl, gdk_pixbuf,
|
||||
cairo, gegl, gdk_pixbuf, gexiv2,
|
||||
],
|
||||
)
|
||||
|
@@ -28,6 +28,6 @@ libapppropgui = static_library('apppropgui',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-PropGUI"',
|
||||
dependencies: [
|
||||
gegl, gtk3,
|
||||
gegl, gtk3, gexiv2
|
||||
],
|
||||
)
|
||||
|
@@ -464,7 +464,7 @@ sanity_check_babl (void)
|
||||
|
||||
#define BABL_REQUIRED_MAJOR 0
|
||||
#define BABL_REQUIRED_MINOR 1
|
||||
#define BABL_REQUIRED_MICRO 114
|
||||
#define BABL_REQUIRED_MICRO 116
|
||||
|
||||
babl_get_version (&babl_major_version,
|
||||
&babl_minor_version,
|
||||
@@ -502,7 +502,7 @@ sanity_check_gegl (void)
|
||||
|
||||
#define GEGL_REQUIRED_MAJOR 0
|
||||
#define GEGL_REQUIRED_MINOR 4
|
||||
#define GEGL_REQUIRED_MICRO 62
|
||||
#define GEGL_REQUIRED_MICRO 64
|
||||
|
||||
gegl_get_version (&gegl_major_version,
|
||||
&gegl_minor_version,
|
||||
|
@@ -42,6 +42,6 @@ libapptext = static_library('apptext',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-Text"',
|
||||
dependencies: [
|
||||
gegl, gdk_pixbuf, harfbuzz, pangocairo, pangoft2,
|
||||
gegl, gdk_pixbuf, gexiv2, harfbuzz, pangocairo, pangoft2,
|
||||
],
|
||||
)
|
||||
|
@@ -562,48 +562,50 @@ gimp_filter_tool_control (GimpTool *tool,
|
||||
|
||||
case GIMP_TOOL_ACTION_COMMIT:
|
||||
if (filter_tool->filter)
|
||||
drawable = gimp_drawable_filter_get_drawable (filter_tool->filter);
|
||||
|
||||
/* TODO: Expand non-destructive editing to other drawables
|
||||
* besides layers and channels */
|
||||
if ((! GIMP_IS_LAYER (drawable) && ! GIMP_IS_CHANNEL (drawable)) ||
|
||||
GIMP_IS_LAYER_MASK (drawable) ||
|
||||
(! filter_tool->existing_filter && options->merge_filter))
|
||||
non_destructive = FALSE;
|
||||
|
||||
if (filter_tool->operation)
|
||||
{
|
||||
gegl_node_get (filter_tool->operation,
|
||||
"operation", &operation_name,
|
||||
NULL);
|
||||
drawable = gimp_drawable_filter_get_drawable (filter_tool->filter);
|
||||
|
||||
if (! g_strcmp0 (operation_name, "gegl:nop"))
|
||||
/* TODO: Expand non-destructive editing to other drawables
|
||||
* besides layers and channels */
|
||||
if ((! GIMP_IS_LAYER (drawable) && ! GIMP_IS_CHANNEL (drawable)) ||
|
||||
GIMP_IS_LAYER_MASK (drawable) ||
|
||||
(! filter_tool->existing_filter && options->merge_filter))
|
||||
non_destructive = FALSE;
|
||||
|
||||
/* TODO: Once we can serialize GimpDrawable, remove so that filters with
|
||||
* aux nodes can be non-destructive */
|
||||
if (gegl_node_has_pad (filter_tool->operation, "aux") ||
|
||||
/* GEGL graph is dangerous even without using third-party
|
||||
* effects, because it may run any effect. E.g. it can
|
||||
* run sink effects overwriting any local files with user
|
||||
* rights. We leave a way in through an environment
|
||||
* variable because it is a useful tool for GEGL ops
|
||||
* developers but it should only be set while knowing what
|
||||
* you are doing.
|
||||
*/
|
||||
(g_strcmp0 (operation_name, "gegl:gegl") == 0 &&
|
||||
g_getenv ("GIMP_ALLOW_GEGL_GRAPH_LAYER_EFFECT") == NULL))
|
||||
non_destructive = FALSE;
|
||||
if (filter_tool->operation)
|
||||
{
|
||||
gegl_node_get (filter_tool->operation,
|
||||
"operation", &operation_name,
|
||||
NULL);
|
||||
|
||||
g_free (operation_name);
|
||||
if (! g_strcmp0 (operation_name, "gegl:nop"))
|
||||
non_destructive = FALSE;
|
||||
|
||||
/* TODO: Once we can serialize GimpDrawable, remove so that
|
||||
* filters with aux nodes can be non-destructive */
|
||||
if (gegl_node_has_pad (filter_tool->operation, "aux") ||
|
||||
/* GEGL graph is dangerous even without using third-party
|
||||
* effects, because it may run any effect. E.g. it can
|
||||
* run sink effects overwriting any local files with user
|
||||
* rights. We leave a way in through an environment
|
||||
* variable because it is a useful tool for GEGL ops
|
||||
* developers but it should only be set while knowing what
|
||||
* you are doing.
|
||||
*/
|
||||
(g_strcmp0 (operation_name, "gegl:gegl") == 0 &&
|
||||
g_getenv ("GIMP_ALLOW_GEGL_GRAPH_LAYER_EFFECT") == NULL))
|
||||
non_destructive = FALSE;
|
||||
|
||||
g_free (operation_name);
|
||||
}
|
||||
|
||||
/* Ensure that filters applied to group, vector or link layers are
|
||||
* non-destructive */
|
||||
if (GIMP_IS_GROUP_LAYER (drawable) ||
|
||||
gimp_item_is_vector_layer (GIMP_ITEM (drawable)) ||
|
||||
gimp_item_is_link_layer (GIMP_ITEM (drawable)))
|
||||
non_destructive = TRUE;
|
||||
}
|
||||
|
||||
/* Ensure that filters applied to group, vector or link layers are non-destructive */
|
||||
if (GIMP_IS_GROUP_LAYER (drawable) ||
|
||||
gimp_item_is_vector_layer (GIMP_ITEM (drawable)) ||
|
||||
gimp_item_is_link_layer (GIMP_ITEM (drawable)))
|
||||
non_destructive = TRUE;
|
||||
|
||||
gimp_filter_tool_commit (filter_tool, non_destructive);
|
||||
break;
|
||||
}
|
||||
|
@@ -127,6 +127,8 @@ static void gimp_mybrush_tool_cursor_update (GimpTool *tool,
|
||||
options->view_zoom = (gimp_zoom_model_get_factor (shell->zoom) > 0.0f) ?
|
||||
gimp_zoom_model_get_factor (shell->zoom) : 1.0f;
|
||||
options->view_rotation = shell->rotate_angle;
|
||||
|
||||
GIMP_TOOL_CLASS (parent_class)->cursor_update (tool, coords, state, display);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -143,6 +143,6 @@ libapptools = static_library('apptools',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-Tools"',
|
||||
dependencies: [
|
||||
gegl, gtk3,
|
||||
gegl, gtk3, gexiv2,
|
||||
],
|
||||
)
|
||||
|
@@ -280,6 +280,6 @@ libappwidgets = static_library('appwidgets',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-Widgets"',
|
||||
dependencies: [
|
||||
gegl, gtk3,
|
||||
gegl, gtk3, gexiv2,
|
||||
],
|
||||
)
|
||||
|
@@ -13,6 +13,6 @@ libappxcf = static_library('appxcf',
|
||||
include_directories: [ rootInclude, rootAppInclude, ],
|
||||
c_args: '-DG_LOG_DOMAIN="Gimp-XCF"',
|
||||
dependencies: [
|
||||
cairo, gegl, gdk_pixbuf, zlib
|
||||
cairo, gegl, gdk_pixbuf, gexiv2, zlib
|
||||
],
|
||||
)
|
||||
|
@@ -99,10 +99,8 @@
|
||||
],
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Dintrospection=false",
|
||||
"-Dpython3=false",
|
||||
"-Dtools=false",
|
||||
"-Dvapi=false"
|
||||
"-Dtools=false"
|
||||
],
|
||||
"modules": [
|
||||
{
|
||||
@@ -245,8 +243,8 @@
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://poppler.freedesktop.org/poppler-25.09.1.tar.xz",
|
||||
"sha256": "0c1091d01d3dd1664a13816861e812d02b29201e96665454b81b52d261fad658",
|
||||
"url": "https://poppler.freedesktop.org/poppler-25.10.0.tar.xz",
|
||||
"sha256": "6b5e9bb64dabb15787a14db1675291c7afaf9387438cc93a4fb7f6aec4ee6fe0",
|
||||
"x-checker-data": {
|
||||
"type": "anitya",
|
||||
"project-id": 3686,
|
||||
|
@@ -32,8 +32,7 @@ if ($GITLAB_CI)
|
||||
# Prepare env
|
||||
if (-not $GIMP_PREFIX)
|
||||
{
|
||||
#FIXME:'gimpenv' have buggy code about Windows paths. See: https://gitlab.gnome.org/GNOME/gimp/-/issues/12284
|
||||
$GIMP_PREFIX = "$PWD\..\_install".Replace('\', '/')
|
||||
$GIMP_PREFIX = "$PWD\..\_install"
|
||||
}
|
||||
Invoke-Expression ((Get-Content .gitlab-ci.yml | Select-String 'win_environ\[' -Context 0,7) -replace '> ','' -replace '- ','')
|
||||
|
||||
|
@@ -48,7 +48,7 @@ if have_vala and have_gobject_introspection
|
||||
'goat-exercise-vala.vala',
|
||||
include_directories: [ rootInclude, ],
|
||||
dependencies: [
|
||||
libgimp_vapi, libgimpui_vapi, gtk3, gegl, math,
|
||||
libgimp_vapi, libgimpui_vapi, libgimpui_dep, math,
|
||||
],
|
||||
c_args: [
|
||||
'-DGETTEXT_PACKAGE="@0@"'.format('org.gimp.extension.goat-exercises'),
|
||||
|
@@ -421,6 +421,7 @@ libgimp_dep = declare_dependency(
|
||||
cairo,
|
||||
gdk_pixbuf,
|
||||
gegl,
|
||||
gexiv2,
|
||||
],
|
||||
link_with: [
|
||||
libgimp,
|
||||
@@ -438,7 +439,6 @@ libgimpui = library('gimpui-'+ gimp_api_version,
|
||||
libgimpui_sources,
|
||||
dependencies: [
|
||||
libgimp_dep,
|
||||
gexiv2,
|
||||
gtk3,
|
||||
],
|
||||
sources: [
|
||||
|
@@ -26,6 +26,9 @@
|
||||
#include <string.h>
|
||||
|
||||
#include <lcms2.h>
|
||||
#ifdef HAVE_LCMS_FAST_FLOAT_PLUGIN
|
||||
#include <lcms2_fast_float.h>
|
||||
#endif
|
||||
|
||||
#include <gio/gio.h>
|
||||
#include <gegl.h>
|
||||
@@ -128,6 +131,10 @@ gimp_color_transform_class_init (GimpColorTransformClass *klass)
|
||||
G_TYPE_NONE, 1,
|
||||
G_TYPE_DOUBLE);
|
||||
|
||||
#ifdef HAVE_LCMS_FAST_FLOAT_PLUGIN
|
||||
cmsPlugin (cmsFastFloatExtensions ());
|
||||
#endif
|
||||
|
||||
cmsSetLogErrorHandler (lcms_error_handler);
|
||||
}
|
||||
|
||||
|
@@ -36,7 +36,7 @@ libgimpcolor = library('gimpcolor-' + gimp_api_version,
|
||||
libgimpcolor_sources,
|
||||
include_directories: rootInclude,
|
||||
dependencies: [
|
||||
cairo, gdk_pixbuf, gegl, lcms, math,
|
||||
cairo, gdk_pixbuf, gegl, gexiv2, lcms, math,
|
||||
],
|
||||
c_args: [ '-DG_LOG_DOMAIN="LibGimpColor"', '-DGIMP_COLOR_COMPILATION', ],
|
||||
link_with: [ libgimpbase, ],
|
||||
|
@@ -70,7 +70,7 @@ libgimpconfig = library('gimpconfig-' + gimp_api_version,
|
||||
libgimpconfig_sources,
|
||||
include_directories: rootInclude,
|
||||
dependencies: [
|
||||
cairo, gdk_pixbuf, gegl, gio, gio_specific,
|
||||
cairo, gdk_pixbuf, gegl, gexiv2, gio, gio_specific,
|
||||
],
|
||||
c_args: [ '-DG_LOG_DOMAIN="LibGimpConfig"', '-DGIMP_CONFIG_COMPILATION', ],
|
||||
link_with: [
|
||||
|
@@ -19,7 +19,7 @@ libgimpmodule = library('gimpmodule-' + gimp_api_version,
|
||||
libgimpmodule_sources,
|
||||
include_directories: rootInclude,
|
||||
dependencies: [
|
||||
gegl, gio, glib, gmodule,
|
||||
gegl, gexiv2, gio, glib, gmodule,
|
||||
],
|
||||
c_args: [ '-DG_LOG_DOMAIN="LibGimpModule"', '-DGIMP_MODULE_COMPILATION', ],
|
||||
link_with: [
|
||||
|
@@ -65,7 +65,7 @@ libgimpthumb = library('gimpthumb-'+ gimp_api_version,
|
||||
libgimpthumb_sources,
|
||||
include_directories: rootInclude,
|
||||
dependencies: [
|
||||
gegl, glib, gobject, gdk_pixbuf, gio,
|
||||
gegl, gexiv2, glib, gobject, gdk_pixbuf, gio,
|
||||
],
|
||||
c_args: [ '-DG_LOG_DOMAIN="LibGimpThumb"', '-DGIMP_THUMB_COMPILATION', ],
|
||||
link_with: [
|
||||
|
@@ -207,7 +207,7 @@ libgimpwidgets = library('gimpwidgets-'+ gimp_api_version,
|
||||
libgimpwidgets_sources,
|
||||
include_directories: rootInclude,
|
||||
dependencies: [
|
||||
gegl, gtk3, lcms, math, mscms
|
||||
gegl, gexiv2, gtk3, lcms, math, mscms
|
||||
],
|
||||
c_args: [ '-DG_LOG_DOMAIN="LibGimpWidgets"', '-DGIMP_WIDGETS_COMPILATION', ],
|
||||
link_with: [
|
||||
|
15
meson.build
15
meson.build
@@ -128,7 +128,7 @@ fs = import('fs')
|
||||
|
||||
cc = meson.get_compiler('c')
|
||||
cxx = meson.get_compiler('cpp')
|
||||
prefix = get_option('prefix')
|
||||
prefix = get_option('prefix').replace('\\', '/')
|
||||
buildtype = get_option('buildtype')
|
||||
exec_ver = '-' + gimp_app_version
|
||||
|
||||
@@ -334,6 +334,9 @@ if get_option('buildtype') == 'debug' or get_option('buildtype') == 'debugoptimi
|
||||
if not platform_windows
|
||||
# DWARF symbols for GCC and LLDB on Unix
|
||||
debugging_format = 'native'
|
||||
elif cc.get_argument_syntax() == 'msvc'
|
||||
# CodeView symbols for DIA or DbgHelp debuggers and LLDB on Windows
|
||||
debugging_format = 'Native'
|
||||
elif platform_windows and get_option('win-debugging') == 'native' and cc.has_argument('-gcodeview') and cc.has_link_argument('-Wl,--pdb=') and cc.get_id() == 'clang'
|
||||
# CodeView symbols for DIA or DbgHelp debuggers and LLDB on Windows
|
||||
debugging_format = 'native'
|
||||
@@ -406,7 +409,7 @@ winsock = platform_windows ? cc.find_library('ws2_32') : no_dep
|
||||
mscms = platform_windows ? cc.find_library('mscms') : no_dep
|
||||
atk_minver = '2.4.0'
|
||||
atk = dependency('atk', version: '>='+atk_minver)
|
||||
babl_minver = '0.1.114'
|
||||
babl_minver = '0.1.116'
|
||||
babl = dependency('babl-0.1', version: '>='+babl_minver, required: false)
|
||||
if not babl.found()
|
||||
# babl changed its pkg-config name from 'babl' to 'babl-0.1' in version
|
||||
@@ -428,7 +431,7 @@ freetype2_minver = '2.1.7'
|
||||
freetype2 = dependency('freetype2', version: '>='+freetype2_minver)
|
||||
gdk_pixbuf_minver = '2.30.8'
|
||||
gdk_pixbuf = dependency('gdk-pixbuf-2.0', version: '>='+gdk_pixbuf_minver)
|
||||
gegl_minver = '0.4.62'
|
||||
gegl_minver = '0.4.64'
|
||||
gegl = dependency('gegl-0.4', version: '>='+gegl_minver)
|
||||
exiv2_minver = '0.27.4'
|
||||
exiv2 = dependency('exiv2', version: '>='+exiv2_minver)
|
||||
@@ -473,6 +476,10 @@ json_glib_minver = '1.2.6'
|
||||
json_glib = dependency('json-glib-1.0', version: '>='+json_glib_minver)
|
||||
lcms_minver = '2.8'
|
||||
lcms = dependency('lcms2', version: '>='+lcms_minver)
|
||||
if cc.has_header('lcms2_fast_float.h')
|
||||
conf.set('HAVE_LCMS_FAST_FLOAT_PLUGIN', 1)
|
||||
endif
|
||||
|
||||
libmypaint_minver = '1.5.0'
|
||||
libmypaint = dependency('libmypaint', version: '>='+libmypaint_minver)
|
||||
mypaint_brushes = dependency('mypaint-brushes-2.0')
|
||||
@@ -2046,7 +2053,7 @@ pkgconfig.generate(libgimpui,
|
||||
# Install native debug data (.pdb) on Windows
|
||||
# Ideally meson should take care of it automatically.
|
||||
# See: https://github.com/mesonbuild/meson/issues/12977
|
||||
if platform_windows and debugging_format == 'native'
|
||||
if platform_windows and debugging_format == 'native' and cc.get_argument_syntax() != 'msvc'
|
||||
install_win_debug_script = find_program('build/windows/2_bundle-gimp-uni_sym.py')
|
||||
meson.add_install_script(install_win_debug_script)
|
||||
endif
|
||||
|
@@ -1,6 +1,6 @@
|
||||
|
||||
modules_deps = [
|
||||
gtk3, babl, gegl, math,
|
||||
gtk3, babl, gegl, gexiv2, math,
|
||||
]
|
||||
|
||||
color_selector_libs = [
|
||||
|
@@ -10,9 +10,7 @@ common_plugins_list = [
|
||||
{ 'name': 'colormap-remap', },
|
||||
{ 'name': 'compose', },
|
||||
{ 'name': 'contrast-retinex', },
|
||||
{ 'name': 'crop-zealous',
|
||||
'deps': [ gtk3, gegl, gdk_pixbuf, cairo, ],
|
||||
},
|
||||
{ 'name': 'crop-zealous' },
|
||||
{ 'name': 'curve-bend', },
|
||||
{ 'name': 'decompose', },
|
||||
{ 'name': 'depth-merge', },
|
||||
@@ -20,7 +18,7 @@ common_plugins_list = [
|
||||
{ 'name': 'destripe', },
|
||||
{ 'name': 'file-cel', },
|
||||
{ 'name': 'file-compressor',
|
||||
'deps': [ gegl, gdk_pixbuf, cairo, gio, libarchive, liblzma, pango, bz2, zlib, ],
|
||||
'deps': [ gio, libarchive, liblzma, pango, bz2, zlib, ],
|
||||
},
|
||||
{ 'name': 'file-csource', },
|
||||
{ 'name': 'file-dicom', },
|
||||
@@ -28,34 +26,32 @@ common_plugins_list = [
|
||||
{ 'name': 'file-gbr', },
|
||||
{ 'name': 'file-gegl', },
|
||||
{ 'name': 'file-gif-load',
|
||||
'deps': [ gtk3, gegl, gdk_pixbuf, cairo, zlib, ],
|
||||
'deps': [ zlib, ],
|
||||
},
|
||||
{ 'name': 'file-gif-export', },
|
||||
{ 'name': 'file-gih', },
|
||||
{ 'name': 'file-glob',
|
||||
'deps': [ gtk3, gegl, gdk_pixbuf, cairo, ],
|
||||
},
|
||||
{ 'name': 'file-glob', },
|
||||
{ 'name': 'file-header', },
|
||||
{ 'name': 'file-html-table', },
|
||||
{ 'name': 'file-paa', },
|
||||
{ 'name': 'file-pat', },
|
||||
{ 'name': 'file-pcx', },
|
||||
{ 'name': 'file-pdf-load',
|
||||
'deps': [ gtk3, gegl, gdk_pixbuf, poppler ],
|
||||
'deps': [ poppler ],
|
||||
},
|
||||
{ 'name': 'file-pix', },
|
||||
{ 'name': 'file-png',
|
||||
'deps': [ gtk3, gegl, libpng, lcms ],
|
||||
'deps': [ libpng, lcms ],
|
||||
},
|
||||
{ 'name': 'file-pnm', },
|
||||
{ 'name': 'file-psp',
|
||||
'deps': [ gtk3, gegl, zlib, ],
|
||||
'deps': [ zlib, ],
|
||||
},
|
||||
{ 'name': 'file-raw-data', },
|
||||
{ 'name': 'file-seattle-filmworks', },
|
||||
{ 'name': 'file-sunras', },
|
||||
{ 'name': 'file-svg',
|
||||
'deps': [ gtk3, gegl, rsvg, ],
|
||||
'deps': [ rsvg, ],
|
||||
},
|
||||
{ 'name': 'file-tga', },
|
||||
{ 'name': 'file-tim', },
|
||||
@@ -88,26 +84,26 @@ common_plugins_list = [
|
||||
if libaa.found()
|
||||
common_plugins_list += {
|
||||
'name': 'file-aa',
|
||||
'deps': [ gtk3, gegl, gdk_pixbuf, libaa, ],
|
||||
'deps': [ libaa, ],
|
||||
}
|
||||
endif
|
||||
|
||||
if have_heif
|
||||
common_plugins_list += { 'name': 'file-heif',
|
||||
'deps': [ gtk3, gegl, libheif, gexiv2, lcms, ],
|
||||
'deps': [ libheif, lcms, ],
|
||||
}
|
||||
endif
|
||||
|
||||
if openjpeg.found()
|
||||
common_plugins_list += { 'name': 'file-jp2',
|
||||
'deps': [ gtk3, gegl, gdk_pixbuf, openjpeg, ],
|
||||
'deps': [ openjpeg, ],
|
||||
}
|
||||
endif
|
||||
|
||||
if libjxl.found() and libjxl_threads.found()
|
||||
common_plugins_list += {
|
||||
'name': 'file-jpegxl',
|
||||
'deps': [ gtk3, gegl, gexiv2, libjxl, libjxl_threads, ],
|
||||
'deps': [ libjxl, libjxl_threads, ],
|
||||
}
|
||||
endif
|
||||
|
||||
@@ -117,57 +113,55 @@ if libmng.found()
|
||||
mng_cflags = [ '-DMNG_USE_DLL' ]
|
||||
endif
|
||||
common_plugins_list += { 'name': 'file-mng',
|
||||
'deps': [ gtk3, gegl, libmng, libpng, ],
|
||||
'deps': [ libmng, libpng, ],
|
||||
'cflags': mng_cflags,
|
||||
}
|
||||
endif
|
||||
|
||||
if cairopdf.found()
|
||||
common_plugins_list += { 'name': 'file-pdf-export',
|
||||
'deps': [ gtk3, gegl, gdk_pixbuf, poppler, cairo, cairopdf ],
|
||||
'deps': [ poppler, cairopdf ],
|
||||
}
|
||||
endif
|
||||
|
||||
if ghostscript.found()
|
||||
common_plugins_list += { 'name': 'file-ps',
|
||||
'deps': [ gtk3, gegl, gdk_pixbuf, ghostscript, ],
|
||||
'deps': [ ghostscript, ],
|
||||
}
|
||||
endif
|
||||
|
||||
if wmf.found()
|
||||
common_plugins_list += { 'name': 'file-wmf',
|
||||
'deps': [ gtk3, gegl, wmf, ],
|
||||
'deps': [ wmf, ],
|
||||
}
|
||||
endif
|
||||
|
||||
if xmc.found()
|
||||
common_plugins_list += { 'name': 'file-xmc',
|
||||
'deps': [ gtk3, gegl, xmc, ],
|
||||
'deps': [ xmc, ],
|
||||
}
|
||||
endif
|
||||
|
||||
if libxpm.found()
|
||||
common_plugins_list += { 'name': 'file-xpm',
|
||||
'deps': [ gtk3, gegl, libxpm, ],
|
||||
'deps': [ libxpm, ],
|
||||
}
|
||||
endif
|
||||
|
||||
if have_qoi
|
||||
common_plugins_list += {
|
||||
'name': 'file-qoi',
|
||||
'deps': [ gtk3, gegl, ],
|
||||
}
|
||||
endif
|
||||
|
||||
if libiff.found() and libilbm.found()
|
||||
common_plugins_list += {
|
||||
'name': 'file-iff',
|
||||
'deps': [ gtk3, gegl, libiff, libilbm, ],
|
||||
'deps': [ libiff, libilbm, ],
|
||||
}
|
||||
elif have_ilbm
|
||||
common_plugins_list += {
|
||||
'name': 'file-iff',
|
||||
'deps': [ gtk3, gegl, ],
|
||||
}
|
||||
endif
|
||||
|
||||
@@ -178,7 +172,6 @@ endif
|
||||
if platform_linux
|
||||
common_plugins_list += {
|
||||
'name': 'file-desktop-link',
|
||||
'deps': [ gtk3, gegl, gdk_pixbuf, cairo, ],
|
||||
}
|
||||
endif
|
||||
if not platform_windows
|
||||
@@ -187,7 +180,7 @@ endif
|
||||
|
||||
if get_option('webkit-unmaintained')
|
||||
common_plugins_list += { 'name': 'web-page',
|
||||
'deps': [ gtk3, gegl, gdk_pixbuf, webkit, ],
|
||||
'deps': [ webkit, ],
|
||||
}
|
||||
endif
|
||||
|
||||
@@ -195,7 +188,7 @@ plugin_custom_targets = []
|
||||
foreach plugin : common_plugins_list
|
||||
plugin_name = plugin.get('name')
|
||||
plugin_sources = [ plugin.get('sources', plugin_name + '.c') ]
|
||||
plugin_deps = plugin.get('deps', [ gtk3, gegl, gdk_pixbuf, ])
|
||||
plugin_deps = plugin.get('deps', [])
|
||||
plugin_cflags = plugin.get('cflags', [])
|
||||
|
||||
if platform_windows
|
||||
@@ -241,7 +234,7 @@ foreach plugin : common_plugins_list
|
||||
libgimpui,
|
||||
libgimpwidgets,
|
||||
],
|
||||
dependencies: [ plugin_deps, math ],
|
||||
dependencies: [ plugin_deps, math, libgimpui_dep ],
|
||||
c_args: plugin_cflags,
|
||||
win_subsystem: 'windows',
|
||||
install: true,
|
||||
|
@@ -28,7 +28,7 @@ help_plugin_lib = static_library('help_plugin',
|
||||
plugin_sources,
|
||||
include_directories: [ rootInclude, ],
|
||||
dependencies: [
|
||||
gtk3, gegl, cairo, gio, gdk_pixbuf,
|
||||
libgimpui_dep, gio,
|
||||
],
|
||||
install: false,
|
||||
)
|
||||
|
700
po-libgimp/da.po
700
po-libgimp/da.po
File diff suppressed because it is too large
Load Diff
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gimp-plug-ins\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gimp/issues\n"
|
||||
"POT-Creation-Date: 2025-09-29 19:54+0000\n"
|
||||
"PO-Revision-Date: 2025-09-29 22:59+0300\n"
|
||||
"POT-Creation-Date: 2025-10-02 00:31+0000\n"
|
||||
"PO-Revision-Date: 2025-10-02 11:21+0300\n"
|
||||
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
|
||||
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
|
||||
"Language: uk\n"
|
||||
@@ -2808,19 +2808,87 @@ msgstr "Непрозорість"
|
||||
msgid "gzip archive"
|
||||
msgstr "архів gzip"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:229
|
||||
msgid "Loads files compressed with gzip"
|
||||
msgstr "Завантажує файли, які стиснуто за допомогою gzip"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:230
|
||||
#| msgid ""
|
||||
#| "This plug-in loads files in the various Netpbm portable file formats."
|
||||
msgid "This procedure loads files in the gzip compressed format."
|
||||
msgstr "Ця процедура завантажує файли у стисненому форматі gzip."
|
||||
|
||||
#: plug-ins/common/file-compressor.c:234
|
||||
msgid "Exports files compressed with gzip"
|
||||
msgstr "Експортує файли, які стиснуто за допомогою gzip"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:235
|
||||
#| msgid "Exports files in the PNM file format"
|
||||
msgid "This procedure exports files in the gzip compressed format."
|
||||
msgstr "Ця процедура експортує файли у стисненому форматі gzip."
|
||||
|
||||
#: plug-ins/common/file-compressor.c:240
|
||||
msgid "bzip archive"
|
||||
msgstr "архів bzip"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:248
|
||||
msgid "Loads files compressed with bzip2"
|
||||
msgstr "Завантажує файли, які стиснуто за допомогою bzip2"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:249
|
||||
#| msgid ""
|
||||
#| "This plug-in loads files in the various Netpbm portable file formats."
|
||||
msgid "This procedure loads files in the bzip2 compressed format."
|
||||
msgstr "Ця процедура завантажує файли у стисненому форматі bzip2."
|
||||
|
||||
#: plug-ins/common/file-compressor.c:253
|
||||
msgid "Exports files compressed with bzip2"
|
||||
msgstr "Експортує файли, які стиснуто за допомогою bzip2"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:254
|
||||
#| msgid ""
|
||||
#| "This plug-in loads files in the various Netpbm portable file formats."
|
||||
msgid "This procedure exports files in the bzip2 compressed format."
|
||||
msgstr "Ця процедура експортує файли у стисненому форматі bzip2."
|
||||
|
||||
#: plug-ins/common/file-compressor.c:259
|
||||
msgid "xz archive"
|
||||
msgstr "архів xz"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:267
|
||||
msgid "Loads files compressed with xz"
|
||||
msgstr "Завантажує файли, які стиснуто за допомогою xz"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:268
|
||||
#| msgid ""
|
||||
#| "This plug-in loads files in the various Netpbm portable file formats."
|
||||
msgid "This procedure loads files in the xz compressed format."
|
||||
msgstr "Ця процедура завантажує файли у стисненому форматі xz."
|
||||
|
||||
#: plug-ins/common/file-compressor.c:272
|
||||
#| msgid "Error reading compressed data. "
|
||||
msgid "Exports files compressed with xz"
|
||||
msgstr "Експортує файли, які стиснуто за допомогою xz"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:273
|
||||
#| msgid "Exports files in the PNM file format"
|
||||
msgid "This procedure exports files in the xz compressed format."
|
||||
msgstr "Ця процедура експортує файли у стисненому форматі xz."
|
||||
|
||||
#: plug-ins/common/file-compressor.c:278
|
||||
#| msgid "gzip archive"
|
||||
msgid "zip archive"
|
||||
msgstr "архів zip"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:286
|
||||
msgid "Loads files compressed with zip"
|
||||
msgstr "Завантажує файли, які стиснуто за допомогою zip"
|
||||
|
||||
#: plug-ins/common/file-compressor.c:287
|
||||
#| msgid ""
|
||||
#| "This plug-in loads files in the various Netpbm portable file formats."
|
||||
msgid "This procedure loads files in the zip compressed format."
|
||||
msgstr "Ця процедура завантажує файли у стисненому форматі zip."
|
||||
|
||||
#: plug-ins/common/file-compressor.c:471
|
||||
msgid "No sensible file extension, saving as compressed XCF."
|
||||
msgstr "Немає потрібного розширення, зберігається як стиснутий XCF."
|
||||
@@ -2834,6 +2902,15 @@ msgstr "Стиснення «%s»"
|
||||
msgid "No sensible file extension, attempting to load with file magic."
|
||||
msgstr "Немає потрібного розширення, спроба визначення типу за вмістом файлу."
|
||||
|
||||
#. Leave a chance for the load to succeed (in case the first
|
||||
#. * file happens to be an image file), yet still warns. This
|
||||
#. * procedure expects that the archive contains a single
|
||||
#. * file.
|
||||
#.
|
||||
#: plug-ins/common/file-compressor.c:1110
|
||||
msgid "This zip archive contains more than one file."
|
||||
msgstr "В архіві zip міститься декілька файлів."
|
||||
|
||||
#: plug-ins/common/file-desktop-link.c:114
|
||||
msgid "Desktop Link"
|
||||
msgstr "Посилання .desktop"
|
||||
|
@@ -10,7 +10,7 @@ gimptool = executable('gimptool' + exec_ver,
|
||||
'gimptool.c',
|
||||
include_directories: rootInclude,
|
||||
dependencies: [
|
||||
gegl, gtk3,
|
||||
gegl, gtk3, gexiv2
|
||||
],
|
||||
link_with: [
|
||||
libgimpbase,
|
||||
@@ -25,7 +25,7 @@ gimp_test_clipboard = executable('gimp-test-clipboard' + exec_ver,
|
||||
'gimp-test-clipboard.c',
|
||||
include_directories: rootInclude,
|
||||
dependencies: [
|
||||
gegl, gtk3,
|
||||
gegl, gtk3, gexiv2
|
||||
],
|
||||
install: true,
|
||||
)
|
||||
|
@@ -20,7 +20,7 @@
|
||||
############################################
|
||||
|
||||
#### Usage ####
|
||||
read -p "GIMP version to release: " ver
|
||||
printf "GIMP version to release: "; read ver
|
||||
|
||||
if [ -z "$ver" ]; then
|
||||
TAG="HEAD"
|
||||
|
Reference in New Issue
Block a user