Added WINEARCH=win64 to some places

This commit is contained in:
Observer KRypt0n_ 2022-08-03 01:05:41 +02:00
parent 50b69482d5
commit 30ff83b840
No known key found for this signature in database
GPG key ID: 844DA47BA25FE1E2
3 changed files with 15 additions and 13 deletions

View file

@ -101,7 +101,7 @@ impl Version {
let output = std::process::Command::new("bash") let output = std::process::Command::new("bash")
.arg(&apply_path) .arg(&apply_path)
.arg("install") .arg("install")
.env("WINE", wine_path) .env("WINEARCH", "win64")
.env("WINESERVER", wineserver_path) .env("WINESERVER", wineserver_path)
.env("WINEPREFIX", prefix_path.to_string()) .env("WINEPREFIX", prefix_path.to_string())
.output()?; .output()?;

View file

@ -115,6 +115,7 @@ pub fn run(debug: bool) -> std::io::Result<()> {
// Setup environment // Setup environment
command.env("WINEARCH", "win64");
command.env("WINEPREFIX", &config.game.wine.prefix); command.env("WINEPREFIX", &config.game.wine.prefix);
// Add DXVK_ASYNC=1 for dxvk-async builds automatically // Add DXVK_ASYNC=1 for dxvk-async builds automatically

View file

@ -1,5 +1,5 @@
use std::path::Path; use std::path::Path;
use std::process::Command; use std::process::{Command, Output};
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub struct WinePrefix { pub struct WinePrefix {
@ -15,38 +15,39 @@ impl WinePrefix {
Path::new(&format!("{}/drive_c", self.path)).exists() Path::new(&format!("{}/drive_c", self.path)).exists()
} }
fn wineboot<T: ToString>(&self, runners_folder: T, runner: super::wine::Version, command: &str) -> std::io::Result<()> { fn wineboot<T: ToString>(&self, runners_folder: T, runner: super::wine::Version, command: &str) -> std::io::Result<Output> {
let runners_folder = runners_folder.to_string(); let runners_folder = runners_folder.to_string();
let wineboot = format!("{}/{}/{}", &runners_folder, runner.name, runner.files.wineboot); let wineboot = format!("{}/{}/{}", &runners_folder, runner.name, runner.files.wineboot);
let wineserver = format!("{}/{}/{}", &runners_folder, runner.name, runner.files.wineserver); let wineserver = format!("{}/{}/{}", &runners_folder, runner.name, runner.files.wineserver);
Command::new(wineboot) let mut wineboot = Command::new(wineboot);
wineboot.env("WINEARCH", "win64")
.env("WINESERVER", wineserver) .env("WINESERVER", wineserver)
.env("WINEPREFIX", &self.path) .env("WINEPREFIX", &self.path)
.arg(command) .arg(command);
.output()?;
Ok(()) Ok(wineboot.output()?)
} }
pub fn update<T: ToString>(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<()> { pub fn update<T: ToString>(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<Output> {
self.wineboot(runners_folder, runner, "-u") self.wineboot(runners_folder, runner, "-u")
} }
pub fn end<T: ToString>(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<()> { pub fn end<T: ToString>(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<Output> {
self.wineboot(runners_folder, runner, "-e") self.wineboot(runners_folder, runner, "-e")
} }
pub fn kill<T: ToString>(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<()> { pub fn kill<T: ToString>(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<Output> {
self.wineboot(runners_folder, runner, "-k") self.wineboot(runners_folder, runner, "-k")
} }
pub fn restart<T: ToString>(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<()> { pub fn restart<T: ToString>(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<Output> {
self.wineboot(runners_folder, runner, "-r") self.wineboot(runners_folder, runner, "-r")
} }
pub fn shutdown<T: ToString>(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<()> { pub fn shutdown<T: ToString>(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<Output> {
self.wineboot(runners_folder, runner, "-s") self.wineboot(runners_folder, runner, "-s")
} }
} }