summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael 'Mickey' Lauer <mickey@vanille-media.de>2009-01-24 21:06:22 +0100
committerMichael 'Mickey' Lauer <mickey@vanille-media.de>2009-01-24 21:23:09 +0100
commit2d441c0f1b596a90dc4b8ecac238b435132de4c1 (patch)
tree7f6acf49447578e9ba5a50758977846b8661b4d1
parentcc6c7c1e02f587b97b779bf68a89cb695e06f4a7 (diff)
tcltk: 8.4.11 -> 8.4.19; try harder to get proper library packaging
-rw-r--r--packages/tcltk/files/tcl-add-soname.patch45
-rw-r--r--packages/tcltk/files/tk-add-soname.patch68
-rw-r--r--packages/tcltk/tcl_8.4.11.bb50
-rw-r--r--packages/tcltk/tcl_8.4.19.bb43
-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}"