Files
haikuports/dev-util/md4c/md4c-0.5.2.recipe
2024-06-01 10:02:04 +02:00

98 lines
2.7 KiB
Bash

SUMMARY="A C Markdown parser"
DESCRIPTION="MD4C is a Markdown parser implementation in C, with the following features:
* Compliance: Generally, MD4C aims to be compliant to the latest version of CommonMark \
specification. Currently, we are fully compliant to CommonMark 0.30.
* Extensions: MD4C supports some commonly requested and accepted extensions.
* Performance: MD4C is very fast.
* Compactness: MD4C parser is implemented in one source file and one header file. There are no \
dependencies other than standard C library.
* Embedding: MD4C parser is easy to reuse in other projects, its API is very straightforward: \
There is actually just one function, md_parse().
* Push model: MD4C parses the complete document and calls few callback functions provided by the \
application to inform it about a start/end of every block, a start/end of every span, and with \
any textual contents.
* Portability: MD4C builds and works on Windows and POSIX-compliant OSes.
* Encoding: MD4C by default expects UTF-8 encoding of the input document.
* Permissive license: MD4C is available under the MIT license."
HOMEPAGE="https://github.com/mity/md4c/"
COPYRIGHT="2016-2024 Martin Mitáš"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="$HOMEPAGE/archive/release-$portVersion.tar.gz"
CHECKSUM_SHA256="55d0111d48fb11883aaee91465e642b8b640775a4d6993c2d0e7a8092758ef21"
SOURCE_DIR="md4c-release-$portVersion"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
commandBinDir=$binDir
commandSuffix=$secondaryArchSuffix
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandBinDir=$prefix/bin
commandSuffix=
fi
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
md4c$secondaryArchSuffix = $portVersion
cmd:md2html$commandSuffix
lib:libmd4c$secondaryArchSuffix = $libVersionCompat
lib:libmd4c_html$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
md4c${secondaryArchSuffix}_devel = $portVersion
devel:libmd4c$secondaryArchSuffix = $portVersion compat >= 0
devel:libmd4c_html$secondaryArchSuffix = $portVersion compat >= 0
"
REQUIRES_devel="
md4c$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:make
"
TEST_REQUIRES="
cmd:python3
"
BUILD()
{
cmake -B build -S . $cmakeDirArgs \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_BINDIR=$commandBinDir
make -C build $jobArgs
}
INSTALL()
{
make -C build install
prepareInstalledDevelLibs \
libmd4c \
libmd4c-html
fixPkgconfig
# devel package
packageEntries devel \
$developDir \
$libDir/cmake
}
TEST()
{
cd build
../scripts/run-tests.sh
}