| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 2.27 | 8 | ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 | 0 |
# 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
}
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= ) 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:* ) )
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= )
test? ( dev-lang/tcl tcl? ( dev-db/sqlite[tcl] ) !riscv? ( json? ( dev-tcltk/tcllib ) ) )
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | fossil-src-2.27.tar.gz | 7181357 bytes | https://fossil-scm.org/home/tarball/99675884a93c09125dbfbef0ca47959626c81545c132e247e67a08bd12ac7256/fossil-src-2.27.tar.gz |