1
1
mirror of https://github.com/neosubhamoy/neodlp.git synced 2026-05-06 19:45:50 +05:30

refactor: improved windows arch specific configs and shell spawning

This commit is contained in:
2026-04-30 12:16:32 +05:30
Verified
parent 9923abb9da
commit 1748eb59fb
6 changed files with 77 additions and 12 deletions

View File

@@ -37,11 +37,11 @@ jobs:
- platform: 'windows-latest' - platform: 'windows-latest'
target_platform: 'win32' target_platform: 'win32'
target_arch: 'x64' target_arch: 'x64'
args: '' args: '--target x86_64-pc-windows-msvc --config ./src-tauri/tauri.windows-x86_64.conf.json'
- platform: 'windows-11-arm' - platform: 'windows-11-arm'
target_platform: 'win32' target_platform: 'win32'
target_arch: 'arm64' target_arch: 'arm64'
args: '--target aarch64-pc-windows-msvc' args: '--target aarch64-pc-windows-msvc --config ./src-tauri/tauri.windows-aarch64.conf.json'
runs-on: ${{ matrix.platform }} runs-on: ${{ matrix.platform }}
steps: steps:
- name: 🚚 Checkout repository - name: 🚚 Checkout repository

View File

@@ -150,7 +150,8 @@ Want to build/compile NeoDLP from the source code? Follow these simple steps to
5. Run build process (run the command based on your platform and architecture) 5. Run build process (run the command based on your platform and architecture)
```shell ```shell
# command for windows users # command for windows users
npm run tauri build # for both x64/ARM64 devices npm run tauri:build:windows-x64 # for x64 devices
npm run tauri:build:windows-arm64 # for ARM64 devices
# commands for linux users # commands for linux users
npm run tauri:build:linux-x64 # for x64 devices npm run tauri:build:linux-x64 # for x64 devices

View File

