All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 1/2] package/jsoncpp: add host variant
@ 2026-01-02 18:24 Dario Binacchi
  2026-01-02 18:24 ` [Buildroot] [PATCH v3 2/2] package/drogon: new package Dario Binacchi
  0 siblings, 1 reply; 5+ messages in thread
From: Dario Binacchi @ 2026-01-02 18:24 UTC (permalink / raw)
  To: buildroot
  Cc: Bernd Kuhls, Dario Binacchi, Eric Le Bihan, Thomas Petazzoni,
	linux-amarula

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>

---

no changes since v1

 package/jsoncpp/jsoncpp.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/jsoncpp/jsoncpp.mk b/package/jsoncpp/jsoncpp.mk
index 9915907ea8cf..319944abb7d6 100644
--- a/package/jsoncpp/jsoncpp.mk
+++ b/package/jsoncpp/jsoncpp.mk
@@ -11,5 +11,7 @@ JSONCPP_LICENSE_FILES = LICENSE
 JSONCPP_CPE_ID_VALID = YES
 JSONCPP_INSTALL_STAGING = YES
 JSONCPP_CONF_OPTS = -Dtests=false
+HOST_JSONCPP_CONF_OPTS = -Dtests=false
 
 $(eval $(meson-package))
+$(eval $(host-meson-package))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v3 2/2] package/drogon: new package
  2026-01-02 18:24 [Buildroot] [PATCH v3 1/2] package/jsoncpp: add host variant Dario Binacchi
@ 2026-01-02 18:24 ` Dario Binacchi
  2026-02-17 16:52   ` Dario Binacchi
  2026-07-18 12:52   ` Julien Olivain via buildroot
  0 siblings, 2 replies; 5+ messages in thread
From: Dario Binacchi @ 2026-01-02 18:24 UTC (permalink / raw)
  To: buildroot
  Cc: Bernd Kuhls, Dario Binacchi, Eric Le Bihan, Thomas Petazzoni,
	linux-amarula

Drogon is a C++17/20 based HTTP application framework. It can be used to
easily build various types of web application server programs using C++.

Project page: https://github.com/drogonframework/drogon

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>

---

Changes v2 -> v3:
- The PRs related to the patches have all been merged. The first PR was
  merged by combining the three patches into a single one. Replace all
  Upstream: links with the link to the final commit.
- Add help text to the added KConfig options.
- Select external libraries for BROTLI and YAML_CONFIG options.
- Drop the host configurations. Files too.
- Always add -DBUILD_CTL=ON to HOST_DROGON_CONF_OPTS (together with
  -DBUILD_TESTS=OFF and -DBUILD_EXAMPLES=OFF).

Changes v1 -> v2:
- Drop BR2_ARCH_IS_64 dependency. It has been tested on imx6ull platform.
- Add DROGON_INSTALL_STAGING
- Add 0004-Fix-building-error-for-Werror-unused-value.patch for trantor
  submodule.

 DEVELOPERS                                    |  1 +
 package/Config.in                             |  1 +
 .../0001-Fix-cross-compiling-2389.patch       | 76 +++++++++++++++++++
 ...ilding-error-for-Werror-unused-value.patch | 42 ++++++++++
 package/drogon/Config.in                      | 50 ++++++++++++
 package/drogon/drogon.mk                      | 63 +++++++++++++++
 6 files changed, 233 insertions(+)
 create mode 100644 package/drogon/0001-Fix-cross-compiling-2389.patch
 create mode 100644 package/drogon/0002-Fix-building-error-for-Werror-unused-value.patch
 create mode 100644 package/drogon/Config.in
 create mode 100644 package/drogon/drogon.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index f448c3b5820c..70ea6f8e023f 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -815,6 +815,7 @@ F:	package/babeld/
 F:	package/bc/
 F:	package/cmocka/
 F:	package/connman/
+F:	package/drogon/
 F:	package/empty/
 F:	package/iana-assignments/
 F:	package/inih/
diff --git a/package/Config.in b/package/Config.in
index 2b9e31ebb30d..998042ed2610 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1979,6 +1979,7 @@ menu "Networking"
 	source "package/davici/Config.in"
 	source "package/dht/Config.in"
 	source "package/dpdk/Config.in"
+	source "package/drogon/Config.in"
 	source "package/enet/Config.in"
 	source "package/filemq/Config.in"
 	source "package/fmlib/Config.in"
