Skip to contentSkip to conversation

cutelyst: new package

PATCH New Daniel Nicoletti 2 participants 6 messages Jul 17, 2018 – Jul 19, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 cutelyst: new package

A C++ Web Framework built on top of Qt, using
the simple approach of Catalyst (Perl) framework.

---
 package/Config.in              |  1 +
 package/cutelyst/Config.in     |  9 +++++++++
 package/cutelyst/cutelyst.hash |  3 +++
 package/cutelyst/cutelyst.mk   | 36 ++++++++++++++++++++++++++++++++++
 4 files changed, 49 insertions(+)
 create mode 100644 package/cutelyst/Config.in
 create mode 100644 package/cutelyst/cutelyst.hash
 create mode 100644 package/cutelyst/cutelyst.mk
package/Config.in +1 -0
index eedce83616..08a3eac48a 100644
@@ -314,6 +314,7 @@ comment "Other GUIs"
 	source "package/kf5/Config.in"
 if BR2_PACKAGE_QT || BR2_PACKAGE_QT5
 comment "QT libraries and helper libraries"
+	source "package/cutelyst/Config.in"
 	source "package/grantlee/Config.in"
 	source "package/qextserialport/Config.in"
 	source "package/qjson/Config.in"
package/cutelyst/Config.in new file +9 -0
new file mode 100644
index 0000000000..6b78e48cea
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_CUTELYST
+	bool "cutelyst"
+	depends on BR2_PACKAGE_QT5
+	select BR2_PACKAGE_QT5BASE_GUI
+	help
+	  A C++ Web Framework built on top of Qt, using
+	  the simple approach of Catalyst (Perl) framework.
+
+	  https://cutelyst.org
package/cutelyst/cutelyst.hash new file +3 -0
new file mode 100644
index 0000000000..58645e50c2
@@ -0,0 +1,3 @@
+# Locally calculated after checking pgp signature
+sha256  a5d40c5e0027982181529449ffa807492f5759c2c604cdc467e748445721ff28    cutelyst-2.5.1.tar.gz
+sha256  dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551    COPYING
package/cutelyst/cutelyst.mk new file +36 -0
new file mode 100644
index 0000000000..6653675352
@@ -0,0 +1,36 @@
+################################################################################
+#
+# cutelyst
+#
+################################################################################
+
+CUTELYST_VERSION = 2.5.1
+CUTELYST_SITE = https://github.com/cutelyst/cutelyst/archive/v$(CUTELYST_VERSION)
+CUTELYST_INSTALL_STAGING = YES
+CUTELYST_SUPPORTS_IN_SOURCE_BUILD = NO
+CUTELYST_LICENSE = LGPL-2.1+
+CUTELYST_LICENSE_FILES = COPYING
+CUTELYST_DEPENDENCIES = qt5base
+
+CUTELYST_CONF_OPTS += \
+	-DPLUGIN_CSRFPROTECTION=ON
+
+$(eval $(cmake-package))
+
+ifeq ($(BR2_PACKAGE_GRANTLEE),y)
+CUTELYST_CONF_OPTS += -DPLUGIN_VIEW_GRANTLEE=ON
+else
+CUTELYST_CONF_OPTS += -DPLUGIN_VIEW_GRANTLEE=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_LIBPWQUALITY),y)
+CUTELYST_CONF_OPTS += -DPLUGIN_VALIDATOR_PWQUALITY=ON
+else
+CUTELYST_CONF_OPTS += -DPLUGIN_VALIDATOR_PWQUALITY=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_JEMALLOC),y)
+CUTELYST_CONF_OPTS += -DUSE_JEMALLOC=ON
+else
+CUTELYST_CONF_OPTS += -DUSE_JEMALLOC=OFF
+endif
Signature · 1 line
2.17.1
#1 lore raw

PATCH 1/1 cutelyst: new package

Hello Daniel,

Quoted 4 lines · Daniel Nicoletti

A C++ Web Framework built on top of Qt, using
the simple approach of Catalyst (Perl) framework.

Thanks for this new iteration. I applied it after doing some changes, which I'll describe below.

However, first of all, when you send a new iteration of a patch, it is recommended to adjust the patch subject prefix to be [PATCH v2], and to include a changelog...

