summaryrefslogtreecommitdiff
path: root/dev-tcltk/blt
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-tcltk/blt
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-tcltk/blt')
-rw-r--r--dev-tcltk/blt/Manifest16
-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, 636 insertions, 0 deletions
diff --git a/dev-tcltk/blt/Manifest b/dev-tcltk/blt/Manifest
new file mode 100644
index 000000000000..28d843911f45
--- /dev/null
+++ b/dev-tcltk/blt/Manifest
@@ -0,0 +1,16 @@
+AUX blt-2.4z-aclocal.patch 1705 SHA256 7b9b496f68ee8215b7404e1750955cb03e9188d19a523495c5ac33074500fc7e SHA512 dfc4eb375b12d8ae87a65c039bae6445b70008ff1681cf1a40028a04685bbfcbb5dc841b25b475285679aac9303e0807f88c061f983a26a3de66fc1e1dc2ad12 WHIRLPOOL 824a80c2b05ab023c5a4e5321aa29ea793212db311ffa817f2fb6b711480561fd226a6e3d0341c00e90dd8ec2b8d9b31d9a57935e9a8b49d07380560d4288aeb
+AUX blt-2.4z-darwin.patch 1186 SHA256 3cbdbbf123aeb4b4a727704c2daabddb7a4a44e23c2d0bd7652c0b0b0aa8d297 SHA512 31941da432004eec1837fda164365327e39f44345581c8f87d6c37e95ed609b61ee6420e832c67b91277418ff232cc1b6c7ee85cd5e9a8859bf8530e16d354c5 WHIRLPOOL 33a3fce0e6066e975ee2d564ae7176cfb4220f3371576531e4be3821a7cc43c96cd80892bb138006f5ce4dc38e1c970e68640b0e565a45634cc12427454730ac
+AUX blt-2.4z-gbsd.patch 1980 SHA256 b020b0043847bc05bda1b5c4c96c888dc0075ba3ef397bbb4af8181c20c69ce9 SHA512 9e3b833445f998af5c070d755c4c6904d78175640b771abc020289c857bb12ab82fdd504eebc16771c3b057b94643d20acf4eb5952184ca2d2f9233ecd55f92c WHIRLPOOL f2c43489ee0edf9fda259e4d9f03deac98432ece74fb01c9d97ef2b294d0d52b86d7601a754e004b859a0f0965a403ff98f657f360a06b07b75a51f72872da6a
+AUX blt-2.4z-ldflags.patch 1086 SHA256 20245d45dfb0e96afe1127fa40209a7881fbd3f3880ef04af9496809a308f06e SHA512 d2e19fc9caab2ae013c01e66c9674906bda2f01190bf6e9da93c2d22cb4a36a167f7de34649e6d3efc84b0094b1710fc3380347367830dc012873c3845716445 WHIRLPOOL bd0564162e27c97ecca7c8c017345d005871aec2f97bebf8f4a7b2667f4163f051df58379649e40b8c200b4155d2b6049cdf3e2db15753b715a2aa4adabd8467
+AUX blt-2.4z-linking.patch 684 SHA256 cd19df698ca40ce743c81fe2c18dce615a6db385c6a973b9a14201f45e5467a2 SHA512 09ad0d4b43d51b33020a13ecbe31d04d5ddcdf2134d0c0e1275b4de3127adad624d222f492a6d9b0a4f198537afb30d9af70f8685668bf7eba966f020c34368e WHIRLPOOL a5a993a06467a81e1987c04bd709859c725f438b5aa334b2eb1c3806567447dbc290f9a464800919d7fdb5ca0832053d1da9fc91346dc4455ea18ec353e10875
+AUX blt-2.4z-r4-fix-makefile2.patch 728 SHA256 aece52e1771d097498cf88bb1fe286ac698a46af0d07163c4b9d184440ab7d39 SHA512 5f9b5ab26101bf89bb7161bd4bfb4974144c61ae692f67b7598fe0c42929f84b14ac459fdfc29a1436b64924085b8047c90a84501c031f9d8575d4dc38c22681 WHIRLPOOL d76b7c2e350e562401a4b247b6f29e4286c35c2ca100e8b28892d63bf5874bfe1e3d8ef817bde66a43c3b2c2d81d6af8b08a87622d97d783c1e1480bb472ce87
+AUX blt-2.4z-r4-fix-makefile3.patch 509 SHA256 0ac21b9e7fc3e9e5bb7a44d195d8d6cdba05216cf2d9d09709bfc4628d371de1 SHA512 77f432a8ae319ae552a0803c949e4de3e4d1ce258d1f41347481f162d084668c125971ccea5e4fc53dd806054596a4d620786aca41275789c393cf499c9a93b4 WHIRLPOOL e16dc72e20e83de59684a0936c2571fa5ea00c7b20e91e54abc6eb3a7e5fdd7c328e9ea2a16a48fa7288dc8642d33b245fad3a4113a14770bc95349f08a2d76a
+AUX blt-2.4z-tcl8.5-fixpkgruntime.patch 1976 SHA256 a44ed43bbb946d8fc11bb8f416680a536ffc7c0d78faf33030ec378d67d3d287 SHA512 036cc9672c6c5f7554ab883d89602f8ead92c7533fb45742a082b97162f32d6442ac52e1e4f7154d669d917915b840cc6191ae544e1261e430222e0a293c0f41 WHIRLPOOL b3089b7ca520990ebd7fd1160342538e086a5414a049f6affa8a67020df889579ef4d0c5c683b75e0cbfc99deb7ca823c96396ddaac024f4ffde8c3ddc02b5c4
+AUX blt-2.4z-tcl8.6.patch 3281 SHA256 efbda5f49d61ac0cc7c03f9fc6990015bfea696e8a50189b9e8ef2b00d6f251f SHA512 38aa7a7f38e4ae98adda97948b3a0adb0747e4b8966b493efb87268717636c47a79ccd31caa73f44fb7e673e3d51b4552a23ad1b1a0360327fb678327814840c WHIRLPOOL 49e578f8a385c3ab7330cf646f8e8609334399063acbb0ea4b670e8a9de1cca10e638f9aa813007ecffd481e1adcb6dd34c5988a90596a6fd1042525277942a5
+AUX blt-2.4z-tk8.6.patch 781 SHA256 3d9b1c70c1b347dd9406993fe99c371c95dae42848ab8f9ec573e585545070da SHA512 429d24edf55668827e638647e51131083b879d068d65c6d5d4f4665b42d7e02b26760bc78b8aaee5e089fa48b674a81d8cf861220493a7390aadba814a789602 WHIRLPOOL 898235c52cb2dab35ece7930d9f8339941cde63e76aca8fb10a4667d1a6d6c5d518aa736e03b75d46d6f47b1bf89aa9d73aeb8d7ef9b6128cc0ee009c6153880
+AUX blt2.4z-64bit.patch 891 SHA256 a0a3da1016eea86279d1648f4390b38083484582bdb5b7e460435408000ca2f5 SHA512 fee84b20e3cf8491567c11ed1cff3955963b68deda2d4d8a91b48691aa50d83db45a6aa4d86f80f8dd38b0b6bb1f68a1324e9f6805cc10fde2bcfb45f03f71e4 WHIRLPOOL 0140bbb6431cc958eb053d1483ede5a8599fb25c2cc6e7fa6674821eeb3e327b3082933c225b62c9d5f29090cc8f0602bc21068f51f9f447b9cf410b2416346f
+DIST blt2.4z-8.5.2.tar.gz 2326234 SHA256 e4e60628f79e1899175b51a3398133131fac52021b9b9019b4483525c48d6d16 SHA512 afc465ba47ae43a0c6be17400d0a572dccd8c2a8adfd8fc3ed50f9ec28d02129f069d88096c1428c4b242550131092b4141035d7ce90c9e7181ccf712502f09a WHIRLPOOL a00a029e075916dd7656ca85acb308a48e6d80563a91ada9e9e7df7518ef0d4de2200b54e5d9c8a9602520c03472e73968956c0df30afb8ef7f7b364fdd5524f
+EBUILD blt-2.4z-r13.ebuild 3568 SHA256 716319b7055b881a0415a9fb91d276fb93d80ede8e3a3a550cf6ec584f687462 SHA512 6436495728e939b9ea22e5b6b2071a1ebaa7e08760ec263c41bc4ee9563e10f6b45fb26f54811d7647a8ad4a2880cf6737f6a2bd0020905a64a23145062b02a2 WHIRLPOOL 733a67dcd4917f806ceb3aa080b7a4fd7224a580208f7ce67a8ee9ac413f8b396ea9d9587aa843b575d2512061eb9b3d1b7f4f410c4169a7eedab2a0704f2572
+MISC ChangeLog 4873 SHA256 6f6f13978b4e97792c1505a81ae2381c1637e47df7466263f33cbb5464351150 SHA512 3acb6d14b77cecf0965ac1ec9c249d7746e75b99fa9e55cc1afa6cd6ae5e63a4d19fb2a06794159d56938c60d541d1ef9355b8847fbb140be4208d2f00dfd17f WHIRLPOOL bbbb5b595a7100940e5f90c989f4879b0682515eab56d7a623d81ac7f94f42474c128ecb5926839fa132c29727ef941991cccf5362dbab3911b8f243b75d71b4
+MISC ChangeLog-2015 9780 SHA256 eabc6cf58a6b7c6cf43dd7547ddfc3a047569ee5b86e42c90d6029c2458cf61b SHA512 5f4b2289de6975b5df86c3dab472f9a58d3e83e40001c43b4823e93f804ca9401b407e974b04ba141add86c474ab2449020e69772c1cae33cc1b1792b9d768a1 WHIRLPOOL f0bc5d587dd6de751825c52c4352ea6cae5db29f92add6f4ff9274815a0a5b6fdc285bb039481af90f035e1018e54569f28bc6d0fbbb90796de1eeed7ab0f47c
+MISC metadata.xml 336 SHA256 dd2e2ac7956ad676fd393d73c5575c01871056df0f3f457dca0a176386818bf5 SHA512 32593908c71225b7869b03d96dde6b7ed0d3db25f921257cf5027c80830cca794d0ed30b73c3189edd34553d6766ae57daf8caceb106bc49398fb519fd95d28c WHIRLPOOL 0a1ed9322636fc56557487c8c81469205d49136adaf01e8e5b575c37b55d2e810822655d7c137a771247f8f6c0200de7497b614128c854dfe1825a360f62b03e
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..cda1412a7420
--- /dev/null
+++ b/dev-tcltk/blt/blt-2.4z-r13.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2017 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>