diff options
author | Michael 'Mickey' Lauer <mickey@vanille-media.de> | 2009-01-24 21:06:22 +0100 |
---|---|---|
committer | Michael 'Mickey' Lauer <mickey@vanille-media.de> | 2009-01-24 21:23:09 +0100 |
commit | 2d441c0f1b596a90dc4b8ecac238b435132de4c1 (patch) | |
tree | 7f6acf49447578e9ba5a50758977846b8661b4d1 | |
parent | cc6c7c1e02f587b97b779bf68a89cb695e06f4a7 (diff) |
tcltk: 8.4.11 -> 8.4.19; try harder to get proper library packaging
-rw-r--r-- | packages/tcltk/files/tcl-add-soname.patch | 45 | ||||
-rw-r--r-- | packages/tcltk/files/tk-add-soname.patch | 68 | ||||
-rw-r--r-- | packages/tcltk/tcl_8.4.11.bb | 50 | ||||
-rw-r--r-- | packages/tcltk/tcl_8.4.19.bb | 43 | ||||
-rw-r--r-- | packages/tcltk/tk_8.4.19.bb (renamed from packages/tcltk/tk_8.4.11.bb) | 37 |
5 files changed, 162 insertions, 81 deletions
diff --git a/packages/tcltk/files/tcl-add-soname.patch b/packages/tcltk/files/tcl-add-soname.patch index fe02736005..951244327b 100644 --- a/packages/tcltk/files/tcl-add-soname.patch +++ b/packages/tcltk/files/tcl-add-soname.patch @@ -1,12 +1,41 @@ -diff -u tcl8.3.5/unix/tcl.m4~ tcl8.3.5/unix/tcl.m4 ---- unix/tcl.m4~ 2003-01-14 20:42:53.000000000 +0900 -+++ unix/tcl.m4 2003-01-14 20:42:53.000000000 +0900 -@@ -954,7 +954,7 @@ - CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" +Patch by Chris Waters removes -rpath from search flags and adds -soname +to library build options. + +--- tcl8.4-8.4.19.orig/unix/configure ++++ tcl8.4-8.4.19/unix/configure +@@ -3072,12 +3072,15 @@ + # get rid of the warnings. + #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" ++ # following line added by CW for Debian GNU/Linux ++ TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0" ++ if test "$have_dl" = yes; then -- SHLIB_LD="${CC} -shared" -+ SHLIB_LD='${CC} -shared -Wl,-soname,${@}' + SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" - LDFLAGS="-rdynamic" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" +- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ CC_SEARCH_FLAGS="" + LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} + else + ac_safe=`echo "dld.h" | sed 'y%./+-%__p_%'` +--- tcl8.4-8.4.19.orig/unix/tcl.m4 ++++ tcl8.4-8.4.19/unix/tcl.m4 +@@ -1346,12 +1346,15 @@ + # get rid of the warnings. + #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" + ++ # following line added by CW for Debian GNU/Linux ++ TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\${TCL_LIB_FILE}.0" ++ + if test "$have_dl" = yes; then + SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" +- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ CC_SEARCH_FLAGS="" + LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} + else + AC_CHECK_HEADER(dld.h, [ diff --git a/packages/tcltk/files/tk-add-soname.patch b/packages/tcltk/files/tk-add-soname.patch index 31702ca2a9..f1f132f2a4 100644 --- a/packages/tcltk/files/tk-add-soname.patch +++ b/packages/tcltk/files/tk-add-soname.patch @@ -1,12 +1,64 @@ -diff -u tk8.3.5/unix/tcl.m4~ tk8.3.5/unix/tcl.m4 ---- unix/tcl.m4~ 2003-01-14 21:22:12.000000000 +0900 -+++ unix/tcl.m4 2003-01-14 21:22:12.000000000 +0900 -@@ -949,7 +949,7 @@ - CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" +Patch by Chris Waters removes -rpath from search flags and adds -soname +to library build options. + +Also, it fixes Makefile.in to put correct Tk library filename to pkgIndex.tcl + +--- tk8.4-8.4.19.orig/unix/configure ++++ tk8.4-8.4.19/unix/configure +@@ -2568,12 +2568,15 @@ + # get rid of the warnings. + #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" ++ # following line added by CW for Debian GNU/Linux ++ TK_SHLIB_LD_EXTRAS="-Wl,-soname,\${TK_LIB_FILE}.0" ++ if test "$have_dl" = yes; then -- SHLIB_LD="${CC} -shared" -+ SHLIB_LD='${CC} -shared -Wl,-soname,${@}' + SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" - LDFLAGS="-rdynamic" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" +- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' ++ CC_SEARCH_FLAGS="" + LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} + else + ac_safe=`echo "dld.h" | sed 'y%./+-%__p_%'` +--- tk8.4-8.4.19.orig/unix/Makefile.in ++++ tk8.4-8.4.19/unix/Makefile.in +@@ -635,7 +635,7 @@ + relative=`echo | awk '{ORS=" "; split("$(TK_PKG_DIR)",a,"/"); for (f in a) {print ".."}}'`;\ + echo "if {[package vcompare [package provide Tcl] $(TCLVERSION)] != 0} { return }";\ + echo "package ifneeded Tk $(MAJOR_VERSION).$(MINOR_VERSION)\ +- [list load [file join \$$dir $${relative}$(TK_LIB_FILE)] Tk]";\ ++ [list load [file join $(LIB_RUNTIME_DIR) $(TK_LIB_FILE).0] Tk]";\ + ) > $(PKG_INDEX); \ + fi + @echo "Installing $(LIB_FILE) to $(LIB_INSTALL_DIR)/" +--- tk8.4-8.4.19.orig/unix/tcl.m4 ++++ tk8.4-8.4.19/unix/tcl.m4 +@@ -1346,20 +1346,23 @@ + # get rid of the warnings. + #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" + ++ # following line added by CW for Debian GNU/Linux ++ TK_SHLIB_LD_EXTRAS="-Wl,-soname,\${TK_LIB_FILE}.0" ++ + if test "$have_dl" = yes; then + SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' + DL_OBJS="tclLoadDl.o" + DL_LIBS="-ldl" + LDFLAGS="$LDFLAGS -Wl,--export-dynamic" +- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' +- LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} ++ CC_SEARCH_FLAGS="" ++ LD_SEARCH_FLAGS="${CC_SEARCH_FLAGS}" + else + AC_CHECK_HEADER(dld.h, [ + SHLIB_LD="ld -shared" + DL_OBJS="tclLoadDld.o" + DL_LIBS="-ldld" + CC_SEARCH_FLAGS="" +- LD_SEARCH_FLAGS=""]) ++ LD_SEARCH_FLAGS="${CC_SEARCH_FLAGS}"]) + fi + if test "`uname -m`" = "alpha" ; then + CFLAGS="$CFLAGS -mieee" diff --git a/packages/tcltk/tcl_8.4.11.bb b/packages/tcltk/tcl_8.4.11.bb deleted file mode 100644 index 4bf3efd786..0000000000 --- a/packages/tcltk/tcl_8.4.11.bb +++ /dev/null @@ -1,50 +0,0 @@ -DESCRIPTION = "Tool Command Language" -LICENSE = "tcl" -SECTION = "devel/tcltk" -HOMEPAGE = "http://tcl.sourceforge.net" -PR = "r6" - -SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/tcl${PV}-src.tar.gz \ - file://tcl-add-soname.patch;patch=1 \ - file://fix-configure.patch;patch=1;pnum=2" - -S = "${WORKDIR}/tcl${PV}/unix" - -inherit autotools - -EXTRA_OECONF = "--enable-threads" - -do_configure() { - gnu-configize - oe_runconf -} - -do_compile_prepend() { - echo > ../compat/fixstrtod.c -} - -do_stage() { - oe_libinstall -a libtclstub8.4 ${STAGING_LIBDIR} - oe_libinstall -so libtcl8.4 ${STAGING_LIBDIR} - sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tclConfig.sh - sed -i "s,-L${libdir},," tclConfig.sh - install -d ${STAGING_BINDIR_CROSS}/ - install -m 0755 tclConfig.sh ${STAGING_BINDIR_CROSS} - cd .. - for dir in compat generic unix - do - install -d ${STAGING_INCDIR}/tcl${PV}/$dir - install -m 0644 $dir/*.h ${STAGING_INCDIR}/tcl${PV}/$dir/ - done - install -m 0644 generic/tcl.h ${STAGING_INCDIR} - install -m 0644 generic/tclDecls.h ${STAGING_INCDIR} - install -m 0644 generic/tclPlatDecls.h ${STAGING_INCDIR} -} - -do_install() { - autotools_do_install - oe_libinstall -so libtcl8.4 ${D}${libdir} - ln -sf ./tclsh8.4 ${D}${bindir}/tclsh -} - -FILES_${PN} += "${libdir}/tcl8.4 ${libdir}/libtcl8.4.so" diff --git a/packages/tcltk/tcl_8.4.19.bb b/packages/tcltk/tcl_8.4.19.bb new file mode 100644 index 0000000000..440537b1de --- /dev/null +++ b/packages/tcltk/tcl_8.4.19.bb @@ -0,0 +1,43 @@ +DESCRIPTION = "Tool Command Language" +LICENSE = "tcl" +SECTION = "devel/tcltk" +HOMEPAGE = "http://tcl.sourceforge.net" +PR = "r0" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/tcl/tcl${PV}-src.tar.gz \ + file://tcl-add-soname.patch;patch=1;pnum=2 \ +# file://fix-configure.patch;patch=1;pnum=2 \ +" +S = "${WORKDIR}/tcl${PV}/unix" + +inherit autotools + +EXTRA_OECONF = "--enable-threads" + +do_configure() { + gnu-configize + oe_runconf +} + +do_compile_prepend() { + echo > ../compat/fixstrtod.c +} + +do_stage() { + autotools_stage_all + mv libtcl8.4.so libtcl8.4.so.0 + oe_libinstall -so libtcl8.4 ${STAGING_LIBDIR} +} + +do_install() { + autotools_do_install + mv libtcl8.4.so libtcl8.4.so.0 + oe_libinstall -so libtcl8.4 ${D}${libdir} + ln -sf ./tclsh8.4 ${D}${bindir}/tclsh +} + +PACKAGES =+ "${PN}-lib" +FILES_${PN}-lib = "${libdir}/libtcl8.4.so.*" +FILES_${PN} += "${libdir}/tcl8.4" +FILES_${PN}-dev += "${libdir/tclConfig.sh" diff --git a/packages/tcltk/tk_8.4.11.bb b/packages/tcltk/tk_8.4.19.bb index 85b5124173..a9bb0bd6df 100644 --- a/packages/tcltk/tk_8.4.11.bb +++ b/packages/tcltk/tk_8.4.19.bb @@ -3,20 +3,24 @@ LICENSE = "tcl" SECTION = "devel/tcltk" HOMEPAGE = "http://tcl.sourceforge.net" DEPENDS = "tcl virtual/libx11 libxt" -RDEPENDS = "tcl" -PR = "r5" - -SRC_URI = "${SOURCEFORGE_MIRROR}/tcl/tk${PV}-src.tar.gz \ - file://disable-xim.patch;patch=1;pnum=0 \ - file://tk-add-soname.patch;patch=1 \ - file://fix-configure.patch;patch=1;pnum=2" - +PR = "r0" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/tcl/tk${PV}-src.tar.gz \ + file://disable-xim.patch;patch=1;pnum=0 \ + file://tk-add-soname.patch;patch=1;pnum=2 \ +# file://fix-configure.patch;patch=1;pnum=2 \ +" S = "${WORKDIR}/tk${PV}/unix" inherit autotools -EXTRA_OECONF = "--enable-threads --with-tcl=${STAGING_BINDIR_CROSS} \ - --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}" +EXTRA_OECONF = "\ + --enable-threads \ + --with-tcl=${STAGING_BINDIR_CROSS} \ + --x-includes=${STAGING_INCDIR} \ + --x-libraries=${STAGING_LIBDIR} \ +" do_configure() { gnu-configize @@ -24,10 +28,10 @@ do_configure() { } do_stage() { - oe_libinstall -a libtkstub8.4 ${STAGING_LIBDIR} - oe_libinstall -so libtk8.4 ${STAGING_LIBDIR} - sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tkConfig.sh - install -m 0755 tkConfig.sh ${STAGING_BINDIR_CROSS} + oe_libinstall -a libtkstub8.4 ${STAGING_LIBDIR} + oe_libinstall -so libtk8.4 ${STAGING_LIBDIR} + sed -i "s+${WORKDIR}+${STAGING_INCDIR}+g" tkConfig.sh + install -m 0755 tkConfig.sh ${STAGING_BINDIR_CROSS} cd .. #for dir in compat generic unix #do @@ -42,8 +46,11 @@ do_stage() { do_install() { autotools_do_install + mv libtk8.4.so libtk8.4.so.0 oe_libinstall -so libtk8.4 ${D}${libdir} ln -sf ./wish8.4 ${D}${bindir}/wish } -FILES_${PN} += "${libdir}/tk8.4 ${libdir}/libtk8.4.so" +PACKAGES =+ "${PN}-lib" +FILES_${PN}-lib = "${libdir}/libtk8.4.so.*" +FILES_${PN} += "${libdir}" |