fix: Address issues encountered while building on Windows+Cygwin environments - #1817

Closed
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows
Closed

fix: Address issues encountered while building on Windows+Cygwin environments#1817
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows

Conversation

@joquijada

@joquijadajoquijada commented Jul 10, 2019

Copy link
Copy Markdown

Address problems described here that were encountered during npm rebuild of modules that depend on node-gyp to compile C/C++ code.

Fixes: #1782
Refs: https://github.com/joquijada/windows-node-js-node-gyp

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added (N/A)
  • commit message follows commit guidelines
Description of change

Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3
Refs: nodejs#1817 (comment)
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3. Doing the
same as previous commit, but in a different file.
Refs: nodejs#1817 (comment)
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py
@joquijadajoquijada changed the title WIP: fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwim environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwin environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwin environmentsfix: Addresses issues encountered while building on Windows+Cygwin environmentsJul 10, 2019

@cclausscclauss left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work.

Comment threadgyp/pylib/gyp/common.py
Comment threadlib/configure.js Outdated

// Do this to keep Cygwin environments happy, else the unescaped '\' gets eaten up,
// resulting in bad paths, Ex c:parentFolderfolderanotherFolder instead of c:\parentFolder\folder\anotherFolder
nodeLibFile = nodeLibFile.replace(/\\/g, '\\\\')

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is a windows-only branch so to be safe maybe this should only be invoked if windows

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do posix paths contain backslashes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$ touch 'foo\\bar'
$ ls -al foo\\\\bar
-rw-r--r-- 1 rvagg staff 0 Jul 15 16:56 'foo\\bar'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still needs to be addressed @joquijada. I think can you wrap this in a conditional for Cygwin or at least Windows

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rvagg Done, wrapped in a Windows conditional.

Comment threadgyp/gyp_main.py
@joquijada

Copy link
Copy Markdown
Author

I wasn't sure if I should/can write tests for this.

@joquijadajoquijada changed the title fix: Addresses issues encountered while building on Windows+Cygwin environmentsfix: Address issues encountered while building on Windows+Cygwin environmentsJul 23, 2019
@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from ba0e3b5 to 908b9b0CompareJuly 23, 2019 01:55
@joquijada

joquijada commented Jul 26, 2019

Copy link
Copy Markdown
Author

FYI, squashed the commits into 1 via git rebase -i upstream/master

@refack

Copy link
Copy Markdown
Contributor

Just an FYI, since Cygwin is not officially supported it has been removed from GYP3, so expect #1845 to regress things 🤷‍♂

IMHO Cygwin support could be more easily maintained for node-gyp@4 and/or 3. Probably with a little more tweaking also for 5 via the make-linux GYP3 output generator.

@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from 908b9b0 to 8770043CompareJuly 27, 2019 12:34
@rvagg

Copy link
Copy Markdown
Member

@refack would there be any objections to adding it back in to GYP3 if someone wants to put in the work? I assume it might not be too hard to figure out the changes that impact support and improve them for Cygwin.

rvagg pushed a commit that referenced this pull request Aug 1, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvagg

rvagg commented Aug 1, 2019

Copy link
Copy Markdown
Member

Landed in c7f1bca after some whitespace changes and commit message edits.

@joquijada the caveat above about the coming GYP upgrade is important because these changes aren't necessarily going to be carried over and we don't Cygwin in any of our testing paths. You may need to come back and help get us sorted out but https://github.com/refack/GYP will probably be where GYP changes need to go.

@rvaggrvagg closed this Aug 1, 2019
@joquijada

Copy link
Copy Markdown
Author

@rvagg Will check it out

@rvaggrvagg mentioned this pull request Sep 26, 2019
rvagg pushed a commit that referenced this pull request Sep 26, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvaggrvagg mentioned this pull request Sep 26, 2019
@joquijada
joquijada deleted the 1782-node-gyp-not-found-cygwin-windows branch October 22, 2019 21:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ImportError: No module named gyp on Cygwin/Windows

5 participants

@joquijada@refack@rvagg@cclauss@richardlau
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

fix: Address issues encountered while building on Windows+Cygwin environments - #1817

Closed
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows
Closed

fix: Address issues encountered while building on Windows+Cygwin environments#1817
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows

Conversation

@joquijada

@joquijadajoquijada commented Jul 10, 2019

Copy link
Copy Markdown

Address problems described here that were encountered during npm rebuild of modules that depend on node-gyp to compile C/C++ code.

Fixes: #1782
Refs: https://github.com/joquijada/windows-node-js-node-gyp

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added (N/A)
  • commit message follows commit guidelines
Description of change

Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3
Refs: nodejs#1817 (comment)
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3. Doing the
same as previous commit, but in a different file.
Refs: nodejs#1817 (comment)
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py
@joquijadajoquijada changed the title WIP: fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwim environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwin environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwin environmentsfix: Addresses issues encountered while building on Windows+Cygwin environmentsJul 10, 2019

@cclausscclauss left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work.

Comment threadgyp/pylib/gyp/common.py
Comment threadlib/configure.js Outdated

// Do this to keep Cygwin environments happy, else the unescaped '\' gets eaten up,
// resulting in bad paths, Ex c:parentFolderfolderanotherFolder instead of c:\parentFolder\folder\anotherFolder
nodeLibFile = nodeLibFile.replace(/\\/g, '\\\\')

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is a windows-only branch so to be safe maybe this should only be invoked if windows

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do posix paths contain backslashes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$ touch 'foo\\bar'
$ ls -al foo\\\\bar
-rw-r--r-- 1 rvagg staff 0 Jul 15 16:56 'foo\\bar'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still needs to be addressed @joquijada. I think can you wrap this in a conditional for Cygwin or at least Windows

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rvagg Done, wrapped in a Windows conditional.

Comment threadgyp/gyp_main.py
@joquijada

Copy link
Copy Markdown
Author

I wasn't sure if I should/can write tests for this.

@joquijadajoquijada changed the title fix: Addresses issues encountered while building on Windows+Cygwin environmentsfix: Address issues encountered while building on Windows+Cygwin environmentsJul 23, 2019
@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from ba0e3b5 to 908b9b0CompareJuly 23, 2019 01:55
@joquijada

joquijada commented Jul 26, 2019

Copy link
Copy Markdown
Author

FYI, squashed the commits into 1 via git rebase -i upstream/master

@refack

Copy link
Copy Markdown
Contributor

Just an FYI, since Cygwin is not officially supported it has been removed from GYP3, so expect #1845 to regress things 🤷‍♂

IMHO Cygwin support could be more easily maintained for node-gyp@4 and/or 3. Probably with a little more tweaking also for 5 via the make-linux GYP3 output generator.

@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from 908b9b0 to 8770043CompareJuly 27, 2019 12:34
@rvagg

Copy link
Copy Markdown
Member

@refack would there be any objections to adding it back in to GYP3 if someone wants to put in the work? I assume it might not be too hard to figure out the changes that impact support and improve them for Cygwin.

rvagg pushed a commit that referenced this pull request Aug 1, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvagg

rvagg commented Aug 1, 2019

Copy link
Copy Markdown
Member

Landed in c7f1bca after some whitespace changes and commit message edits.

@joquijada the caveat above about the coming GYP upgrade is important because these changes aren't necessarily going to be carried over and we don't Cygwin in any of our testing paths. You may need to come back and help get us sorted out but https://github.com/refack/GYP will probably be where GYP changes need to go.

@rvaggrvagg closed this Aug 1, 2019
@joquijada

Copy link
Copy Markdown
Author

@rvagg Will check it out

@rvaggrvagg mentioned this pull request Sep 26, 2019
rvagg pushed a commit that referenced this pull request Sep 26, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvaggrvagg mentioned this pull request Sep 26, 2019
@joquijada
joquijada deleted the 1782-node-gyp-not-found-cygwin-windows branch October 22, 2019 21:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ImportError: No module named gyp on Cygwin/Windows

5 participants

@joquijada@refack@rvagg@cclauss@richardlau
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: Address issues encountered while building on Windows+Cygwin environments - #1817

Closed
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows
Closed

fix: Address issues encountered while building on Windows+Cygwin environments#1817
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows

Conversation

@joquijada

@joquijadajoquijada commented Jul 10, 2019

Copy link
Copy Markdown

Address problems described here that were encountered during npm rebuild of modules that depend on node-gyp to compile C/C++ code.

Fixes: #1782
Refs: https://github.com/joquijada/windows-node-js-node-gyp

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added (N/A)
  • commit message follows commit guidelines
Description of change

Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3
Refs: nodejs#1817 (comment)
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3. Doing the
same as previous commit, but in a different file.
Refs: nodejs#1817 (comment)
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py
@joquijadajoquijada changed the title WIP: fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwim environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwin environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwin environmentsfix: Addresses issues encountered while building on Windows+Cygwin environmentsJul 10, 2019

@cclausscclauss left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work.

Comment threadgyp/pylib/gyp/common.py
Comment threadlib/configure.js Outdated

// Do this to keep Cygwin environments happy, else the unescaped '\' gets eaten up,
// resulting in bad paths, Ex c:parentFolderfolderanotherFolder instead of c:\parentFolder\folder\anotherFolder
nodeLibFile = nodeLibFile.replace(/\\/g, '\\\\')

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is a windows-only branch so to be safe maybe this should only be invoked if windows

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do posix paths contain backslashes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$ touch 'foo\\bar'
$ ls -al foo\\\\bar
-rw-r--r-- 1 rvagg staff 0 Jul 15 16:56 'foo\\bar'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still needs to be addressed @joquijada. I think can you wrap this in a conditional for Cygwin or at least Windows

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rvagg Done, wrapped in a Windows conditional.

Comment threadgyp/gyp_main.py
@joquijada

Copy link
Copy Markdown
Author

I wasn't sure if I should/can write tests for this.

@joquijadajoquijada changed the title fix: Addresses issues encountered while building on Windows+Cygwin environmentsfix: Address issues encountered while building on Windows+Cygwin environmentsJul 23, 2019
@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from ba0e3b5 to 908b9b0CompareJuly 23, 2019 01:55
@joquijada

joquijada commented Jul 26, 2019

Copy link
Copy Markdown
Author

FYI, squashed the commits into 1 via git rebase -i upstream/master

@refack

Copy link
Copy Markdown
Contributor

Just an FYI, since Cygwin is not officially supported it has been removed from GYP3, so expect #1845 to regress things 🤷‍♂

IMHO Cygwin support could be more easily maintained for node-gyp@4 and/or 3. Probably with a little more tweaking also for 5 via the make-linux GYP3 output generator.

@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from 908b9b0 to 8770043CompareJuly 27, 2019 12:34
@rvagg

Copy link
Copy Markdown
Member

@refack would there be any objections to adding it back in to GYP3 if someone wants to put in the work? I assume it might not be too hard to figure out the changes that impact support and improve them for Cygwin.

rvagg pushed a commit that referenced this pull request Aug 1, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvagg

rvagg commented Aug 1, 2019

Copy link
Copy Markdown
Member

Landed in c7f1bca after some whitespace changes and commit message edits.

@joquijada the caveat above about the coming GYP upgrade is important because these changes aren't necessarily going to be carried over and we don't Cygwin in any of our testing paths. You may need to come back and help get us sorted out but https://github.com/refack/GYP will probably be where GYP changes need to go.

@rvaggrvagg closed this Aug 1, 2019
@joquijada

Copy link
Copy Markdown
Author

@rvagg Will check it out

@rvaggrvagg mentioned this pull request Sep 26, 2019
rvagg pushed a commit that referenced this pull request Sep 26, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvaggrvagg mentioned this pull request Sep 26, 2019
@joquijada
joquijada deleted the 1782-node-gyp-not-found-cygwin-windows branch October 22, 2019 21:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ImportError: No module named gyp on Cygwin/Windows

5 participants

@joquijada@refack@rvagg@cclauss@richardlau
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: Address issues encountered while building on Windows+Cygwin environments - #1817

Closed
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows
Closed

fix: Address issues encountered while building on Windows+Cygwin environments#1817
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows

Conversation

@joquijada

@joquijadajoquijada commented Jul 10, 2019

Copy link
Copy Markdown

