[arch-commits] Commit in appstream/repos/extra-x86_64 (5 files)
Jan Steffens
heftig at gemini.archlinux.org
Fri Jan 7 19:03:45 UTC 2022
Date: Friday, January 7, 2022 @ 19:03:45
Author: heftig
Revision: 433822
archrelease: copy trunk to extra-x86_64
Added:
appstream/repos/extra-x86_64/0001-compose-Fix-SVG-scaling-with-librsvg-2.52.patch
(from rev 433821, appstream/trunk/0001-compose-Fix-SVG-scaling-with-librsvg-2.52.patch)
appstream/repos/extra-x86_64/PKGBUILD
(from rev 433821, appstream/trunk/PKGBUILD)
appstream/repos/extra-x86_64/update-appstream-cache.hook
(from rev 433821, appstream/trunk/update-appstream-cache.hook)
Deleted:
appstream/repos/extra-x86_64/PKGBUILD
appstream/repos/extra-x86_64/update-appstream-cache.hook
------------------------------------------------------+
0001-compose-Fix-SVG-scaling-with-librsvg-2.52.patch | 105 ++++++++++++++++
PKGBUILD | 107 +++++++++--------
update-appstream-cache.hook | 34 ++---
3 files changed, 180 insertions(+), 66 deletions(-)
Copied: appstream/repos/extra-x86_64/0001-compose-Fix-SVG-scaling-with-librsvg-2.52.patch (from rev 433821, appstream/trunk/0001-compose-Fix-SVG-scaling-with-librsvg-2.52.patch)
===================================================================
--- 0001-compose-Fix-SVG-scaling-with-librsvg-2.52.patch (rev 0)
+++ 0001-compose-Fix-SVG-scaling-with-librsvg-2.52.patch 2022-01-07 19:03:45 UTC (rev 433822)
@@ -0,0 +1,105 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Fri, 7 Jan 2022 18:35:12 +0000
+Subject: [PATCH] compose: Fix SVG scaling with librsvg 2.52
+
+We should only scale the canvas in the legacy path, since the viewport
+already takes care of scaling.
+
+Also, while we're here:
+
+- We should `cairo_save` before scaling, so that on error the
+ `cairo_restore` doesn't leave the canvas in the scaled state.
+- The SVG size is only used in the legacy path.
+- We don't inspect the error so no need to have `tmp_error`.
+
+Fixes: https://github.com/ximion/appstream/issues/375
+---
+ compose/asc-canvas.c | 36 ++++++++++--------------------------
+ 1 file changed, 10 insertions(+), 26 deletions(-)
+
+diff --git a/compose/asc-canvas.c b/compose/asc-canvas.c
+index 609b404fa548..bce396bb5369 100644
+--- a/compose/asc-canvas.c
++++ b/compose/asc-canvas.c
+@@ -156,70 +156,54 @@ asc_canvas_render_svg (AscCanvas *canvas, GInputStream *stream, GError **error)
+ RsvgHandle *handle = NULL;
+ gboolean ret = FALSE;
+ gdouble srf_width, srf_height;
+- gdouble svg_width, svg_height;
+ #if LIBRSVG_CHECK_VERSION(2, 52, 0)
+ RsvgRectangle viewport;
+- GError *tmp_error = NULL;
+ #else
+ RsvgDimensionData dims;
+ #endif
+
+ /* NOTE: unfortunately, Cairo/RSvg may use Fontconfig internally, so
+ * we need to lock this down since a parallel-processed font
+ * might need to access this too. */
+ g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&fontconfig_mutex);
+
+ handle = rsvg_handle_new_from_stream_sync (stream,
+ NULL,
+ RSVG_HANDLE_FLAGS_NONE,
+ NULL,
+ error);
+ if (handle == NULL)
+ goto out;
+ rsvg_handle_set_dpi (handle, 100);
+
+ srf_width = (gdouble) cairo_image_surface_get_width (priv->srf);
+ srf_height = (gdouble) cairo_image_surface_get_height (priv->srf);
+
+-#if LIBRSVG_CHECK_VERSION(2, 52, 0)
+- ret = rsvg_handle_get_intrinsic_size_in_pixels(handle, &svg_width, &svg_height);
+- if (!ret) {
+- /* we would need a viewport to get an intrinsic pixel size. Work around this issue
+- * by just scaling the SVG as high or low as we want to */
+- svg_width = srf_width;
+- svg_height = srf_height;
+- }
+-#else
+- rsvg_handle_get_dimensions (handle, &dims);
+- svg_width = dims.width;
+- svg_height = dims.height;
+-#endif
+-
+- /* cairo_translate (cr, (srf_width - svg_width) / 2, (srf_height - svg_height) / 2); */
+- cairo_scale (priv->cr,
+- srf_width / svg_width,
+- srf_height / svg_height);
+-
+ cairo_save (priv->cr);
+
+-
+ #if LIBRSVG_CHECK_VERSION(2, 52, 0)
+ viewport.x = 0;
+ viewport.y = 0;
+ viewport.width = srf_width;
+ viewport.height = srf_height;
++
+ ret = rsvg_handle_render_document (handle,
+ priv->cr,
+ &viewport,
+- &tmp_error);
++ error);
+ if (!ret) {
+ cairo_restore (priv->cr);
+- g_propagate_prefixed_error (error,
+- tmp_error,
+- "SVG graphic rendering failed:");
++ g_prefix_error (error, "SVG graphic rendering failed:");
+ goto out;
+ }
+ #else
++ rsvg_handle_get_dimensions (handle, &dims);
++
++ /* cairo_translate (cr, (srf_width - dims.width) / 2, (srf_height - dims.height) / 2); */
++ cairo_scale (priv->cr,
++ srf_width / dims.width,
++ srf_height / dims.height);
++
+ ret = rsvg_handle_render_cairo (handle, priv->cr);
+ if (!ret) {
+ cairo_restore (priv->cr);
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2022-01-07 19:03:36 UTC (rev 433821)
+++ PKGBUILD 2022-01-07 19:03:45 UTC (rev 433822)
@@ -1,49 +0,0 @@
-# Maintainer: Antonio Rojas <arojas at archlinux.org>
-# Contributor: Jameson Pugh <imntreal at gmail.com>
-# Contributor: Tim Jester-Pfadt <t.jp<at>gmx.de>
-
-pkgbase=appstream
-pkgname=(appstream appstream-qt)
-pkgver=0.15.1
-pkgrel=1
-pkgdesc='Provides a standard for creating app stores across distributions'
-arch=(x86_64)
-url='https://distributions.freedesktop.org/wiki/AppStream'
-license=(GPL)
-depends=(curl librsvg libyaml libxmlb libsoup)
-makedepends=(meson xmlto gobject-introspection gtk-doc qt5-tools itstool vala gperf)
-source=(https://www.freedesktop.org/software/appstream/releases/AppStream-$pkgver.tar.xz{,.asc}
- update-appstream-cache.hook)
-sha256sums=('8d71471c37fba769134d674000f3225645f6b5482ab2348b51542aa9ea8edf57'
- 'SKIP'
- '3a96a1479cfd18dad36c2ca3181aabe46af9bf772c00b965d86ec5f55cd0e0eb')
-validpgpkeys=(D33A3F0CA16B0ACC51A60738494C8A5FBF4DECEB) # Matthias Klumpp <matthias at tenstral.net>
-
-build() {
- meson build AppStream-$pkgver \
- --prefix=/usr \
- --libexecdir=lib \
- -Dqt=true \
- -Dvapi=true \
- -Dcompose=true
- meson compile -C build
-}
-
-package_appstream() {
- meson install --destdir "$pkgdir" -C build
-
-# provided by -qt subpackage
- rm -r "$pkgdir"/usr/{include/AppStreamQt,lib/cmake,lib/libAppStreamQt.*}
-
- install -Dm644 update-appstream-cache.hook "$pkgdir"/usr/share/libalpm/hooks/90-update-appstream-cache.hook
-}
-
-package_appstream-qt() {
- pkgdesc='Qt5 interface for AppStream'
- depends=(appstream qt5-base)
-
- meson install --destdir "$pkgdir" -C build
-
-# provided by appstream
- rm -r "$pkgdir"{/etc,/usr/{bin,include/appstream{,-compose},lib/{appstreamcli-compose,girepository-1.0,libappstream*,pkgconfig},share}}
-}
Copied: appstream/repos/extra-x86_64/PKGBUILD (from rev 433821, appstream/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2022-01-07 19:03:45 UTC (rev 433822)
@@ -0,0 +1,58 @@
+# Maintainer: Antonio Rojas <arojas at archlinux.org>
+# Contributor: Jameson Pugh <imntreal at gmail.com>
+# Contributor: Tim Jester-Pfadt <t.jp<at>gmx.de>
+
+pkgbase=appstream
+pkgname=(appstream appstream-qt)
+pkgver=0.15.1
+pkgrel=2
+pkgdesc='Provides a standard for creating app stores across distributions'
+arch=(x86_64)
+url='https://distributions.freedesktop.org/wiki/AppStream'
+license=(GPL)
+depends=(curl librsvg libyaml libxmlb libsoup)
+makedepends=(meson xmlto gobject-introspection gtk-doc qt5-tools itstool vala gperf)
+source=(https://www.freedesktop.org/software/appstream/releases/AppStream-$pkgver.tar.xz{,.asc}
+ 0001-compose-Fix-SVG-scaling-with-librsvg-2.52.patch
+ update-appstream-cache.hook)
+sha256sums=('8d71471c37fba769134d674000f3225645f6b5482ab2348b51542aa9ea8edf57'
+ 'SKIP'
+ '7800c61968961a8bf63b9b8abc8069395a7b784c12d9c7d7836709e69e67139e'
+ '3a96a1479cfd18dad36c2ca3181aabe46af9bf772c00b965d86ec5f55cd0e0eb')
+validpgpkeys=(D33A3F0CA16B0ACC51A60738494C8A5FBF4DECEB) # Matthias Klumpp <matthias at tenstral.net>
+
+prepare() {
+ cd AppStream-$pkgver
+
+ # https://github.com/ximion/appstream/pull/376
+ patch -Np1 -i ../0001-compose-Fix-SVG-scaling-with-librsvg-2.52.patch
+}
+
+build() {
+ meson build AppStream-$pkgver \
+ --prefix=/usr \
+ --libexecdir=lib \
+ -Dqt=true \
+ -Dvapi=true \
+ -Dcompose=true
+ meson compile -C build
+}
+
+package_appstream() {
+ meson install --destdir "$pkgdir" -C build
+
+# provided by -qt subpackage
+ rm -r "$pkgdir"/usr/{include/AppStreamQt,lib/cmake,lib/libAppStreamQt.*}
+
+ install -Dm644 update-appstream-cache.hook "$pkgdir"/usr/share/libalpm/hooks/90-update-appstream-cache.hook
+}
+
+package_appstream-qt() {
+ pkgdesc='Qt5 interface for AppStream'
+ depends=(appstream qt5-base)
+
+ meson install --destdir "$pkgdir" -C build
+
+# provided by appstream
+ rm -r "$pkgdir"{/etc,/usr/{bin,include/appstream{,-compose},lib/{appstreamcli-compose,girepository-1.0,libappstream*,pkgconfig},share}}
+}
Deleted: update-appstream-cache.hook
===================================================================
--- update-appstream-cache.hook 2022-01-07 19:03:36 UTC (rev 433821)
+++ update-appstream-cache.hook 2022-01-07 19:03:45 UTC (rev 433822)
@@ -1,17 +0,0 @@
-[Trigger]
-Type = Path
-Operation = Install
-Operation = Upgrade
-Operation = Remove
-Target = usr/share/app-info/*
-
-[Trigger]
-Type = Package
-Operation = Install
-Operation = Upgrade
-Target = appstream
-
-[Action]
-Description = Updating the appstream cache...
-When = PostTransaction
-Exec = /usr/bin/appstreamcli refresh-cache --force
Copied: appstream/repos/extra-x86_64/update-appstream-cache.hook (from rev 433821, appstream/trunk/update-appstream-cache.hook)
===================================================================
--- update-appstream-cache.hook (rev 0)
+++ update-appstream-cache.hook 2022-01-07 19:03:45 UTC (rev 433822)
@@ -0,0 +1,17 @@
+[Trigger]
+Type = Path
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/share/app-info/*
+
+[Trigger]
+Type = Package
+Operation = Install
+Operation = Upgrade
+Target = appstream
+
+[Action]
+Description = Updating the appstream cache...
+When = PostTransaction
+Exec = /usr/bin/appstreamcli refresh-cache --force
More information about the arch-commits
mailing list