diff --git a/blueprints/dev-utils/cmake/cmake.py b/blueprints/dev-utils/cmake/cmake.py index e6c2882c6..043194118 100644 --- a/blueprints/dev-utils/cmake/cmake.py +++ b/blueprints/dev-utils/cmake/cmake.py @@ -1,39 +1,41 @@ import info class subinfo(info.infoclass): def setTargets(self): self.targets["latest"] = "" self.description = "Craft integration package for cmake." self.defaultTarget = "latest" def setDependencies(self): self.buildDependencies["dev-utils/cmake-base"] = None self.buildDependencies["dev-utils/kshimgen"] = None from Package.BinaryPackageBase import * class Package(BinaryPackageBase): def __init__(self): BinaryPackageBase.__init__(self) self.subinfo.options.package.disableBinaryCache = True def install(self): if not super().install(): return False - binaryPath = os.path.join(CraftCore.standardDirs.craftRoot(), "dev-utils", "cmake-base", "bin") + cmakePath = Path(CraftCore.standardDirs.craftRoot()) / "dev-utils/cmake-base" if OsUtils.isMac(): - binaryPath = os.path.join(CraftCore.standardDirs.craftRoot(), "dev-utils", "cmake-base", "CMake.app", "Contents", "bin") + cmakePath /= "CMake.app/Contents/bin" + else: + cmakePath /= "bin" for name in ["cmake", "cmake-gui", "cmcldeps", "cpack", "ctest"]: - sourceBinary = os.path.join(binaryPath, f"{name}{CraftCore.compiler.executableSuffix}") + sourceBinary = cmakePath / f"{name}{CraftCore.compiler.executableSuffix}" targetBinary = os.path.join(self.imageDir(), "dev-utils", "bin", f"{name}{CraftCore.compiler.executableSuffix}") if os.path.exists(sourceBinary): if not utils.createShim(targetBinary, sourceBinary, useAbsolutePath=True): return False return True def postQmerge(self): CraftCore.cache.clear() return True diff --git a/blueprints/dev-utils/kshimgen/kshimgen.py b/blueprints/dev-utils/kshimgen/kshimgen.py index c1fac2195..b03ff3e57 100644 --- a/blueprints/dev-utils/kshimgen/kshimgen.py +++ b/blueprints/dev-utils/kshimgen/kshimgen.py @@ -1,30 +1,35 @@ import info from Package.CMakePackageBase import * class subinfo(info.infoclass): def registerOptions(self): self.options.dynamic.setDefault("buildType", "Release") def setTargets(self): self.svnTargets["master"] = "https://invent.kde.org/vonreth/kshim.git" for ver in ["0.2.0"]: self.targets[ver] = f"https://files.kde.org/craft/sources/libs/kshimgn/kshimgen-v{ver}.tar.xz" self.targetInstSrc[ver] = f"kshimgen-v{ver}" self.targetDigests["0.1.0"] = (['1a46c599ca54e112fd37c39a60e5b97b6b20997e2114fe3cd422274c75ebcd22'], CraftHash.HashAlgorithm.SHA256) self.targetDigests["0.2.0"] = (['b5f93d81d6937edb6608b87e0a87c9b7783aa7488c350683865beac3207d4312'], CraftHash.HashAlgorithm.SHA256) self.patchLevel["0.2.0"] = 1 self.defaultTarget = '0.2.0' def setDependencies(self): self.buildDependencies["dev-utils/cmake-base"] = None class Package(CMakePackageBase): def __init__(self, **args): CMakePackageBase.__init__(self) def configure(self): - path = f"{Path(CraftCore.standardDirs.craftRoot()) / 'dev-utils/cmake-base/bin'}{os.pathsep}{os.environ['PATH']}" + cmakePath = Path(CraftCore.standardDirs.craftRoot()) / "dev-utils/cmake-base" + if OsUtils.isMac(): + cmakePath /= "CMake.app/Contents/bin" + else: + cmakePath /= "bin" + path = f"{binaryPath}{os.pathsep}{os.environ['PATH']}" with utils.ScopedEnv({"PATH":path}): return super().configure()