Skip to content

Commit

Permalink
librsvg: Update to 2.58.93
Browse files Browse the repository at this point in the history
  • Loading branch information
lazka committed Aug 18, 2024
1 parent e23ede0 commit 71972d3
Show file tree
Hide file tree
Showing 4 changed files with 103 additions and 69 deletions.

This file was deleted.

20 changes: 20 additions & 0 deletions mingw-w64-librsvg/0002-avoid-link-whole.patch
Original file line number Diff line number Diff line change
@@ -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],
)
Original file line number Diff line number Diff line change
@@ -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
87 changes: 50 additions & 37 deletions mingw-w64-librsvg/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -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')
Expand All @@ -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")
Expand All @@ -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
Expand Down

0 comments on commit 71972d3

Please sign in to comment.