summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/librsvg/librsvg_2.58.1.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-gnome/librsvg/librsvg_2.58.1.bb')
-rw-r--r--meta/recipes-gnome/librsvg/librsvg_2.58.1.bb80
1 files changed, 80 insertions, 0 deletions
diff --git a/meta/recipes-gnome/librsvg/librsvg_2.58.1.bb b/meta/recipes-gnome/librsvg/librsvg_2.58.1.bb
new file mode 100644
index 0000000000..206225414c
--- /dev/null
+++ b/meta/recipes-gnome/librsvg/librsvg_2.58.1.bb
@@ -0,0 +1,80 @@
1SUMMARY = "Library for rendering SVG files"
2DESCRIPTION = "A small library to render Scalable Vector Graphics (SVG), \
3associated with the GNOME Project. It renders SVG files to Cairo surfaces. \
4Cairo is the 2D, antialiased drawing library that GNOME uses to draw things to \
5the screen or to generate output for printing."
6HOMEPAGE = "https://gitlab.gnome.org/GNOME/librsvg"
7BUGTRACKER = "https://gitlab.gnome.org/GNOME/librsvg/issues"
8
9LICENSE = "LGPL-2.1-or-later"
10LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
11 "
12
13SECTION = "x11/utils"
14DEPENDS = "cairo gdk-pixbuf glib-2.0 libxml2 pango python3-docutils-native"
15BBCLASSEXTEND = "native nativesdk"
16
17GNOMEBASEBUILDCLASS = "autotools"
18inherit cargo_common gnomebase pixbufcache gobject-introspection rust vala gi-docgen cargo-update-recipe-crates
19
20require ${BPN}-crates.inc
21
22SRC_URI += " \
23 file://0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch \
24 file://disable-rsvg-loader-test.patch \
25 "
26
27SRC_URI[archive.sha256sum] = "3728596290a8576d305d06ec8afdf473516feee9dff22e03235eac433d56824e"
28
29UPSTREAM_CHECK_REGEX = "librsvg-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
30
31# librsvg is still autotools-based, but is calling cargo from its automake-driven makefiles
32# so we cannot use cargo class directly, but still need bits and pieces from it
33# for cargo to be happy
34BASEDEPENDS:append = " cargo-native"
35
36export RUST_BACKTRACE = "full"
37export RUSTFLAGS
38
39export RUST_TARGET = "${RUST_HOST_SYS}"
40
41RUSTFLAGS:append:mips = " --cfg crossbeam_no_atomic_64"
42RUSTFLAGS:append:mipsel = " --cfg crossbeam_no_atomic_64"
43RUSTFLAGS:append:powerpc = " --cfg crossbeam_no_atomic_64"
44
45do_configure[postfuncs] += "cargo_common_do_configure"
46
47inherit rust-target-config
48
49# rust-cross writes the target linker binary into target json definition without any flags.
50# This breaks here because the linker isn't going to work without at least knowing where
51# the sysroot is. So copy the json to workdir, and patch in the path to wrapper from rust class
52# which supplies the needed flags.
53do_compile:prepend() {
54 sed -ie 's,"linker": ".*","linker": "${RUST_TARGET_CC}",g' ${RUST_TARGETS_DIR}/${RUST_HOST_SYS}.json
55}
56
57CVE_STATUS[CVE-2018-1000041] = "not-applicable-platform: Issue only applies on Windows"
58
59CACHED_CONFIGUREVARS = "ac_cv_path_GDK_PIXBUF_QUERYLOADERS=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
60
61PACKAGECONFIG ??= "gdkpixbuf"
62PACKAGECONFIG:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vala', '', d)}"
63# The gdk-pixbuf loader
64PACKAGECONFIG[gdkpixbuf] = "--enable-pixbuf-loader,--disable-pixbuf-loader,gdk-pixbuf-native"
65PACKAGECONFIG[vala] = "--enable-vala,--disable-vala"
66
67do_install:append() {
68 # Loadable modules don't need .a or .la on Linux
69 rm -f ${D}${libdir}/gdk-pixbuf-2.0/*/loaders/*.a ${D}${libdir}/gdk-pixbuf-2.0/*/loaders/*.la
70}
71
72PACKAGES =+ "librsvg-gtk rsvg"
73FILES:rsvg = "${bindir}/rsvg* \
74 ${datadir}/pixmaps/svg-viewer.svg \
75 ${datadir}/themes"
76FILES:librsvg-gtk = "${libdir}/gdk-pixbuf-2.0/*/*/*.so \
77 ${datadir}/thumbnailers/librsvg.thumbnailer"
78RRECOMMENDS:librsvg-gtk = "gdk-pixbuf-bin"
79
80PIXBUF_PACKAGES = "librsvg-gtk"