Add support for Meson build
cover Add support for Meson build
Last year, Eric Le Bihan already proposed patches to support the Meson build system [1], but the patches were rejected, as no package in Buildroot required a Meson build.
This has changed, as the libmpdclient package has switched from autotools to Meson.
Therefore, the patches from Eric are resubmitted with some changes as suggested by Yann E. Morin.
[1] http://patchwork.ozlabs.org/patch/646685/
Eric Le Bihan (2):
meson: new package
docs/manual: document meson-based packages
J?rg Krause (1):
libmpdclient: bump to version 2.13
docs/manual/adding-packages-meson.txt | 80 +++++++++++++++++++++++++++++++++ docs/manual/adding-packages.txt | 2 + package/libmpdclient/libmpdclient.hash | 4 +- package/libmpdclient/libmpdclient.mk | 26 +++++++++-- package/meson/cross-compilation.conf.in | 15 +++++++ package/meson/meson.hash | 2 + package/meson/meson.mk | 30 +++++++++++++ 7 files changed, 154 insertions(+), 5 deletions(-) create mode 100644 docs/manual/adding-packages-meson.txt create mode 100644 package/meson/cross-compilation.conf.in create mode 100644 package/meson/meson.hash create mode 100644 package/meson/meson.mk
Signature · 1 line
2.13.3
PATCH v2 1/3 meson: new package
From: Eric Le Bihan <[email protected]>
This new package provides the host variant of the Meson Build System, an open source build system meant to be both extremely fast, and as user friendly as possible.
More precisely, Meson creates configuration files for the Ninja build system.
Besides building Meson, it generates a configuration file ("$(HOST_DIR)/etc/meson/cross-compilation.conf") to be used when cross-compiling a Meson-based project.
[J?rg Krause:
* bump to version 0.41.2
* use explicit tarball release instead of github helper
* use explicit sed
* pass BR2_GCC_TARGET_CPU to cross file]
--- package/meson/cross-compilation.conf.in | 15 +++++++++++++++ package/meson/meson.hash | 2 ++ package/meson/meson.mk | 30 ++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 package/meson/cross-compilation.conf.in create mode 100644 package/meson/meson.hash create mode 100644 package/meson/meson.mk
package/meson/cross-compilation.conf.in new file +15 -0
@@ -0,0 +1,15 @@ +# Note: in Meson terminology, what Buildroot calls the "host" system is the +# "build" system and the "target" system is called the "host" system. + +[binaries] +c = '@TARGET_CROSS at gcc' +cpp = '@TARGET_CROSS at g++' +ar = '@TARGET_CROSS at ar' +strip = '@TARGET_CROSS at strip' +pkgconfig = '@HOST_DIR@/usr/bin/pkg-config' + +[host_machine] +system = 'linux' +cpu_family ='@TARGET_ARCH@' +cpu = '@TARGET_CPU@' +endian = '@TARGET_ENDIAN@'
package/meson/meson.hash new file +2 -0
@@ -0,0 +1,2 @@ +# Locally generated +sha256 074dd24fd068be0893e2e45bcc35c919d8e12777e9d6a7efdf72d4dc300867ca meson-0.41.2.tar.gz
package/meson/meson.mk new file +30 -0
@@ -0,0 +1,30 @@ +################################################################################ +# +# meson +# +################################################################################ + +MESON_VERSION = 0.41.2 +MESON_SITE = https://github.com/mesonbuild/meson/releases/download/$(MESON_VERSION) +MESON_LICENSE = Apache-2.0 +MESON_LICENSE_FILES = COPYING +MESON_SETUP_TYPE = setuptools + +HOST_MESON_DEPENDENCIES = host-ninja +HOST_MESON_NEEDS_HOST_PYTHON = python3 + +HOST_MESON_TARGET_ENDIAN = $(shell echo $(BR2_ENDIAN) | tr 'A-Z' 'a-z') + +define HOST_MESON_INSTALL_CROSS_CONF + sed -e 's;@TARGET_CROSS@;$(TARGET_CROSS);g' \ + -e 's;@TARGET_ARCH@;$(ARCH);g' \ + -e 's;@TARGET_CPU@;$(BR2_GCC_TARGET_CPU);g' \ + -e 's;@TARGET_ENDIAN@;$(HOST_MESON_TARGET_ENDIAN);g' \ + -e 's;@HOST_DIR@;$(HOST_DIR);g' \ + $(HOST_MESON_PKGDIR)/cross-compilation.conf.in \ + > $(HOST_DIR)/etc/meson/cross-compilation.conf +endef + +HOST_MESON_POST_INSTALL_HOOKS += HOST_MESON_INSTALL_CROSS_CONF + +$(eval $(host-python-package))
Signature · 1 line
2.13.3
PATCH v2 2/3 docs/manual: document meson-based packages
In reply to Jörg KrauseFrom: Eric Le Bihan <[email protected]>
Add instructions for adding a package which uses the Meson build system.
[J?rg Krause:
* use one-liner for buildtype]
--- docs/manual/adding-packages-meson.txt | 80 +++++++++++++++++++++++++++++++++++ docs/manual/adding-packages.txt | 2 + 2 files changed, 82 insertions(+) create mode 100644 docs/manual/adding-packages-meson.txt
docs/manual/adding-packages-meson.txt new file +80 -0
@@ -0,0 +1,80 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Integration of Meson-based packages + +[[meson-package-tutorial]] + +==== +meson-package+ tutorial + +http://mesonbuild.com[Meson] is an open source build system meant to be both +extremely fast, and, even more importantly, as user friendly as possible. + +Buildroot does not (yet) provide a dedicated package infrastructure for +meson-based packages. So, we will explain how to write a +.mk+ file for such a +package. Let's start with an example: + +------------------------------ +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: FOO_VERSION = 1.0 +08: FOO_SOURCE = foo-$(FOO_VERSION).tar.gz +09: FOO_SITE = http://www.foosoftware.org/download +10: FOO_LICENSE = GPLv3+ +11: FOO_LICENSE_FILES = COPYING +12: +13: FOO_DEPENDENCIES = host-meson host-pkgconf bar +14: +15: FOO_MESON_OPTS += \ +16: --prefix=/usr \ +17: --buildtype $(if $(BR2_ENABLE_DEBUG),debug,release) \ +18: --cross-file $(HOST_DIR)/etc/meson/cross-compilation.conf +19: +20: define FOO_CONFIGURE_CMDS +21: rm -rf $(@D)/build +22: mkdir -p $(@D)/build +23: $(TARGET_MAKE_ENV) meson.py $(FOO_MESON_OPTS) $(@D) $(@D)/build +24: endef +25: +26: define FOO_BUILD_CMDS +27: $(TARGET_MAKE_ENV) ninja -C $(@D)/build +28: endef +29: +30: define FOO_INSTALL_TARGET_CMDS +31: $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) ninja -C $(@D)/build install +32: endef +33: +34: $(eval $(generic-package)) +-------------------------------- + +The Makefile starts with the definition of the standard variables for package +declaration (lines 7 to 11). + +As seen in line 34, it is based on the +xref:generic-package-tutorial[+generic-package+ infrastructure]. So, it defines +the variables required by this particular infrastructure, where Meson and its +companion tool, Ninja, are invoked: + +* +FOO_CONFIGURE_CMDS+: the build directory required by Meson is created, and + Meson is invoked to generate the Ninja build file. The options required to + configure the cross-compilation of the package are passed via + +FOO_MESON_OPTS+. + +* +FOO_BUILD_CMDS+: Ninja is invoked to perform the build. + +* +FOO_INSTALL_TARGET_CMDS+: Ninja is invoked to install the files generated + during the build step. + +In order to have Meson available for the build, +FOO_DEPENDENCIES+ needs to +contain +host-meson+. In the example, +host-pkgconf+ and +bar+ are also +declared as dependencies because the Meson build file of +foo+ uses `pkg-config` +to determine the compilation flags and libraries of package +bar+. + +To sum it up, to add a new meson-based package, the Makefile example can be +copied verbatim then edited to replace all occurences of +FOO+ with the +uppercase name of the new package and update the values of the standard +variables.
docs/manual/adding-packages.txt +2 -0
@@ -34,6 +34,8 @@ include::adding-packages-rebar.txt[] include::adding-packages-waf.txt[] +include::adding-packages-meson.txt[] + include::adding-packages-kernel-module.txt[] include::adding-packages-asciidoc.txt[]
Signature · 1 line
2.13.3
PATCH 3/3 libmpdclient: bump to version 2.13
In reply to Jörg Krauselibmpdclient has switched from autotools to meson.
--- package/libmpdclient/libmpdclient.hash | 4 ++-- package/libmpdclient/libmpdclient.mk | 26 +++++++++++++++++++++++--- 2 files changed, 25 insertions(+), 5 deletions(-)
package/libmpdclient/libmpdclient.hash +2 -2
@@ -1,2 +1,2 @@ -# Verified against http://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.10.tar.xz.sig, sha256 locally computed -sha256 4f08cde82dae70895f8e4532a6e9b54b201efd5591c6b5d6834895807ed2ff82 libmpdclient-2.10.tar.xz +# Verified against http://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.13.tar.xz.sig, sha256 locally computed +sha256 5115bd52bc20a707c1ecc7587e6389c17305348e2132a66cf767c62fc55ed45d libmpdclient-2.13.tar.xz
package/libmpdclient/libmpdclient.mk +23 -3
@@ -5,12 +5,32 @@ ################################################################################ LIBMPDCLIENT_VERSION_MAJOR = 2 -LIBMPDCLIENT_VERSION = $(LIBMPDCLIENT_VERSION_MAJOR).10 +LIBMPDCLIENT_VERSION = $(LIBMPDCLIENT_VERSION_MAJOR).13 LIBMPDCLIENT_SOURCE = libmpdclient-$(LIBMPDCLIENT_VERSION).tar.xz LIBMPDCLIENT_SITE = http://www.musicpd.org/download/libmpdclient/$(LIBMPDCLIENT_VERSION_MAJOR) -LIBMPDCLIENT_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' LIBMPDCLIENT_INSTALL_STAGING = YES LIBMPDCLIENT_LICENSE = BSD-3-Clause LIBMPDCLIENT_LICENSE_FILES = COPYING -$(eval $(autotools-package)) +LIBMPDCLIENT_DEPENDENCIES = host-meson host-pkgconf + +LIBMPDCLIENT_MESON_OPTS += \ + --prefix=/usr \ + --buildtype $(if $(BR2_ENABLE_DEBUG),debug,release) \ + --cross-file $(HOST_DIR)/etc/meson/cross-compilation.conf + +define LIBMPDCLIENT_CONFIGURE_CMDS + rm -rf $(@D)/build + mkdir -p $(@D)/build + $(TARGET_MAKE_ENV) meson $(LIBMPDCLIENT_MESON_OPTS) $(@D) $(@D)/build +endef + +define LIBMPDCLIENT_BUILD_CMDS + $(TARGET_MAKE_ENV) ninja -C $(@D)/build +endef + +define LIBMPDCLIENT_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) ninja -C $(@D)/build install +endef + +$(eval $(generic-package))
Signature · 1 line
2.13.3
cover Add support for Meson build
In reply to Jörg KrauseHello J?rg, maintainers,
shouldn't we add a "package/pkg-meson.mk" file and then use "$(eval $(meson-package))" for Meson packages?
Vincent
Quoted 32 lines · J?rg Krause
Last year, Eric Le Bihan already proposed patches to support the Meson build system [1], but the patches were rejected, as no package in Buildroot required a Meson build.
This has changed, as the libmpdclient package has switched from autotools to Meson.
Therefore, the patches from Eric are resubmitted with some changes as suggested by Yann E. Morin.
[1] http://patchwork.ozlabs.org/patch/646685/
Eric Le Bihan (2):
meson: new package
docs/manual: document meson-based packagesJ?rg Krause (1):
libmpdclient: bump to version 2.13docs/manual/adding-packages-meson.txt | 80 +++++++++++++++++++++++++++++++++ docs/manual/adding-packages.txt | 2 + package/libmpdclient/libmpdclient.hash | 4 +- package/libmpdclient/libmpdclient.mk | 26 +++++++++-- package/meson/cross-compilation.conf.in | 15 +++++++ package/meson/meson.hash | 2 + package/meson/meson.mk | 30 +++++++++++++ 7 files changed, 154 insertions(+), 5 deletions(-) create mode 100644 docs/manual/adding-packages-meson.txt create mode 100644 package/meson/cross-compilation.conf.in create mode 100644 package/meson/meson.hash create mode 100644 package/meson/meson.mk
cover Add support for Meson build
Hello Vincent,
Quoted 4 lines · Vicente Olivert Riera
Hello J?rg, maintainers,
shouldn't we add a "
package/pkg-meson.mk" file and then use "$(eval $(meson-package))" for Meson packages?
Maybe, if there are more than one package. At least, that was the opinion of Yann when he reviewed the patch last year.
J?rg
cover Add support for Meson build
Hi J?rg,
Quoted 10 lines · J?rg Krause
Hello Vincent,
Quoted 4 lines · Vicente Olivert Riera
Hello J?rg, maintainers,
shouldn't we add a "
package/pkg-meson.mk" file and then use "$(eval $(meson-package))" for Meson packages?Maybe, if there are more than one package. At least, that was the opinion of Yann when he reviewed the patch last year.
There will be more packages moving to Meson, and some of them quite
important: http://mesonbuild.com/Users.html
I think we should add proper Meson support in BR infra from the beginning.
Vincent
Quoted 3 lines
J?rg
cover Add support for Meson build
Hello,
Quoted 10 lines · Vicente Olivert Riera
Quoted 5 lines
Quoted 2 lines
shouldn't we add a "
package/pkg-meson.mk" file and then use "$(eval $(meson-package))" for Meson packages?Maybe, if there are more than one package. At least, that was the opinion of Yann when he reviewed the patch last year.
There will be more packages moving to Meson, and some of them quite
important: http://mesonbuild.com/Users.htmlI think we should add proper Meson support in BR infra from the beginning.
No, let's wait to have a few Meson-based packages in Buildroot, and then we'll have a package infrastructure. This will allow us to see what are the commonalities, what are the differences, etc.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
cover Add support for Meson build
Hi,
Quoted 5 lines · Thomas Petazzoni
No, let's wait to have a few Meson-based packages in Buildroot, and then we'll have a package infrastructure. This will allow us to see what are the commonalities, what are the differences, etc.
systemd 235 is released (https://lwn.net/Articles/735691/) and it drops autoconf/automake and only has meson as the build system (in 234 they warned this would happen next) so perhaps that's a good starting point for buildroot to integrate meson support? I'm happy to help out if no one else was already working on it.
-Andrey
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20171006/f1ba2494/attachment.html>
cover Add support for Meson build
In reply to Thomas PetazzoniHi,
Quoted 3 lines · Thomas Petazzoni
No, let's wait to have a few Meson-based packages in Buildroot, and then we'll have a package infrastructure. This will allow us to see what are the commonalities, what are the differences, etc.
systemd 235 is released (https://lwn.net/Articles/735691/) and it drops autoconf/automake and only has meson as the build system (in 234 they warned this would happen next) so perhaps that's a good starting point for buildroot to integrate meson support? I'm happy to help out if no one else was already working on it.
cover Add support for Meson build
Hello,
Quoted 11 lines · Andrey Yurovsky
Quoted 3 lines · Thomas Petazzoni
No, let's wait to have a few Meson-based packages in Buildroot, and then we'll have a package infrastructure. This will allow us to see what are the commonalities, what are the differences, etc.
systemd 235 is released (https://lwn.net/Articles/735691/) and it drops autoconf/automake and only has meson as the build system (in 234 they warned this would happen next) so perhaps that's a good starting point for buildroot to integrate meson support? I'm happy to help out if no one else was already working on it.
This would indeed be a very compelling reason to support meson.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
cover Add support for Meson build
Thomas, Andrey, All,
Le 07/10/2017 ? 13:58, Thomas Petazzoni a ?crit?:
Quoted 10 lines
Hello,
Quoted 6 lines · Andrey Yurovsky
Quoted 3 lines · Thomas Petazzoni
No, let's wait to have a few Meson-based packages in Buildroot, and then we'll have a package infrastructure. This will allow us to see what are the commonalities, what are the differences, etc.
Quoted 7 lines
Quoted 5 lines
systemd 235 is released (https://lwn.net/Articles/735691/) and it drops autoconf/automake and only has meson as the build system (in 234 they warned this would happen next) so perhaps that's a good starting point for buildroot to integrate meson support? I'm happy to help out if no one else was already working on it.
This would indeed be a very compelling reason to support meson.
Also the next enlightenment release (0.22) will only support meson.
Best regards,
Romain
Quoted 5 lines
Best regards,
Thomas
cover Add support for Meson build
Hi,
Quoted 19 lines · Romain Naour
Thomas, Andrey, All,
Le 07/10/2017 ? 13:58, Thomas Petazzoni a ?crit :
Quoted 16 lines
Hello,
Quoted 11 lines · Andrey Yurovsky
Quoted 3 lines · Thomas Petazzoni
No, let's wait to have a few Meson-based packages in Buildroot, and then we'll have a package infrastructure. This will allow us to see what are the commonalities, what are the differences, etc.
systemd 235 is released (https://lwn.net/Articles/735691/) and it drops autoconf/automake and only has meson as the build system (in 234 they warned this would happen next) so perhaps that's a good starting point for buildroot to integrate meson support? I'm happy to help out if no one else was already working on it.
Quoted 4 lines
Quoted 1 line
This would indeed be a very compelling reason to support meson.
Also the next enlightenment release (0.22) will only support meson.
I was able to add a package/pkg-meson.mk wrapper (that seems to be missing from the Meson patch set, or did I completely miss it?) and built the previously submitted libmpdclient version bump via the $(eval $(meson-package)) wrapper. I'll work on version bumping systemd and converting it to use that wrapper as well. If possible I'd like to get this more or less right, what would a reasonable patch set look like? I was thinking, as a patch set:
1. resubmit the Meson patches (package/meson, documentation) by J?rg Krause
2. add package/pkg-meson.mk
3. resubmit the libmpdclient version bump patch by J?rg Krause but with $(eval $(meson-package)) changes
4. submit the systemd version bump and meson conversion patch(es)
That way we have the infrastructure, documentation, and two packages utilizing the infrastructure in one set to review. Does that sound alright?
cover Add support for Meson build
Hi all!
Quoted 27 lines · Andrey Yurovsky
Hi,
Quoted 19 lines · Romain Naour
Thomas, Andrey, All,
Le 07/10/2017 ? 13:58, Thomas Petazzoni a ?crit :
Quoted 16 lines
Hello,
Quoted 11 lines · Andrey Yurovsky
Quoted 3 lines · Thomas Petazzoni
No, let's wait to have a few Meson-based packages in Buildroot, and then we'll have a package infrastructure. This will allow us to see what are the commonalities, what are the differences, etc.
systemd 235 is released (https://lwn.net/Articles/735691/) and it drops autoconf/automake and only has meson as the build system (in 234 they warned this would happen next) so perhaps that's a good starting point for buildroot to integrate meson support? I'm happy to help out if no one else was already working on it.
Quoted 4 lines
Quoted 1 line
This would indeed be a very compelling reason to support meson.
Also the next enlightenment release (0.22) will only support meson.
Quoted 8 lines
I was able to add a
package/pkg-meson.mkwrapper (that seems to be missing from the Meson patch set, or did I completely miss it?) and built the previously submitted libmpdclient version bump via the $(eval $(meson-package)) wrapper. I'll work on version bumping systemd and converting it to use that wrapper as well. If possible I'd like to get this more or less right, what would a reasonable patch set look like? I was thinking, as a patch set:
1. resubmit the Meson patches (package/meson, documentation) by J?rg Krause
I resubmitted the series, with a version bump to 0.43.0 and other suggested changes.
@J?rg: in your respin of the series, why was the github helper dropped in favor of a direct tarball download?
Quoted 8 lines
2. add
package/pkg-meson.mk
3. resubmit the libmpdclient version bump patch by J?rg Krause but with $(eval $(meson-package)) changes
4. submit the systemd version bump and meson conversion patch(es)That way we have the infrastructure, documentation, and two packages utilizing the infrastructure in one set to review. Does that sound alright?
@Andrey: I'll be happy to test your patches.
Regards,
--
ELB
cover Add support for Meson build
Hi Eric,
Quoted 39 lines · Eric Le Bihan
Hi all!
Quoted 27 lines · Andrey Yurovsky
Hi,
Quoted 19 lines · Romain Naour
Thomas, Andrey, All,
Le 07/10/2017 ? 13:58, Thomas Petazzoni a ?crit :
Quoted 16 lines
Hello,
Quoted 11 lines · Andrey Yurovsky
Quoted 3 lines · Thomas Petazzoni
No, let's wait to have a few Meson-based packages in Buildroot, and then we'll have a package infrastructure. This will allow us to see what are the commonalities, what are the differences, etc.
systemd 235 is released (https://lwn.net/Articles/735691/) and it drops autoconf/automake and only has meson as the build system (in 234 they warned this would happen next) so perhaps that's a good starting point for buildroot to integrate meson support? I'm happy to help out if no one else was already working on it.
Quoted 4 lines
Quoted 1 line
This would indeed be a very compelling reason to support meson.
Also the next enlightenment release (0.22) will only support meson.
Quoted 8 lines
I was able to add a
package/pkg-meson.mkwrapper (that seems to be missing from the Meson patch set, or did I completely miss it?) and built the previously submitted libmpdclient version bump via the $(eval $(meson-package)) wrapper. I'll work on version bumping systemd and converting it to use that wrapper as well. If possible I'd like to get this more or less right, what would a reasonable patch set look like? I was thinking, as a patch set:
1. resubmit the Meson patches (package/meson, documentation) by J?rg Krause
Quoted 6 lines
I resubmitted the series, with a version bump to 0.43.0 and other suggested changes.
@J?rg: in your respin of the series, why was the github helper dropped in favor of a direct tarball download?
As Arnout has responded in a follow-up review, we prefer an uploaded tarball because the github tarballs might change from time to time. Furthermore, the uploaded tarballs often contains autogenerated files which frees us from doing autoreconf for the package.
Quoted 11 lines
Quoted 8 lines
2. add
package/pkg-meson.mk
3. resubmit the libmpdclient version bump patch by J?rg Krause but with $(eval $(meson-package)) changes
4. submit the systemd version bump and meson conversion patch(es)That way we have the infrastructure, documentation, and two packages utilizing the infrastructure in one set to review. Does that sound alright?
@Andrey: I'll be happy to test your patches.
Best regards,
J?rg Krause
cover Add support for Meson build
Hey all;
gstreamer is also moving to meson as well, so I am glad to see this hapening sooner than later!
Adam
Quoted 72 lines · J?rg Krause
Hi Eric,
Quoted 39 lines · Eric Le Bihan
Hi all!
Quoted 27 lines · Andrey Yurovsky
Hi,
Quoted 19 lines · Romain Naour
Thomas, Andrey, All,
Le 07/10/2017 ? 13:58, Thomas Petazzoni a ?crit :
Quoted 16 lines
Hello,
Quoted 11 lines · Andrey Yurovsky
Quoted 3 lines · Thomas Petazzoni
No, let's wait to have a few Meson-based packages in Buildroot, and then we'll have a package infrastructure. This will allow us to see what are the commonalities, what are the differences, etc.
systemd 235 is released (https://lwn.net/Articles/735691/) and it drops autoconf/automake and only has meson as the build system (in 234 they warned this would happen next) so perhaps that's a good starting point for buildroot to integrate meson support? I'm happy to help out if no one else was already working on it.
Quoted 4 lines
Quoted 1 line
This would indeed be a very compelling reason to support meson.
Also the next enlightenment release (0.22) will only support meson.
Quoted 8 lines
I was able to add a
package/pkg-meson.mkwrapper (that seems to be missing from the Meson patch set, or did I completely miss it?) and built the previously submitted libmpdclient version bump via the $(eval $(meson-package)) wrapper. I'll work on version bumping systemd and converting it to use that wrapper as well. If possible I'd like to get this more or less right, what would a reasonable patch set look like? I was thinking, as a patch set:
1. resubmit the Meson patches (package/meson, documentation) by J?rg KrauseQuoted 6 lines
I resubmitted the series, with a version bump to 0.43.0 and other suggested changes.
@J?rg: in your respin of the series, why was the github helper dropped in favor of a direct tarball download?
As Arnout has responded in a follow-up review, we prefer an uploaded tarball because the github tarballs might change from time to time. Furthermore, the uploaded tarballs often contains autogenerated files which frees us from doing autoreconf for the package.
Quoted 11 lines
Quoted 8 lines
2. add
package/pkg-meson.mk
3. resubmit the libmpdclient version bump patch by J?rg Krause but with $(eval $(meson-package)) changes
4. submit the systemd version bump and meson conversion patch(es)That way we have the infrastructure, documentation, and two packages utilizing the infrastructure in one set to review. Does that sound alright?
@Andrey: I'll be happy to test your patches.
Best regards,
J?rg Krause
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
cover Add support for Meson build
In reply to Andrey YurovskyQuoted 22 lines · Andrey Yurovsky
Hi,
Quoted 19 lines · Romain Naour
Thomas, Andrey, All,
Le 07/10/2017 ? 13:58, Thomas Petazzoni a ?crit :
Quoted 16 lines
Hello,
Quoted 11 lines · Andrey Yurovsky
Quoted 3 lines · Thomas Petazzoni
No, let's wait to have a few Meson-based packages in Buildroot, and then we'll have a package infrastructure. This will allow us to see what are the commonalities, what are the differences, etc.
systemd 235 is released (https://lwn.net/Articles/735691/) and it drops autoconf/automake and only has meson as the build system (in 234 they warned this would happen next) so perhaps that's a good starting point for buildroot to integrate meson support? I'm happy to help out if no one else was already working on it.
Quoted 7 lines
Quoted 4 lines
Quoted 1 line
This would indeed be a very compelling reason to support meson.
Also the next enlightenment release (0.22) will only support meson.
I was able to add a
package/pkg-meson.mkwrapper (that seems to be missing from the Meson patch set, or did I completely miss it?) and
Yes, our original idea was that there should be a few packages using meson
before we add an infra for it. But since there are quite a few packages that will use the meson infra, and since it seems pretty straightforward, it can indeed be done right away (at least according to me, Thomas may have a different opinion).
Quoted 6 lines
built the previously submitted libmpdclient version bump via the $(eval $(meson-package)) wrapper. I'll work on version bumping systemd and converting it to use that wrapper as well. If possible I'd like to get this more or less right, what would a reasonable patch set look like? I was thinking, as a patch set:
1. resubmit the Meson patches (package/meson, documentation) by J?rg Krause
If you're anyway adding pkg-meson.mk, then the documentation doesn't make much
sense (in that form). Better do it after pkg-meson.mk.
Quoted 8 lines
2. add
package/pkg-meson.mk
3. resubmit the libmpdclient version bump patch by J?rg Krause but with $(eval $(meson-package)) changes
4. submit the systemd version bump and meson conversion patch(es)That way we have the infrastructure, documentation, and two packages utilizing the infrastructure in one set to review. Does that sound alright?
Yes it does!
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
cover Add support for Meson build
Hello,
Quoted 5 lines · Arnout Vandecappelle
Yes, our original idea was that there should be a few packages using meson
before we add an infra for it. But since there are quite a few packages that will use the meson infra, and since it seems pretty straightforward, it can indeed be done right away (at least according to me, Thomas may have a different opinion).
Yes, I believe it's fine to have a Meson package infrastructure right away. There is a clear trend towards using Meson, so I'm fine with merging a package infrastructure for it.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com