From 05e7fdddf1942122191004fac5cc1541e0fe8eb9 Mon Sep 17 00:00:00 2001 From: Doyle Date: Wed, 8 Feb 2023 16:53:32 +1100 Subject: [PATCH] devenver: Add linux installation --- ...app_manifest_dev.py => app_manifest_dev.py | 150 +++++++++--------- ...p_manifest_user.py => app_manifest_user.py | 0 devenver.py | 105 ++++++------ win_install.py => install.py | 23 ++- 4 files changed, 144 insertions(+), 134 deletions(-) rename win_app_manifest_dev.py => app_manifest_dev.py (92%) rename win_app_manifest_user.py => app_manifest_user.py (100%) rename win_install.py => install.py (97%) diff --git a/win_app_manifest_dev.py b/app_manifest_dev.py similarity index 92% rename from win_app_manifest_dev.py rename to app_manifest_dev.py index 4dc9d60..c885cef 100644 --- a/win_app_manifest_dev.py +++ b/app_manifest_dev.py @@ -464,13 +464,13 @@ def get_manifest(is_windows): executables = [ { "path": f"bin/clang++", - "checksum": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "checksum": "388be41dc565a891ced9e78da2e89a249ca9b9a26f71a3c912e8ba89585be89c", "symlink": [f"clang++-{version}"], "add_to_devenv_path": True, }, { - "path": f"bin/clang.exe", - "checksum": "none", + "path": f"bin/clang", + "checksum": "388be41dc565a891ced9e78da2e89a249ca9b9a26f71a3c912e8ba89585be89c", "symlink": [f"clang-{version}"], "add_to_devenv_path": True, } @@ -505,17 +505,17 @@ def get_manifest(is_windows): else: version = "14.0.0" # Only version with linux downloads download_url = f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/clang+llvm-{version}-x86_64-linux-gnu-ubuntu-18.04.tar.xz" - download_checksum = "none" + download_checksum = "61582215dafafb7b576ea30cc136be92c877ba1f1c31ddbbd372d6d65622fef5" executables = [ { "path": f"bin/clang++", - "checksum": "none", + "checksum": "3557c2deadae7e2bc3bffce4afd93ddab6ef50090971c8ce3bf15c80b27134a0", "symlink": [f"clang++-{version}"], "add_to_devenv_path": False, }, { - "path": f"bin/clang.exe", - "checksum": "none", + "path": f"bin/clang", + "checksum": "3557c2deadae7e2bc3bffce4afd93ddab6ef50090971c8ce3bf15c80b27134a0", "symlink": [f"clang-{version}"], "add_to_devenv_path": False, } @@ -548,18 +548,18 @@ def get_manifest(is_windows): } ] else: - download_checksum = "none" + download_checksum = "84a54c69781ad90615d1b0276a83ff87daaeded99fbc64457c350679df7b4ff0" download_url = f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/clang+llvm-{version}-x86_64-linux-gnu-ubuntu-18.04.tar.xz" executables = [ { "path": f"bin/clang++", - "checksum": "none", + "checksum": "ae47e6cc9f6d95f7a39e4800e511b7bdc3f55464ca79e45cd63cbd8a862a82a1", "symlink": [f"clang++-{version}"], "add_to_devenv_path": False, }, { - "path": f"bin/clang.exe", - "checksum": "none", + "path": f"bin/clang", + "checksum": "ae47e6cc9f6d95f7a39e4800e511b7bdc3f55464ca79e45cd63cbd8a862a82a1", "symlink": [f"clang-{version}"], "add_to_devenv_path": False, } @@ -585,25 +585,25 @@ def get_manifest(is_windows): "add_to_devenv_path": False, }, { - "path": f"bin/clang.exe", + "path": f"bin/clang", "checksum": "9f0748de7f946c210a030452de226986bab46a0121d7236ea0e7b5079cb6dfef", - "symlink": [f"clang-{version}.exe"], + "symlink": [f"clang-{version}"], "add_to_devenv_path": False, } ] else: - download_checksum = "none" - download_url = f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/clang+llvm-{version}-x86_64-linux-gnu-ubuntu-18.04.tar.xz" + download_checksum = "6b3cc55d3ef413be79785c4dc02828ab3bd6b887872b143e3091692fc6acefe7" + download_url = f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/clang+llvm-{version}-x86_64-linux-gnu-ubuntu-16.04.tar.xz" executables = [ { "path": f"bin/clang++", - "checksum": "none", + "checksum": "329bba976c0cef38863129233a4b0939688eae971c7a606d41dd0e5a53d53455", "symlink": [f"clang++-{version}"], "add_to_devenv_path": False, }, { - "path": f"bin/clang.exe", - "checksum": "none", + "path": f"bin/clang", + "checksum": "329bba976c0cef38863129233a4b0939688eae971c7a606d41dd0e5a53d53455", "symlink": [f"clang-{version}"], "add_to_devenv_path": False, } @@ -636,18 +636,18 @@ def get_manifest(is_windows): } ] else: - download_checksum = "none" - download_url = f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/clang+llvm-{version}-x86_64-linux-gnu-ubuntu-18.04.tar.xz" + download_checksum = "c691a558967fb7709fb81e0ed80d1f775f4502810236aa968b4406526b43bee1" + download_url = f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{version}/clang+llvm-{version}-x86_64-linux-gnu-ubuntu-16.04.tar.xz" executables = [ { "path": f"bin/clang++", - "checksum": "none", + "checksum": "656bfde194276cee81dc8a7a08858313c5b5bdcfa18ac6cd6116297af2f65148", "symlink": [f"clang++-{version}"], "add_to_devenv_path": False, }, { - "path": f"bin/clang.exe", - "checksum": "none", + "path": f"bin/clang", + "checksum": "656bfde194276cee81dc8a7a08858313c5b5bdcfa18ac6cd6116297af2f65148", "symlink": [f"clang-{version}"], "add_to_devenv_path": False, } @@ -676,8 +676,8 @@ def get_manifest(is_windows): exe_path = "ninja.exe" else: download_url = f"https://github.com/ninja-build/ninja/releases/download/v{version}/ninja-linux.zip" - download_checksum = "none" - checksum = "none" + download_checksum = "b901ba96e486dce377f9a070ed4ef3f79deb45f4ffe2938f8e7ddc69cfb3df77" + checksum = "ac35c7992e95c5f2cadb44097d9988bcc71e5e39d9908ec312eb46872844f2e8" exe_path = "ninja" result.append({ @@ -717,9 +717,9 @@ def get_manifest(is_windows): symlink = [f"node-{version}.exe"] else: download_url = f"https://nodejs.org/dist/v{version}/node-v{version}-linux-x64.tar.xz" - download_checksum = "none" - checksum = "none" - exe_path = "node" + download_checksum = "c88b52497ab38a3ddf526e5b46a41270320409109c3f74171b241132984fd08f" + checksum = "45afcfc9a45df626e8aa2b883753d1cf7f222ad9243f3003d1aa372696120df6" + exe_path = "bin/node" symlink = [f"node-{version}"] result.append({ @@ -764,29 +764,31 @@ def get_manifest(is_windows): ] else: download_url = f"https://github.com/indygreg/python-build-standalone/releases/download/{date}/cpython-{version}-x86_64_v2-unknown-linux-gnu-pgo+lto-full.tar.zst" - download_checksum = "none" + download_checksum = "49f4a8c02efff2debbb258973b1f6efbd568e4be2e5dca07c7dcd754a7bff9cf" checksum = "none" exe_path = "bin/python" - result.append({ - "label": label, - "manifests": [ - { - "download_checksum": download_checksum, - "download_url": download_url, - "version": version, - "executables": [ - { - "path": exe_path, - "symlink": [], - "add_to_devenv_path": True, - "checksum": checksum, - } - ], - "add_to_devenv_script": add_to_devenv_script, - } - ], - }) + # TODO: Get ZST somehow on linux + if is_windows: + result.append({ + "label": label, + "manifests": [ + { + "download_checksum": download_checksum, + "download_url": download_url, + "version": version, + "executables": [ + { + "path": exe_path, + "symlink": [], + "add_to_devenv_path": True, + "checksum": checksum, + } + ], + "add_to_devenv_script": add_to_devenv_script, + } + ], + }) # -------------------------------------------------------------------------- @@ -803,8 +805,8 @@ def get_manifest(is_windows): exe_path = "qrenderdoc.exe" else: download_url = f"https://renderdoc.org/stable/{version}/renderdoc_{version}.tar.gz" - download_checksum = "none" - checksum = "none" + download_checksum = "fbdf67131ade655a7e635aa34e8b6fcd1aac9d88ebbe7d3da39fb075e05b1f41" + checksum = "00508f6532f73a38873b92777fa8b7fb317c0b5f411fb50d2722823027993252" exe_path = "bin/qrenderdoc" result.append({ @@ -867,9 +869,9 @@ def get_manifest(is_windows): exe_path = "zig.exe" symlink = [f"zig-{version}.exe"] else: - download_url = f"https://ziglang.org/download/{version}/zig-linux-x86_64-{version}.zip" - download_checksum = "none" - checksum = "none" + download_url = f"https://ziglang.org/download/{version}/zig-linux-x86_64-{version}.tar.xz" + download_checksum = "6699f0e7293081b42428f32c9d9c983854094bd15fee5489f12c4cf4518cc380" + checksum = "b298cd869e11709b9c7a1313315b5ea2a9d8a0718f555c6990ee209d7c533442" exe_path = "zig" symlink = [f"zig-{version}"] @@ -983,8 +985,8 @@ def get_manifest(is_windows): symlink = [f"fzf.exe"] else: download_url = f"https://github.com/junegunn/fzf/releases/download/{version}/fzf-{version}-linux_amd64.tar.gz" - download_checksum = "none" - checksum = "none" + download_checksum = "ffa3220089f2ed6ddbef2d54795e49f46467acfadd4ad0d22c5f07c52dc0d4ab" + checksum = "6475c41e56d949da753782fef56017657b77846f23e71fca88378e3f55c1d6d0" exe_path = "fzf" symlink = [f"fzf"] @@ -1073,7 +1075,7 @@ def get_manifest(is_windows): exe_path = "nvim.appimage" download_url = f"https://github.com/neovim/neovim/releases/download/v{version}/{exe_path}" download_checksum = "bb0d4599cb506fc6e29bf0e9cef3b52e06dcb4bb930b56d6eb88320f1d46a908" - checksum = "none" + checksum = download_checksum result.append({ "label": "NVim", @@ -1110,8 +1112,8 @@ def get_manifest(is_windows): exe_path = "neovide.exe" else: download_url = f"https://github.com/neovide/neovide/releases/download/{version}/neovide.tar.gz" - download_checksum = "fc0593a0f55e99fa8398e8137ac89632ea7fc97a90cbd32d8c2a69afc1eff6f" - checksum = "none" + download_checksum = "0fc0593a0f55e99fa8398e8137ac89632ea7fc97a90cbd32d8c2a69afc1eff6f" + checksum = "73c8dc6cb9840f568663d532d12ae54109af690866a51011cc1f874e2ae308e2" exe_path = "neovide" result.append({ @@ -1148,10 +1150,10 @@ def get_manifest(is_windows): checksum = "ddd448c0d8fe71295bbcc5b52c9e9f4b06956a79572b7d634436a49728f5f341" exe_path = "imhex.exe" else: - download_url = f"https://github.com/WerWolv/ImHex/releases/download/v{version}/imhex-{version}.AppImage" - download_checksum = "none" - checksum = "none" - exe_path = "imhex-{version}.AppImage" + exe_path = f"imhex-{version}.AppImage" + download_url = f"https://github.com/WerWolv/ImHex/releases/download/v{version}/{exe_path}" + download_checksum = "229d7f2f36dca0d4aa2eeb4f637114ffa94db7d67db74b34ed7eda34d72e4bed" + checksum = download_checksum result.append({ "label": "ImHex", @@ -1237,7 +1239,7 @@ def get_manifest(is_windows): else: download_url = f"https://github.com/BurntSushi/ripgrep/releases/download/{version}/ripgrep-{version}-x86_64-unknown-linux-musl.tar.gz" download_checksum = "ee4e0751ab108b6da4f47c52da187d5177dc371f0f512a7caaec5434e711c091" - checksum = "none" + checksum = "4ef156371199b3ddac1bf584e0e52b1828279af82e4ea864b4d9c816adb5db40" exe_path = "rg" result.append({ @@ -1275,9 +1277,9 @@ def get_manifest(is_windows): exe_path = "sioyek.exe" else: download_url = f"https://github.com/ahrm/sioyek/releases/download/v{version}/sioyek-release-linux-portable.zip" - download_checksum = "none" - checksum = "none" - exe_path = "sioyek" + download_checksum = "3f90659c1f29705de680b3607ae247582eab8860015c208d364a0f3fc15d3222" + checksum = "7abc12e8fe71b0285e067866bcea2ea0e025e37291f6bce450675a567172e44f" + exe_path = "Sioyek-x86_64.AppImage" result.append({ "label": "Sioyek", @@ -1318,9 +1320,9 @@ def get_manifest(is_windows): "set FZF_DEFAULT_COMMAND=fd --type f --strip-cwd-prefix --hidden --follow --exclude .git --exclude .cache --exclude .vs", ] else: - download_url = f"https://github.com/sharkdp/fd/releases/download/v{version}/fd-v{version}-x86_64-pc-unknown-linux-musl.tar.gz" - download_checksum = "none" - checksum = "none" + download_url = f"https://github.com/sharkdp/fd/releases/download/v{version}/fd-v{version}-x86_64-unknown-linux-musl.tar.gz" + download_checksum = "9fdb370648fb8256fc9a36355c652546bd4c62925babcad80f95f90f74fc81e7" + checksum = "702eb951e6b37be64cca66da976e0fcb0be587121034c1d6f841ce7fad3bd8e3" exe_path = "fd" add_to_devenv_script = [ "FZF_DEFAULT_OPTS=--multi --layout=reverse", @@ -1434,7 +1436,7 @@ def get_manifest(is_windows): checksum = "12d62abb9ad4db43c2b9b1398acae66857eb6e64205364631a3d3bda0ff17e2e" exe_path = "ripcord.exe" else: - exe_path = "Ripcord-{version}-x86_64.AppImage" + exe_path = f"Ripcord-{version}-x86_64.AppImage" download_url = f"https://cancel.fm/dl/{exe_path}" download_checksum = "e320cb3c4043b0f296b4bc1da664b29776f95c2c0b02bdbf115b4d46b1669899" checksum = download_checksum @@ -1498,7 +1500,7 @@ def get_manifest(is_windows): exe_path = "yt-dlp.exe" else: download_url = f"https://github.com/yt-dlp/yt-dlp/releases/download/{version}/yt-dlp_linux" - download_checksum = "none" + download_checksum = "3b2d1bd378e08570b0fb5bee000cd6968563c4f47527197a5c57463bae8cb2ac" checksum = download_checksum exe_path = "yt-dlp_linux" @@ -1538,7 +1540,7 @@ def get_manifest(is_windows): else: download_url = f"https://bitbucket.org/heldercorreia/speedcrunch/downloads/SpeedCrunch-{version}-linux64.tar.bz2" download_checksum = "9347bef2068053ad15c5914ee147bf11a1ccb1d30cb18d63d0178380c327e8fc" - checksum = "none" + checksum = "06c7e7f68027f133dc7874f663873244b695c8a7d2aec9cde0e40b7a5b9a4db1" exe_path = "speedcrunch" result.append({ @@ -1577,8 +1579,8 @@ def get_manifest(is_windows): else: exe_path = f"KeePassXC-{version}-x86_64.AppImage" download_url = f"https://github.com/keepassxreboot/keepassxc/releases/download/{version}/{exe_path}" - download_checksum = "none" - checksum = "none" + download_checksum = "15fdc15f340e84e3b7a25a19bfb8c3b16f1e04685c07e5de1616b7cd6bcdded6" + checksum = download_checksum result.append({ "label": "KeePassXC", diff --git a/win_app_manifest_user.py b/app_manifest_user.py similarity index 100% rename from win_app_manifest_user.py rename to app_manifest_user.py diff --git a/devenver.py b/devenver.py index f3f4893..4e69be1 100644 --- a/devenver.py +++ b/devenver.py @@ -222,18 +222,19 @@ def download_and_install_archive(download_url, # Install the archive by unpacking it # ---------------------------------------------------------------------- archive_path = download_path + os.makedirs(exe_install_dir, exist_ok=True) + if unzip_method == UnzipMethod.DEFAULT: - if archive_path.suffix == '.exe' or archive_path.suffix == '.AppImage': + if archive_path.suffix == '.exe' or archive_path.suffix.lower() == '.appimage' or len(archive_path.suffix) == 0: unzip_method = UnzipMethod.NO_UNZIP if unzip_method == UnzipMethod.NO_UNZIP: - os.makedirs(exe_install_dir, exist_ok=True) shutil.copy(archive_path, exe_install_dir) elif unzip_method == UnzipMethod.SHUTILS: lprint(f'- SHUtils unzip install {label} to: {exe_install_dir}', level=1) shutil.unpack_archive(download_path, exe_install_dir) elif unzip_method == UnzipMethod.ZIP7_BOOTSTRAP: - command = f'"{zip7_bootstrap_exe}" x -bd "{download_path}" -o"{exe_install_dir}"' + command = [str(zip7_bootstrap_exe), "x", "-bd", str(download_path), "-o", str(exe_install_dir)] lprint(f'- 7z (bootstrap) unzip {label} to: {exe_install_dir}', level=1) lprint(f' Command: {command}', level=1) subprocess.run(command) @@ -252,37 +253,49 @@ def download_and_install_archive(download_url, # We call this an intermediate zip file, we will extract that file # with 7zip. After we're done, we will delete that _intermediate_ # file to cleanup our install directory. - if archive_path.suffix == '.zst' or archive_path.suffix == '.xz' or archive_path.suffix == '.gz': + unzip_command = [str(zip7_exe), "x", "-aoa", "-spe", "-bso0", str(archive_path), f"-o{exe_install_dir}"] + linux_used_tar = False + if archive_path.suffix == '.zst' or archive_path.suffix == '.xz' or archive_path.suffix == '.gz' or archive_path.suffix == '.bz2': archive_without_suffix = pathlib.Path(str(archive_path)[:-len(archive_path.suffix)]).name - next_archive_path = pathlib.Path(exe_install_dir, archive_without_suffix) + next_archive_path = pathlib.Path(exe_install_dir, archive_without_suffix) if os.path.exists(next_archive_path) == False: + command = "" if archive_path.suffix == '.zst': - command = f'"{zstd_exe}" --output-dir-flat "{exe_install_dir}" -d "{archive_path}"' + command = [str(zstd_exe), "--output-dir-flat", str(exe_install_dir), "-d", str(archive_path)] lprint(f'- zstd unzip {label} to: {exe_install_dir}', level=1) - lprint(f' Command: {command}', level=1) else: - command = f'"{zip7_exe}" x -aoa -spe -bso0 "{archive_path}" -o"{exe_install_dir}"' - command = command.replace('\\', '/') - lprint(f'- 7z unzip install {label} to: {exe_install_dir}', level=1) - lprint(f' Command: {command}', level=1) + if not is_windows: + linux_used_tar = True + unzip_command = ["tar", "xf", str(archive_path), "--directory", str(exe_install_dir)] - os.makedirs(exe_install_dir) - subprocess.run(command) + command = unzip_command + for item in command: + item = item.replace('\\', '/') + lprint(f'- Unzip nested install {label} to: {exe_install_dir}', level=1) + + lprint(f' Command: {command}', level=1) + subprocess.run(args=command) # Remove the extension from the file, we just extracted it archive_path = next_archive_path # If there's still a suffix after we removed the ".zst" we got # an additional archive to unzip, e.g. "app.tar" remaining. - intermediate_zip_file_extracted = len(archive_path.suffix) > 0 + if not linux_used_tar: + intermediate_zip_file_extracted = len(archive_path.suffix) > 0 + # \note On Linux using tar xf will unpack the archive entirely, e.g. + # unpack tar.gz both in one shot. So we do not need a further + # extract step. + if not linux_used_tar and len(archive_path.suffix) > 0: + unzip_command = [str(zip7_exe), "x", "-aoa", "-spe", "-bso0", str(archive_path), f"-o{exe_install_dir}"] + command = unzip_command + for item in command: + item = item.replace('\\', '/') - if len(archive_path.suffix) > 0: - command = f'"{zip7_exe}" x -aoa -spe -bso0 "{archive_path}" -o"{exe_install_dir}"' - command = command.replace('\\', '/') - lprint(f'- 7z unzip install {label} to: {exe_install_dir}', level=1) + lprint(f'- Unzip install {label} to: {exe_install_dir}', level=1) lprint(f' Command: {command}', level=1) subprocess.run(command) @@ -528,7 +541,7 @@ def install_app_list(app_list, download_dir, install_dir, is_windows): unzip_method = UnzipMethod.ZIP7_BOOTSTRAP zip7_exe = exe_path else: - unzip_method = UnzipMethod.ZIP7_SHUTILS + unzip_method = UnzipMethod.SHUTILS zip7_exe = exe_path zip7_bootstrap_exe = exe_path elif label == 'zstd': @@ -571,7 +584,7 @@ def install_app_list(app_list, download_dir, install_dir, is_windows): for line in manifest['add_to_devenv_script']: devenv_script_buffer += (line + '\n') - if app_list is internal_app_list: + if (is_windows or os.name == 'nt') and app_list is internal_app_list: if len(str(zip7_exe)) == 0 or len(str(zip7_bootstrap_exe)) == 0 or len(str(zstd_exe)) == 0: exit("Internal app list did not install 7zip bootstrap, 7zip or zstd, we are unable to install archives\n" f" - zip7_bootstrap_exe: {zip7_bootstrap_exe}\n" @@ -655,11 +668,12 @@ def run(user_app_list, download_checksum = "b055fee85472921575071464a97a79540e489c1c3a14b9bdfbdbab60e17f36e4" checksum = "254cf6411d38903b2440819f7e0a847f0cfee7f8096cfad9e90fea62f42b0c23" exe_path = "7z.exe" + else: download_url = f"https://www.7-zip.org/a/7z{version}-linux-x64.tar.xz" - download_checksum = "none" - checksum = "none" - exe_path = "7z" + download_checksum = "2c266f6794adec310c4631232c1d039f46988d51082fe5e80349c52ee7ed60bb" + checksum = "0c771994a00ee96a0fc85902f66fbfd162c3090091e523bb828cdf4cd09a2e73" + exe_path = "7zz" internal_app_list[-1]["manifests"].append({ # Download proper 7zip, extract this exe with the bootstrap 7zip "download_checksum": download_checksum, @@ -689,31 +703,26 @@ def run(user_app_list, download_checksum = "68897cd037ee5e44c6d36b4dbbd04f1cc4202f9037415a3251951b953a257a09" checksum = "f14e78c0651851a670f508561d2c5d647da0ba08e6b73231f2e7539812bae311" exe_path = "zstd.exe" - else: - download_url = f"https://github.com/facebook/zstd/releases/download/v{version}/zstd-{version}.tar.gz" - download_checksum = "none" - checksum = "none" - exe_path = "zstd" - internal_app_list.append({ - "label": "zstd", - "manifests": [ - { - "download_checksum": download_checksum, - "download_url": download_url, - "version": version, - "executables": [ - { - "path": "zstd.exe", - "symlink": [], - "add_to_devenv_path": True, - "checksum": checksum, - }, - ], - "add_to_devenv_script": [], - }, - ], - }) + internal_app_list.append({ + "label": "zstd", + "manifests": [ + { + "download_checksum": download_checksum, + "download_url": download_url, + "version": version, + "executables": [ + { + "path": exe_path, + "symlink": [], + "add_to_devenv_path": True, + "checksum": checksum, + }, + ], + "add_to_devenv_script": [], + }, + ], + }) # Run # -------------------------------------------------------------------------- @@ -763,7 +772,7 @@ def run(user_app_list, # Write the devenv script with environment variables devenv_script_buffer += "set PATH=%~dp0Symlinks;%PATH%\n" - devenv_script_name = f"{devenv_script_name}.bat" if is_windows else f"{devenv_script_name}dev_env.sh" + devenv_script_name = f"{devenv_script_name}.bat" if is_windows else f"{devenv_script_name}.sh" devenv_script_path = pathlib.Path(install_dir, devenv_script_name) lprint(f"Writing script to augment the environment with installed applications: {devenv_script_path}") with open(devenv_script_path, 'w') as file: diff --git a/win_install.py b/install.py similarity index 97% rename from win_install.py rename to install.py index 9df70f5..edcbf32 100644 --- a/win_install.py +++ b/install.py @@ -9,8 +9,8 @@ import tempfile import argparse import urllib.request -import win_app_manifest_dev -import win_app_manifest_user +import app_manifest_dev +import app_manifest_user def git_clone(install_dir, git_exe, url, commit_hash): devenver.lprint(f"Git clone {url} to {install_dir}", level=0) @@ -78,7 +78,7 @@ if args.with_dev_apps: # Run DEVenver, installing the portable apps # -------------------------------------------------------------------------- dev_env_script_name = "dev_env" - app_list = win_app_manifest_dev.get_manifest(is_windows=is_windows) + app_list = app_manifest_dev.get_manifest(is_windows=is_windows) installed_dev_apps = devenver.run(user_app_list=app_list, download_dir=download_dir, install_dir=install_dir, @@ -375,12 +375,12 @@ set PYTHONHOME=%~dp0{python_install_dir} pause """) - (install_dir / "user_env_update.bat").write_text(f"""@echo off -setlocal EnableDelayedExpansion -set PYTHONHOME=%~dp0{python_install_dir} -%~dp0{python_rel_exe_path} {win_setup_script_path} --with-user-apps -pause -""") + (install_dir / "user_env_update.bat").write_text(f"""@echo off + setlocal EnableDelayedExpansion + set PYTHONHOME=%~dp0{python_install_dir} + %~dp0{python_rel_exe_path} {win_setup_script_path} --with-user-apps + pause + """) # Install left-overs # -------------------------------------------------------------------------- @@ -411,13 +411,12 @@ pause urllib.request.urlretrieve("https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim", nvim_plug_vim_path) - # Install user apps # ------------------------------------------------------------------------------ if args.with_user_apps: - app_list = win_app_manifest_user.get_manifest(is_windows=is_windows) + app_list = app_manifest_user.get_manifest(is_windows=is_windows) installed_user_apps = devenver.run(user_app_list=app_list, download_dir=download_dir, install_dir=install_dir, devenv_script_name="user_env", - is_windows=True) + is_windows=is_windows)