Commit Graph

141 Commits

Author SHA1 Message Date
Jehan 407472f091 build: fix windows-installer-langs unit test.
Also improving a bit the download script by specifying the .isl or .islu
file extension. It's nicer than trying to download randomly, and also it
allows to better compare the list of downloaded files with the list in
gimp3264.iss script.
2022-01-10 23:58:00 +01:00
Jehan 201cbe7e3e build: no need to chmod the test file which is already executable.
Also when working on out-of-tree builds, it would not find the file
anyway and we get this output:

> chmod: cannot access 'test-installer-langs.sh': No such file or directory

Though this was not breaking the tests, it has clearly been useless
until we see this one today.
2021-12-22 17:13:07 +01:00
Jehan bf9c488560 build: fix Windows installer lang test after recent re-encoding drop. 2021-12-22 16:30:04 +01:00
Jehan 3e1b783adb build: drop codepage conversion, use UTF-8 for Win install lang files.
Rewriting commit f8cdec1883 by Jernej Simončič for the development
code (which has a slightly different list of languages).

Also adding the meson version of this change.

Since now InnoSetup fully supports UTF-8 isl (as long as they have a
BOM), let's stop converting translations. Then we also avoid all
conversion errors and get a simpler/more robust build process.
2021-12-20 18:50:50 +01:00
Daniel Novomesky 7834fc9c53 windows installer: associate avif and jxl 2021-10-20 12:28:34 +00:00
Jehan 4055ac95e6 build: add more help text to the windows-installer-langs test.
I always have to search again the InnoSetup repository for the language
file. Add the link in the failed test output so that we don't waste time
searching the next time.

Also when the new lang is "Unofficial", the installer script has to be
updated as well, because these lang files must be downloaded. Add a help
text saying this as well.
2021-10-01 21:51:22 +02:00
Jehan 3ace66ecbb build: add Portuguese translation to installer.
Translation files were added in commit cec3c3a159 but not to the
installer and build files, which is why "gimp-distcheck-debian" job was
failing in the CI.
2021-10-01 21:18:43 +02:00
Jehan 9cd9c34251 build: improve gimp:build / windows-installer-langs unit test.
Also sort the po files to make sure all lists are ordered the same way.
2021-10-01 21:17:24 +02:00
Jehan ad83fd04ba build: improve Windows installer language test.
For the installer, we must also manually pull all used official
language, so I am adding a test checking that the list of pulled file
matches the list from the installer script.
2021-09-08 10:20:25 +02:00
Jehan 3e1143595e build: fix typo s/en_GN/en_GB/ 2021-09-04 01:18:07 +02:00
Jehan 3b3f5c8562 build: add new Lithuanian translation to the Windows installer.
This new unit test (test-installer-langs.sh) is great, showing us
inconsistencies between files!
2021-09-04 00:54:42 +02:00
Jehan 681d8e7454 build: MSYS2 python package is now Python 3.9.
The MSYS2 package got recently bumped from 3.8 to 3.9.6.

At first I wanted to update our packaging and installer scripts to be
more generic using glob patterns (so that they should work now and
should continue to work even if bumping to a higher minor version in the
future). Unfortunately this would work for `package-gimp-msys2.sh` but
in `files.isi`, it would only work for `libpython3.*.dll`, not for the
python3.9/ folder. InnoSetup apparently doesn't support using a folder
as source (or maybe just a folder with glob like `python3.*`) as it
resulted in a "No files found matching" error.

So leave everything with the accurate version (because anyway it's much
better to get an early failure than only at the very last step).
2021-07-17 15:25:22 +02:00
Jehan 0e4263d800 build, gitlab-ci: generated files should be in the build dir.
Also update the CI script to copy the generated language files before
creating the installer so that the gimp3264.iss script finds them.
2021-06-18 20:40:04 +02:00
Jehan 602add8c45 build: improve the script to test for Windows installer languages.
We were only comparing the po list with the language list in the
gimp3264.iss. Nevertheless since we also generate the <code>.setup.isl
files, we should also verify generated files corresponds exactly to the
same list of languages.
This commit does it for meson and autotools build.

This is also how I fixed the meson list (cf. previous commit).
2021-06-18 20:27:33 +02:00
Jehan a6c44a7191 build: complete Windows installer lang list in meson and fix iconv…
… conversion when some characters are not convertible.

