Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
executable file
·
83 lines (75 loc) · 2.68 KB

File metadata and controls

executable file
·
83 lines (75 loc) · 2.68 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
var fse = require("fs-extra");
var path = require("path");
var exec = require("../utils/execPromise");
var buildFlags = require("../utils/buildFlags");
var rootPath = path.join(__dirname, "..");
function printStandardLibError() {
console.log(
"[nodegit] ERROR - the latest libstdc++ is missing on your system!"
);
console.log("");
console.log("On Ubuntu you can install it using:");
console.log("");
console.log("$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test");
console.log("$ sudo apt-get update");
console.log("$ sudo apt-get install libstdc++-4.9-dev");
}
module.exports = function install() {
if (buildFlags.isGitRepo) {
// If we're building NodeGit from a git repo we aren't going to do any
// cleaning up
return Promise.resolve();
}
if (buildFlags.isElectron || buildFlags.isNWjs) {
// If we're building for electron or NWjs, we're unable to require the
// built library so we have to just assume success, unfortunately.
return Promise.resolve();
}
return exec("node \"" + path.join(rootPath, "dist/nodegit.js\""))
.catch(function(e) {
if (~e.toString().indexOf("Module version mismatch")) {
console.warn(
"[nodegit] WARN - NodeGit was built for a different version of node."
);
console.warn(
"If you are building NodeGit for electron/nwjs you can " +
"ignore this warning."
);
}
else {
throw e;
}
})
.then(function() {
// Is we're using NodeGit from a package manager then let's clean up after
// ourselves when we install successfully.
if (!buildFlags.mustBuild) {
// We can't remove the source files yet because apparently the
// "standard workflow" for native node moduels in Electron/nwjs is to
// build them for node and then nah eff that noise let's rebuild them
// again for the actual platform! Hurray!!! When that madness is dead
// we can clean up the source which is a serious amount of data.
// fse.removeSync(path.join(rootPath, "vendor"));
// fse.removeSync(path.join(rootPath, "src"));
// fse.removeSync(path.join(rootPath, "include"));
fse.removeSync(path.join(rootPath, "build/Release/*.a"));
fse.removeSync(path.join(rootPath, "build/Release/obj.target"));
}
});
};
// Called on the command line
if (require.main === module) {
module.exports()
.catch(function(e) {
console.warn("[nodegit] WARN - Could not finish postinstall");
if (
process.platform === "linux" &&
~e.toString().indexOf("libstdc++")
) {
printStandardLibError();
}
else {
console.log(e);
}
});
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.