From 71972d3e8ddf93eccc1ad1089d29d0322eb4b0cc Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 18 Aug 2024 12:37:09 +0200 Subject: [PATCH] librsvg: Update to 2.58.93 --- ...ss-prefix-to-pkg-config-when-retriev.patch | 32 ------- mingw-w64-librsvg/0002-avoid-link-whole.patch | 20 +++++ ...ader-fix-install-prefix-and-dll-name.patch | 33 +++++++ mingw-w64-librsvg/PKGBUILD | 87 +++++++++++-------- 4 files changed, 103 insertions(+), 69 deletions(-) delete mode 100644 mingw-w64-librsvg/0001-configure-set-pass-prefix-to-pkg-config-when-retriev.patch create mode 100644 mingw-w64-librsvg/0002-avoid-link-whole.patch create mode 100644 mingw-w64-librsvg/0003-pixbuf-loader-fix-install-prefix-and-dll-name.patch diff --git a/mingw-w64-librsvg/0001-configure-set-pass-prefix-to-pkg-config-when-retriev.patch b/mingw-w64-librsvg/0001-configure-set-pass-prefix-to-pkg-config-when-retriev.patch deleted file mode 100644 index 2cd06dfdd3713..0000000000000 --- a/mingw-w64-librsvg/0001-configure-set-pass-prefix-to-pkg-config-when-retriev.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f539faa31f32b240ad414cfb566bb343be148508 Mon Sep 17 00:00:00 2001 -From: Christoph Reiter -Date: Sat, 18 Dec 2021 13:25:40 +0100 -Subject: [PATCH] configure: set pass prefix to pkg-config when retrieving - paths - -Otherwise we get back paths for the installed prefix and not the one -we want to install to. ---- - configure.ac | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index d06baf3b..20267fd9 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -193,9 +193,9 @@ AS_IF([test "x$enable_pixbuf_loader" = "xyes"], [ - - # First try the standalone gdk-pixbuf - gdk_pixbuf_binary_version="`$PKG_CONFIG --variable=gdk_pixbuf_binary_version gdk-pixbuf-2.0`" -- gdk_pixbuf_binarydir="`$PKG_CONFIG --variable=gdk_pixbuf_binarydir gdk-pixbuf-2.0`" -- gdk_pixbuf_moduledir=`$PKG_CONFIG --variable gdk_pixbuf_moduledir gdk-pixbuf-2.0` -- gdk_pixbuf_cache_file=`$PKG_CONFIG --variable gdk_pixbuf_cache_file gdk-pixbuf-2.0` -+ gdk_pixbuf_binarydir="`$PKG_CONFIG "--define-variable=prefix=$prefix" --variable=gdk_pixbuf_binarydir gdk-pixbuf-2.0`" -+ gdk_pixbuf_moduledir="`$PKG_CONFIG "--define-variable=prefix=$prefix" --variable gdk_pixbuf_moduledir gdk-pixbuf-2.0`" -+ gdk_pixbuf_cache_file="`$PKG_CONFIG "--define-variable=prefix=$prefix" --variable gdk_pixbuf_cache_file gdk-pixbuf-2.0`" - ]) - - AC_SUBST([gdk_pixbuf_binary_version]) --- -2.34.1 - diff --git a/mingw-w64-librsvg/0002-avoid-link-whole.patch b/mingw-w64-librsvg/0002-avoid-link-whole.patch new file mode 100644 index 0000000000000..6608ca38e864b --- /dev/null +++ b/mingw-w64-librsvg/0002-avoid-link-whole.patch @@ -0,0 +1,20 @@ +--- librsvg-2.58.93/rsvg/meson.build.orig 2024-08-02 02:33:14.000000000 +0200 ++++ librsvg-2.58.93/rsvg/meson.build 2024-08-18 12:47:12.661963600 +0200 +@@ -228,7 +228,7 @@ + librsvg_shared_lib = shared_library( + rsvg_ver, + rsvg_dummy, +- link_whole: librsvg_c_lib, ++ link_with: librsvg_c_lib, + link_args: link_args, + link_depends: librsvg_ver, + dependencies: library_dependencies, +@@ -342,7 +342,7 @@ + librsvg_gir = shared_library( + 'rsvg-gir', + rsvg_dummy, +- link_whole: librsvg_c_lib, ++ link_with: librsvg_c_lib, + dependencies: library_dependencies, + include_directories: [includeinc], + ) diff --git a/mingw-w64-librsvg/0003-pixbuf-loader-fix-install-prefix-and-dll-name.patch b/mingw-w64-librsvg/0003-pixbuf-loader-fix-install-prefix-and-dll-name.patch new file mode 100644 index 0000000000000..50e696e4e05fd --- /dev/null +++ b/mingw-w64-librsvg/0003-pixbuf-loader-fix-install-prefix-and-dll-name.patch @@ -0,0 +1,33 @@ +--- librsvg-2.58.93/gdk-pixbuf-loader/meson.build.orig 2024-08-18 13:11:26.977026200 +0200 ++++ librsvg-2.58.93/gdk-pixbuf-loader/meson.build 2024-08-18 13:09:58.651744700 +0200 +@@ -3,13 +3,15 @@ + 'src/lib.rs', + ) + ++prefix = get_option('prefix') ++ + pixbufloader = custom_target( + 'pixbufloader-svg', + build_by_default: true, +- output: ['@0@pixbufloader_svg.@1@'.format(lib_prefix, ext_dynamic)], ++ output: ['pixbufloader_svg.@0@'.format(ext_dynamic)], + console: true, + install: true, +- install_dir: pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_moduledir'), ++ install_dir: pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_moduledir', pkgconfig_define: ['prefix', prefix]), + depends: librsvg_rust_dep, + depend_files: pixbufloader_sources, + env: extra_env, +@@ -38,9 +40,9 @@ + + pixbufloader_svg_install_args = [ + '--gdk-pixbuf-moduledir', +- pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_moduledir'), +- pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_query_loaders'), +- pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_cache_file') ++ pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_moduledir', pkgconfig_define: ['prefix', prefix]), ++ pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_query_loaders', pkgconfig_define: ['prefix', prefix]), ++ pixbuf_dep.get_variable(pkgconfig: 'gdk_pixbuf_cache_file', pkgconfig_define: ['prefix', prefix]) + ] + + # Tell people to run gdk-pixbuf-query-loaders manually for cross builds diff --git a/mingw-w64-librsvg/PKGBUILD b/mingw-w64-librsvg/PKGBUILD index 2582b1bf2bf9f..8fd64c52de659 100644 --- a/mingw-w64-librsvg/PKGBUILD +++ b/mingw-w64-librsvg/PKGBUILD @@ -4,7 +4,7 @@ _realname=librsvg pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-${_realname}-docs") -pkgver=2.58.0 +pkgver=2.58.93 pkgrel=1 pkgdesc="SVG rendering library (mingw-w64)" arch=('any') @@ -14,10 +14,12 @@ msys2_references=( "cpe: cpe:/a:gnome:librsvg" ) license=("spdx:LGPL-2.1-or-later") -makedepends=("${MINGW_PACKAGE_PREFIX}-autotools" +makedepends=("${MINGW_PACKAGE_PREFIX}-meson" + "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-gobject-introspection" "${MINGW_PACKAGE_PREFIX}-vala" "${MINGW_PACKAGE_PREFIX}-rust" + "${MINGW_PACKAGE_PREFIX}-cargo-c" "${MINGW_PACKAGE_PREFIX}-gi-docgen" "${MINGW_PACKAGE_PREFIX}-python-docutils" "${MINGW_PACKAGE_PREFIX}-cc") @@ -28,66 +30,77 @@ depends=("${MINGW_PACKAGE_PREFIX}-gdk-pixbuf2" optdepends=("${MINGW_PACKAGE_PREFIX}-gtk3: for rsvg-view-3") options=('staticlibs' 'strip') source=("https://download.gnome.org/sources/librsvg/${pkgver%.*}/${_realname}-${pkgver}.tar.xz" - "0001-configure-set-pass-prefix-to-pkg-config-when-retriev.patch" - "glib-0.19.3.tar.gz::https://crates.io/api/v1/crates/glib/0.19.3/download" - "glib-rs.patch") -sha256sums=('d7c444a926406b59790be0deae196e18ed26059da573fa1aa9ec9ca7658a559c' - '189eec6486c9ef6cf1071af9750405bc41e16ae3a55ad663435e574369fec915' - '01e191cc1af1f35b9699213107068cd3fe05d9816275ac118dc785a0dd8faebf' - 'e0f5accba0ff47d9cdf79f506ea76ea0b373edaf6845a23180a00c15e0a8691d') + "glib-0.20.0.tar.gz::https://crates.io/api/v1/crates/glib/0.20.0/download" + "glib-rs.patch" + "0002-avoid-link-whole.patch" + "0003-pixbuf-loader-fix-install-prefix-and-dll-name.patch") +sha256sums=('f116eaf8196fc8261b0bbbdf996a4fe1bc97dc25664f953b328194d049a0dada' + 'fee90a615ce05be7a32932cfb8adf2c4bbb4700e80d37713c981fb24c0c56238' + 'e0f5accba0ff47d9cdf79f506ea76ea0b373edaf6845a23180a00c15e0a8691d' + '4cb597eef01a636ad7007b3a47b76e395f30b2347183b5acb1af94d39577a239' + '7720b53a4eba7663677a799c5edfd7c395ac6416a089e2946d61ac10c819f8ee') msys2_repository_url="https://gitlab.gnome.org/GNOME/librsvg" +noextract=("${_realname}-${pkgver}.tar.xz") prepare() { + bsdtar -xf "${_realname}-${pkgver}.tar.xz" 2>/dev/null || true + # Patch bug in glib rust bindings # See: https://github.com/gtk-rs/gtk-rs-core/pull/1199 # Version of glib-rs should match what is in librsvg Cargo.lock - cd "${srcdir}/glib-0.19.3" + cd "${srcdir}/glib-0.20.0" patch -p1 -i "${srcdir}/glib-rs.patch" cd "${srcdir}/${_realname}-${pkgver}" - patch -p1 -i "${srcdir}/0001-configure-set-pass-prefix-to-pkg-config-when-retriev.patch" + + # https://github.com/msys2/MINGW-packages/issues/21017 + patch -p1 -i "${srcdir}/0002-avoid-link-whole.patch" + # it's not taking the install prefix into account + patch -p1 -i "${srcdir}/0003-pixbuf-loader-fix-install-prefix-and-dll-name.patch" echo "" >> Cargo.toml echo "[patch.crates-io]" >> Cargo.toml - echo "glib = { path = '../glib-0.19.3' }" >> Cargo.toml + echo "glib = { path = '../glib-0.20.0' }" >> Cargo.toml cargo update --package glib cargo fetch --locked - - autoreconf -fiv } build() { - [[ -d "${srcdir}/build-${MSYSTEM}" ]] && rm -rf "${srcdir}/build-${MSYSTEM}" - mkdir "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" - - # html documentation doesn't install from out of tree - cp -rf "${srcdir}/${_realname}-${pkgver}/doc" "${srcdir}/build-${MSYSTEM}/doc" - # https://github.com/msys2/MINGW-packages/pull/13622#issuecomment-1285820970 export WINAPI_NO_BUNDLED_LIBRARIES=1 - export lt_cv_deplibs_check_method='pass_all' - - # an argument passed to glib-mkenums starts with a c++ comment - export MSYS2_ARG_CONV_EXCL="/*" - # so the unix path gets preserved when passed through pkg-config - MSYS2_ARG_CONV_EXCL="$MSYS2_ARG_CONV_EXCL;--define-variable=prefix" - - ../${_realname}-${pkgver}/configure \ - --prefix=${MINGW_PREFIX} \ - --build=${MINGW_CHOST} \ - --host=${MINGW_CHOST} \ - --enable-introspection \ - --enable-vala \ - --enable-silent-rules - - make + MSYS2_ARG_CONV_EXCL="--prefix=" \ + meson setup \ + --prefix="${MINGW_PREFIX}" \ + --wrap-mode=nodownload \ + --auto-features=enabled \ + --default-library=static \ + --buildtype=plain \ + -Dintrospection=disabled \ + "build-${MSYSTEM}-static" \ + "${_realname}-${pkgver}" + + meson compile -C "build-${MSYSTEM}-static" + + MSYS2_ARG_CONV_EXCL="--prefix=" \ + meson setup \ + --prefix="${MINGW_PREFIX}" \ + --wrap-mode=nodownload \ + --auto-features=enabled \ + --buildtype=plain \ + "build-${MSYSTEM}" \ + "${_realname}-${pkgver}" + + meson compile -C "build-${MSYSTEM}" } package_librsvg() { conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}-2.40") replaces=("${MINGW_PACKAGE_PREFIX}-${_realname}-2.40") - make -C "${srcdir}/build-${MSYSTEM}" DESTDIR="${pkgdir}" install + + meson install -C "build-${MSYSTEM}-static" --destdir "${pkgdir}" + meson install -C "build-${MSYSTEM}" --destdir "${pkgdir}" + install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING.LIB" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING.LIB" mkdir -p dest${MINGW_PREFIX}/share