mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-09 09:26:14 -08:00
* docs: design Linux frame-copy packaging * docs: plan Linux frame-copy packaging * feat(packaging): define Linux frame-copy profiles * fix(packaging): reject inherited profile names * feat(embedded-mpv): validate staged Linux runtime * fix(embedded-mpv): require Linux source packages * fix(embedded-mpv): harden Linux runtime staging * feat(embedded-mpv): build LGPL Linux runtime * fix(embedded-mpv): pin Linux runtime inputs * feat(embedded-mpv): build relocatable Linux helper * fix(embedded-mpv): require bundled Linux runtime * fix(embedded-mpv): make Linux runtime portable * feat(packaging): ship Linux frame-copy artifacts * fix(embedded-mpv): verify Linux helper linkage * fix(packaging): enforce Linux frame-copy isolation * fix(embedded-mpv): pin Linux display data * docs(embedded-mpv): document Linux frame-copy packaging * feat(embedded-mpv): probe Linux frame-copy runtime * test(embedded-mpv): smoke packaged Linux frame-copy * docs(embedded-mpv): clarify Linux system runtime baseline * fix(embedded-mpv): harden Linux runtime capability gate * ci: verify Linux frame-copy packages * test(embedded-mpv): harden packaged Linux smoke * test(embedded-mpv): preserve packaged GL mode * test(packaging): harden Linux package probes * fix(embedded-mpv): enable private Snap shared memory * fix(embedded-mpv): sanitize Linux helper environment * fix(packaging): enforce private Snap memory semantics * fix(packaging): reject ambiguous Snap memory metadata * fix(embedded-mpv): prioritize trusted Snap GL * fix(packaging): reject advanced Snap YAML semantics * fix(packaging): reject arbitrary Snap YAML aliases * feat(packaging): ship Linux runtime license notices * docs(embedded-mpv): document Linux runtime distribution * fix(packaging): parse Snap trailing comments safely * fix(release): gate Snap publish on public source release * fix(packaging): strip VCS metadata from source bundle * docs(packaging): clarify Linux source release gate * test(embedded-mpv): smoke missing bundled libmpv * style(embedded-mpv): format final validation inputs * fix(e2e): satisfy fixture index signature typing * fix(ci): declare fontconfig gperf generator * fix(embedded-mpv): hash runtime cache identities * fix(packaging): harden Linux frame-copy delivery * fix(packaging): tighten runtime delivery gates * fix(ci): decouple Linux runtime matrix * fix(packaging): harden Linux frame-copy delivery * fix(packaging): validate Linux frame-copy runtimes * fix(packaging): scope Snap Electron library checks * feat(packaging): ship Linux frame-copy runtimes * fix(packaging): improve Linux runtime smoke diagnostics * fix(packaging): expose bounded helper probe details * test(packaging): trace Snap EGL probe failures * fix(packaging): prefer core22 ABI in Snap helper * fix(packaging): bound helper probe capture * fix(packaging): harden Linux frame-copy releases * fix(packaging): canonicalize libplacebo submodule identity * fix(packaging): make source archive inspection portable * fix(packaging): harden Snap release verification
177 lines
5.0 KiB
JSON
177 lines
5.0 KiB
JSON
{
|
|
"appId": "com.fourgray.iptvnator",
|
|
"productName": "IPTVnator",
|
|
"artifactName": "${name}-${version}-${os}-${arch}.${ext}",
|
|
"publish": [
|
|
{
|
|
"provider": "github",
|
|
"owner": "4gray",
|
|
"repo": "iptvnator"
|
|
}
|
|
],
|
|
"directories": {
|
|
"buildResources": "dist/apps",
|
|
"output": "dist/executables"
|
|
},
|
|
"files": [
|
|
{
|
|
"from": "dist/apps/remote-control-web",
|
|
"to": "remote-control-web",
|
|
"filter": ["**/*"]
|
|
},
|
|
"electron-backend/**/*",
|
|
"!electron-backend/native{,/**/*}",
|
|
"web/**/*",
|
|
"!**/*.map"
|
|
],
|
|
"asarUnpack": [
|
|
"**/better-sqlite3/**",
|
|
"**/bindings/**",
|
|
"**/file-uri-to-path/**",
|
|
"**/*.node",
|
|
"**/*.dylib",
|
|
"**/*.dll",
|
|
"**/*.so",
|
|
"**/*.so.*",
|
|
"**/embedded-mpv-runtime.json"
|
|
],
|
|
"extraMetadata": {
|
|
"name": "iptvnator",
|
|
"productName": "IPTVnator",
|
|
"main": "electron-backend/main.js"
|
|
},
|
|
"extraResources": ["dist/apps/electron-backend/workers"],
|
|
"mac": {
|
|
"target": [
|
|
{
|
|
"target": "dmg",
|
|
"arch": ["x64", "arm64"]
|
|
},
|
|
{
|
|
"target": "zip",
|
|
"arch": ["x64", "arm64"]
|
|
}
|
|
],
|
|
"category": "public.app-category.video",
|
|
"forceCodeSigning": true,
|
|
"gatekeeperAssess": false,
|
|
"hardenedRuntime": true,
|
|
"entitlements": "apps/electron-backend/macos/entitlements.mac.plist",
|
|
"entitlementsInherit": "apps/electron-backend/macos/entitlements.mac.inherit.plist",
|
|
"notarize": true,
|
|
"icon": "apps/web/src/assets/icons/favicon.icns"
|
|
},
|
|
"linux": {
|
|
"category": "Video",
|
|
"executableName": "iptvnator",
|
|
"executableArgs": ["--ozone-platform=x11"],
|
|
"desktop": {
|
|
"entry": {
|
|
"StartupWMClass": "iptvnator"
|
|
}
|
|
},
|
|
"target": [
|
|
{
|
|
"target": "AppImage",
|
|
"arch": ["x64", "armv7l", "arm64"]
|
|
},
|
|
{
|
|
"target": "deb",
|
|
"arch": ["x64", "armv7l", "arm64"]
|
|
},
|
|
{
|
|
"target": "Snap",
|
|
"arch": ["x64", "armv7l"]
|
|
},
|
|
{
|
|
"target": "rpm",
|
|
"arch": ["x64"]
|
|
},
|
|
{
|
|
"target": "pacman",
|
|
"arch": ["x64"]
|
|
},
|
|
{
|
|
"target": "flatpak",
|
|
"arch": ["x64"]
|
|
}
|
|
],
|
|
"artifactName": "${name}-${version}-${os}-${arch}.${ext}",
|
|
"icon": "apps/web/src/assets/icons"
|
|
},
|
|
"flatpak": {
|
|
"branch": "stable",
|
|
"runtime": "org.freedesktop.Platform",
|
|
"runtimeVersion": "24.08",
|
|
"sdk": "org.freedesktop.Sdk",
|
|
"base": "org.electronjs.Electron2.BaseApp",
|
|
"baseVersion": "24.08",
|
|
"finishArgs": [
|
|
"--socket=wayland",
|
|
"--socket=x11",
|
|
"--share=ipc",
|
|
"--device=dri",
|
|
"--socket=pulseaudio",
|
|
"--filesystem=home",
|
|
"--share=network",
|
|
"--talk-name=org.freedesktop.Notifications",
|
|
"--talk-name=org.freedesktop.Flatpak"
|
|
],
|
|
"files": [
|
|
[
|
|
"apps/electron-backend/linux/com.fourgray.iptvnator.metainfo.xml",
|
|
"/share/metainfo/com.fourgray.iptvnator.metainfo.xml"
|
|
]
|
|
]
|
|
},
|
|
"afterPack": "./tools/packaging/electron-after-pack.cjs",
|
|
"snap": {
|
|
"base": "core22",
|
|
"confinement": "strict",
|
|
"grade": "stable",
|
|
"summary": "IPTV application for M3U playlists, Xtream Codes API, and Stalker portals",
|
|
"executableArgs": ["--ozone-platform=x11"],
|
|
"plugs": [
|
|
"default",
|
|
{
|
|
"graphics-core22": {
|
|
"interface": "content",
|
|
"target": "$SNAP/graphics",
|
|
"default-provider": "mesa-core22"
|
|
}
|
|
},
|
|
{
|
|
"shared-memory": {
|
|
"interface": "shared-memory",
|
|
"private": true
|
|
}
|
|
}
|
|
],
|
|
"environment": {
|
|
"DISABLE_WAYLAND": "1"
|
|
},
|
|
"layout": {
|
|
"/usr/share/libdrm": {
|
|
"bind": "$SNAP/graphics/libdrm"
|
|
},
|
|
"/usr/share/drirc.d": {
|
|
"symlink": "$SNAP/graphics/drirc.d"
|
|
}
|
|
}
|
|
},
|
|
"win": {
|
|
"compression": "maximum",
|
|
"target": [
|
|
{
|
|
"target": "nsis",
|
|
"arch": ["x64", "ia32"]
|
|
}
|
|
],
|
|
"artifactName": "${name}-${version}-windows-${arch}-setup.${ext}",
|
|
"icon": "apps/web/src/assets/icons/icon.png"
|
|
},
|
|
"nsis": {
|
|
"artifactName": "${name}-${version}-windows-${arch}-setup.${ext}"
|
|
}
|
|
}
|