diff mbox series

[v2] package/libqmi: bump to version 1.30.0

Message ID 20210806100144.12444-1-yegorslists@googlemail.com
State Changes Requested
Headers show
Series [v2] package/libqmi: bump to version 1.30.0 | expand

Commit Message

Voss, Samuel M Collins via buildroot Aug. 6, 2021, 10:01 a.m. UTC
From: Yegor Yefremov <yegorslists@googlemail.com>

This release introduces meson build system support that fixes
gobject-intorspection issue with autotools.

As meson files are only available in git, switch the location to
https://gitlab.freedesktop.org.

Add support for bash-completion.

Add an upstream patch fixing the compilation without gobject-intorspection.

Fixes:
http://autobuild.buildroot.net/results/c13877a5700445253900e312bc87904152be429a

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
Changes v1 -> v2:
  - add a patch fixing the compilation without gobject-intorspection (Aleksander Morgado)

 ...build-meson-fix-introspection-option.patch | 34 ++++++++++++++++++
 package/libqmi/libqmi.hash                    |  2 +-
 package/libqmi/libqmi.mk                      | 36 ++++++++++---------
 3 files changed, 55 insertions(+), 17 deletions(-)
 create mode 100644 package/libqmi/0001-build-meson-fix-introspection-option.patch

Comments

Aleksander Morgado Aug. 6, 2021, 12:40 p.m. UTC | #1
On Fri, Aug 6, 2021 at 12:01 PM <yegorslists@googlemail.com> wrote:
>
> From: Yegor Yefremov <yegorslists@googlemail.com>
>
> This release introduces meson build system support that fixes
> gobject-intorspection issue with autotools.
>
> As meson files are only available in git, switch the location to
> https://gitlab.freedesktop.org.
>
> Add support for bash-completion.
>
> Add an upstream patch fixing the compilation without gobject-intorspection.
>
> Fixes:
> http://autobuild.buildroot.net/results/c13877a5700445253900e312bc87904152be429a
>
> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>

Thanks!

Acked-by: Aleksander Morgado <aleksander@aleksander.es>

