autoreconf is much more convinient over calling the autotools programs individually.
Standard gettext should be used over glib's glue these days. AM_GLIB_GNU_GETTEXT and glib-gettextize are deprecrecated. This helps the meson build as well as working with intltool is harder over there.
Inspired by: https://wiki.gnome.org/Initiatives/GnomeGoals/GettextMigration https://gitlab.gnome.org/GNOME/gedit/-/commit/0b4d03017fe7ba2e5c7d33d364de49... You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/2938
-- Commit Summary --
* <a href="https://github.com/geany/geany/pull/2938/commits/6dec24960b1cd7b78b84c4b5486d9ed3af88f3d7">autotools: use autoreconf and gettext</a>
-- File Changes --
M INSTALL (422) M Makefile.am (14) M autogen.sh (65) M configure.ac (7) M geany.desktop.in (8) D m4/geany-i18n.m4 (26)
-- Patch Links --
https://github.com/geany/geany/pull/2938.patch https://github.com/geany/geany/pull/2938.diff
@b4n @eht16 any opinion?
I'm a too big Autotools noob to really give valueable feedback.
Apart from that, this generally looks good to me and it removes old code! I cannot judge whether `autoreconf` does all the things the many manual steps did before. But I guess @b4n might know and/or we will notice during testing and using. Oh, and we use `autoreconf` already in G-P.
I tested the code on my Windows cross-build setup and noticed `autopoint` needs to be installed to run `./autogen.sh`. Maybe we should check for this dependency? And maybe also add `set -e` to the script as it continues even if some of the commands failed: ``` Processing configure.ac autoreconf: Entering directory `.' autoreconf: running: autopoint --force Can't exec "autopoint": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 345. autoreconf: failed to run autopoint: No such file or directory autoreconf: autopoint is needed because this package uses Gettext Done. configure skipped. ```
After installing `autopoint`, setup works. But the build fails: ``` Making all in po make[2]: Entering directory '/build/geany-build/po' make[2]: Leaving directory '/build/geany-build/po' make[2]: *** No rule to make target 'Makevars', needed by 'Makefile'. Stop. make[1]: Leaving directory '/build/geany-build' make[1]: *** [Makefile:589: all-recursive] Error 1 make: *** [Makefile:473: all] Error 2 ```
What's missing: - docs: we have a couple of occurrences of `intltool` (Readme, plugins docs, ...), `git grep` and then search+replace - Travis: we should remove intltool from the CI dependencies and add autopoint
P.S.: there was no CI job for this PR because probably me broke the Travis Github integration last week, without purpose. I tried to re-establish the integration again but I'm not completely sure it worked. We'll see with the next push.
@kugel- pushed 1 commit.
cbd39f12efb03afafa0b672ef3431905f9deb432 Add Makevars file
@kugel- what about the remaining issues I noticed?
@kugel- pushed 2 commits.
524f5ec842ebc056c5fbf2d09b3b4497c286f822 Add LINGUAS af65dd3104eafa4aaf89c5c14eb0782a17c8f733 update docs and gitignore
LGTM now!
@kugel- pushed 2 commits.
e10edb3064620016a9d4a0be3f527f15ac29e9b0 rm travis adfd32baefb1254e34421da870875ce7292d02f8 Merge remote-tracking branch 'upstream/master' into gettext
@kugel- pushed 1 commit.
c555c72708708f2257424dbb8dcc255f96668047 fix ci
@eht16 any idea about the mingw build failure? I cannot reproduce it on my system. `./scripts/cross-build-mingw.sh` runs fine for me.
@eht16 any idea about the mingw build failure? I cannot reproduce it on my system. `./scripts/cross-build-mingw.sh` runs fine for me.
According to https://www.linuxquestions.org/questions/slackware-14/undefined-reference-to... (just searched for the error as it was also not obvious to me), adding `-liconv` to CFLAGS fixes the error. However, I don't know what's going on behind the scenes and why it works without for the Linux builds.
Another question: is it on purpose that all the `po/*.po` files are updated?
Ah, and to reproduce start a `docker:18.04` Docker image and replay the build steps from the CI script.
@kugel- pushed 1 commit.
78f00400618096ce7ae2d8d20e3f56f3d5dc7b8d hopefully fix mingw
@kugel- pushed 2 commits.
aceafb56095d9251e49da1ee3cbc181a407ee295 autogen.sh set -e 7251dd8be4289d747bab689abd461ead6fd00527 undo .po changes
Another question: is it on purpose that all the po/*.po files are updated?
No. I reverted that part.
@eht16 Are you fine with this now?
Merging since @eht16 approved it earlier and it blocks the meson PR.
Merged #2938 into master.
github-comments@lists.geany.org