From 3b5bf48305ce35884c4e2ac98c3c5a2a6003f6e8 Mon Sep 17 00:00:00 2001 From: Alex Vanderveen Date: Wed, 9 Sep 2026 00:39:14 -0400 Subject: [PATCH] Follow the RetroPortingToolKit transfer in submodule URLs and tooling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit recomp-net, retcomm-rbengine (now rbengine), retcomm-toolchains (now RetroPorting-Toolchains), the catalog and the launcher moved from TechnicallyComputers to the RetroPortingToolKit org. GitHub still redirects the old repo URLs, so nothing is broken today — but this repo is what every port inherits its .gitmodules from, so the old owner propagates into each new clone until it is fixed here. .gitmodules now names the new URLs. The toolchain repo is updated in the CI action default, the codegen host, fetch_toolchain.sh, toolchain_pack and package_setup_host, and the scaffolder's recomp-net / rbengine defaults follow. Two things the mechanical sweep would have missed: - render_launcher_block() held a second copy of the launcher slug split across two string literals, so a search for the full slug did not see it and every regenerated README kept the dead owner. It is now derived from LAUNCHER_REPO, which is the only place the slug lives. - readme_has_launcher() matched one exact slug. Pointed at the new one alone it would report every port built before the transfer as missing its launcher section, and append a second copy to any README carrying neither the markers nor a "## RetComM Launcher" heading. It now accepts both. The scaffolder's default GitHub owner for new ports becomes RetroPortingToolKit. Existing ports are unaffected — they carry their own owner in the README and remote. psxrecomp, snesrecomp and recomp-ui did not move and still point at mstan. Submodule paths (lib/recomp-net, lib/retcomm-rbengine) are unchanged: they are pinned by every port and are not repo slugs. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_018xfKkiEkh87zL1EpE5Ty55 --- .github/actions/fetch-toolchain/action.yml | 2 +- .gitmodules | 4 +-- README.md | 2 +- THIRD_PARTY_ATTRIBUTION.md | 2 +- docs/GAME_PROJECT_SETUP.md | 4 +-- host/psxrecomp_codegen_host.c | 2 +- tools/fetch_toolchain.sh | 2 +- .../project_studio/gitops.py | 4 +-- .../project_studio/naming.py | 2 +- .../project_studio/readme_metrics.py | 26 ++++++++++++++----- tools/new_project_layout/setup_project.ps1 | 4 +-- tools/new_project_layout/setup_project.sh | 6 ++--- .../new_project_layout/templates/README.md.in | 10 +++---- tools/package_setup_host.sh | 2 +- tools/toolchain_pack.py | 2 +- 15 files changed, 43 insertions(+), 31 deletions(-) diff --git a/.github/actions/fetch-toolchain/action.yml b/.github/actions/fetch-toolchain/action.yml index fc24ab2e..71cd437c 100644 --- a/.github/actions/fetch-toolchain/action.yml +++ b/.github/actions/fetch-toolchain/action.yml @@ -22,7 +22,7 @@ inputs: repo: description: GitHub owner/name for toolchain releases required: false - default: TechnicallyComputers/retcomm-toolchains + default: RetroPortingToolKit/RetroPorting-Toolchains outputs: toolchain-dir: diff --git a/.gitmodules b/.gitmodules index 6adc28bc..953e090d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,9 @@ [submodule "lib/recomp-net"] path = lib/recomp-net - url = https://github.com/TechnicallyComputers/recomp-net.git + url = https://github.com/RetroPortingToolKit/recomp-net.git branch = main [submodule "lib/retcomm-rbengine"] path = lib/retcomm-rbengine - url = https://github.com/TechnicallyComputers/retcomm-rbengine.git + url = https://github.com/RetroPortingToolKit/rbengine.git branch = main diff --git a/README.md b/README.md index 5157cb50..54c9d6d4 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ Git for Windows also provides the `bash` the setup script uses. Then pick one of these for the compiler, CMake, and Ninja: - **Bundled toolchain (recommended).** Download `cmake-clang-v1-windows-x64.zip` - from [retcomm-toolchains](https://github.com/TechnicallyComputers/retcomm-toolchains/releases/latest), + from [retcomm-toolchains](https://github.com/RetroPortingToolKit/RetroPorting-Toolchains/releases/latest), unzip it (for example to `C:\retcomm-toolchain`), and in the PowerShell window you will run the setup from: diff --git a/THIRD_PARTY_ATTRIBUTION.md b/THIRD_PARTY_ATTRIBUTION.md index 0ad0cb39..61c70977 100644 --- a/THIRD_PARTY_ATTRIBUTION.md +++ b/THIRD_PARTY_ATTRIBUTION.md @@ -86,7 +86,7 @@ All reuse keeps the original copyright and dual MIT/Apache-2.0 license. ## retcomm-studio — multi-disc project tooling -[retcomm-studio](https://github.com/TechnicallyComputers/retcomm-studio) by +[retcomm-studio](https://github.com/RetroPortingToolKit/Retro-Studio) by Alex Vanderveen, licensed **MIT** (notice: `LICENSE` in that repository). psxrecomp is PolyForm-NC, so this is permissive vendored into stricter — the MIT notice must ride along and is why this entry exists. diff --git a/docs/GAME_PROJECT_SETUP.md b/docs/GAME_PROJECT_SETUP.md index c5915f22..f47f57a8 100644 --- a/docs/GAME_PROJECT_SETUP.md +++ b/docs/GAME_PROJECT_SETUP.md @@ -429,10 +429,10 @@ embedded `toolchain/`. The zip includes: - `recomp-ui/` sources (needed to rebuild) - On Windows: MinGW runtime DLLs beside the host and emitters -Players (or [RetComM](https://github.com/TechnicallyComputers/RetComM-Launcher)) +Players (or [RetComM](https://github.com/RetroPortingToolKit/Retro-Launcher)) run **Generate once** (wizard or RetComM Build & Install) with a legal disc. RetComM / the wizard download `cmake-clang-v1` from -[retcomm-toolchains](https://github.com/TechnicallyComputers/retcomm-toolchains) +[retcomm-toolchains](https://github.com/RetroPortingToolKit/RetroPorting-Toolchains) (or accept an offline zip / `RETCOMM_TOOLCHAIN_DIR`). Pass `--embed-toolchain` to `package_setup_host.sh` only for special offline-first packs. diff --git a/host/psxrecomp_codegen_host.c b/host/psxrecomp_codegen_host.c index b24d28a8..46b19827 100644 --- a/host/psxrecomp_codegen_host.c +++ b/host/psxrecomp_codegen_host.c @@ -1905,7 +1905,7 @@ static int run_cli_posix(char* const argv[], /* ---- Host-native toolchain install (no Store Python AppData redirect) ---- */ -static const char* k_tc_repo = "TechnicallyComputers/retcomm-toolchains"; +static const char* k_tc_repo = "RetroPortingToolKit/RetroPorting-Toolchains"; static const char* toolchain_zip_asset_name(void) { #if defined(_WIN32) diff --git a/tools/fetch_toolchain.sh b/tools/fetch_toolchain.sh index f04375a2..f42cc52b 100755 --- a/tools/fetch_toolchain.sh +++ b/tools/fetch_toolchain.sh @@ -18,7 +18,7 @@ set -euo pipefail ARTIFACT="" DL_DIR=".cache/toolchain-dl" OUT_DIR=".cache/toolchain-pack" -REPO="TechnicallyComputers/retcomm-toolchains" +REPO="RetroPortingToolKit/RetroPorting-Toolchains" usage() { sed -n '2,16p' "$0" | sed 's/^# \{0,1\}//' diff --git a/tools/new_project_layout/project_studio/gitops.py b/tools/new_project_layout/project_studio/gitops.py index 821ddef9..bfb099e8 100644 --- a/tools/new_project_layout/project_studio/gitops.py +++ b/tools/new_project_layout/project_studio/gitops.py @@ -17,8 +17,8 @@ from typing import Any DEFAULT_PSXRECOMP_URL = "https://github.com/mstan/psxrecomp.git" DEFAULT_RECOMP_UI_URL = "https://github.com/mstan/recomp-ui.git" -DEFAULT_RECOMP_NET_URL = "https://github.com/TechnicallyComputers/recomp-net.git" -DEFAULT_RBENGINE_URL = "https://github.com/TechnicallyComputers/retcomm-rbengine.git" +DEFAULT_RECOMP_NET_URL = "https://github.com/RetroPortingToolKit/recomp-net.git" +DEFAULT_RBENGINE_URL = "https://github.com/RetroPortingToolKit/rbengine.git" DEFAULT_BRANCH = "master" DEFAULT_NESTED_BRANCH = "main" KNOWN_SUBMODULES = ("psxrecomp", "recomp-ui") diff --git a/tools/new_project_layout/project_studio/naming.py b/tools/new_project_layout/project_studio/naming.py index a5e2a0e5..82c9c638 100644 --- a/tools/new_project_layout/project_studio/naming.py +++ b/tools/new_project_layout/project_studio/naming.py @@ -297,7 +297,7 @@ def build_token_map( "EXE_BASENAME": exe_basename(title), "ZIP_PREFIX": zp, "GITHUB_OWNER": sanitize_github_name( - (github_owner or "").strip() or "TechnicallyComputers" + (github_owner or "").strip() or "RetroPortingToolKit" ), "GITHUB_REPO": sanitize_github_name((github_repo or "").strip() or name), "DISC_HINT": f"your legally owned {game} disc", diff --git a/tools/new_project_layout/project_studio/readme_metrics.py b/tools/new_project_layout/project_studio/readme_metrics.py index bf771a50..07da5220 100644 --- a/tools/new_project_layout/project_studio/readme_metrics.py +++ b/tools/new_project_layout/project_studio/readme_metrics.py @@ -53,8 +53,8 @@ _REMOTE_RE = re.compile( re.I, ) -DEFAULT_GITHUB_OWNER = "TechnicallyComputers" -LAUNCHER_REPO = "https://github.com/TechnicallyComputers/RetComM-Launcher" +DEFAULT_GITHUB_OWNER = "RetroPortingToolKit" +LAUNCHER_REPO = "https://github.com/RetroPortingToolKit/Retro-Launcher" def parse_github_remote(url: str) -> tuple[str, str] | None: @@ -185,10 +185,12 @@ def render_boxart_block(game_name: str) -> str: def render_launcher_block() -> str: - shots = ( - "https://raw.githubusercontent.com/TechnicallyComputers/" - "RetComM-Launcher/main/docs/screenshots" - ) + # Derived from LAUNCHER_REPO rather than spelled out again: this was a + # second copy of the slug, split across two string literals, and the org + # rename swept past it — every regenerated README kept the dead owner. + shots = LAUNCHER_REPO.replace( + "https://github.com/", "https://raw.githubusercontent.com/" + ) + "/main/docs/screenshots" return "\n".join( [ LAUNCHER_BEGIN, @@ -250,7 +252,17 @@ def boxart_png_present(root: Path) -> bool: def readme_has_launcher(text: str) -> bool: - return "TechnicallyComputers/RetComM-Launcher" in text + # Both slugs: every port generated before the RetroPortingToolKit transfer + # carries the old one, and matching only the new one would report each of + # them as missing its launcher section — and append a second copy to any + # README that has neither the markers nor a "## RetComM Launcher" heading. + return any( + slug in text + for slug in ( + "RetroPortingToolKit/Retro-Launcher", + "TechnicallyComputers/RetComM-Launcher", + ) + ) def readme_has_raid(text: str) -> bool: diff --git a/tools/new_project_layout/setup_project.ps1 b/tools/new_project_layout/setup_project.ps1 index 051cf695..74ab2835 100644 --- a/tools/new_project_layout/setup_project.ps1 +++ b/tools/new_project_layout/setup_project.ps1 @@ -146,9 +146,9 @@ if (-not $ZipPrefix) { if (-not $GithubOwner) { if ($interactive) { - $GithubOwner = Prompt-Line "GitHub owner / org (README download badges)" "TechnicallyComputers" + $GithubOwner = Prompt-Line "GitHub owner / org (README download badges)" "RetroPortingToolKit" } else { - $GithubOwner = "TechnicallyComputers" + $GithubOwner = "RetroPortingToolKit" } } $derivedRepo = (python -c "from fill_tokens import sanitize_github_name; import sys; print(sanitize_github_name(sys.argv[1]))" $Name).Trim() diff --git a/tools/new_project_layout/setup_project.sh b/tools/new_project_layout/setup_project.sh index 8011a311..344378be 100755 --- a/tools/new_project_layout/setup_project.sh +++ b/tools/new_project_layout/setup_project.sh @@ -9,7 +9,7 @@ # --stage-disc Copy full cue+bins into repo disc/ (large; optional) # --no-stage-disc Default: probe in place, extract boot EXE only # --psxrecomp-ref / --recomp-ui-ref / --recomp-net-ref / URLs -# --github-owner README download-badge owner (default TechnicallyComputers) +# --github-owner README download-badge owner (default RetroPortingToolKit) # --github-repo README download-badge repo (default project name) # # Everything else is prompted on a TTY (or passed via flags / --yes defaults): @@ -272,10 +272,10 @@ fi if [ -z "$GITHUB_OWNER" ]; then if [ "$YES_MODE" -eq 1 ] || ! is_tty; then - GITHUB_OWNER=TechnicallyComputers + GITHUB_OWNER=RetroPortingToolKit else prompt_line "GitHub owner / org (README download badges)" GITHUB_OWNER \ - "TechnicallyComputers" + "RetroPortingToolKit" fi fi if [ -z "$GITHUB_REPO" ]; then diff --git a/tools/new_project_layout/templates/README.md.in b/tools/new_project_layout/templates/README.md.in index 3f31de03..9b4b212f 100644 --- a/tools/new_project_layout/templates/README.md.in +++ b/tools/new_project_layout/templates/README.md.in @@ -28,18 +28,18 @@ Scaffolded with the New Project Layout. See You can run this title **standalone** (release zip + the built-in recomp-ui Generate & Build flow), or manage installs, updates, ROM/BIOS wiring, and queued builds more intuitively with -**[RetComM Launcher](https://github.com/TechnicallyComputers/RetComM-Launcher)** — +**[RetComM Launcher](https://github.com/RetroPortingToolKit/Retro-Launcher)** — the Retro Compilation Manager hub for self-compiling recomps. -[Downloads](https://github.com/TechnicallyComputers/RetComM-Launcher/releases) · -[Full README & features](https://github.com/TechnicallyComputers/RetComM-Launcher#readme) +[Downloads](https://github.com/RetroPortingToolKit/Retro-Launcher/releases) · +[Full README & features](https://github.com/RetroPortingToolKit/Retro-Launcher#readme)

