# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=inkscape
pkgver=1.4
_pkgdate=2024-10-09
_pkgcommit=e7c3feb100
pkgrel=5
pkgdesc="Vector-based drawing program - svg compliant"
url="https://inkscape.org/"
arch="all"
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
depends="
	adwaita-icon-theme
	desktop-file-utils
	py3-cssselect
	py3-lxml
	py3-numpy
	"
makedepends="
	boost-dev
	cmake
	dbus-dev
	font-dejavu
	gc-dev
	graphicsmagick-dev
	gtkmm3-dev
	gspell-dev
	lcms2-dev
	lib2geom-dev
	libcdr-dev
	libjpeg-turbo-dev
	libtool
	libvisio-dev
	libxml2-dev
	libxslt-dev
	perl
	poppler-dev
	popt-dev
	potrace-dev
	python3-dev
	samurai
	"
checkdepends="
	bash
	gtest-dev
	imagemagick
	"
subpackages="
	$pkgname-dbg
	libinkscape_base
	$pkgname-doc
	$pkgname-tutorials::noarch
	$pkgname-lang
	$pkgname-view
	$pkgname-bash-completion
	$pkgname-minwaita::noarch
	$pkgname-icon-theme-tango:_icon_theme:noarch
	$pkgname-icon-theme-hicolor:_icon_theme:noarch
	$pkgname-icon-theme-multicolor:_icon_theme:noarch
	"
source="
	https://media.inkscape.org/dl/resources/file/inkscape-$pkgver.tar.xz
	0001-poppler-fofitruetype.patch
	0002-poppler-gfxcolorspace.patch
	0003-poppler-includes.patch
	0004-poppler-getimageparams.patch
	poppler-25.02.0.patch
	"
options="!check" # take extremely long and use absurd amounts of memory
ldpath="/usr/lib/inkscape"
builddir="$srcdir"/$pkgname-${pkgver}_${_pkgdate}_$_pkgcommit

build() {
	if [ "$CBUILD" != "$CHOST" ]; then
		CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
	fi
	# reduce size of debug syms
	CFLAGS="$CFLAGS -O2 -DNDEBUG -g1" \
	CXXFLAGS="$CXXFLAGS -Wno-deprecated-declarations -O2 -DNDEBUG -g1" \
	cmake -B build -G Ninja \
		-DCMAKE_BUILD_TYPE=None \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DBUILD_SHARED_LIBS=True \
		-DBUILD_TESTING="$(want_check && echo ON || echo OFF)" \
		$CMAKE_CROSSOPTS
	cmake --build build
}

check() {
	INKSCAPE_DATADIR="$builddir/share" \
	PATH="$PATH:$PWD" ninja -C build check
}

package() {
	depends="libinkscape_base=$pkgver-r$pkgrel"
	DESTDIR="$pkgdir" cmake --install build
}

view() {
	pkgdesc="Viewing program for SVG files"
	depends="libinkscape_base=$pkgver-r$pkgrel"
	amove usr/bin/inkview
}

doc() {
	default_doc
	amove usr/share/inkscape/examples \
		usr/share/inkscape/doc \
		'usr/share/inkscape/*/LICENSE.txt' \
		'usr/share/inkscape/extensions/*/*/LICENSE.txt' \
		usr/share/inkscape/extensions/svg_fonts/OFL.txt
}

tutorials() {
	depends=
	pkgdesc="$pkgdesc (tutorials)"

	amove usr/share/inkscape/tutorials
}

minwaita() {
	depends=
	pkgdesc="$pkgdesc (minwaita theme)"
	install_if="$pkgname=$pkgver-r$pkgrel"

	amove usr/share/inkscape/themes/Minwaita-Inkscape
}

_icon_theme() {
	name="${subpkgname#"$pkgname"-icon-theme-}"
	depends=
	pkgdesc="$pkgdesc ($name icon theme)"
	install_if="$pkgname=$pkgver-r$pkgrel"

	case "$name" in
		tango) name=Tango;;
	esac
	amove usr/share/inkscape/icons/"$name"
}

libinkscape_base() {
	depends=
	pkgdesc="base libinkscape_base.so to share with inkview"

	amove usr/lib/inkscape/libinkscape_base.so*
}

sha512sums="
3b81306b81416597073e7eda2a103112cee63493bcf96fa737bb1edfbd682ebb329e415bbbbfda877aef2a78dc376460040ebc5c0cc2c90c0fe60db5d7d12368  inkscape-1.4.tar.xz
e5a21326bc1191a5c037698a89d3022613a840736f0199954a4685027786126cc65f889241cd813d98807168dd3ddd9156b2cb927d62e29087d2cd51d5fd41f3  0001-poppler-fofitruetype.patch
c3380bd87b34d0b019ea5a3be1881bb86c49e6054ff70913fd5cd37043e21c7522de6c25646a7231b3d298aaaeddbe07b5208f89c5193b779b3bd4a5c69f6ca3  0002-poppler-gfxcolorspace.patch
da8a9a5dc8c4b3d589f4935ac5fe15b71f2afaa7fe459d22bc8d51daa8336268ced34dab6aceea20f79ddc0d701c127f40305e4329995a6516a8d843bcfece5f  0003-poppler-includes.patch
99946d8266f818b26993860a96aba32d23d548970b94fe9fc66aefe3bec088c04fae9bdf2f146600f9588e7b4158ac2660e09697e57d7f5d50669d2d56eb4023  0004-poppler-getimageparams.patch
41d5a42e86a828063916efae3af44dbe2ded87e41bf5653c3002976c1b00191844026e5d5c181b4095b613a38d9687379600f839d051f2c37fff99a6782dfc6d  poppler-25.02.0.patch
"
