# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Loosely based on packages in https://gitgud.io/aeroshell/aeroshell-aur-packages, with packaging adapted for Gentoo.
EAPI=8
inherit cmake git-r3 ecm

DESCRIPTION="Plasma library and runtime components, with AeroShell patches."
HOMEPAGE="https://gitgud.io/aeroshell/libplasma"
EGIT_REPO_URI="${HOMEPAGE}.git"

# Source directory; the dir where the sources can be found (automatically
# unpacked) inside ${WORKDIR}.  The default value for S is ${WORKDIR}/${P}
# If you don't need to change it, leave the S= line out of the ebuild
# to keep it tidy.
#S="${WORKDIR}/${P}"

LICENSE="LGPL-2+"
SLOT="6/7"

# The SLOT variable is used to tell Portage if it's OK to keep multiple
# versions of the same package installed at the same time.  For example,
# if we have a libfoo-1.2.2 and libfoo-1.3.2 (which is not compatible
# with 1.2.2), it would be optimal to instruct Portage to not remove
# libfoo-1.2.2 if we decide to upgrade to libfoo-1.3.2.  To do this,
# we specify SLOT="1.2" in libfoo-1.2.2 and SLOT="1.3" in libfoo-1.3.2.
# emerge clean understands SLOTs, and will keep the most recent version
# of each SLOT and remove everything else.
# Note that normal applications should use SLOT="0" if possible, since
# there should only be exactly one version installed at a time.
# Do not use SLOT="", because the SLOT variable must not be empty.
SLOT="0"

# Using KEYWORDS, we can record masking information *inside* an ebuild
# instead of relying on an external package.mask file.  Right now, you
# should set the KEYWORDS variable for every ebuild so that it contains
# the names of all the architectures with which the ebuild works.
# All of the official architectures can be found in the arch.list file
# which is in the profiles/ directory.  Usually you should just set this
# to "~amd64".  The ~ in front of the architecture indicates that the
# package is new and should be considered unstable until testing proves
# its stability.  So, if you've confirmed that your ebuild works on
# amd64 and ppc, you'd specify:
# KEYWORDS="~amd64 ~ppc"
# Once packages go stable, the ~ prefix is removed.
# For binary packages, use -* and then list the archs the bin package
# exists for.  If the package was for an x86 binary package, then
# KEYWORDS would be set like this: KEYWORDS="-* x86"
# Do not use KEYWORDS="*"; this is not valid in an ebuild context.
KEYWORDS=""

# Comprehensive list of any and all USE flags leveraged in the ebuild,
# with some exceptions, e.g., ARCH specific flags like "amd64" or "ppc".
# Not needed if the ebuild doesn't use any USE flags.
IUSE="activities gles2-only"

# A space delimited list of portage features to restrict. man 5 ebuild
# for details.  Usually not needed.
#RESTRICT="strip"


# Run-time dependencies. Must be defined to whatever this depends on to run.
# Example:
#    ssl? ( >=dev-libs/openssl-1.0.2q:0= )
#    >=dev-lang/perl-5.24.3-r1
# It is advisable to use the >= syntax show above, to reflect what you
# had installed on your system when you tested the package.  Then
# other users hopefully won't be caught without the right version of
# a dependency.
#RDEPEND="!kde-plasma/libplasma"

# Build-time dependencies that need to be binary compatible with the system
# being built (CHOST). These include libraries that we link against.
# The below is valid if the same run-time depends are required to compile.
DEPEND="${RDEPEND}
	sys-libs/glibc
	kde-plasma/plasma-activities
	kde-frameworks/kcolorscheme
	kde-frameworks/kconfig
	kde-frameworks/kcoreaddons
	kde-frameworks/kglobalaccel
	kde-frameworks/kguiaddons
	kde-frameworks/ki18n
	kde-frameworks/kiconthemes
	kde-frameworks/kio
	kde-frameworks/kirigami
	kde-frameworks/knotifications
	kde-frameworks/kpackage
	kde-frameworks/ksvg
	kde-frameworks/kwidgetsaddons
	kde-frameworks/kwindowsystem
	media-libs/libglvnd
	x11-libs/libX11
	x11-libs/libxcb
	dev-qt/qt5compat
	dev-qt/qtbase
	dev-qt/qtdeclarative
	dev-libs/wayland
"

BDEPEND="
		kde-frameworks/extra-cmake-modules
		kde-frameworks/kdoctools
		dev-libs/plasma-wayland-protocols
		"

src_configure() {
	local mycmakeargs=(
		-DENABLE_ACTIVITIES=$(usex activities)
		-DBUILD_TESTING=off
	)
	ecm_src_configure
}

#src_compile() {
#}

#src_install() {
#	cmake_src_install
	# Avoid file conflict with upstream libplasma
#	ls -lah ${D}
#	rm -rfv ${D}/usr/share/locale || die
#	rm -rfv ${D}/usr/share/plasma/desktoptheme || die
#	rm -rfv ${D} /usr/lib64/libPlasma.so.6.6.5 || die
#	rm -rfv ${D}/usr/lib64/libPlasmaQuick.so.6.6.5 || die
#	rm -rfv ${D}/usr/lib64/qt6/plugins/kf6/kirigami/platform/KirigamiPlasmaStyle.so || die
#	rm -rfv ${D}/usr/lib64/qt6/plugins/kf6/packagestructure/plasma_applet.so || die
#	rm -rfv ${D}/usr/lib64/qt6/plugins/kf6/packagestructure/plasma_containmentactions.so || die
#	rm -rfv ${D}/usr/lib64/qt6/plugins/kf6/packagestructure/plasma_generic.so || die
#	rm -rfv ${D}/usr/lib64/qt6/plugins/kf6/packagestructure/plasma_shell.so || die
# 	rm -rfv ${D}/usr/lib64/qt6/plugins/kf6/packagestructure/plasma_theme.so || die
# 	rm -rfv ${D}/usr/lib64/qt6/plugins/kf6/packagestructure/plasma_wallpaper.so || die
# 	rm -rfv ${D}/usr/lib64/qt6/qml/org/kde/plasma/core/DefaultToolTip.qml || die
# 	rm -rfv ${D}/usr/lib64/qt6/qml/org/kde/plasma/core/DialogBackground.qml || die
# 	rm -rfv ${D}/usr/lib64/qt6/qml/org/kde/plasma/core/corebindingsplugin.qmltypes || die
# 	rm -rfv ${D}/usr/lib64/qt6/qml/org/kde/plasma/core/libcorebindingsplugin.so || die
# 	rm -rfv ${D}/usr/lib64/qt6/qml/org/kde/plasma/core/qmldir || die
# 	rm -rfv ${D}/usr/share/kdevappwizard/templates/cpp-plasmoid6.tar.bz2 || die
# 	rm -rfv ${D}/usr/share/kdevappwizard/templates/plasma6-wallpaper-with-qml-extension.tar.bz2 || die
# 	rm -rfv ${D}/usr/share/kdevappwizard/templates/plasma6-wallpaper.tar.bz2 || die
# 	rm -rfv ${D}/usr/share/kdevappwizard/templates/qml-plasmoid6.tar.bz2 || die
# 	rm -rfv ${D}/usr/share/qlogging-categories6/plasma-framework.categories || die
# 	rm -rfv ${D}/usr/share/qlogging-categories6/plasma-framework.renamecategories || die
# 	ls -lah ${D}

#}