1*4882a593SmuzhiyunSUMMARY = "Graph Visualization Tools" 2*4882a593SmuzhiyunHOMEPAGE = "http://www.graphviz.org" 3*4882a593SmuzhiyunLICENSE = "EPL-1.0" 4*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=9109f5fc16cf963fb3cdd32781b3ce04" 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunDEPENDS = " \ 7*4882a593Smuzhiyun intltool-native \ 8*4882a593Smuzhiyun bison-native \ 9*4882a593Smuzhiyun groff-native \ 10*4882a593Smuzhiyun libtool \ 11*4882a593Smuzhiyun gdk-pixbuf \ 12*4882a593Smuzhiyun cairo \ 13*4882a593Smuzhiyun pango \ 14*4882a593Smuzhiyun expat \ 15*4882a593Smuzhiyun freetype \ 16*4882a593Smuzhiyun" 17*4882a593SmuzhiyunDEPENDS:append:class-target = " ${BPN}-native" 18*4882a593SmuzhiyunDEPENDS:append:class-nativesdk = " ${BPN}-native" 19*4882a593Smuzhiyun 20*4882a593Smuzhiyuninherit autotools-brokensep pkgconfig gettext qemu 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunSRC_URI = "https://gitlab.com/api/v4/projects/4207231/packages/generic/${BPN}-releases/${PV}/${BP}.tar.xz \ 23*4882a593Smuzhiyun " 24*4882a593Smuzhiyun# Use native mkdefs 25*4882a593SmuzhiyunSRC_URI:append:class-target = "\ 26*4882a593Smuzhiyun file://0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch \ 27*4882a593Smuzhiyun" 28*4882a593SmuzhiyunSRC_URI:append:class-nativesdk = "\ 29*4882a593Smuzhiyun file://graphviz-setup.sh \ 30*4882a593Smuzhiyun" 31*4882a593Smuzhiyun 32*4882a593SmuzhiyunSRC_URI[sha256sum] = "6b16bf990df114195be669773a1dae975dbbffada45e1de2849ddeb5851bb9a8" 33*4882a593Smuzhiyun 34*4882a593SmuzhiyunCVE_CHECK_IGNORE += "\ 35*4882a593Smuzhiyun CVE-2014-9157 \ 36*4882a593Smuzhiyun" 37*4882a593Smuzhiyun 38*4882a593SmuzhiyunPACKAGECONFIG ??= "librsvg" 39*4882a593SmuzhiyunPACKAGECONFIG[librsvg] = "--with-librsvg,--without-librsvg,librsvg" 40*4882a593Smuzhiyun 41*4882a593SmuzhiyunEXTRA_OECONF:append = " PS2PDF=/bin/echo" 42*4882a593Smuzhiyun 43*4882a593SmuzhiyunEXTRA_OECONF:class-target = "\ 44*4882a593Smuzhiyun --with-expatincludedir=${STAGING_INCDIR} \ 45*4882a593Smuzhiyun --with-expatlibdir=${STAGING_LIBDIR} \ 46*4882a593Smuzhiyun --without-included-ltdl \ 47*4882a593Smuzhiyun --disable-java \ 48*4882a593Smuzhiyun --disable-tcl \ 49*4882a593Smuzhiyun --disable-r \ 50*4882a593Smuzhiyun --disable-sharp \ 51*4882a593Smuzhiyun " 52*4882a593SmuzhiyunEXTRA_OECONF:class-nativesdk = "\ 53*4882a593Smuzhiyun --with-expatincludedir=${STAGING_INCDIR} \ 54*4882a593Smuzhiyun --with-expatlibdir=${STAGING_LIBDIR} \ 55*4882a593Smuzhiyun --without-included-ltdl \ 56*4882a593Smuzhiyun --disable-java \ 57*4882a593Smuzhiyun --disable-tcl \ 58*4882a593Smuzhiyun --disable-r \ 59*4882a593Smuzhiyun --disable-sharp \ 60*4882a593Smuzhiyun " 61*4882a593SmuzhiyunCFLAGS:append:class-target = " -D_typ_ssize_t=1 -D_long_double=1" 62*4882a593SmuzhiyunCFLAGS:append:class-nativesdk = " -D_typ_ssize_t=1 -D_long_double=1" 63*4882a593Smuzhiyundo_configure:prepend() { 64*4882a593Smuzhiyun cd ${S} 65*4882a593Smuzhiyun # create version.m4 and ignore libtoolize errors 66*4882a593Smuzhiyun ./autogen.sh NOCONFIG || true 67*4882a593Smuzhiyun} 68*4882a593Smuzhiyun 69*4882a593Smuzhiyundo_install:append:class-nativesdk() { 70*4882a593Smuzhiyun # graphviz-setup.sh must be executed at SDK installation 71*4882a593Smuzhiyun install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d 72*4882a593Smuzhiyun install -m 0755 ${WORKDIR}/graphviz-setup.sh ${D}${SDKPATHNATIVE}/post-relocate-setup.d 73*4882a593Smuzhiyun} 74*4882a593SmuzhiyunFILES:${PN}:class-nativesdk += "${SDKPATHNATIVE}" 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun# create /usr/lib/graphviz/config6 77*4882a593Smuzhiyungraphviz_sstate_postinst() { 78*4882a593Smuzhiyun mkdir -p ${SYSROOT_DESTDIR}${bindir} 79*4882a593Smuzhiyun dest=${SYSROOT_DESTDIR}${bindir}/postinst-${PN} 80*4882a593Smuzhiyun echo '#!/bin/sh' > $dest 81*4882a593Smuzhiyun echo '' >> $dest 82*4882a593Smuzhiyun echo 'dot -c' >> $dest 83*4882a593Smuzhiyun chmod 0755 $dest 84*4882a593Smuzhiyun} 85*4882a593SmuzhiyunSYSROOT_PREPROCESS_FUNCS:append:class-native = " graphviz_sstate_postinst" 86*4882a593Smuzhiyun 87*4882a593Smuzhiyunpkg_postinst:${PN} () { 88*4882a593Smuzhiyun if [ -n "$D" ]; then 89*4882a593Smuzhiyun if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then 90*4882a593Smuzhiyun ${@qemu_run_binary(d, '$D', '${bindir}/dot')} -c 91*4882a593Smuzhiyun fi 92*4882a593Smuzhiyun else 93*4882a593Smuzhiyun dot -c 94*4882a593Smuzhiyun fi 95*4882a593Smuzhiyun} 96*4882a593Smuzhiyun 97*4882a593Smuzhiyunpkg_postrm:${PN} () { 98*4882a593Smuzhiyun rm -f $D${libdir}/graphviz/config* 99*4882a593Smuzhiyun rmdir --ignore-fail-on-non-empty $D${libdir}/graphviz 100*4882a593Smuzhiyun} 101*4882a593Smuzhiyun 102*4882a593SmuzhiyunPACKAGE_WRITE_DEPS += "qemu-native" 103*4882a593Smuzhiyun 104*4882a593SmuzhiyunPACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo" 105*4882a593Smuzhiyun 106*4882a593SmuzhiyunFILES:${PN}-python += "${libdir}/python*/site-packages/ ${libdir}/graphviz/python/" 107*4882a593SmuzhiyunFILES:${PN}-perl += "${libdir}/perl5/*/vendor_perl/ ${libdir}/graphviz/perl/" 108*4882a593SmuzhiyunFILES:${PN}-demo += "${datadir}/graphviz/demo/" 109*4882a593Smuzhiyun 110*4882a593SmuzhiyunRDEPENDS:${PN}-perl += "perl" 111*4882a593SmuzhiyunRDEPENDS:${PN}-python += "python3" 112*4882a593SmuzhiyunRDEPENDS:${PN}-demo += "python3 perl" 113*4882a593Smuzhiyun 114*4882a593SmuzhiyunRRECOMMENDS:${PN} = "liberation-fonts" 115*4882a593Smuzhiyun 116*4882a593SmuzhiyunINSANE_SKIP:${PN}-perl = "dev-so" 117*4882a593SmuzhiyunINSANE_SKIP:${PN}-python = "dev-so" 118*4882a593Smuzhiyun 119*4882a593SmuzhiyunFILES_SOLIBSDEV:append = " ${libdir}/graphviz/lib*${SOLIBSDEV}" 120*4882a593Smuzhiyun 121*4882a593SmuzhiyunRRECOMMENDS:${PN} = "liberation-fonts" 122*4882a593Smuzhiyun 123*4882a593SmuzhiyunBBCLASSEXTEND = "native nativesdk" 124