dev-vcs/fossil: Fix Tcl dependency and search
authorAaron W. Swenson <titanofold@gentoo.org>
Sat, 2 May 2020 02:58:45 +0000 (22:58 -0400)
committerAaron W. Swenson <titanofold@gentoo.org>
Sat, 2 May 2020 02:58:48 +0000 (22:58 -0400)
Bug: https://bugs.gentoo.org/690828
Bug: https://bugs.gentoo.org/675778
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Aaron W. Swenson <titanofold@gentoo.org>
dev-vcs/fossil/files/fossil-2.10-check-lib64-for-tcl.patch [new file with mode: 0644]
dev-vcs/fossil/fossil-2.10-r1.ebuild [new file with mode: 0644]

diff --git a/dev-vcs/fossil/files/fossil-2.10-check-lib64-for-tcl.patch b/dev-vcs/fossil/files/fossil-2.10-check-lib64-for-tcl.patch
new file mode 100644 (file)
index 0000000..404c5d7
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/autosetup/local.tcl
++++ b/autosetup/local.tcl
+@@ -12,7 +12,7 @@
+                       return [parse-tclconfig-sh-file $p/tclConfig.sh]
+               }
+               # Some systems allow for multiple versions
+-              foreach libpath {lib/tcl8.6 lib/tcl8.5 lib/tcl8.4 lib/tcl tcl lib}  {
++              foreach libpath {lib/tcl8.6 lib/tcl8.5 lib/tcl8.4 lib/tcl tcl lib lib64}  {
+                       if {[file exists $p/$libpath/tclConfig.sh]} {
+                               return [parse-tclconfig-sh-file $p/$libpath/tclConfig.sh]
+                       }
diff --git a/dev-vcs/fossil/fossil-2.10-r1.ebuild b/dev-vcs/fossil/fossil-2.10-r1.ebuild
new file mode 100644 (file)
index 0000000..ca98800
--- /dev/null
@@ -0,0 +1,72 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Simple, high-reliability, source control management, and more"
+HOMEPAGE="https://www.fossil-scm.org/"
+SRC_URI="https://fossil-scm.org/home/uv/fossil-src-${PV}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+IUSE="debug fusefs json -legacy-mv-rm -miniz system-sqlite +ssl static
+         tcl tcl-stubs tcl-private-stubs th1-docs th1-hooks"
+
+REQUIRED_USE="ssl? ( !miniz )"
+
+RDEPEND="
+       sys-libs/zlib
+       || (
+               sys-libs/readline:0
+               dev-libs/libedit
+       )
+       system-sqlite? ( >=dev-db/sqlite-3.28.0:3 )
+       ssl? ( dev-libs/openssl:0 )
+       tcl? ( dev-lang/tcl:0= )
+"
+
+# Either tcl or jimtcl need to be present to build Fossil (Bug #675778)
+DEPEND="${RDEPEND}
+       !tcl? (
+               || (
+                       dev-lang/tcl:*
+                       dev-lang/jimtcl:*
+               )
+       )
+"
+
+# Tests can't be run from the build directory
+RESTRICT="test"
+
+# fossil-2.10-check-lib64-for-tcl.patch: Bug 690828
+PATCHES=( "${FILESDIR}"/fossil-2.10-check-lib64-for-tcl.patch )
+
+src_configure() {
+       # this is not an autotools situation so don't make it seem like one
+       # --with-tcl: works
+       # --without-tcl: dies
+       local myconf="--with-openssl=$(usex ssl auto none)"
+       use debug         && myconf+=' --fossil-debug'
+       use json          && myconf+=' --json'
+       use system-sqlite && myconf+=' --disable-internal-sqlite'
+       use static        && myconf+=' --static'
+       use tcl           && myconf+=' --with-tcl=1'
+       use fusefs        || myconf+=' --disable-fusefs'
+
+       local u useflags
+       useflags=( legacy-mv-rm miniz tcl-stubs tcl-private-stubs
+                          th1-docs th1-hooks )
+       for u in ${useflags[@]} ; do
+               use ${u} &&  myconf+=" --with-${u}"
+       done
+
+       tc-export CC
+       ./configure ${myconf} || die
+}
+
+src_install() {
+       dobin fossil
+}