GNOME Bugzilla – Bug 782707
Port to meson build system
Last modified: 2017-10-30 19:31:19 UTC
Created attachment 351991 [details] [review] Port to meson build system Complete port to meson build system. In other ports I have added a configure file used to ease building with meson, but there are some changes planned, so I decided not to include it yet.
Created attachment 352009 [details] [review] Port to meson build system I have updated the patch with the following changes: - I have finally added configure_meson. If the new changes get a good review, they could be included after. - I have removed enable-nls option. While the options is in the autotools options, it has no a real use. - I have renamed update-mimedb option to enable-update-mimedb, as it's the proper name used as autotools option.
The port has a problem when using the uninstall problem which is explained here[0]. I will try to solve it once meson decides what to do regarding file renaming. Once possible alternative could be to create a proper directory structure under icon directory, which also sounds good. [0] https://bugzilla.gnome.org/show_bug.cgi?id=782843#c5
Hi Iñigo Martínez, thanks for your hard work. Please keep this code in a personal branch (please take a look in my chat with feaneron @ our #bijiben channel). My idea is to merge it to 3.26 when it's ready. Thanks.
Created attachment 353658 [details] [review] Updated autotools to use libgd module at subproject directory In order to share the libgd module between autotools and meson, autotools configuration has been updated. Meson version has also been raised to 0.40.1 that helps removing libgds wrap file, which is not needed anymore.
Created attachment 353659 [details] [review] Update meson build support A patch that updates meson build port with the following changes: * Rebased with 3.24.0 version updates. * Merged icon cache update, gsettins schema compilation and desktop file validation in the same post install script. * Added missing 24x24 application icon size. * Changed appdata file installation directory to use the new AppStream files location. * Removed execution mode from desktop and gschema files. * Added version and zeitgeist to output messages. * Removed header files listing.
Created attachment 353661 [details] [review] Update meson build support Removed unneeded nls option output on configure_meson script.
Created attachment 354299 [details] [review] Removed flags available as meson options I have removed flags available in bijiben's different warning levels, taking advantage of that feature.
Created attachment 354300 [details] [review] Fixed symlink option on help creation When creating help data, symlink option was disabled, hence symlinks to figures were not created.
Created attachment 354301 [details] [review] Moved update mime data script to source root Although mime file is created on data directory, the mime update script should be located in the source root directory, where the other install script is located.
Created attachment 354888 [details] [review] Improved meson build port meson build port has been improved with the following changes: * Fixed default project flags on non debug builds. * zeitgeist option has been changed to true by default. * Removed unused ldflags from libiji. * libbiji is built as static library, so it can not be optionally compiled as a shared library using meson options.
Created attachment 357694 [details] [review] Updated autotools to use libgd module at subproject directory All the patches has been ordered and squashed. This first patch moves the location of libgd to subprojects, so it can be used by both autotools and meson.
Created attachment 357695 [details] [review] Port to meson build system This patch is the full port to meson build system, which merges all the changes in previous patches.
Created attachment 357696 [details] [review] Remove autotools Some applications are removing autotools to avoid the burden of maintaining two build systems. This patch removes autotools in case is considered.
Created attachment 357709 [details] [review] Port to meson build system Minor change on the meson build port regarding resources paths.
Created attachment 359190 [details] [review] Updated autotools to use libgd module at subproject directory New patches after rebasing the master branch. I have also included the bug number in the commit.
Created attachment 359191 [details] [review] Port to meson build system New patches after rebasing the master branch. I have also included the bug number in the commit.
Created attachment 359192 [details] [review] Updated autotools to use libgd module at subproject directory My bad!, I have just uploaded the wrong patch. This is correct now.
Created attachment 359193 [details] [review] Port to meson build system This was wrong also, here goes the correct one.
Created attachment 359194 [details] [review] Remove autotools New patches after rebasing the master branch. I have also included the bug number in the commit.
Created attachment 359202 [details] [review] Remove autotools
Created attachment 359314 [details] [review] Port to meson build system The meson port patch has been updated with the following changes: - Checking of standard headers has been removed as it isn't necessary anymore. - libbiji marshalers generation procedure has been changed, as it produces some errors if the glib-genmarshal is not recent enough.
Created attachment 359754 [details] [review] Move libgd module This patch contains an updated subject and commit message.
Created attachment 359755 [details] [review] Port to meson build system This patch contains an updated commit message. It also bumps version number to the recent 3.26.0 version.
Created attachment 359756 [details] [review] Remove autotools This patch update contains updated commit message.
Created attachment 361575 [details] [review] Port to meson build system Updated port to meson patch. The changes are as follows: - Rebased master branch which also bumped the version number to 3.26.1. - meson 0.43.0 is now required as this takes advantage of the new add_project_argument helper[0]. - Fixed AppStream metainfo file name. Applications are a special case and they should use the '%{id}.appdata.xml' format. - Use of the LINGUAS file inside `help` directory, as language parameter is deprecated[1]. - Use of a variable called bijiben_name which holds the project name, instead of calling to the `meson.project_name()` function. - `glib-2.0` version `2.53.4` is now required in meson to avoid problems with `glib-genmarshal`[2][3]. I've also uploaded the wip branch. [0] http://mesonbuild.com/Release-notes-for-0-43-0.html#easier-handling-of-supported-compiler-arguments [1] https://github.com/mesonbuild/meson/pull/2216 [2] https://www.bassi.io/articles/2017/10/13/glib-tools/ [3] https://bugzilla.gnome.org/show_bug.cgi?id=788948
Created attachment 361576 [details] [review] Remove autotools A follow up update.
Created attachment 361695 [details] [review] Remove meson's compiler flag helper meson 0.43.0 added a helper for checking the support of different compiler flags which was also added to bijiben. However, the major distributions do not yet ship this version, so the use of this helper has been removed.
You already pushed these patches to git master except for patch 361695. 361695 doesn't seem necessary since distros will have meson 0.43.0 by the time they package bijiben 3.27.
Comment on attachment 361695 [details] [review] Remove meson's compiler flag helper (In reply to Jeremy Bicha from comment #28) > You already pushed these patches to git master except for patch 361695. > 361695 doesn't seem necessary since distros will have meson 0.43.0 by the > time they package bijiben 3.27. We had a discussion on the IRC, and we have considered that maybe it could be interesting to set meson to 0.42.0 version to get actual distros support. However, you are right and the patch is marked as obsolete now.
Fedora already has meson 0.43. Debian and Ubuntu 18.04 will get meson 0.43 once the upload gets sponsored. (I don't think Ubuntu 17.10 will get a newer meson than 0.42.)
Everything is in master now. Iñigo Martínez, man, you've done an awesome work. Thanks!