Quoted 1 line

---

... here, i.e below the "---" sign.

This way, it is clear that it is a new iteration, and we know what has changed since the previous iteration.

See http://patchwork.ozlabs.org/patch/944700/ for an example of that.

To generate a patch with such a prefix, you can use:

git format-patch -v2

or:

	git format-patch --subject-prefix="PATCH v2"
Quoted 5 lines
 package/Config.in              |  1 +
 package/cutelyst/Config.in     |  9 +++++++++
 package/cutelyst/cutelyst.hash |  3 +++
 package/cutelyst/cutelyst.mk   | 36 ++++++++++++++++++++++++++++++++++
 4 files changed, 49 insertions(+)

You forgot to add an entry to the DEVELOPERS file, so I've added that.

Quoted 6 lines
package/cutelyst/Config.in new file +0 -0
new file mode 100644
index 0000000000..6b78e48cea

package/cutelyst/Config.in line 9

Quoted 9 lines
package/cutelyst/Config.in new file +9 -0
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_CUTELYST
+	bool "cutelyst"
+	depends on BR2_PACKAGE_QT5
+	select BR2_PACKAGE_QT5BASE_GUI
+	help
+	  A C++ Web Framework built on top of Qt, using
+	  the simple approach of Catalyst (Perl) framework.
+
+	  https://cutelyst.org

With this set of dependencies, cutelyst didn't build for me, with a minimal configuration. It failed to build with:

/home/thomas/projets/buildroot/output/build/cutelyst-2.5.1/wsgi/tcpsslserver.h:44:36: error: ?QSslConfiguration? does not name a type

     void setSslConfiguration(const QSslConfiguration &conf);

This is because it needs SSL support in Qt. So I've added a "select BR2_PACKAGE_OPENSSL" to make sure SSL support is present in Qt.

Quoted 12 lines

index 0000000000..6653675352

package/cutelyst/cutelyst.mk new file +8 -0
@@ -0,0 +1,36 @@
+################################################################################
+#
+# cutelyst
+#
+################################################################################
+
+CUTELYST_VERSION = 2.5.1
+CUTELYST_SITE = https://github.com/cutelyst/cutelyst/archive/v$(CUTELYST_VERSION)

package/cutelyst/cutelyst.mk line 18

Quoted 10 lines
package/cutelyst/cutelyst.mk new file +10 -0
+CUTELYST_INSTALL_STAGING = YES
+CUTELYST_SUPPORTS_IN_SOURCE_BUILD = NO
+CUTELYST_LICENSE = LGPL-2.1+
+CUTELYST_LICENSE_FILES = COPYING
+CUTELYST_DEPENDENCIES = qt5base
+
+CUTELYST_CONF_OPTS += \
+	-DPLUGIN_CSRFPROTECTION=ON
+
+$(eval $(cmake-package))

This line should always go at the end of the .mk file, i.e...

Quoted 8 lines
package/cutelyst/cutelyst.mk new file +8 -0
+
+ifeq ($(BR2_PACKAGE_GRANTLEE),y)
+CUTELYST_CONF_OPTS += -DPLUGIN_VIEW_GRANTLEE=ON
+else
+CUTELYST_CONF_OPTS += -DPLUGIN_VIEW_GRANTLEE=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_LIBPWQUALITY),y)

package/cutelyst/cutelyst.mk line 36

Quoted 10 lines
package/cutelyst/cutelyst.mk new file +10 -0
+CUTELYST_CONF_OPTS += -DPLUGIN_VALIDATOR_PWQUALITY=ON
+else
+CUTELYST_CONF_OPTS += -DPLUGIN_VALIDATOR_PWQUALITY=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_JEMALLOC),y)
+CUTELYST_CONF_OPTS += -DUSE_JEMALLOC=ON
+else
+CUTELYST_CONF_OPTS += -DUSE_JEMALLOC=OFF
+endif

... here.

I've fixed those three issues, and applied your patch. Once again, thanks for your contribution!

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#2 lore raw

PATCH 1/1 cutelyst: new package

Em qua, 18 de jul de 2018 ?s 07:59, Thomas Petazzoni <[email protected]> escreveu:

