nginx: add patch fixing libxslt library detection
authorChristian Marangi <ansuelsmth@gmail.com>
Sun, 3 Nov 2024 15:37:34 +0000 (16:37 +0100)
committerChristian Marangi <ansuelsmth@gmail.com>
Mon, 4 Nov 2024 10:42:54 +0000 (11:42 +0100)
Nginx hardcode the libxml2 include path to /usr/include/libxml2. This
works in a local build as pretty much everyone have the libxml2 library
installed but doesn't on buildbot container as the library doesn't
exist.

This effectively makes the host library leak intro library detection but
doesn't actually link to it as linking is still done with the correct
library in staging dir.

To fix this add a patch to define custom libxml2 include directory
instead of hardcoding it to host library.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
net/nginx/Makefile
net/nginx/patches/nginx/106-libxslt-fix-detection.patch [new file with mode: 0644]

index f82bbbf2a6c16814090694eea0c09c35f4f0fbd8..c4a81986b32b102b9cfd106399c40314683b1634 100644 (file)
@@ -420,7 +420,8 @@ ifneq ($(CONFIG_PACKAGE_nginx-mod-lua),)
                                        LUAJIT_LIB=$(STAGING_DIR)/usr/lib
 endif
 
-CONFIGURE_VARS += CONFIG_BIG_ENDIAN=$(CONFIG_BIG_ENDIAN)
+CONFIGURE_VARS += LIBXML2_INC=$(STAGING_DIR)/usr/include/libxml2 \
+                       CONFIG_BIG_ENDIAN=$(CONFIG_BIG_ENDIAN)
 
 CONFIGURE_ARGS += \
        --crossbuild=Linux::$(ARCH) \
diff --git a/net/nginx/patches/nginx/106-libxslt-fix-detection.patch b/net/nginx/patches/nginx/106-libxslt-fix-detection.patch
new file mode 100644 (file)
index 0000000..fba35b9
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/auto/lib/libxslt/conf
++++ b/auto/lib/libxslt/conf
+@@ -12,7 +12,7 @@
+                       #include <libxslt/xsltInternals.h>
+                       #include <libxslt/transform.h>
+                       #include <libxslt/xsltutils.h>"
+-    ngx_feature_path="/usr/include/libxml2"
++    ngx_feature_path="${LIBXML2_INC:-/usr/include/libxml2}"
+     ngx_feature_libs="-lxml2 -lxslt"
+     ngx_feature_test="xmlParserCtxtPtr    ctxt = NULL;
+                       xsltStylesheetPtr   sheet = NULL;
+@@ -100,7 +100,7 @@ fi
+     ngx_feature_name=NGX_HAVE_EXSLT
+     ngx_feature_run=no
+     ngx_feature_incs="#include <libexslt/exslt.h>"
+-    ngx_feature_path="/usr/include/libxml2"
++    ngx_feature_path="${LIBXML2_INC:-/usr/include/libxml2}"
+     ngx_feature_libs="-lexslt"
+     ngx_feature_test="exsltRegisterAll();"
+     . auto/feature