summaryrefslogtreecommitdiff
path: root/dev-tcltk/blt
diff options
context:
space:
mode:
Diffstat (limited to 'dev-tcltk/blt')
-rw-r--r--dev-tcltk/blt/Manifest14
-rw-r--r--dev-tcltk/blt/blt-2.4z-r13.ebuild125
-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-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/metadata.xml11
14 files changed, 634 insertions, 0 deletions
diff --git a/dev-tcltk/blt/Manifest b/dev-tcltk/blt/Manifest
new file mode 100644
index 000000000000..2dc9dc163313
--- /dev/null
+++ b/dev-tcltk/blt/Manifest
@@ -0,0 +1,14 @@
+AUX blt-2.4z-aclocal.patch 1705 BLAKE2B b6a60380857ad7a70fdf77587f726a7e55e159a9b7ccf9be743ff1594c35ed8d4a43b7c0b7206e245e6df999a3dbf8b6f80cf766c711333c2824c936d97d9891 SHA512 dfc4eb375b12d8ae87a65c039bae6445b70008ff1681cf1a40028a04685bbfcbb5dc841b25b475285679aac9303e0807f88c061f983a26a3de66fc1e1dc2ad12
+AUX blt-2.4z-darwin.patch 1186 BLAKE2B f58e5105e0655d4548d919a5dd95f6e8ea49d3d37cc1e8f4553ead2edf1244eec8a532d49409757a21c766cfba397e90bb8ae7008675fedbe665fff8178de8a0 SHA512 31941da432004eec1837fda164365327e39f44345581c8f87d6c37e95ed609b61ee6420e832c67b91277418ff232cc1b6c7ee85cd5e9a8859bf8530e16d354c5
+AUX blt-2.4z-gbsd.patch 1980 BLAKE2B 2b629aff5a63c8a42bcbf8f8b1922be01f3e5239ea7a0a55ecdb3f3cef67fd0b988ed063fd6fa110ad0d6a912f28f1c432f0d25610b2ec54add1158c694075a4 SHA512 9e3b833445f998af5c070d755c4c6904d78175640b771abc020289c857bb12ab82fdd504eebc16771c3b057b94643d20acf4eb5952184ca2d2f9233ecd55f92c
+AUX blt-2.4z-ldflags.patch 1086 BLAKE2B 351e459f3ca67a49f77875ddfb1a36cccc859fd8c537bb6d14b5d85d5c3ea5766ba242974de007cba515c13c7550dc3a76318fabce3fc5404c7a900a5566a38b SHA512 d2e19fc9caab2ae013c01e66c9674906bda2f01190bf6e9da93c2d22cb4a36a167f7de34649e6d3efc84b0094b1710fc3380347367830dc012873c3845716445
+AUX blt-2.4z-linking.patch 684 BLAKE2B 1125105c5d8891412f31b966673f876ae8b36fe4349e81e7349dbd7636a49ddbcdbebbc68b78966ad86ff67f75b7236d724ad920176e2991cb8e77a2c07bb0b4 SHA512 09ad0d4b43d51b33020a13ecbe31d04d5ddcdf2134d0c0e1275b4de3127adad624d222f492a6d9b0a4f198537afb30d9af70f8685668bf7eba966f020c34368e
+AUX blt-2.4z-r4-fix-makefile2.patch 728 BLAKE2B aa71cba7b9fae1f546838a722d44c3e276ed88f7417029d3c2b3c88c35c5e6071a73ee63e58bc66b03ca9a9a9fb144ecee1da1a671b75be69d423dd4a12c76c1 SHA512 5f9b5ab26101bf89bb7161bd4bfb4974144c61ae692f67b7598fe0c42929f84b14ac459fdfc29a1436b64924085b8047c90a84501c031f9d8575d4dc38c22681
+AUX blt-2.4z-r4-fix-makefile3.patch 509 BLAKE2B 54470814577ac56e3ec576d1d07bcaf392a5fc6436d2510adcb3d4eaa51ddf5168b4c0f9c5095b5d62f16dab551498ed79fd78433c6b5115e36801321f84ab47 SHA512 77f432a8ae319ae552a0803c949e4de3e4d1ce258d1f41347481f162d084668c125971ccea5e4fc53dd806054596a4d620786aca41275789c393cf499c9a93b4
+AUX blt-2.4z-tcl8.5-fixpkgruntime.patch 1976 BLAKE2B ee98cfbffe662797c6da757f727044501e3689f21bbf0083a05c4b92a05780c93f12edb759286349aeaffc6276115bebc4462ab03903fd24543c455bdb93fc86 SHA512 036cc9672c6c5f7554ab883d89602f8ead92c7533fb45742a082b97162f32d6442ac52e1e4f7154d669d917915b840cc6191ae544e1261e430222e0a293c0f41
+AUX blt-2.4z-tcl8.6.patch 3281 BLAKE2B bc4963adc5016d8b2606d357538ed6a2940b2e47f6bb4cf1e8e51eb39b3ee1e2fa0a0344719b5687fa2e85c1b3abea312431c7e8fcf90abd72cfcb1ae742f803 SHA512 38aa7a7f38e4ae98adda97948b3a0adb0747e4b8966b493efb87268717636c47a79ccd31caa73f44fb7e673e3d51b4552a23ad1b1a0360327fb678327814840c
+AUX blt-2.4z-tk8.6.patch 781 BLAKE2B 46e29dc6390033981e9db351d8d00503c37c45a0f7c6777f6d18c1855a143f11be3cb7fd4fde8b26e33c266ba74eb4e7ba32d53cfc7a63b4319004b0f4544f08 SHA512 429d24edf55668827e638647e51131083b879d068d65c6d5d4f4665b42d7e02b26760bc78b8aaee5e089fa48b674a81d8cf861220493a7390aadba814a789602
+AUX blt2.4z-64bit.patch 891 BLAKE2B ddf77f3a5d47a5252271e57adff1afeb9a4bca868a89c4060a13b7c494355499cd14238a5087cd6da43e7f589be8894f7cbdedb2d04c7ea004a7193da63e2c8f SHA512 fee84b20e3cf8491567c11ed1cff3955963b68deda2d4d8a91b48691aa50d83db45a6aa4d86f80f8dd38b0b6bb1f68a1324e9f6805cc10fde2bcfb45f03f71e4
+DIST blt2.4z-8.5.2.tar.gz 2326234 BLAKE2B 83ea57989ee1e7bbbc243058b1a734942c4b6d796d06aa3a702012ea8d01eb059e76b6b8ff0efc9b43b000f1cfe7545419e2d892f1794b2add3d8c2c602e22ba SHA512 afc465ba47ae43a0c6be17400d0a572dccd8c2a8adfd8fc3ed50f9ec28d02129f069d88096c1428c4b242550131092b4141035d7ce90c9e7181ccf712502f09a
+EBUILD blt-2.4z-r13.ebuild 3567 BLAKE2B 5171c823736a61120eff394735f13a24ee0c485e5a15c65afd77c6725cff1b48f2f0601e220256da01fd22595cf7ad9b5c3395d8aee876aa155942e4e9a3c8df SHA512 5e01b7863ce3797d9083193f4cc49cf1ab46dc0ffd906f3b193d871931deca3c49aa5dec2015a9ad67f9aba86e6c4e485b2e65ff4c4b38d477c9fc36038ff037
+MISC metadata.xml 336 BLAKE2B 42e123497016c3cffffc99cd56d04cf37bc81ad11487a39a97f1200df91edfb8d2c359ef76a3be83d4682cc6e2ba2695fd460af1de06d8f15b0932dd1f3ad211 SHA512 32593908c71225b7869b03d96dde6b7ed0d3db25f921257cf5027c80830cca794d0ed30b73c3189edd34553d6766ae57daf8caceb106bc49398fb519fd95d28c
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..2ec7a4811499
--- /dev/null
+++ b/dev-tcltk/blt/blt-2.4z-r13.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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="
+ https://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 ~arm64 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-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/metadata.xml b/dev-tcltk/blt/metadata.xml
new file mode 100644
index 000000000000..549667e75d56
--- /dev/null
+++ b/dev-tcltk/blt/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>tcltk@gentoo.org</email>
+ <name>Gentoo Tcltk Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">blt</remote-id>
+ </upstream>
+</pkgmetadata>