mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 20:20:06 +02:00
libfossil: new recipe. (#12106)
This commit is contained in:
155
dev-vcs/libfossil/libfossil-2025.04.04.recipe
Normal file
155
dev-vcs/libfossil/libfossil-2025.04.04.recipe
Normal file
@@ -0,0 +1,155 @@
|
||||
SUMMARY="Unofficial Fossil SCM Library API"
|
||||
DESCRIPTION="libfossil is an in-development C99 compliant librayry API for the Fossil SCM.
|
||||
|
||||
The primary goal of this project (which is not part of the main Fossil SCM project but is \
|
||||
architected by a long-time Fossil contributor) is to port existing behavior into a library \
|
||||
form (the fossil app is extremely monolithic in nature). This effort intends to provide an \
|
||||
alternative interface into fossil repositories, as opposed to a replacement for the core fossil \
|
||||
application.
|
||||
|
||||
It does not aim to provide 100% feature-parity with the main app. It's instead intended to \
|
||||
support the creation of new ways to access and manipulate fossil repositories.
|
||||
|
||||
The library has reached feature parity with Fossil's core-most SCM features, and can already \
|
||||
be used to create a wide range of custom mini-applications, e.g. custom reporting apps or custom \
|
||||
timeline apps are trivial to create using the \"fcli\" API: see the \"f-apps\" (from the
|
||||
\`libfossil_tools\` package) for numerous examples."
|
||||
HOMEPAGE="https://fossil.wanderinghorse.net/r/libfossil"
|
||||
COPYRIGHT="2013-2021 Stephan Beal, the Libfossil authors and contributors."
|
||||
LICENSE="BSD (2-clause)"
|
||||
REVISION="1"
|
||||
fossilHash="8ba26d0b75cd73ac"
|
||||
SOURCE_URI="https://fossil.wanderinghorse.net/r/libfossil/tarball/$fossilHash/libfossil-$portVersion-$fossilHash.tar.gz"
|
||||
CHECKSUM_SHA256="4c765bf6c90f71fcea16a676f309a893f907ee9f9ec7b87585dc18194d8fe29b"
|
||||
SOURCE_DIR="$portName-$portVersion-$fossilHash"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
libVersion="$portVersion"
|
||||
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
||||
|
||||
PROVIDES="
|
||||
libfossil$secondaryArchSuffix = $portVersion
|
||||
lib:libfossil$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
libfossil${secondaryArchSuffix}_devel = $portVersion
|
||||
devel:libfossil$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES_devel="
|
||||
libfossil$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libncursesw$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:tclsh
|
||||
"
|
||||
|
||||
SUMMARY_fnc="Interactive text-based user interface for Fossil"
|
||||
DESCRIPTION_fnc="This package provides the \`fnc\` command (an ncurses-based front-end to browsing \
|
||||
fossil repositories) as included in libfossil's sources (should be functionally equivalent).
|
||||
|
||||
You would tipically use \`/bin/fnc\` as provided by either this package, or the \
|
||||
\"standalone/upstream\" version provided by the \`fnc\` package (but not both)."
|
||||
PROVIDES_fnc="
|
||||
libfossil_fnc$secondaryArchSuffix = $portVersion
|
||||
cmd:fnc
|
||||
"
|
||||
REQUIRES_fnc="
|
||||
haiku$secondaryArchSuffix
|
||||
libfossil$secondaryArchSuffix == $portVersion base
|
||||
lib:libncursesw$secondaryArchSuffix
|
||||
lib:libpanelw$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
CONFLICTS_fnc="
|
||||
fnc$secondaryArchSuffix # the upstream/standalone version of /bin/fnc
|
||||
"
|
||||
|
||||
SUMMARY_tools="$SUMMARY (cli tools)"
|
||||
PROVIDES_tools="
|
||||
libfossil_tools$secondaryArchSuffix = $portVersion
|
||||
cmd:f_acat
|
||||
cmd:f_add
|
||||
cmd:f_adiff
|
||||
cmd:f_annotate
|
||||
cmd:f_aparse
|
||||
cmd:f_ci
|
||||
cmd:f_ciwoco
|
||||
cmd:f_co
|
||||
cmd:f_config
|
||||
cmd:f_delta
|
||||
cmd:f_extract
|
||||
cmd:f_ls
|
||||
cmd:f_merge
|
||||
cmd:f_new
|
||||
cmd:f_open
|
||||
cmd:f_parseparty
|
||||
cmd:f_query
|
||||
cmd:f_rebuild
|
||||
cmd:f_rename
|
||||
cmd:f_repostat
|
||||
cmd:f_resolve
|
||||
cmd:f_revert
|
||||
cmd:f_rm
|
||||
cmd:f_status
|
||||
cmd:f_tag
|
||||
cmd:f_timeline
|
||||
cmd:f_update
|
||||
cmd:f_vdiff
|
||||
cmd:f_wiki
|
||||
cmd:f_zip
|
||||
"
|
||||
REQUIRES_tools="
|
||||
haiku$secondaryArchSuffix
|
||||
libfossil$secondaryArchSuffix == $portVersion base
|
||||
lib:libncursesw$secondaryArchSuffix
|
||||
lib:libpanelw$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
./configure \
|
||||
--prefix=$prefix \
|
||||
--no-debug \
|
||||
--disable-static
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
|
||||
prepareInstalledDevelLib libfossil
|
||||
# no pkg-config files
|
||||
#fixPkgconfig
|
||||
|
||||
# --mandir set in ./configure is not being used (or not working properly), it seems.
|
||||
mkdir -p $manDir/man1
|
||||
mv $prefix/share/man/man1/fnc.1 $manDir/man1
|
||||
rm -rf $prefix/share
|
||||
packageEntries fnc \
|
||||
$prefix/bin/fnc \
|
||||
$manDir
|
||||
|
||||
packageEntries tools \
|
||||
$prefix/bin
|
||||
|
||||
install -Dvm644 include/*.h -t $developDir/headers
|
||||
install -Dvm644 include/fossil-scm/*.h -t $developDir/headers/fossil-scm/
|
||||
|
||||
packageEntries devel \
|
||||
$developDir
|
||||
}
|
||||
Reference in New Issue
Block a user