SUMMARY = "Babeltrace - Trace Format Babel Tower"
DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log."
HOMEPAGE = "http://babeltrace.org/"
BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace"
LICENSE = "MIT & GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=76ba15dd76a248e1dd526bca0e2125fa"

DEPENDS = "glib-2.0 util-linux popt bison-native flex-native"

SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-1.5;protocol=https \
	   file://run-ptest \
	  "
SRCREV = "91c00f70884887ff5c4849a8e3d47e311a22ba9d"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>1(\.\d+)+)$"

S = "${WORKDIR}/git"

inherit autotools pkgconfig ptest

EXTRA_OECONF = "--disable-debug-info"

ASNEEDED = ""

RDEPENDS:${PN}-ptest += "bash gawk make"

addtask do_patch_ptest_path after do_patch before do_configure
do_patch_ptest_path () {
    for f in $(grep -l -r abs_top_srcdir ${S}/tests); do
	sed -i 's:\@abs_top_srcdir\@:${PTEST_PATH}:' ${f}
    done

    for f in $(grep -l -r abs_top_builddir ${S}/tests); do
	sed -i 's:\@abs_top_builddir\@:${PTEST_PATH}:' ${f}
    done
    for f in $(grep -l -r GREP ${S}/tests); do
	sed -i 's:\@GREP\@:grep:' ${f}
    done

    for f in $(grep -l -r SED ${S}/tests); do
	sed -i 's:\@SED\@:sed:' ${f}
    done
}

do_compile_ptest () {
    make -C tests all
}

do_install_ptest () {
    # Copy required files from source directory
    for f in config/tap-driver.sh config/test-driver; do
	install -D "${S}/$f" "${D}${PTEST_PATH}/$f"
    done
    install -d "$f" "${D}${PTEST_PATH}/tests/ctf-traces/"
    cp -a ${S}/tests/ctf-traces/* ${D}${PTEST_PATH}/tests/ctf-traces/

    # Copy the tests directory tree and the executables and
    # Makefiles found within.
    install -D "${B}/tests/Makefile" "${D}${PTEST_PATH}/tests/"
    for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do
	install -d "${D}${PTEST_PATH}/tests/$d"
	find "${B}/tests/$d" -maxdepth 1 -executable -type f \
	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} +
	test -r "${B}/tests/$d/Makefile" && \
	    install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile"
	find "${B}/tests/$d" -maxdepth 1 -name *.sh \
	     -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \;
    done

    for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do
	for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do
	    cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f
	done
    done

    install -D ${B}/formats/ctf/metadata/.libs/ctf-parser-test \
	    ${D}${PTEST_PATH}/formats/ctf/metadata/ctf-parser-test

    # Prevent attempts to update Makefiles during test runs, and
    # silence "Making check in $SUBDIR" messages.
    find "${D}${PTEST_PATH}" -name Makefile -type f -exec \
	 sed -i \
	 -e '/Makefile:/,/^$/d' \
	 -e '/$(check_SCRIPTS)/s/^/#/' \
	 -e '/%: %.in/,/^$/d' \
	 -e '/echo "Making $$target in $$subdir"; \\/d' \
	 -e 's/^srcdir = \(.*\)/srcdir = ./' \
	 -e 's/^builddir = \(.*\)/builddir = ./' \
	 -e 's/^all-am:.*/all-am:/' \
	 {} +

    # Remove path to babeltrace.
    for f in $(grep -l -r "^BABELTRACE_BIN" ${D}${PTEST_PATH}); do
	sed -i 's:^BABELTRACE_BIN.*:BABELTRACE_BIN=/usr/bin/babeltrace:' ${f}
    done
    for f in $(grep -l -r "^BTBIN" ${D}${PTEST_PATH}); do
	sed -i 's:^BTBIN.*:BTBIN=/usr/bin/babeltrace:' ${f}
    done
}
