diff --git a/aedi/builder.py b/aedi/builder.py index 9692afe5..8a922987 100644 --- a/aedi/builder.py +++ b/aedi/builder.py @@ -49,11 +49,11 @@ class Builder(object): if arguments.target: self._target = self._targets[arguments.target] - state.source_path = state.root_source_path + self._target.name + os.sep + state.source = state.source_path + self._target.name + os.sep state.external_source = False else: - assert arguments.source_path - state.source_path = arguments.source_path + os.sep + assert arguments.source + state.source = arguments.source + os.sep state.external_source = True self._detect_target() @@ -280,12 +280,14 @@ class Builder(object): group = parser.add_mutually_exclusive_group(required=True) group.add_argument('--target', choices=self._targets.keys(), help='target to build') - group.add_argument('--source-path', metavar='path', help='path to target\'s source code') + group.add_argument('--source', metavar='path', help='path to target\'s source code') group = parser.add_argument_group() group.add_argument('--xcode', action='store_true', help='generate Xcode project instead of build') group.add_argument('--checkout-commit', metavar='commit', help='target\'s source code commit or tag to checkout') + group.add_argument('--source-path', metavar='path', + help='path to store downloaded and checked out source code') group.add_argument('--build-path', metavar='path', help='target build path') group.add_argument('--output-path', metavar='path', help='output path for main targets') group.add_argument('--sdk-path-x64', metavar='path', help='path to macOS SDK for x86_64') diff --git a/aedi/state.py b/aedi/state.py index 5148a629..10e7d8c5 100644 --- a/aedi/state.py +++ b/aedi/state.py @@ -32,9 +32,9 @@ class BuildState: self.bin_path = self.prefix_path + 'bin' + os.sep self.include_path = self.prefix_path + 'include' + os.sep self.lib_path = self.prefix_path + 'lib' + os.sep - self.root_source_path = self.root_path + 'source' + os.sep + self.source_path = self.root_path + 'source' + os.sep - self.source_path = None + self.source = None self.external_source = True self.patch_path = None @@ -69,19 +69,19 @@ class BuildState: return self.platform.cxx_compiler if self.platform else '' def checkout_git(self, url: str): - if not os.path.exists(self.source_path): - args = ('git', 'clone', '--recurse-submodules', url, self.source_path) + if not os.path.exists(self.source): + args = ('git', 'clone', '--recurse-submodules', url, self.source) subprocess.check_call(args, cwd=self.root_path) if self.checkout_commit: args = ['git', 'checkout', self.checkout_commit] - subprocess.check_call(args, cwd=self.source_path) + subprocess.check_call(args, cwd=self.source) def download_source(self, url: str, checksum: str): if self.external_source: return - os.makedirs(self.source_path, exist_ok=True) + os.makedirs(self.source, exist_ok=True) data, filepath = self._read_source_package(url) self._verify_checksum(checksum, data, filepath) @@ -90,12 +90,12 @@ class BuildState: self._apply_source_patch(extract_path) # Adjust source and build paths according to extracted source code - self.source_path = extract_path + self.source = extract_path self.build_path = self.build_path + first_path_component + os.sep def _read_source_package(self, url: str) -> (bytes, str): filename = url.rsplit(os.sep, 1)[1] - filepath = self.source_path + filename + filepath = self.source + filename if os.path.exists(filepath): # Read existing source package @@ -141,12 +141,12 @@ class BuildState: if not first_path_component: raise Exception("Failed to figure out source code path for " + filepath) - extract_path = self.source_path + first_path_component + os.sep + extract_path = self.source + first_path_component + os.sep if not os.path.exists(extract_path): # Extract source code package try: - subprocess.check_call(['tar', '-xf', filepath], cwd=self.source_path) + subprocess.check_call(['tar', '-xf', filepath], cwd=self.source) except (IOError, subprocess.CalledProcessError): shutil.rmtree(extract_path, ignore_errors=True) raise diff --git a/aedi/target/base.py b/aedi/target/base.py index 52bb8ba3..19675158 100644 --- a/aedi/target/base.py +++ b/aedi/target/base.py @@ -265,7 +265,7 @@ class MakeTarget(BuildTarget): def configure(self, state: BuildState): super().configure(state) - symlink_directory(state.source_path, state.build_path) + symlink_directory(state.source, state.build_path) def build(self, state: BuildState): assert not state.xcode @@ -336,7 +336,7 @@ class CMakeTarget(BuildTarget): def detect(self, state: BuildState) -> bool: src_root = self.src_root and os.sep + self.src_root or '' - cmakelists_path = state.source_path + src_root + os.sep + 'CMakeLists.txt' + cmakelists_path = state.source + src_root + os.sep + 'CMakeLists.txt' if not os.path.exists(cmakelists_path): return False @@ -399,7 +399,7 @@ class CMakeTarget(BuildTarget): args.append('-DCMAKE_OSX_SYSROOT=' + sdk_path) args += self.options.to_list(CommandLineOptions.CMAKE_RULES) - args.append(state.source_path + self.src_root) + args.append(state.source + self.src_root) subprocess.check_call(args, cwd=state.build_path, env=self.environment) diff --git a/aedi/target/dependency.py b/aedi/target/dependency.py index 14163b29..0a589c2c 100644 --- a/aedi/target/dependency.py +++ b/aedi/target/dependency.py @@ -64,7 +64,7 @@ class Bzip2Target(MakeTarget): 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'bzlib.h') + return os.path.exists(state.source + 'bzlib.h') def configure(self, state: BuildState): super().configure(state) @@ -98,7 +98,7 @@ class DumbTarget(CMakeStaticDependencyTarget): '99bfac926aeb8d476562303312d9f47fd05b43803050cd889b44da34a9b2a4f9') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'include/dumb.h') + return os.path.exists(state.source + 'include/dumb.h') @staticmethod def _process_pkg_config(pcfile: str, line: str) -> str: @@ -122,7 +122,7 @@ class FfiTarget(ConfigureMakeStaticDependencyTarget): '72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'libffi.pc.in') + return os.path.exists(state.source + 'libffi.pc.in') def post_build(self, state: BuildState): super().post_build(state) @@ -142,7 +142,7 @@ class FlacTarget(ConfigureMakeStaticDependencyTarget): '213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'FLAC/flac.pc.in') + return os.path.exists(state.source + 'FLAC/flac.pc.in') class FluidSynthTarget(CMakeStaticDependencyTarget): @@ -161,7 +161,7 @@ class FluidSynthTarget(CMakeStaticDependencyTarget): '328fc290b5358544d8dea573f81cb1e97806bdf49e8507db067621242f3f0b8a') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'fluidsynth.pc.in') + return os.path.exists(state.source + 'fluidsynth.pc.in') def configure(self, state: BuildState): # TODO: Figure out why private dependencies aren't pulled @@ -190,7 +190,7 @@ class FreetypeTarget(CMakeStaticDependencyTarget): '86a854d8905b19698bbc8f23b860bc104246ce4854dcea8e3b0fb21284f75784') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'include/freetype/freetype.h') + return os.path.exists(state.source + 'include/freetype/freetype.h') class GettextTarget(ConfigureMakeStaticDependencyTarget): @@ -208,7 +208,7 @@ class GettextTarget(ConfigureMakeStaticDependencyTarget): 'd20fcbb537e02dcf1383197ba05bd0734ef7bf5db06bdb241eb69b7d16b73192') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'gettext-runtime') + return os.path.exists(state.source + 'gettext-runtime') class GlibTarget(BuildTarget): @@ -221,7 +221,7 @@ class GlibTarget(BuildTarget): '97df8670e32f9fd4f7392b0980e661dd625012015d58350da1e58e343f4af984') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'glib.doap') + return os.path.exists(state.source + 'glib.doap') def configure(self, state: BuildState): super().configure(state) @@ -256,7 +256,7 @@ endian = 'little' '--buildtype=release', '--default-library=static', '--cross-file=' + cross_file, - state.source_path + state.source ) subprocess.check_call(args, cwd=state.build_path, env=environment) @@ -278,7 +278,7 @@ class GmakeTarget(ConfigureMakeDependencyTarget): 'de1a441c4edf952521db30bfca80baae86a0ff1acd0a00402999344f04c45e82') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'doc/make.1') + return os.path.exists(state.source + 'doc/make.1') def post_build(self, state: BuildState): self.copy_to_bin(state, 'make', self.name) @@ -295,7 +295,7 @@ class IconvTarget(ConfigureMakeStaticDependencyTarget): 'e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'include/iconv.h.in') + return os.path.exists(state.source + 'include/iconv.h.in') class InstPatchTarget(CMakeStaticDependencyTarget): @@ -312,7 +312,7 @@ class InstPatchTarget(CMakeStaticDependencyTarget): '5fd01cd2ba7377e7a72caaf3b565d8fe088b5c8a14e0ea91516f0c87524bcf8a') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'libinstpatch-1.0.pc.in') + return os.path.exists(state.source + 'libinstpatch-1.0.pc.in') class IntlTarget(GettextTarget): @@ -338,7 +338,7 @@ class JpegTurboTarget(CMakeStaticDependencyTarget): 'd74b92ac33b0e3657123ddcf6728788c90dc84dcb6a52013d758af3c4af481bb') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'turbojpeg.h') + return os.path.exists(state.source + 'turbojpeg.h') @staticmethod def _process_pkg_config(pcfile: str, line: str) -> str: @@ -363,7 +363,7 @@ class MadTarget(ConfigureMakeStaticDependencyTarget): 'bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'mad.h') + return os.path.exists(state.source + 'mad.h') def post_build(self, state: BuildState): super().post_build(state) @@ -381,17 +381,17 @@ class MesonTarget(BuildTarget): '291dd38ff1cd55fcfca8fc985181dd39be0d3e5826e5f0013bf867be40117213') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'meson.py') + return os.path.exists(state.source + 'meson.py') def post_build(self, state: BuildState): script = '__main__.py' - shutil.copy(state.source_path + script, state.build_path) + shutil.copy(state.source + script, state.build_path) module = 'mesonbuild' module_path = state.build_path + module if os.path.exists(module_path): shutil.rmtree(module_path) - shutil.copytree(state.source_path + module, module_path) + shutil.copytree(state.source + module, module_path) dest_path = state.install_path + 'bin' + os.sep os.makedirs(dest_path, exist_ok=True) @@ -409,7 +409,7 @@ class MikmodTarget(ConfigureMakeStaticDependencyTarget): 'ad9d64dfc8f83684876419ea7cd4ff4a41d8bcd8c23ef37ecb3a200a16b46d19') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'libmikmod.pc.in') + return os.path.exists(state.source + 'libmikmod.pc.in') def post_build(self, state: BuildState): super().post_build(state) @@ -426,7 +426,7 @@ class ModPlugTarget(ConfigureMakeStaticDependencyTarget): '457ca5a6c179656d66c01505c0d95fafaead4329b9dbaa0f997d00a3508ad9de') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'libmodplug.pc.in') + return os.path.exists(state.source + 'libmodplug.pc.in') @staticmethod def _process_pkg_config(pcfile: str, line: str) -> str: @@ -451,7 +451,7 @@ class MoltenVKTarget(MakeTarget): 'cd1712c571d4155f4143c435c8551a5cb8cbb311ad7fff03595322ab971682c0') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'MoltenVKPackaging.xcodeproj') + return os.path.exists(state.source + 'MoltenVKPackaging.xcodeproj') def configure(self, state: BuildState): # Unset platform to avoid using specified macOS deployment target and SDK @@ -492,7 +492,7 @@ class Mpg123Target(ConfigureMakeStaticDependencyTarget): '081991540df7a666b29049ad870f293cfa28863b36488ab4d58ceaa7b5846454') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'libmpg123.pc.in') + return os.path.exists(state.source + 'libmpg123.pc.in') class NasmTarget(ConfigureMakeDependencyTarget): @@ -505,7 +505,7 @@ class NasmTarget(ConfigureMakeDependencyTarget): '3caf6729c1073bf96629b57cee31eeb54f4f8129b01902c73428836550b30a3f') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'nasm.txt') + return os.path.exists(state.source + 'nasm.txt') class NinjaTarget(MakeTarget): @@ -518,7 +518,7 @@ class NinjaTarget(MakeTarget): 'ce35865411f0490368a8fc383f29071de6690cbadc27704734978221f25e2bed') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'src/ninja.cc') + return os.path.exists(state.source + 'src/ninja.cc') def build(self, state: BuildState): cmdlines = ( @@ -543,7 +543,7 @@ class OggTarget(ConfigureMakeStaticDependencyTarget): 'fe5670640bd49e828d64d2879c31cb4dde9758681bb664f9bdbf159a01b0c76e') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'ogg.pc.in') + return os.path.exists(state.source + 'ogg.pc.in') class OpenALTarget(CMakeStaticDependencyTarget): @@ -560,7 +560,7 @@ class OpenALTarget(CMakeStaticDependencyTarget): '2916b4fc24e23b0271ce0b3468832ad8b6d8441b1830215b28cc4fee6cc89297') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'openal.pc.in') + return os.path.exists(state.source + 'openal.pc.in') @staticmethod def _process_pkg_config(pcfile: str, line: str) -> str: @@ -585,7 +585,7 @@ class OpusTarget(ConfigureMakeStaticDependencyTarget): '65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'opus.pc.in') + return os.path.exists(state.source + 'opus.pc.in') class OpusFileTarget(ConfigureMakeStaticDependencyTarget): @@ -599,7 +599,7 @@ class OpusFileTarget(ConfigureMakeStaticDependencyTarget): '118d8601c12dd6a44f52423e68ca9083cc9f2bfe72da7a8c1acb22a80ae3550b') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'opusfile.pc.in') + return os.path.exists(state.source + 'opusfile.pc.in') class PcreTarget(ConfigureMakeStaticDependencyTarget): @@ -616,7 +616,7 @@ class PcreTarget(ConfigureMakeStaticDependencyTarget): '19108658b23b3ec5058edc9f66ac545ea19f9537234be1ec62b714c84399366d') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'pcre.h.in') + return os.path.exists(state.source + 'pcre.h.in') class PkgConfigTarget(ConfigureMakeDependencyTarget): @@ -629,7 +629,7 @@ class PkgConfigTarget(ConfigureMakeDependencyTarget): '6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'pkg-config.1') + return os.path.exists(state.source + 'pkg-config.1') def post_build(self, state: BuildState): self.copy_to_bin(state, new_filename=self.name + '.exe') @@ -645,7 +645,7 @@ class PngTarget(ConfigureMakeStaticDependencyTarget): '505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'libpng.pc.in') + return os.path.exists(state.source + 'libpng.pc.in') def post_build(self, state: BuildState): super().post_build(state) @@ -662,7 +662,7 @@ class PortMidiTarget(CMakeTarget): '08e9a892bd80bdb1115213fb72dc29a7bf2ff108b378180586aa65f3cfd42e0f') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'pm_common/portmidi.h') + return os.path.exists(state.source + 'pm_common/portmidi.h') def post_build(self, state: BuildState): if os.path.exists(state.install_path): @@ -670,8 +670,8 @@ class PortMidiTarget(CMakeTarget): include_path = state.install_path + os.sep + 'include' os.makedirs(include_path) - shutil.copy(state.source_path + 'pm_common/portmidi.h', include_path) - shutil.copy(state.source_path + 'porttime/porttime.h', include_path) + shutil.copy(state.source + 'pm_common/portmidi.h', include_path) + shutil.copy(state.source + 'porttime/porttime.h', include_path) lib_path = state.install_path + os.sep + 'lib' + os.sep os.makedirs(lib_path) @@ -688,7 +688,7 @@ class SamplerateTarget(ConfigureMakeStaticDependencyTarget): '0a7eb168e2f21353fb6d84da152e4512126f7dc48ccb0be80578c565413444c1') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'samplerate.pc.in') + return os.path.exists(state.source + 'samplerate.pc.in') class Sdl2Target(CMakeStaticDependencyTarget): @@ -708,7 +708,7 @@ class Sdl2Target(CMakeStaticDependencyTarget): 'd8215b571a581be1332d2106f8036fcb03d12a70bae01e20f424976d275432bc') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'sdl2.pc.in') + return os.path.exists(state.source + 'sdl2.pc.in') LINKER_FLAGS = ' -L${libdir} -lSDL2'\ ' -framework AudioToolbox -framework AVFoundation -framework Carbon -framework Cocoa'\ @@ -747,7 +747,7 @@ class Sdl2ImageTarget(ConfigureMakeStaticDependencyTarget): 'bdd5f6e026682f7d7e1be0b6051b209da2f402a2dd8bd1c4bd9c25ad263108d0') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'SDL2_image.pc.in') + return os.path.exists(state.source + 'SDL2_image.pc.in') @staticmethod def _process_pkg_config(pcfile: str, line: str) -> str: @@ -771,7 +771,7 @@ class Sdl2MixerTarget(ConfigureMakeStaticDependencyTarget): super().configure(state) def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'SDL2_mixer.pc.in') + return os.path.exists(state.source + 'SDL2_mixer.pc.in') @staticmethod def _process_pkg_config(pcfile: str, line: str) -> str: @@ -791,7 +791,7 @@ class Sdl2NetTarget(ConfigureMakeStaticDependencyTarget): '15ce8a7e5a23dafe8177c8df6e6c79b6749a03fff1e8196742d3571657609d21') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'SDL2_net.pc.in') + return os.path.exists(state.source + 'SDL2_net.pc.in') class Sdl2TtfTarget(ConfigureMakeStaticDependencyTarget): @@ -804,7 +804,7 @@ class Sdl2TtfTarget(ConfigureMakeStaticDependencyTarget): 'a9eceb1ad88c1f1545cd7bd28e7cbc0b2c14191d40238f531a15b01b1b22cd33') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'SDL2_ttf.pc.in') + return os.path.exists(state.source + 'SDL2_ttf.pc.in') @staticmethod def _process_pkg_config(pcfile: str, line: str) -> str: @@ -825,7 +825,7 @@ class SndFileTarget(CMakeStaticDependencyTarget): '9df273302c4fa160567f412e10cc4f76666b66281e7ba48370fb544e87e4611a') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'sndfile.pc.in') + return os.path.exists(state.source + 'sndfile.pc.in') class SodiumTarget(ConfigureMakeStaticDependencyTarget): @@ -838,7 +838,7 @@ class SodiumTarget(ConfigureMakeStaticDependencyTarget): '6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'libsodium.pc.in') + return os.path.exists(state.source + 'libsodium.pc.in') class VorbisTarget(ConfigureMakeStaticDependencyTarget): @@ -851,7 +851,7 @@ class VorbisTarget(ConfigureMakeStaticDependencyTarget): 'b33cc4934322bcbf6efcbacf49e3ca01aadbea4114ec9589d1b1e9d20f72954b') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'vorbis.pc.in') + return os.path.exists(state.source + 'vorbis.pc.in') class VpxTarget(ConfigureMakeDependencyTarget): @@ -877,7 +877,7 @@ class VpxTarget(ConfigureMakeDependencyTarget): super().configure(state) def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'vpxstats.h') + return os.path.exists(state.source + 'vpxstats.h') class WebpTarget(CMakeStaticDependencyTarget): @@ -901,7 +901,7 @@ class WebpTarget(CMakeStaticDependencyTarget): '98a052268cc4d5ece27f76572a7f50293f439c17a98e67c4ea0c7ed6f50ef043') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'src/libwebp.pc.in') + return os.path.exists(state.source + 'src/libwebp.pc.in') class YasmTarget(ConfigureMakeDependencyTarget): @@ -914,7 +914,7 @@ class YasmTarget(ConfigureMakeDependencyTarget): '3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'libyasm.h') + return os.path.exists(state.source + 'libyasm.h') class ZlibTarget(ConfigureMakeDependencyTarget): @@ -928,7 +928,7 @@ class ZlibTarget(ConfigureMakeDependencyTarget): 'c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'zlib.pc.in') + return os.path.exists(state.source + 'zlib.pc.in') class ZMusicTarget(CMakeStaticDependencyTarget): @@ -946,7 +946,7 @@ class ZMusicTarget(CMakeStaticDependencyTarget): '29a18a6a8d0db4978a9d5badbbd612be2337d64ef0d768e944ea70f526eae285') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + 'include/zmusic.h') + return os.path.exists(state.source + 'include/zmusic.h') def post_build(self, state: BuildState): if state.xcode: @@ -958,7 +958,7 @@ class ZMusicTarget(CMakeStaticDependencyTarget): lib_path = state.install_path + os.sep + 'lib' + os.sep os.makedirs(lib_path) - shutil.copytree(state.source_path + 'include', state.install_path + os.sep + 'include') + shutil.copytree(state.source + 'include', state.install_path + os.sep + 'include') args = ( 'libtool', diff --git a/aedi/target/main.py b/aedi/target/main.py index 49b6c642..9b8a47d7 100644 --- a/aedi/target/main.py +++ b/aedi/target/main.py @@ -223,7 +223,7 @@ class RudeTarget(ChocolateDoomBaseTarget): def post_build(self, state: BuildState): super().post_build(state) - shutil.copy(state.source_path + '/data/rude.wad', state.install_path) + shutil.copy(state.source + '/data/rude.wad', state.install_path) class WoofTarget(ChocolateDoomBaseTarget): @@ -280,7 +280,7 @@ class EDuke32Target(MakeMainTarget): def detect(self, state: BuildState) -> bool: def has_bundle(name: str) -> bool: - probe_path = f'{state.source_path}/platform/Apple/bundles/{name}.app' + probe_path = f'{state.source}/platform/Apple/bundles/{name}.app' return os.path.exists(probe_path) return has_bundle('EDuke32') and not has_bundle('NBlood') @@ -304,7 +304,7 @@ class NBloodTarget(EDuke32Target): state.checkout_git('https://github.com/nukeykt/NBlood.git') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + os.sep + 'nblood.pk3') + return os.path.exists(state.source + os.sep + 'nblood.pk3') class QuakespasmTarget(MakeMainTarget): @@ -327,4 +327,4 @@ class QuakespasmTarget(MakeMainTarget): state.checkout_git('https://git.code.sf.net/p/quakespasm/quakespasm') def detect(self, state: BuildState) -> bool: - return os.path.exists(state.source_path + os.sep + 'Quakespasm.txt') + return os.path.exists(state.source + os.sep + 'Quakespasm.txt')