blob: ff9939ebd02a6860093f2f6af8621560542b58e4 [file] [log] [blame]
Brad Bishop19323692019-04-05 15:28:33 -04001SUMMARY = "Graph Visualization Tools"
2HOMEPAGE = "http://www.graphviz.org"
3LICENSE = "EPL-1.0"
4LIC_FILES_CHKSUM = "file://COPYING;md5=9109f5fc16cf963fb3cdd32781b3ce04"
5
6DEPENDS = " \
7 intltool-native \
8 bison-native \
9 groff-native \
10 libtool \
11 gdk-pixbuf \
Brad Bishop19323692019-04-05 15:28:33 -040012 cairo \
13 pango \
14 expat \
15 freetype \
16"
Patrick Williams213cb262021-08-07 19:21:33 -050017DEPENDS:append:class-target = " ${BPN}-native"
18DEPENDS:append:class-nativesdk = " ${BPN}-native"
Brad Bishop19323692019-04-05 15:28:33 -040019
20inherit autotools-brokensep pkgconfig gettext
21
Andrew Geissler4b7c1152020-11-30 19:55:29 -060022SRC_URI = "https://www2.graphviz.org/Packages/stable/portable_source/${BP}.tar.gz \
Brad Bishop26bdd442019-08-16 17:08:17 -040023 file://0001-plugin-pango-Include-freetype-headers-explicitly.patch \
Brad Bishop19323692019-04-05 15:28:33 -040024"
25# Use native mkdefs
Patrick Williams213cb262021-08-07 19:21:33 -050026SRC_URI:append:class-target = "\
Brad Bishop26bdd442019-08-16 17:08:17 -040027 file://0001-Use-native-mkdefs.patch \
28 file://0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch \
29"
Patrick Williams213cb262021-08-07 19:21:33 -050030SRC_URI:append:class-nativesdk = "\
Andrew Geissler89770b02020-06-13 10:40:47 -050031 file://0001-Use-native-mkdefs.patch \
32 file://graphviz-setup.sh \
33"
Andrew Geissler4b7c1152020-11-30 19:55:29 -060034SRC_URI[sha256sum] = "8e1b34763254935243ccdb83c6ce108f531876d7a5dfd443f255e6418b8ea313"
Brad Bishop19323692019-04-05 15:28:33 -040035
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000036PACKAGECONFIG ??= "librsvg"
37PACKAGECONFIG:class-nativesdk ??= ""
38PACKAGECONFIG[librsvg] = "--with-librsvg,--without-librsvg,librsvg"
39
Patrick Williams213cb262021-08-07 19:21:33 -050040EXTRA_OECONF:append = " PS2PDF=/bin/echo"
Brad Bishop19323692019-04-05 15:28:33 -040041
Patrick Williams213cb262021-08-07 19:21:33 -050042EXTRA_OECONF:class-target = "\
Brad Bishop19323692019-04-05 15:28:33 -040043 --with-expatincludedir=${STAGING_INCDIR} \
44 --with-expatlibdir=${STAGING_LIBDIR} \
45 --without-included-ltdl \
46 --disable-java \
Brad Bishop26bdd442019-08-16 17:08:17 -040047 --disable-tcl \
Brad Bishop19323692019-04-05 15:28:33 -040048 --disable-r \
49 --disable-sharp \
50 "
Patrick Williams213cb262021-08-07 19:21:33 -050051EXTRA_OECONF:class-nativesdk = "\
Andrew Geissler89770b02020-06-13 10:40:47 -050052 --with-expatincludedir=${STAGING_INCDIR} \
53 --with-expatlibdir=${STAGING_LIBDIR} \
54 --without-included-ltdl \
55 --disable-java \
56 --disable-tcl \
57 --disable-r \
58 --disable-sharp \
59 "
Patrick Williams213cb262021-08-07 19:21:33 -050060CFLAGS:append:class-target = " -D_typ_ssize_t=1 -D_long_double=1"
61CFLAGS:append:class-nativesdk = " -D_typ_ssize_t=1 -D_long_double=1"
62do_configure:prepend() {
Brad Bishop19323692019-04-05 15:28:33 -040063 cd ${S}
64 # create version.m4 and ignore libtoolize errors
65 ./autogen.sh NOCONFIG || true
66}
67
Patrick Williams213cb262021-08-07 19:21:33 -050068do_install:append:class-native() {
Brad Bishop19323692019-04-05 15:28:33 -040069 # install mkdefs for target build
70 install -m755 ${B}/lib/gvpr/mkdefs ${D}${bindir}
71}
72
Patrick Williams213cb262021-08-07 19:21:33 -050073do_install:append:class-nativesdk() {
Andrew Geissler89770b02020-06-13 10:40:47 -050074 # graphviz-setup.sh must be executed at SDK installation
75 install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
76 install -m 0755 ${WORKDIR}/graphviz-setup.sh ${D}${SDKPATHNATIVE}/post-relocate-setup.d
77}
Patrick Williams213cb262021-08-07 19:21:33 -050078FILES:${PN}:class-nativesdk += "${SDKPATHNATIVE}"
Andrew Geissler89770b02020-06-13 10:40:47 -050079
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000080# create /usr/lib/graphviz/config6
81graphviz_sstate_postinst() {
82 mkdir -p ${SYSROOT_DESTDIR}${bindir}
83 dest=${SYSROOT_DESTDIR}${bindir}/postinst-${PN}
84 echo '#!/bin/sh' > $dest
85 echo '' >> $dest
86 echo 'dot -c' >> $dest
87 chmod 0755 $dest
88}
89SYSROOT_PREPROCESS_FUNCS:append:class-native = " graphviz_sstate_postinst"
90
Brad Bishop26bdd442019-08-16 17:08:17 -040091PACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo"
92
Patrick Williams213cb262021-08-07 19:21:33 -050093FILES:${PN}-python += "${libdir}/python*/site-packages/ ${libdir}/graphviz/python/"
94FILES:${PN}-perl += "${libdir}/perl5/*/vendor_perl/ ${libdir}/graphviz/perl/"
95FILES:${PN}-demo += "${datadir}/graphviz/demo/"
Brad Bishop26bdd442019-08-16 17:08:17 -040096
Patrick Williams213cb262021-08-07 19:21:33 -050097RDEPENDS:${PN}-perl += "perl"
98RDEPENDS:${PN}-python += "python3"
99RDEPENDS:${PN}-demo += "python3 perl"
Brad Bishop26bdd442019-08-16 17:08:17 -0400100
Patrick Williams213cb262021-08-07 19:21:33 -0500101INSANE_SKIP:${PN}-perl = "dev-so"
102INSANE_SKIP:${PN}-python = "dev-so"
Brad Bishop26bdd442019-08-16 17:08:17 -0400103
Patrick Williams213cb262021-08-07 19:21:33 -0500104FILES_SOLIBSDEV:append = " ${libdir}/graphviz/lib*${SOLIBSDEV}"
Brad Bishop19323692019-04-05 15:28:33 -0400105
Andrew Geissler89770b02020-06-13 10:40:47 -0500106BBCLASSEXTEND = "native nativesdk"