Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add gallium9 verb #854

Merged
merged 43 commits into from
Jun 26, 2019
Merged
Show file tree
Hide file tree
Changes from 41 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
06ad52f
Merge pull request #1 from PhoenicisOrg/master
ImperatorS79 Aug 28, 2017
86fd07c
Update script.js
ImperatorS79 Aug 28, 2017
a6f232b
Merge pull request #2 from PhoenicisOrg/master
ImperatorS79 Aug 28, 2017
a80aa84
Merge pull request #3 from PhoenicisOrg/master
ImperatorS79 Sep 26, 2017
6da4a59
Merge pull request #4 from PhoenicisOrg/master
ImperatorS79 Mar 19, 2018
4a11f65
Merge pull request #8 from PhoenicisOrg/master
ImperatorS79 Apr 9, 2018
b2d5724
Merge pull request #9 from PhoenicisOrg/master
ImperatorS79 May 7, 2018
b7d1f0f
Merge pull request #10 from PhoenicisOrg/master
ImperatorS79 May 13, 2018
533df6e
Merge pull request #11 from PhoenicisOrg/master
ImperatorS79 May 22, 2018
186e4ed
Merge pull request #12 from PhoenicisOrg/master
ImperatorS79 May 29, 2018
99cf1db
Merge pull request #13 from PhoenicisOrg/master
ImperatorS79 Jun 13, 2018
87999b4
Merge pull request #15 from PhoenicisOrg/master
ImperatorS79 Oct 10, 2018
610b258
Merge pull request #16 from PhoenicisOrg/master
ImperatorS79 Oct 12, 2018
ad2ea01
Merge pull request #17 from PhoenicisOrg/master
ImperatorS79 Jan 12, 2019
2e53a22
Merge pull request #18 from PhoenicisOrg/master
ImperatorS79 Jan 18, 2019
09e7357
Add files via upload
ImperatorS79 Jan 18, 2019
3d44999
Update script.js
ImperatorS79 Jan 18, 2019
6758f00
Update script.js
ImperatorS79 Jan 18, 2019
951a307
Update script.js
ImperatorS79 Jan 18, 2019
e410f24
Upcomming version does not need to change registry if builded with -D…
ImperatorS79 Feb 2, 2019
5e8ea63
Update script.js
ImperatorS79 Feb 2, 2019
fd41d4d
Update script.js
ImperatorS79 Feb 2, 2019
e5d18e9
Update script.js
ImperatorS79 Feb 2, 2019
6e37ba0
Update script.js
ImperatorS79 Feb 2, 2019
f615806
Update script.js
ImperatorS79 Feb 2, 2019
dce8419
Update script.js
ImperatorS79 Feb 2, 2019
e2216b9
Update script.js
ImperatorS79 Feb 2, 2019
0949cb0
Update script.js
ImperatorS79 Feb 4, 2019
7eb605d
Update script.js
ImperatorS79 Feb 4, 2019
4b90e98
Merge branch 'master' into gallium9
ImperatorS79 Feb 22, 2019
3830bf1
Merge branch 'master' into gallium9
ImperatorS79 Feb 26, 2019
64c5565
Include by id
ImperatorS79 Feb 26, 2019
e99d65a
Include by id
ImperatorS79 Feb 26, 2019
e94ff47
New version (version selection)
ImperatorS79 Feb 27, 2019
f3f181e
Fix codacy
ImperatorS79 Feb 28, 2019
f9d503b
Merge branch 'master' into gallium9
ImperatorS79 Feb 28, 2019
105864f
Update script.js
ImperatorS79 May 1, 2019
e52cc8a
Fix json and js
ImperatorS79 May 9, 2019
bdba81b
Update script.js
ImperatorS79 Jun 7, 2019
bbdc020
Update script.js
ImperatorS79 Jun 26, 2019
27b50c1
Update script.js
ImperatorS79 Jun 26, 2019
7d40f3a
Update script.js
ImperatorS79 Jun 26, 2019
81aa3ad
Update script.js
ImperatorS79 Jun 26, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions Engines/Wine/Verbs/gallium9/script.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
include("engines.wine.engine.object");
include("engines.wine.plugins.override_dll");
include("utils.functions.net.resource");
include("utils.functions.filesystem.files");

/**
* Verb to install Gallium 9 Standalone
ImperatorS79 marked this conversation as resolved.
Show resolved Hide resolved
* see: https://github.com/iXit/wine-nine-standalone/
* @param {String} gallium9Version Gallium 9 Standalone version to download
* @returns {Wine} Wine object
*/
ImperatorS79 marked this conversation as resolved.
Show resolved Hide resolved
Wine.prototype.gallium9 = function (gallium9Version) {
if (typeof gallium9Version !== 'string') {
gallium9Version = "0.4";
}

this.wizard().message(tr("Using Gallium 9 requires to have a driver supporting the Gallium 9 state tracker, as well as d3dapater9.so installed (ex: libd3d9adapter-mesa package). Please be sure it is installed (both 32 and 64 bits)."));

const setupFile = new Resource()
.wizard(this.wizard())
.url("https://github.com/iXit/wine-nine-standalone/releases/download/v" + gallium9Version + "/gallium-nine-standalone-v" + gallium9Version + ".tar.gz")
.name("gallium-nine-standalone-v" + gallium9Version + ".tar.gz")
.get();

new Extractor()
.wizard(this.wizard())
.archive(setupFile)
.to(this.prefixDirectory())
.extract();

remove(this.system32directory() + "/d3d9.dll");
lns(this.prefixDirectory() + "/gallium-nine-standalone/lib32/d3d9-nine.dll.so", this.system32directory() + "/d3d9-nine.dll");
lns(this.prefixDirectory() + "/gallium-nine-standalone/bin32/ninewinecfg.exe.so", this.system32directory() + "/ninewinecfg.exe");
lns(this.system32directory() + "/d3d9-nine.dll", this.system32directory() + "/d3d9.dll");

if (this.architecture() == "amd64") {
remove(this.system64directory() + "/d3d9.dll");
lns(this.prefixDirectory() + "/gallium-nine-standalone/lib64/d3d9-nine.dll.so", this.system64directory() + "/d3d9-nine.dll");
lns(this.prefixDirectory() + "/gallium-nine-standalone/bin64/ninewinecfg.exe.so", this.system64directory() + "/ninewinecfg.exe");
lns(this.system64directory() + "/d3d9-nine.dll", this.system64directory() + "/d3d9.dll");
this.run(this.system64directory() + "ninewinecfg.exe", ["-e"], null, false, true);
}
else
{
this.run(this.system32directory() + "ninewinecfg.exe", ["-e"], null, false, true);
}

this.overrideDLL()
.set("native", ["d3d9"])
.do();

return this;
}

/**
* Verb to install Gallium 9 Standalone
*/
var verbImplementation = {
install: function (container) {
const wizard = SetupWizard(InstallationType.VERBS, "gallium9", java.util.Optional.empty());
const versions = ["0.4", "0.3", "0.2"];
const selectedVersion = wizard.menu(tr("Please select the version."), versions, "0.4");
const wine = new Wine();
wine.prefix(container);
wine.wizard(wizard);
// install selected version
wine.gallium9(selectedVersion.text);
wizard.close();
}
};

/* exported Verb */
var Verb = Java.extend(org.phoenicis.engines.Verb, verbImplementation);
10 changes: 10 additions & 0 deletions Engines/Wine/Verbs/gallium9/script.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"scriptName" : "gallium9",
"id" : "engines.wine.verbs.gallium9",
"compatibleOperatingSystems" : [
"LINUX"
],
"testingOperatingSystems" : [],
"free" : true,
"requiresPatch" : false
}