data: fix gimp-release file on Windows.

The '\n' newline is transformed into a space (0x20) when building
natively on Windows. And unfortunately g_key_file_load_from_file() does
not like this.

The autotools rule works properly on all platforms according to my
tests.

Note that at first, I thought it was a LF vs. CRLF issue, and tried to
special-case Windows, but I realized it's just that 'echo' command
seemingly transform newlines unexpectedly in its Windows form. I didn't
want to waste too much time experimenting alternative calls, especially
as I have to test through CI (so each test is very costly, time-wise).
Instead I go the alternative way of using a pre-generated conf file.
This commit is contained in:
Jehan 2022-06-06 17:14:44 +02:00
parent 10145bb938
commit 67f7b76e92
2 changed files with 10 additions and 6 deletions

2
data/gimp-release.in Normal file
View file

@ -0,0 +1,2 @@
[package]
revision=@REVISION@

View file

@ -15,12 +15,14 @@ meson.add_install_script('sh', '-c',
'mkdir -p $MESON_INSTALL_DESTDIR_PREFIX/@0@'.format(gimpdatadir / 'fonts') 'mkdir -p $MESON_INSTALL_DESTDIR_PREFIX/@0@'.format(gimpdatadir / 'fonts')
) )
custom_target('gimp-release', release_conf = configuration_data()
output: [ 'gimp-release' ], release_conf.set('REVISION', get_option('revision'))
command: [
'echo', ['[package]' + '\nrevision=@0@'.format(get_option('revision'))] gimp_release = 'gimp-release'
], configure_file(
capture: true, input : gimp_release + '.in',
output: gimp_release,
configuration: release_conf,
install: true, install: true,
install_dir: gimpdatadir, install_dir: gimpdatadir,
) )