1*4882a593SmuzhiyunSUMMARY = "Tool Command Language ToolKit Extension" 2*4882a593SmuzhiyunHOMEPAGE = "http://tcl.sourceforge.net" 3*4882a593SmuzhiyunSECTION = "devel/tcltk" 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun# http://www.tcl.tk/software/tcltk/license.html 6*4882a593SmuzhiyunLICENSE = "TCL" 7*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://${S}/../license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 8*4882a593Smuzhiyun file://${S}/../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 9*4882a593Smuzhiyun file://${S}/../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 10*4882a593Smuzhiyun file://${S}/../library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 11*4882a593Smuzhiyun file://${S}/../macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 12*4882a593Smuzhiyun file://${S}/../tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 13*4882a593Smuzhiyun file://${S}/../unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 14*4882a593Smuzhiyun file://${S}/../win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 15*4882a593Smuzhiyun file://${S}/../xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \ 16*4882a593Smuzhiyun" 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunDEPENDS = "tcl virtual/libx11 libxt" 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunSRC_URI = "\ 21*4882a593Smuzhiyun ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \ 22*4882a593Smuzhiyun file://confsearch.diff;striplevel=2 \ 23*4882a593Smuzhiyun file://tkprivate.diff;striplevel=2 \ 24*4882a593Smuzhiyun file://fix-xft.diff \ 25*4882a593Smuzhiyun" 26*4882a593SmuzhiyunSRC_URI[md5sum] = "602a47ad9ecac7bf655ada729d140a94" 27*4882a593SmuzhiyunSRC_URI[sha256sum] = "63df418a859d0a463347f95ded5cd88a3dd3aaa1ceecaeee362194bc30f3e386" 28*4882a593Smuzhiyun 29*4882a593SmuzhiyunS = "${WORKDIR}/${BPN}${PV}/unix" 30*4882a593Smuzhiyun 31*4882a593SmuzhiyunPSEUDO_IGNORE_PATHS .= ",${WORKDIR}/${BPN}${PV}" 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun# Short version format: "8.6" 34*4882a593SmuzhiyunVER = "${@os.path.splitext(d.getVar('PV'))[0]}" 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunLDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib" 37*4882a593Smuzhiyuninherit autotools features_check 38*4882a593Smuzhiyun# depends on virtual/libx11 39*4882a593SmuzhiyunREQUIRED_DISTRO_FEATURES = "x11" 40*4882a593Smuzhiyun 41*4882a593SmuzhiyunEXTRA_OECONF = "\ 42*4882a593Smuzhiyun --enable-threads \ 43*4882a593Smuzhiyun --with-x \ 44*4882a593Smuzhiyun --with-tcl=${STAGING_BINDIR}/crossscripts \ 45*4882a593Smuzhiyun --libdir=${libdir} \ 46*4882a593Smuzhiyun" 47*4882a593Smuzhiyunexport TK_LIBRARY='${libdir}/tk${VER}' 48*4882a593Smuzhiyundo_install:append() { 49*4882a593Smuzhiyun ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0 50*4882a593Smuzhiyun oe_libinstall -so libtk${VER} ${D}${libdir} 51*4882a593Smuzhiyun ln -sf wish${VER} ${D}${bindir}/wish 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun sed -i "s;-L${B};-L${STAGING_LIBDIR};g" tkConfig.sh 54*4882a593Smuzhiyun sed -i "s;'${WORKDIR};'${STAGING_INCDIR};g" tkConfig.sh 55*4882a593Smuzhiyun install -d ${D}${bindir_crossscripts} 56*4882a593Smuzhiyun install -m 0755 tkConfig.sh ${D}${bindir_crossscripts} 57*4882a593Smuzhiyun} 58*4882a593Smuzhiyun 59*4882a593SmuzhiyunPACKAGECONFIG ??= "xft" 60*4882a593SmuzhiyunPACKAGECONFIG[xft] = "--enable-xft,--disable-xft,xft" 61*4882a593SmuzhiyunPACKAGECONFIG[xss] = "--enable-xss,--disable-xss,libxscrnsaver libxext" 62*4882a593Smuzhiyun 63*4882a593SmuzhiyunPACKAGES =+ "${PN}-lib" 64*4882a593Smuzhiyun 65*4882a593SmuzhiyunFILES:${PN}-lib = "${libdir}/libtk${VER}.so*" 66*4882a593SmuzhiyunFILES:${PN} += "${libdir}/tk*" 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun# isn't getting picked up by shlibs code 69*4882a593SmuzhiyunRDEPENDS:${PN} += "tk-lib" 70*4882a593SmuzhiyunRDEPENDS:${PN}:class-native = "" 71*4882a593Smuzhiyun 72*4882a593SmuzhiyunBBCLASSEXTEND = "native nativesdk" 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun# Fix the path in sstate 75*4882a593SmuzhiyunSSTATE_SCAN_FILES += "*Config.sh" 76*4882a593Smuzhiyun 77*4882a593Smuzhiyuninherit binconfig 78*4882a593Smuzhiyun 79*4882a593SmuzhiyunSYSROOT_DIRS += "${bindir_crossscripts}" 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun# Fix some paths that might be used by Tcl extensions 82*4882a593SmuzhiyunBINCONFIG_GLOB = "*Config.sh" 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun# Cleanup host path from ${libdir}/tclConfig.sh and remove the 85*4882a593Smuzhiyun# ${bindir_crossscripts}/tclConfig.sh from target 86*4882a593SmuzhiyunPACKAGE_PREPROCESS_FUNCS += "tcl_package_preprocess" 87*4882a593Smuzhiyuntcl_package_preprocess() { 88*4882a593Smuzhiyun sed -i -e "s;${DEBUG_PREFIX_MAP};;g" \ 89*4882a593Smuzhiyun -e "s;-L${STAGING_LIBDIR};-L${libdir};g" \ 90*4882a593Smuzhiyun -e "s;${STAGING_INCDIR};${includedir};g" \ 91*4882a593Smuzhiyun -e "s;--sysroot=${RECIPE_SYSROOT};;g" \ 92*4882a593Smuzhiyun ${PKGD}${libdir}/tkConfig.sh 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun rm -f ${PKGD}${bindir_crossscripts}/tkConfig.sh 95*4882a593Smuzhiyun} 96