Files
haikuports/dev-libs/qr-code-generator/qr_code_generator-1.8.0.recipe
2023-02-12 15:02:29 +01:00

100 lines
3.1 KiB
Bash

SUMMARY="QR Code generator library"
DESCRIPTION="This project aims to be the best, clearest QR Code generator \
library in multiple languages. The primary goals are flexible options and \
absolute correctness. Secondary goals are compact implementation size and \
good documentation comments.
Home page with live JavaScript demo, extensive descriptions, and competitor \
comparisons: https://www.nayuki.io/page/qr-code-generator-library
Core features:
* Available in 7 programming languages, all with nearly equal functionality: \
Java, JavaScript, TypeScript, Python, C++, C, Rust
* Significantly shorter code but more documentation comments compared to \
competing libraries
* Supports encoding all 40 versions (sizes) and all 4 error correction \
levels, as per the QR Code Model 2 standard
* Output formats: Raw modules/pixels of the QR symbol (all languages), \
SVG XML string (all languages except C), BufferedImage raster bitmap \
(Java only), HTML5 canvas (JavaScript and TypeScript only)
* Encodes numeric and special-alphanumeric text in less space than general text
* Open source code under the permissive MIT License"
HOMEPAGE="https://www.nayuki.io/page/qr-code-generator-library
https://github.com/EasyCoding/qrcodegen-cmake"
COPYRIGHT="2022 Project Nayuki
2021-2022 EasyCoding Team and contributors"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="https://github.com/nayuki/QR-Code-generator/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="2ec0a4d33d6f521c942eeaf473d42d5fe139abcfa57d2beffe10c5cf7d34ae60"
SOURCE_DIR="QR-Code-generator-$portVersion"
SOURCE_URI_2="https://github.com/EasyCoding/qrcodegen-cmake/archive/refs/tags/v1.8.0-cmake1.tar.gz"
CHECKSUM_SHA256_2="ba64c585ff185c9320beaf2c831b4495a529c5d068dd2bca4ed266a67e3d4924"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
qr_code_generator$secondaryArchSuffix = $portVersion
lib:libqrcodegen$secondaryArchSuffix = $libVersionCompat
lib:libqrcodegencpp$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
qr_code_generator${secondaryArchSuffix}_devel = $portVersion
devel:libqrcodegen$secondaryArchSuffix = $libVersionCompat
devel:libqrcodegencpp$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
qr_code_generator$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
"
defineDebugInfoPackage qr_code_generator$secondaryArchSuffix \
$libDir/libqrcodegen.so.$libVersion \
$libDir/libqrcodegencpp.so.$libVersion
BUILD()
{
cp -r $sourceDir2/qrcodegen-cmake-1.8.0-cmake1/{cmake,CMakeLists.txt} $sourceDir
cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=RelWithDebInfo \
$cmakeDirArgs \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTS=ON
make -C build $jobArgs
}
INSTALL()
{
make -C build install
prepareInstalledDevelLibs libqrcodegen libqrcodegencpp
fixPkgconfig
# devel package
packageEntries devel \
$developDir \
$libDir/cmake
}
TEST()
{
make -C build test
}