diff options
-rw-r--r-- | meta/conf/distro/include/ptest-packagelists.inc | 1 | ||||
-rw-r--r-- | meta/recipes-gnome/librsvg/librsvg/run-ptest | 17 | ||||
-rw-r--r-- | meta/recipes-gnome/librsvg/librsvg_2.61.0.bb | 32 |
3 files changed, 47 insertions, 3 deletions
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc index 9a7b25a916..e6e725bd25 100644 --- a/meta/conf/distro/include/ptest-packagelists.inc +++ b/meta/conf/distro/include/ptest-packagelists.inc | |||
@@ -32,6 +32,7 @@ PTESTS_FAST = "\ | |||
32 | libgpg-error\ | 32 | libgpg-error\ |
33 | libnl \ | 33 | libnl \ |
34 | libpcre \ | 34 | libpcre \ |
35 | librsvg \ | ||
35 | libssh2 \ | 36 | libssh2 \ |
36 | libtest-fatal-perl \ | 37 | libtest-fatal-perl \ |
37 | libtest-needs-perl \ | 38 | libtest-needs-perl \ |
diff --git a/meta/recipes-gnome/librsvg/librsvg/run-ptest b/meta/recipes-gnome/librsvg/librsvg/run-ptest new file mode 100644 index 0000000000..da1c65f1a6 --- /dev/null +++ b/meta/recipes-gnome/librsvg/librsvg/run-ptest | |||
@@ -0,0 +1,17 @@ | |||
1 | #!/bin/sh | ||
2 | export CARGO_MANIFEST_DIR="$(cd "$(dirname "$0")" && pwd)" | ||
3 | cd $CARGO_MANIFEST_DIR | ||
4 | |||
5 | ln -sf `which rsvg-convert` ./rsvg-convert | ||
6 | |||
7 | ./api_test/bin/api | ||
8 | |||
9 | if [ $? = 0 ]; then | ||
10 | echo PASS: /usr/lib/librsvg/ptest/api_test/bin/api | ||
11 | rc=0 | ||
12 | else | ||
13 | echo FAIL: /usr/lib/librsvg/ptest/api_test/bin/api | ||
14 | rc=1 | ||
15 | fi | ||
16 | |||
17 | # rust tests are appended here by ptest-cargo class | ||
diff --git a/meta/recipes-gnome/librsvg/librsvg_2.61.0.bb b/meta/recipes-gnome/librsvg/librsvg_2.61.0.bb index dda51abab5..de1853c6d8 100644 --- a/meta/recipes-gnome/librsvg/librsvg_2.61.0.bb +++ b/meta/recipes-gnome/librsvg/librsvg_2.61.0.bb | |||
@@ -11,9 +11,10 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" | |||
11 | 11 | ||
12 | SECTION = "x11/utils" | 12 | SECTION = "x11/utils" |
13 | DEPENDS = "cairo gdk-pixbuf glib-2.0 libxml2 pango python3-docutils-native cargo-c-native" | 13 | DEPENDS = "cairo gdk-pixbuf glib-2.0 libxml2 pango python3-docutils-native cargo-c-native" |
14 | RDEPENDS:${PN}-ptest += "rsvg liberation-fonts" | ||
14 | BBCLASSEXTEND = "native nativesdk" | 15 | BBCLASSEXTEND = "native nativesdk" |
15 | 16 | ||
16 | inherit cargo_common gnomebase pixbufcache gobject-introspection rust vala gi-docgen cargo-update-recipe-crates | 17 | inherit cargo_common gnomebase pixbufcache gobject-introspection rust vala gi-docgen cargo-update-recipe-crates ptest-cargo |
17 | GIR_MESON_ENABLE_FLAG = 'enabled' | 18 | GIR_MESON_ENABLE_FLAG = 'enabled' |
18 | GIR_MESON_DISABLE_FLAG = 'disabled' | 19 | GIR_MESON_DISABLE_FLAG = 'disabled' |
19 | GIDOCGEN_MESON_OPTION = 'docs' | 20 | GIDOCGEN_MESON_OPTION = 'docs' |
@@ -23,7 +24,8 @@ GIDOCGEN_MESON_DISABLE_FLAG = 'disabled' | |||
23 | require ${BPN}-crates.inc | 24 | require ${BPN}-crates.inc |
24 | 25 | ||
25 | SRC_URI += "file://0001-query-rustc-append-RUSTFLAGS-to-rustc-executable.patch \ | 26 | SRC_URI += "file://0001-query-rustc-append-RUSTFLAGS-to-rustc-executable.patch \ |
26 | file://0001-Revert-meson.build-do-not-force-disable-gdk-pixbuf-l.patch" | 27 | file://0001-Revert-meson.build-do-not-force-disable-gdk-pixbuf-l.patch \ |
28 | file://run-ptest" | ||
27 | SRC_URI[archive.sha256sum] = "dbd0db40a1179a382fbb8cc930837671b973d722ba106a3dee2aad0fd858e2c4" | 29 | SRC_URI[archive.sha256sum] = "dbd0db40a1179a382fbb8cc930837671b973d722ba106a3dee2aad0fd858e2c4" |
28 | 30 | ||
29 | UPSTREAM_CHECK_REGEX = "librsvg-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" | 31 | UPSTREAM_CHECK_REGEX = "librsvg-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" |
@@ -58,17 +60,41 @@ LDFLAGS += " -L${B}/rsvg" | |||
58 | # needed on ubuntu 20.04/debian 11 to avoid 'undefined reference to `dlsym'' errors | 60 | # needed on ubuntu 20.04/debian 11 to avoid 'undefined reference to `dlsym'' errors |
59 | BUILD_LDFLAGS += " -ldl" | 61 | BUILD_LDFLAGS += " -ldl" |
60 | 62 | ||
61 | PACKAGECONFIG ??= "gdkpixbuf" | 63 | PACKAGECONFIG ??= "gdkpixbuf ${@bb.utils.contains('PTEST_ENABLED', '1', 'apitest', '', d)}" |
62 | PACKAGECONFIG:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vala', '', d)}" | 64 | PACKAGECONFIG:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vala', '', d)}" |
63 | # The gdk-pixbuf loader | 65 | # The gdk-pixbuf loader |
64 | PACKAGECONFIG[gdkpixbuf] = "-Dpixbuf-loader=enabled,-Dpixbuf-loader=disabled,gdk-pixbuf-native" | 66 | PACKAGECONFIG[gdkpixbuf] = "-Dpixbuf-loader=enabled,-Dpixbuf-loader=disabled,gdk-pixbuf-native" |
65 | PACKAGECONFIG[vala] = "-Dvala=enabled,-Dvala=disabled" | 67 | PACKAGECONFIG[vala] = "-Dvala=enabled,-Dvala=disabled" |
68 | PACKAGECONFIG[apitest] = "-Dtests=true,-Dtests=false" | ||
66 | 69 | ||
67 | do_install:append() { | 70 | do_install:append() { |
68 | # Loadable modules don't need .a or .la on Linux | 71 | # 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 | 72 | rm -f ${D}${libdir}/gdk-pixbuf-2.0/*/loaders/*.a ${D}${libdir}/gdk-pixbuf-2.0/*/loaders/*.la |
70 | } | 73 | } |
71 | 74 | ||
75 | do_compile_ptest_cargo:prepend() { | ||
76 | # The packageconfig is for meson, but the rust tests are compiled directly with cargo, | ||
77 | # so these arguments don't apply. Note that this is Python, the intendation is intentional. | ||
78 | d.setVar('PACKAGECONFIG_CONFARGS', '') | ||
79 | } | ||
80 | |||
81 | do_compile_ptest:prepend() { | ||
82 | # rsvg-convert is the tested binary, which shouldn't be executed as a test. | ||
83 | # Beside this, it is not bit-identical to the actual rsvg-convert binary, so | ||
84 | # remove it from this list, as create a symlink to the real thing from run-ptest script | ||
85 | sed -i '/rsvg-convert$/d' ${CARGO_TEST_BINARIES_FILES} | ||
86 | } | ||
87 | |||
88 | do_install_ptest:append() { | ||
89 | install -d ${D}${PTEST_PATH}/api_test/bin | ||
90 | cp -r ${S}/rsvg/tests ${D}${PTEST_PATH} | ||
91 | cp -r ${S}/rsvg_convert/tests ${D}${PTEST_PATH} | ||
92 | install ${B}/librsvg-c/tests-c/api ${D}${PTEST_PATH}/api_test/bin | ||
93 | # the api tests look for the required files in rsvg folder, so simulate it | ||
94 | # with a symlink that points to the current folder | ||
95 | ln -s . ${D}${PTEST_PATH}/rsvg | ||
96 | } | ||
97 | |||
72 | PACKAGES =+ "librsvg-gtk rsvg" | 98 | PACKAGES =+ "librsvg-gtk rsvg" |
73 | FILES:rsvg = "${bindir}/rsvg* \ | 99 | FILES:rsvg = "${bindir}/rsvg* \ |
74 | ${datadir}/pixmaps/svg-viewer.svg \ | 100 | ${datadir}/pixmaps/svg-viewer.svg \ |