# SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: 2026 pluvium27 import info from Package.CMakePackageBase import * class subinfo(info.infoclass): def setTargets(self): self.displayName = "HeurAMS" self.description = "Kirigami frontend for HeurAMS memory scheduler" self.webpage = "https://git.pluv27.top/pluv/heurams-k" # 定义源码来源 self.svnTargets['master'] = '[git]https://git.pluv27.top/pluv/heurams-k.git|master' self.defaultTarget = 'master' def setDependencies(self): # 运行时依赖(KDE 框架) self.runtimeDependencies["kde/frameworks/tier1/kirigami"] = None self.runtimeDependencies["kde/frameworks/tier1/kcoreaddons"] = None self.runtimeDependencies["kde/frameworks/tier1/kconfig"] = None self.runtimeDependencies["kde/frameworks/tier1/ki18n"] = None self.runtimeDependencies["kde/frameworks/tier3/qqc2-desktop-style"] = None # Kirigami Addons self.runtimeDependencies["kde/unreleased/kirigami-addons"] = None # Qt6 核心模块 self.runtimeDependencies["libs/qt6/qtbase"] = None self.runtimeDependencies["libs/qt6/qtdeclarative"] = None # 未来会添加 Python 支持 # self.runtimeDependencies["libs/python3"] = None # self.runtimeDependencies["kde/pyotherside"] = None class Package(CMakePackageBase): def __init__(self, **kwargs): super().__init__(**kwargs) # 禁用测试(项目目前没有) self.subinfo.options.configure.args += ["-DBUILD_TESTING=OFF"] # 指定 Release 构建类型 self.subinfo.options.configure.args += ["-DCMAKE_BUILD_TYPE=Release"] def createPackage(self): self.defines["appname"] = "heurams-k" # 如果有桌面图标,可以设置 # self.defines["icon"] = os.path.join(self.sourceDir(), "path/to/icon.png") self.defines["shortcuts"] = [{ "name": "HeurAMS-K", "target": "bin/heurams-k", "description": self.subinfo.description }] return super().createPackage()