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"
COPYRIGHT="2018-2019 Nayuki"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="https://github.com/nayuki/QR-Code-generator/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="6cf993c10fbf96b5e8f8e4eaad8ea1ca3bbc58fb4d00a4728b4f818c27fb4d5e"
SOURCE_DIR="QR-Code-generator-$portVersion"

ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"

PROVIDES="
	qr_code_generator$secondaryArchSuffix = $portVersion
	"
REQUIRES="
	haiku$secondaryArchSuffix
	"

PROVIDES_devel="
	qr_code_generator${secondaryArchSuffix}_devel = $portVersion
	devel:libqrcodegencpp$secondaryArchSuffix = $portVersion
	devel:libqrcodegen$secondaryArchSuffix = $portVersion

	"
REQUIRES_devel="
	qr_code_generator$secondaryArchSuffix == $portVersion base
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	"
BUILD_PREREQUIRES="
	cmd:gcc$secondaryArchSuffix
	cmd:ld$secondaryArchSuffix
	cmd:make
	"

BUILD()
{
	cd cpp
	# workaround for cannot find -lubsan
	sed -i 's,-fsanitize=undefined,,g' Makefile
	make $jobArgs
}

INSTALL()
{
	cd cpp
	mkdir -p $includeDir/qrcodegen
	cp *.hpp $includeDir/qrcodegen

	mkdir -p $developLibDir
	cp libqrcodegen.a $developLibDir/libqrcodegencpp.a

	# devel package
	packageEntries devel $includeDir $developLibDir
}
