Commit Graph

90 Commits

Author SHA1 Message Date
Bruno 7c64f26caa build/windows, meson: Complete 93cc81281c 2024-08-10 00:59:53 +00:00
Bruno 7037297526 meson: Prevent broken lua plug-ins
See: https://gitlab.gnome.org/GNOME/gimp/-/issues/11876

For 3.0 we will support only Lua 5.1, since we need to figure out how
much of the Lua 5.1 API is compatible with newer versions (Lua minor
versions aren't like Python minor versions, there is API breakage so
plug-ins would be completely unreliable, this commit prevent this).

Also, change some files to not force luajit since it isn't mandatory.
2024-08-09 12:26:26 +00:00
Jehan 25701f6c1b Issue #11760: explain why `poppler-data` is a hard dependency. 2024-07-04 21:50:11 +02:00
Jehan 4e274be6f3 Update INSTALL file and gimp-data submodule. 2024-03-28 00:19:10 +01:00
Jehan bd9eb1d8ff meson: requires Pango >= 1.50.
New code uses pango_attribute_as_font_desc() which appeared with Pango 1.50.
Since it's currently present in Debian stable, I don't bother too much and bump
this dependency.

Also let's use the same version for pango, pangocairo and pangoft2. They all
come from the same project/repository, so we must likely expect them to be equal
(if they are not, there is likely a problem).
2023-09-12 14:23:40 +00:00
Jacob Boerema 18408ce966 app, libgimp, libgimpwidgets, plug-ins, etc: rename behaviour to behavior
We use US English which uses behavior. So we replace all occurrences of
behaviour.

Most notable is File Open behavior in preferences. Besides that several
mentions in function documentation and a few in comments.
2023-07-21 15:35:23 -04:00
Jehan 760e912d20 INSTALL: add some packages in the optional packages list. 2023-07-09 13:32:51 +02:00
Jehan ebe63c215f INSTALL, meson: remove references to autotools and warning. 2023-05-27 00:33:17 +02:00
Jehan 6a2908ed0b Issue #9151: link to the "Building GIMP" page of dev website in INSTALL. 2023-02-15 12:13:24 +01:00
Jehan caebbe4603 INSTALL: fixing copy-paste bugs.
Thanks to Tobias (@Tobias on Gitlab) for noticing.
2022-08-09 11:49:56 +02:00
Jehan e7faae1dc3 INSTALL: update the build instructions to target meson.
If we want to encourage meson usage in GIMP 2.99.12 as a test run, our
INSTALL file should target meson commands and options.

Also I took the opportunity fix a bit some parts which were outdated.
2022-08-08 19:19:21 +02:00
Anders Jonsson e601a6c7de Change GTK+ to GTK
GTK got rid of the + in 2019:
https://lwn.net/Articles/779305/
2022-07-07 14:02:36 +00:00
Niels De Graef f663d26ab5 Migrate from intltool to gettext
intltool has long been dead upstream. Let's not poke the dead corpse,
please.

This commit is quite large, but that's mostly since trying to support a
hybrid of both gettext and intltool with both Meson and Autotools was
really hard, so I stopped trying.

Due to gettext relying on quite some things being at the exactly right
place in the autotools build (like `ABOUT-NLS` and `config.rpath`) we
really needed to cleanup the `autogen.sh` to only call `aclocal` and
`autoreconf`. No more strange magic; I tried to do it without changing
too much in the file, and things just broke. If people want to do
something more custom, they can just change the script directly. This
change also uncovered some problems in our `configure.ac`, like using
deprecated macros.

The following major changes happened:

* meson: Changed `custom_target()` to `i18n.merge_file()` for all
  supported file types
* Added `.its` and `.loc`  files for the GIMP-specific XML formats, so
  that gettext understands them
* For the `.isl` (Window installer stuff) file, there's no easy way to
  do this in gettext, so instead we start from an XML file (again with
  its own ITS rules etc), translate that with gettext, and then use
  `xsltproc` with a bit of magic to output the .isl file for each
  language
* the `po*/Makefile.in.in` files are migrated to `Makevars` files,
  which gettext natively understands.

Fixes: https://gitlab.gnome.org/GNOME/gimp/-/issues/8028
2022-06-25 10:25:49 +02:00
Jehan 1ccdf467fb INSTALL, NEWS: the macOS build is now officially using meson too.
See MR gimp-macos-build!97.
2022-04-17 15:06:16 +02:00
Jehan 588d11dc5c INSTALL: update with new recommendation of meson for Windows. 2022-04-01 18:11:55 +02:00
Jehan 83434f7223 Issue #8005: GIMP depends on gvfs, but it is not listed in INSTALL.in.
It's not a direct dependency and doesn't prevent GIMP from any of its
core logics, but HTTP is a used enough format nowadays that we want to
consider it as mandatory nowadays.

