After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 782707 - Port to meson build system
Port to meson build system
Status: RESOLVED FIXED
Product: bijiben
Classification: Applications
Component: general
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: Bijiben maintainer(s)
Bijiben maintainer(s)
Depends on:
Blocks: 782980 786461 787317 787381
 
 
Reported: 2017-05-16 20:08 UTC by Iñigo Martínez
Modified: 2017-10-30 19:31 UTC
See Also:
GNOME target: ---
GNOME version: 3.25/3.26


Attachments
Port to meson build system (19.73 KB, patch)
2017-05-16 20:08 UTC, Iñigo Martínez
none Details | Review
Port to meson build system (24.77 KB, patch)
2017-05-17 09:11 UTC, Iñigo Martínez
none Details | Review
Updated autotools to use libgd module at subproject directory (4.21 KB, patch)
2017-06-13 08:37 UTC, Iñigo Martínez
none Details | Review
Update meson build support (20.22 KB, patch)
2017-06-13 08:39 UTC, Iñigo Martínez
none Details | Review
Update meson build support (20.68 KB, patch)
2017-06-13 08:53 UTC, Iñigo Martínez
none Details | Review
Removed flags available as meson options (3.07 KB, patch)
2017-06-23 09:26 UTC, Iñigo Martínez
none Details | Review
Fixed symlink option on help creation (726 bytes, patch)
2017-06-23 09:26 UTC, Iñigo Martínez
none Details | Review
Moved update mime data script to source root (1.62 KB, patch)
2017-06-23 09:28 UTC, Iñigo Martínez
none Details | Review
Improved meson build port (3.52 KB, patch)
2017-07-04 15:48 UTC, Iñigo Martínez
none Details | Review
Updated autotools to use libgd module at subproject directory (3.38 KB, patch)
2017-08-16 09:10 UTC, Iñigo Martínez
none Details | Review
Port to meson build system (20.79 KB, patch)
2017-08-16 09:10 UTC, Iñigo Martínez
none Details | Review
Remove autotools (32.04 KB, patch)
2017-08-16 09:12 UTC, Iñigo Martínez
none Details | Review
Port to meson build system (20.85 KB, patch)
2017-08-16 10:51 UTC, Iñigo Martínez
none Details | Review
Updated autotools to use libgd module at subproject directory (2.42 KB, patch)
2017-09-05 14:39 UTC, Iñigo Martínez
none Details | Review
Port to meson build system (25.69 KB, patch)
2017-09-05 14:39 UTC, Iñigo Martínez
none Details | Review
Updated autotools to use libgd module at subproject directory (3.45 KB, patch)
2017-09-05 14:41 UTC, Iñigo Martínez
none Details | Review
Port to meson build system (20.66 KB, patch)
2017-09-05 14:42 UTC, Iñigo Martínez
none Details | Review
Remove autotools (32.06 KB, patch)
2017-09-05 14:42 UTC, Iñigo Martínez
none Details | Review
Remove autotools (32.10 KB, patch)
2017-09-05 15:34 UTC, Iñigo Martínez
none Details | Review
Port to meson build system (20.91 KB, patch)
2017-09-06 20:05 UTC, Iñigo Martínez
none Details | Review
Move libgd module (3.47 KB, patch)
2017-09-14 05:52 UTC, Iñigo Martínez
none Details | Review
Port to meson build system (21.06 KB, patch)
2017-09-14 05:53 UTC, Iñigo Martínez
none Details | Review
Remove autotools (32.22 KB, patch)
2017-09-14 05:53 UTC, Iñigo Martínez
none Details | Review
Port to meson build system (20.37 KB, patch)
2017-10-14 08:48 UTC, Iñigo Martínez
none Details | Review
Remove autotools (32.21 KB, patch)
2017-10-14 08:48 UTC, Iñigo Martínez
none Details | Review
Remove meson's compiler flag helper (1.21 KB, patch)
2017-10-16 19:59 UTC, Iñigo Martínez
none Details | Review

Description Iñigo Martínez 2017-05-16 20:08:11 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.
Comment 1 Iñigo Martínez 2017-05-17 09:11:19 UTC
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.
Comment 2 Iñigo Martínez 2017-05-25 08:04:26 UTC
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
Comment 3 Isaque Galdino 2017-06-11 18:40:21 UTC
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.
Comment 4 Iñigo Martínez 2017-06-13 08:37:09 UTC
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.
Comment 5 Iñigo Martínez 2017-06-13 08:39:04 UTC
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.
Comment 6 Iñigo Martínez 2017-06-13 08:53:58 UTC
Created attachment 353661 [details] [review]
Update meson build support

Removed unneeded nls option output on configure_meson script.
Comment 7 Iñigo Martínez 2017-06-23 09:26:03 UTC
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.
Comment 8 Iñigo Martínez 2017-06-23 09:26:49 UTC
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.
Comment 9 Iñigo Martínez 2017-06-23 09:28:56 UTC
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.
Comment 10 Iñigo Martínez 2017-07-04 15:48:34 UTC
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.
Comment 11 Iñigo Martínez 2017-08-16 09:10:06 UTC
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.
Comment 12 Iñigo Martínez 2017-08-16 09:10:56 UTC
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.
Comment 13 Iñigo Martínez 2017-08-16 09:12:05 UTC
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.
Comment 14 Iñigo Martínez 2017-08-16 10:51:09 UTC
Created attachment 357709 [details] [review]
Port to meson build system

Minor change on the meson build port regarding resources paths.
Comment 15 Iñigo Martínez 2017-09-05 14:39:25 UTC
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.
Comment 16 Iñigo Martínez 2017-09-05 14:39:54 UTC
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.
Comment 17 Iñigo Martínez 2017-09-05 14:41:12 UTC
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.
Comment 18 Iñigo Martínez 2017-09-05 14:42:13 UTC
Created attachment 359193 [details] [review]
Port to meson build system

This was wrong also, here goes the correct one.
Comment 19 Iñigo Martínez 2017-09-05 14:42:51 UTC
Created attachment 359194 [details] [review]
Remove autotools

New patches after rebasing the master branch. I have also included the bug number in the commit.
Comment 20 Iñigo Martínez 2017-09-05 15:34:43 UTC
Created attachment 359202 [details] [review]
Remove autotools
Comment 21 Iñigo Martínez 2017-09-06 20:05:41 UTC
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.
Comment 22 Iñigo Martínez 2017-09-14 05:52:34 UTC
Created attachment 359754 [details] [review]
Move libgd module

This patch contains an updated subject and commit message.
Comment 23 Iñigo Martínez 2017-09-14 05:53:26 UTC
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.
Comment 24 Iñigo Martínez 2017-09-14 05:53:56 UTC
Created attachment 359756 [details] [review]
Remove autotools

This patch update contains updated commit message.
Comment 25 Iñigo Martínez 2017-10-14 08:48:26 UTC
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
Comment 26 Iñigo Martínez 2017-10-14 08:48:54 UTC
Created attachment 361576 [details] [review]
Remove autotools

A follow up update.
Comment 27 Iñigo Martínez 2017-10-16 19:59:47 UTC
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.
Comment 28 Jeremy Bicha 2017-10-16 20:21:02 UTC
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 29 Iñigo Martínez 2017-10-16 20:43:16 UTC
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.
Comment 30 Jeremy Bicha 2017-10-16 20:51:42 UTC
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.)
Comment 31 Isaque Galdino 2017-10-30 19:31:19 UTC
Everything is in master now.
Iñigo Martínez, man, you've done an awesome work.
Thanks!