Openembedded Devel Discussions
 help / color / mirror / Atom feed
* [meta-oe][PATCH] tk: cleanup
@ 2014-05-05 15:51 Matthieu Crapet
  2014-05-05 16:29 ` Martin Jansa
  0 siblings, 1 reply; 5+ messages in thread
From: Matthieu Crapet @ 2014-05-05 15:51 UTC (permalink / raw)
  To: openembedded-devel

Changes:
- use ${BPN} and ${PV}
- use ${VER} intermediate variable for readability
- fulfill LIC_FILES_CHKSUM
- remove BINCONFIG_GLOB: inherit binconfig is not present, lib/tkConfig.sh paths are valid
- add SSTATE_SCAN_FILES, like it is done in tcl recipe (OE-Core)

Note: tcl and tk are sharing the same licence, it will be added to OE-Core soon.
It will drop QA warning.

Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
---
 meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb | 40 ++++++++++++++++++++++--------
 1 file changed, 29 insertions(+), 11 deletions(-)

diff --git a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
index d12973c..58862e7 100644
--- a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
+++ b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
@@ -1,12 +1,24 @@
 SUMMARY = "Tool Command Language ToolKit Extension"
 HOMEPAGE = "http://tcl.sourceforge.net"
 SECTION = "devel/tcltk"
+
+# http://www.tcl.tk/software/tcltk/license.html
 LICENSE = "tcl"
-LIC_FILES_CHKSUM = "file://license.terms;md5=c88f99decec11afa967ad33d314f87fe"
+LIC_FILES_CHKSUM = "file://../license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+"
+
 DEPENDS = "tcl virtual/libx11 libxt"
 
 SRC_URI = "\
-    ${SOURCEFORGE_MIRROR}/tcl/tk${PV}-src.tar.gz \
+    ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \
     file://confsearch.diff;striplevel=2 \
     file://non-linux.diff;striplevel=2 \
     file://tklibrary.diff;striplevel=2 \
@@ -16,8 +28,12 @@ SRC_URI = "\
 SRC_URI[md5sum] = "b883a1a3c489c17413fb602a94bf54e8"
 SRC_URI[sha256sum] = "5c708b2b6f658916df59190b27750fa1ea2bc10992108e10f961c0700f058de6"
 
-S = "${WORKDIR}/tk${PV}/unix"
-LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/8.6.0/lib"
+S = "${WORKDIR}/${BPN}${PV}/unix"
+
+# Short version format: "8.6"
+VER = "${@os.path.splitext(d.getVar('PV', True))[0]}"
+
+LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib"
 inherit autotools
 
 EXTRA_OECONF = "\
@@ -28,14 +44,14 @@ EXTRA_OECONF = "\
 "
 
 do_install_append() {
-    ln -sf libtk8.6.so ${D}${libdir}/libtk8.6.so.0
-    oe_libinstall -so libtk8.6 ${D}${libdir}
-    ln -sf wish8.6 ${D}${bindir}/wish
-	
+    ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0
+    oe_libinstall -so libtk${VER} ${D}${libdir}
+    ln -sf wish${VER} ${D}${bindir}/wish
+
     # Even after passing libdir=${libdir} at config, some incorrect dirs are still generated for the multilib build
     if [ "$libdir" != "/usr/lib" ]; then
         # Move files to correct library directory
-        mv ${D}/usr/lib/tk8.6/* ${D}/${libdir}/tk8.6/
+        mv ${D}/usr/lib/tk${VER}/* ${D}/${libdir}/tk${VER}/
         # Remove unneeded/incorrect dir ('usr/lib/')
         rm -rf ${D}/usr/lib
     fi
@@ -43,12 +59,14 @@ do_install_append() {
 
 PACKAGES =+ "${PN}-lib"
 
-FILES_${PN}-lib = "${libdir}/libtk8.6.so*"
+FILES_${PN}-lib = "${libdir}/libtk${VER}.so*"
 FILES_${PN} += "${libdir}/tk*"
 
 # isn't getting picked up by shlibs code
 RDEPENDS_${PN} += "tk-lib"
 RDEPENDS_${PN}_class-native = ""
 
-BINCONFIG_GLOB = "*Config.sh"
 BBCLASSEXTEND = "native"
+
+# Fix the path in sstate
+SSTATE_SCAN_FILES += "*Config.sh"
-- 
1.8.5.4



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [meta-oe][PATCH] tk: cleanup
  2014-05-05 15:51 [meta-oe][PATCH] tk: cleanup Matthieu Crapet
@ 2014-05-05 16:29 ` Martin Jansa
  2014-05-06  6:49   ` Matthieu CRAPET
  0 siblings, 1 reply; 5+ messages in thread
From: Martin Jansa @ 2014-05-05 16:29 UTC (permalink / raw)
  To: openembedded-devel

[-- Attachment #1: Type: text/plain, Size: 4454 bytes --]

On Mon, May 05, 2014 at 05:51:23PM +0200, Matthieu Crapet wrote:
> Changes:
> - use ${BPN} and ${PV}
> - use ${VER} intermediate variable for readability
> - fulfill LIC_FILES_CHKSUM
> - remove BINCONFIG_GLOB: inherit binconfig is not present, lib/tkConfig.sh paths are valid
> - add SSTATE_SCAN_FILES, like it is done in tcl recipe (OE-Core)

Does it also fix the tk issues which were shown in all world build reports?

> Note: tcl and tk are sharing the same licence, it will be added to OE-Core soon.
> It will drop QA warning.
> 
> Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
> ---
>  meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb | 40 ++++++++++++++++++++++--------
>  1 file changed, 29 insertions(+), 11 deletions(-)
> 
> diff --git a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
> index d12973c..58862e7 100644
> --- a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
> +++ b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
> @@ -1,12 +1,24 @@
>  SUMMARY = "Tool Command Language ToolKit Extension"
>  HOMEPAGE = "http://tcl.sourceforge.net"
>  SECTION = "devel/tcltk"
> +
> +# http://www.tcl.tk/software/tcltk/license.html
>  LICENSE = "tcl"
> -LIC_FILES_CHKSUM = "file://license.terms;md5=c88f99decec11afa967ad33d314f87fe"
> +LIC_FILES_CHKSUM = "file://../license.terms;md5=c88f99decec11afa967ad33d314f87fe \
> +    file://../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
> +    file://../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
> +    file://../library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
> +    file://../macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
> +    file://../tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
> +    file://../unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
> +    file://../win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
> +    file://../xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
> +"
> +
>  DEPENDS = "tcl virtual/libx11 libxt"
>  
>  SRC_URI = "\
> -    ${SOURCEFORGE_MIRROR}/tcl/tk${PV}-src.tar.gz \
> +    ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \
>      file://confsearch.diff;striplevel=2 \
>      file://non-linux.diff;striplevel=2 \
>      file://tklibrary.diff;striplevel=2 \
> @@ -16,8 +28,12 @@ SRC_URI = "\
>  SRC_URI[md5sum] = "b883a1a3c489c17413fb602a94bf54e8"
>  SRC_URI[sha256sum] = "5c708b2b6f658916df59190b27750fa1ea2bc10992108e10f961c0700f058de6"
>  
> -S = "${WORKDIR}/tk${PV}/unix"
> -LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/8.6.0/lib"
> +S = "${WORKDIR}/${BPN}${PV}/unix"
> +
> +# Short version format: "8.6"
> +VER = "${@os.path.splitext(d.getVar('PV', True))[0]}"
> +
> +LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib"
>  inherit autotools
>  
>  EXTRA_OECONF = "\
> @@ -28,14 +44,14 @@ EXTRA_OECONF = "\
>  "
>  
>  do_install_append() {
> -    ln -sf libtk8.6.so ${D}${libdir}/libtk8.6.so.0
> -    oe_libinstall -so libtk8.6 ${D}${libdir}
> -    ln -sf wish8.6 ${D}${bindir}/wish
> -	
> +    ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0
> +    oe_libinstall -so libtk${VER} ${D}${libdir}
> +    ln -sf wish${VER} ${D}${bindir}/wish
> +
>      # Even after passing libdir=${libdir} at config, some incorrect dirs are still generated for the multilib build
>      if [ "$libdir" != "/usr/lib" ]; then
>          # Move files to correct library directory
> -        mv ${D}/usr/lib/tk8.6/* ${D}/${libdir}/tk8.6/
> +        mv ${D}/usr/lib/tk${VER}/* ${D}/${libdir}/tk${VER}/
>          # Remove unneeded/incorrect dir ('usr/lib/')
>          rm -rf ${D}/usr/lib
>      fi
> @@ -43,12 +59,14 @@ do_install_append() {
>  
>  PACKAGES =+ "${PN}-lib"
>  
> -FILES_${PN}-lib = "${libdir}/libtk8.6.so*"
> +FILES_${PN}-lib = "${libdir}/libtk${VER}.so*"
>  FILES_${PN} += "${libdir}/tk*"
>  
>  # isn't getting picked up by shlibs code
>  RDEPENDS_${PN} += "tk-lib"
>  RDEPENDS_${PN}_class-native = ""
>  
> -BINCONFIG_GLOB = "*Config.sh"
>  BBCLASSEXTEND = "native"
> +
> +# Fix the path in sstate
> +SSTATE_SCAN_FILES += "*Config.sh"
> -- 
> 1.8.5.4
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [meta-oe][PATCH] tk: cleanup
  2014-05-05 16:29 ` Martin Jansa
@ 2014-05-06  6:49   ` Matthieu CRAPET
  2014-05-06 21:41     ` Martin Jansa
  0 siblings, 1 reply; 5+ messages in thread
From: Matthieu CRAPET @ 2014-05-06  6:49 UTC (permalink / raw)
  To: openembedded-devel@lists.openembedded.org

Hi,

> Does it also fix the tk issues which were shown in all world build reports?

I'm afraid not. That was my primary objective, but I was unable to reproduce the issue (even with insane PARALLEL_MAKE parameter).
It's quite cosmetics, but the BINCONFIG_GLOB/SSTATE_SCAN_FILES fix is worth it.

Regards,
M


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [meta-oe][PATCH] tk: cleanup
  2014-05-06  6:49   ` Matthieu CRAPET
@ 2014-05-06 21:41     ` Martin Jansa
  2014-05-07 13:11       ` [meta-oe][PATCH v2] tk: cleanup & add PACKAGECONFIG Matthieu Crapet
  0 siblings, 1 reply; 5+ messages in thread
From: Martin Jansa @ 2014-05-06 21:41 UTC (permalink / raw)
  To: openembedded-devel

[-- Attachment #1: Type: text/plain, Size: 7256 bytes --]

On Tue, May 06, 2014 at 06:49:50AM +0000, Matthieu CRAPET wrote:
> Hi,
> 
> > Does it also fix the tk issues which were shown in all world build reports?
> 
> I'm afraid not. That was my primary objective, but I was unable to reproduce the issue (even with insane PARALLEL_MAKE parameter).
> It's quite cosmetics, but the BINCONFIG_GLOB/SSTATE_SCAN_FILES fix is worth it.

Well it will be PNBLACKLISTED if it's not fixed, can you please
check/confirm that your build also ends with /usr/lib/ in rpath?

| arm-oe-linux-gnueabi-ar cr libtkstub8.6.a tkStubLib.o ttkStubLib.o ; arm-oe-linux-gnueabi-ranlib libtkstub8.6.a
| rm -f libtk8.6.so
| arm-oe-linux-gnueabi-gcc  -march=armv5te -marm -mthumb-interwork --sysroot=/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm -shared -O2  -O2 -pipe -g -feliminate-unused-debug-types -pipe -fvisibility=hidden   -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-rpath,/usr/lib/tcltk/8.6.0/lib -Wl,--export-dynamic  -o libtk8.6.so tk3d.o tkArgv.o tkAtom.o tkBind.o tkBitmap.o tkBusy.o tkClipboard.o tkCmds.o tkColor.o tkConfig.o tkConsole.o tkCursor.o tkError.o tkEvent.o tkFocus.o tkFont.o tkGet.o tkGC.o tkGeometry.o tkGrab.o tkGrid.o tkMain.o tkObj.o tkOldConfig.o tkOption.o tkPack.o tkPlace.o tkSelect.o tkStyle.o tkUndo.o tkUtil.o tkVisual.o tkWindow.o tkButton.o tkEntry.o tkFrame.o tkListbox.o tkMenu.o tkMenubutton.o tkMenuDraw.o tkMessage.o tkPanedWindow.o tkScale.o tkScrollbar.o tkCanvas.o tkCanvArc.o tkCanvBmap.o tkCanvImg.o tkCanvLine.o tkCanvPoly.o tkCanvPs.o tkCanvText.o tkCanvUtil.o tkCanvWind.o tkRectOval.o tkTrig.o tkImage.o tkImgBmap.o tkImgGIF.o tkImgPNG.o tkImgPPM.o tkImgPhoto.o tkImgPhInstance.o tkText.o tkTextBTree.o tkTextDisp.o tkTextImage.o tkTextIndex.o tkTextMark.o tkTextTag.o tkTextWind.o tkStubInit.o ttkBlink.o ttkButton.o ttkCache.o ttkClamTheme.o ttkClassicTheme.o ttkDefaultTheme.o ttkElements.o ttkEntry.o ttkFrame.o ttkImage.o ttkInit.o ttkLabel.o ttkLayout.o ttkManager.o ttkNotebook.o ttkPanedwindow.o ttkProgress.o ttkScale.o ttkScrollbar.o ttkScroll.o ttkSeparator.o ttkSquare.o ttkState.o ttkTagSet.o ttkTheme.o ttkTrace.o ttkTrack.o ttkTreeview.o ttkWidget.o ttkStubInit.o tkUnix.o tkUnix3d.o tkUnixButton.o tkUnixColor.o tkUnixConfig.o tkUnixCursor.o tkUnixDraw.o tkUnixEmbed.o tkUnixEvent.o tkUnixFocus.o  tkUnixRFont.o tkUnixInit.o tkUnixKey.o tkUnixMenu.o tkUnixMenubu.o tkUnixScale.o tkUnixScrlbr.o tkUnixSelect.o tkUnixSend.o tkUnixWm.o tkUnixXId.o   -lpthread -lXft  -lX11 -lXss -lXext -ldl -lz  -lpthread -lieee -lm -L=/usr/lib -ltclstub8.6  -Wl,-rpath,/usr/lib
| arm-oe-linux-gnueabi-gcc  -march=armv5te -marm -mthumb-interwork --sysroot=/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm -O2  -O2 -pipe -g -feliminate-unused-debug-types -pipe -fvisibility=hidden   -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-rpath,/usr/lib/tcltk/8.6.0/lib -Wl,--export-dynamic  tkAppInit.o -L/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix -ltk8.6 -L=/usr/lib -ltcl8.6  -lpthread -lXft  -lX11 -lXss -lXext -ldl -lz  -lpthread -lieee -lm  \
| 		-Wl,-rpath,/usr/lib -o wish
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcCharSetHasChar'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcFontRenderPrepare'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcPatternAddMatrix'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcCharSetDestroy'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcPatternDestroy'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcFontSetDestroy'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcPatternGetString'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcPatternGetDouble'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcPatternGetInteger'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcConfigSubstitute'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcFontSort'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcPatternGetCharSet'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcCharSetCopy'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcPatternCreate'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcPatternAddString'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcPatternAddDouble'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcPatternAddInteger'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcPatternAddBool'
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/tk8.6.0/unix/libtk8.6.so: error: undefined reference to 'FcUtf8ToUcs4'
| collect2: error: ld returned 1 exit status
| make: *** [wish] Error 1
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile (log file is located at /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/tk/8.6.0-r0/temp/log.do_compile.21584)
NOTE: recipe tk-8.6.0-r0: task do_compile: Failed
NOTE: recipe initramfs-boot-1.0-r2: task do_rm_work_all: Started
NOTE: recipe fso-alsa-data-0.1.0-r0: task do_rm_work: Succeeded
ERROR: Task 11401 (/home/jenkins/oe/shr-core-branches/shr-core/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb, do_compile) failed with exit code '1'

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [meta-oe][PATCH v2] tk: cleanup & add PACKAGECONFIG
  2014-05-06 21:41     ` Martin Jansa
