# 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 xdg DESCRIPTION="An alternative shell for KDE Plasma that aims to replicate the look and feel of Windows 7." HOMEPAGE="https://github.com/aeroshell-desktop/aerothemeplasma" 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="AGPL-3+" # 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="+uac-polkit-agent +qrca appstream +fontconfig flatpak +ksysguard +policykit screencast +semantic-desktop systemd telemetry +wallpaper-metadata +X wayland" # A space delimited list of portage features to restrict. man 5 ebuild # for details. Usually not needed. RESTRICT="test" REQUIRED_USE="fontconfig? ( X )" SLOT="6/7" # 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="" # 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/libplasma-6.7.49.9999 plasma-theme/aeroshell-workspace plasma-theme/aeroshell-kwin-components plasma-theme/aerothemeplasma-sounds plasma-theme/aerothemeplasma-icons plasma-theme/aeroshell-smod dev-qt/qtvirtualkeyboard dev-qt/qtmultimedia dev-qt/qt5compat dev-qt/qtwayland dev-qt/qtdeclarative kde-frameworks/kconfigwidgets kde-frameworks/ksvg dev-libs/wayland kde-frameworks/kiconthemes kde-plasma/plasma-activities kde-frameworks/kjobwidgets kde-frameworks/kio kde-frameworks/kglobalaccel kde-plasma/kpipewire kde-frameworks/ki18n wayland? ( kde-plasma/kwin ) X? ( kde-plasma/kwin-x11 ) kde-plasma/plasma-workspace kde-plasma/powerdevil kde-frameworks/kauth kde-frameworks/kcmutils kde-frameworks/networkmanager-qt kde-frameworks/kconfig kde-frameworks/kquickcharts kde-frameworks/prison kde-frameworks/knewstuff kde-frameworks/kdeclarative dev-libs/kirigami-addons kde-frameworks/kcoreaddons kde-frameworks/kservice kde-frameworks/kxmlgui kde-plasma/plasma5support x11-themes/kvantum x11-misc/sddm kde-plasma/sddm-kcm kde-plasma/plasma-nm kde-plasma/plasma-pa kde-frameworks/kwindowsystem kde-frameworks/knotifications kde-frameworks/knotifyconfig kde-plasma/kmenuedit kde-frameworks/kirigami kde-frameworks/kitemmodels kde-frameworks/kpackage kde-frameworks/kwidgetsaddons kde-plasma/plasma-desktop dev-qt/qtbase uac-polkit-agent? ( plasma-theme/uac-polkit-agent ) qrca? ( media-gfx/qrca ) " BDEPEND=" kde-frameworks/extra-cmake-modules dev-libs/plasma-wayland-protocols " src_configure() { ecm_src_prepare cmake_comment_add_subdirectory login-sessions if ! use policykit; then cmake_comment_add_subdirectory -f kcms users fi if ! use fontconfig; then ecm_punt_bogus_dep XCB IMAGE sed -e "s/check_X11_lib(Xft)/#&/" -i CMakeLists.txt || die fi # TODO: try to get build switches upstreamed if ! use flatpak; then sed -e "s/^pkg_check_modules.*Flatpak/#&/" -i CMakeLists.txt || die fi if ! use systemd; then sed -e "s/^pkg_check_modules.*SYSTEMD/#&/" -i CMakeLists.txt || die fi } src_configure() { local mycmakeargs=( -DWITH_X11=$(usex X) # remember to submit patches with bugs -DWITH_X11_SESSION=$(usex X) -DCMAKE_DISABLE_FIND_PACKAGE_PackageKitQt6=ON # not packaged -DGLIBC_LOCALE_GEN=OFF -DGLIBC_LOCALE_PREGENERATED=$(usex elibc_glibc) $(cmake_use_find_package appstream AppStreamQt) $(cmake_use_find_package fontconfig Fontconfig) $(cmake_use_find_package fontconfig Freetype) $(cmake_use_find_package ksysguard KSysGuard) -DBUILD_CAMERAINDICATOR=$(usex screencast) $(cmake_use_find_package semantic-desktop KF6Baloo) $(cmake_use_find_package telemetry KF6UserFeedback) $(cmake_use_find_package wallpaper-metadata KExiv2Qt6) ) ecm_src_configure } src_compile() { cmake_build } #src_install() { # cmake_src_install # DESTDIR="${D}" cmake --install build_smodglow #