Currently failed conversion ended up in incomplete .isl files (autotools
build) or would break the build (meson build). Ideally we should use a
target encoding which contains all source characters, but we use the
encoding as set upstream in the LanguageCodePage for the given language
file.
I'm not sure if maybe we can mix the encoding by adding our own
LanguageCodePage at the top of our generated <code>.setup.isl, then we
could just use UTF-8 for any language. It will have to be tested.

For now let's just discard non-convertible characters, assuming there
shouldn't be too many of these. It's the lesser evil in this situation.
2021-06-18 20:22:04 +02:00
Jehan 8c54a0caa9 build: fix installer creation.
My commit 3fbe59cd3c broke the installer making as I forgot to remove
some rules about lua files. Proof that I should always test first!
2021-05-23 00:53:07 +02:00
Jehan 3fbe59cd3c build: do not add the same files twice for lua in the installer.
Since we moved most of them to bin/, share/lua*/ and lib/lua/ files are
not necessary anymore (according to my tests so far at least). Let's not
include them.

Also exclude the lua DLL from the generic libraries. It is only for when
the lua option is set.
2021-05-22 16:23:44 +02:00
Jehan 2d15aa00cc build: move lua import files into bin/.
It looks like the DLL ends up searched into bin/lgi/ and other lua files
from bin/lua/. There might be better solutions for the issue, but for
the time being, it seems to work ok.

Note that ender used instead to rebuild lua with the following changes
(cf. IRC):

> src/luaconf.h:
> #define LUA_PATH_DEFAULT \
>   "!\\..\\share\\lua\\5.1\\?.lua;" "!\\..\\share\\lua\\5.1\\?\\init.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;"
> #define LUA_CPATH_DEFAULT \
>   LUA_CDIR"..\\lib\\lua\\5.1\\?.dll;" LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll"

But moving files around in the installed tree is much simpler than
rebuilding the whole lua just for this.
2021-05-22 10:35:06 +02:00
Jehan 49349c78cc build: add lua support to the Windows installer.
Note that I must not install both lua51 with luajit because these are
conflicting. Let's go with luajit from feedback we had on the best
choice (though this topic itself seems a bit heated actually).