- RetComM hub with a background build, next to a title’s recomp-ui launcher + RetComM hub with a background build, next to a title’s recomp-ui launcher

- Background cmake build with titles queued + Background cmake build with titles queued

RetComM checks for updates, rebuilds with existing build data when possible, diff --git a/tools/package_setup_host.sh b/tools/package_setup_host.sh index 19dbd8c3..d4cfefd8 100755 --- a/tools/package_setup_host.sh +++ b/tools/package_setup_host.sh @@ -498,7 +498,7 @@ Standalone: 3. Provide ${DISC_HINT} (and optional retail SCPH-1001 BIOS; otherwise OpenBIOS is regenerated locally). 4. Follow the Generate & rebuild wizard. On first rebuild the host downloads - cmake-clang-v1 from TechnicallyComputers/retcomm-toolchains (or you can + cmake-clang-v1 from RetroPortingToolKit/RetroPorting-Toolchains (or you can pick a local cmake-clang-v1-*.zip for offline builds). System cmake/ninja also works if already on PATH. diff --git a/tools/toolchain_pack.py b/tools/toolchain_pack.py index 93d6780a..0fdff3b6 100644 --- a/tools/toolchain_pack.py +++ b/tools/toolchain_pack.py @@ -24,7 +24,7 @@ import zipfile from pathlib import Path from typing import Optional -DEFAULT_REPO = "TechnicallyComputers/retcomm-toolchains" +DEFAULT_REPO = "RetroPortingToolKit/RetroPorting-Toolchains" PACK_ID = "cmake-clang-v1" _ASSET = {