summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-tcltk/blt
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-tcltk/blt')
-rw-r--r--dev-tcltk/blt/Manifest1
-rw-r--r--dev-tcltk/blt/blt-2.4z-r10.ebuild120
-rw-r--r--dev-tcltk/blt/blt-2.4z-r11.ebuild123
-rw-r--r--dev-tcltk/blt/blt-2.4z-r12.ebuild127
-rw-r--r--dev-tcltk/blt/blt-2.4z-r13.ebuild126
-rw-r--r--dev-tcltk/blt/files/blt-2.4z-aclocal.patch79
-rw-r--r--dev-tcltk/blt/files/blt-2.4z-darwin.patch72
-rw-r--r--dev-tcltk/blt/files/blt-2.4z-gbsd.patch54
-rw-r--r--dev-tcltk/blt/files/blt-2.4z-ldflags.patch30
-rw-r--r--dev-tcltk/blt/files/blt-2.4z-linking.patch21
-rw-r--r--dev-tcltk/blt/files/blt-2.4z-r4-fix-makefile.patch23
-rw-r--r--dev-tcltk/blt/files/blt-2.4z-r4-fix-makefile2.patch18
-rw-r--r--dev-tcltk/blt/files/blt-2.4z-r4-fix-makefile3.patch14
-rw-r--r--dev-tcltk/blt/files/blt-2.4z-tcl8.5-fixpkgruntime.patch66
-rw-r--r--dev-tcltk/blt/files/blt-2.4z-tcl8.6.patch86
-rw-r--r--dev-tcltk/blt/files/blt-2.4z-tk8.6.patch20
-rw-r--r--dev-tcltk/blt/files/blt2.4z-64bit.patch24
-rw-r--r--dev-tcltk/blt/files/blt2.4z-install.diff26
-rw-r--r--dev-tcltk/blt/files/pkgIndex.tcl2
-rw-r--r--dev-tcltk/blt/metadata.xml5
20 files changed, 1037 insertions, 0 deletions
diff --git a/dev-tcltk/blt/Manifest b/dev-tcltk/blt/Manifest
new file mode 100644
index 000000000000..90355b26aa92
--- /dev/null
+++ b/dev-tcltk/blt/Manifest
@@ -0,0 +1 @@
+DIST blt2.4z-8.5.2.tar.gz 2326234 SHA256 e4e60628f79e1899175b51a3398133131fac52021b9b9019b4483525c48d6d16 SHA512 afc465ba47ae43a0c6be17400d0a572dccd8c2a8adfd8fc3ed50f9ec28d02129f069d88096c1428c4b242550131092b4141035d7ce90c9e7181ccf712502f09a WHIRLPOOL a00a029e075916dd7656ca85acb308a48e6d80563a91ada9e9e7df7518ef0d4de2200b54e5d9c8a9602520c03472e73968956c0df30afb8ef7f7b364fdd5524f
diff --git a/dev-tcltk/blt/blt-2.4z-r10.ebuild b/dev-tcltk/blt/blt-2.4z-r10.ebuild
new file mode 100644
index 000000000000..08f95fce1380
--- /dev/null
+++ b/dev-tcltk/blt/blt-2.4z-r10.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+MY_V_SUFFIX="-8.5.2"
+
+DESCRIPTION="Extension to Tk, adding new widgets, geometry managers, and misc commands"
+HOMEPAGE="
+ http://blt.sourceforge.net/
+ http://jos.decoster.googlepages.com/bltfortk8.5.2"
+SRC_URI="
+ http://dev.gentoo.org/~jlec/distfiles/${PN}${PV}${MY_V_SUFFIX}.tar.gz
+ http://jos.decoster.googlepages.com/${PN}${PV}${MY_V_SUFFIX}.tar.gz"
+
+IUSE="jpeg static-libs X"
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+DEPEND="
+ dev-lang/tk
+ jpeg? ( virtual/jpeg )
+ X? ( x11-libs/libX11 )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}${PV}${MY_V_SUFFIX}"
+
+src_prepare() {
+ epatch "${FILESDIR}/blt-2.4z-r4-fix-makefile.patch"
+ epatch "${FILESDIR}/blt-2.4z-r4-fix-makefile2.patch"
+ # From blt-2.4z-6mdk.src.rpm
+ epatch "${FILESDIR}"/blt2.4z-64bit.patch
+
+ #epatch "${FILESDIR}"/blt-2.4z-tcl8.5-fix.patch
+ epatch "${FILESDIR}"/blt-2.4z-tcl8.5-fixpkgruntime.patch
+
+ epatch "${FILESDIR}"/${P}-ldflags.patch
+
+ # Set the correct libdir and drop RPATH
+ sed \
+ -e "s:\(^libdir=\${exec_prefix}/\)lib:\1$(get_libdir):" \
+ -e 's:LD_RUN_PATH=.*$:LD_RUN_PATH="":g' \
+ -e "/RANLIB/s:ranlib:$(tc-getRANLIB):g" \
+ -i configure* || die "sed configure* failed"
+ sed \
+ -e "/^scriptdir =/s:lib:$(get_libdir):" \
+ -i Makefile.in demos/Makefile.in || die "sed Makefile.in failed"
+
+ sed \
+ -e "/AR/s:ar:$(tc-getAR):g" \
+ -i src/Makefile.in || die
+
+ epatch "${FILESDIR}"/${P}-linking.patch
+ epatch "${FILESDIR}"/${P}-darwin.patch
+ epatch "${FILESDIR}"/${P}-gbsd.patch
+}
+
+src_configure() {
+ # bug 167934
+ append-flags -fPIC
+
+ LC_ALL=C \
+ econf \
+ --x-includes="${EPREFIX}/usr/include" \
+ --x-libraries="${EPREFIX}/usr/$(get_libdir)" \
+ --with-blt="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tk="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tclincls="${EPREFIX}/usr/include" \
+ --with-tkincls="${EPREFIX}/usr/include" \
+ --with-tcllibs="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tklibs="${EPREFIX}/usr/$(get_libdir)" \
+ --with-cc="$(tc-getCC)" \
+ --with-cflags="${CFLAGS}" \
+ --with-gnu-ld \
+ $(use_enable jpeg) \
+ $(use_with X x)
+}
+
+src_compile() {
+ # parallel borks
+ emake -j1 LDFLAGS="${LDFLAGS}" || die "emake failed"
+}
+
+src_install() {
+ sed \
+ -e "s:\.\./src/bltwish:${EPREFIX}/usr/bin/bltwish:g" \
+ -e "s:\.\./bltwish:${EPREFIX}/usr/bin/bltwish:g" \
+ -e "s:/usr/local/bin/bltwish:${EPREFIX}/usr/bin/bltwish:g" \
+ -e "s:/usr/local/bin/tclsh:${EPREFIX}/usr/bin/tclsh:g" \
+ -i demos/{,scripts/}*.tcl || die
+
+ dodir /usr/bin \
+ /usr/$(get_libdir)/blt2.4/demos/bitmaps \
+ /usr/share/man/mann \
+ /usr/include \
+ || die "dodir failed"
+ emake -j1 INSTALL_ROOT="${D}" install || die "make install failed"
+
+ dodoc NEWS PROBLEMS README
+ dohtml html/*.html
+ for f in `ls "${ED}"/usr/share/man/mann` ; do
+ mv "${ED}"/usr/share/man/mann/${f} "${ED}"/usr/share/man/mann/${f/.n/.nblt}
+ done
+
+ # bug 259338 - dev-tcltk/blt-2.4z-r4 provides empty pkgIndex.tcl
+ cp "${FILESDIR}"/pkgIndex.tcl "${ED}"/usr/$(get_libdir)/blt2.4/pkgIndex.tcl
+
+ # fix for linking against shared lib with -lBLT or -lBLTlite
+ dosym libBLT24$(get_libname) /usr/$(get_libdir)/libBLT$(get_libname) || die
+ dosym libBLTlite24$(get_libname) /usr/$(get_libdir)/libBLTlite$(get_libname) || die
+
+ use static-libs || \
+ find "${ED}"/usr/$(get_libdir) -name "*.a" -print0 | \
+ xargs -r -0 rm -fv
+}
diff --git a/dev-tcltk/blt/blt-2.4z-r11.ebuild b/dev-tcltk/blt/blt-2.4z-r11.ebuild
new file mode 100644
index 000000000000..05dcb7ebf5ce
--- /dev/null
+++ b/dev-tcltk/blt/blt-2.4z-r11.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+MY_V_SUFFIX="-8.5.2"
+
+DESCRIPTION="Extension to Tk, adding new widgets, geometry managers, and misc commands"
+HOMEPAGE="
+ http://blt.sourceforge.net/
+ http://jos.decoster.googlepages.com/bltfortk8.5.2"
+SRC_URI="
+ http://dev.gentoo.org/~jlec/distfiles/${PN}${PV}${MY_V_SUFFIX}.tar.gz
+ http://jos.decoster.googlepages.com/${PN}${PV}${MY_V_SUFFIX}.tar.gz"
+
+IUSE="jpeg static-libs X"
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+DEPEND="
+ dev-lang/tk
+ jpeg? ( virtual/jpeg )
+ X? ( x11-libs/libX11 )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}${PV}${MY_V_SUFFIX}"
+
+MAKEOPTS+=" -j1"
+
+src_prepare() {
+ epatch "${FILESDIR}/blt-2.4z-r4-fix-makefile.patch"
+ epatch "${FILESDIR}/blt-2.4z-r4-fix-makefile2.patch"
+ # From blt-2.4z-6mdk.src.rpm
+ epatch "${FILESDIR}"/blt2.4z-64bit.patch
+
+ #epatch "${FILESDIR}"/blt-2.4z-tcl8.5-fix.patch
+ epatch "${FILESDIR}"/blt-2.4z-tcl8.5-fixpkgruntime.patch
+
+ epatch "${FILESDIR}"/${P}-ldflags.patch
+
+ # Set the correct libdir and drop RPATH
+ sed \
+ -e "s:\(^libdir=\${exec_prefix}/\)lib:\1$(get_libdir):" \
+ -e 's:LD_RUN_PATH=.*$:LD_RUN_PATH="":g' \
+ -e "/RANLIB/s:ranlib:$(tc-getRANLIB):g" \
+ -i configure* || die "sed configure* failed"
+ sed \
+ -e "/^scriptdir =/s:lib:$(get_libdir):" \
+ -i Makefile.in demos/Makefile.in || die "sed Makefile.in failed"
+
+ sed \
+ -e "/AR/s:ar:$(tc-getAR):g" \
+ -i src/Makefile.in || die
+
+ epatch \
+ "${FILESDIR}"/${P}-linking.patch \
+ "${FILESDIR}"/${P}-darwin.patch \
+ "${FILESDIR}"/${P}-gbsd.patch \
+ "${FILESDIR}"/${P}-tk8.6.patch
+
+ append-cflags -DUSE_INTERP_RESULT -fPIC
+}
+
+src_configure() {
+ LC_ALL=C \
+ econf \
+ --x-includes="${EPREFIX}/usr/include" \
+ --x-libraries="${EPREFIX}/usr/$(get_libdir)" \
+ --with-blt="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tk="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tclincls="${EPREFIX}/usr/include" \
+ --with-tkincls="${EPREFIX}/usr/include" \
+ --with-tcllibs="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tklibs="${EPREFIX}/usr/$(get_libdir)" \
+ --with-cc="$(tc-getCC)" \
+ --with-cflags="${CFLAGS}" \
+ --with-gnu-ld \
+ $(use_enable jpeg) \
+ $(use_with X x)
+}
+
+src_compile() {
+ # parallel borks
+ emake LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ sed \
+ -e "s:\.\./src/bltwish:${EPREFIX}/usr/bin/bltwish:g" \
+ -e "s:\.\./bltwish:${EPREFIX}/usr/bin/bltwish:g" \
+ -e "s:/usr/local/bin/bltwish:${EPREFIX}/usr/bin/bltwish:g" \
+ -e "s:/usr/local/bin/tclsh:${EPREFIX}/usr/bin/tclsh:g" \
+ -i demos/{,scripts/}*.tcl || die
+
+ dodir /usr/bin \
+ /usr/$(get_libdir)/blt2.4/demos/bitmaps \
+ /usr/share/man/mann \
+ /usr/include
+
+ emake INSTALL_ROOT="${D}" install || die "make install failed"
+
+ dodoc NEWS PROBLEMS README
+ dohtml html/*.html
+ for f in `ls "${ED}"/usr/share/man/mann` ; do
+ mv "${ED}"/usr/share/man/mann/${f} "${ED}"/usr/share/man/mann/${f/.n/.nblt}
+ done
+
+ # bug 259338 - dev-tcltk/blt-2.4z-r4 provides empty pkgIndex.tcl
+ cp "${FILESDIR}"/pkgIndex.tcl "${ED}"/usr/$(get_libdir)/blt2.4/pkgIndex.tcl
+
+ # fix for linking against shared lib with -lBLT or -lBLTlite
+ dosym libBLT24$(get_libname) /usr/$(get_libdir)/libBLT$(get_libname)
+ dosym libBLTlite24$(get_libname) /usr/$(get_libdir)/libBLTlite$(get_libname)
+
+ use static-libs || \
+ find "${ED}"/usr/$(get_libdir) -name "*.a" -print0 | \
+ xargs -r -0 rm -fv
+}
diff --git a/dev-tcltk/blt/blt-2.4z-r12.ebuild b/dev-tcltk/blt/blt-2.4z-r12.ebuild
new file mode 100644
index 000000000000..e3ff8c5f0eac
--- /dev/null
+++ b/dev-tcltk/blt/blt-2.4z-r12.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils flag-o-matic multilib toolchain-funcs
+
+MY_V_SUFFIX="-8.5.2"
+
+DESCRIPTION="Extension to Tk, adding new widgets, geometry managers, and misc commands"
+HOMEPAGE="
+ http://blt.sourceforge.net/
+ http://jos.decoster.googlepages.com/bltfortk8.5.2"
+SRC_URI="
+ http://dev.gentoo.org/~jlec/distfiles/${PN}${PV}${MY_V_SUFFIX}.tar.gz
+ http://jos.decoster.googlepages.com/${PN}${PV}${MY_V_SUFFIX}.tar.gz"
+
+IUSE="jpeg static-libs X"
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+DEPEND="
+ dev-lang/tk
+ jpeg? ( virtual/jpeg )
+ X? ( x11-libs/libX11 )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}${PV}${MY_V_SUFFIX}"
+
+MAKEOPTS+=" -j1"
+
+src_prepare() {
+ epatch "${FILESDIR}/blt-2.4z-r4-fix-makefile.patch"
+ epatch "${FILESDIR}/blt-2.4z-r4-fix-makefile2.patch"
+ # From blt-2.4z-6mdk.src.rpm
+ epatch "${FILESDIR}"/blt2.4z-64bit.patch
+
+ #epatch "${FILESDIR}"/blt-2.4z-tcl8.5-fix.patch
+ epatch "${FILESDIR}"/blt-2.4z-tcl8.5-fixpkgruntime.patch
+
+ epatch "${FILESDIR}"/${P}-ldflags.patch
+
+ # Set the correct libdir and drop RPATH
+ sed \
+ -e "s:\(^libdir=\${exec_prefix}/\)lib:\1$(get_libdir):" \
+ -e 's:LD_RUN_PATH=.*$:LD_RUN_PATH="":g' \
+ -e "/RANLIB/s:ranlib:$(tc-getRANLIB):g" \
+ -i configure* || die "sed configure* failed"
+ sed \
+ -e "/^scriptdir =/s:lib:$(get_libdir):" \
+ -i Makefile.in demos/Makefile.in || die "sed Makefile.in failed"
+
+ sed \
+ -e "/AR/s:ar:$(tc-getAR):g" \
+ -i src/Makefile.in || die
+
+ epatch \
+ "${FILESDIR}"/${P}-linking.patch \
+ "${FILESDIR}"/${P}-darwin.patch \
+ "${FILESDIR}"/${P}-gbsd.patch \
+ "${FILESDIR}"/${P}-tk8.6.patch \
+ "${FILESDIR}"/${P}-tcl8.6.patch \
+ "${FILESDIR}"/${P}-aclocal.patch
+
+ append-cflags -fPIC
+
+ eautoreconf
+}
+
+src_configure() {
+ LC_ALL=C \
+ econf \
+ --x-includes="${EPREFIX}/usr/include" \
+ --x-libraries="${EPREFIX}/usr/$(get_libdir)" \
+ --with-blt="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tk="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tclincls="${EPREFIX}/usr/include" \
+ --with-tkincls="${EPREFIX}/usr/include" \
+ --with-tcllibs="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tklibs="${EPREFIX}/usr/$(get_libdir)" \
+ --with-cc="$(tc-getCC)" \
+ --with-cflags="${CFLAGS}" \
+ --with-gnu-ld \
+ $(use_enable jpeg) \
+ $(use_with X x)
+}
+
+src_compile() {
+ # parallel borks
+ emake LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ sed \
+ -e "s:\.\./src/bltwish:${EPREFIX}/usr/bin/bltwish:g" \
+ -e "s:\.\./bltwish:${EPREFIX}/usr/bin/bltwish:g" \
+ -e "s:/usr/local/bin/bltwish:${EPREFIX}/usr/bin/bltwish:g" \
+ -e "s:/usr/local/bin/tclsh:${EPREFIX}/usr/bin/tclsh:g" \
+ -i demos/{,scripts/}*.tcl || die
+
+ dodir /usr/bin \
+ /usr/$(get_libdir)/blt2.4/demos/bitmaps \
+ /usr/share/man/mann \
+ /usr/include
+
+ emake INSTALL_ROOT="${D}" install || die "make install failed"
+
+ dodoc NEWS PROBLEMS README
+ dohtml html/*.html
+ for f in `ls "${ED}"/usr/share/man/mann` ; do
+ mv "${ED}"/usr/share/man/mann/${f} "${ED}"/usr/share/man/mann/${f/.n/.nblt}
+ done
+
+ # bug 259338 - dev-tcltk/blt-2.4z-r4 provides empty pkgIndex.tcl
+ cp "${FILESDIR}"/pkgIndex.tcl "${ED}"/usr/$(get_libdir)/blt2.4/pkgIndex.tcl
+
+ # fix for linking against shared lib with -lBLT or -lBLTlite
+ dosym libBLT24$(get_libname) /usr/$(get_libdir)/libBLT$(get_libname)
+ dosym libBLTlite24$(get_libname) /usr/$(get_libdir)/libBLTlite$(get_libname)
+
+ use static-libs || \
+ find "${ED}"/usr/$(get_libdir) -name "*.a" -print0 | \
+ xargs -r -0 rm -fv
+}
diff --git a/dev-tcltk/blt/blt-2.4z-r13.ebuild b/dev-tcltk/blt/blt-2.4z-r13.ebuild
new file mode 100644
index 000000000000..09fd4ce1e116
--- /dev/null
+++ b/dev-tcltk/blt/blt-2.4z-r13.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils flag-o-matic multilib toolchain-funcs
+
+MY_V_SUFFIX="-8.5.2"
+
+DESCRIPTION="Extension to Tk, adding new widgets, geometry managers, and misc commands"
+HOMEPAGE="
+ http://blt.sourceforge.net/
+ http://jos.decoster.googlepages.com/bltfortk8.5.2"
+SRC_URI="
+ http://dev.gentoo.org/~jlec/distfiles/${PN}${PV}${MY_V_SUFFIX}.tar.gz
+ http://jos.decoster.googlepages.com/${PN}${PV}${MY_V_SUFFIX}.tar.gz"
+
+IUSE="jpeg static-libs X"
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+DEPEND="
+ dev-lang/tk:0=
+ jpeg? ( virtual/jpeg:0= )
+ X? ( x11-libs/libX11 )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}${PV}${MY_V_SUFFIX}"
+
+MAKEOPTS+=" -j1"
+
+src_prepare() {
+ epatch "${FILESDIR}/blt-2.4z-r4-fix-makefile2.patch"
+ epatch "${FILESDIR}/blt-2.4z-r4-fix-makefile3.patch"
+ # From blt-2.4z-6mdk.src.rpm
+ epatch "${FILESDIR}"/blt2.4z-64bit.patch
+
+ epatch "${FILESDIR}"/blt-2.4z-tcl8.5-fixpkgruntime.patch
+
+ epatch "${FILESDIR}"/${P}-ldflags.patch
+
+ # Set the correct libdir and drop RPATH
+ sed \
+ -e "s:\(^libdir=\${exec_prefix}/\)lib:\1$(get_libdir):" \
+ -e 's:LD_RUN_PATH=.*$:LD_RUN_PATH="":g' \
+ -e "/RANLIB/s:ranlib:$(tc-getRANLIB):g" \
+ -i configure* || die "sed configure* failed"
+ sed \
+ -e "/^scriptdir =/s:lib:$(get_libdir):" \
+ -i Makefile.in demos/Makefile.in || die "sed Makefile.in failed"
+
+ sed \
+ -e "/AR/s:ar:$(tc-getAR):g" \
+ -e 's:0444:0644:g' \
+ -i src/Makefile.in || die
+
+ epatch \
+ "${FILESDIR}"/${P}-linking.patch \
+ "${FILESDIR}"/${P}-darwin.patch \
+ "${FILESDIR}"/${P}-gbsd.patch \
+ "${FILESDIR}"/${P}-tk8.6.patch \
+ "${FILESDIR}"/${P}-tcl8.6.patch \
+ "${FILESDIR}"/${P}-aclocal.patch
+
+ append-cflags -fPIC
+
+ mv configure.{in,ac} || die
+
+ eautoreconf
+}
+
+src_configure() {
+ LC_ALL=C \
+ econf \
+ --x-includes="${EPREFIX}/usr/include" \
+ --x-libraries="${EPREFIX}/usr/$(get_libdir)" \
+ --with-blt="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tcl="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tk="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tclincls="${EPREFIX}/usr/include" \
+ --with-tkincls="${EPREFIX}/usr/include" \
+ --with-tcllibs="${EPREFIX}/usr/$(get_libdir)" \
+ --with-tklibs="${EPREFIX}/usr/$(get_libdir)" \
+ --with-cc="$(tc-getCC)" \
+ --with-cflags="${CFLAGS}" \
+ --with-gnu-ld \
+ $(use_enable jpeg) \
+ $(use_with X x)
+}
+
+src_compile() {
+ emake LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ sed \
+ -e "s:\.\./src/bltwish:${EPREFIX}/usr/bin/bltwish:g" \
+ -e "s:\.\./bltwish:${EPREFIX}/usr/bin/bltwish:g" \
+ -e "s:/usr/local/bin/bltwish:${EPREFIX}/usr/bin/bltwish:g" \
+ -e "s:/usr/local/bin/tclsh:${EPREFIX}/usr/bin/tclsh:g" \
+ -i demos/{,scripts/}*.tcl || die
+
+ dodir \
+ /usr/bin \
+ /usr/$(get_libdir)/blt2.4/demos/bitmaps \
+ /usr/share/man/mann \
+ /usr/include
+
+ emake INSTALL_ROOT="${D}" install
+
+ dodoc NEWS PROBLEMS README
+ dohtml html/*.html
+ for f in `ls "${ED}"/usr/share/man/mann` ; do
+ mv "${ED}"/usr/share/man/mann/${f} "${ED}"/usr/share/man/mann/${f/.n/.nblt} || die
+ done
+
+ # fix for linking against shared lib with -lBLT or -lBLTlite
+ dosym libBLT24$(get_libname) /usr/$(get_libdir)/libBLT$(get_libname)
+ dosym libBLTlite24$(get_libname) /usr/$(get_libdir)/libBLTlite$(get_libname)
+
+ use static-libs || \
+ find "${ED}"/usr/$(get_libdir) -name "*.a" -print0 | \
+ xargs -r -0 rm -fv
+}
diff --git a/dev-tcltk/blt/files/blt-2.4z-aclocal.patch b/dev-tcltk/blt/files/blt-2.4z-aclocal.patch
new file mode 100644
index 000000000000..e7c62b5de7f3
--- /dev/null
+++ b/dev-tcltk/blt/files/blt-2.4z-aclocal.patch
@@ -0,0 +1,79 @@
+ aclocal.m4 | 6 +++---
+ configure.in | 38 +++-----------------------------------
+ 2 files changed, 6 insertions(+), 38 deletions(-)
+
+diff --git a/aclocal.m4 b/aclocal.m4
+index 7441d3d..b86a6b2 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -11,11 +11,11 @@ if test "$cross_compiling" = yes; then
+ else
+ cat > conftest.$ac_ext <<EOF
+ [#]line __oline__ "configure"
+-#include "confdefs.h"
+-ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
++[#include "confdefs.h"
++#ifdef __cplusplus
+ extern "C" void exit(int);
+ #endif
+-])dnl
++]dnl
+ [$2]
+ EOF
+ eval $ac_link
+diff --git a/configure.in b/configure.in
+index adde26d..b57eaa9 100644
+--- a/configure.in
++++ b/configure.in
+@@ -83,35 +83,9 @@ PWD=`pwd`
+ #
+ # -----------------------------------------------------------------------
+
+-BLT_ENV_CC=$CC
+-
+-#
+-# CC search order
+-#
+-# 1. command line (--with-cc)
+-# 2. environment variable ($CC)
+-# 3. cached variable ($blt_cv_prog_cc)
+-# 4. check for program (AC_PROG_CC)
+-# 4. default to cc
+-#
+-
+-AC_MSG_CHECKING([which C compiler])
+-if test "x${blt_with_cc}" != "x" ; then
+- CC=${blt_with_cc}
+- unset ac_cv_prog_CPP
+- unset ac_cv_prog_CC
+-elif test "x${BLT_ENV_CC}" != "x" ; then
+- unset ac_cv_prog_CPP
+- unset ac_cv_prog_CC
+-elif test "x${blt_cv_prog_cc}" != "x" ; then
+- CC=${blt_cv_prog_cc}
+- unset ac_cv_prog_CC
+-else
+- AC_PROG_CC
+-fi
+-if test "x${CC}" = "x" ; then
+- CC=cc
+-fi
++AC_PROG_CC
++AC_PROG_CPP
++AC_PROG_EGREP
+
+ case $target in
+ *-*-cygwin*|*-*-mingw*)
+@@ -121,12 +95,6 @@ case $target in
+ ;;
+ esac
+
+-AC_MSG_RESULT([$CC])
+-
+-unset blt_cv_prog_cc
+-AC_CACHE_VAL(blt_cv_prog_cc, blt_cv_prog_cc=$CC)
+-AC_SUBST(CC)
+-AC_PROG_CPP
+ if test "x${GCC}" != "x" ; then
+ blt_have_gcc="yes"
+ else
diff --git a/dev-tcltk/blt/files/blt-2.4z-darwin.patch b/dev-tcltk/blt/files/blt-2.4z-darwin.patch
new file mode 100644
index 000000000000..0d766fe5e17f
--- /dev/null
+++ b/dev-tcltk/blt/files/blt-2.4z-darwin.patch
@@ -0,0 +1,72 @@
+--- configure.in
++++ configure.in
+@@ -183,9 +183,6 @@
+ blt_lib_prefix=""
+ fi
+ ;;
+- *-*-macosx)
+- blt_platform="macosx"
+- ;;
+ *)
+ blt_platform="unix"
+ ;;
+@@ -728,6 +725,9 @@
+ *-hpux*)
+ SHLIB_SUFFIX="sl"
+ ;;
++ *-darwin*)
++ SHLIB_SUFFIX="dylib"
++ ;;
+ *)
+ SHLIB_SUFFIX="so"
+ ;;
+@@ -1145,6 +1145,13 @@
+ LDFLAGS=""
+ ;;
+
++ *-darwin*)
++ SHLIB_CFLAGS=""
++ SHLIB_LD="${CC}"
++ SHLIB_LD_FLAGS='-dynamiclib -install_name $(libdir)/$@'
++ SHLIB_SUFFIX=".dylib"
++ ;;
++
+ *-dgux*)
+ SHLIB_CFLAGS="-K PIC"
+ SHLIB_LD="cc"
+--- configure
++++ configure
+@@ -1279,9 +1279,6 @@
+ blt_lib_prefix=""
+ fi
+ ;;
+- *-*-macosx)
+- blt_platform="macosx"
+- ;;
+ *)
+ blt_platform="unix"
+ ;;
+@@ -3396,6 +3393,9 @@
+ *-hpux*)
+ SHLIB_SUFFIX="sl"
+ ;;
++ *-darwin*)
++ SHLIB_SUFFIX="dylib"
++ ;;
+ *)
+ SHLIB_SUFFIX="so"
+ ;;
+@@ -3943,6 +3943,13 @@
+ LDFLAGS=""
+ ;;
+
++ *-darwin*)
++ SHLIB_CFLAGS=""
++ SHLIB_LD="${CC}"
++ SHLIB_LD_FLAGS='-dynamiclib -install_name $(libdir)/$@'
++ SHLIB_SUFFIX=".dylib"
++ ;;
++
+ *-dgux*)
+ SHLIB_CFLAGS="-K PIC"
+ SHLIB_LD="cc"
diff --git a/dev-tcltk/blt/files/blt-2.4z-gbsd.patch b/dev-tcltk/blt/files/blt-2.4z-gbsd.patch
new file mode 100644
index 000000000000..ffdadf1746e5
--- /dev/null
+++ b/dev-tcltk/blt/files/blt-2.4z-gbsd.patch
@@ -0,0 +1,54 @@
+Detect correctly Gentoo/*BSD CHOSTS:
+- *-*-freebsd* means tcl/tk libs will be like libtcl85.so, instead of
+ libtcl8.5.so
+- *-gentoo-*bsd means this is a Gentoo/*BSD system which uses the same toolchain
+ as linux, so we link in the same way.
+
+--- blt2.4z-8.5.2/configure.old 2012-05-06 18:11:45.000000000 -0400
++++ blt2.4z-8.5.2/configure 2012-05-06 18:15:25.000000000 -0400
+@@ -3376,7 +3376,7 @@
+ fi
+
+ case $target in
+- *-sunos4*|*-*-netbsd|NetBSD-*|FreeBSD-*|OpenBSD-*|*-*-cygwin*|*-*-mingw*)
++ *-sunos4*|*-*-netbsd|NetBSD-*|FreeBSD-*|*-*-freebsd*|OpenBSD-*|*-*-cygwin*|*-*-mingw*)
+ TCL_LIB_NAME="tcl${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}"
+ TK_LIB_NAME="tk${TK_MAJOR_VERSION}${TK_MINOR_VERSION}"
+ ;;
+@@ -4079,6 +4079,12 @@
+ EXTRA_LIB_SPECS="-ldl"
+ ;;
+
++ *-gentoo-netbsd*|*-gentoo-freebsd*|*-gentoo-openbsd*)
++ SHLIB_CFLAGS="-fPIC"
++ SHLIB_LD="${CC}"
++ SHLIB_LD_FLAGS='-rdynamic -shared -Wl,-E -Wl,-soname,$@'
++ ;;
++
+ *-netbsd*|*-freebsd*|*-openbsd*)
+ # Not available on all versions: check for include file.
+ ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'`
+--- blt2.4z-8.5.2/configure.in.old 2012-05-06 18:11:47.000000000 -0400
++++ blt2.4z-8.5.2/configure.in 2012-05-06 18:15:08.000000000 -0400
+@@ -708,7 +708,7 @@
+ fi
+
+ case $target in
+- *-sunos4*|*-*-netbsd|NetBSD-*|FreeBSD-*|OpenBSD-*|*-*-cygwin*|*-*-mingw*)
++ *-sunos4*|*-*-netbsd|NetBSD-*|FreeBSD-*|*-*-freebsd*|OpenBSD-*|*-*-cygwin*|*-*-mingw*)
+ TCL_LIB_NAME="tcl${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}"
+ TK_LIB_NAME="tk${TK_MAJOR_VERSION}${TK_MINOR_VERSION}"
+ ;;
+@@ -1241,6 +1241,12 @@
+ EXTRA_LIB_SPECS="-ldl"
+ ;;
+
++ *-gentoo-netbsd*|*-gentoo-freebsd*|*-gentoo-openbsd*)
++ SHLIB_CFLAGS="-fPIC"
++ SHLIB_LD="${CC}"
++ SHLIB_LD_FLAGS='-rdynamic -shared -Wl,-E -Wl,-soname,$@'
++ ;;
++
+ *-netbsd*|*-freebsd*|*-openbsd*)
+ # Not available on all versions: check for include file.
+ AC_CHECK_HEADER(dlfcn.h, test_ok=yes, test_ok=no)
diff --git a/dev-tcltk/blt/files/blt-2.4z-ldflags.patch b/dev-tcltk/blt/files/blt-2.4z-ldflags.patch
new file mode 100644
index 000000000000..bc795d060de8
--- /dev/null
+++ b/dev-tcltk/blt/files/blt-2.4z-ldflags.patch
@@ -0,0 +1,30 @@
+diff --git a/src/shared/Makefile.in b/src/shared/Makefile.in
+index 5d93e82..db14156 100644
+--- a/src/shared/Makefile.in
++++ b/src/shared/Makefile.in
+@@ -18,7 +18,7 @@ SHLIB_LD_FLAGS = @SHLIB_LD_FLAGS@ @LD_RUN_PATH@
+ SHLIB_TCL_ONLY_LIB_SPECS = @SHLIB_TCL_ONLY_LIB_SPECS@
+ SHLIB_LIB_SPECS = @SHLIB_LIB_SPECS@
+ SHLIB_LD = @SHLIB_LD@
+-LDFLAGS = @LDFLAGS@ @LD_RUN_PATH@
++LDFLAGS += @LDFLAGS@
+
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+@@ -144,14 +144,14 @@ $(lib_so): $(OBJS)
+ $(CC) -c $(CC_SWITCHES) -DBLT_LIBRARY=\"$(scriptdir)\" \
+ $(srcdir)/bltInit.c
+ $(RM) $@
+- $(SHLIB_LD) $(SHLIB_LD_FLAGS) -o $@ bltInit.o $(OBJS) \
++ $(SHLIB_LD) $(SHLIB_LD_FLAGS) $(LDFLAGS) -o $@ bltInit.o $(OBJS) \
+ $(SHLIB_LIB_SPECS)
+
+ $(tcl_only_lib_so): $(TCL_ONLY_OBJS)
+ $(CC) -c $(CC_SWITCHES) -DTCL_ONLY -DBLT_LIBRARY=\"$(scriptdir)\" \
+ $(srcdir)/bltInit.c
+ $(RM) $@
+- $(SHLIB_LD) $(SHLIB_LD_FLAGS) -o $@ bltInit.o $(TCL_ONLY_OBJS) \
++ $(SHLIB_LD) $(SHLIB_LD_FLAGS) $(LDFLAGS) -o $@ bltInit.o $(TCL_ONLY_OBJS) \
+ $(SHLIB_TCL_ONLY_LIB_SPECS)
+
+ install: mkdirs install-lib install-demo
diff --git a/dev-tcltk/blt/files/blt-2.4z-linking.patch b/dev-tcltk/blt/files/blt-2.4z-linking.patch
new file mode 100644
index 000000000000..b5a5359171d3
--- /dev/null
+++ b/dev-tcltk/blt/files/blt-2.4z-linking.patch
@@ -0,0 +1,21 @@
+diff --git a/src/shared/Makefile.in b/src/shared/Makefile.in
+index db14156..a06111f 100644
+--- a/src/shared/Makefile.in
++++ b/src/shared/Makefile.in
+@@ -145,14 +145,14 @@ $(lib_so): $(OBJS)
+ $(srcdir)/bltInit.c
+ $(RM) $@
+ $(SHLIB_LD) $(SHLIB_LD_FLAGS) $(LDFLAGS) -o $@ bltInit.o $(OBJS) \
+- $(SHLIB_LIB_SPECS)
++ $(SHLIB_LIB_SPECS) $(LIBS)
+
+ $(tcl_only_lib_so): $(TCL_ONLY_OBJS)
+ $(CC) -c $(CC_SWITCHES) -DTCL_ONLY -DBLT_LIBRARY=\"$(scriptdir)\" \
+ $(srcdir)/bltInit.c
+ $(RM) $@
+ $(SHLIB_LD) $(SHLIB_LD_FLAGS) $(LDFLAGS) -o $@ bltInit.o $(TCL_ONLY_OBJS) \
+- $(SHLIB_TCL_ONLY_LIB_SPECS)
++ $(SHLIB_TCL_ONLY_LIB_SPECS) $(LIBS)
+
+ install: mkdirs install-lib install-demo
+
diff --git a/dev-tcltk/blt/files/blt-2.4z-r4-fix-makefile.patch b/dev-tcltk/blt/files/blt-2.4z-r4-fix-makefile.patch
new file mode 100644
index 000000000000..8404f2625c37
--- /dev/null
+++ b/dev-tcltk/blt/files/blt-2.4z-r4-fix-makefile.patch
@@ -0,0 +1,23 @@
+Source: mescalinum
+Upstream: N/A
+Reason: fix broken $DESTDIR support in library/Makefile
+--- library/Makefile.in.orig 2008-10-26 14:30:28.000000000 +0100
++++ library/Makefile.in 2008-10-26 14:31:40.000000000 +0100
+@@ -45,7 +45,7 @@ all: pkgIndex
+
+ pkgIndex:
+ rm -f pkgIndex.tcl
+- sed -e 's/%VERSION%/$(version)/' $(srcdir)/pkgIndex.tcl.in | \
++ sed -e 's/%VERSION%/$(version)/' $(INSTALL_ROOT)$(srcdir)/pkgIndex.tcl.in | \
+ sed -e 's/%LIB_PREFIX%/$(lib_prefix)/' | \
+ sed -e 's;%LIB_DIR%;$(libdir);' > pkgIndex.tcl
+
+@@ -58,7 +58,7 @@ install: mkdirs pkgIndex
+ for i in $(miscFiles) ; do \
+ $(INSTALL_DATA) $(srcdir)/$$i $(INSTALL_ROOT)$(scriptdir) ; \
+ done
+- $(INSTALL_DATA) pkgIndex.tcl $(scriptdir)
++ $(INSTALL_DATA) pkgIndex.tcl $(INSTALL_ROOT)$(scriptdir)
+
+ mkdirs:
+ @for i in $(instdirs) ; do \
diff --git a/dev-tcltk/blt/files/blt-2.4z-r4-fix-makefile2.patch b/dev-tcltk/blt/files/blt-2.4z-r4-fix-makefile2.patch
new file mode 100644
index 000000000000..1ff4fed5f51b
--- /dev/null
+++ b/dev-tcltk/blt/files/blt-2.4z-r4-fix-makefile2.patch
@@ -0,0 +1,18 @@
+Source: mescalinum
+Upstream: N/A
+Reason: fix broken $DESTDIR support in Makefile
+--- Makefile.in.orig 2008-10-26 14:36:22.000000000 +0100
++++ Makefile.in 2008-10-26 14:37:04.000000000 +0100
+@@ -47,9 +47,9 @@ install-all:
+ (cd library; $(MAKE) install)
+ (cd man; $(MAKE) install)
+ (cd demos; $(MAKE) install)
+- $(INSTALL_DATA) $(srcdir)/README $(INSTALL_DIR)$(scriptdir)
+- $(INSTALL_DATA) $(srcdir)/PROBLEMS $(INSTALL_DIR)$(scriptdir)
+- $(INSTALL_DATA) $(srcdir)/NEWS $(INSTALL_DIR)$(scriptdir)
++ $(INSTALL_DATA) $(srcdir)/README $(INSTALL_ROOT)$(scriptdir)
++ $(INSTALL_DATA) $(srcdir)/PROBLEMS $(INSTALL_ROOT)$(scriptdir)
++ $(INSTALL_DATA) $(srcdir)/NEWS $(INSTALL_ROOT)$(scriptdir)
+
+ mkdirs:
+ @for i in $(instdirs) ; do \
diff --git a/dev-tcltk/blt/files/blt-2.4z-r4-fix-makefile3.patch b/dev-tcltk/blt/files/blt-2.4z-r4-fix-makefile3.patch
new file mode 100644
index 000000000000..c7065df39753
--- /dev/null
+++ b/dev-tcltk/blt/files/blt-2.4z-r4-fix-makefile3.patch
@@ -0,0 +1,14 @@
+Source: mescalinum
+Upstream: N/A
+Reason: fix broken $DESTDIR support in library/Makefile
+--- library/Makefile.in.orig 2008-10-26 14:30:28.000000000 +0100
++++ library/Makefile.in 2008-10-26 14:31:40.000000000 +0100
+@@ -58,7 +58,7 @@ install: mkdirs pkgIndex
+ for i in $(miscFiles) ; do \
+ $(INSTALL_DATA) $(srcdir)/$$i $(INSTALL_ROOT)$(scriptdir) ; \
+ done
+- $(INSTALL_DATA) pkgIndex.tcl $(scriptdir)
++ $(INSTALL_DATA) pkgIndex.tcl $(INSTALL_ROOT)$(scriptdir)
+
+ mkdirs:
+ @for i in $(instdirs) ; do \
diff --git a/dev-tcltk/blt/files/blt-2.4z-tcl8.5-fixpkgruntime.patch b/dev-tcltk/blt/files/blt-2.4z-tcl8.5-fixpkgruntime.patch
new file mode 100644
index 000000000000..c8637b9c7c45
--- /dev/null
+++ b/dev-tcltk/blt/files/blt-2.4z-tcl8.5-fixpkgruntime.patch
@@ -0,0 +1,66 @@
+--- src/bltInit.c.orig 2008-05-29 00:05:10.000000000 +0200
++++ src/bltInit.c 2008-05-29 00:26:40.000000000 +0200
+@@ -413,7 +413,7 @@ Blt_Init(interp)
+ * Check that the versions of Tcl that have been loaded are
+ * the same ones that BLT was compiled against.
+ */
+- if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, EXACT) == NULL) {
++ if (Tcl_InitStubs(interp, TCL_VERSION, 1) == NULL) {
+ return TCL_ERROR;
+ }
+ /* Set the "blt_version", "blt_patchLevel", and "blt_libPath" Tcl
+@@ -458,16 +458,23 @@ Blt_Init(interp)
+ register Tcl_AppInitProc **p;
+ Tcl_Namespace *nsPtr;
+
++ if (Tk_InitStubs(interp, TK_VERSION, 1) == NULL) {
++ return TCL_OK;
++ }
++
++#if 0
+ #if (TCL_VERSION_NUMBER >= _VERSION(8,1,0))
+ if (Tcl_PkgPresent(interp, "Tk", TK_VERSION, EXACT) == NULL) {
+ return TCL_OK;
+- }
++ }
+ #else
+ if (Tcl_PkgRequire(interp, "Tk", TK_VERSION, EXACT) == NULL) {
+ Tcl_ResetResult(interp);
+ return TCL_OK;
+ }
+ #endif
++#endif
++
+ nsPtr = Tcl_CreateNamespace(interp, "blt::tile", NULL,
+ (Tcl_NamespaceDeleteProc *) NULL);
+ if (nsPtr == NULL) {
+@@ -507,7 +514,7 @@ Blt_Init(interp)
+ * Check that the versions of Tcl that have been loaded are
+ * the same ones that BLT was compiled against.
+ */
+- if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, EXACT) == NULL) {
++ if (Tcl_InitStubs(interp, TCL_VERSION, EXACT) == NULL) {
+ return TCL_ERROR;
+ }
+ /* Set the "blt_version", "blt_patchLevel", and "blt_libPath" Tcl
+@@ -543,6 +550,11 @@ Blt_Init(interp)
+ if (!tkLoaded) {
+ register Tcl_AppInitProc **p;
+
++ if (Tk_InitStubs(interp, TK_VERSION, 1) == NULL) {
++ return TCL_OK;
++ }
++
++#if 0
+ #if (TCL_VERSION_NUMBER >= _VERSION(8,1,0))
+ if (Tcl_PkgPresent(interp, "Tk", TK_VERSION, EXACT) == NULL) {
+ return TCL_OK;
+@@ -553,6 +565,8 @@ Blt_Init(interp)
+ return TCL_OK;
+ }
+ #endif
++#endif
++
+ /* Initialize the BLT commands that use Tk too. */
+ for (p = tkCmds; *p != NULL; p++) {
+ if ((**p) (interp) != TCL_OK) {
diff --git a/dev-tcltk/blt/files/blt-2.4z-tcl8.6.patch b/dev-tcltk/blt/files/blt-2.4z-tcl8.6.patch
new file mode 100644
index 000000000000..8721940af2c3
--- /dev/null
+++ b/dev-tcltk/blt/files/blt-2.4z-tcl8.6.patch
@@ -0,0 +1,86 @@
+ src/bltScrollbar.c | 2 +-
+ src/bltTed.c | 6 +++---
+ src/bltVecMath.c | 8 ++++----
+ 3 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/bltScrollbar.c b/src/bltScrollbar.c
+index 69662de..731e37b 100644
+--- a/src/bltScrollbar.c
++++ b/src/bltScrollbar.c
+@@ -534,7 +534,7 @@ ScrollbarWidgetCmd(clientData, interp, argc, argv)
+ } else {
+ fraction = ((double)pixels / (double)barWidth);
+ }
+- sprintf(interp->result, "%g", fraction);
++ sprintf(Tcl_GetStringResult(interp), "%g", fraction);
+ } else if ((c == 'f') && (strncmp(argv[1], "fraction", length) == 0)) {
+ int x, y, pos, barWidth;
+ double fraction;
+diff --git a/src/bltTed.c b/src/bltTed.c
+index 64c43e8..832ef9c 100644
+--- a/src/bltTed.c
++++ b/src/bltTed.c
+@@ -1504,7 +1504,7 @@ EditOp(dataPtr, interp, argc, argv)
+ tablePtr->flags |= ARRANGE_PENDING;
+ Tcl_DoWhenIdle(tablePtr->arrangeProc, tablePtr);
+ }
+- interp->result = Tk_PathName(tedPtr->tkwin);
++ Tcl_SetResult(interp, (char*)Tk_PathName(tedPtr->tkwin), TCL_VOLATILE);
+ tedPtr->flags |= LAYOUT_PENDING;
+ EventuallyRedraw(tedPtr);
+ return TCL_OK;
+@@ -1678,7 +1678,7 @@ SelectOp(dataPtr, interp, argc, argv)
+ tedPtr->activeRectArr[4].width = grip - 1;
+ tedPtr->activeRectArr[4].height = grip - 1;
+
+- interp->result = Tk_PathName(entryPtr->tkwin);
++ Tcl_SetResult(interp, (char*)Tk_PathName(entryPtr->tkwin), TCL_VOLATILE);
+ active = 1;
+ break;
+ }
+@@ -1751,7 +1751,7 @@ RepOp(dataPtr, interp, argc, argv)
+ tablePtr->flags |= ARRANGE_PENDING;
+ Tcl_DoWhenIdle(tablePtr->arrangeProc, tablePtr);
+ }
+- interp->result = Tk_PathName(tedPtr->tkwin);
++ Tcl_SetResult(interp, (char*)Tk_PathName(tedPtr->tkwin), TCL_VOLATILE);
+ tedPtr->flags |= LAYOUT_PENDING;
+ EventuallyRedraw(tedPtr);
+ return TCL_OK;
+diff --git a/src/bltVecMath.c b/src/bltVecMath.c
+index dc37af8..5117f63 100644
+--- a/src/bltVecMath.c
++++ b/src/bltVecMath.c
+@@ -764,20 +764,20 @@ MathError(interp, value)
+ if ((errno == EDOM) || (value != value)) {
+ Tcl_AppendResult(interp, "domain error: argument not in valid range",
+ (char *)NULL);
+- Tcl_SetErrorCode(interp, "ARITH", "DOMAIN", interp->result,
++ Tcl_SetErrorCode(interp, "ARITH", "DOMAIN", Tcl_GetStringResult(interp),
+ (char *)NULL);
+ } else if ((errno == ERANGE) || IS_INF(value)) {
+ if (value == 0.0) {
+ Tcl_AppendResult(interp,
+ "floating-point value too small to represent",
+ (char *)NULL);
+- Tcl_SetErrorCode(interp, "ARITH", "UNDERFLOW", interp->result,
++ Tcl_SetErrorCode(interp, "ARITH", "UNDERFLOW", Tcl_GetStringResult(interp),
+ (char *)NULL);
+ } else {
+ Tcl_AppendResult(interp,
+ "floating-point value too large to represent",
+ (char *)NULL);
+- Tcl_SetErrorCode(interp, "ARITH", "OVERFLOW", interp->result,
++ Tcl_SetErrorCode(interp, "ARITH", "OVERFLOW", Tcl_GetStringResult(interp),
+ (char *)NULL);
+ }
+ } else {
+@@ -786,7 +786,7 @@ MathError(interp, value)
+ sprintf(buf, "%d", errno);
+ Tcl_AppendResult(interp, "unknown floating-point error, ",
+ "errno = ", buf, (char *)NULL);
+- Tcl_SetErrorCode(interp, "ARITH", "UNKNOWN", interp->result,
++ Tcl_SetErrorCode(interp, "ARITH", "UNKNOWN", Tcl_GetStringResult(interp),
+ (char *)NULL);
+ }
+ }
diff --git a/dev-tcltk/blt/files/blt-2.4z-tk8.6.patch b/dev-tcltk/blt/files/blt-2.4z-tk8.6.patch
new file mode 100644
index 000000000000..f956c098138e
--- /dev/null
+++ b/dev-tcltk/blt/files/blt-2.4z-tk8.6.patch
@@ -0,0 +1,20 @@
+--- src/tkButton.c.orig 2013-01-04 23:24:45.000000000 -0500
++++ src/tkButton.c 2013-01-04 23:28:29.000000000 -0500
+@@ -526,8 +526,6 @@
+ static Blt_TileChangedProc TileChangedProc;
+ static Tcl_CmdProc ButtonCmd, LabelCmd, CheckbuttonCmd, RadiobuttonCmd;
+
+-EXTERN int TkCopyAndGlobalEval _ANSI_ARGS_((Tcl_Interp *interp, char *script));
+-
+ #if (TK_MAJOR_VERSION > 4)
+ EXTERN void TkComputeAnchor _ANSI_ARGS_((Tk_Anchor anchor, Tk_Window tkwin,
+ int padX, int padY, int innerWidth, int innerHeight, int *xPtr,
+@@ -1890,7 +1888,7 @@
+ }
+ }
+ if ((butPtr->type != TYPE_LABEL) && (butPtr->command != NULL)) {
+- return TkCopyAndGlobalEval(butPtr->interp, butPtr->command);
++ return Tcl_EvalObjEx(butPtr->interp, butPtr->command, TCL_EVAL_GLOBAL);
+ }
+ return TCL_OK;
+ }
diff --git a/dev-tcltk/blt/files/blt2.4z-64bit.patch b/dev-tcltk/blt/files/blt2.4z-64bit.patch
new file mode 100644
index 000000000000..9f1c3c975eef
--- /dev/null
+++ b/dev-tcltk/blt/files/blt2.4z-64bit.patch
@@ -0,0 +1,24 @@
+--- blt2.4z/src/bltTree.c.64bit-fixes 2002-09-29 07:44:12.000000000 +0200
++++ blt2.4z/src/bltTree.c 2003-07-31 12:22:53.000000000 +0200
+@@ -95,17 +95,16 @@ static Value *TreeNextValue _ANSI_ARGS_(
+ */
+
+ #define REBUILD_MULTIPLIER 3
++#define START_LOGSIZE 5 /* Initial hash table size is 32. */
++#define MAX_LIST_VALUES 20 /* Convert to hash table when node
++ * value list gets bigger than this
++ * many values. */
+
+ #if (SIZEOF_VOID_P == 8)
+ #define RANDOM_INDEX(i) HashOneWord(mask, downshift, i)
+ #define BITSPERWORD 64
+ #else
+
+-#define START_LOGSIZE 5 /* Initial hash table size is 32. */
+-#define MAX_LIST_VALUES 20 /* Convert to hash table when node
+- * value list gets bigger than this
+- * many values. */
+-
+ /*
+ * The following macro takes a preliminary integer hash value and
+ * produces an index into a hash tables bucket list. The idea is
diff --git a/dev-tcltk/blt/files/blt2.4z-install.diff b/dev-tcltk/blt/files/blt2.4z-install.diff
new file mode 100644
index 000000000000..184d7f701ce5
--- /dev/null
+++ b/dev-tcltk/blt/files/blt2.4z-install.diff
@@ -0,0 +1,26 @@
+--- blt2.4z/library/Makefile.in.jj 2003-07-09 20:18:32.000000000 +0100
++++ blt2.4z/library/Makefile.in 2003-07-09 20:19:06.000000000 +0100
+@@ -58,7 +58,7 @@
+ for i in $(miscFiles) ; do \
+ $(INSTALL_DATA) $(srcdir)/$$i $(INSTALL_ROOT)$(scriptdir) ; \
+ done
+- $(INSTALL_DATA) pkgIndex.tcl $(scriptdir)
++ $(INSTALL_DATA) pkgIndex.tcl $(INSTALL_ROOT)$(scriptdir)
+
+ mkdirs:
+ @for i in $(instdirs) ; do \
+--- blt2.4z/Makefile.in.jj 2003-07-09 20:19:24.000000000 +0100
++++ blt2.4z/Makefile.in 2003-07-09 20:19:46.000000000 +0100
+@@ -47,9 +47,9 @@
+ (cd library; $(MAKE) install)
+ (cd man; $(MAKE) install)
+ (cd demos; $(MAKE) install)
+- $(INSTALL_DATA) $(srcdir)/README $(INSTALL_DIR)$(scriptdir)
+- $(INSTALL_DATA) $(srcdir)/PROBLEMS $(INSTALL_DIR)$(scriptdir)
+- $(INSTALL_DATA) $(srcdir)/NEWS $(INSTALL_DIR)$(scriptdir)
++ $(INSTALL_DATA) $(srcdir)/README $(INSTALL_ROOT)$(scriptdir)
++ $(INSTALL_DATA) $(srcdir)/PROBLEMS $(INSTALL_ROOT)$(scriptdir)
++ $(INSTALL_DATA) $(srcdir)/NEWS $(INSTALL_ROOT)$(scriptdir)
+
+ mkdirs:
+ @for i in $(instdirs) ; do \
diff --git a/dev-tcltk/blt/files/pkgIndex.tcl b/dev-tcltk/blt/files/pkgIndex.tcl
new file mode 100644
index 000000000000..7911d8537b84
--- /dev/null
+++ b/dev-tcltk/blt/files/pkgIndex.tcl
@@ -0,0 +1,2 @@
+package ifneeded BLT 2.4 [list load [file join $dir .. libBLT24.so]]
+package ifneeded BLTlite 2.4 [list load [file join $dir .. libBLTlite24.so]]
diff --git a/dev-tcltk/blt/metadata.xml b/dev-tcltk/blt/metadata.xml
new file mode 100644
index 000000000000..70ac40499556
--- /dev/null
+++ b/dev-tcltk/blt/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>tcltk</herd>
+</pkgmetadata>