diff --git a/haxetool/haxe.js b/haxetool/haxe.js index cf8d56a..fcc7a58 100755 --- a/haxetool/haxe.js +++ b/haxetool/haxe.js @@ -57,7 +57,7 @@ class Haxe extends Sdk { prepare() { return Promise.all([this.neko.prepare(), super.prepare()]).then(() => { - fs.copyFileSync(path.resolve(__dirname, '..', 'template/activate'), path.resolve(this.path, 'activate')); + fs.copyFileSync(path.resolve(__dirname, '..', 'template/haxe/activate'), path.resolve(this.path, 'activate')); }); } diff --git a/haxetool/neko.js b/haxetool/neko.js index 58bfe0e..8c2b0e7 100644 --- a/haxetool/neko.js +++ b/haxetool/neko.js @@ -61,6 +61,12 @@ class Neko extends Sdk { Env.addPath(this.path, 'LD_LIBRARY_PATH'); } + prepare() { + return Promise.all([super.prepare()]).then(() => { + fs.copyFileSync(path.resolve(__dirname, '..', 'template/neko/activate'), path.resolve(this.path, 'activate')); + }); + } + get nekoBin() { let binname = 'neko'; if (os.type() === 'Windows_NT') binname += '.exe'; @@ -79,4 +85,4 @@ Neko.ID = 'neko'; Neko.VERSION_2_2_0 = '2.2.0'; Neko.VERSION = Neko.VERSION_2_2_0; -module.exports = Neko; \ No newline at end of file +module.exports = Neko; diff --git a/package.json b/package.json index 2dcbb89..9e7e392 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gulp-haxetool", - "version": "0.0.19", + "version": "0.0.20", "description": "HaXe Tool for Gulp", "main": "index.js", "dependencies": { diff --git a/template/activate b/template/haxe/activate similarity index 83% rename from template/activate rename to template/haxe/activate index ff56a38..8e5a232 100644 --- a/template/activate +++ b/template/haxe/activate @@ -3,10 +3,10 @@ deactivate () { # reset old environment variables # ! [ -z ${VAR+_} ] returns true if VAR is declared at all - if ! [ -z "${_OLD_VIRTUAL_PATH+_}" ] ; then - PATH="$_OLD_VIRTUAL_PATH" + if ! [ -z "${_OLD_HAXE_VIRTUAL_PATH+_}" ] ; then + PATH="$_OLD_HAXE_VIRTUAL_PATH" export PATH - unset _OLD_VIRTUAL_PATH + unset _OLD_HAXE_VIRTUAL_PATH fi if ! [ -z "${_OLD_VIRTUAL_LD_LIBRARY_PATH+_}" ] ; then LD_LIBRARY_PATH="$_OLD_VIRTUAL_LD_LIBRARY_PATH" @@ -21,10 +21,10 @@ deactivate () { hash -r 2>/dev/null fi - if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then - PS1="$_OLD_VIRTUAL_PS1" + if ! [ -z "${_OLD_HAXE_VIRTUAL_PS1+_}" ] ; then + PS1="$_OLD_HAXE_VIRTUAL_PS1" export PS1 - unset _OLD_VIRTUAL_PS1 + unset _OLD_HAXE_VIRTUAL_PS1 fi unset HAXE_HOME @@ -43,7 +43,7 @@ export HAXE_HOME HAXE_STD_PATH="${HAXE_HOME}/std" export HAXE_STD_PATH -_OLD_VIRTUAL_PATH="$PATH" +_OLD_HAXE_VIRTUAL_PATH="$PATH" PATH="${PATH}:${HAXE_HOME}" export PATH @@ -52,7 +52,7 @@ LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${HAXE_HOME}" export LD_LIBRARY_PATH if [ -z "${HAXE_DISABLE_PROMPT-}" ] ; then - _OLD_VIRTUAL_PS1="$PS1" + _OLD_HAXE_VIRTUAL_PS1="$PS1" if [ "x" != x ] ; then PS1="$PS1" else diff --git a/template/neko/activate b/template/neko/activate new file mode 100644 index 0000000..8ef0407 --- /dev/null +++ b/template/neko/activate @@ -0,0 +1,69 @@ +# From python venv activate + +deactivate () { + # reset old environment variables + # ! [ -z ${VAR+_} ] returns true if VAR is declared at all + if ! [ -z "${_OLD_NEKO_VIRTUAL_PATH+_}" ] ; then + PATH="$_OLD_NEKO_VIRTUAL_PATH" + export PATH + unset _OLD_NEKO_VIRTUAL_PATH + fi + if ! [ -z "${_OLD_VIRTUAL_LD_LIBRARY_PATH+_}" ] ; then + LD_LIBRARY_PATH="$_OLD_VIRTUAL_LD_LIBRARY_PATH" + export LD_LIBRARY_PATH + unset _OLD_VIRTUAL_LD_LIBRARY_PATH + fi + + # This should detect bash and zsh, which have a hash command that must + # be called to get it to forget past commands. Without forgetting + # past commands the $PATH changes we made may not be respected + if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then + hash -r 2>/dev/null + fi + + if ! [ -z "${_OLD_NEKO_VIRTUAL_PS1+_}" ] ; then + PS1="$_OLD_NEKO_VIRTUAL_PS1" + export PS1 + unset _OLD_NEKO_VIRTUAL_PS1 + fi + + unset NEKO_HOME + if [ ! "${1-}" = "nondestructive" ] ; then + # Self destruct! + unset -f deactivate + fi +} + +# unset irrelevant variables +deactivate nondestructive + +NEKO_HOME="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" +export NEKO_HOME + +NEKO_STD_PATH="${NEKO_HOME}/std" +export NEKO_STD_PATH + +_OLD_NEKO_VIRTUAL_PATH="$PATH" +PATH="${PATH}:${NEKO_HOME}" +export PATH + +_OLD_VIRTUAL_LD_LIBRARY_PATH="$PATH" +LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${NEKO_HOME}" +export LD_LIBRARY_PATH + +if [ -z "${NEKO_DISABLE_PROMPT-}" ] ; then + _OLD_NEKO_VIRTUAL_PS1="$PS1" + if [ "x" != x ] ; then + PS1="$PS1" + else + PS1="(neko) $PS1" + fi + export PS1 +fi + +# This should detect bash and zsh, which have a hash command that must +# be called to get it to forget past commands. Without forgetting +# past commands the $PATH changes we made may not be respected +if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then + hash -r 2>/dev/null +fi