Address problems described here that were encountered during npm rebuild of modules that depend on node-gyp to compile C/C++ code.

Fixes: #1782
Refs: https://github.com/joquijada/windows-node-js-node-gyp

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added (N/A)
  • commit message follows commit guidelines
Description of change

Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3
Refs: nodejs#1817 (comment)
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3. Doing the
same as previous commit, but in a different file.
Refs: nodejs#1817 (comment)
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py
@joquijadajoquijada changed the title WIP: fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwim environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwin environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwin environmentsfix: Addresses issues encountered while building on Windows+Cygwin environmentsJul 10, 2019

@cclausscclauss left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work.

Comment threadgyp/pylib/gyp/common.py
Comment threadlib/configure.js Outdated

// Do this to keep Cygwin environments happy, else the unescaped '\' gets eaten up,
// resulting in bad paths, Ex c:parentFolderfolderanotherFolder instead of c:\parentFolder\folder\anotherFolder
nodeLibFile = nodeLibFile.replace(/\\/g, '\\\\')

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is a windows-only branch so to be safe maybe this should only be invoked if windows

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do posix paths contain backslashes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$ touch 'foo\\bar'
$ ls -al foo\\\\bar
-rw-r--r-- 1 rvagg staff 0 Jul 15 16:56 'foo\\bar'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still needs to be addressed @joquijada. I think can you wrap this in a conditional for Cygwin or at least Windows

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rvagg Done, wrapped in a Windows conditional.

Comment threadgyp/gyp_main.py
@joquijada

Copy link
Copy Markdown
Author

I wasn't sure if I should/can write tests for this.

@joquijadajoquijada changed the title fix: Addresses issues encountered while building on Windows+Cygwin environmentsfix: Address issues encountered while building on Windows+Cygwin environmentsJul 23, 2019
@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from ba0e3b5 to 908b9b0CompareJuly 23, 2019 01:55
@joquijada

joquijada commented Jul 26, 2019

Copy link
Copy Markdown
Author

FYI, squashed the commits into 1 via git rebase -i upstream/master

@refack

Copy link
Copy Markdown
Contributor

Just an FYI, since Cygwin is not officially supported it has been removed from GYP3, so expect #1845 to regress things 🤷‍♂

IMHO Cygwin support could be more easily maintained for node-gyp@4 and/or 3. Probably with a little more tweaking also for 5 via the make-linux GYP3 output generator.

@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from 908b9b0 to 8770043CompareJuly 27, 2019 12:34
@rvagg

Copy link
Copy Markdown
Member

@refack would there be any objections to adding it back in to GYP3 if someone wants to put in the work? I assume it might not be too hard to figure out the changes that impact support and improve them for Cygwin.

rvagg pushed a commit that referenced this pull request Aug 1, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvagg

rvagg commented Aug 1, 2019

Copy link
Copy Markdown
Member

Landed in c7f1bca after some whitespace changes and commit message edits.

@joquijada the caveat above about the coming GYP upgrade is important because these changes aren't necessarily going to be carried over and we don't Cygwin in any of our testing paths. You may need to come back and help get us sorted out but https://github.com/refack/GYP will probably be where GYP changes need to go.

@rvaggrvagg closed this Aug 1, 2019
@joquijada

Copy link
Copy Markdown
Author

@rvagg Will check it out

@rvaggrvagg mentioned this pull request Sep 26, 2019
rvagg pushed a commit that referenced this pull request Sep 26, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvaggrvagg mentioned this pull request Sep 26, 2019
@joquijada
joquijada deleted the 1782-node-gyp-not-found-cygwin-windows branch October 22, 2019 21:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ImportError: No module named gyp on Cygwin/Windows

5 participants

@joquijada@refack@rvagg@cclauss@richardlau
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

fix: Address issues encountered while building on Windows+Cygwin environments - #1817

Closed
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows
Closed

fix: Address issues encountered while building on Windows+Cygwin environments#1817
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows

Conversation

@joquijada

@joquijadajoquijada commented Jul 10, 2019

Copy link
Copy Markdown

Address problems described here that were encountered during npm rebuild of modules that depend on node-gyp to compile C/C++ code.

Fixes: #1782
Refs: https://github.com/joquijada/windows-node-js-node-gyp

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added (N/A)
  • commit message follows commit guidelines
Description of change

Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3
Refs: nodejs#1817 (comment)
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3. Doing the
same as previous commit, but in a different file.
Refs: nodejs#1817 (comment)
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py
@joquijadajoquijada changed the title WIP: fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwim environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwin environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwin environmentsfix: Addresses issues encountered while building on Windows+Cygwin environmentsJul 10, 2019

@cclausscclauss left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work.

Comment threadgyp/pylib/gyp/common.py
Comment threadlib/configure.js Outdated

// Do this to keep Cygwin environments happy, else the unescaped '\' gets eaten up,
// resulting in bad paths, Ex c:parentFolderfolderanotherFolder instead of c:\parentFolder\folder\anotherFolder
nodeLibFile = nodeLibFile.replace(/\\/g, '\\\\')

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is a windows-only branch so to be safe maybe this should only be invoked if windows

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do posix paths contain backslashes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$ touch 'foo\\bar'
$ ls -al foo\\\\bar
-rw-r--r-- 1 rvagg staff 0 Jul 15 16:56 'foo\\bar'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still needs to be addressed @joquijada. I think can you wrap this in a conditional for Cygwin or at least Windows

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rvagg Done, wrapped in a Windows conditional.

Comment threadgyp/gyp_main.py
@joquijada

Copy link
Copy Markdown
Author

I wasn't sure if I should/can write tests for this.

@joquijadajoquijada changed the title fix: Addresses issues encountered while building on Windows+Cygwin environmentsfix: Address issues encountered while building on Windows+Cygwin environmentsJul 23, 2019
@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from ba0e3b5 to 908b9b0CompareJuly 23, 2019 01:55
@joquijada

joquijada commented Jul 26, 2019

Copy link
Copy Markdown
Author

FYI, squashed the commits into 1 via git rebase -i upstream/master

@refack

Copy link
Copy Markdown
Contributor

Just an FYI, since Cygwin is not officially supported it has been removed from GYP3, so expect #1845 to regress things 🤷‍♂

IMHO Cygwin support could be more easily maintained for node-gyp@4 and/or 3. Probably with a little more tweaking also for 5 via the make-linux GYP3 output generator.

@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from 908b9b0 to 8770043CompareJuly 27, 2019 12:34
@rvagg

Copy link
Copy Markdown
Member

@refack would there be any objections to adding it back in to GYP3 if someone wants to put in the work? I assume it might not be too hard to figure out the changes that impact support and improve them for Cygwin.

rvagg pushed a commit that referenced this pull request Aug 1, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvagg

rvagg commented Aug 1, 2019

Copy link
Copy Markdown
Member

Landed in c7f1bca after some whitespace changes and commit message edits.

@joquijada the caveat above about the coming GYP upgrade is important because these changes aren't necessarily going to be carried over and we don't Cygwin in any of our testing paths. You may need to come back and help get us sorted out but https://github.com/refack/GYP will probably be where GYP changes need to go.

@rvaggrvagg closed this Aug 1, 2019
@joquijada

Copy link
Copy Markdown
Author

@rvagg Will check it out

@rvaggrvagg mentioned this pull request Sep 26, 2019
rvagg pushed a commit that referenced this pull request Sep 26, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvaggrvagg mentioned this pull request Sep 26, 2019
@joquijada
joquijada deleted the 1782-node-gyp-not-found-cygwin-windows branch October 22, 2019 21:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ImportError: No module named gyp on Cygwin/Windows

5 participants

@joquijada@refack@rvagg@cclauss@richardlau
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: Address issues encountered while building on Windows+Cygwin environments - #1817

Closed
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows
Closed

fix: Address issues encountered while building on Windows+Cygwin environments#1817
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows

Conversation

@joquijada

@joquijadajoquijada commented Jul 10, 2019

Copy link
Copy Markdown

Address problems described here that were encountered during npm rebuild of modules that depend on node-gyp to compile C/C++ code.

Fixes: #1782
Refs: https://github.com/joquijada/windows-node-js-node-gyp

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added (N/A)
  • commit message follows commit guidelines
Description of change

Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3
Refs: nodejs#1817 (comment)
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3. Doing the
same as previous commit, but in a different file.
Refs: nodejs#1817 (comment)
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py
@joquijadajoquijada changed the title WIP: fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwim environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwin environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwin environmentsfix: Addresses issues encountered while building on Windows+Cygwin environmentsJul 10, 2019

@cclausscclauss left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work.

Comment threadgyp/pylib/gyp/common.py
Comment threadlib/configure.js Outdated

// Do this to keep Cygwin environments happy, else the unescaped '\' gets eaten up,
// resulting in bad paths, Ex c:parentFolderfolderanotherFolder instead of c:\parentFolder\folder\anotherFolder
nodeLibFile = nodeLibFile.replace(/\\/g, '\\\\')

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is a windows-only branch so to be safe maybe this should only be invoked if windows

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do posix paths contain backslashes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$ touch 'foo\\bar'
$ ls -al foo\\\\bar
-rw-r--r-- 1 rvagg staff 0 Jul 15 16:56 'foo\\bar'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still needs to be addressed @joquijada. I think can you wrap this in a conditional for Cygwin or at least Windows

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rvagg Done, wrapped in a Windows conditional.

Comment threadgyp/gyp_main.py
@joquijada

Copy link
Copy Markdown
Author

I wasn't sure if I should/can write tests for this.

@joquijadajoquijada changed the title fix: Addresses issues encountered while building on Windows+Cygwin environmentsfix: Address issues encountered while building on Windows+Cygwin environmentsJul 23, 2019
@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from ba0e3b5 to 908b9b0CompareJuly 23, 2019 01:55
@joquijada

joquijada commented Jul 26, 2019

Copy link
Copy Markdown
Author

FYI, squashed the commits into 1 via git rebase -i upstream/master

@refack

Copy link
Copy Markdown
Contributor

Just an FYI, since Cygwin is not officially supported it has been removed from GYP3, so expect #1845 to regress things 🤷‍♂

IMHO Cygwin support could be more easily maintained for node-gyp@4 and/or 3. Probably with a little more tweaking also for 5 via the make-linux GYP3 output generator.

@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from 908b9b0 to 8770043CompareJuly 27, 2019 12:34
@rvagg

Copy link
Copy Markdown
Member

@refack would there be any objections to adding it back in to GYP3 if someone wants to put in the work? I assume it might not be too hard to figure out the changes that impact support and improve them for Cygwin.

rvagg pushed a commit that referenced this pull request Aug 1, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvagg

rvagg commented Aug 1, 2019

Copy link
Copy Markdown
Member

Landed in c7f1bca after some whitespace changes and commit message edits.

@joquijada the caveat above about the coming GYP upgrade is important because these changes aren't necessarily going to be carried over and we don't Cygwin in any of our testing paths. You may need to come back and help get us sorted out but https://github.com/refack/GYP will probably be where GYP changes need to go.

@rvaggrvagg closed this Aug 1, 2019
@joquijada

Copy link
Copy Markdown
Author

@rvagg Will check it out

@rvaggrvagg mentioned this pull request Sep 26, 2019
rvagg pushed a commit that referenced this pull request Sep 26, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvaggrvagg mentioned this pull request Sep 26, 2019
@joquijada
joquijada deleted the 1782-node-gyp-not-found-cygwin-windows branch October 22, 2019 21:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ImportError: No module named gyp on Cygwin/Windows

5 participants

@joquijada@refack@rvagg@cclauss@richardlau
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix: Address issues encountered while building on Windows+Cygwin environments - #1817

Closed
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows
Closed

fix: Address issues encountered while building on Windows+Cygwin environments#1817
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows

Conversation

@joquijada

@joquijadajoquijada commented Jul 10, 2019

Copy link
Copy Markdown

Address problems described here that were encountered during npm rebuild of modules that depend on node-gyp to compile C/C++ code.

Fixes: #1782
Refs: https://github.com/joquijada/windows-node-js-node-gyp

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added (N/A)
  • commit message follows commit guidelines