From what I know, `gvfs` might be for Windows only though. This would
explain issues we have with remote URL on other platforms.
2022-03-24 23:49:06 +01:00
Jehan 871796a126 Issue #7956: Add full BigTiff open/export support to GIMP.
Recent libtiff supports loading BigTiff automatically so we didn't have
anything to do there (as long as a recent libtiff was used). For
creating a BigTIFF though, we simply needed to add a "8" flag to
TIFFOpen/TIFFClientOpen when creating a new image (i.e. using "w8"
mode) as explained here in the "Implementation Strategy" section:
http://www.simplesystems.org/libtiff/BigTIFFProposal.html

What this commit does:

- Explicitly bump our libtiff requirement to version 4.0.0 or higher
  (which is where BigTiff support appeared).
  libtiff 4.0.0 was apparently released on 2011-12-22 and is available
  on all current distributions, so it's probably not a problem.
- Switch to detect libtiff with a pkg-config test (added in libtiff
  commit faf5f3eb before 4.0.0 release, so it's fine) instead of
  function checks.
  (Note: meson was already detecting for libtiff-4 with pkg-config,
  which was obviously wrong since it should have mimicked autotools, but
  well… then changes were minimal on meson)
- Add a new "bigtiff" boolean argument to the "file-tiff-save" PDB
  procedure, FALSE by default. I set this as the first argument as I
  figure that choosing the format you want is quite a major choice.
  Unless I misunderstood something, since BigTIFF is really designed to
  be an evolution of TIFF with a "minimum change strategy", i.e. mostly
  using 64-bit instead of 32-bit offsets, everything which is possible
  in TIFF will be in BigTIFF (and oppositely as well, except of course
  having huge files) so there is no need to have 2 separate procedures.
- Adding this new argument to the GUI dialog as a checkbox.
- Tweak the load and export procedures' documentation strings to make
  clear we support both TIFF and BigTIFF.
  Note: interestingly there doesn't seem to be a separate mimetype for
  BigTIFF so nothing to update on this side.
- Tweak the procedure labels too to mention BigTIFF. Since BigTIFF is
  still a different format (though very closely resembling) from TIFF,
  unlike some others which are just extensions embedded in a TIFF file
  (like GeoTIFF we recently added), I figure it deserves to be
  explicitly cited.
2022-03-11 11:31:53 +01:00
Jehan 82899764a3 app, INSTALL: remove our Windows-only trick to add user-installed fonts.
This was added in commit 88f97aedef and only expected to last until
fontconfig had a fix **and** it got into a released version.
This is now done.

I could verify in the git repo that fontconfig's commit 55eb1ef is
included since their tagged release 2.13.95 which is now on MSYS2
(2.13.96 there even), so we will use it for our next release.

Thanks to frogonia (long time no see! \O) for following up on this!

See also fontconfig report:
https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/144
2022-02-07 14:24:52 +01:00
Jehan 26f9bcb3b5 INSTALL: explaining a bit more the deal with librsvg.
Rust dependencies are not really making everyone happy apparently. We
don't want to make SVG support optional anymore because it is too
important, and unfortunately there doesn't seem to be any suitable
replacement SVG libs so far (or we haven't found them).

We explain this in the INSTALL file and also explain a bit how to bypass
the SVG parts for packagers really needing to do so, allowing GIMP to be
as portable as possible.

See also issue #6821.
2022-01-31 23:02:33 +01:00
Jehan a08224f7b3 INSTALL: update the install instructions regarding librsvg.
Currently it's a mandatory option (and it has been the case for years,
ever since commit 43e218859b) so let's update the info.

Note that there are still discussions going on about this dependency and
it being hard or impossible to build on many platforms (which are stuck
on old C version, before the move to Rust). See #6821.
We'll see how it goes.
2022-01-25 01:33:34 +01:00
Jehan 56d6cf6aa1 INSTALL, libgimp: document a bit better the GIR cross-tool exception. 2022-01-06 19:24:32 +01:00
Jehan bea0618883 INSTALL: add xdg-desktop-portal in the runtime dependencies.
Cf. #1074 for color-picking, as well as the screenshot plug-in.
2022-01-02 19:48:32 +01:00
Jehan 2494a06df5 INSTALL: remove --without-libtiff.
It's not optional anymore, for quite some time now.
Reported in #7450.
2021-10-31 21:06:46 +01:00
luz paz 6457394069 Issue #6446: Typo fixes. 2021-02-24 12:33:03 +01:00
Jehan 15c1e04c27 INSTALL: update a bit the installation instructions. 2020-12-20 04:00:06 +01:00
Jehan d90d622c92 INSTALL: adding infos about `dot` for "gegl:introspect" dependency.
Especially now that this is not a blocking build dependency on GEGL, we
want to have the information somewhere so that packagers (and other
people building GIMP themselves) know this is at least an optional
runtime dependency.
2020-12-14 20:16:33 +01:00
Jehan 9ca18c37cd INSTALL: add information about GEGL options to enable for the…
… experimental tool "Paint Select".
2020-11-24 22:07:26 +01:00
Jehan 3f59769120 INSTALL: update GEGL build instructions.
Recently updated my distrib, so it's a good time to see what is wrong in
our instructions. In particular, we must build GEGL with Cairo,
otherwise gegl:npd is not built (and it's a mandatory operation for
GIMP).
2020-11-17 03:55:42 +01:00
Jehan 60f1095d4b Issue 5870: add reference to GNU documentation in INSTALL.
We are not going to duplicate the whole autotools documentation. Let's
rather just state we follow the GNU build standards, hence refer to
relevant documentation with a link.
2020-11-06 15:52:57 +01:00
Jehan 987325f1a7 INSTALL: update with libheif required dependency for AVIF support. 2020-09-01 18:38:46 +02:00
Jehan 4d8c60e4ed INSTALL: update the plug-in API binding dependencies.
Most are runtime dependencies, except for Vala which are build-time
ones.
2020-06-10 02:18:03 +02:00
Félix Piédallu 36d6896a92 Fix INSTALL.in 2019-09-09 18:15:13 +00:00
Jehan 814ff02ab4 INSTALL: add GObject Introspection dependencies. 2019-08-05 20:58:07 +02:00
Jehan 1028345b7b INSTALL: update info about libmypaint.
Since recently, one can also install the new "libmypaint-v1" branch. It
is not so different, but has several fixes. Among them, it fixes
building with recent automake.
2019-04-01 17:04:56 +02:00
Jehan 4d84c1d7ee app, libgimpbase: --enable-relocatable-bundle replaces --enable-binreloc
Older --enable-binreloc configure option had basically the same purpose
as the newer --enable-relocatable-bundle, though the old binreloc was
only used for gimpenv.c code.
As a consequence, commit 10ce702188 was still not working fine since
gimp_installation_directory_file() also need binreloc enabled (to be
actually relocatable).

Let's get rid of this whole mess, by implying we want binreloc code to
be used when --enable-relocatable-bundle is ON. We don't need the
m4macros anymore, since AM_BINRELOC was basically just checking that
`/proc/self/maps` was present. But anyway being present at compile time
does not mean it will be at runtime (nor the opposite). So this test is
not that useful. The binreloc code will anyway fallback gracefully to
the non-binreloc code (i.e. trying to use build-time install paths) if
the procfs is lacking at runtime.
2019-02-05 14:50:31 +01:00
Jehan 5ac267820f INSTALL: update mypaint-brushes repository (finally upstream!).
The MyPaint project now hosts the repository which was under my name
previously. Yeah!
2018-09-30 21:05:59 +02:00
Jehan 9560a653c5 configure: check presence of "gegl:matting-levin" with `gegl --exists`.
This is a runtime dependency. If absent, we simply won't have access to
the alternative Matting Levin engine in the foreground selection tool.

If we don't add a test in configure, this may be easily forgotten. I
created the `gegl --exists` feature specifically for this kind of
checks, so let's check operation existence.
2018-09-17 16:40:00 +02:00
Jehan 2bec4b0a0c INSTALL: also add gexiv2 dependency in requirement table. 2018-08-30 22:05:41 +02:00
d.j.a.y c04544c3db Update INSTALL.in - gexiv2 required version 2018-08-30 16:19:19 +00:00
Jehan 17e37ddf24 INSTALL: add appstream-glib in the dependency list. 2018-08-19 18:11:56 +02:00
Jehan fb57133d55 INSTALL, configure: replace Jasper with OpenJPEG.
Just realizing we haven't updated the INSTALL file with the dependency
change.
2018-08-13 12:32:12 +02:00
Jehan 9c84d2375b INSTALL: update gettext requirement.
Also fix number of hyphens around the title.
2018-08-01 18:57:35 +02:00
Jehan 530a2bd9a5 INSTALL: add some recommended dependencies to GEGL.
This is a "for info" comment so that packagers don't forget them when we
sometimes depend on some specific GEGL dependencies.
2018-07-18 13:12:27 +02:00
Michael Natterer bab75b7365 Change a bazillion URLs to https://
Including all user-visible link and links called from code, like
the help pages.
2018-07-14 14:19:27 +02:00
Jehan 92e1f785ce INSTALL: WEBKIT_REQUIRED_VERSION renamed to WEBKITGTK_REQUIRED_VERSION.
Separate from previous commit because this change is for master only.
2018-06-28 19:24:14 +02:00
Jehan c543103783 INSTALL: add --enable-relocatable-bundle in options list. 2018-06-28 19:21:58 +02:00
Jehan 33749491af INSTALL: libheif must also be built with libx265. 2018-06-06 21:10:46 +02:00
Jehan c6a1b9bcde Update various places with old git repository URIs. 2018-05-27 04:19:18 +02:00
Jehan 5f754c48dc INSTALL: clean out some old (now useless) dependency info. 2018-05-19 23:08:32 +02:00
Jehan 2f73a83bbe INSTALL: add info about libheif optional dependency.
Also make it clear that libheif must be built with libde265 support.
2018-05-11 22:56:01 +02:00