summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl-sanity/perl-ptest.inc
blob: 597e5d841eed9b34f904ea7859e8ee6d6d1fe33f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
inherit ptest

SRC_URI += "file://run-ptest \
           "
do_install_ptest () {
	mkdir -p ${D}${PTEST_PATH}
	sed -e "s:\/usr\/local:${bindir}:g" -i cpan/version/t/*
	sed -e "s:\/opt:\/usr:" -i Porting/add-package.pl
	sed -e "s:\/local\/gnu\/:\/:" -i hints/cxux.sh
	tar -c --exclude=try --exclude=a.out --exclude='*.o' --exclude=libperl.so* --exclude=Makefile --exclude=makefile --exclude=hostperl \
	    --exclude=cygwin --exclude=os2 --exclude=djgpp --exclude=qnx --exclude=symbian --exclude=haiku \
	    --exclude=vms --exclude=vos --exclude=NetWare --exclude=amigaos4  --exclude=buildcustomize.pl \
	    --exclude='win32/config.*' --exclude=plan9 --exclude=README.plan9 --exclude=perlplan9.pod --exclude=Configure \
	    --exclude=veryclean.sh --exclude=realclean.sh  --exclude=getioctlsizes \
	    --exclude=dl_aix.xs --exclude=sdbm.3 --exclude='cflags.SH' --exclude=makefile.old \
		--exclude=miniperl --exclude=generate_uudmap --exclude=patches * | ( cd ${D}${PTEST_PATH} && tar -x )

	ln -sf ${bindir}/perl ${D}${PTEST_PATH}/t/perl

	# Remove build host references from various scattered files...
	find "${D}${PTEST_PATH}" \
	     \( -name '*.PL' -o -name 'myconfig' -o -name 'cflags' -o -name '*.pl' -o -name '*.sh' -o -name '*.pm' \
	     -o -name 'h2xs' -o -name 'h2ph' \
	     -o -name '*.h' -o -name 'config.sh-*' -o -name 'pod2man'  -o -name 'pod2text' \) \
	    -type f -exec sed -i \
	       -e "s,${D},,g" \
	       -e "s,--sysroot=${STAGING_DIR_HOST},,g" \
	       -e "s,-isystem${STAGING_INCDIR} ,,g" \
	       -e 's|${DEBUG_PREFIX_MAP}||g' \
	       -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \
	       -e "s,${STAGING_LIBDIR},${libdir},g" \
	       -e "s,${STAGING_BINDIR},${bindir},g" \
	       -e "s,${STAGING_INCDIR},${includedir},g" \
	       -e "s,${STAGING_BINDIR_NATIVE}/,,g" \
	       -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \
	       -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
	       -e 's:${RECIPE_SYSROOT}::g' \
	        {} +

	 # Remove a useless timestamp...
	 sed -i -e '/Autogenerated starting on/d' ${D}${PTEST_PATH}/lib/unicore/mktables.lst
}

python populate_packages_prepend() {
    # Put all *.t files from the lib dir in the ptest package
    # do_split_packages requires a pair of () in the regex, but we have nothing
    # to match, so use an empty pair.
    if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d):
        do_split_packages(d, d.expand('${libdir}/perl/${PV}'), '.*\.t()',
            '${PN}-ptest%s', '%s', recursive=True, match_path=True)
}

RDEPENDS_${PN}-ptest += "${PN}-modules ${PN}-doc sed"

# The perl-ptest package contains Perl internal modules and generating file
# dependencies for it causes problems.
SKIP_FILEDEPS_${PN}-ptest = '1'