> ---
> Changes v1 -> v2:
>   - add a patch fixing the compilation without gobject-intorspection (Aleksander Morgado)
>
>  ...build-meson-fix-introspection-option.patch | 34 ++++++++++++++++++
>  package/libqmi/libqmi.hash                    |  2 +-
>  package/libqmi/libqmi.mk                      | 36 ++++++++++---------
>  3 files changed, 55 insertions(+), 17 deletions(-)
>  create mode 100644 package/libqmi/0001-build-meson-fix-introspection-option.patch
>
> diff --git a/package/libqmi/0001-build-meson-fix-introspection-option.patch b/package/libqmi/0001-build-meson-fix-introspection-option.patch
> new file mode 100644
> index 0000000000..8a409eaecc
> --- /dev/null
> +++ b/package/libqmi/0001-build-meson-fix-introspection-option.patch
> @@ -0,0 +1,34 @@
> +From bfb066419f288764edbade1e27e93a5dda59a5f4 Mon Sep 17 00:00:00 2001
> +From: Aleksander Morgado <aleksander@aleksander.es>
> +Date: Fri, 6 Aug 2021 10:32:22 +0200
> +Subject: [PATCH] build,meson: fix introspection option
> +
> +Using -Dintrospection=false would actually not disable it. There is no
> +longer an "auto" option for the introspection support, it will be
> +either enabled or disabled depending on what the user asks
> +for (default enabled).
> +
> +Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
> +---
> + meson.build | 5 ++++-
> + 1 file changed, 4 insertions(+), 1 deletion(-)
> +
> +diff --git a/meson.build b/meson.build
> +index b25bca57..d28e5601 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -218,7 +218,10 @@ version_conf.set10('QMI_QRTR_SUPPORTED', enable_qrtr)
> + version_conf.set10('QMI_RMNET_SUPPORTED', enable_rmnet)
> +
> + # introspection support
> +-enable_gir = dependency('gobject-introspection-1.0', version: '>= 0.9.6', required: get_option('introspection')).found()
> ++enable_gir = get_option('introspection')
> ++if enable_gir
> ++  dependency('gobject-introspection-1.0', version: '>= 0.9.6')
> ++endif
> +
> + random_number = qmi_minor_version + meson.version().split('.').get(1).to_int()
> +
> +--
> +2.17.0
> +
> diff --git a/package/libqmi/libqmi.hash b/package/libqmi/libqmi.hash
> index 0bfc63f4a4..0373bb4e75 100644
> --- a/package/libqmi/libqmi.hash
> +++ b/package/libqmi/libqmi.hash
> @@ -1,4 +1,4 @@
>  # Locally computed:
>  sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  COPYING
>  sha256  dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551  COPYING.LIB
> -sha256  cbb890893de1dee06ea5ebdac2d22f0469314a6f93f15f61f2f1206a1c9ae5fd  libqmi-1.28.6.tar.xz
> +sha256  c0421684c12697c448077dd5c0a66c6f745deab3558af578e3f10307c8a0c564  libqmi-1.30.0.tar.gz
> diff --git a/package/libqmi/libqmi.mk b/package/libqmi/libqmi.mk
> index 7b1d76a0c1..05fd3ae9af 100644
> --- a/package/libqmi/libqmi.mk
> +++ b/package/libqmi/libqmi.mk
> @@ -4,9 +4,8 @@
>  #
>  ################################################################################
>
> -LIBQMI_VERSION = 1.28.6
> -LIBQMI_SITE = http://www.freedesktop.org/software/libqmi
> -LIBQMI_SOURCE = libqmi-$(LIBQMI_VERSION).tar.xz
> +LIBQMI_VERSION = 1.30.0
> +LIBQMI_SITE = https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/archive/$(LIBQMI_VERSION)
>  LIBQMI_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (programs)
>  LIBQMI_LICENSE_FILES = COPYING COPYING.LIB
>  LIBQMI_CPE_ID_VENDOR = libqmi_project
> @@ -14,47 +13,52 @@ LIBQMI_INSTALL_STAGING = YES
>
>  LIBQMI_DEPENDENCIES = libglib2
>
> -LIBQMI_CONF_OPTS = --disable-Werror
> -
>  ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
>  LIBQMI_DEPENDENCIES += gobject-introspection
> -LIBQMI_CONF_OPTS += --enable-introspection
> +LIBQMI_CONF_OPTS += -Dintrospection=true
>  else
> -LIBQMI_CONF_OPTS += --disable-introspection
> +LIBQMI_CONF_OPTS += -Dintrospection=false
>  endif
>
>  # if libgudev available, request udev support for a better
>  # qmi-firmware-update experience
>  ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
>  LIBQMI_DEPENDENCIES += libgudev
> -LIBQMI_CONF_OPTS += --with-udev
> +LIBQMI_CONF_OPTS += -Dudev=true
>  else
> -LIBQMI_CONF_OPTS += --without-udev
> +LIBQMI_CONF_OPTS += -Dudev=false
>  endif
>
>  # if libmbim available, request QMI-over-MBIM support
>  ifeq ($(BR2_PACKAGE_LIBMBIM),y)
>  LIBQMI_DEPENDENCIES += libmbim
> -LIBQMI_CONF_OPTS += --enable-mbim-qmux
> +LIBQMI_CONF_OPTS += -Dmbim_qmux=true
>  else
> -LIBQMI_CONF_OPTS += --disable-mbim-qmux
> +LIBQMI_CONF_OPTS += -Dmbim_qmux=false
>  endif
>
>  # if libqrtr-glib available, enable support for QMI over QRTR
>  ifeq ($(BR2_PACKAGE_LIBQRTR_GLIB),y)
>  LIBQMI_DEPENDENCIES += libqrtr-glib
> -LIBQMI_CONF_OPTS += --enable-qrtr
> +LIBQMI_CONF_OPTS += -Dqrtr=true
>  else
> -LIBQMI_CONF_OPTS += --disable-qrtr
> +LIBQMI_CONF_OPTS += -Dqrtr=false
>  endif
>
>  # if ModemManager available, enable MM runtime check in
>  # qmi-firmware-update (note that we don't need to build-depend on
>  # anything else)
>  ifeq ($(BR2_PACKAGE_MODEM_MANAGER),y)
> -LIBQMI_CONF_OPTS += --enable-mm-runtime-check
> +LIBQMI_CONF_OPTS += -Dmm_runtime_check=true
> +else
> +LIBQMI_CONF_OPTS += -Dmm_runtime_check=false
> +endif
> +
> +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y)
> +LIBQMI_DEPENDENCIES += bash-completion
> +LIBQMI_CONF_OPTS += -Dbash_completion=true
>  else
> -LIBQMI_CONF_OPTS += --disable-mm-runtime-check
> +LIBQMI_CONF_OPTS += -Dbash_completion=false
>  endif
>
> -$(eval $(autotools-package))
> +$(eval $(meson-package))
> --
> 2.17.0
>
Thomas Petazzoni Aug. 12, 2021, 9:53 p.m. UTC | #2
Hello Yegor,

+Fabrice and Adam in Cc.

On Fri,  6 Aug 2021 12:01:44 +0200
yegorslists--- via buildroot <buildroot@busybox.net> wrote:

> From: Yegor Yefremov <yegorslists@googlemail.com>
> 
> This release introduces meson build system support that fixes
> gobject-intorspection issue with autotools.
> 
> As meson files are only available in git, switch the location to
> https://gitlab.freedesktop.org.
> 
> Add support for bash-completion.
> 
> Add an upstream patch fixing the compilation without gobject-intorspection.
> 
> Fixes:
> http://autobuild.buildroot.net/results/c13877a5700445253900e312bc87904152be429a

It seems like this gobject-introspection issue was not specific to
libqmi, but was actually affecting a number of other packages as well,
and Fabrice fixed the issue in the recently committed
https://git.buildroot.org/buildroot/commit/?id=34da8f96141f14abd98bc4cab3fa05c0b7a0a895.
Could you check if that indeed fixes the issue with the current version
of libqmi in Buildroot master?

Indeed, as we're past 2021.08-rc1, we'd prefer not to bump libqmi at
this point in the master branch.

Thanks a lot,

Thomas
Yegor Yefremov Aug. 13, 2021, 4:46 a.m. UTC | #3
Hi Thomas,

On Thu, Aug 12, 2021 at 11:53 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello Yegor,
>
> +Fabrice and Adam in Cc.
>
> On Fri,  6 Aug 2021 12:01:44 +0200
> yegorslists--- via buildroot <buildroot@busybox.net> wrote:
>
> > From: Yegor Yefremov <yegorslists@googlemail.com>
> >
> > This release introduces meson build system support that fixes
> > gobject-intorspection issue with autotools.
> >
> > As meson files are only available in git, switch the location to
> > https://gitlab.freedesktop.org.
> >
> > Add support for bash-completion.
> >
> > Add an upstream patch fixing the compilation without gobject-intorspection.
> >
> > Fixes:
> > http://autobuild.buildroot.net/results/c13877a5700445253900e312bc87904152be429a
>
> It seems like this gobject-introspection issue was not specific to
> libqmi, but was actually affecting a number of other packages as well,
> and Fabrice fixed the issue in the recently committed
> https://git.buildroot.org/buildroot/commit/?id=34da8f96141f14abd98bc4cab3fa05c0b7a0a895.
> Could you check if that indeed fixes the issue with the current version
> of libqmi in Buildroot master?
>
> Indeed, as we're past 2021.08-rc1, we'd prefer not to bump libqmi at
> this point in the master branch.

No problem. This can go into the next branch. The
gobject-introspection patch fixes the issue for libqmi.

Best regards,
Yegor
Thomas Petazzoni Aug. 19, 2021, 9:18 p.m. UTC | #4
Hello,

On Fri,  6 Aug 2021 12:01:44 +0200
yegorslists--- via buildroot <buildroot@busybox.net> wrote:

> From: Yegor Yefremov <yegorslists@googlemail.com>
> 
> This release introduces meson build system support that fixes
> gobject-intorspection issue with autotools.
> 
> As meson files are only available in git, switch the location to
> https://gitlab.freedesktop.org.
> 
> Add support for bash-completion.
> 
> Add an upstream patch fixing the compilation without gobject-intorspection.
> 
> Fixes:
> http://autobuild.buildroot.net/results/c13877a5700445253900e312bc87904152be429a
> 
> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>

This patch no longer applies to our next branch. Could you respin?

Thanks a lot,

Thomas
diff mbox series

Patch

diff --git a/package/libqmi/0001-build-meson-fix-introspection-option.patch b/package/libqmi/0001-build-meson-fix-introspection-option.patch
new file mode 100644
index 0000000000..8a409eaecc
--- /dev/null
+++ b/package/libqmi/0001-build-meson-fix-introspection-option.patch
@@ -0,0 +1,34 @@ 
+From bfb066419f288764edbade1e27e93a5dda59a5f4 Mon Sep 17 00:00:00 2001
+From: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri, 6 Aug 2021 10:32:22 +0200
+Subject: [PATCH] build,meson: fix introspection option
+
+Using -Dintrospection=false would actually not disable it. There is no
+longer an "auto" option for the introspection support, it will be
+either enabled or disabled depending on what the user asks
+for (default enabled).
+
+Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
+---
+ meson.build | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index b25bca57..d28e5601 100644
+--- a/meson.build
++++ b/meson.build
+@@ -218,7 +218,10 @@ version_conf.set10('QMI_QRTR_SUPPORTED', enable_qrtr)
+ version_conf.set10('QMI_RMNET_SUPPORTED', enable_rmnet)
+ 
+ # introspection support
+-enable_gir = dependency('gobject-introspection-1.0', version: '>= 0.9.6', required: get_option('introspection')).found()
++enable_gir = get_option('introspection')
++if enable_gir
++  dependency('gobject-introspection-1.0', version: '>= 0.9.6')
++endif
+ 
+ random_number = qmi_minor_version + meson.version().split('.').get(1).to_int()
+ 
+-- 
+2.17.0
+
diff --git a/package/libqmi/libqmi.hash b/package/libqmi/libqmi.hash
index 0bfc63f4a4..0373bb4e75 100644
--- a/package/libqmi/libqmi.hash
+++ b/package/libqmi/libqmi.hash
@@ -1,4 +1,4 @@ 
 # Locally computed:
 sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  COPYING
 sha256  dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551  COPYING.LIB
