0024-civetweb-to-v1.11.patch 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. diff --git a/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch b/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch
  2. deleted file mode 100644
  3. index aee3cfc..0000000
  4. --- a/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch
  5. +++ /dev/null
  6. @@ -1,27 +0,0 @@
  7. -From 0821066f9adf8410891cd07684ecac50a9bc36a4 Mon Sep 17 00:00:00 2001
  8. -From: Fabio Porcedda <fabio.porcedda@gmail>
  9. -Date: Wed, 25 Feb 2015 18:40:24 +0100
  10. -Subject: [PATCH] Lua: fix a typo changing %(LFS_DIR) to $(LFS_DIR)
  11. -
  12. -Also this fix a error on GNU Make v4.0:
  13. - Makefile:203: *** mixed implicit and normal rules. Stop.
  14. -
  15. -Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail>
  16. ----
  17. - resources/Makefile.in-lua | 2 +-
  18. - 1 file changed, 1 insertion(+), 1 deletion(-)
  19. -
  20. -diff --git a/resources/Makefile.in-lua b/resources/Makefile.in-lua
  21. -index 0902f11..f3d95fd 100644
  22. ---- a/resources/Makefile.in-lua
  23. -+++ b/resources/Makefile.in-lua
  24. -@@ -57,5 +57,5 @@ LFS_CFLAGS = -I$(LFS_DIR)
  25. -
  26. - OBJECTS += $(LUA_OBJECTS) $(SQLITE_OBJECTS) $(LFS_OBJECTS)
  27. - CFLAGS += $(LUA_CFLAGS) $(SQLITE_CFLAGS) $(LFS_CFLAGS) -DUSE_LUA -DUSE_LUA_SQLITE3 -DUSE_LUA_FILE_SYSTEM
  28. --SOURCE_DIRS = $(LUA_DIR) $(SQLITE_DIR) %(LFS_DIR)
  29. -+SOURCE_DIRS = $(LUA_DIR) $(SQLITE_DIR) $(LFS_DIR)
  30. -
  31. ---
  32. -2.3.0
  33. -
  34. diff --git a/package/civetweb/0001-modlua.ini-include-dlfcn.h.patch b/package/civetweb/0001-modlua.ini-include-dlfcn.h.patch
  35. new file mode 100644
  36. index 0000000..bd1b06a
  37. --- /dev/null
  38. +++ b/package/civetweb/0001-modlua.ini-include-dlfcn.h.patch
  39. @@ -0,0 +1,34 @@
  40. +From ca4325c6963e505d6fb628163abf2359427ea022 Mon Sep 17 00:00:00 2001
  41. +From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  42. +Date: Thu, 29 Nov 2018 21:43:28 +0100
  43. +Subject: [PATCH] modlua.ini: include dlfcn.h
  44. +
  45. +dlfcn.h must be included to be able to use dlopen otherwise build will
  46. +fail on:
  47. +src/mod_lua.inl:2845:41: error: 'RTLD_LAZY' undeclared (first use in this function)
  48. + lib_handle_uuid = dlopen("libuuid.so", RTLD_LAZY);
  49. +
  50. +Fixes:
  51. + - http://autobuild.buildroot.org/results/7a189f49c5a8b6f7b3d4c57cda5982adc65dbc19
  52. +
  53. +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  54. +[Upstream status: https://github.com/civetweb/civetweb/pull/706]
  55. +---
  56. + src/mod_lua.inl | 1 +
  57. + 1 file changed, 1 insertion(+)
  58. +
  59. +diff --git a/src/mod_lua.inl b/src/mod_lua.inl
  60. +index 97a5de1e..ce7a4b2e 100644
  61. +--- a/src/mod_lua.inl
  62. ++++ b/src/mod_lua.inl
  63. +@@ -2,6 +2,7 @@
  64. + * See https://github.com/civetweb/civetweb/
  65. + */
  66. +
  67. ++#include <dlfcn.h>
  68. + #include "civetweb_lua.h"
  69. + #include "civetweb_private_lua.h"
  70. +
  71. +--
  72. +2.14.1
  73. +
  74. diff --git a/package/civetweb/Config.in b/package/civetweb/Config.in
  75. index d68a1ff..9e43969 100644
  76. --- a/package/civetweb/Config.in
  77. +++ b/package/civetweb/Config.in
  78. @@ -2,6 +2,7 @@ config BR2_PACKAGE_CIVETWEB
  79. bool "civetweb"
  80. depends on BR2_TOOLCHAIN_HAS_THREADS
  81. depends on BR2_USE_MMU # fork()
  82. + select BR2_PACKAGE_CIVETWEB_SERVER if !BR2_PACKAGE_CIVETWEB_LIB
  83. help
  84. Full featured embedded web server with Lua support.
  85. @@ -9,6 +10,17 @@ config BR2_PACKAGE_CIVETWEB
  86. if BR2_PACKAGE_CIVETWEB
  87. +config BR2_PACKAGE_CIVETWEB_SERVER
  88. + bool "enable the web server application"
  89. + help
  90. + Include the web server and its config files.
  91. +
  92. +config BR2_PACKAGE_CIVETWEB_LIB
  93. + bool "enable library for embedding"
  94. + help
  95. + Enable the civetweb library for embedding in another
  96. + application.
  97. +
  98. config BR2_PACKAGE_CIVETWEB_WITH_LUA
  99. bool "enable Lua support"
  100. # required by the bundled Sqlite3 and Lua code
  101. diff --git a/package/civetweb/civetweb.hash b/package/civetweb/civetweb.hash
  102. index 745f4a8..e6f60ff 100644
  103. --- a/package/civetweb/civetweb.hash
  104. +++ b/package/civetweb/civetweb.hash
  105. @@ -1,2 +1,3 @@
  106. # Locally calculated
  107. -sha256 79a852a26068eb6d2f8de5ee72e021f0d2c8bd176eb81f41909a876b736815d9 civetweb-v1.5.tar.gz
  108. +sha256 de7d5e7a2d9551d325898c71e41d437d5f7b51e754b242af897f7be96e713a42 civetweb-1.11.tar.gz
  109. +sha256 1cd00da00b8649b4005757f4019acfd3102ecd407f47998081697e8e9086f706 LICENSE.md
  110. diff --git a/package/civetweb/civetweb.mk b/package/civetweb/civetweb.mk
  111. index d29765b..99da1b6 100644
  112. --- a/package/civetweb/civetweb.mk
  113. +++ b/package/civetweb/civetweb.mk
  114. @@ -4,16 +4,26 @@
  115. #
  116. ################################################################################
  117. -CIVETWEB_VERSION = v1.5
  118. -CIVETWEB_SITE = $(call github,sunsetbrew,civetweb,$(CIVETWEB_VERSION))
  119. +CIVETWEB_VERSION = 1.11
  120. +CIVETWEB_SITE = $(call github,civetweb,civetweb,v$(CIVETWEB_VERSION))
  121. CIVETWEB_LICENSE = MIT
  122. CIVETWEB_LICENSE_FILES = LICENSE.md
  123. -CIVETWEB_CONF_OPTS = TARGET_OS=LINUX WITH_IPV6=1
  124. +CIVETWEB_CONF_OPTS = TARGET_OS=LINUX WITH_IPV6=1 \
  125. + $(if $(BR2_INSTALL_LIBSTDCPP),WITH_CPP=1)
  126. CIVETWEB_COPT = -DHAVE_POSIX_FALLOCATE=0
  127. CIVETWEB_LIBS = -lpthread -lm
  128. CIVETWEB_SYSCONFDIR = /etc
  129. CIVETWEB_HTMLDIR = /var/www
  130. +CIVETWEB_INSTALL_OPTS = \
  131. + DOCUMENT_ROOT="$(CIVETWEB_HTMLDIR)" \
  132. + CONFIG_FILE2="$(CIVETWEB_SYSCONFDIR)/civetweb.conf" \
  133. + HTMLDIR="$(TARGET_DIR)$(CIVETWEB_HTMLDIR)" \
  134. + SYSCONFDIR="$(TARGET_DIR)$(CIVETWEB_SYSCONFDIR)"
  135. +
  136. +ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4),)
  137. +CIVETWEB_COPT += -DNO_ATOMICS=1
  138. +endif
  139. ifeq ($(BR2_PACKAGE_CIVETWEB_WITH_LUA),y)
  140. CIVETWEB_CONF_OPTS += WITH_LUA=1
  141. @@ -22,25 +32,54 @@ endif
  142. ifeq ($(BR2_PACKAGE_OPENSSL),y)
  143. CIVETWEB_COPT += -DNO_SSL_DL
  144. -CIVETWEB_LIBS += -lssl -lcrypto -lz
  145. -CIVETWEB_DEPENDENCIES += openssl
  146. +CIVETWEB_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl`
  147. +CIVETWEB_DEPENDENCIES += openssl host-pkgconf
  148. else
  149. CIVETWEB_COPT += -DNO_SSL
  150. endif
  151. +ifeq ($(BR2_PACKAGE_CIVETWEB_SERVER),y)
  152. +CIVETWEB_BUILD_TARGETS += build
  153. +CIVETWEB_INSTALL_TARGETS += install
  154. +endif
  155. +
  156. +ifeq ($(BR2_PACKAGE_CIVETWEB_LIB),y)
  157. +CIVETWEB_INSTALL_STAGING = YES
  158. +CIVETWEB_INSTALL_TARGETS += install-headers
  159. +
  160. +ifeq ($(BR2_STATIC_LIBS)$(BR2_STATIC_SHARED_LIBS),y)
  161. +CIVETWEB_BUILD_TARGETS += lib
  162. +CIVETWEB_INSTALL_TARGETS += install-lib
  163. +endif
  164. +
  165. +ifeq ($(BR2_SHARED_LIBS)$(BR2_STATIC_SHARED_LIBS),y)
  166. +CIVETWEB_BUILD_TARGETS += slib
  167. +CIVETWEB_INSTALL_TARGETS += install-slib
  168. +CIVETWEB_COPT += -fPIC
  169. +endif
  170. +
  171. +endif # BR2_PACKAGE_CIVETWEB_LIB
  172. +
  173. define CIVETWEB_BUILD_CMDS
  174. - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) build \
  175. + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_BUILD_TARGETS) \
  176. $(CIVETWEB_CONF_OPTS) \
  177. COPT="$(CIVETWEB_COPT)" LIBS="$(CIVETWEB_LIBS)"
  178. endef
  179. +define CIVETWEB_INSTALL_STAGING_CMDS
  180. + mkdir -p $(STAGING_DIR)/usr/include
  181. + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_INSTALL_TARGETS) \
  182. + PREFIX="$(STAGING_DIR)/usr" \
  183. + $(CIVETWEB_INSTALL_OPTS) \
  184. + $(CIVETWEB_CONF_OPTS) \
  185. + COPT='$(CIVETWEB_COPT)'
  186. +endef
  187. +
  188. define CIVETWEB_INSTALL_TARGET_CMDS
  189. - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) install \
  190. - DOCUMENT_ROOT="$(CIVETWEB_HTMLDIR)" \
  191. - CONFIG_FILE2="$(CIVETWEB_SYSCONFDIR)/civetweb.conf" \
  192. - HTMLDIR="$(TARGET_DIR)$(CIVETWEB_HTMLDIR)" \
  193. - SYSCONFDIR="$(TARGET_DIR)$(CIVETWEB_SYSCONFDIR)" \
  194. + mkdir -p $(TARGET_DIR)/usr/include
  195. + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_INSTALL_TARGETS) \
  196. PREFIX="$(TARGET_DIR)/usr" \
  197. + $(CIVETWEB_INSTALL_OPTS) \
  198. $(CIVETWEB_CONF_OPTS) \
  199. COPT='$(CIVETWEB_COPT)'
  200. endef