From 118620a6d6e4ab7c1e7446898f5f0ce252c849fe Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sat, 13 Jan 2024 05:24:01 +0000 Subject: [PATCH 1/4] libxslt: migrate to cmake --- packages/textproc/libxslt/package.mk | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/packages/textproc/libxslt/package.mk b/packages/textproc/libxslt/package.mk index 5c3fef56d6..880eede791 100644 --- a/packages/textproc/libxslt/package.mk +++ b/packages/textproc/libxslt/package.mk @@ -12,23 +12,21 @@ PKG_DEPENDS_HOST="libxml2:host" PKG_DEPENDS_TARGET="toolchain libxml2" PKG_LONGDESC="A XSLT C library." PKG_BUILD_FLAGS="+pic" -PKG_TOOLCHAIN="autotools" -PKG_CONFIGURE_OPTS_HOST=" ac_cv_header_ansidecl_h=no \ - ac_cv_header_xlocale_h=no \ - --enable-static \ - --disable-shared \ - --without-python \ - --with-libxml-prefix=${TOOLCHAIN} \ - --without-crypto" +PKG_CMAKE_OPTS_ALL="-DBUILD_SHARED_LIBS=OFF \ + -DLIBXSLT_WITH_DEBUGGER=ON \ + -DLIBXSLT_WITH_CRYPTO=OFF \ + -DLIBXSLT_WITH_MEM_DEBUG=OFF \ + -DLIBXSLT_WITH_MODULES=ON \ + -DLIBXSLT_WITH_PROFILER=ON \ + -DLIBXSLT_WITH_PYTHON=OFF \ + -DLIBXSLT_WITH_TESTS=OFF \ + -DLIBXSLT_WITH_THREADS=ON \ + -DLIBXSLT_WITH_XSLT_DEBUG=ON" -PKG_CONFIGURE_OPTS_TARGET="ac_cv_header_ansidecl_h=no \ - ac_cv_header_xlocale_h=no \ - --enable-static \ - --disable-shared \ - --without-python \ - --with-libxml-prefix=${SYSROOT_PREFIX}/usr \ - --without-crypto" +PKG_CMAKE_OPTS_HOST=${PKG_CMAKE_OPTS_ALL} + +PKG_CMAKE_OPTS_TARGET=${PKG_CMAKE_OPTS_ALL} post_makeinstall_target() { sed -e "s:\(['= ]\)/usr:\\1${SYSROOT_PREFIX}/usr:g" -i ${SYSROOT_PREFIX}/usr/bin/xslt-config From cfd8096153625c4f4b78f95d69f3496348322144 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sat, 13 Jan 2024 12:09:57 +0000 Subject: [PATCH 2/4] libxslt: build shared libraries do not build as static. align build with libxml2. the outcome is a reduction of ~1MB of diskspace for the /usr/bin/xml application which uses libxslt. --- packages/textproc/libxslt/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/textproc/libxslt/package.mk b/packages/textproc/libxslt/package.mk index 880eede791..7c7f3d5d9f 100644 --- a/packages/textproc/libxslt/package.mk +++ b/packages/textproc/libxslt/package.mk @@ -13,7 +13,7 @@ PKG_DEPENDS_TARGET="toolchain libxml2" PKG_LONGDESC="A XSLT C library." PKG_BUILD_FLAGS="+pic" -PKG_CMAKE_OPTS_ALL="-DBUILD_SHARED_LIBS=OFF \ +PKG_CMAKE_OPTS_ALL="-DBUILD_SHARED_LIBS=ON \ -DLIBXSLT_WITH_DEBUGGER=ON \ -DLIBXSLT_WITH_CRYPTO=OFF \ -DLIBXSLT_WITH_MEM_DEBUG=OFF \ From 34dd53f77ddf5605041274601e6ab8b2fa312d46 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sat, 13 Jan 2024 11:24:18 +0000 Subject: [PATCH 3/4] libxml2: migrate to cmake --- packages/textproc/libxml2/package.mk | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/packages/textproc/libxml2/package.mk b/packages/textproc/libxml2/package.mk index 904740982d..3a22c0e994 100644 --- a/packages/textproc/libxml2/package.mk +++ b/packages/textproc/libxml2/package.mk @@ -8,26 +8,19 @@ PKG_SHA256="5c3dbade38b64d7fecf628b92b3485868d21516a4a86465294e5919e6aa309a4" PKG_LICENSE="MIT" PKG_SITE="http://xmlsoft.org" PKG_URL="https://gitlab.gnome.org/GNOME/${PKG_NAME}/-/archive/v${PKG_VERSION}/${PKG_NAME}-v${PKG_VERSION}.tar.bz2" -PKG_DEPENDS_HOST="zlib:host Python3:host" +PKG_DEPENDS_HOST="zlib:host ninja:host Python3:host" PKG_DEPENDS_TARGET="toolchain zlib" PKG_LONGDESC="The libxml package contains an XML library, which allows you to manipulate XML files." -PKG_TOOLCHAIN="autotools" -PKG_CONFIGURE_OPTS_ALL="ac_cv_header_ansidecl_h=no \ - --enable-static \ - --enable-shared \ - --disable-silent-rules \ - --enable-ipv6 \ - --without-lzma" +PKG_CMAKE_OPTS_ALL="-DBUILD_SHARED_LIBS=ON \ + -DLIBXML2_WITH_LZMA=OFF \ + -DLIBXML2_WITH_TESTS=OFF" -PKG_CONFIGURE_OPTS_HOST="${PKG_CONFIGURE_OPTS_ALL} \ - --with-zlib=${TOOLCHAIN} \ - --with-python" +PKG_CMAKE_OPTS_HOST="${PKG_CMAKE_OPTS_ALL} \ + -DLIBXML2_WITH_PYTHON=ON" -PKG_CONFIGURE_OPTS_TARGET="${PKG_CONFIGURE_OPTS_ALL} \ - --with-zlib=${SYSROOT_PREFIX}/usr \ - --without-python \ - --with-sysroot=${SYSROOT_PREFIX}" +PKG_CMAKE_OPTS_TARGET="${PKG_CMAKE_OPTS_ALL} \ + -DLIBXML2_WITH_PYTHON=OFF" post_makeinstall_target() { sed -e "s:\(['= ]\)/usr:\\1${SYSROOT_PREFIX}/usr:g" -i ${SYSROOT_PREFIX}/usr/bin/xml2-config From 10d1cb99159df36e936061c2b1bf3aef0be15690 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Sat, 13 Jan 2024 12:09:14 +0000 Subject: [PATCH 4/4] xmlstarlet: use shared libraries reduce size of /usr/bin/xml by ~1MB and simplify build before: $ ldd /usr/bin/xml linux-vdso.so.1 (0x00007ffc675ac000) libz.so.1 => /usr/lib/libz.so.1 (0x00007f54f0620000) libm.so.6 => /usr/lib/libm.so.6 (0x00007f54f0546000) libc.so.6 => /usr/lib/libc.so.6 (0x00007f54f0386000) /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f54f063b000) $ ls -la /usr/bin/xml* -rwxr-xr-x 1 root root 1483728 Jan 6 04:27 /usr/bin/xml lrwxrwxrwx 1 root root 3 Jan 6 04:27 /usr/bin/xmlstarlet -> xml after: $ ldd /usr/bin/xml linux-vdso.so.1 (0x00007ffea1d78000) libexslt.so.0 => /usr/lib/libexslt.so.0 (0x00007efdcdbeb000) libxslt.so.1 => /usr/lib/libxslt.so.1 (0x00007efdcdba9000) libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007efdcda4c000) libc.so.6 => /usr/lib/libc.so.6 (0x00007efdcd88c000) libm.so.6 => /usr/lib/libm.so.6 (0x00007efdcd7b2000) libz.so.1 => /usr/lib/libz.so.1 (0x00007efdcd799000) /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007efdcdc02000) $ ls -la /usr/bin/xml* -rwxr-xr-x 1 root root 85736 Jan 13 12:30 /usr/bin/xml lrwxrwxrwx 1 root root 3 Jan 13 12:30 /usr/bin/xmlstarlet -> xml $ ls -la /usr/lib/*xslt* lrwxrwxrwx 1 root root 13 Jan 13 12:28 /usr/lib/libexslt.so -> libexslt.so.0 lrwxrwxrwx 1 root root 18 Jan 13 12:28 /usr/lib/libexslt.so.0 -> libexslt.so.0.8.21 -rw-r--r-- 1 root root 81096 Jan 13 12:28 /usr/lib/libexslt.so.0.8.21 lrwxrwxrwx 1 root root 12 Jan 13 12:28 /usr/lib/libxslt.so -> libxslt.so.1 lrwxrwxrwx 1 root root 17 Jan 13 12:28 /usr/lib/libxslt.so.1 -> libxslt.so.1.1.39 -rw-r--r-- 1 root root 263272 Jan 13 12:28 /usr/lib/libxslt.so.1.1.39 --- packages/textproc/xmlstarlet/package.mk | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/textproc/xmlstarlet/package.mk b/packages/textproc/xmlstarlet/package.mk index 09311c05ff..59c859cdac 100644 --- a/packages/textproc/xmlstarlet/package.mk +++ b/packages/textproc/xmlstarlet/package.mk @@ -13,7 +13,6 @@ PKG_LONGDESC="XMLStarlet is a command-line XML utility which allows the modifica PKG_CONFIGURE_OPTS_HOST=" ac_cv_func_malloc_0_nonnull=yes \ ac_cv_func_realloc_0_nonnull=yes \ - --enable-static-libs \ LIBXML_CONFIG=${TOOLCHAIN}/bin/xml2-config \ LIBXSLT_CONFIG=${TOOLCHAIN}/bin/xslt-config \ --with-libxml-include-prefix=${TOOLCHAIN}/include/libxml2 \ @@ -23,7 +22,6 @@ PKG_CONFIGURE_OPTS_HOST=" ac_cv_func_malloc_0_nonnull=yes \ PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_malloc_0_nonnull=yes \ ac_cv_func_realloc_0_nonnull=yes \ - --enable-static-libs \ LIBXML_CONFIG=${SYSROOT_PREFIX}/usr/bin/xml2-config \ LIBXSLT_CONFIG=${SYSROOT_PREFIX}/usr/bin/xslt-config \ --with-libxml-include-prefix=${SYSROOT_PREFIX}/usr/include/libxml2 \