@@ -17,10 +17,10 @@
"tauri:build:macos-x64": "npm run tauri build -- --config ./src-tauri/tauri.macos-x86_64.conf.json", "tauri:build:macos-x64": "npm run tauri build -- --config ./src-tauri/tauri.macos-x86_64.conf.json",
"tauri:dev:macos-arm64": "npm run tauri dev -- --config ./src-tauri/tauri.macos-aarch64.conf.json", "tauri:dev:macos-arm64": "npm run tauri dev -- --config ./src-tauri/tauri.macos-aarch64.conf.json",
"tauri:build:macos-arm64": "npm run tauri build -- --config ./src-tauri/tauri.macos-aarch64.conf.json", "tauri:build:macos-arm64": "npm run tauri build -- --config ./src-tauri/tauri.macos-aarch64.conf.json",
"tauri:dev:windows-x64": "npm run tauri dev -- --target x86_64-pc-windows-msvc", "tauri:dev:windows-x64": "npm run tauri dev -- --config ./src-tauri/tauri.windows-x86_64.conf.json",
"tauri:build:windows-x64": "npm run tauri build -- --target x86_64-pc-windows-msvc", "tauri:build:windows-x64": "npm run tauri build -- --config ./src-tauri/tauri.windows-x86_64.conf.json",
"tauri:dev:windows-arm64": "npm run tauri dev -- --target aarch64-pc-windows-msvc", "tauri:dev:windows-arm64": "npm run tauri dev -- --config ./src-tauri/tauri.windows-aarch64.conf.json",
"tauri:build:windows-arm64": "npm run tauri build -- --target aarch64-pc-windows-msvc", "tauri:build:windows-arm64": "npm run tauri build -- --config ./src-tauri/tauri.windows-aarch64.conf.json",
"download": "node ./scripts/download-bins.js" "download": "node ./scripts/download-bins.js"
}, },
"dependencies": { "dependencies": {

View File

@@ -0,0 +1,63 @@
{
"identifier": "com.neosubhamoy.neodlp",
"build": {
"beforeDevCommand": "cargo build --target=aarch64-pc-windows-msvc --manifest-path=./src-tauri/msghost/Cargo.toml && npm run dev",
"beforeBuildCommand": "cargo build --release --target=aarch64-pc-windows-msvc --manifest-path=./src-tauri/msghost/Cargo.toml && npm run build",
"devUrl": "http://localhost:1420",
"frontendDist": "../dist"
},
"app": {
"windows": [
{
"title": "NeoDLP",
"width": 1080,
"height": 680,
"decorations": false,
"visible": false
}
],
"security": {
"csp": null,
"capabilities": [
"default",
"shell-scope"
]
}
},
"bundle": {
"active": true,
"targets": ["msi", "nsis"],
"createUpdaterArtifacts": true,
"licenseFile": "../LICENSE",
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
],
"externalBin": [
"binaries/yt-dlp",
"binaries/ffmpeg",
"binaries/ffprobe",
"binaries/aria2c",
"binaries/deno",
"binaries/neodlp-pot"
],
"resources": {
"target/aarch64-pc-windows-msvc/release/neodlp-msghost.exe": "neodlp-msghost.exe",
"resources/msghost-manifest/windows/chrome.json": "chrome.json",
"resources/msghost-manifest/windows/firefox.json": "firefox.json",
"resources/plugins/yt-dlp-plugins/": "yt-dlp-plugins/"
},
"windows": {
"wix": {
"fragmentPaths": ["installer/windows/wix/reg-fragment.wxs"],
"componentRefs": ["NeoDlpRegEntriesFragment"]
},
"nsis": {
"installerHooks": "installer/windows/nsis/hooks.nsi"
}
}
}
}

View File

@@ -1,8 +1,8 @@
{ {
"identifier": "com.neosubhamoy.neodlp", "identifier": "com.neosubhamoy.neodlp",
"build": { "build": {
"beforeDevCommand": "cargo build --manifest-path=./src-tauri/msghost/Cargo.toml && npm run dev", "beforeDevCommand": "cargo build --target=x86_64-pc-windows-msvc --manifest-path=./src-tauri/msghost/Cargo.toml && npm run dev",
"beforeBuildCommand": "cargo build --release --manifest-path=./src-tauri/msghost/Cargo.toml && npm run build", "beforeBuildCommand": "cargo build --release --target=x86_64-pc-windows-msvc --manifest-path=./src-tauri/msghost/Cargo.toml && npm run build",
"devUrl": "http://localhost:1420", "devUrl": "http://localhost:1420",
"frontendDist": "../dist" "frontendDist": "../dist"
}, },
@@ -45,7 +45,7 @@
"binaries/neodlp-pot" "binaries/neodlp-pot"
], ],
"resources": { "resources": {
"target/release/neodlp-msghost.exe": "neodlp-msghost.exe", "target/x86_64-pc-windows-msvc/release/neodlp-msghost.exe": "neodlp-msghost.exe",
"resources/msghost-manifest/windows/chrome.json": "chrome.json", "resources/msghost-manifest/windows/chrome.json": "chrome.json",
"resources/msghost-manifest/windows/firefox.json": "firefox.json", "resources/msghost-manifest/windows/firefox.json": "firefox.json",
"resources/plugins/yt-dlp-plugins/": "yt-dlp-plugins/" "resources/plugins/yt-dlp-plugins/": "yt-dlp-plugins/"

View File

@@ -201,9 +201,10 @@ export default function useDownloader() {
const isFlatpak = await invoke<boolean>('is_flatpak'); const isFlatpak = await invoke<boolean>('is_flatpak');
const xdgDataDir = await dataDir(); const xdgDataDir = await dataDir();
const spawnOpts = { env: { PYTHONUNBUFFERED: '1' } };
const command = isFlatpak const command = isFlatpak
? Command.create('sh', ['-c', `${xdgDataDir}/yt-dlp/yt-dlp ${args.map(arg => `'${arg.replace(/'/g, "'\\''")}'`).join(' ')}`]) ? Command.create('sh', ['-c', `${xdgDataDir}/yt-dlp/yt-dlp ${args.map(arg => `'${arg.replace(/'/g, "'\\''")}'`).join(' ')}`], spawnOpts)
: Command.sidecar('binaries/yt-dlp', args); : Command.sidecar('binaries/yt-dlp', args, spawnOpts);
let jsonOutput = ''; let jsonOutput = '';