mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-10 22:00:09 +02:00
97 lines
2.6 KiB
Bash
97 lines
2.6 KiB
Bash
SUMMARY="WHATWG-compliant and fast URL parser written in modern C++"
|
|
DESCRIPTION="Ada is a fast and spec-compliant URL parser written in C++. Specification for URL \
|
|
parser can be found from the *WHATWG* https://url.spec.whatwg.org/#url-parsing website.
|
|
|
|
The Ada library passes the full range of tests from the specification, across a wide range of \
|
|
platforms (e.g., Windows, Linux, macOS). It fully supports the relevant *Unicode Technical \
|
|
Standard* https://www.unicode.org/reports/tr46/#ToUnicode.
|
|
|
|
A common use of a URL parser is to take a URL string and normalize it.
|
|
The WHATWG URL specification has been adopted by most browsers. Other tools, such as curl and \
|
|
many standard libraries, follow the RFC 3986. The following table illustrates possible \
|
|
differences in practice (encoding of the host, encoding of the path):
|
|
"
|
|
HOMEPAGE="https://github.com/ada-url/ada"
|
|
COPYRIGHT="2023 Yagiz Nizipli and Daniel Lemire"
|
|
LICENSE="MIT
|
|
Apache v2"
|
|
REVISION="1"
|
|
SOURCE_URI="$HOMEPAGE/archive/refs/tags/v$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="f41575ad7eec833afd9f6a0d6101ee7dc2f947fdf19ae8f1b54a71d59f4ba5ec"
|
|
SOURCE_FILENAME="ada-v$portVersion.tar.gz"
|
|
PATCHES="ada-$portVersion.patchset"
|
|
|
|
ARCHITECTURES="all !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
|
|
commandBinDir=$binDir
|
|
commandSuffix=$secondaryArchSuffix
|
|
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
|
commandSuffix=
|
|
commandBinDir=$prefix/bin
|
|
fi
|
|
|
|
libVersion="$portVersion"
|
|
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
|
|
|
PROVIDES="
|
|
ada$secondaryArchSuffix = $portVersion
|
|
cmd:adaparse$commandSuffix
|
|
lib:libada$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libfmt$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
ada${secondaryArchSuffix}_devel = $portVersion
|
|
devel:libada$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES_devel="
|
|
ada$secondaryArchSuffix == $portVersion base
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
cxxopts${secondaryArchSuffix}_devel
|
|
devel:libfmt$secondaryArchSuffix >= 11
|
|
devel:libgtest$secondaryArchSuffix
|
|
devel:libsimdjson$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:cmake
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:make
|
|
cmd:python3
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \
|
|
$cmakeDirArgs \
|
|
-DCMAKE_INSTALL_BINDIR=$commandBinDir \
|
|
-DBUILD_SHARED_LIBS=ON
|
|
|
|
make -C build $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
make -C build install
|
|
|
|
prepareInstalledDevelLib \
|
|
libada
|
|
fixPkgconfig
|
|
|
|
packageEntries devel \
|
|
$developDir \
|
|
$libDir/cmake
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
ctest --test-dir build --output-on-failure
|
|
}
|