Also clean-out the unexpected file removal because now I had the
opposite case, i.e. a CI problem because of this. And from my latest
tests, it seems to work ok for the time being without, which is much
cleaner anyway. So let's go like this for the time being.
2021-05-22 10:35:06 +02:00
Jehan 9c62dfd4d4 build: extensions are gimp32/64 specific.
Otherwise the extension files from the 32-bit build override the ones
from the 64-build. This is wrong first because we get 32-bit executables
uselessly (even though Windows 64-bit can run them, we should install
the right ones) and also because we don't build Vala plug-ins on 32-bit
(doesn't work for some reason) and as we override the extension
manifest, the Vala goat exercise is not made available even though it's
installed.
2021-05-19 22:01:21 +02:00
Jehan 8a42c6ccc2 build: add a test to check the Windows installer languages.
This way, we will avoid in the future any discrepancies between
languages set in the Windows installer and available translations (po
files in po-windows-installer/) because `make check`/`ninja test` will
fail.
2021-05-19 21:59:18 +02:00
Jehan 9d065b8718 build: create installer with debug symbols and Python support. 2021-05-19 21:59:09 +02:00
Jehan 9057de6c33 build: remove some data relevant to GTK+2 from installer. 2021-05-14 19:25:48 +02:00
Jehan 2415d06c66 build: no signed installer for the CI yet. 2021-05-14 19:25:48 +02:00
Jehan 681c37d830 build: "debug" component only known when DEBUG_SYMBOLS is defined. 2021-05-14 19:25:48 +02:00
Jehan 8cd05ceba7 build: unset LZMADictionarySize high value.
With compression level "ultra64" for LZMA, default value is 65536, which
is far enough (the installer file was only 100kib bigger, it doesn't
make that big of a difference in the end).
With the original value, the CI build would fail with "Out of memory"
error.

See also: https://jrsoftware.org/ishelp/index.php?topic=setup_lzmadictionarysize
2021-05-14 19:25:48 +02:00
Jehan 529eb56477 build: also looking for HKEY_CURRENT_USER Inno Setup registry key.
This will allow to use an user-installer Inno Setup, which is nicer,
especially to install it inside the CI without bothering about admin
rights.
2021-05-14 19:25:48 +02:00
Jehan 3d50cb339c build: patterns to bypass ghostscript version detection.
Do not try to follow up on the installed ghostscript (otherwise we'll
always have to fix as MSYS2 packages get updated). Instead, just install
whatever is in the /share/ghostscript/ path (assuming there is data for
a single version, which should be the case, especially on a resetted CI
build) and excluding the /doc/ folder.
2021-05-14 19:25:48 +02:00
Jehan 1284bbf679 build: update the generated Windows installer languages.
Based on available files in po-windows-installer/, here is the exact
corresponding list. Many <code>.setup.isl were not generated, even
though translations existed, and oppositely there was one (hr) which has
no translation file.
2021-05-10 18:11:49 +02:00
Jernej Simončič a97fbc561e Installer: forgot Components for girepository
(cherry picked from commit e215ec3a27)
2021-05-10 17:01:17 +02:00
Jernej Simončič 7cf6605da5 Installer: some cleanup, make Lua optional, add devel splashes
(cherry picked from commit 27c98c3478)
2021-05-10 17:01:17 +02:00
Jernej Simončič a42c441c13 Installer: preparing for GIMP 2.99
(cherry picked from commit 00dbfc7375)
2021-05-10 17:01:16 +02:00
Jernej Simončič 7cc383c5f7 Installer: add Croatian and Marathi language
(cherry picked from commit 3041a51f5b)
2021-05-10 17:01:16 +02:00
Jernej Simončič ff4dd2ce25 Installer: rearrange install order of files, should make installing slightly faster
(cherry picked from commit a8fb741246)
2021-05-10 17:01:15 +02:00
Jernej Simončič 2bb5d2807f Installer: file-mng builds on 32-bit Windows, stop special-casing it
(cherry picked from commit 888efb220a)
2021-05-10 17:01:14 +02:00
Jernej Simončič 5315e9fbdc Installer: properly remove old icons on 32-bit installs and per-user installs
(cherry picked from commit c860d62a63)
2021-05-10 17:00:41 +02:00
Jernej Simončič 1bb71e8193 Installer: skip .debug files when they don't exist
(cherry picked from commit 989336be64)
2021-05-10 17:00:40 +02:00
Jernej Simončič 62c1c5c045 Installer: unofficial languages, ghostscript 9.50
(cherry picked from commit 71b83a3b69)
2021-05-10 17:00:39 +02:00
Jernej Simončič b7ab224f92 Installer: handle associations better
(cherry picked from commit d32b049577)
2021-05-10 17:00:39 +02:00
Jernej Simončič d94d375340 Installer: fix for issue 3226
(cherry picked from commit c7c7a7d6a9)
2021-05-10 17:00:38 +02:00
Jernej Simončič 4d3b901589 Installer: forgot about .xcf extension
(cherry picked from commit c71a146220)
2021-05-10 17:00:37 +02:00
Jernej Simončič 90c2e81212 Installer: minor fixes
(cherry picked from commit e8ac2ed19b)
2021-05-10 17:00:37 +02:00
Jernej Simončič d7799efd0d Installer: ported install script to Inno Setup 6, add per-user install support
Rewrote file association handling to work both for all users and per-user

(cherry picked from commit fa1d71f714)
2021-05-10 17:00:36 +02:00
Jernej Simončič c9b9e37c57 Installer: install 64-bit Python on 64-bit Windows
(cherry picked from commit ad7434bb48)
2021-05-10 17:00:35 +02:00
Jernej Simončič 4ccf42dc0a Installer: changes for 2.10.12
(cherry picked from commit cd8192ad5b)
2021-05-10 17:00:34 +02:00
Jernej Simončič 67f7187c25 Installer: handle missing install directory of GIMP <2.8 better when there's still uninstall info in Registry
(cherry picked from commit 778faaddc8)
2021-05-10 17:00:34 +02:00
Jernej Simončič b8021c0826 Installer: remove dead code
(cherry picked from commit b6f11ee635)
2021-05-10 17:00:33 +02:00
Jernej Simončič d476b47dcd Installer: remove LIBTHAI_DICTDIR environment variable (no longer needed, see https://gitlab.gnome.org/GNOME/gimp/issues/2496#note_365235 )
(cherry picked from commit 4991603b2a)
2021-05-10 17:00:32 +02:00
Jernej Simončič 0ed37058de Installer: remove lib\gegl-0.2
(cherry picked from commit 47103dc28f)
2021-05-10 17:00:32 +02:00
Jernej Simončič 2cc134b8f4 Installer: include debug symbols for babl/gegl DLLs in lib\*
(cherry picked from commit ed08c1eded)
2021-05-10 16:59:27 +02:00