# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=freerdp
_pkgname=FreeRDP
pkgver=3.15.0
pkgrel=0
pkgdesc="FreeRDP client"
url="https://www.freerdp.com/"
arch="all"
license="Apache-2.0"
makedepends="
	alsa-lib-dev
	bsd-compat-headers
	cmake
	cups-dev
	ffmpeg-dev
	fuse3-dev
	gsm-dev
	icu-dev
	krb5-dev
	libjpeg-turbo-dev
	libusb-dev
	libxcursor-dev
	libxdamage-dev
	libxi-dev
	libxinerama-dev
	libxkbcommon-dev
	libxkbfile-dev
	libxv-dev
	linux-headers
	openssl-dev>3
	samurai
	sdl3-dev
	sdl3_ttf-dev
	wayland-dev
	webkit2gtk-4.1-dev
	"
subpackages="$pkgname-doc $pkgname-dev $pkgname-libs"
source="$pkgname-$pkgver.tar.gz::https://github.com/FreeRDP/FreeRDP/archive/$pkgver.tar.gz"

builddir="$srcdir"/$_pkgname-$pkgver

# backwards compat since now merged into main package
provides="freerdp-plugins=$pkgver-r$pkgrel"

# secfixes:
#   2.11.5-r0:
#     - CVE-2024-22211
#   2.9.0-r0:
#     - CVE-2022-39316
#     - CVE-2022-39317
#     - CVE-2022-39318
#     - CVE-2022-39319
#     - CVE-2022-39320
#     - CVE-2022-39347
#     - CVE-2022-41877
#   2.4.1-r0:
#     - CVE-2021-41159
#     - CVE-2021-41160
#   2.2.0-r0:
#     - CVE-2020-15103
#   2.1.2-r0:
#     - CVE-2020-4033
#     - CVE-2020-4031
#     - CVE-2020-4032
#     - CVE-2020-4030
#     - CVE-2020-11099
#     - CVE-2020-11098
#     - CVE-2020-11097
#     - CVE-2020-11095
#     - CVE-2020-11096
#   2.0.0-r1:
#     - CVE-2020-13398
#     - CVE-2020-13397
#     - CVE-2020-13396
#   2.0.0-r0:
#     - CVE-2020-11521
#     - CVE-2020-11522
#     - CVE-2020-11523
#     - CVE-2020-11524
#     - CVE-2020-11525
#     - CVE-2020-11526
#   2.0.0_rc4-r0:
#     - CVE-2018-8786
#     - CVE-2018-8787
#     - CVE-2018-8788
#     - CVE-2018-8789

build() {
	export CFLAGS="$CFLAGS -D_BSD_SOURCE -flto=auto"

	# prevent file conflicts with freerdp2
	# -DUWAC_FORCE_STATIC_BUILD=ON: libuwac0.so file conflict
	# -DWITH_BINARY_VERSIONING=ON: man pages conflict
	cmake -B build -G Ninja \
		-DCMAKE_BUILD_TYPE=MinSizeRel \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DBUILD_TESTING="$(want_check && echo ON || echo OFF)" \
		-DUWAC_FORCE_STATIC_BUILD=ON \
		-DWITH_BINARY_VERSIONING=ON \
		-DWITH_ALSA=ON \
		-DWITH_CUPS=ON \
		-DWITH_CHANNELS=ON \
		-DWITH_FFMPEG=OFF \
		-DWITH_GSM=ON \
		-DWITH_JPEG=ON \
		-DWITH_OPENSSL=ON \
		-DWITH_PCSC=OFF \
		-DWITH_PULSE=OFF \
		-DWITH_WAYLAND=ON \
		-DWITH_SERVER=ON \
		-DWITH_TIMEZONE_ICU=ON \
		-DWITH_X11=ON \
		-DWITH_XCURSOR=ON \
		-DWITH_XEXT=ON \
		-DWITH_XKBFILE=ON \
		-DWITH_XI=ON \
		-DWITH_XINERAMA=ON \
		-DWITH_XRENDER=ON \
		-DWITH_XV=ON \
		-DWITH_NEON=OFF
	cmake --build build
}

check() {
	ctest --test-dir build
}

package() {
	DESTDIR="$pkgdir" cmake --install build
}

libs() {
	default_libs
	amove usr/lib/freerdp3
}

sha512sums="
920f4da6d9fd44066cf4b96ec2eced389cb4a864bf4dba33dd6ec68c1eaf8b6ddb2d710a087ea5d6b722b9d5b9511b3a6c98a493c6ffb1c06d13a963e0db9e5d  freerdp-3.15.0.tar.gz
"