Description of change

Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3
Refs: nodejs#1817 (comment)
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3. Doing the
same as previous commit, but in a different file.
Refs: nodejs#1817 (comment)
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py
@joquijadajoquijada changed the title WIP: fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwim environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwin environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwin environmentsfix: Addresses issues encountered while building on Windows+Cygwin environmentsJul 10, 2019

@cclausscclauss left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work.

Comment threadgyp/pylib/gyp/common.py
Comment threadlib/configure.js Outdated

// Do this to keep Cygwin environments happy, else the unescaped '\' gets eaten up,
// resulting in bad paths, Ex c:parentFolderfolderanotherFolder instead of c:\parentFolder\folder\anotherFolder
nodeLibFile = nodeLibFile.replace(/\\/g, '\\\\')

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is a windows-only branch so to be safe maybe this should only be invoked if windows

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do posix paths contain backslashes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$ touch 'foo\\bar'
$ ls -al foo\\\\bar
-rw-r--r-- 1 rvagg staff 0 Jul 15 16:56 'foo\\bar'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still needs to be addressed @joquijada. I think can you wrap this in a conditional for Cygwin or at least Windows

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rvagg Done, wrapped in a Windows conditional.

Comment threadgyp/gyp_main.py
@joquijada

Copy link
Copy Markdown
Author

I wasn't sure if I should/can write tests for this.

@joquijadajoquijada changed the title fix: Addresses issues encountered while building on Windows+Cygwin environmentsfix: Address issues encountered while building on Windows+Cygwin environmentsJul 23, 2019
@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from ba0e3b5 to 908b9b0CompareJuly 23, 2019 01:55
@joquijada

joquijada commented Jul 26, 2019

Copy link
Copy Markdown
Author

FYI, squashed the commits into 1 via git rebase -i upstream/master

@refack

Copy link
Copy Markdown
Contributor

Just an FYI, since Cygwin is not officially supported it has been removed from GYP3, so expect #1845 to regress things 🤷‍♂

IMHO Cygwin support could be more easily maintained for node-gyp@4 and/or 3. Probably with a little more tweaking also for 5 via the make-linux GYP3 output generator.

@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from 908b9b0 to 8770043CompareJuly 27, 2019 12:34
@rvagg

Copy link
Copy Markdown
Member

@refack would there be any objections to adding it back in to GYP3 if someone wants to put in the work? I assume it might not be too hard to figure out the changes that impact support and improve them for Cygwin.

rvagg pushed a commit that referenced this pull request Aug 1, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvagg

rvagg commented Aug 1, 2019

Copy link
Copy Markdown
Member

Landed in c7f1bca after some whitespace changes and commit message edits.

@joquijada the caveat above about the coming GYP upgrade is important because these changes aren't necessarily going to be carried over and we don't Cygwin in any of our testing paths. You may need to come back and help get us sorted out but https://github.com/refack/GYP will probably be where GYP changes need to go.

@rvaggrvagg closed this Aug 1, 2019
@joquijada

Copy link
Copy Markdown
Author

@rvagg Will check it out

@rvaggrvagg mentioned this pull request Sep 26, 2019
rvagg pushed a commit that referenced this pull request Sep 26, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvaggrvagg mentioned this pull request Sep 26, 2019
@joquijada
joquijada deleted the 1782-node-gyp-not-found-cygwin-windows branch October 22, 2019 21:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ImportError: No module named gyp on Cygwin/Windows

5 participants

@joquijada@refack@rvagg@cclauss@richardlau
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

fix: Address issues encountered while building on Windows+Cygwin environments - #1817

Closed
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows
Closed

fix: Address issues encountered while building on Windows+Cygwin environments#1817
joquijada wants to merge 1 commit into
nodejs:masterfrom
joquijada:1782-node-gyp-not-found-cygwin-windows

Conversation

@joquijada

@joquijadajoquijada commented Jul 10, 2019

Copy link
Copy Markdown

Address problems described here that were encountered during npm rebuild of modules that depend on node-gyp to compile C/C++ code.

Fixes: #1782
Refs: https://github.com/joquijada/windows-node-js-node-gyp

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added (N/A)
  • commit message follows commit guidelines
