Files
buildroot/package/libxmlsec1/libxmlsec1.mk
Alexis Lothoré fef9cad1fe 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>
2026-08-03 22:37:16 +02:00

51 lines
1.4 KiB
Makefile

################################################################################
#
# libxmlsec1
#
################################################################################
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
LIBXMLSEC1_LICENSE_FILES = Copyright
LIBXMLSEC1_INSTALL_STAGING = YES
LIBXMLSEC1_DEPENDENCIES = libxml2 openssl
HOST_LIBXMLSEC1_DEPENDENCIES = host-libxml2 host-openssl
LIBXMLSEC1_AUTORECONF = YES
LIBXMLSEC1_CONF_OPTS = \
--enable-crypto-dl=no \
--with-openssl \
--without-gnutls \
--without-gcrypt \
--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 \
--without-gnutls \
--without-gcrypt \
--without-nss \
--without-libxslt \
--disable-des
ifeq ($(BR2_PACKAGE_LIBXSLT),y)
LIBXMLSEC1_DEPENDENCIES += libxslt
LIBXMLSEC1_CONF_OPTS += --with-libxslt
else
LIBXMLSEC1_CONF_OPTS += --without-libxslt
endif
$(eval $(autotools-package))
$(eval $(host-autotools-package))