diff --git a/package/drogon/0001-Fix-cross-compiling-2389.patch b/package/drogon/0001-Fix-cross-compiling-2389.patch
new file mode 100644
index 000000000000..f6df0a435006
--- /dev/null
+++ b/package/drogon/0001-Fix-cross-compiling-2389.patch
@@ -0,0 +1,76 @@
+From 06508006812881c91eebd80307aa465d5abd0e55 Mon Sep 17 00:00:00 2001
+From: Dario Binacchi <45538935+passgat@users.noreply.github.com>
+Date: Wed, 24 Sep 2025 09:21:12 +0200
+Subject: [PATCH] Fix cross compiling (#2389)
+
+Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
+Upstream: https://github.com/drogonframework/drogon/commit/06508006812881c91eebd80307aa465d5abd0e55
+---
+ CMakeLists.txt            | 9 +++++++++
+ drogon_ctl/CMakeLists.txt | 3 ++-
+ examples/CMakeLists.txt   | 8 ++++++++
+ 3 files changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9cbc6d732a33..7cf091e90ef7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -524,6 +524,15 @@ if (BUILD_EXAMPLES)
+ endif (BUILD_EXAMPLES)
+ 
+ if (BUILD_CTL)
++    if (CMAKE_CROSSCOMPILING)
++        find_program(HOST_DROGON_CTL _drogon_ctl)
++        if (NOT HOST_DROGON_CTL)
++            message(FATAL_ERROR "_drogon_ctl not found on host system")
++        endif()
++        set(DROGON_CTL "${HOST_DROGON_CTL}")
++    else (CMAKE_CROSSCOMPILING)
++        set(DROGON_CTL "$<TARGET_FILE:_drogon_ctl>")
++    endif (CMAKE_CROSSCOMPILING)
+     add_subdirectory(drogon_ctl)
+ endif (BUILD_CTL)
+ 
+diff --git a/drogon_ctl/CMakeLists.txt b/drogon_ctl/CMakeLists.txt
+index 04b790d3741b..f6b12bddab60 100755
+--- a/drogon_ctl/CMakeLists.txt
++++ b/drogon_ctl/CMakeLists.txt
+@@ -43,7 +43,7 @@ foreach(cspFile ${SCP_LIST})
+   get_filename_component(classname ${cspFile} NAME_WE)
+   message(STATUS "view classname:" ${classname})
+   add_custom_command(OUTPUT ${classname}.h ${classname}.cc
+-                     COMMAND $<TARGET_FILE:_drogon_ctl>
++                     COMMAND ${DROGON_CTL}
+                              ARGS
+                              create
+                              view
+@@ -63,6 +63,7 @@ if(APPLE)
+   target_link_libraries(drogon_ctl PRIVATE resolv)
+ endif()
+ message(STATUS "bin:" ${INSTALL_BIN_DIR})
++install(TARGETS _drogon_ctl RUNTIME DESTINATION ${INSTALL_BIN_DIR})
+ install(TARGETS drogon_ctl RUNTIME DESTINATION ${INSTALL_BIN_DIR})
+ if(WIN32)
+   set(CTL_FILE $<TARGET_FILE:drogon_ctl>)
+diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
+index dca122f424ba..61e65d8323aa 100755
+--- a/examples/CMakeLists.txt
++++ b/examples/CMakeLists.txt
+@@ -50,6 +50,14 @@ set(example_targets
+     async_stream
+     cors)
+ 
++foreach(target ${example_targets})
++    set_target_properties(${target} PROPERTIES
++        RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
++endforeach()
++
++install(TARGETS ${example_targets}
++    RUNTIME DESTINATION ${INSTALL_BIN_DIR})
++
+ # Add warnings for our example targets--some warnings (such as -Wunused-parameter) only appear
+ # when the templated functions are instantiated at their point of use.
+ if(NOT ${CMAKE_PLATFORM_NAME} STREQUAL "Windows" AND CMAKE_CXX_COMPILER_ID MATCHES GNU)
+-- 
+2.43.0
+
diff --git a/package/drogon/0002-Fix-building-error-for-Werror-unused-value.patch b/package/drogon/0002-Fix-building-error-for-Werror-unused-value.patch
new file mode 100644
index 000000000000..16c6ba6b4217
--- /dev/null
+++ b/package/drogon/0002-Fix-building-error-for-Werror-unused-value.patch
@@ -0,0 +1,42 @@
+From 7134f2f8e07b89450dd2407e7a21a7b9cea6b192 Mon Sep 17 00:00:00 2001
+From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
+Date: Sat, 8 Nov 2025 19:39:01 +0100
+Subject: [PATCH] Fix building error for -Werror=unused-value
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Compiling trantor in Buildroot raises the following error:
+
+In file included from output/host/include/openssl/ssl.h:30,
+                 from output/build/host-drogon-v1.9.11/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc:6:
+build/host-drogon-v1.9.11/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc: In member function ‘ssize_t OpenSSLProvider::sendTLSData()’:
+output/host/include/openssl/bio.h:629:34: error: value computed is not used [-Werror=unused-value]
+  629 | # define BIO_reset(b)            (int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL)
+      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+output/build/host-drogon-v1.9.11/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc:777:9: note: in expansion of macro ‘BIO_reset’
+  777 |         BIO_reset(wbio_);
+      |         ^~~~~~~~~
+
+Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
+Upstream: https://github.com/an-tao/trantor/commit/5714e8f68d3016c9a6a5abd23c627cf5d98eab81
+---
+ trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc b/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc
+index f91e9cde75bd..787cbc405436 100644
+--- a/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc
++++ b/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc
+@@ -774,7 +774,7 @@ struct OpenSSLProvider : public TLSProvider, public NonCopyable
+         {
+             appendToWriteBuffer((char *)data + n, len - n);
+         }
+-        BIO_reset(wbio_);
++        (void)BIO_reset(wbio_);
+         if (n < 0)
+             return -1;
+         return len;
+-- 
+2.43.0
+
diff --git a/package/drogon/Config.in b/package/drogon/Config.in
new file mode 100644
index 000000000000..d5b03cf61767
--- /dev/null
+++ b/package/drogon/Config.in
@@ -0,0 +1,50 @@
+config BR2_PACKAGE_DROGON
+	bool "drogon"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_11 # C++17/20
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_JSONCPP
+	select BR2_PACKAGE_UTIL_LINUX
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	select BR2_PACKAGE_ZLIB
+	help
+	  Drogon is a C++17/20 based HTTP application framework.
+	  Drogon can be used to easily build various types of web
+	  application server programs using C++.
+
+	  https://github.com/drogonframework/drogon
+
+if BR2_PACKAGE_DROGON
+
+config BR2_PACKAGE_DROGON_BROTLI
+	bool "build Brotli"
+	select BR2_PACKAGE_BROTLI
+	help
+	  Add support for brotli compression.
+
+config BR2_PACKAGE_DROGON_CTL
+	bool "build drogon_ctl"
+	help
+	  drogon_ctl is a command-line tool used to generate
+	  project skeletons and source code.
+
+config BR2_PACKAGE_DROGON_EXAMPLES
+	bool "build examples"
+
+config BR2_PACKAGE_DROGON_ORM
+	bool "build orm"
+	help
+	  Enable the ORM module for typed database access.
+
+config BR2_PACKAGE_DROGON_YAML_CONFIG
+	bool "build yaml config"
+	select BR2_PACKAGE_YAML_CPP
+	help
+	  Add support for YAML configuration via yaml-cpp.
+
+endif
+
+comment "drogon needs a toolchain w/ C++, threads, gcc >= 11"
+	depends on !BR2_INSTALL_LIBSTDCPP || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_11 || \
+		!BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/drogon/drogon.mk b/package/drogon/drogon.mk
new file mode 100644
index 000000000000..06354280db07
--- /dev/null
+++ b/package/drogon/drogon.mk
@@ -0,0 +1,63 @@
+################################################################################
+#
+# drogon
+#
+################################################################################
+
+DROGON_VERSION = v1.9.11
+DROGON_SITE = https://github.com/drogonframework/drogon
+DROGON_SITE_METHOD = git
+DROGON_GIT_SUBMODULES = YES
+DROGON_LICENSE = MIT
+DROGON_LICENSE_FILES = LICENSE
+DROGON_INSTALL_STAGING = YES
+
+DROGON_DEPENDENCIES = jsoncpp util-linux zlib
+HOST_DROGON_DEPENDENCIES = host-jsoncpp host-util-linux host-zlib
+
+DROGON_CONF_OPTS = \
+	-DBUILD_TESTS=OFF
+
+HOST_DROGON_CONF_OPTS = \
+	-DBUILD_CTL=ON \
+	-DBUILD_EXAMPLES=OFF \
+	-DBUILD_TESTS=OFF
+
+ifeq ($(BR2_PACKAGE_DROGON_BROTLI),y)
+DROGON_DEPENDENCIES += brotli
+DROGON_CONF_OPTS += -DBUILD_BROTLI=ON
+else
+DROGON_CONF_OPTS += -DBUILD_BROTLI=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DROGON_CTL),y)
+# When we have drogon_ctl for the target, we need to build the
+# _drogon_ctl tool with host-drogon support so that it can be
+# run during the building process
+DROGON_DEPENDENCIES += host-drogon
+DROGON_CONF_OPTS += -DBUILD_CTL=ON
+else
+DROGON_CONF_OPTS += -DBUILD_CTL=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DROGON_EXAMPLES),y)
+DROGON_CONF_OPTS += -DBUILD_EXAMPLES=ON
+else
+DROGON_CONF_OPTS += -DBUILD_EXMPLES=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DROGON_ORM),y)
+DROGON_CONF_OPTS += -DBUILD_ORM=ON
+else
+DROGON_CONF_OPTS += -DBUILD_ORM=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_DROGON_YAML_CONFIG),y)
+DROGON_DEPENDENCIES += yaml-cpp
+DROGON_CONF_OPTS += -DBUILD_YAML_CONFIG=ON
+else
+DROGON_CONF_OPTS += -DBUILD_YAML_CONFIG=OFF
+endif
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH v3 2/2] package/drogon: new package
  2026-01-02 18:24 ` [Buildroot] [PATCH v3 2/2] package/drogon: new package Dario Binacchi
@ 2026-02-17 16:52   ` Dario Binacchi
  2026-07-16 13:53     ` Dario Binacchi
  2026-07-18 12:52   ` Julien Olivain via buildroot
  1 sibling, 1 reply; 5+ messages in thread
