commit:     b11baed16e9180017bec5cabbc54e7fac8461367
Author:     Eugene Bright <eugene <AT> bright <DOT> gdn>
AuthorDate: Sun Jul  7 00:00:31 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 20 18:42:09 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b11baed1

dev-lang/jimtcl-0.78-r2: Disable bootstrapping

Make `autosetup/autosetup-find-tclsh` scripts use system `tclsh`.
Forbid building `jimsh0`.

Closes: https://bugs.gentoo.org/675276
Signed-off-by: Eugene Bright <eugene <AT> bright.gdn>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../jimtcl/files/jimtcl-0.78-no-bootstrap.patch    | 35 ++++++++++++++
 dev-lang/jimtcl/jimtcl-0.78-r2.ebuild              | 56 ++++++++++++++++++++++
 2 files changed, 91 insertions(+)

diff --git a/dev-lang/jimtcl/files/jimtcl-0.78-no-bootstrap.patch 
b/dev-lang/jimtcl/files/jimtcl-0.78-no-bootstrap.patch
new file mode 100644
index 00000000000..dba8f1b5897
--- /dev/null
+++ b/dev-lang/jimtcl/files/jimtcl-0.78-no-bootstrap.patch
@@ -0,0 +1,35 @@
+From f59809579339c0a16fb2519e590b98b611438064 Mon Sep 17 00:00:00 2001
+From: Eugene Bright <eug...@bright.gdn>
+Date: Sat, 20 Jul 2019 21:00:54 +0300
+Subject: [PATCH] autosetup/autosetup-find-tclsh: Rely on tclsh
+
+Never try to compile jimsh0. Use tclsh as build time dependency.
+---
+ autosetup/autosetup-find-tclsh | 12 ++----------
+ 1 file changed, 2 insertions(+), 10 deletions(-)
+
+diff --git a/autosetup/autosetup-find-tclsh b/autosetup/autosetup-find-tclsh
+index dfe70f8..78b521e 100755
+--- a/autosetup/autosetup-find-tclsh
++++ b/autosetup/autosetup-find-tclsh
+@@ -3,15 +3,7 @@
+ # If not found, builds a bootstrap jimsh from source
+ # Prefer $autosetup_tclsh if is set in the environment
+ d=`dirname "$0"`
+-{ "$d/jimsh0" "$d/autosetup-test-tclsh"; } 2>/dev/null && exit 0
+ PATH="$PATH:$d"; export PATH
+-for tclsh in $autosetup_tclsh jimsh tclsh tclsh8.5 tclsh8.6; do
+-      { $tclsh "$d/autosetup-test-tclsh"; } 2>/dev/null && exit 0
+-done
+-echo 1>&2 "No installed jimsh or tclsh, building local bootstrap jimsh0"
+-for cc in ${CC_FOR_BUILD:-cc} gcc; do
+-      { $cc -o "$d/jimsh0" "$d/jimsh0.c"; } 2>/dev/null || continue
+-      "$d/jimsh0" "$d/autosetup-test-tclsh" && exit 0
+-done
+-echo 1>&2 "No working C compiler found. Tried ${CC_FOR_BUILD:-cc} and gcc."
++tclsh "$d/autosetup-test-tclsh" 2>/dev/null && exit 0
++echo 1>&2 "Please install dev-lang/tcl:0"
+ echo false
+-- 
+2.20.1
+

diff --git a/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild 
b/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild
new file mode 100644
index 00000000000..3ac6eaadb70
--- /dev/null
+++ b/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit eutils
+
+SRC_URI="https://github.com/msteveb/jimtcl/archive/${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64 ~arm ~arm64 ~m68k ~mips ~s390 ~sh ~x86"
+
+DESCRIPTION="Small footprint implementation of Tcl programming language"
+HOMEPAGE="http://jim.tcl.tk/";
+
+LICENSE="LGPL-2"
+SLOT="0/78" # SONAME=libjim.so.0.78
+IUSE="doc static-libs"
+
+RDEPEND=""
+DEPEND="
+       doc? ( app-text/asciidoc )
+       app-arch/unzip
+       dev-lang/tcl:0
+"
+
+PATCHES="
+       ${FILESDIR}/${PN}-0.78-no-bootstrap.patch
+"
+
+src_configure() {
+       CCACHE=None econf --with-jim-shared
+       if use static-libs ; then
+               # The build does not support doing both simultaneously.
+               mkdir static-libs || die
+               cd static-libs || die
+               CCACHE=None ECONF_SOURCE=${S} econf
+       fi
+}
+
+src_compile() {
+       # Must build static-libs first.
+       use static-libs && emake -C static-libs libjim.a
+       emake all
+       use doc && emake docs
+}
+
+src_install() {
+       dobin jimsh
+       use static-libs && dolib.a static-libs/libjim.a
+       ln -sf libjim.so.* libjim.so || die
+       dolib.so libjim.so*
+       insinto /usr/include
+       doins jim.h jimautoconf.h jim-subcmd.h jim-signal.h \
+               jim-win32compat.h jim-eventloop.h jim-config.h
+       dodoc AUTHORS README TODO
+       use doc && dohtml Tcl.html
+}

Reply via email to