From c7a4469accab3e8f8d53fcbfe464cf40c541d247 Mon Sep 17 00:00:00 2001 From: Wang Mingyu Date: Wed, 20 Aug 2025 16:39:23 +0800 Subject: graphviz: upgrade 13.1.1 -> 13.1.2 Changelog: ========== ### Changed - 'DFLT_GVPRPATH', a '$PATH'-like variable that gvpr uses to locate user-referenced files, is now computed at runtime instead of build time. This removes a barrier to relocating a Graphviz installation from one directory to another. - In the CMake build system, whether GDK-dependent components are built or not can now be controlled by the '-DWITH_GDK={AUTO|ON|OFF}' option. #2714 ### Fixed - Gvedit and Smyrna on MinGW can now correctly locate their supporting runtime data directories. - The gvpr options '-v' for printing verbose messages is documented. This has been supported since Graphviz 2.30 but undocumented. - When using the CMake build system, 'DFLT_GVPRPATH' is no longer incorrectly missing a ".:" prefix. - On macOS, processing graphs involving URLs with the Quartz plugin is once again possible. Previously this would crash. This was a regression in Graphviz 13.0.1. #2712 - In gvpr, updating a map or deleting items from the map no longer triggers a use-after-free. Signed-off-by: Wang Mingyu Signed-off-by: Khem Raj --- .../recipes-graphics/graphviz/graphviz_13.1.1.bb | 120 --------------------- .../recipes-graphics/graphviz/graphviz_13.1.2.bb | 120 +++++++++++++++++++++ 2 files changed, 120 insertions(+), 120 deletions(-) delete mode 100644 meta-oe/recipes-graphics/graphviz/graphviz_13.1.1.bb create mode 100644 meta-oe/recipes-graphics/graphviz/graphviz_13.1.2.bb diff --git a/meta-oe/recipes-graphics/graphviz/graphviz_13.1.1.bb b/meta-oe/recipes-graphics/graphviz/graphviz_13.1.1.bb deleted file mode 100644 index f385280f6d..0000000000 --- a/meta-oe/recipes-graphics/graphviz/graphviz_13.1.1.bb +++ /dev/null @@ -1,120 +0,0 @@ -SUMMARY = "Graph Visualization Tools" -HOMEPAGE = "http://www.graphviz.org" -LICENSE = "EPL-1.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=9109f5fc16cf963fb3cdd32781b3ce04" - -DEPENDS = " \ - bison-native \ - groff-native \ - libtool \ - gdk-pixbuf \ - cairo \ - pango \ - expat \ - freetype \ -" -DEPENDS:append:class-target = " ${BPN}-native" -DEPENDS:append:class-nativesdk = " ${BPN}-native" - -inherit autotools-brokensep pkgconfig gettext qemu - -SRC_URI = "https://gitlab.com/api/v4/projects/4207231/packages/generic/${BPN}-releases/${PV}/${BP}.tar.xz \ - " -SRC_URI:append:class-nativesdk = "\ - file://graphviz-setup.sh \ -" -SRC_URI[sha256sum] = "6c49d7dda4329f5a35ce70035d1ec6602dadae7a7077cd7efe43cb57f4bc8f22" - -UPSTREAM_CHECK_URI = "https://graphviz.org/download/" -UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)" - -PACKAGECONFIG ??= "librsvg" -PACKAGECONFIG[librsvg] = "--with-librsvg,--without-librsvg,librsvg" - -EXTRA_OECONF:append = " PS2PDF=/bin/echo --disable-man-pdfs" - -EXTRA_OECONF:class-target = "\ - --with-expatincludedir=${STAGING_INCDIR} \ - --with-expatlibdir=${STAGING_LIBDIR} \ - --without-included-ltdl \ - --disable-java \ - --disable-perl \ - --disable-tcl \ - --disable-r \ - --disable-sharp \ - " -EXTRA_OECONF:class-nativesdk = "\ - --with-expatincludedir=${STAGING_INCDIR} \ - --with-expatlibdir=${STAGING_LIBDIR} \ - --without-included-ltdl \ - --disable-java \ - --disable-tcl \ - --disable-r \ - --disable-sharp \ - " -EXTRA_OECONF:class-native = "\ - --disable-tcl \ - " -CFLAGS:append:class-target = " -D_typ_ssize_t=1 -D_long_double=1" -CFLAGS:append:class-nativesdk = " -D_typ_ssize_t=1 -D_long_double=1" -do_configure:prepend() { - cd ${S} - # create version.m4 and ignore libtoolize errors - ./autogen.sh NOCONFIG || true -} - -do_install:append:class-nativesdk() { - # graphviz-setup.sh must be executed at SDK installation - install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d - install -m 0755 ${UNPACKDIR}/graphviz-setup.sh ${D}${SDKPATHNATIVE}/post-relocate-setup.d -} -FILES:${PN}:class-nativesdk += "${SDKPATHNATIVE}" - -# create /usr/lib/graphviz/config6 -graphviz_sstate_postinst() { - mkdir -p ${SYSROOT_DESTDIR}${bindir} - dest=${SYSROOT_DESTDIR}${bindir}/postinst-${PN} - echo '#!/bin/sh' > $dest - echo '' >> $dest - echo 'dot -c' >> $dest - chmod 0755 $dest -} -SYSROOT_PREPROCESS_FUNCS:append:class-native = " graphviz_sstate_postinst" - -pkg_postinst:${PN} () { - if [ -n "$D" ]; then - if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then - ${@qemu_run_binary(d, '$D', '${bindir}/dot')} -c - fi - else - dot -c - fi -} - -pkg_postrm:${PN} () { - rm -f $D${libdir}/graphviz/config* - rmdir --ignore-fail-on-non-empty $D${libdir}/graphviz -} - -PACKAGE_WRITE_DEPS += "qemu-native" - -PACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo" - -FILES:${PN}-python += "${PYTHON_SITEPACKAGES_DIR}/ ${libdir}/graphviz/python/" -FILES:${PN}-perl += "${libdir}/perl5/*/vendor_perl/ ${libdir}/graphviz/perl/" -FILES:${PN}-demo += "${datadir}/graphviz/demo/" - -RDEPENDS:${PN}-perl += "perl" -RDEPENDS:${PN}-python += "python3" -RDEPENDS:${PN}-demo += "python3 perl" - -RRECOMMENDS:${PN} = "liberation-fonts" - -INSANE_SKIP:${PN}-perl = "dev-so" -INSANE_SKIP:${PN}-python = "dev-so" - -FILES_SOLIBSDEV:append = " ${libdir}/graphviz/lib*${SOLIBSDEV}" - -RRECOMMENDS:${PN} = "liberation-fonts" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-graphics/graphviz/graphviz_13.1.2.bb b/meta-oe/recipes-graphics/graphviz/graphviz_13.1.2.bb new file mode 100644 index 0000000000..8dc869d56b --- /dev/null +++ b/meta-oe/recipes-graphics/graphviz/graphviz_13.1.2.bb @@ -0,0 +1,120 @@ +SUMMARY = "Graph Visualization Tools" +HOMEPAGE = "http://www.graphviz.org" +LICENSE = "EPL-1.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=9109f5fc16cf963fb3cdd32781b3ce04" + +DEPENDS = " \ + bison-native \ + groff-native \ + libtool \ + gdk-pixbuf \ + cairo \ + pango \ + expat \ + freetype \ +" +DEPENDS:append:class-target = " ${BPN}-native" +DEPENDS:append:class-nativesdk = " ${BPN}-native" + +inherit autotools-brokensep pkgconfig gettext qemu + +SRC_URI = "https://gitlab.com/api/v4/projects/4207231/packages/generic/${BPN}-releases/${PV}/${BP}.tar.xz \ + " +SRC_URI:append:class-nativesdk = "\ + file://graphviz-setup.sh \ +" +SRC_URI[sha256sum] = "2229ae9265eb51967841fb43c150dd253f26f51ab5c854ce103f665aaf948b1e" + +UPSTREAM_CHECK_URI = "https://graphviz.org/download/" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)" + +PACKAGECONFIG ??= "librsvg" +PACKAGECONFIG[librsvg] = "--with-librsvg,--without-librsvg,librsvg" + +EXTRA_OECONF:append = " PS2PDF=/bin/echo --disable-man-pdfs" + +EXTRA_OECONF:class-target = "\ + --with-expatincludedir=${STAGING_INCDIR} \ + --with-expatlibdir=${STAGING_LIBDIR} \ + --without-included-ltdl \ + --disable-java \ + --disable-perl \ + --disable-tcl \ + --disable-r \ + --disable-sharp \ + " +EXTRA_OECONF:class-nativesdk = "\ + --with-expatincludedir=${STAGING_INCDIR} \ + --with-expatlibdir=${STAGING_LIBDIR} \ + --without-included-ltdl \ + --disable-java \ + --disable-tcl \ + --disable-r \ + --disable-sharp \ + " +EXTRA_OECONF:class-native = "\ + --disable-tcl \ + " +CFLAGS:append:class-target = " -D_typ_ssize_t=1 -D_long_double=1" +CFLAGS:append:class-nativesdk = " -D_typ_ssize_t=1 -D_long_double=1" +do_configure:prepend() { + cd ${S} + # create version.m4 and ignore libtoolize errors + ./autogen.sh NOCONFIG || true +} + +do_install:append:class-nativesdk() { + # graphviz-setup.sh must be executed at SDK installation + install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d + install -m 0755 ${UNPACKDIR}/graphviz-setup.sh ${D}${SDKPATHNATIVE}/post-relocate-setup.d +} +FILES:${PN}:class-nativesdk += "${SDKPATHNATIVE}" + +# create /usr/lib/graphviz/config6 +graphviz_sstate_postinst() { + mkdir -p ${SYSROOT_DESTDIR}${bindir} + dest=${SYSROOT_DESTDIR}${bindir}/postinst-${PN} + echo '#!/bin/sh' > $dest + echo '' >> $dest + echo 'dot -c' >> $dest + chmod 0755 $dest +} +SYSROOT_PREPROCESS_FUNCS:append:class-native = " graphviz_sstate_postinst" + +pkg_postinst:${PN} () { + if [ -n "$D" ]; then + if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then + ${@qemu_run_binary(d, '$D', '${bindir}/dot')} -c + fi + else + dot -c + fi +} + +pkg_postrm:${PN} () { + rm -f $D${libdir}/graphviz/config* + rmdir --ignore-fail-on-non-empty $D${libdir}/graphviz +} + +PACKAGE_WRITE_DEPS += "qemu-native" + +PACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo" + +FILES:${PN}-python += "${PYTHON_SITEPACKAGES_DIR}/ ${libdir}/graphviz/python/" +FILES:${PN}-perl += "${libdir}/perl5/*/vendor_perl/ ${libdir}/graphviz/perl/" +FILES:${PN}-demo += "${datadir}/graphviz/demo/" + +RDEPENDS:${PN}-perl += "perl" +RDEPENDS:${PN}-python += "python3" +RDEPENDS:${PN}-demo += "python3 perl" + +RRECOMMENDS:${PN} = "liberation-fonts" + +INSANE_SKIP:${PN}-perl = "dev-so" +INSANE_SKIP:${PN}-python = "dev-so" + +FILES_SOLIBSDEV:append = " ${libdir}/graphviz/lib*${SOLIBSDEV}" + +RRECOMMENDS:${PN} = "liberation-fonts" + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf