summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Gardner <je_fro@gentoo.org>2008-10-23 16:11:08 +0000
committerJeffrey Gardner <je_fro@gentoo.org>2008-10-23 16:11:08 +0000
commitb959ccf8613e08c6864872e536836e1b47afaa76 (patch)
tree2cedb640c384885fd08d8ea2021701070735b2e7
parentlatest svn (diff)
downloadje_fro-b959ccf8613e08c6864872e536836e1b47afaa76.tar.gz
je_fro-b959ccf8613e08c6864872e536836e1b47afaa76.tar.bz2
je_fro-b959ccf8613e08c6864872e536836e1b47afaa76.zip
fix for bug #225999
svn path=/; revision=247
-rw-r--r--dev-lang/tk/Manifest10
-rw-r--r--dev-lang/tk/files/remove-control-v-8.4.9.diff18
-rw-r--r--dev-lang/tk/files/tk-8.4-lastevent.patch25
-rw-r--r--dev-lang/tk/files/tk-8.4.11-multilib.patch24
-rw-r--r--dev-lang/tk/files/tk-8.4.15-tclm4-soname.patch12
-rw-r--r--dev-lang/tk/files/tk-8.4.9-man.patch29
-rw-r--r--dev-lang/tk/files/tk-8.5_alpha6-tclm4-soname.patch12
-rw-r--r--dev-lang/tk/files/tk-CVE-2007-4851.patch12
-rw-r--r--dev-lang/tk/files/tk-configure-LANG.patch41
-rw-r--r--dev-lang/tk/tk-8.4.18.ebuild121
10 files changed, 304 insertions, 0 deletions
diff --git a/dev-lang/tk/Manifest b/dev-lang/tk/Manifest
new file mode 100644
index 0000000..6ec9881
--- /dev/null
+++ b/dev-lang/tk/Manifest
@@ -0,0 +1,10 @@
+AUX remove-control-v-8.4.9.diff 522 RMD160 393f14c68f75795bc10e94d00a2e4d470ab50e4d SHA1 e45327e49545a8ef6132bec7303ef0b19a06e794 SHA256 f82a147821e6eb4cda3674568450903de864c99d73cae6062b56c391e7290bba
+AUX tk-8.4-lastevent.patch 843 RMD160 1c393d481c652f6f965723d61575f01b90f259d8 SHA1 4f32ca49048d3aa9bf5683803ab099c8f40b5d2c SHA256 b813e729904a9bce9b6f776901c165c798b345bb5602e53d2993a2c1858abcf1
+AUX tk-8.4.11-multilib.patch 896 RMD160 29152dde424c41555e132c1b279ccc7ab279e27f SHA1 7f6e6d808e2016b1283d45fa001482c7a76a66a7 SHA256 1f15653e3f68fdd6b32b985514d6b2bae7a3a6c717a326c85082394095376636
+AUX tk-8.4.15-tclm4-soname.patch 533 RMD160 78caf459d2d06e769e01de5009cb63d8e1c19a62 SHA1 4c4614dc2a7f99ccdf1c1b0cfccd15ec74269333 SHA256 7b885a3307007613e32d15bd2ec144590079e291c0ee5315ed3425f066e784cc
+AUX tk-8.4.9-man.patch 800 RMD160 8d06c54ab7ae0edf584248a8f6f14f46e08eec97 SHA1 32513bf413dcd8387594da50be97e353d36eab49 SHA256 5e356b8d34fc6687af03f1aa93e2a05619e0df0bbef65a8bc76e0a9a3da56dfa
+AUX tk-8.5_alpha6-tclm4-soname.patch 540 RMD160 7ed0721d8ee1fda0b1109c753f2fa6602224706f SHA1 c83f403291bb0312f7ffe16669898bb494b48fe7 SHA256 6e6a6d9ae62040cc2f386c92854cb59e34f0824abeabdcb5a86d07f3f7eb6a4d
+AUX tk-CVE-2007-4851.patch 405 RMD160 bfc884fbe1f0f2facb892ff0100f59dae0fe5256 SHA1 31c34d01cc5372395d37d2e878a61a059933e5b8 SHA256 e57158583d127b3d9751becb03ee6e11c0fc602150396ce902d1fdee73cb4a32
+AUX tk-configure-LANG.patch 1686 RMD160 4ff8355af81705058fd411910dfae94887bcd884 SHA1 67ae0deff73689cb39cd6e7451262bdda9c25a39 SHA256 dc9386b88eac48c282d63d0be7e7be81d4a0a08035a8b97138a61133e057bcea
+DIST tk8.4.18-src.tar.gz 3363853 RMD160 9c01ba85575a230231793a9885457c98046e41bb SHA1 c1032f3cacd40406065fc1f46ecd217f50329273 SHA256 1757b0daff8a8bb962e612691236ae838e353521e7184464a5d32225905eac18
+EBUILD tk-8.4.18.ebuild 3291 RMD160 d89ee4497979a089cb7906957e6087bb901853ec SHA1 7d949b47b7e94602a1164cf80691717094d4d2ab SHA256 1a3deae2af5cda95afc62f34a554b4951b894da960ef246b053ac182ef27efad
diff --git a/dev-lang/tk/files/remove-control-v-8.4.9.diff b/dev-lang/tk/files/remove-control-v-8.4.9.diff
new file mode 100644
index 0000000..0196599
--- /dev/null
+++ b/dev-lang/tk/files/remove-control-v-8.4.9.diff
@@ -0,0 +1,18 @@
+diff -Naur tk8.4.9.orig/library/text.tcl tk8.4.9/library/text.tcl
+--- tk8.4.9.orig/library/text.tcl 2004-12-07 04:42:11.000000000 +0900
++++ tk8.4.9/library/text.tcl 2005-03-02 23:04:01.729780958 +0900
+@@ -347,14 +347,6 @@
+ catch { %W edit redo }
+ }
+
+-if {$tcl_platform(platform) ne "windows"} {
+-bind Text <Control-v> {
+- if {!$tk_strictMotif} {
+- tk::TextScrollPages %W 1
+- }
+-}
+-}
+-
+ bind Text <Meta-b> {
+ if {!$tk_strictMotif} {
+ tk::TextSetCursor %W [tk::TextPrevPos %W insert tcl_startOfPreviousWord]
diff --git a/dev-lang/tk/files/tk-8.4-lastevent.patch b/dev-lang/tk/files/tk-8.4-lastevent.patch
new file mode 100644
index 0000000..77c7f75
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.4-lastevent.patch
@@ -0,0 +1,25 @@
+--- generic/tk.h.orig 2008-02-06 16:31:40.000000000 +0100
++++ generic/tk.h 2008-07-24 08:21:46.000000000 +0200
+@@ -635,17 +635,15 @@
+ *
+ *---------------------------------------------------------------------------
+ */
+-#define VirtualEvent (LASTEvent)
+-#define ActivateNotify (LASTEvent + 1)
+-#define DeactivateNotify (LASTEvent + 2)
+-#define MouseWheelEvent (LASTEvent + 3)
+-#define TK_LASTEVENT (LASTEvent + 4)
++#define VirtualEvent (MappingNotify + 1)
++#define ActivateNotify (MappingNotify + 2)
++#define DeactivateNotify (MappingNotify + 3)
++#define MouseWheelEvent (MappingNotify + 4)
++#define TK_LASTEVENT (MappingNotify + 5)
+
+ #define MouseWheelMask (1L << 28)
+-
+ #define ActivateMask (1L << 29)
+ #define VirtualEventMask (1L << 30)
+-#define TK_LASTEVENT (LASTEvent + 4)
+
+
+ /*
diff --git a/dev-lang/tk/files/tk-8.4.11-multilib.patch b/dev-lang/tk/files/tk-8.4.11-multilib.patch
new file mode 100644
index 0000000..092b806
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.4.11-multilib.patch
@@ -0,0 +1,24 @@
+diff -Naur tk8.4.11.orig/unix/configure tk8.4.11/unix/configure
+--- tk8.4.11.orig/unix/configure 2005-06-30 01:43:10.000000000 +0900
++++ tk8.4.11/unix/configure 2005-07-02 23:22:35.000000000 +0900
+@@ -5721,7 +5721,7 @@
+ TCL_STUB_FLAGS="-DUSE_TCL_STUBS"
+ fi
+
+-TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
++TK_LIBRARY='$(libdir)/tk$(VERSION)'
+ PRIVATE_INCLUDE_DIR='$(includedir)'
+ HTML_DIR='$(DISTDIR)/html'
+ TK_PKG_DIR='tk$(VERSION)$(TK_DBGX)'
+diff -Naur tk8.4.11.orig/unix/configure.in tk8.4.11/unix/configure.in
+--- tk8.4.11.orig/unix/configure.in 2005-06-30 01:43:10.000000000 +0900
++++ tk8.4.11/unix/configure.in 2005-07-02 23:22:16.000000000 +0900
+@@ -393,7 +393,7 @@
+ TCL_STUB_FLAGS="-DUSE_TCL_STUBS"
+ fi
+
+-TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
++TK_LIBRARY='$(libdir)/tk$(VERSION)'
+ PRIVATE_INCLUDE_DIR='$(includedir)'
+ HTML_DIR='$(DISTDIR)/html'
+ TK_PKG_DIR='tk$(VERSION)$(TK_DBGX)'
diff --git a/dev-lang/tk/files/tk-8.4.15-tclm4-soname.patch b/dev-lang/tk/files/tk-8.4.15-tclm4-soname.patch
new file mode 100644
index 0000000..b427d27
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.4.15-tclm4-soname.patch
@@ -0,0 +1,12 @@
+diff -Naur tk8.4.15.orig/unix/tcl.m4 tk8.4.15/unix/tcl.m4
+--- tk8.4.15.orig/unix/tcl.m4 2007-05-26 01:09:54.000000000 +0900
++++ tk8.4.15/unix/tcl.m4 2007-07-21 02:16:13.000000000 +0900
+@@ -1345,7 +1345,7 @@
+ #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
+
+ if test "$have_dl" = yes; then
+- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
++ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -Wl,-soname,${@}'
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS="-ldl"
+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
diff --git a/dev-lang/tk/files/tk-8.4.9-man.patch b/dev-lang/tk/files/tk-8.4.9-man.patch
new file mode 100644
index 0000000..bb816f8
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.4.9-man.patch
@@ -0,0 +1,29 @@
+diff -Naur tk8.4.9.orig/unix/installManPage tk8.4.9/unix/installManPage
+--- tk8.4.9.orig/unix/installManPage 2004-12-07 04:46:29.000000000 +0900
++++ tk8.4.9/unix/installManPage 2005-03-02 23:36:23.252797867 +0900
+@@ -3,7 +3,7 @@
+ ZIP=:
+ while true; do
+ case $1 in
+- -s | --symlinks ) S="-s ";;
++ -s | --symlinks ) TK_S="-s ";;
+ -z | --compress ) ZIP=$2; shift ;;
+ -e | --extension ) Z=$2; shift ;;
+ -s | --suffix ) SUFFIX=$2; shift ;;
+@@ -18,7 +18,7 @@
+
+ MANPAGE=$1
+ DIR=$2
+-test -z "$S" && S="$DIR/"
++test -z "$TK_S" && TK_S="$DIR/"
+
+ # A sed script to parse the alternative names out of a man page.
+ #
+@@ -62,6 +62,6 @@
+ $ZIP $DIR/$FIRST
+ else
+ rm -f $DIR/$f $DIR/$f.*
+- ln $S$FIRST$Z $DIR/$f$Z
++ ln $TK_S$FIRST$Z $DIR/$f$Z
+ fi
+ done
diff --git a/dev-lang/tk/files/tk-8.5_alpha6-tclm4-soname.patch b/dev-lang/tk/files/tk-8.5_alpha6-tclm4-soname.patch
new file mode 100644
index 0000000..3fdd484
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.5_alpha6-tclm4-soname.patch
@@ -0,0 +1,12 @@
+diff -Naur tk8.5a6.orig/unix/tcl.m4 tk8.5a6/unix/tcl.m4
+--- tk8.5a6.orig/unix/tcl.m4 2007-04-27 06:02:27.000000000 +0900
++++ tk8.5a6/unix/tcl.m4 2007-07-21 02:47:58.000000000 +0900
+@@ -1425,7 +1425,7 @@
+ # get rid of the warnings.
+ #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
+
+- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
++ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -Wl,-soname,${@}'
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS="-ldl"
+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
diff --git a/dev-lang/tk/files/tk-CVE-2007-4851.patch b/dev-lang/tk/files/tk-CVE-2007-4851.patch
new file mode 100644
index 0000000..f461031
--- /dev/null
+++ b/dev-lang/tk/files/tk-CVE-2007-4851.patch
@@ -0,0 +1,12 @@
+diff -Naur tk8.4.15.orig/generic/tkImgGIF.c tk8.4.15/generic/tkImgGIF.c
+--- tk8.4.15.orig/generic/tkImgGIF.c 2006-03-27 21:13:56.000000000 +0900
++++ tk8.4.15/generic/tkImgGIF.c 2007-09-16 09:56:25.000000000 +0900
+@@ -995,7 +995,7 @@
+ */
+ if (interlace) {
+ ypos += interlaceStep[pass];
+- while (ypos >= height) {
++ while (ypos >= rows) {
+ pass++;
+ if (pass > 3) {
+ return TCL_OK;
diff --git a/dev-lang/tk/files/tk-configure-LANG.patch b/dev-lang/tk/files/tk-configure-LANG.patch
new file mode 100644
index 0000000..3ef76ef
--- /dev/null
+++ b/dev-lang/tk/files/tk-configure-LANG.patch
@@ -0,0 +1,41 @@
+The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in
+option parsing, it may break.
+
+http://bugs.gentoo.org/103483
+
+--- configure
++++ configure
+@@ -54,6 +54,16 @@
+ infodir='${prefix}/info'
+ mandir='${prefix}/man'
+
++# NLS nuisances.
++# Only set these to C if already set. These must not be set unconditionally
++# because not all systems understand e.g. LANG=C (notably SCO).
++# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
++# Non-C LC_CTYPE values break the ctype check.
++if test "${LANG+set}" = set; then LANG=C; export LANG; fi
++if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
++if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
++if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
++
+ # Initialize some other variables.
+ subdirs=
+ MFLAGS= MAKEFLAGS=
+@@ -452,16 +463,6 @@
+ esac
+ done
+
+-# NLS nuisances.
+-# Only set these to C if already set. These must not be set unconditionally
+-# because not all systems understand e.g. LANG=C (notably SCO).
+-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+-# Non-C LC_CTYPE values break the ctype check.
+-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+-
+ # confdefs.h avoids OS command line length limits that DEFS can exceed.
+ rm -rf conftest* confdefs.h
+ # AIX cpp loses on an empty file, so make sure it contains at least a newline.
diff --git a/dev-lang/tk/tk-8.4.18.ebuild b/dev-lang/tk/tk-8.4.18.ebuild
new file mode 100644
index 0000000..7693e26
--- /dev/null
+++ b/dev-lang/tk/tk-8.4.18.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/tk/tk-8.4.18.ebuild,v 1.7 2008/03/07 22:17:31 angelos Exp $
+
+WANT_AUTOCONF=latest
+WANT_AUTOMAKE=latest
+
+inherit autotools eutils multilib toolchain-funcs
+
+DESCRIPTION="Tk Widget Set"
+HOMEPAGE="http://dev.scriptics.com/software/tcltk/"
+SRC_URI="mirror://sourceforge/tcl/${PN}${PV}-src.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd"
+IUSE="debug threads"
+
+RDEPEND="x11-libs/libX11
+ ~dev-lang/tcl-${PV}"
+DEPEND="${RDEPEND}
+ x11-libs/libXt
+ x11-proto/xproto"
+
+S=${WORKDIR}/${PN}${PV}
+
+pkg_setup() {
+ if use threads ; then
+ ewarn ""
+ ewarn "PLEASE NOTE: You are compiling ${P} with"
+ ewarn "threading enabled."
+ ewarn "Threading is not supported by all applications"
+ ewarn "that compile against tcl. You use threading at"
+ ewarn "your own discretion."
+ ewarn ""
+ epause 5
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/remove-control-v-8.4.9.diff
+ epatch "${FILESDIR}"/${PN}-8.4.9-man.patch
+ epatch "${FILESDIR}"/${PN}-8.4.11-multilib.patch
+
+ # Bug 225999
+ epatch "${FILESDIR}"/${PN}-8.4-lastevent.patch
+
+
+ # Bug 125971
+ epatch "${FILESDIR}"/${PN}-8.4.15-tclm4-soname.patch
+
+ local d
+ for d in */configure ; do
+ cd "${S}"/${d%%/*}
+ EPATCH_SINGLE_MSG="Patching nls cruft in ${d}" \
+ epatch "${FILESDIR}"/tk-configure-LANG.patch
+ done
+
+ cd "${S}"/unix
+ eautoreconf
+}
+
+src_compile() {
+ tc-export CC
+ cd "${S}"/unix
+
+ local mylibdir=$(get_libdir) ; mylibdir=${mylibdir//\/}
+
+ econf \
+ --with-tcl=/usr/${mylibdir} \
+ $(use_enable threads) \
+ $(use_enable debug symbols) || die
+
+ emake || die
+}
+
+src_install() {
+ #short version number
+ local v1
+ v1=${PV%.*}
+
+ cd "${S}"/unix
+ make DESTDIR="${D}" install || die
+
+ # fix the tkConfig.sh to eliminate refs to the build directory
+ local mylibdir=$(get_libdir) ; mylibdir=${mylibdir//\/}
+ sed -i \
+ -e "s,^\(TK_BUILD_LIB_SPEC='-L\)${S}/unix,\1/usr/${mylibdir}," \
+ -e "s,^\(TK_SRC_DIR='\)${S}',\1/usr/${mylibdir}/tk${v1}/include'," \
+ -e "s,^\(TK_BUILD_STUB_LIB_SPEC='-L\)${S}/unix,\1/usr/${mylibdir}," \
+ -e "s,^\(TK_BUILD_STUB_LIB_PATH='\)${S}/unix,\1/usr/${mylibdir}," \
+ -e "s,^\(TK_CC_SEARCH_FLAGS='.*\)',\1:/usr/${mylibdir}'," \
+ -e "s,^\(TK_LD_SEARCH_FLAGS='.*\)',\1:/usr/${mylibdir}'," \
+ "${D}"/usr/${mylibdir}/tkConfig.sh || die
+
+ # install private headers
+ insinto /usr/${mylibdir}/tk${v1}/include/unix
+ doins "${S}"/unix/*.h || die
+ insinto /usr/${mylibdir}/tk${v1}/include/generic
+ doins "${S}"/generic/*.h || die
+ rm -f "${D}"/usr/${mylibdir}/tk${v1}/include/generic/tk.h
+ rm -f "${D}"/usr/${mylibdir}/tk${v1}/include/generic/tkDecls.h
+ rm -f "${D}"/usr/${mylibdir}/tk${v1}/include/generic/tkPlatDecls.h
+
+ # install symlink for libraries
+ #dosym libtk${v1}.a /usr/${mylibdir}/libtk.a
+ if use debug ; then
+ dosym libtk${v1}g.so /usr/${mylibdir}/libtk${v1}.so
+ dosym libtkstub${v1}g.a /usr/${mylibdir}/libtkstub${v1}.a
+ dosym ../tk${v1}g/pkgIndex.tcl /usr/${mylibdir}/tk${v1}/pkgIndex.tcl
+ fi
+ dosym libtk${v1}.so /usr/${mylibdir}/libtk.so
+ dosym libtkstub${v1}.a /usr/${mylibdir}/libtkstub.a
+
+ dosym wish${v1} /usr/bin/wish
+
+ cd "${S}"
+ dodoc ChangeLog README changes license.terms
+}