Skip to content

Condition install scripts and R function on new TinyTeX naming scheme post-v2026.03.02#486

Merged
yihui merged 9 commits intomainfrom
copilot/update-install-scripts-naming-scheme
Mar 6, 2026
Merged

Condition install scripts and R function on new TinyTeX naming scheme post-v2026.03.02#486
yihui merged 9 commits intomainfrom
copilot/update-install-scripts-naming-scheme

Conversation

Copy link
Contributor

Copilot AI commented Mar 5, 2026

After PR #484 introduced TinyTeX-{N}-{os}[-{arch}].tar.xz filenames, the install scripts and install_tinytex() still used the old names unconditionally. This adds version-gated logic: daily installs and versions > v2026.03.02 use the new names; versions ≤ v2026.03.02 keep the old names.

Naming scheme summary

Old (≤ v2026.03.02) New (daily / > v2026.03.02)
Windows TinyTeX-1.zip, TinyTeX-2.exe TinyTeX-1-windows.exe
Linux x86_64 TinyTeX-1.tar.gz TinyTeX-1-linux-x86_64.tar.xz
Linux arm64 installer-unix (source) TinyTeX-1-linux-arm64.tar.xz
macOS TinyTeX-1.tgz TinyTeX-1-darwin.tar.xz

arm64 Linux now gets a prebuilt binary for daily and new-scheme versions.

tools/install-bin-unix.sh

  • Computes USE_NEW_NAMES via shell string comparison against "2026.03.02"
  • Linux arch detection: old naming allows only x86_64; new naming also allows aarch64
  • Derives OS_ARCH suffix and EXT, then builds the full URL (including extension) in one place

tools/install-bin-windows.bat

  • Computes USE_NEW_NAMES via PowerShell [string]::CompareOrdinal against '2026.03.02'
  • New: TINYTEX_FILENAME=%TINYTEX_INSTALLER%-windows, BUNDLE_EXT=exe
  • Old: existing zip/exe logic unchanged

R/install.R

  • need_source_install(version='') gains a version parameter; aarch64 Linux returns FALSE for daily/latest/> '2026.03.02'
  • install_prebuilt(): new naming builds e.g. TinyTeX-1-darwin-v2026.04.tar.xz; old naming path unchanged
  • Both install_tinytex() and install_prebuilt() pass version to need_source_install()

tinytex-releases monthly-release.yaml — no changes needed

The existing rename loop already handles both old and new filenames generically:

for f in TinyTeX*; do mv $f $(echo "$f" | sed "s/^TinyTeX[^.]*/&-${TINYTEX_RELEASE}/"); done
# TinyTeX-1-darwin.tar.xz  →  TinyTeX-1-darwin-v2026.04.tar.xz  ✓
# TinyTeX-1.zip             →  TinyTeX-1-v2026.04.zip             ✓  (backward-compat copy)

🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

@CLAassistant
Copy link

CLAassistant commented Mar 5, 2026

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ yihui
❌ Copilot
You have signed the CLA already but the status is still pending? Let us recheck it.

…e after v2026.03.02

Co-authored-by: yihui <163582+yihui@users.noreply.github.com>
Copilot AI changed the title [WIP] Update install scripts for new naming scheme Condition install scripts and R function on new TinyTeX naming scheme post-v2026.03.02 Mar 5, 2026
Copilot finished work on behalf of yihui March 5, 2026 23:36
@yihui yihui marked this pull request as ready for review March 6, 2026 04:11
@yihui yihui merged commit 6546512 into main Mar 6, 2026
9 of 21 checks passed
@yihui yihui deleted the copilot/update-install-scripts-naming-scheme branch March 6, 2026 04:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants