diff options
author | Jeffrey Gardner <je_fro@gentoo.org> | 2008-10-23 16:11:08 +0000 |
---|---|---|
committer | Jeffrey Gardner <je_fro@gentoo.org> | 2008-10-23 16:11:08 +0000 |
commit | b959ccf8613e08c6864872e536836e1b47afaa76 (patch) | |
tree | 2cedb640c384885fd08d8ea2021701070735b2e7 | |
parent | latest svn (diff) | |
download | je_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/Manifest | 10 | ||||
-rw-r--r-- | dev-lang/tk/files/remove-control-v-8.4.9.diff | 18 | ||||
-rw-r--r-- | dev-lang/tk/files/tk-8.4-lastevent.patch | 25 | ||||
-rw-r--r-- | dev-lang/tk/files/tk-8.4.11-multilib.patch | 24 | ||||
-rw-r--r-- | dev-lang/tk/files/tk-8.4.15-tclm4-soname.patch | 12 | ||||
-rw-r--r-- | dev-lang/tk/files/tk-8.4.9-man.patch | 29 | ||||
-rw-r--r-- | dev-lang/tk/files/tk-8.5_alpha6-tclm4-soname.patch | 12 | ||||
-rw-r--r-- | dev-lang/tk/files/tk-CVE-2007-4851.patch | 12 | ||||
-rw-r--r-- | dev-lang/tk/files/tk-configure-LANG.patch | 41 | ||||
-rw-r--r-- | dev-lang/tk/tk-8.4.18.ebuild | 121 |
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 +} |