Files
libretro/emulators/touchhle.yml
T
Abdessamad Derraz 3011ee498e feat: record the build file behind a held pin
pin_frozen was prose, and no tool read the build file it cites, so a platform building another revision left the profile holding one nobody ships. pin_build records the platform, its repository, the revision read, the file, the variable and its value. check_freshness reads the file again where the platform's YAML now stands and reports STALE when the value moved. 36 of the 46 held profiles carry it, each value read from the build file at the platform's scraped revision. The other ten name no build file and are counted on one row: six RetroBat binary packages and four holds not tied to a platform build.
2026-11-05 19:54:48 +01:00

264 lines
10 KiB
YAML

emulator: "touchHLE"
type: standalone
core_classification: embedded_hle
source: "https://github.com/touchHLE/touchHLE"
profiled_date: "2026-10-17"
source_commit: "3c5850585ba55615b17a58c58331b6d6f52d4a9d"
pin_frozen: "ROCKNIX 20261001 builds this revision. Later upstream commits are not part of that build."
pin_build:
- platform: rocknix
repo: "https://github.com/ROCKNIX/distribution"
revision: "20261001"
path: "projects/ROCKNIX/packages/emulators/standalone/touchhle-sa/package.mk"
variable: PKG_VERSION
value: "3c5850585ba55615b17a58c58331b6d6f52d4a9d"
core_version: "0.2.3"
version_basis:
kind: file
path: "Cargo.toml"
pattern: 'version\s+=\s+"([^"]+)'
display_name: "Apple - iPhone OS (touchHLE)"
cores:
- "touchhle"
- "touchhle-sa"
systems:
- apple-ios
notes: |
High-level emulator for iPhone OS apps. The operating system and its
frameworks are reimplemented in Rust, so no Apple firmware or system file is
opened. What it reads besides the app are resources bundled with it: three
Free Software ARMv6 libraries, fonts, and a table of default per-app options.
ref: Cargo.toml:7, src/paths.rs:9-12, src/paths.rs:28-36
Resources are opened relative to the working directory, or the Resources
folder of a macOS bundle. ROCKNIX patches the Linux base to /usr/lib/touchHLE.
ref: src/paths.rs:63-82
The libraries are mapped into the guest at /usr/lib under their own names and
aliases. An app binary that links one of them loads it from there, and fails
to start with "Could not load bundled dylib" when the host file is missing.
ref: src/fs.rs:588-622, src/environment.rs:384-413
Fonts are opened the first time an app draws text in that face, and a
missing or unparsable file is a panic. The Liberation families stand in for
the iPhone OS faces, and Noto Sans JP is used for strings holding kana or kanji.
ROCKNIX installs only the LiberationSans files, so an app that asks for a
monospace, serif or Japanese face stops there.
ref: src/font.rs:70-129, src/frameworks/uikit/ui_font.rs:26-43,
src/frameworks/uikit/ui_font.rs:180-205
touchHLE_default_options.txt is read before the user's touchHLE_options.txt;
when it cannot be opened a warning is printed and the app runs without it.
ref: src/lib.rs:319-323
files:
- name: "libgcc_s.1.dylib"
path: "touchHLE_dylibs/libgcc_s.1.dylib"
system: apple-ios
required: false
sha1: "827d9304ade7342560b83bb2d79519161a36a395"
md5: "f170c90d0940c5989c7ea65f6832906b"
bundled: true
description: "GCC runtime library from the iPhoneOS 4.0 SDK"
note: "Exposed as /usr/lib/libgcc_s.1.dylib. Needed by apps that link it."
source_ref: "src/fs.rs:588-622, src/environment.rs:384-413"
- name: "libstdc++.6.0.9.dylib"
path: "touchHLE_dylibs/libstdc++.6.0.9.dylib"
system: apple-ios
required: false
sha1: "80a78b90ed2af3656947124a623be06346c91c07"
md5: "d44ff6644a1f42e1a333664752940266"
bundled: true
description: "GNU C++ standard library from the iPhoneOS 4.0 SDK"
note: "Exposed as /usr/lib/libstdc++.6.dylib and /usr/lib/libstdc++.6.0.9.dylib. Needed by apps that link it."
source_ref: "src/fs.rs:588-622, src/environment.rs:384-413"
- name: "libz.1.2.3.dylib"
path: "touchHLE_dylibs/libz.1.2.3.dylib"
system: apple-ios
required: false
sha1: "c7a074cc2a28618205107da722d3030441a7f791"
md5: "6b2f78a706d9b46f038059ef01c97253"
bundled: true
description: "zlib built from Apple's zlib-23.0.1 sources"
note: "Exposed as /usr/lib/libz.1.2.3.dylib, libz.1.dylib, libz.dylib and libz.1.1.3.dylib. Needed by apps that link it."
source_ref: "src/fs.rs:588-622, src/environment.rs:384-413"
- name: "LiberationMono-Regular.ttf"
not_bundled_on: [rocknix]
path: "touchHLE_fonts/LiberationMono-Regular.ttf"
system: apple-ios
required: false
sha1: "6d137827a5b3b5b4ca2378642cdee0f65497ad0b"
md5: "e59b87dce1497a1ba08d472667722916"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face. touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:88-90"
- name: "LiberationMono-Bold.ttf"
not_bundled_on: [rocknix]
path: "touchHLE_fonts/LiberationMono-Bold.ttf"
system: apple-ios
required: false
sha1: "621736fa22ae2661eff1a0a199f882733440a33c"
md5: "e52e17953632fd6f1da5e51c84a6dea7"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face. touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:91-93"
- name: "LiberationMono-BoldItalic.ttf"
not_bundled_on: [rocknix]
path: "touchHLE_fonts/LiberationMono-BoldItalic.ttf"
system: apple-ios
required: false
sha1: "6dbf7cd701cb1048dd7a2a01f84b5473842bf3ba"
md5: "00bed708fb7614c12c92cfd16f1fb7b8"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face. touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:94-96"
- name: "LiberationMono-Italic.ttf"
not_bundled_on: [rocknix]
path: "touchHLE_fonts/LiberationMono-Italic.ttf"
system: apple-ios
required: false
sha1: "67ec8aefea86e24e6a875e9f5b78437e75edf9e8"
md5: "fe762a65e22e23c935aff8eda38eaaf3"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face. touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:97-99"
- name: "LiberationSans-Regular.ttf"
path: "touchHLE_fonts/LiberationSans-Regular.ttf"
system: apple-ios
required: false
sha1: "822a13649cfa7475343d52bfb2db9f0358a36822"
md5: "d7b4e92b03deb1865aa61328fd5ff400"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face. touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:100-102"
- name: "LiberationSans-Bold.ttf"
path: "touchHLE_fonts/LiberationSans-Bold.ttf"
system: apple-ios
required: false
sha1: "4e5ee6e5de4d35337f7d14fa43222908e28e2d8d"
md5: "ab3823f8c454609eab661b54751fd55e"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face. touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:103-105"
- name: "LiberationSans-BoldItalic.ttf"
path: "touchHLE_fonts/LiberationSans-BoldItalic.ttf"
system: apple-ios
required: false
sha1: "cbf18b615d022b3a49c114c1fdea5170e04e8d08"
md5: "ad144bbd42d9dccb07db1aae6682b98b"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face. touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:106-108"
- name: "LiberationSans-Italic.ttf"
path: "touchHLE_fonts/LiberationSans-Italic.ttf"
system: apple-ios
required: false
sha1: "aa4de844c5538cb9bf5393ed767884cd72f2b448"
md5: "333f554fddaa0faf89afc3621a6a18c8"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face. touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:109-111"
- name: "LiberationSerif-Regular.ttf"
not_bundled_on: [rocknix]
path: "touchHLE_fonts/LiberationSerif-Regular.ttf"
system: apple-ios
required: false
sha1: "e617879345422a0e204de4b1dff4a41103992d64"
md5: "732ab01395f607bf178d0f32d841cc71"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face. touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:112-114"
- name: "LiberationSerif-Bold.ttf"
not_bundled_on: [rocknix]
path: "touchHLE_fonts/LiberationSerif-Bold.ttf"
system: apple-ios
required: false
sha1: "d38816f0b2205dc619c061a60ef5f250b9bdf231"
md5: "184a866d565bae797baa39458fde7ac4"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face. touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:115-117"
- name: "LiberationSerif-BoldItalic.ttf"
not_bundled_on: [rocknix]
path: "touchHLE_fonts/LiberationSerif-BoldItalic.ttf"
system: apple-ios
required: false
sha1: "7e9704cabad534e2a56b32bbbec89a8d7e4e138f"
md5: "23e615c7010f0ad9f1d2817009733cb9"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face. touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:118-120"
- name: "LiberationSerif-Italic.ttf"
not_bundled_on: [rocknix]
path: "touchHLE_fonts/LiberationSerif-Italic.ttf"
system: apple-ios
required: false
sha1: "c5f801425d1f93be54e31267813f4367755f096c"
md5: "31defdf69fc00c20b9caabe3e76d53e1"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face. touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:121-123"
- name: "NotoSansJP-Regular.otf"
not_bundled_on: [rocknix]
path: "touchHLE_fonts/NotoSansJP-Regular.otf"
system: apple-ios
required: false
sha1: "2a167a116b54ecd4f939e47d0ad78cb3402d938c"
md5: "f82ef23cfbf8b46a234465b0151ee71f"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face. touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:124-126"
- name: "NotoSansJP-Bold.otf"
not_bundled_on: [rocknix]
path: "touchHLE_fonts/NotoSansJP-Bold.otf"
system: apple-ios
required: false
sha1: "a7a997c4c894d2cc691332e7232d909d4f08a552"
md5: "77921099a1d3fce6fb64a7b3b678b7dc"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face. touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:127-129"
- name: "touchHLE_default_options.txt"
path: "touchHLE_default_options.txt"
system: apple-ios
required: false
sha1: "ee41db73da6e50593fdb95c3dee3bd42783718cf"
md5: "e982d067cdcbda507773dd9d4b3d4c07"
bundled: true
category: game_data
description: "Default options per app"
note: "Command-line style options keyed by app bundle identifier, applied before the user's own file."
source_ref: "src/paths.rs:36, src/lib.rs:319-323"