package/libxmlsec1: bump version to 1.3.12

Update libxmlsec from 1.3.9 to 1.3.12. The package then needs a few
adjustments:
- there are undefined references to xmlDebugDumpDocument ([1]):

  unit_tests/transform_helpers_unit_tests.c:291:9: error: implicit
  declaration of function ‘xmlDebugDumpDocument’
  [-Wimplicit-function-declaration]

This is due to xmlsec1 unit tests being built systematically, and
depending on libxml2 being built with --with-debug, so patch
apps/Makefile.am accordingly at build time to disable unit tests build.

- the build can fail with older GCC versions due to an unimplemented
  parameter ([2]):

  aarch64-linux-gcc.br_real: error: unrecognized command line option \
  ‘-Wformat-overflow=2’; did you mean ‘-Wstrict-overflow=’?

This format-overflow parameter has been implemented in GCC 7, so make
the package depend on GCC >= 7. Another solution could have been to
pass --disable-pedantic to the package's configure, but that sounds a
bit strong just to disable a parameter that has been exisiting for
almost 10 years.

- the build can fail on missing atomics ([3]):

  [...]/bootlin-m68k-5208-uclibc/host/opt/ext-toolchain/m68k-buildroot-uclinux-uclibc/bin/ld.real:
  [...]/bootlin-m68k-5208-uclibc/host/bin/../m68k-buildroot-uclinux-uclibc/sysroot/usr/lib/libcrypto.a(libcrypto-lib-threads_pthread.o):
  in function `CRYPTO_atomic_store': threads_pthread.c:(.text+0xcd2):
  undefined reference to `__atomic_is_lock_free'

So make the package depend on libatomic.

This commit updates the license hash, after a year update in [4].

[1] https://gitlab.com/jolivain/buildroot/-/pipelines/2527527034
[2] https://gitlab.com/jolivain/buildroot/-/jobs/14449681615
[3] https://gitlab.com/jolivain/buildroot/-/jobs/14449681621
[4] 2e557ee8a0

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Co-Developed-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
[Julien: update license hash]
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
Alexis Lothoré
2026-08-03 16:16:46 +02:00
committed by Julien Olivain
parent 95cdea9bdd
commit fef9cad1fe
3 changed files with 16 additions and 3 deletions

View File

@@ -1,5 +1,7 @@
config BR2_PACKAGE_LIBXMLSEC1
bool "libxmlsec1"
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 #-Wformat-overflow
depends on BR2_TOOLCHAIN_HAS_ATOMIC
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_LIBXML2
help
@@ -10,3 +12,6 @@ config BR2_PACKAGE_LIBXMLSEC1
https://www.aleksey.com/xmlsec/
https://github.com/lsh123/xmlsec
comment "libxmlsec1 needs a toolchain w/ gcc >= 7"
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_TOOLCHAIN_HAS_ATOMIC

View File

@@ -1,3 +1,3 @@
# Locally computed
sha256 a631c8cd7a6b86e6adb9f5b935d45a9cf9768b3cb090d461e8eb9d043cf9b62f xmlsec1-1.3.9.tar.gz
sha256 d5e9388534256360c6a009d4f19ab2b8d6ec0aa7ff32a51e22d899ed7beb5c48 Copyright
sha256 24045199af12d93fe5fdbbbf7e386e823e4842071e9432e2b90ac108b889a923 xmlsec1-1.3.12.tar.gz
sha256 a6d217151f3d423e06639c075bad8e442ea1936828d3a660105122ef78ecd96d Copyright

View File

@@ -4,7 +4,7 @@
#
################################################################################
LIBXMLSEC1_VERSION = 1.3.9
LIBXMLSEC1_VERSION = 1.3.12
LIBXMLSEC1_SOURCE = xmlsec1-$(LIBXMLSEC1_VERSION).tar.gz
LIBXMLSEC1_SITE = https://github.com/lsh123/xmlsec/releases/download/$(LIBXMLSEC1_VERSION)
LIBXMLSEC1_LICENSE = MIT
@@ -22,6 +22,14 @@ LIBXMLSEC1_CONF_OPTS = \
--without-nss \
--disable-des
# xmlsec_unit_tests needs xmlDebugDumpDocument() from libxml2 which is not
# present in buildroot because libxml2 is build with -without-debug
define LIBXMLSEC1_DISABLE_UNIT_TESTS
$(SED) 's/noinst_PROGRAMS = xmlsec_unit_tests/noinst_PROGRAMS =/' \
$(@D)/apps/Makefile.am
endef
LIBXMLSEC1_POST_PATCH_HOOKS += LIBXMLSEC1_DISABLE_UNIT_TESTS
HOST_LIBXMLSEC1_CONF_OPTS = \
--enable-crypto-dl=no \
--with-openssl \