Description of change

Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3
Refs: nodejs#1817 (comment)
joquijada pushed a commit to joquijada/node-gyp that referenced this pull request Jul 10, 2019
Use new style exceptions so that it works in both Python 2 and 3. Doing the
same as previous commit, but in a different file.
Refs: nodejs#1817 (comment)
Comment threadgyp/pylib/gyp/generator/msvs.py Outdated
Comment threadgyp/pylib/gyp/common.py Outdated
Comment threadgyp/gyp_main.py
@joquijadajoquijada changed the title WIP: fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwim environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwim environmentsfix: Addresses issues encountered while building on WIndows+Cygwin environmentsJul 10, 2019
@joquijadajoquijada changed the title fix: Addresses issues encountered while building on WIndows+Cygwin environmentsfix: Addresses issues encountered while building on Windows+Cygwin environmentsJul 10, 2019

@cclausscclauss left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work.

Comment threadgyp/pylib/gyp/common.py
Comment threadlib/configure.js Outdated

// Do this to keep Cygwin environments happy, else the unescaped '\' gets eaten up,
// resulting in bad paths, Ex c:parentFolderfolderanotherFolder instead of c:\parentFolder\folder\anotherFolder
nodeLibFile = nodeLibFile.replace(/\\/g, '\\\\')

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is a windows-only branch so to be safe maybe this should only be invoked if windows

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do posix paths contain backslashes?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

$ touch 'foo\\bar'
$ ls -al foo\\\\bar
-rw-r--r-- 1 rvagg staff 0 Jul 15 16:56 'foo\\bar'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still needs to be addressed @joquijada. I think can you wrap this in a conditional for Cygwin or at least Windows

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rvagg Done, wrapped in a Windows conditional.

Comment threadgyp/gyp_main.py
@joquijada

Copy link
Copy Markdown
Author

I wasn't sure if I should/can write tests for this.

@joquijadajoquijada changed the title fix: Addresses issues encountered while building on Windows+Cygwin environmentsfix: Address issues encountered while building on Windows+Cygwin environmentsJul 23, 2019
@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from ba0e3b5 to 908b9b0CompareJuly 23, 2019 01:55
@joquijada

joquijada commented Jul 26, 2019

Copy link
Copy Markdown
Author

FYI, squashed the commits into 1 via git rebase -i upstream/master

@refack

Copy link
Copy Markdown
Contributor

Just an FYI, since Cygwin is not officially supported it has been removed from GYP3, so expect #1845 to regress things 🤷‍♂

IMHO Cygwin support could be more easily maintained for node-gyp@4 and/or 3. Probably with a little more tweaking also for 5 via the make-linux GYP3 output generator.

@joquijada
joquijadaforce-pushed the 1782-node-gyp-not-found-cygwin-windows branch from 908b9b0 to 8770043CompareJuly 27, 2019 12:34
@rvagg

Copy link
Copy Markdown
Member

@refack would there be any objections to adding it back in to GYP3 if someone wants to put in the work? I assume it might not be too hard to figure out the changes that impact support and improve them for Cygwin.

rvagg pushed a commit that referenced this pull request Aug 1, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvagg

rvagg commented Aug 1, 2019

Copy link
Copy Markdown
Member

Landed in c7f1bca after some whitespace changes and commit message edits.

@joquijada the caveat above about the coming GYP upgrade is important because these changes aren't necessarily going to be carried over and we don't Cygwin in any of our testing paths. You may need to come back and help get us sorted out but https://github.com/refack/GYP will probably be where GYP changes need to go.

@rvaggrvagg closed this Aug 1, 2019
@joquijada

Copy link
Copy Markdown
Author

@rvagg Will check it out

@rvaggrvagg mentioned this pull request Sep 26, 2019
rvagg pushed a commit that referenced this pull request Sep 26, 2019
Fixes: #1782
PR-URL: #1817
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Rod Vagg <r@va.gg>
@rvaggrvagg mentioned this pull request Sep 26, 2019
@joquijada
joquijada deleted the 1782-node-gyp-not-found-cygwin-windows branch October 22, 2019 21:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ImportError: No module named gyp on Cygwin/Windows

5 participants

@joquijada@refack@rvagg@cclauss@richardlau