spacedrive/scripts/utils/consts.mjs
Vítor Vasconcellos b4d1a295ff [ENG-1840, ENG-1842] Add native dependencies for iOS (#2693)
* Implement dowload of mobile native deps
 - Add a spinner animation to `pnpm prep`
 - Change abandoned dependency @iarna/toml with smol-toml
 - Validate cargo config.toml after generating it from mustache template
 - Disabled HTTP2 downloads with udici, it is very broken

* Initial ios native deps xcframework logic

* Remove logic for handling dynamic iOS libs, using static libs now

* Fix PATH in build-rust.sh
 - Remove app.json

* Restore crates/images/src/pdf.rs

* minor fix .editorconfig

* Finally ios successfully compiles with ffmpeg enabled
 - Change SDCore.podspec to add extra libraries required by ffmpeg
 - Fix heif linking for ios in config.toml template
 - Add symlink logic for extra libraries required to compile ios in build-rust.sh
2024-09-17 02:27:42 +00:00

51 lines
1.3 KiB
JavaScript

export const NATIVE_DEPS_URL =
'https://github.com/spacedriveapp/native-deps/releases/latest/download'
export const NATIVE_DEPS_ASSETS = {
Linux: {
x86_64: {
musl: 'native-deps-x86_64-linux-musl.tar.xz',
glibc: 'native-deps-x86_64-linux-gnu.tar.xz',
},
aarch64: {
musl: 'native-deps-aarch64-linux-musl.tar.xz',
glibc: 'native-deps-aarch64-linux-gnu.tar.xz',
},
},
Darwin: {
x86_64: 'native-deps-x86_64-darwin-apple.tar.xz',
aarch64: 'native-deps-aarch64-darwin-apple.tar.xz',
},
Windows_NT: {
x86_64: 'native-deps-x86_64-windows-gnu.tar.xz ',
aarch64: 'native-deps-aarch64-windows-gnu.tar.xz',
},
IOS: {
iossim: {
x86_64: 'native-deps-x86_64-iossim-apple.tar.xz',
aarch64: 'native-deps-aarch64-iossim-apple.tar.xz',
},
ios: {
aarch64: 'native-deps-aarch64-ios-apple.tar.xz',
},
},
}
/**
* @param {Record<string, unknown>} constants
* @param {string[]} identifiers
* @returns {string?}
*/
export function getConst(constants, identifiers) {
/** @type {string | Record<string, unknown>} */
let constant = constants
for (const id of identifiers) {
constant = /** @type {string | Record<string, unknown>} */ (constant[id])
if (!constant) return null
if (typeof constant !== 'object') break
}
return typeof constant === 'string' ? constant : null
}