xref: /OK3568_Linux_fs/yocto/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "High performance data logging and graphing system for time series data"
2*4882a593SmuzhiyunHOMEPAGE = "http://oss.oetiker.ch/rrdtool/"
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunLICENSE = "GPL-2.0-only"
5*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYRIGHT;md5=39df84cfd8a5e18bf988f277f7946676"
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunDEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native python3-setuptools-native"
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunSRCREV = "3af04acd38bbc61bbdcdd931dcf234c971aa5336"
10*4882a593SmuzhiyunPV = "1.8.0"
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunSRC_URI = "\
13*4882a593Smuzhiyun    git://github.com/oetiker/rrdtool-1.x.git;branch=master;protocol=http;;protocol=https \
14*4882a593Smuzhiyun"
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunS = "${WORKDIR}/git"
17*4882a593Smuzhiyun
18*4882a593Smuzhiyuninherit cpan autotools-brokensep gettext pkgconfig python3native python3-dir systemd
19*4882a593Smuzhiyun
20*4882a593SmuzhiyunBBCLASSEXTEND = "native"
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunSYSTEMD_PACKAGES = "rrdcached"
23*4882a593SmuzhiyunSYSTEMD_SERVICE:rrdcached = "rrdcached.socket rrdcached.service"
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunEXTRA_AUTORECONF = "-I m4 --exclude=autopoint"
26*4882a593Smuzhiyun
27*4882a593SmuzhiyunPACKAGECONFIG ??= "perl ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
28*4882a593Smuzhiyun
29*4882a593SmuzhiyunPACKAGECONFIG[python] = "--enable-python=yes \
30*4882a593Smuzhiyunam_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \
31*4882a593Smuzhiyunam_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\
32*4882a593Smuzhiyun--disable-python,python,"
33*4882a593Smuzhiyun
34*4882a593SmuzhiyunPACKAGECONFIG[perl] = \
35*4882a593Smuzhiyun"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor" CCFLAGS="${CFLAGS}" NO_PACKLIST=1 NO_PERLLOCAL=1' \
36*4882a593Smuzhiyunac_cv_path_PERL_CC='${CC}',  \
37*4882a593Smuzhiyun--disable-perl,perl,"
38*4882a593Smuzhiyun
39*4882a593SmuzhiyunPACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi"
40*4882a593Smuzhiyun
41*4882a593SmuzhiyunPACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
42*4882a593Smuzhiyun
43*4882a593SmuzhiyunEXTRA_OECONF = " \
44*4882a593Smuzhiyun    --enable-shared \
45*4882a593Smuzhiyun    --disable-libwrap \
46*4882a593Smuzhiyun    --program-prefix='' \
47*4882a593Smuzhiyun    rd_cv_ieee_works=yes \
48*4882a593Smuzhiyun    --disable-ruby \
49*4882a593Smuzhiyun    --disable-lua \
50*4882a593Smuzhiyun    --disable-tcl \
51*4882a593Smuzhiyun    --disable-rpath \
52*4882a593Smuzhiyun    --enable-nls=${USE_NLS} \
53*4882a593Smuzhiyun    --disable-docs \
54*4882a593Smuzhiyun"
55*4882a593Smuzhiyun
56*4882a593Smuzhiyunexport STAGING_LIBDIR
57*4882a593Smuzhiyunexport STAGING_INCDIR
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun# emulate cpan_do_configure
60*4882a593SmuzhiyunEXTRA_OEMAKE = ' PERL5LIB="${PERL_ARCHLIB}" '
61*4882a593Smuzhiyun# Avoid do_configure error on some hosts
62*4882a593Smuzhiyun
63*4882a593Smuzhiyundo_configure() {
64*4882a593Smuzhiyun    unset PERLHOSTLIB
65*4882a593Smuzhiyun    #fix the pkglib problem with newer automake
66*4882a593Smuzhiyun    #perl
67*4882a593Smuzhiyun    sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \
68*4882a593Smuzhiyun        ${S}/bindings/perl-shared/Makefile.PL
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun    #python
71*4882a593Smuzhiyun    sed -i -e '/PYTHON_INCLUDES="-I${/c \
72*4882a593Smuzhiyun    PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \
73*4882a593Smuzhiyun        ${S}/m4/acinclude.m4
74*4882a593Smuzhiyun    #remove the useless RPATH from the rrdtool.so
75*4882a593Smuzhiyun    sed -i -e 's|LD_RUN_PATH=$(libdir)||g' ${S}/bindings/Makefile.am
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun    autotools_do_configure
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun    #modify python sitepkg
80*4882a593Smuzhiyun    #remove the dependency of perl-shared:Makefile
81*4882a593Smuzhiyun    #or perl-shared/Makefile will be regenerated
82*4882a593Smuzhiyun    #if any code touch bindings/Makefile after below perl bindings code
83*4882a593Smuzhiyun    sed -i -e "s:python/setup.py install:python/setup.py install \
84*4882a593Smuzhiyun        --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \
85*4882a593Smuzhiyun        -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \
86*4882a593Smuzhiyun        ${B}/bindings/Makefile
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun    #redo the perl bindings
89*4882a593Smuzhiyun    (
90*4882a593Smuzhiyun    cd ${S}/bindings/perl-shared;
91*4882a593Smuzhiyun    perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc";
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun    cd ../../bindings/perl-piped;
94*4882a593Smuzhiyun    perl Makefile.PL INSTALLDIRS="vendor";
95*4882a593Smuzhiyun    )
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun    #change the interpreter in file
98*4882a593Smuzhiyun    sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \
99*4882a593Smuzhiyun        ${B}/examples/Makefile
100*4882a593Smuzhiyun    sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \
101*4882a593Smuzhiyun        ${B}/examples/*.pl
102*4882a593Smuzhiyun}
103*4882a593Smuzhiyun
104*4882a593SmuzhiyunPACKAGES =+ "${PN}-perl ${PN}-python"
105*4882a593SmuzhiyunPACKAGES =+ "rrdcached"
106*4882a593Smuzhiyun
107*4882a593SmuzhiyunDESCRIPTION:rrdcached = \
108*4882a593Smuzhiyun"The rrdcached package contains the data caching daemon for RRDtool."
109*4882a593Smuzhiyun
110*4882a593SmuzhiyunFILES:rrdcached = "${bindir}/rrdcached \
111*4882a593Smuzhiyun    ${systemd_unitdir}/system/rrdcached.service \
112*4882a593Smuzhiyun    ${systemd_unitdir}/system/rrdcached.socket"
113*4882a593Smuzhiyun
114*4882a593SmuzhiyunFILES:${PN}-doc += "${datadir}/rrdtool/examples"
115*4882a593Smuzhiyun
116*4882a593SmuzhiyunDESCRIPTION:${PN}-perl = \
117*4882a593Smuzhiyun"The ${PN}-perl package includes RRDtool bindings for perl."
118*4882a593SmuzhiyunFILES:${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm \
119*4882a593Smuzhiyun    ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*"
120*4882a593SmuzhiyunRDEPENDS:${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \
121*4882a593Smuzhiyun    perl-module-io-file perl-module-ipc-open2 perl-module-io-socket"
122*4882a593Smuzhiyun
123*4882a593SmuzhiyunDESCRIPTION:${PN}-python = \
124*4882a593Smuzhiyun"The ${PN}-python package includes RRDtool bindings for python."
125*4882a593SmuzhiyunFILES:${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
126*4882a593SmuzhiyunRDEPENDS:${PN}-python = "python3"
127*4882a593Smuzhiyun
128*4882a593SmuzhiyunFILES:${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \
129*4882a593Smuzhiyun    ${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug"
130