From: Dario Binacchi @ 2026-02-17 16:52 UTC (permalink / raw)
  To: buildroot; +Cc: Bernd Kuhls, Eric Le Bihan, Thomas Petazzoni, linux-amarula

Hi all

On Fri, Jan 2, 2026 at 7:24 PM Dario Binacchi
<dario.binacchi@amarulasolutions.com> wrote:
>
> Drogon is a C++17/20 based HTTP application framework. It can be used to
> easily build various types of web application server programs using C++.
>
> Project page: https://github.com/drogonframework/drogon
>
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
>
> ---
>
> Changes v2 -> v3:
> - The PRs related to the patches have all been merged. The first PR was
>   merged by combining the three patches into a single one. Replace all
>   Upstream: links with the link to the final commit.
> - Add help text to the added KConfig options.
> - Select external libraries for BROTLI and YAML_CONFIG options.
> - Drop the host configurations. Files too.
> - Always add -DBUILD_CTL=ON to HOST_DROGON_CONF_OPTS (together with
>   -DBUILD_TESTS=OFF and -DBUILD_EXAMPLES=OFF).
>
> Changes v1 -> v2:
> - Drop BR2_ARCH_IS_64 dependency. It has been tested on imx6ull platform.
> - Add DROGON_INSTALL_STAGING
> - Add 0004-Fix-building-error-for-Werror-unused-value.patch for trantor
>   submodule.
>
>  DEVELOPERS                                    |  1 +
>  package/Config.in                             |  1 +
>  .../0001-Fix-cross-compiling-2389.patch       | 76 +++++++++++++++++++
>  ...ilding-error-for-Werror-unused-value.patch | 42 ++++++++++
>  package/drogon/Config.in                      | 50 ++++++++++++
>  package/drogon/drogon.mk                      | 63 +++++++++++++++
>  6 files changed, 233 insertions(+)
>  create mode 100644 package/drogon/0001-Fix-cross-compiling-2389.patch
>  create mode 100644 package/drogon/0002-Fix-building-error-for-Werror-unused-value.patch
>  create mode 100644 package/drogon/Config.in
>  create mode 100644 package/drogon/drogon.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index f448c3b5820c..70ea6f8e023f 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -815,6 +815,7 @@ F:  package/babeld/
>  F:     package/bc/
>  F:     package/cmocka/
>  F:     package/connman/
> +F:     package/drogon/
>  F:     package/empty/
>  F:     package/iana-assignments/
>  F:     package/inih/
> diff --git a/package/Config.in b/package/Config.in
> index 2b9e31ebb30d..998042ed2610 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1979,6 +1979,7 @@ menu "Networking"
>         source "package/davici/Config.in"
>         source "package/dht/Config.in"
>         source "package/dpdk/Config.in"
> +       source "package/drogon/Config.in"
>         source "package/enet/Config.in"
>         source "package/filemq/Config.in"
>         source "package/fmlib/Config.in"
> diff --git a/package/drogon/0001-Fix-cross-compiling-2389.patch b/package/drogon/0001-Fix-cross-compiling-2389.patch
> new file mode 100644
> index 000000000000..f6df0a435006
> --- /dev/null
> +++ b/package/drogon/0001-Fix-cross-compiling-2389.patch
> @@ -0,0 +1,76 @@
> +From 06508006812881c91eebd80307aa465d5abd0e55 Mon Sep 17 00:00:00 2001
> +From: Dario Binacchi <45538935+passgat@users.noreply.github.com>
> +Date: Wed, 24 Sep 2025 09:21:12 +0200
> +Subject: [PATCH] Fix cross compiling (#2389)
> +
> +Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> +Upstream: https://github.com/drogonframework/drogon/commit/06508006812881c91eebd80307aa465d5abd0e55
> +---
> + CMakeLists.txt            | 9 +++++++++
> + drogon_ctl/CMakeLists.txt | 3 ++-
> + examples/CMakeLists.txt   | 8 ++++++++
> + 3 files changed, 19 insertions(+), 1 deletion(-)
> +
> +diff --git a/CMakeLists.txt b/CMakeLists.txt
> +index 9cbc6d732a33..7cf091e90ef7 100644
> +--- a/CMakeLists.txt
> ++++ b/CMakeLists.txt
> +@@ -524,6 +524,15 @@ if (BUILD_EXAMPLES)
> + endif (BUILD_EXAMPLES)
> +
> + if (BUILD_CTL)
> ++    if (CMAKE_CROSSCOMPILING)
> ++        find_program(HOST_DROGON_CTL _drogon_ctl)
> ++        if (NOT HOST_DROGON_CTL)
> ++            message(FATAL_ERROR "_drogon_ctl not found on host system")
> ++        endif()
> ++        set(DROGON_CTL "${HOST_DROGON_CTL}")
> ++    else (CMAKE_CROSSCOMPILING)
> ++        set(DROGON_CTL "$<TARGET_FILE:_drogon_ctl>")
> ++    endif (CMAKE_CROSSCOMPILING)
> +     add_subdirectory(drogon_ctl)
> + endif (BUILD_CTL)
> +
> +diff --git a/drogon_ctl/CMakeLists.txt b/drogon_ctl/CMakeLists.txt
> +index 04b790d3741b..f6b12bddab60 100755
> +--- a/drogon_ctl/CMakeLists.txt
> ++++ b/drogon_ctl/CMakeLists.txt
> +@@ -43,7 +43,7 @@ foreach(cspFile ${SCP_LIST})
> +   get_filename_component(classname ${cspFile} NAME_WE)
> +   message(STATUS "view classname:" ${classname})
> +   add_custom_command(OUTPUT ${classname}.h ${classname}.cc
> +-                     COMMAND $<TARGET_FILE:_drogon_ctl>
> ++                     COMMAND ${DROGON_CTL}
> +                              ARGS
> +                              create
> +                              view
> +@@ -63,6 +63,7 @@ if(APPLE)
> +   target_link_libraries(drogon_ctl PRIVATE resolv)
> + endif()
> + message(STATUS "bin:" ${INSTALL_BIN_DIR})
> ++install(TARGETS _drogon_ctl RUNTIME DESTINATION ${INSTALL_BIN_DIR})
> + install(TARGETS drogon_ctl RUNTIME DESTINATION ${INSTALL_BIN_DIR})
> + if(WIN32)
> +   set(CTL_FILE $<TARGET_FILE:drogon_ctl>)
> +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
> +index dca122f424ba..61e65d8323aa 100755
> +--- a/examples/CMakeLists.txt
> ++++ b/examples/CMakeLists.txt
> +@@ -50,6 +50,14 @@ set(example_targets
> +     async_stream
> +     cors)
> +
> ++foreach(target ${example_targets})
> ++    set_target_properties(${target} PROPERTIES
> ++        RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
> ++endforeach()
> ++
> ++install(TARGETS ${example_targets}
> ++    RUNTIME DESTINATION ${INSTALL_BIN_DIR})
> ++
> + # Add warnings for our example targets--some warnings (such as -Wunused-parameter) only appear
> + # when the templated functions are instantiated at their point of use.
> + if(NOT ${CMAKE_PLATFORM_NAME} STREQUAL "Windows" AND CMAKE_CXX_COMPILER_ID MATCHES GNU)
> +--
> +2.43.0
> +
> diff --git a/package/drogon/0002-Fix-building-error-for-Werror-unused-value.patch b/package/drogon/0002-Fix-building-error-for-Werror-unused-value.patch
> new file mode 100644
> index 000000000000..16c6ba6b4217
> --- /dev/null
> +++ b/package/drogon/0002-Fix-building-error-for-Werror-unused-value.patch
> @@ -0,0 +1,42 @@
> +From 7134f2f8e07b89450dd2407e7a21a7b9cea6b192 Mon Sep 17 00:00:00 2001
> +From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> +Date: Sat, 8 Nov 2025 19:39:01 +0100
> +Subject: [PATCH] Fix building error for -Werror=unused-value
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +Compiling trantor in Buildroot raises the following error:
> +
> +In file included from output/host/include/openssl/ssl.h:30,
> +                 from output/build/host-drogon-v1.9.11/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc:6:
> +build/host-drogon-v1.9.11/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc: In member function ‘ssize_t OpenSSLProvider::sendTLSData()’:
> +output/host/include/openssl/bio.h:629:34: error: value computed is not used [-Werror=unused-value]
> +  629 | # define BIO_reset(b)            (int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL)
> +      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +output/build/host-drogon-v1.9.11/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc:777:9: note: in expansion of macro ‘BIO_reset’
> +  777 |         BIO_reset(wbio_);
> +      |         ^~~~~~~~~
> +
> +Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> +Upstream: https://github.com/an-tao/trantor/commit/5714e8f68d3016c9a6a5abd23c627cf5d98eab81
> +---
> + trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc b/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc
> +index f91e9cde75bd..787cbc405436 100644
> +--- a/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc
> ++++ b/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc
> +@@ -774,7 +774,7 @@ struct OpenSSLProvider : public TLSProvider, public NonCopyable
> +         {
> +             appendToWriteBuffer((char *)data + n, len - n);
> +         }
> +-        BIO_reset(wbio_);
> ++        (void)BIO_reset(wbio_);
> +         if (n < 0)
> +             return -1;
> +         return len;
> +--
> +2.43.0
> +
> diff --git a/package/drogon/Config.in b/package/drogon/Config.in
> new file mode 100644
> index 000000000000..d5b03cf61767
> --- /dev/null
> +++ b/package/drogon/Config.in
> @@ -0,0 +1,50 @@
> +config BR2_PACKAGE_DROGON
> +       bool "drogon"
> +       depends on BR2_INSTALL_LIBSTDCPP
> +       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_11 # C++17/20
> +       depends on BR2_TOOLCHAIN_HAS_THREADS
> +       select BR2_PACKAGE_JSONCPP
> +       select BR2_PACKAGE_UTIL_LINUX
> +       select BR2_PACKAGE_UTIL_LINUX_LIBUUID
> +       select BR2_PACKAGE_ZLIB
> +       help
> +         Drogon is a C++17/20 based HTTP application framework.
> +         Drogon can be used to easily build various types of web
> +         application server programs using C++.
> +
> +         https://github.com/drogonframework/drogon
> +
> +if BR2_PACKAGE_DROGON
> +
> +config BR2_PACKAGE_DROGON_BROTLI
> +       bool "build Brotli"
> +       select BR2_PACKAGE_BROTLI
> +       help
> +         Add support for brotli compression.
> +
> +config BR2_PACKAGE_DROGON_CTL
> +       bool "build drogon_ctl"
> +       help
> +         drogon_ctl is a command-line tool used to generate
> +         project skeletons and source code.
> +
> +config BR2_PACKAGE_DROGON_EXAMPLES
> +       bool "build examples"
> +
> +config BR2_PACKAGE_DROGON_ORM
> +       bool "build orm"
> +       help
> +         Enable the ORM module for typed database access.
> +
> +config BR2_PACKAGE_DROGON_YAML_CONFIG
> +       bool "build yaml config"
> +       select BR2_PACKAGE_YAML_CPP
> +       help
> +         Add support for YAML configuration via yaml-cpp.
> +
> +endif
> +
> +comment "drogon needs a toolchain w/ C++, threads, gcc >= 11"
> +       depends on !BR2_INSTALL_LIBSTDCPP || \
> +               !BR2_TOOLCHAIN_GCC_AT_LEAST_11 || \
> +               !BR2_TOOLCHAIN_HAS_THREADS
> diff --git a/package/drogon/drogon.mk b/package/drogon/drogon.mk
> new file mode 100644
> index 000000000000..06354280db07
> --- /dev/null
> +++ b/package/drogon/drogon.mk
> @@ -0,0 +1,63 @@
> +################################################################################
> +#
> +# drogon
> +#
> +################################################################################
> +
> +DROGON_VERSION = v1.9.11
> +DROGON_SITE = https://github.com/drogonframework/drogon
> +DROGON_SITE_METHOD = git
> +DROGON_GIT_SUBMODULES = YES
> +DROGON_LICENSE = MIT
> +DROGON_LICENSE_FILES = LICENSE
> +DROGON_INSTALL_STAGING = YES
> +
> +DROGON_DEPENDENCIES = jsoncpp util-linux zlib
> +HOST_DROGON_DEPENDENCIES = host-jsoncpp host-util-linux host-zlib
> +
> +DROGON_CONF_OPTS = \
> +       -DBUILD_TESTS=OFF
> +
> +HOST_DROGON_CONF_OPTS = \
> +       -DBUILD_CTL=ON \
> +       -DBUILD_EXAMPLES=OFF \
> +       -DBUILD_TESTS=OFF
> +
> +ifeq ($(BR2_PACKAGE_DROGON_BROTLI),y)
> +DROGON_DEPENDENCIES += brotli
> +DROGON_CONF_OPTS += -DBUILD_BROTLI=ON
> +else
> +DROGON_CONF_OPTS += -DBUILD_BROTLI=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_DROGON_CTL),y)
> +# When we have drogon_ctl for the target, we need to build the
> +# _drogon_ctl tool with host-drogon support so that it can be
> +# run during the building process
> +DROGON_DEPENDENCIES += host-drogon
> +DROGON_CONF_OPTS += -DBUILD_CTL=ON
> +else
> +DROGON_CONF_OPTS += -DBUILD_CTL=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_DROGON_EXAMPLES),y)
> +DROGON_CONF_OPTS += -DBUILD_EXAMPLES=ON
> +else
> +DROGON_CONF_OPTS += -DBUILD_EXMPLES=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_DROGON_ORM),y)
> +DROGON_CONF_OPTS += -DBUILD_ORM=ON
> +else
> +DROGON_CONF_OPTS += -DBUILD_ORM=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_DROGON_YAML_CONFIG),y)
> +DROGON_DEPENDENCIES += yaml-cpp
> +DROGON_CONF_OPTS += -DBUILD_YAML_CONFIG=ON
> +else
> +DROGON_CONF_OPTS += -DBUILD_YAML_CONFIG=OFF
> +endif
> +
> +$(eval $(cmake-package))
> +$(eval $(host-cmake-package))
> --
> 2.43.0
>

