commit:     cec661e645bd6f7222d7be95f9899ad66ab08b8e
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  6 16:42:58 2026 +0000
Commit:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Fri Feb  6 16:42:58 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cec661e6

dev-vcs/fossil: add 2.27

Closes: https://bugs.gentoo.org/945879
Closes: https://bugs.gentoo.org/968455
Signed-off-by: Aaron W. Swenson <titanofold <AT> gentoo.org>

 dev-vcs/fossil/Manifest                            |   1 +
 .../fossil-2.27-fix-json-test-content-length.patch |  12 +++
 dev-vcs/fossil/fossil-2.27.ebuild                  | 103 +++++++++++++++++++++
 3 files changed, 116 insertions(+)

diff --git a/dev-vcs/fossil/Manifest b/dev-vcs/fossil/Manifest
index 673bb62f98a3..98cbaeda9e20 100644
--- a/dev-vcs/fossil/Manifest
+++ b/dev-vcs/fossil/Manifest
@@ -2,3 +2,4 @@ DIST fossil-src-2.21.tar.gz 6703622 BLAKE2B 
fcc74ed5e3eec34f044624b128b8933b54d1
 DIST fossil-src-2.22.tar.gz 6730858 BLAKE2B 
3f0108dfb5802c61d107a6318acd11061c8311f112376c8c96645d6b0de1441b3ec745fcb2e2ec3888ed15ca89f4a2af535f61edcc6f4b5944d81d381f522935
 SHA512 
99a456301ae4ac72449985ff3b8b2139b805ff84e27ffe4325bad0c90643dd51c655b0210cbfa290a621e33e42e1e35b75a6cdc1beb093221d2b5d23d64591bc
 DIST fossil-src-2.24-r1.tar.gz 6904302 BLAKE2B 
9b4a37663721d512d6fa8f6f74f69b65d569c10bd85e1187aa2a1c9e02b730855ebe261760223e7a6249bc20d4cfc44d61a302b5a8f664411ee16105d3d864d9
 SHA512 
7fc7de7d947b0946866df38c6cb2215f6452d31903cae6470bb4a692816b2803eb66ea372280256e5cd00759e4d02a0ae459de2f56f39af10e873579d53d33ee
 DIST fossil-src-2.26-r1.tar.gz 7149081 BLAKE2B 
4d902844049ff2d54fd927b577de37f9d74f3f3e6eff90d58d5a74c2988d1195e547b24b246e9dc0713e4ed6f91f252e1496b7f4d4164520f3a00311db946158
 SHA512 
356a3b51adde40aedb094743eb978b78961c4216152000ecd800e22b69f1e3a11330259b627628fb6e9a594b1969f0351a73af717b500b4f12d109108fa82b61
+DIST fossil-src-2.27.tar.gz 7181357 BLAKE2B 
b7e69329e35973532f6b14b2b19f1e8da99855f2c7f6818c5e610b533610c9ef3fa240e26e51b9290885cc3e97d0e3f36eb63675304e9644658a069a9fd902b4
 SHA512 
39a43d769212f5ecb891eef215054ed418f1e9da81abfd79d7e307b000adec8054675ca7b9a640fd78c327f50cd4e21285954ddc3b3c85967d9b511235bc8092

diff --git 
a/dev-vcs/fossil/files/fossil-2.27-fix-json-test-content-length.patch 
b/dev-vcs/fossil/files/fossil-2.27-fix-json-test-content-length.patch
new file mode 100644
index 000000000000..f5757ad35800
--- /dev/null
+++ b/dev-vcs/fossil/files/fossil-2.27-fix-json-test-content-length.patch
@@ -0,0 +1,12 @@
+diff '--color=auto' -ur fossil-src-2.27.orig/test/json.test 
fossil-src-2.27/test/json.test
+--- fossil-src-2.27.orig/test/json.test        2026-01-01 08:47:54.194346326 
-0500
++++ fossil-src-2.27/test/json.test     2026-01-01 08:48:20.782629288 -0500
+@@ -109,7 +109,7 @@
+ User-Agent: Fossil-Test\r
+ Cookie: $cookie\r
+ Content-Type: application/json
+-Content-Length $len
++Content-Length: $len
+ \r
+ $data}]
+   } else {

diff --git a/dev-vcs/fossil/fossil-2.27.ebuild 
b/dev-vcs/fossil/fossil-2.27.ebuild
new file mode 100644
index 000000000000..cf596e5033ee
--- /dev/null
+++ b/dev-vcs/fossil/fossil-2.27.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_TAG="99675884a93c09125dbfbef0ca47959626c81545c132e247e67a08bd12ac7256"
+
+DESCRIPTION="Simple, high-reliability, source control management, and more"
+HOMEPAGE="https://www.fossil-scm.org/home";
+
+SRC_URI="https://fossil-scm.org/home/tarball/${MY_TAG}/fossil-src-${PV}.tar.gz";
+
+S="${WORKDIR}/fossil-src-${PV}"
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="debug fusefs json system-sqlite +ssl static tcl tcl-stubs
+         tcl-private-stubs test th1-docs th1-hooks"
+
+# These tests are currently failing:
+#   settings-valid-local-anon-cookie-lifespan
+#   settings-valid-local-regexp-limit
+#   settings-valid-local-robot-exception
+#   settings-valid-global-anon-cookie-lifespan
+#   settings-valid-global-regexp-limit
+#   settings-valid-global-robot-exception
+#
+# They can be ignored[1] and should be removed with 2.28.
+#
+# [1]: https://fossil-scm.org/forum/forumpost/8ffbc6631bb043f1
+RESTRICT="test"
+
+# Please check sqlite minimum version on every release. This can be done with:
+#     ./configure --print-minimum-sqlite-version
+RDEPEND="
+       virtual/zlib:=
+       || (
+               sys-libs/readline:0
+               dev-libs/libedit
+       )
+       system-sqlite? ( >=dev-db/sqlite-3.49.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}
+       static? (
+               virtual/zlib[static-libs]
+               ssl? ( dev-libs/openssl[static-libs] )
+               system-sqlite? ( dev-db/sqlite[static-libs] )
+       )
+       !tcl? (
+               || (
+                       dev-lang/tcl:*
+                       dev-lang/jimtcl:*
+               )
+       )
+"
+
+BDEPEND="
+       test? (
+               dev-lang/tcl
+               tcl? ( dev-db/sqlite[tcl] )
+               !riscv? ( json? ( dev-tcltk/tcllib ) )
+       )
+"
+
+PATCHES=(
+       # fossil-2.10-check-lib64-for-tcl.patch: Bug 690828
+       "${FILESDIR}"/fossil-2.10-check-lib64-for-tcl.patch
+       "${FILESDIR}"/fossil-2.27-fix-json-test-content-length.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
+       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=( tcl-stubs tcl-private-stubs th1-docs th1-hooks )
+       for u in "${useflags[@]}" ; do
+               use "${u}" &&  myconf+=(--with-"${u}")
+       done
+
+       tc-export CC CXX
+       CC_FOR_BUILD=${CC} ./configure "${myconf[@]}" || die
+}
+
+src_install() {
+       dobin fossil
+       doman fossil.1
+}

Reply via email to