* [Buildroot] [PATCH 1/1] Add first KF5 packages
@ 2018-02-13 21:35 Pierre Ducroquet
2018-02-13 21:53 ` Thomas Petazzoni
2018-02-14 5:59 ` Bernd Kuhls
0 siblings, 2 replies; 6+ messages in thread
From: Pierre Ducroquet @ 2018-02-13 21:35 UTC (permalink / raw)
To: buildroot
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@pinaraf.info>
---
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 +++++++++++++++++
9 files changed, 83 insertions(+)
create mode 100644 package/kf5/Config.in
create mode 100644 package/kf5/kf5.mk
create mode 100644 package/kf5/kf5ecm/Config.in
create mode 100644 package/kf5/kf5ecm/kf5ecm.hash
create mode 100644 package/kf5/kf5ecm/kf5ecm.mk
create mode 100644 package/kf5/networkmanagerqt/Config.in
create mode 100644 package/kf5/networkmanagerqt/networkmanagerqt.hash
create mode 100644 package/kf5/networkmanagerqt/networkmanagerqt.mk
diff --git a/package/Config.in b/package/Config.in
index 9cd5d9c087..f9d7a6e190 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -302,6 +302,7 @@ comment "Graphic libraries"
comment "Other GUIs"
source "package/qt/Config.in"
source "package/qt5/Config.in"
+ source "package/kf5/Config.in"
if BR2_PACKAGE_QT || BR2_PACKAGE_QT5
comment "QT libraries and helper libraries"
source "package/grantlee/Config.in"
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
+ depends on BR2_PACKAGE_HOST_CMAKE
+ help
+ This option enables the KF5 KDE Frameworks. Sub-options allow to
+ select which modules should be built.
+
+if BR2_PACKAGE_KF5
+source "package/kf5/kf5ecm/Config.in"
+source "package/kf5/networkmanagerqt/Config.in"
+endif
diff --git a/package/kf5/kf5.mk b/package/kf5/kf5.mk
new file mode 100644
index 0000000000..485d7af175
--- /dev/null
+++ b/package/kf5/kf5.mk
@@ -0,0 +1,11 @@
+################################################################################
+#
+# kf5
+#
+################################################################################
+
+KF5_VERSION_MAJOR = 5.41
+KF5_VERSION = $(KF5_VERSION_MAJOR).0
+KF5_SITE = https://download.kde.org/stable/frameworks/$(KF5_VERSION_MAJOR)
+
+include $(sort $(wildcard package/kf5/*/*.mk))
diff --git a/package/kf5/kf5ecm/Config.in b/package/kf5/kf5ecm/Config.in
new file mode 100644
index 0000000000..fe03f3b804
--- /dev/null
+++ b/package/kf5/kf5ecm/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_KF5ECM
+ bool "kf5ecm"
+ help
+ KF5 is a set of Qt framework addons, extending Qt in
+ various ways, not only restricted in helping integration
+ in KDE.
+
+ This package corresponds to the extra CMake modules, required
+ for most KF5 libraries.
+
+ https://api.kde.org/frameworks/extra-cmake-modules/html/index.html
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 @@
+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
+
+KF5ECM_DEPENDENCIES = host-pkgconf
+KF5ECM_INSTALL_STAGING = YES
+KF5ECM_INSTALL_TARGET = NO
+KF5ECM_CONF_OPTS =
+
+$(eval $(cmake-package))
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
+ depends on BR2_PACKAGE_NETWORK_MANAGER
+ 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
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
+NETWORKMANAGERQT_LICENSE = LGPL-2.1+
+
+NETWORKMANAGERQT_DEPENDENCIES = host-pkgconf kf5ecm network-manager
+NETWORKMANAGERQT_INSTALL_STAGING = YES
+NETWORKMANAGERQT_INSTALL_TARGET = YES
+NETWORKMANAGERQT_CONF_OPTS =
+
+$(eval $(cmake-package))
--
2.16.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1] Add first KF5 packages
2018-02-13 21:35 [Buildroot] [PATCH 1/1] Add first KF5 packages Pierre Ducroquet
@ 2018-02-13 21:53 ` Thomas Petazzoni
2018-02-13 22:02 ` Pierre
2018-02-14 5:59 ` Bernd Kuhls
1 sibling, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2018-02-13 21:53 UTC (permalink / raw)
To: buildroot
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@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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1] Add first KF5 packages
2018-02-13 21:53 ` Thomas Petazzoni
@ 2018-02-13 22:02 ` Pierre
0 siblings, 0 replies; 6+ messages in thread
From: Pierre @ 2018-02-13 22:02 UTC (permalink / raw)
To: buildroot
On Tuesday, February 13, 2018 10:53:42 PM CET Thomas Petazzoni wrote:
> 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@pinaraf.info>
>
> Thanks for this contribution! See some comments below.
Hello
You're welcome, and thanks for the comments. I will follow your suggestions,
split the patch and do some fixes.
You understood correctly the purpose of extra-cmake-modules, it installs
nothing on the target, it's only host files automatically picked by CMake.
The new patches should be ready by tomorrow.
Pierre
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180213/a8f01bf6/attachment.asc>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1] Add first KF5 packages
2018-02-13 21:35 [Buildroot] [PATCH 1/1] Add first KF5 packages Pierre Ducroquet
2018-02-13 21:53 ` Thomas Petazzoni
@ 2018-02-14 5:59 ` Bernd Kuhls
2018-02-14 8:44 ` Pierre
2018-02-14 20:29 ` Thomas Petazzoni
1 sibling, 2 replies; 6+ messages in thread
From: Bernd Kuhls @ 2018-02-14 5:59 UTC (permalink / raw)
To: buildroot
Am Tue, 13 Feb 2018 22:35:31 +0100 schrieb Pierre Ducroquet:
> This first commit introduce the kf5 packages folder and the first two
> KF5 packages:
Hi Pierre,
according to the buildroot manual[1], section 17.1, new subdirectories,
like package/kf5/, are discouraged, please add the new packages directly
to package/.
Regards, Bernd
[1] https://buildroot.uclibc.org/downloads/manual/manual.html#adding-
packages
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1] Add first KF5 packages
2018-02-14 5:59 ` Bernd Kuhls
@ 2018-02-14 8:44 ` Pierre
2018-02-14 20:29 ` Thomas Petazzoni
1 sibling, 0 replies; 6+ messages in thread
From: Pierre @ 2018-02-14 8:44 UTC (permalink / raw)
To: buildroot
On Wednesday, February 14, 2018 6:59:45 AM CET Bernd Kuhls wrote:
> Am Tue, 13 Feb 2018 22:35:31 +0100 schrieb Pierre Ducroquet:
> > This first commit introduce the kf5 packages folder and the first two
>
> > KF5 packages:
> Hi Pierre,
>
> according to the buildroot manual[1], section 17.1, new subdirectories,
> like package/kf5/, are discouraged, please add the new packages directly
> to package/.
>
> Regards, Bernd
Hi
If I package every KF5 library that can be used outside a full featured
desktop environment, there will be more than 30 libraries (they split the
libraries in several tiers, and tier 1 contains 32 libraries). Grouping them
in a subdirectory made more sense to me.
But if it's the rule, I will comply. How should I, under this restriction,
share makefile variables (like KF5_VERSION) between the packages ?
Thanks
Pierre
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1] Add first KF5 packages
2018-02-14 5:59 ` Bernd Kuhls
2018-02-14 8:44 ` Pierre
@ 2018-02-14 20:29 ` Thomas Petazzoni
1 sibling, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2018-02-14 20:29 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 14 Feb 2018 06:59:45 +0100, Bernd Kuhls wrote:
> according to the buildroot manual[1], section 17.1, new subdirectories,
> like package/kf5/, are discouraged, please add the new packages directly
> to package/.
I do agree in general. However, kf5 like qt5 is a group of packages
that share the same site/version number, and in that case, like we do
for qt5, a subdirectory is acceptable.
I'm also not a big fan of sub-directories, but it's the only sane way
to share version/site variables.
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
http://bootlin.com
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-02-14 20:29 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-13 21:35 [Buildroot] [PATCH 1/1] Add first KF5 packages Pierre Ducroquet
2018-02-13 21:53 ` Thomas Petazzoni
2018-02-13 22:02 ` Pierre
2018-02-14 5:59 ` Bernd Kuhls
2018-02-14 8:44 ` Pierre
2018-02-14 20:29 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox