meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_14.0.4.bb
Wang Mingyu ba4764302a
graphviz: upgrade 14.0.2 -> 14.0.4
Changelog:
==========
### Changed

- Internal timing operations now use 'clock()' on all platforms (previously this
  was only used on Windows). This should result in more accurate timing in
  verbose informational messages.
- Building Graphviz with expat < 2.2.8 is no longer supported on MinGW.

### Fixed

- 'diffimg' now notices failures when calling Ghostscript to convert PS images
  to PNG and exits instead of continuing.
- 'dtstat' no longer reads/writes out of bounds memory on platforms where
  'sizeof(int) < sizeof(size_t)'. This was a regression in Graphviz 7.0.1.
- Some incorrect variable types in the libcdt man page have been corrected.
- 'gvgen' no longer triggers Undefined Behavior when asked to generate a binary
  tree with depth >= 32 (e.g. 'gvgen -t32').
- 'gvgen' no longer triggers Undefined Behavior when asked to generate a
  hypercube with depth  >= 32 (e.g. 'gvgen -h32').
- A null pointer dereference in edge pair analysis within the circo algorithm
  has been fixed.

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-11-18 08:23:43 -08:00

121 lines
3.6 KiB
BlitzBasic

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] = "a005977de2fec13753f5bde767cf97fdc28ac54bfd6a2737c563748bc4f32317"
UPSTREAM_CHECK_URI = "https://graphviz.org/download/"
UPSTREAM_CHECK_REGEX = "(?P<pver>\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"