Quoted 16 lines

Hello Daniel,

Quoted 4 lines · Daniel Nicoletti

A C++ Web Framework built on top of Qt, using
the simple approach of Catalyst (Perl) framework.

Thanks for this new iteration. I applied it after doing some changes, which I'll describe below.

However, first of all, when you send a new iteration of a patch, it is recommended to adjust the patch subject prefix to be [PATCH v2], and to include a changelog...

Quoted 6 lines
Quoted 1 line

---

... here, i.e below the "---" sign.

This way, it is clear that it is a new iteration, and we know what has changed since the previous iteration.

Ok, I'm not very used to send patches with format-patch/send-email

Quoted 11 lines

See http://patchwork.ozlabs.org/patch/944700/ for an example of that.

To generate a patch with such a prefix, you can use:

git format-patch -v2

or:

        git format-patch --subject-prefix="PATCH v2"
Quoted 7 lines
Quoted 5 lines
 package/Config.in              |  1 +
 package/cutelyst/Config.in     |  9 +++++++++
 package/cutelyst/cutelyst.hash |  3 +++
 package/cutelyst/cutelyst.mk   | 36 ++++++++++++++++++++++++++++++++++
 4 files changed, 49 insertions(+)

You forgot to add an entry to the DEVELOPERS file, so I've added that.

Hmm speaking of that, do I need to be subscribed to this buildroot list? It's quite high traffic, so if I can subscribe/update package/unsubscribe it would work better for me.

Quoted 20 lines
Quoted 7 lines
package/cutelyst/Config.in new file +0 -0
new file mode 100644
index 0000000000..6b78e48cea

package/cutelyst/Config.in line 9

Quoted 9 lines
package/cutelyst/Config.in new file +9 -0
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_CUTELYST
+     bool "cutelyst"
+     depends on BR2_PACKAGE_QT5
+     select BR2_PACKAGE_QT5BASE_GUI
+     help
+       A C++ Web Framework built on top of Qt, using
+       the simple approach of Catalyst (Perl) framework.
+
+       https://cutelyst.org

With this set of dependencies, cutelyst didn't build for me, with a minimal configuration. It failed to build with:

Quoted 5 lines

/home/thomas/projets/buildroot/output/build/cutelyst-2.5.1/wsgi/tcpsslserver.h:44:36: error: ?QSslConfiguration? does not name a type

     void setSslConfiguration(const QSslConfiguration &conf);

This is because it needs SSL support in Qt. So I've added a "select BR2_PACKAGE_OPENSSL" to make sure SSL support is present in Qt.

hmm strange, I added a bunch of ifdefs to cutelyst for it to build without SSL support but I guess I missed some, will try again. I guess in the spirit of buildroot images trying to be minimal it could be a good thing.

Quoted 47 lines
Quoted 13 lines

index 0000000000..6653675352

package/cutelyst/cutelyst.mk new file +8 -0
@@ -0,0 +1,36 @@
+################################################################################
+#
+# cutelyst
+#
+################################################################################
+
+CUTELYST_VERSION = 2.5.1
+CUTELYST_SITE = https://github.com/cutelyst/cutelyst/archive/v$(CUTELYST_VERSION)

package/cutelyst/cutelyst.mk line 18

Quoted 10 lines
package/cutelyst/cutelyst.mk new file +10 -0
+CUTELYST_INSTALL_STAGING = YES
+CUTELYST_SUPPORTS_IN_SOURCE_BUILD = NO
+CUTELYST_LICENSE = LGPL-2.1+
+CUTELYST_LICENSE_FILES = COPYING
+CUTELYST_DEPENDENCIES = qt5base
+
+CUTELYST_CONF_OPTS += \
+     -DPLUGIN_CSRFPROTECTION=ON
+
+$(eval $(cmake-package))

This line should always go at the end of the .mk file, i.e...

Quoted 8 lines
package/cutelyst/cutelyst.mk new file +8 -0
+
+ifeq ($(BR2_PACKAGE_GRANTLEE),y)
+CUTELYST_CONF_OPTS += -DPLUGIN_VIEW_GRANTLEE=ON
+else
+CUTELYST_CONF_OPTS += -DPLUGIN_VIEW_GRANTLEE=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_LIBPWQUALITY),y)

package/cutelyst/cutelyst.mk line 36

Quoted 10 lines
package/cutelyst/cutelyst.mk new file +10 -0
+CUTELYST_CONF_OPTS += -DPLUGIN_VALIDATOR_PWQUALITY=ON
+else
+CUTELYST_CONF_OPTS += -DPLUGIN_VALIDATOR_PWQUALITY=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_JEMALLOC),y)
+CUTELYST_CONF_OPTS += -DUSE_JEMALLOC=ON
+else
+CUTELYST_CONF_OPTS += -DUSE_JEMALLOC=OFF
+endif

... here.

Quoted 2 lines

I've fixed those three issues, and applied your patch. Once again, thanks for your contribution!

You welcome, loving this project :)

Quoted 8 lines

Best regards,

Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering
https://bootlin.com

Signature · 3 lines
Daniel Nicoletti

KDE Developer - http://dantti.wordpress.com
#3 lore raw

PATCH 1/1 cutelyst: new package

Hello,

Quoted 3 lines · Daniel Nicoletti
Quoted 2 lines

This way, it is clear that it is a new iteration, and we know what has changed since the previous iteration.

Ok, I'm not very used to send patches with format-patch/send-email

No problem at all, it's OK to begin with some topics and learn more. We're happy with having contributions from newcomers and share what we believe are best practices to contribute to Buildroot (note that those best practices also apply to a number of other embedded Linux related open-source projects: Linux kernel, U-Boot, etc.).

Quoted 4 lines
Quoted 1 line

You forgot to add an entry to the DEVELOPERS file, so I've added that.

Hmm speaking of that, do I need to be subscribed to this buildroot list? It's quite high traffic, so if I can subscribe/update package/unsubscribe it would work better for me.

You can also remain subscribed all the time, but disable mail delivery (go to the mailman page, you can adjust your subscription options). This way, you don't receive e-mails from the list, but you can post to the list without subscribing/unsubscribing each time.

Quoted 5 lines
Quoted 2 lines

This is because it needs SSL support in Qt. So I've added a "select BR2_PACKAGE_OPENSSL" to make sure SSL support is present in Qt.

hmm strange, I added a bunch of ifdefs to cutelyst for it to build without SSL support but I guess I missed some, will try again. I guess in the spirit of buildroot images trying to be minimal it could be a good thing.

Just do a minimal build with just qt5+cutelyst, and openssl disabled (you will have to remove the select BR2_PACKAGE_OPENSSL line from cutelyst/Config.in of course). You'll see the build fail.

Quoted 3 lines
Quoted 2 lines

I've fixed those three issues, and applied your patch. Once again, thanks for your contribution!

You welcome, loving this project :)

Thanks for your contribution!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#4 lore raw

PATCH 1/1 cutelyst: new package

In reply to Thomas Petazzoni

Hello Daniel,

Quoted 2 lines · Thomas Petazzoni

Thanks for this new iteration. I applied it after doing some changes, which I'll describe below.

FYI, cutelyst fails to build when grantlee support is enabled:

http://autobuild.buildroot.net/results/d84/d8467cdf9d12e606db39de45a19a3f62fdaf8ecc/build-end.log

Best regards,

Thomas Petazzoni

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#5 lore raw

PATCH 1/1 cutelyst: new package

Thanks,

That means cmake didn't find Grantlee cmake files, maybe an issue with Grantlee, got a bit busy with work but will try to test this soon.

Best,
Em qua, 18 de jul de 2018 ?s 12:21, Thomas Petazzoni <[email protected]> escreveu:

Quoted 19 lines

Hello Daniel,

Quoted 2 lines · Thomas Petazzoni

Thanks for this new iteration. I applied it after doing some changes, which I'll describe below.

FYI, cutelyst fails to build when grantlee support is enabled:

http://autobuild.buildroot.net/results/d84/d8467cdf9d12e606db39de45a19a3f62fdaf8ecc/build-end.log

Best regards,

Thomas Petazzoni
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering
https://bootlin.com

Signature · 3 lines
Daniel Nicoletti

KDE Developer - http://dantti.wordpress.com