A gentle ping on this series, as it has been pending for a while now.
Could someone please kindly take a look and provide a review?

Thanks and regards,
Dario
-- 

Dario Binacchi

Senior Embedded Linux Developer

dario.binacchi@amarulasolutions.com

__________________________________


Amarula Solutions SRL

Via Le Canevare 30, 31100 Treviso, Veneto, IT

T. +39 042 243 5310
info@amarulasolutions.com

www.amarulasolutions.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH v3 2/2] package/drogon: new package
  2026-02-17 16:52   ` Dario Binacchi
@ 2026-07-16 13:53     ` Dario Binacchi
  0 siblings, 0 replies; 5+ messages in thread
From: Dario Binacchi @ 2026-07-16 13:53 UTC (permalink / raw)
  To: buildroot; +Cc: Bernd Kuhls, Eric Le Bihan, Thomas Petazzoni, linux-amarula

Hi all

On Tue, Feb 17, 2026 at 5:52 PM Dario Binacchi
<dario.binacchi@amarulasolutions.com> wrote:
>
> Hi all
>
> On Fri, Jan 2, 2026 at 7:24 PM Dario Binacchi
> <dario.binacchi@amarulasolutions.com> wrote:
> >
> > Drogon is a C++17/20 based HTTP application framework. It can be used to
> > easily build various types of web application server programs using C++.
> >
> > Project page: https://github.com/drogonframework/drogon
> >
> > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> >
> > ---
> >
> > Changes v2 -> v3:
> > - The PRs related to the patches have all been merged. The first PR was
> >   merged by combining the three patches into a single one. Replace all
> >   Upstream: links with the link to the final commit.
> > - Add help text to the added KConfig options.
> > - Select external libraries for BROTLI and YAML_CONFIG options.
> > - Drop the host configurations. Files too.
> > - Always add -DBUILD_CTL=ON to HOST_DROGON_CONF_OPTS (together with
> >   -DBUILD_TESTS=OFF and -DBUILD_EXAMPLES=OFF).
> >
> > Changes v1 -> v2:
> > - Drop BR2_ARCH_IS_64 dependency. It has been tested on imx6ull platform.
> > - Add DROGON_INSTALL_STAGING
> > - Add 0004-Fix-building-error-for-Werror-unused-value.patch for trantor
> >   submodule.
> >
> >  DEVELOPERS                                    |  1 +
> >  package/Config.in                             |  1 +
> >  .../0001-Fix-cross-compiling-2389.patch       | 76 +++++++++++++++++++
> >  ...ilding-error-for-Werror-unused-value.patch | 42 ++++++++++
> >  package/drogon/Config.in                      | 50 ++++++++++++
> >  package/drogon/drogon.mk                      | 63 +++++++++++++++
> >  6 files changed, 233 insertions(+)
> >  create mode 100644 package/drogon/0001-Fix-cross-compiling-2389.patch
> >  create mode 100644 package/drogon/0002-Fix-building-error-for-Werror-unused-value.patch
> >  create mode 100644 package/drogon/Config.in
> >  create mode 100644 package/drogon/drogon.mk
> >
> > diff --git a/DEVELOPERS b/DEVELOPERS
> > index f448c3b5820c..70ea6f8e023f 100644
> > --- a/DEVELOPERS
> > +++ b/DEVELOPERS
> > @@ -815,6 +815,7 @@ F:  package/babeld/
> >  F:     package/bc/
> >  F:     package/cmocka/
> >  F:     package/connman/
> > +F:     package/drogon/
> >  F:     package/empty/
> >  F:     package/iana-assignments/
> >  F:     package/inih/
> > diff --git a/package/Config.in b/package/Config.in
> > index 2b9e31ebb30d..998042ed2610 100644
> > --- a/package/Config.in
> > +++ b/package/Config.in
> > @@ -1979,6 +1979,7 @@ menu "Networking"
> >         source "package/davici/Config.in"
> >         source "package/dht/Config.in"
> >         source "package/dpdk/Config.in"
> > +       source "package/drogon/Config.in"
> >         source "package/enet/Config.in"
> >         source "package/filemq/Config.in"
> >         source "package/fmlib/Config.in"
> > diff --git a/package/drogon/0001-Fix-cross-compiling-2389.patch b/package/drogon/0001-Fix-cross-compiling-2389.patch
> > new file mode 100644
> > index 000000000000..f6df0a435006
> > --- /dev/null
> > +++ b/package/drogon/0001-Fix-cross-compiling-2389.patch
> > @@ -0,0 +1,76 @@
> > +From 06508006812881c91eebd80307aa465d5abd0e55 Mon Sep 17 00:00:00 2001
> > +From: Dario Binacchi <45538935+passgat@users.noreply.github.com>
> > +Date: Wed, 24 Sep 2025 09:21:12 +0200
> > +Subject: [PATCH] Fix cross compiling (#2389)
> > +
> > +Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> > +Upstream: https://github.com/drogonframework/drogon/commit/06508006812881c91eebd80307aa465d5abd0e55
> > +---
> > + CMakeLists.txt            | 9 +++++++++
> > + drogon_ctl/CMakeLists.txt | 3 ++-
> > + examples/CMakeLists.txt   | 8 ++++++++
> > + 3 files changed, 19 insertions(+), 1 deletion(-)
> > +
> > +diff --git a/CMakeLists.txt b/CMakeLists.txt
> > +index 9cbc6d732a33..7cf091e90ef7 100644
> > +--- a/CMakeLists.txt
> > ++++ b/CMakeLists.txt
> > +@@ -524,6 +524,15 @@ if (BUILD_EXAMPLES)
> > + endif (BUILD_EXAMPLES)
> > +
> > + if (BUILD_CTL)
> > ++    if (CMAKE_CROSSCOMPILING)
> > ++        find_program(HOST_DROGON_CTL _drogon_ctl)
> > ++        if (NOT HOST_DROGON_CTL)
> > ++            message(FATAL_ERROR "_drogon_ctl not found on host system")
> > ++        endif()
> > ++        set(DROGON_CTL "${HOST_DROGON_CTL}")
> > ++    else (CMAKE_CROSSCOMPILING)
> > ++        set(DROGON_CTL "$<TARGET_FILE:_drogon_ctl>")
> > ++    endif (CMAKE_CROSSCOMPILING)
> > +     add_subdirectory(drogon_ctl)
> > + endif (BUILD_CTL)
> > +
> > +diff --git a/drogon_ctl/CMakeLists.txt b/drogon_ctl/CMakeLists.txt
> > +index 04b790d3741b..f6b12bddab60 100755
> > +--- a/drogon_ctl/CMakeLists.txt
> > ++++ b/drogon_ctl/CMakeLists.txt
> > +@@ -43,7 +43,7 @@ foreach(cspFile ${SCP_LIST})
> > +   get_filename_component(classname ${cspFile} NAME_WE)
> > +   message(STATUS "view classname:" ${classname})
> > +   add_custom_command(OUTPUT ${classname}.h ${classname}.cc
> > +-                     COMMAND $<TARGET_FILE:_drogon_ctl>
> > ++                     COMMAND ${DROGON_CTL}
> > +                              ARGS
> > +                              create
> > +                              view
> > +@@ -63,6 +63,7 @@ if(APPLE)
> > +   target_link_libraries(drogon_ctl PRIVATE resolv)
> > + endif()
> > + message(STATUS "bin:" ${INSTALL_BIN_DIR})
> > ++install(TARGETS _drogon_ctl RUNTIME DESTINATION ${INSTALL_BIN_DIR})
> > + install(TARGETS drogon_ctl RUNTIME DESTINATION ${INSTALL_BIN_DIR})
> > + if(WIN32)
> > +   set(CTL_FILE $<TARGET_FILE:drogon_ctl>)
> > +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
> > +index dca122f424ba..61e65d8323aa 100755
> > +--- a/examples/CMakeLists.txt
> > ++++ b/examples/CMakeLists.txt
> > +@@ -50,6 +50,14 @@ set(example_targets
> > +     async_stream
> > +     cors)
> > +
> > ++foreach(target ${example_targets})
> > ++    set_target_properties(${target} PROPERTIES
> > ++        RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
> > ++endforeach()
> > ++
> > ++install(TARGETS ${example_targets}
> > ++    RUNTIME DESTINATION ${INSTALL_BIN_DIR})
> > ++
> > + # Add warnings for our example targets--some warnings (such as -Wunused-parameter) only appear
> > + # when the templated functions are instantiated at their point of use.
> > + if(NOT ${CMAKE_PLATFORM_NAME} STREQUAL "Windows" AND CMAKE_CXX_COMPILER_ID MATCHES GNU)
> > +--
> > +2.43.0
> > +
> > diff --git a/package/drogon/0002-Fix-building-error-for-Werror-unused-value.patch b/package/drogon/0002-Fix-building-error-for-Werror-unused-value.patch
> > new file mode 100644
> > index 000000000000..16c6ba6b4217
> > --- /dev/null
> > +++ b/package/drogon/0002-Fix-building-error-for-Werror-unused-value.patch
> > @@ -0,0 +1,42 @@
> > +From 7134f2f8e07b89450dd2407e7a21a7b9cea6b192 Mon Sep 17 00:00:00 2001
> > +From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> > +Date: Sat, 8 Nov 2025 19:39:01 +0100
> > +Subject: [PATCH] Fix building error for -Werror=unused-value
> > +MIME-Version: 1.0
> > +Content-Type: text/plain; charset=UTF-8
> > +Content-Transfer-Encoding: 8bit
> > +
> > +Compiling trantor in Buildroot raises the following error:
> > +
> > +In file included from output/host/include/openssl/ssl.h:30,
> > +                 from output/build/host-drogon-v1.9.11/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc:6:
> > +build/host-drogon-v1.9.11/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc: In member function ‘ssize_t OpenSSLProvider::sendTLSData()’:
> > +output/host/include/openssl/bio.h:629:34: error: value computed is not used [-Werror=unused-value]
> > +  629 | # define BIO_reset(b)            (int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL)
> > +      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > +output/build/host-drogon-v1.9.11/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc:777:9: note: in expansion of macro ‘BIO_reset’
> > +  777 |         BIO_reset(wbio_);
> > +      |         ^~~~~~~~~
> > +
> > +Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> > +Upstream: https://github.com/an-tao/trantor/commit/5714e8f68d3016c9a6a5abd23c627cf5d98eab81
> > +---
> > + trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc | 2 +-
> > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > +
> > +diff --git a/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc b/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc
> > +index f91e9cde75bd..787cbc405436 100644
> > +--- a/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc
> > ++++ b/trantor/trantor/net/inner/tlsprovider/OpenSSLProvider.cc
> > +@@ -774,7 +774,7 @@ struct OpenSSLProvider : public TLSProvider, public NonCopyable
> > +         {
> > +             appendToWriteBuffer((char *)data + n, len - n);
> > +         }
> > +-        BIO_reset(wbio_);
> > ++        (void)BIO_reset(wbio_);
> > +         if (n < 0)
> > +             return -1;
> > +         return len;
> > +--
> > +2.43.0
> > +
> > diff --git a/package/drogon/Config.in b/package/drogon/Config.in
> > new file mode 100644
> > index 000000000000..d5b03cf61767
> > --- /dev/null
> > +++ b/package/drogon/Config.in
> > @@ -0,0 +1,50 @@
> > +config BR2_PACKAGE_DROGON
> > +       bool "drogon"
> > +       depends on BR2_INSTALL_LIBSTDCPP
> > +       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_11 # C++17/20
> > +       depends on BR2_TOOLCHAIN_HAS_THREADS
> > +       select BR2_PACKAGE_JSONCPP
> > +       select BR2_PACKAGE_UTIL_LINUX
> > +       select BR2_PACKAGE_UTIL_LINUX_LIBUUID
> > +       select BR2_PACKAGE_ZLIB
> > +       help
> > +         Drogon is a C++17/20 based HTTP application framework.
> > +         Drogon can be used to easily build various types of web
> > +         application server programs using C++.
> > +
> > +         https://github.com/drogonframework/drogon
> > +
> > +if BR2_PACKAGE_DROGON
> > +
> > +config BR2_PACKAGE_DROGON_BROTLI
> > +       bool "build Brotli"
> > +       select BR2_PACKAGE_BROTLI
> > +       help
> > +         Add support for brotli compression.
> > +
> > +config BR2_PACKAGE_DROGON_CTL
> > +       bool "build drogon_ctl"
> > +       help
> > +         drogon_ctl is a command-line tool used to generate
> > +         project skeletons and source code.
> > +
> > +config BR2_PACKAGE_DROGON_EXAMPLES
> > +       bool "build examples"
> > +
> > +config BR2_PACKAGE_DROGON_ORM
> > +       bool "build orm"
> > +       help
> > +         Enable the ORM module for typed database access.
> > +
> > +config BR2_PACKAGE_DROGON_YAML_CONFIG
> > +       bool "build yaml config"
> > +       select BR2_PACKAGE_YAML_CPP
> > +       help
> > +         Add support for YAML configuration via yaml-cpp.
> > +
> > +endif
> > +
> > +comment "drogon needs a toolchain w/ C++, threads, gcc >= 11"
> > +       depends on !BR2_INSTALL_LIBSTDCPP || \
> > +               !BR2_TOOLCHAIN_GCC_AT_LEAST_11 || \
> > +               !BR2_TOOLCHAIN_HAS_THREADS
> > diff --git a/package/drogon/drogon.mk b/package/drogon/drogon.mk
> > new file mode 100644
> > index 000000000000..06354280db07
> > --- /dev/null
> > +++ b/package/drogon/drogon.mk
> > @@ -0,0 +1,63 @@
> > +################################################################################
> > +#
> > +# drogon
> > +#
> > +################################################################################
> > +
> > +DROGON_VERSION = v1.9.11
> > +DROGON_SITE = https://github.com/drogonframework/drogon
> > +DROGON_SITE_METHOD = git
> > +DROGON_GIT_SUBMODULES = YES
> > +DROGON_LICENSE = MIT
> > +DROGON_LICENSE_FILES = LICENSE
> > +DROGON_INSTALL_STAGING = YES
> > +
> > +DROGON_DEPENDENCIES = jsoncpp util-linux zlib
> > +HOST_DROGON_DEPENDENCIES = host-jsoncpp host-util-linux host-zlib
> > +
> > +DROGON_CONF_OPTS = \
> > +       -DBUILD_TESTS=OFF
> > +
> > +HOST_DROGON_CONF_OPTS = \
> > +       -DBUILD_CTL=ON \
> > +       -DBUILD_EXAMPLES=OFF \
> > +       -DBUILD_TESTS=OFF
> > +
> > +ifeq ($(BR2_PACKAGE_DROGON_BROTLI),y)
> > +DROGON_DEPENDENCIES += brotli
> > +DROGON_CONF_OPTS += -DBUILD_BROTLI=ON
> > +else
> > +DROGON_CONF_OPTS += -DBUILD_BROTLI=OFF
> > +endif
> > +
> > +ifeq ($(BR2_PACKAGE_DROGON_CTL),y)
> > +# When we have drogon_ctl for the target, we need to build the
> > +# _drogon_ctl tool with host-drogon support so that it can be
> > +# run during the building process
> > +DROGON_DEPENDENCIES += host-drogon
> > +DROGON_CONF_OPTS += -DBUILD_CTL=ON
> > +else
> > +DROGON_CONF_OPTS += -DBUILD_CTL=OFF
> > +endif
> > +
> > +ifeq ($(BR2_PACKAGE_DROGON_EXAMPLES),y)
> > +DROGON_CONF_OPTS += -DBUILD_EXAMPLES=ON
> > +else
> > +DROGON_CONF_OPTS += -DBUILD_EXMPLES=OFF
> > +endif
> > +
> > +ifeq ($(BR2_PACKAGE_DROGON_ORM),y)
> > +DROGON_CONF_OPTS += -DBUILD_ORM=ON
> > +else
> > +DROGON_CONF_OPTS += -DBUILD_ORM=OFF
> > +endif
> > +
> > +ifeq ($(BR2_PACKAGE_DROGON_YAML_CONFIG),y)
> > +DROGON_DEPENDENCIES += yaml-cpp
> > +DROGON_CONF_OPTS += -DBUILD_YAML_CONFIG=ON
> > +else
> > +DROGON_CONF_OPTS += -DBUILD_YAML_CONFIG=OFF
> > +endif
> > +
> > +$(eval $(cmake-package))
> > +$(eval $(host-cmake-package))
> > --
> > 2.43.0
> >
>
> A gentle ping on this series, as it has been pending for a while now.
> Could someone please kindly take a look and provide a review?

Following up again on this series, as it has now been pending for some
time without a review.
Could someone please take a look and provide a review?

Thanks and regards,
Dario

>
> Thanks and regards,
> Dario
> --
>
> Dario Binacchi
>
> Senior Embedded Linux Developer
>
> dario.binacchi@amarulasolutions.com
>
> __________________________________
>
>
> Amarula Solutions SRL
>
> Via Le Canevare 30, 31100 Treviso, Veneto, IT
>
> T. +39 042 243 5310
> info@amarulasolutions.com
>
> www.amarulasolutions.com



-- 
Dario Binacchi
Senior Embedded Software Engineer
M. +39 328 0625246
dario.binacchi@amarulasolutions.com
―――――――――――――――
Amarula Solutions SRL
 Via Felice Cavallotti 25D, 41012 Carpi, MO, IT
info@amarulasolutions.com
www.amarulasolutions.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH v3 2/2] package/drogon: new package
  2026-01-02 18:24 ` [Buildroot] [PATCH v3 2/2] package/drogon: new package Dario Binacchi
  2026-02-17 16:52   ` Dario Binacchi
@ 2026-07-18 12:52   ` Julien Olivain via buildroot
  1 sibling, 0 replies; 5+ messages in thread
From: Julien Olivain via buildroot @ 2026-07-18 12:52 UTC (permalink / raw)
  To: Dario Binacchi
  Cc: buildroot, Bernd Kuhls, Eric Le Bihan, Thomas Petazzoni,
	linux-amarula

Hi Dario,

I have few comments. See below.

On 02/01/2026 19:24, Dario Binacchi wrote:
> Drogon is a C++17/20 based HTTP application framework. It can be used 
> to
> easily build various types of web application server programs using 
> C++.
> 
> Project page: https://github.com/drogonframework/drogon
> 
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> 
> ---
> 
> Changes v2 -> v3:
> - The PRs related to the patches have all been merged. The first PR was
>   merged by combining the three patches into a single one. Replace all
>   Upstream: links with the link to the final commit.
> - Add help text to the added KConfig options.
> - Select external libraries for BROTLI and YAML_CONFIG options.
> - Drop the host configurations. Files too.
> - Always add -DBUILD_CTL=ON to HOST_DROGON_CONF_OPTS (together with
>   -DBUILD_TESTS=OFF and -DBUILD_EXAMPLES=OFF).
> 
> Changes v1 -> v2:
> - Drop BR2_ARCH_IS_64 dependency. It has been tested on imx6ull 
> platform.
> - Add DROGON_INSTALL_STAGING
> - Add 0004-Fix-building-error-for-Werror-unused-value.patch for trantor
>   submodule.
> 
>  DEVELOPERS                                    |  1 +
>  package/Config.in                             |  1 +
>  .../0001-Fix-cross-compiling-2389.patch       | 76 +++++++++++++++++++
>  ...ilding-error-for-Werror-unused-value.patch | 42 ++++++++++
>  package/drogon/Config.in                      | 50 ++++++++++++
>  package/drogon/drogon.mk                      | 63 +++++++++++++++
>  6 files changed, 233 insertions(+)
>  create mode 100644 package/drogon/0001-Fix-cross-compiling-2389.patch
>  create mode 100644 
> package/drogon/0002-Fix-building-error-for-Werror-unused-value.patch
>  create mode 100644 package/drogon/Config.in
>  create mode 100644 package/drogon/drogon.mk
[...]
> diff --git a/package/drogon/drogon.mk b/package/drogon/drogon.mk
> new file mode 100644
> index 000000000000..06354280db07
> --- /dev/null
> +++ b/package/drogon/drogon.mk
> @@ -0,0 +1,63 @@
> +################################################################################
> +#
> +# drogon
> +#
> +################################################################################
> +
> +DROGON_VERSION = v1.9.11
> +DROGON_SITE = https://github.com/drogonframework/drogon
> +DROGON_SITE_METHOD = git
> +DROGON_GIT_SUBMODULES = YES
> +DROGON_LICENSE = MIT
> +DROGON_LICENSE_FILES = LICENSE

The drogon.hash file is missing. When running the
command "make drogon-legal-info", we can see the messages:

...
WARNING: no hash file for drogon-v1.9.11-git4.tar.gz
...
WARNING: no hash file for LICENSE

Could you add the hash file please?

Also, this package is introducing build failures. There is probably
missing dependencies.
See: https://gitlab.com/jolivain/buildroot/-/pipelines/2682597534

You can also reproduce locally with the command:
utils/test-pkg -a -p drogon

While fixing those issue, could you bump to the latest 1.9.13. This
should remove some (if not all) package patches.

Could you send an updated patch addressing those issues, please?

> +DROGON_INSTALL_STAGING = YES
> +
> +DROGON_DEPENDENCIES = jsoncpp util-linux zlib
> +HOST_DROGON_DEPENDENCIES = host-jsoncpp host-util-linux host-zlib
> +
> +DROGON_CONF_OPTS = \
> +	-DBUILD_TESTS=OFF
> +
> +HOST_DROGON_CONF_OPTS = \
> +	-DBUILD_CTL=ON \
> +	-DBUILD_EXAMPLES=OFF \
> +	-DBUILD_TESTS=OFF
> +
> +ifeq ($(BR2_PACKAGE_DROGON_BROTLI),y)
> +DROGON_DEPENDENCIES += brotli
> +DROGON_CONF_OPTS += -DBUILD_BROTLI=ON
> +else
> +DROGON_CONF_OPTS += -DBUILD_BROTLI=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_DROGON_CTL),y)
> +# When we have drogon_ctl for the target, we need to build the
> +# _drogon_ctl tool with host-drogon support so that it can be
> +# run during the building process
> +DROGON_DEPENDENCIES += host-drogon
> +DROGON_CONF_OPTS += -DBUILD_CTL=ON
> +else
> +DROGON_CONF_OPTS += -DBUILD_CTL=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_DROGON_EXAMPLES),y)
> +DROGON_CONF_OPTS += -DBUILD_EXAMPLES=ON
> +else
> +DROGON_CONF_OPTS += -DBUILD_EXMPLES=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_DROGON_ORM),y)
> +DROGON_CONF_OPTS += -DBUILD_ORM=ON
> +else
> +DROGON_CONF_OPTS += -DBUILD_ORM=OFF
> +endif
> +
> +ifeq ($(BR2_PACKAGE_DROGON_YAML_CONFIG),y)
> +DROGON_DEPENDENCIES += yaml-cpp
> +DROGON_CONF_OPTS += -DBUILD_YAML_CONFIG=ON
> +else
> +DROGON_CONF_OPTS += -DBUILD_YAML_CONFIG=OFF
> +endif
> +
> +$(eval $(cmake-package))
> +$(eval $(host-cmake-package))
> --
> 2.43.0

Best regards,

Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-07-18 12:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-02 18:24 [Buildroot] [PATCH v3 1/2] package/jsoncpp: add host variant Dario Binacchi
2026-01-02 18:24 ` [Buildroot] [PATCH v3 2/2] package/drogon: new package Dario Binacchi
2026-02-17 16:52   ` Dario Binacchi
2026-07-16 13:53     ` Dario Binacchi
2026-07-18 12:52   ` Julien Olivain via buildroot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.