xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-extended/slang/slang_2.3.2.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "The shared library for the S-Lang extension language"
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunDESCRIPTION = "S-Lang is an interpreted language and a programming library.  The \
4*4882a593SmuzhiyunS-Lang language was designed so that it can be easily embedded into \
5*4882a593Smuzhiyuna program to provide the program with a powerful extension language. \
6*4882a593SmuzhiyunThe S-Lang library, provided in this package, provides the S-Lang \
7*4882a593Smuzhiyunextension language.  S-Lang's syntax resembles C, which makes it easy \
8*4882a593Smuzhiyunto recode S-Lang procedures in C if you need to."
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunHOMEPAGE = "http://www.jedsoft.org/slang/"
11*4882a593SmuzhiyunSECTION = "libs"
12*4882a593SmuzhiyunDEPENDS = "ncurses virtual/libiconv"
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunLICENSE = "GPL-2.0-only"
15*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=a52a18a472d4f7e45479b06563717c02"
16*4882a593Smuzhiyun
17*4882a593SmuzhiyunSRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \
18*4882a593Smuzhiyun           file://no-x.patch \
19*4882a593Smuzhiyun           file://dont-link-to-host.patch \
20*4882a593Smuzhiyun           file://test-add-output-in-the-format-result-testname.patch \
21*4882a593Smuzhiyun           file://terminfo_fixes.patch \
22*4882a593Smuzhiyun           file://array_test.patch \
23*4882a593Smuzhiyun           file://run-ptest \
24*4882a593Smuzhiyun          "
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunSRC_URI[md5sum] = "c2d5a7aa0246627da490be4e399c87cb"
27*4882a593SmuzhiyunSRC_URI[sha256sum] = "fc9e3b0fc4f67c3c1f6d43c90c16a5c42d117b8e28457c5b46831b8b5d3ae31a"
28*4882a593Smuzhiyun
29*4882a593SmuzhiyunUPSTREAM_CHECK_URI = "http://www.jedsoft.org/releases/slang/"
30*4882a593SmuzhiyunPREMIRRORS:append = " http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/"
31*4882a593Smuzhiyun
32*4882a593Smuzhiyuninherit autotools-brokensep ptest
33*4882a593SmuzhiyunCLEANBROKEN = "1"
34*4882a593Smuzhiyun
35*4882a593SmuzhiyunEXTRA_OECONF = "--without-onig"
36*4882a593Smuzhiyun# There's no way to turn off rpaths and slang will -rpath to the default search
37*4882a593Smuzhiyun# path. Unset RPATH to stop this.
38*4882a593SmuzhiyunEXTRA_OEMAKE = "RPATH=''"
39*4882a593Smuzhiyun
40*4882a593SmuzhiyunPACKAGECONFIG ??= "pcre"
41*4882a593SmuzhiyunPACKAGECONFIG[pcre] = "--with-pcre=${STAGING_DIR_HOST}${prefix},--without-pcre,pcre"
42*4882a593SmuzhiyunPACKAGECONFIG[png] = "--with-png=${STAGING_DIR_HOST}${prefix},--without-png,libpng"
43*4882a593SmuzhiyunPACKAGECONFIG[zlib] = "--with-z=${STAGING_DIR_HOST}${prefix},--without-z,zlib"
44*4882a593Smuzhiyun
45*4882a593Smuzhiyundo_configure:prepend() {
46*4882a593Smuzhiyun    cd ${S}/autoconf
47*4882a593Smuzhiyun    # slang keeps configure.ac and rest of autoconf files in autoconf/ directory
48*4882a593Smuzhiyun    # we have to go there to be able to run gnu-configize cause it expects configure.{in,ac}
49*4882a593Smuzhiyun    # to be present. Resulting files land in autoconf/autoconf/ so we need to move them.
50*4882a593Smuzhiyun    gnu-configize --force && mv autoconf/config.* .
51*4882a593Smuzhiyun    # For the same reason we also need to run autoconf manually.
52*4882a593Smuzhiyun    autoconf && mv configure ..
53*4882a593Smuzhiyun    cd ${B}
54*4882a593Smuzhiyun}
55*4882a593Smuzhiyun
56*4882a593Smuzhiyundo_compile_ptest() {
57*4882a593Smuzhiyun	oe_runmake -C src static
58*4882a593Smuzhiyun	oe_runmake -C src/test sltest
59*4882a593Smuzhiyun}
60*4882a593Smuzhiyun
61*4882a593Smuzhiyundo_install_ptest() {
62*4882a593Smuzhiyun	mkdir ${D}${PTEST_PATH}/test
63*4882a593Smuzhiyun	for f in Makefile sltest runtests.sh *.sl *.inc; do
64*4882a593Smuzhiyun		cp ${S}/src/test/$f ${D}${PTEST_PATH}/test/
65*4882a593Smuzhiyun	done
66*4882a593Smuzhiyun	sed -e 's/\ \$(TEST_PGM)\.c\ assoc\.c\ list\.c\ \$(SLANGLIB)\/libslang\.a//' \
67*4882a593Smuzhiyun	    -e '/\$(CC).*(TEST_PGM)/d' \
68*4882a593Smuzhiyun	    -i ${D}${PTEST_PATH}/test/Makefile
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun	cp ${S}/slsh/lib/require.sl ${D}${PTEST_PATH}/test/
71*4882a593Smuzhiyun	sed -i 's/\.\.\/\.\.\/slsh\/lib\/require\.sl/require\.sl/' ${D}${PTEST_PATH}/test/req.sl
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun	cp ${S}/doc/text/slangfun.txt ${D}${PTEST_PATH}/test/
74*4882a593Smuzhiyun	sed -i 's/\.\.\/\.\.\/doc\/text\/slangfun\.txt/slangfun\.txt/' ${D}${PTEST_PATH}/test/docfun.sl
75*4882a593Smuzhiyun}
76*4882a593Smuzhiyun
77*4882a593SmuzhiyunFILES:${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/"
78*4882a593Smuzhiyun
79*4882a593SmuzhiyunRDEPENDS:${PN}-ptest += "make"
80*4882a593Smuzhiyun
81*4882a593SmuzhiyunPARALLEL_MAKE = ""
82*4882a593SmuzhiyunPARALLEL_MAKEINST = ""
83*4882a593Smuzhiyun
84*4882a593SmuzhiyunBBCLASSEXTEND = "native nativesdk"
85