-sha256  cbb890893de1dee06ea5ebdac2d22f0469314a6f93f15f61f2f1206a1c9ae5fd  libqmi-1.28.6.tar.xz
+sha256  c0421684c12697c448077dd5c0a66c6f745deab3558af578e3f10307c8a0c564  libqmi-1.30.0.tar.gz
diff --git a/package/libqmi/libqmi.mk b/package/libqmi/libqmi.mk
index 7b1d76a0c1..05fd3ae9af 100644
--- a/package/libqmi/libqmi.mk
+++ b/package/libqmi/libqmi.mk
@@ -4,9 +4,8 @@ 
 #
 ################################################################################
 
-LIBQMI_VERSION = 1.28.6
-LIBQMI_SITE = http://www.freedesktop.org/software/libqmi
-LIBQMI_SOURCE = libqmi-$(LIBQMI_VERSION).tar.xz
+LIBQMI_VERSION = 1.30.0
+LIBQMI_SITE = https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/archive/$(LIBQMI_VERSION)
 LIBQMI_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (programs)
 LIBQMI_LICENSE_FILES = COPYING COPYING.LIB
 LIBQMI_CPE_ID_VENDOR = libqmi_project
@@ -14,47 +13,52 @@  LIBQMI_INSTALL_STAGING = YES
 
 LIBQMI_DEPENDENCIES = libglib2
 
-LIBQMI_CONF_OPTS = --disable-Werror
-
 ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
 LIBQMI_DEPENDENCIES += gobject-introspection
-LIBQMI_CONF_OPTS += --enable-introspection
+LIBQMI_CONF_OPTS += -Dintrospection=true
 else
-LIBQMI_CONF_OPTS += --disable-introspection
+LIBQMI_CONF_OPTS += -Dintrospection=false
 endif
 
 # if libgudev available, request udev support for a better
 # qmi-firmware-update experience
 ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
 LIBQMI_DEPENDENCIES += libgudev
-LIBQMI_CONF_OPTS += --with-udev
+LIBQMI_CONF_OPTS += -Dudev=true
 else
-LIBQMI_CONF_OPTS += --without-udev
+LIBQMI_CONF_OPTS += -Dudev=false
 endif
 
 # if libmbim available, request QMI-over-MBIM support
 ifeq ($(BR2_PACKAGE_LIBMBIM),y)
 LIBQMI_DEPENDENCIES += libmbim
-LIBQMI_CONF_OPTS += --enable-mbim-qmux
+LIBQMI_CONF_OPTS += -Dmbim_qmux=true
 else
-LIBQMI_CONF_OPTS += --disable-mbim-qmux
+LIBQMI_CONF_OPTS += -Dmbim_qmux=false
 endif
 
 # if libqrtr-glib available, enable support for QMI over QRTR
 ifeq ($(BR2_PACKAGE_LIBQRTR_GLIB),y)
 LIBQMI_DEPENDENCIES += libqrtr-glib
-LIBQMI_CONF_OPTS += --enable-qrtr
+LIBQMI_CONF_OPTS += -Dqrtr=true
 else
-LIBQMI_CONF_OPTS += --disable-qrtr
+LIBQMI_CONF_OPTS += -Dqrtr=false
 endif
 
 # if ModemManager available, enable MM runtime check in
 # qmi-firmware-update (note that we don't need to build-depend on
 # anything else)
 ifeq ($(BR2_PACKAGE_MODEM_MANAGER),y)
-LIBQMI_CONF_OPTS += --enable-mm-runtime-check
+LIBQMI_CONF_OPTS += -Dmm_runtime_check=true
+else
+LIBQMI_CONF_OPTS += -Dmm_runtime_check=false
+endif
+
+ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y)
+LIBQMI_DEPENDENCIES += bash-completion
+LIBQMI_CONF_OPTS += -Dbash_completion=true
 else
-LIBQMI_CONF_OPTS += --disable-mm-runtime-check
+LIBQMI_CONF_OPTS += -Dbash_completion=false
 endif
 
-$(eval $(autotools-package))
+$(eval $(meson-package))