@ 2014-05-07 13:11       ` Matthieu Crapet
  0 siblings, 0 replies; 5+ messages in thread
From: Matthieu Crapet @ 2014-05-07 13:11 UTC (permalink / raw)
  To: openembedded-devel

Changes:
- add PACKAGECONFIG "xft" enables XFontConfig features
- add PACKAGECONFIG "xss" enables XScreenSaver extension
- use ${BPN} and ${PV}
- use ${VER} intermediate variable for readability
- fulfill LIC_FILES_CHKSUM
- remove BINCONFIG_GLOB: inherit binconfig is not present, lib/tkConfig.sh paths are valid
- add SSTATE_SCAN_FILES, like it is done in tcl recipe (OE-Core)

Note: tcl and tk are sharing the same licence, tcl licence file in commited in OE-Core.

Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
---
 meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb | 44 ++++++++++++++++++++++--------
 1 file changed, 33 insertions(+), 11 deletions(-)

diff --git a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
index d12973c..36a1729 100644
--- a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
+++ b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
@@ -1,12 +1,24 @@
 SUMMARY = "Tool Command Language ToolKit Extension"
 HOMEPAGE = "http://tcl.sourceforge.net"
 SECTION = "devel/tcltk"
+
+# http://www.tcl.tk/software/tcltk/license.html
 LICENSE = "tcl"
-LIC_FILES_CHKSUM = "file://license.terms;md5=c88f99decec11afa967ad33d314f87fe"
+LIC_FILES_CHKSUM = "file://../license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+    file://../xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+"
+
 DEPENDS = "tcl virtual/libx11 libxt"
 
 SRC_URI = "\
-    ${SOURCEFORGE_MIRROR}/tcl/tk${PV}-src.tar.gz \
+    ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \
     file://confsearch.diff;striplevel=2 \
     file://non-linux.diff;striplevel=2 \
     file://tklibrary.diff;striplevel=2 \
@@ -16,8 +28,12 @@ SRC_URI = "\
 SRC_URI[md5sum] = "b883a1a3c489c17413fb602a94bf54e8"
 SRC_URI[sha256sum] = "5c708b2b6f658916df59190b27750fa1ea2bc10992108e10f961c0700f058de6"
 
-S = "${WORKDIR}/tk${PV}/unix"
-LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/8.6.0/lib"
+S = "${WORKDIR}/${BPN}${PV}/unix"
+
+# Short version format: "8.6"
+VER = "${@os.path.splitext(d.getVar('PV', True))[0]}"
+
+LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib"
 inherit autotools
 
 EXTRA_OECONF = "\
@@ -28,27 +44,33 @@ EXTRA_OECONF = "\
 "
 
 do_install_append() {
-    ln -sf libtk8.6.so ${D}${libdir}/libtk8.6.so.0
-    oe_libinstall -so libtk8.6 ${D}${libdir}
-    ln -sf wish8.6 ${D}${bindir}/wish
-	
+    ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0
+    oe_libinstall -so libtk${VER} ${D}${libdir}
+    ln -sf wish${VER} ${D}${bindir}/wish
+
     # Even after passing libdir=${libdir} at config, some incorrect dirs are still generated for the multilib build
     if [ "$libdir" != "/usr/lib" ]; then
         # Move files to correct library directory
-        mv ${D}/usr/lib/tk8.6/* ${D}/${libdir}/tk8.6/
+        mv ${D}/usr/lib/tk${VER}/* ${D}/${libdir}/tk${VER}/
         # Remove unneeded/incorrect dir ('usr/lib/')
         rm -rf ${D}/usr/lib
     fi
 }
 
+PACKAGECONFIG ??= "xft"
+PACKAGECONFIG[xft] = "--enable-xft,--disable-xft,xft"
+PACKAGECONFIG[xss] = "--enable-xss,--disable-xss,libxscrnsaver libxext"
+
 PACKAGES =+ "${PN}-lib"
 
-FILES_${PN}-lib = "${libdir}/libtk8.6.so*"
+FILES_${PN}-lib = "${libdir}/libtk${VER}.so*"
 FILES_${PN} += "${libdir}/tk*"
 
 # isn't getting picked up by shlibs code
 RDEPENDS_${PN} += "tk-lib"
 RDEPENDS_${PN}_class-native = ""
 
-BINCONFIG_GLOB = "*Config.sh"
 BBCLASSEXTEND = "native"
+
+# Fix the path in sstate
+SSTATE_SCAN_FILES += "*Config.sh"
-- 
1.8.5.4



^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-05-07 13:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-05 15:51 [meta-oe][PATCH] tk: cleanup Matthieu Crapet
2014-05-05 16:29 ` Martin Jansa
2014-05-06  6:49   ` Matthieu CRAPET
2014-05-06 21:41     ` Martin Jansa
2014-05-07 13:11       ` [meta-oe][PATCH v2] tk: cleanup & add PACKAGECONFIG Matthieu Crapet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox