# Copyright 2023-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit desktop flag-o-matic xdg wrapper
inherit cmake
# inherit qmake-utils

DESCRIPTION="Open Source 2D CAD"
HOMEPAGE="http://www.qcad.org/"
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${PN}-${PV}.tar.gz"

LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"

L10N=( de en es fr it ja nl pl pt ru sl sk sv fi hr hu zh_CN cs TW lt )

IUSE=""

for lingua in ${L10N[*]}; do
	IUSE+=" l10n_${lingua}"
done

DEPEND="
	dev-libs/glib
	media-libs/glu
	media-libs/mesa
	dev-qt/qtbase:6=[gui,opengl,sql]
	dev-qt/qttools:6=[assistant]
"
RDEPEND="${DEPEND}"
BDEPEND="dev-util/patchelf"

src_configure() {
	# -Werror=strict-aliasing
	append-flags -fno-strict-aliasing
	# 931904
	filter-lto

	cmake_src_configure

	# local myqmakeargs=(
	# 	-r
	# 	CONFIG+=ractivated
	# )

	cmake_src_configure
}

# src_compile() {
# 	emake release
# }

src_install() {
	# Create Wayland desktop entry
	cp qcad.desktop qcad-wayland.desktop || die
	sed -i 's/Exec=qcad/Exec=qcad -platform xcb/g' qcad-wayland.desktop || die
	sed -i 's/Name=QCAD/Name=QCAD (Wayland)/g' qcad-wayland.desktop || die

	domenu qcad.desktop qcad-wayland.desktop
	doicon "scripts/${PN}_icon.svg"
	doicon --size 256 "scripts/${PN}_icon.png"

	for lingua in "${L10N[@]}"; do
		if ! use "l10n_${lingua}"; then
			find . -type f -name "*_${lingua}.*" -delete || die
		fi
	done

	insinto "/usr/$(get_libdir)/${PN}/"
	doins -r scripts fonts patterns linetypes themes
	insopts -m0755

	# doins release/qcad-bin
	# doins release/*.so
	if [[ "${CMAKE_BUILD_TYPE}" == Release ]]; then
		doins -r "${BUILD_DIR}"/release/*
		doins "${CMAKE_USE_DIR}"/release/qcad-bin
	else
		doins -r "${BUILD_DIR}"/debug/*
		doins "${CMAKE_USE_DIR}"/debug/qcad-bin
	fi

	make_wrapper "${PN}" "/usr/$(get_libdir)/${PN}/qcad-bin" "" "/usr/$(get_libdir)/${PN}:/usr/$(get_libdir)/${PN}/plugins"

	# doins -r plugins
	doins -r "${BUILD_DIR}"/plugins
	doins -r "${CMAKE_USE_DIR}"/plugins

	doins "${BUILD_DIR}/src/3rdparty/dxflib/libdxflib.so"
	doins "${BUILD_DIR}/src/3rdparty/stemmer/libstemmer.so"

	patchelf --set-rpath "\$ORIGIN:\$ORIGIN/plugins" "${ED}/usr/$(get_libdir)/${PN}"/{qcad-bin,*.so} || die
	patchelf --set-rpath "\$ORIGIN:\$ORIGIN/.." "${ED}/usr/$(get_libdir)/${PN}/plugins"/*.so || die
	patchelf --set-rpath "\$ORIGIN:\$ORIGIN/../.." "${ED}/usr/$(get_libdir)/${PN}/plugins/designer"/*.so || die

	docinto examples
	dodoc -r examples/*
	docompress -x "/usr/share/doc/${PF}/examples"
}

pkg_postinst() {
	xdg_pkg_postinst
}