[Buildroot] [PATCH 1/1] Add first KF5 packages
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Tue Feb 13 21:53:42 UTC 2018
Hello,
Thanks a lot for this contribution! And for showing up on IRC! :-)
On Tue, 13 Feb 2018 22:35:31 +0100, Pierre Ducroquet wrote:
> KDE Frameworks 5 is a set of libraries built on the Qt framework providing a
> lot of powerfull classes and solutions for developers building Qt
> applications.
> Unlike the previous KDE libraries, they are split in tiny packages, reducing
> dependencies as much as possible, making them usable even for embedded
> projects.
>
> This first commit introduce the kf5 packages folder and the first two KF5
> packages:
> - ecm - Extra CMake modules, addons for CMake used across the KF5 libraries
> - NetworkManagerQt - a Qt wrapper for the NetworkManager DBus API
>
> Signed-off-by: Pierre Ducroquet <pinaraf at pinaraf.info>
Thanks for this contribution! See some comments below.
> package/Config.in | 1 +
> package/kf5/Config.in | 12 ++++++++++++
> package/kf5/kf5.mk | 11 +++++++++++
> package/kf5/kf5ecm/Config.in | 11 +++++++++++
> package/kf5/kf5ecm/kf5ecm.hash | 1 +
> package/kf5/kf5ecm/kf5ecm.mk | 16 ++++++++++++++++
> package/kf5/networkmanagerqt/Config.in | 13 +++++++++++++
> package/kf5/networkmanagerqt/networkmanagerqt.hash | 1 +
> package/kf5/networkmanagerqt/networkmanagerqt.mk | 17 +++++++++++++++++
It's perhaps a bit pedantic, but it'd be nicer to split this in 3
patches: one adding kf5, one adding kf5ecm, and one adding
networkmanagerqt.
Also, please add the appropriate entries to the DEVELOPERS file when
adding new packages.
> diff --git a/package/kf5/Config.in b/package/kf5/Config.in
> new file mode 100644
> index 0000000000..a7b4fb765b
> --- /dev/null
> +++ b/package/kf5/Config.in
> @@ -0,0 +1,12 @@
> +menuconfig BR2_PACKAGE_KF5
> + bool "KF5"
> + depends on BR2_PACKAGE_QT5BASE
Perhaps this should be BR2_PACKAGE_QT5 instead, and you should select
BR2_PACKAGE_QT5BASE when appropriate.
> + depends on BR2_PACKAGE_HOST_CMAKE
This last depends on is not needed.
> diff --git a/package/kf5/kf5ecm/kf5ecm.hash b/package/kf5/kf5ecm/kf5ecm.hash
> new file mode 100644
> index 0000000000..4f510c152a
> --- /dev/null
> +++ b/package/kf5/kf5ecm/kf5ecm.hash
> @@ -0,0 +1 @@
The source of hash should be specified. Either:
# http://....
if the hash is provided by upstream somewhere, or alternatively:
# Locally calculated
> +sha256 baaf60940b9ff883332629ba2800090bb86722ba49a85cc12782e4ee5b169f67 extra-cmake-modules-5.41.0.tar.xz
> diff --git a/package/kf5/kf5ecm/kf5ecm.mk b/package/kf5/kf5ecm/kf5ecm.mk
> new file mode 100644
> index 0000000000..4f6fea0b1b
> --- /dev/null
> +++ b/package/kf5/kf5ecm/kf5ecm.mk
> @@ -0,0 +1,16 @@
> +################################################################################
> +#
> +# kf5ecm
> +#
> +################################################################################
> +
> +KF5ECM_VERSION = $(KF5_VERSION)
> +KF5ECM_SITE = $(KF5_SITE)
> +KF5ECM_SOURCE = extra-cmake-modules-$(KF5ECM_VERSION).tar.xz
License information is missing.
> +
> +KF5ECM_DEPENDENCIES = host-pkgconf
> +KF5ECM_INSTALL_STAGING = YES
> +KF5ECM_INSTALL_TARGET = NO
> +KF5ECM_CONF_OPTS =
This last line is not needed.
So, I assume this package only installs a bunch of CMake modules in
$(STAGING_DIR), and our CMake automatically picks up those additional
modules from $(STAGING_DIR) ?
> diff --git a/package/kf5/networkmanagerqt/Config.in b/package/kf5/networkmanagerqt/Config.in
> new file mode 100644
> index 0000000000..59f3b4222c
> --- /dev/null
> +++ b/package/kf5/networkmanagerqt/Config.in
> @@ -0,0 +1,13 @@
> +config BR2_PACKAGE_NETWORKMANAGERQT
> + bool "networkmanagerqt"
> + depends on BR2_PACKAGE_KF5ECM
Please use a "select" for this.
> + depends on BR2_PACKAGE_NETWORK_MANAGER
I believe this one could remain a "depends on".
> + help
> + KF5 is a set of Qt framework addons, extending Qt in
> + various ways, not only restricted in helping integration
> + in KDE.
> +
> + This package contains the NetworkManager Qt5 bindings from the
> + KF5 project.
> +
> + https://api.kde.org/frameworks/networkmanager-qt/html/index.html
> diff --git a/package/kf5/networkmanagerqt/networkmanagerqt.hash b/package/kf5/networkmanagerqt/networkmanagerqt.hash
> new file mode 100644
> index 0000000000..ac4013efeb
> --- /dev/null
> +++ b/package/kf5/networkmanagerqt/networkmanagerqt.hash
> @@ -0,0 +1 @@
> +sha256 9bc26e42d27f829af1b1779cd10a4bb5639aebeeab80086a35b7ccaab85bb96d networkmanager-qt-5.41.0.tar.xz
Same comment for the hash.
> diff --git a/package/kf5/networkmanagerqt/networkmanagerqt.mk b/package/kf5/networkmanagerqt/networkmanagerqt.mk
> new file mode 100644
> index 0000000000..8cba1e29a7
> --- /dev/null
> +++ b/package/kf5/networkmanagerqt/networkmanagerqt.mk
> @@ -0,0 +1,17 @@
> +################################################################################
> +#
> +# networkmanagerqt
> +#
> +################################################################################
> +
> +NETWORKMANAGERQT_VERSION = $(KF5_VERSION)
> +NETWORKMANAGERQT_SITE = $(KF5_SITE)
> +NETWORKMANAGERQT_SOURCE = networkmanager-qt-$(KF5ECM_VERSION).tar.xz
You should use this package <pkg>_VERSION variable :-)
> +NETWORKMANAGERQT_LICENSE = LGPL-2.1+
Can you add <pkg>_LICENSE_FILES ?
> +
> +NETWORKMANAGERQT_DEPENDENCIES = host-pkgconf kf5ecm network-manager
> +NETWORKMANAGERQT_INSTALL_STAGING = YES
> +NETWORKMANAGERQT_INSTALL_TARGET = YES
> +NETWORKMANAGERQT_CONF_OPTS =
Those last two lines are not needed.
Also, should we call the package networkmanager-qt, to match the
upstream tarball name ?
Could you take into account those comments, and submit an updated
version ?
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
http://bootlin.com
More information about the buildroot
mailing list