build riscv64 wheel - #387

Merged
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel
Oct 16, 2025
Merged

build riscv64 wheel#387
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel

Conversation

@ffgan

Copy link
Copy Markdown

PyPI recently added support for riscv64(rv64) wheel packages, so we can consider adding rv64 support for python-xmlsec.

Below are the CI results:
Wheel build

The results are generally well presented.


Other Info
Co-authored by: nijincheng@iscas.ac.cn;

ffganand others added 3 commits October 15, 2025 21:09
Co-authored by: nijincheng@iscas.ac.cn;
Co-authored by: nijincheng@iscas.ac.cn;
@mxamin
mxamin requested a review from CopilotOctober 15, 2025 15:50

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds support for building riscv64 wheels for python-xmlsec. PyPI has recently added support for riscv64 wheel packages, and this change enables the project to build and distribute wheels for this architecture.

  • Adds riscv64 to the list of supported architectures in the cibuildwheel configuration
  • Implements a workaround for an OpenSSL assembly code issue on riscv64 by adding the no-asm flag
  • Updates dependency versions (cibuildwheel, ruff, setuptools, lxml) to support the new build requirements

Reviewed Changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
FileDescription
setup.pyAdds riscv64-specific OpenSSL build configuration with no-asm flag to work around assembly code relocation issues; moves import statement
pyproject.tomlAdds riscv64 to supported Linux architectures, pins setuptools and lxml versions, skips musllinux_riscv64 builds, adds setuptools_scm configuration
.github/workflows/wheels.ymlUpdates cibuildwheel version from 2.21.3 to 3.1.4
requirements-test.txtUpdates ruff version from 0.12.3 to 0.13.0
doc/source/requirements.txtPins lxml version to 6.0.2

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadsetup.py Outdated
@ffgan

Copy link
Copy Markdown
Author

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

@mxamin

Copy link
Copy Markdown
Collaborator

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

You're right, the failure is because of a network issue. I'm planning to fix the dependencies to a specific version and put them all in a separate repository as we did for Windows builds before releasing the next version.

Comment threadpyproject.toml Outdated
Comment threadpyproject.toml Outdated
Comment threadsetup.py Outdated
Comment threadsetup.py
@mxamin
mxamin merged commit a241c56 into xmlsec:masterOct 16, 2025
1 check passed
@ffgan

Copy link
Copy Markdown
Author

Hello maintainer @mxamin , could you please consider releasing a new version to provide available rv64 wheels on PyPI?

@mxamin

Copy link
Copy Markdown
Collaborator

@ffgan Sure! I was planning to do that soon. Probably next week, or maybe earlier if I find some spare time.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@ffgan@mxamin
, '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

build riscv64 wheel - #387

Merged
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel
Oct 16, 2025
Merged

build riscv64 wheel#387
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel

Conversation

@ffgan

Copy link
Copy Markdown

PyPI recently added support for riscv64(rv64) wheel packages, so we can consider adding rv64 support for python-xmlsec.

Below are the CI results:
Wheel build

The results are generally well presented.


Other Info
Co-authored by: nijincheng@iscas.ac.cn;

ffganand others added 3 commits October 15, 2025 21:09
Co-authored by: nijincheng@iscas.ac.cn;
Co-authored by: nijincheng@iscas.ac.cn;
@mxamin
mxamin requested a review from CopilotOctober 15, 2025 15:50

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds support for building riscv64 wheels for python-xmlsec. PyPI has recently added support for riscv64 wheel packages, and this change enables the project to build and distribute wheels for this architecture.

  • Adds riscv64 to the list of supported architectures in the cibuildwheel configuration
  • Implements a workaround for an OpenSSL assembly code issue on riscv64 by adding the no-asm flag
  • Updates dependency versions (cibuildwheel, ruff, setuptools, lxml) to support the new build requirements

Reviewed Changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
FileDescription
setup.pyAdds riscv64-specific OpenSSL build configuration with no-asm flag to work around assembly code relocation issues; moves import statement
pyproject.tomlAdds riscv64 to supported Linux architectures, pins setuptools and lxml versions, skips musllinux_riscv64 builds, adds setuptools_scm configuration
.github/workflows/wheels.ymlUpdates cibuildwheel version from 2.21.3 to 3.1.4
requirements-test.txtUpdates ruff version from 0.12.3 to 0.13.0
doc/source/requirements.txtPins lxml version to 6.0.2

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadsetup.py Outdated
@ffgan

Copy link
Copy Markdown
Author

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

@mxamin

Copy link
Copy Markdown
Collaborator

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

You're right, the failure is because of a network issue. I'm planning to fix the dependencies to a specific version and put them all in a separate repository as we did for Windows builds before releasing the next version.

Comment threadpyproject.toml Outdated
Comment threadpyproject.toml Outdated
Comment threadsetup.py Outdated
Comment threadsetup.py
@mxamin
mxamin merged commit a241c56 into xmlsec:masterOct 16, 2025
1 check passed
@ffgan

Copy link
Copy Markdown
Author

Hello maintainer @mxamin , could you please consider releasing a new version to provide available rv64 wheels on PyPI?

@mxamin

Copy link
Copy Markdown
Collaborator

@ffgan Sure! I was planning to do that soon. Probably next week, or maybe earlier if I find some spare time.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@ffgan@mxamin
, '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

build riscv64 wheel - #387

Merged
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel
Oct 16, 2025
Merged

build riscv64 wheel#387
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel

Conversation

@ffgan

Copy link
Copy Markdown

PyPI recently added support for riscv64(rv64) wheel packages, so we can consider adding rv64 support for python-xmlsec.

Below are the CI results:
Wheel build

The results are generally well presented.


Other Info
Co-authored by: nijincheng@iscas.ac.cn;

ffganand others added 3 commits October 15, 2025 21:09
Co-authored by: nijincheng@iscas.ac.cn;
Co-authored by: nijincheng@iscas.ac.cn;
@mxamin
mxamin requested a review from CopilotOctober 15, 2025 15:50

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds support for building riscv64 wheels for python-xmlsec. PyPI has recently added support for riscv64 wheel packages, and this change enables the project to build and distribute wheels for this architecture.

  • Adds riscv64 to the list of supported architectures in the cibuildwheel configuration
  • Implements a workaround for an OpenSSL assembly code issue on riscv64 by adding the no-asm flag
  • Updates dependency versions (cibuildwheel, ruff, setuptools, lxml) to support the new build requirements

Reviewed Changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
FileDescription
setup.pyAdds riscv64-specific OpenSSL build configuration with no-asm flag to work around assembly code relocation issues; moves import statement
pyproject.tomlAdds riscv64 to supported Linux architectures, pins setuptools and lxml versions, skips musllinux_riscv64 builds, adds setuptools_scm configuration
.github/workflows/wheels.ymlUpdates cibuildwheel version from 2.21.3 to 3.1.4
requirements-test.txtUpdates ruff version from 0.12.3 to 0.13.0
doc/source/requirements.txtPins lxml version to 6.0.2

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadsetup.py Outdated
@ffgan

Copy link
Copy Markdown
Author

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

@mxamin

Copy link
Copy Markdown
Collaborator

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

You're right, the failure is because of a network issue. I'm planning to fix the dependencies to a specific version and put them all in a separate repository as we did for Windows builds before releasing the next version.

Comment threadpyproject.toml Outdated
Comment threadpyproject.toml Outdated
Comment threadsetup.py Outdated
Comment threadsetup.py
@mxamin
mxamin merged commit a241c56 into xmlsec:masterOct 16, 2025
1 check passed
@ffgan

Copy link
Copy Markdown
Author

Hello maintainer @mxamin , could you please consider releasing a new version to provide available rv64 wheels on PyPI?

@mxamin

Copy link
Copy Markdown
Collaborator

@ffgan Sure! I was planning to do that soon. Probably next week, or maybe earlier if I find some spare time.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@ffgan@mxamin
, '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

build riscv64 wheel - #387

Merged
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel
Oct 16, 2025
Merged

build riscv64 wheel#387
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel

Conversation

@ffgan

Copy link
Copy Markdown

PyPI recently added support for riscv64(rv64) wheel packages, so we can consider adding rv64 support for python-xmlsec.

Below are the CI results:
Wheel build

The results are generally well presented.


Other Info
Co-authored by: nijincheng@iscas.ac.cn;

ffganand others added 3 commits October 15, 2025 21:09
Co-authored by: nijincheng@iscas.ac.cn;
Co-authored by: nijincheng@iscas.ac.cn;
@mxamin
mxamin requested a review from CopilotOctober 15, 2025 15:50

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds support for building riscv64 wheels for python-xmlsec. PyPI has recently added support for riscv64 wheel packages, and this change enables the project to build and distribute wheels for this architecture.

  • Adds riscv64 to the list of supported architectures in the cibuildwheel configuration
  • Implements a workaround for an OpenSSL assembly code issue on riscv64 by adding the no-asm flag
  • Updates dependency versions (cibuildwheel, ruff, setuptools, lxml) to support the new build requirements

Reviewed Changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
FileDescription
setup.pyAdds riscv64-specific OpenSSL build configuration with no-asm flag to work around assembly code relocation issues; moves import statement
pyproject.tomlAdds riscv64 to supported Linux architectures, pins setuptools and lxml versions, skips musllinux_riscv64 builds, adds setuptools_scm configuration
.github/workflows/wheels.ymlUpdates cibuildwheel version from 2.21.3 to 3.1.4
requirements-test.txtUpdates ruff version from 0.12.3 to 0.13.0
doc/source/requirements.txtPins lxml version to 6.0.2

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadsetup.py Outdated
@ffgan

Copy link
Copy Markdown
Author

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

@mxamin

Copy link
Copy Markdown
Collaborator

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

You're right, the failure is because of a network issue. I'm planning to fix the dependencies to a specific version and put them all in a separate repository as we did for Windows builds before releasing the next version.

Comment threadpyproject.toml Outdated
Comment threadpyproject.toml Outdated
Comment threadsetup.py Outdated
Comment threadsetup.py
@mxamin
mxamin merged commit a241c56 into xmlsec:masterOct 16, 2025
1 check passed
@ffgan

Copy link
Copy Markdown
Author

Hello maintainer @mxamin , could you please consider releasing a new version to provide available rv64 wheels on PyPI?

@mxamin

Copy link
Copy Markdown
Collaborator

@ffgan Sure! I was planning to do that soon. Probably next week, or maybe earlier if I find some spare time.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@ffgan@mxamin
, '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

build riscv64 wheel - #387

Merged
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel
Oct 16, 2025
Merged

build riscv64 wheel#387
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel

Conversation

@ffgan

Copy link
Copy Markdown

PyPI recently added support for riscv64(rv64) wheel packages, so we can consider adding rv64 support for python-xmlsec.

Below are the CI results:
Wheel build

The results are generally well presented.


Other Info
Co-authored by: nijincheng@iscas.ac.cn;

ffganand others added 3 commits October 15, 2025 21:09
Co-authored by: nijincheng@iscas.ac.cn;
Co-authored by: nijincheng@iscas.ac.cn;
@mxamin
mxamin requested a review from CopilotOctober 15, 2025 15:50

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds support for building riscv64 wheels for python-xmlsec. PyPI has recently added support for riscv64 wheel packages, and this change enables the project to build and distribute wheels for this architecture.

  • Adds riscv64 to the list of supported architectures in the cibuildwheel configuration
  • Implements a workaround for an OpenSSL assembly code issue on riscv64 by adding the no-asm flag
  • Updates dependency versions (cibuildwheel, ruff, setuptools, lxml) to support the new build requirements

Reviewed Changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
FileDescription
setup.pyAdds riscv64-specific OpenSSL build configuration with no-asm flag to work around assembly code relocation issues; moves import statement
pyproject.tomlAdds riscv64 to supported Linux architectures, pins setuptools and lxml versions, skips musllinux_riscv64 builds, adds setuptools_scm configuration
.github/workflows/wheels.ymlUpdates cibuildwheel version from 2.21.3 to 3.1.4
requirements-test.txtUpdates ruff version from 0.12.3 to 0.13.0
doc/source/requirements.txtPins lxml version to 6.0.2

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadsetup.py Outdated
@ffgan

Copy link
Copy Markdown
Author

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

@mxamin

Copy link
Copy Markdown
Collaborator

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

You're right, the failure is because of a network issue. I'm planning to fix the dependencies to a specific version and put them all in a separate repository as we did for Windows builds before releasing the next version.

Comment threadpyproject.toml Outdated
Comment threadpyproject.toml Outdated
Comment threadsetup.py Outdated
Comment threadsetup.py
@mxamin
mxamin merged commit a241c56 into xmlsec:masterOct 16, 2025
1 check passed
@ffgan

Copy link
Copy Markdown
Author

Hello maintainer @mxamin , could you please consider releasing a new version to provide available rv64 wheels on PyPI?

@mxamin

Copy link
Copy Markdown
Collaborator

@ffgan Sure! I was planning to do that soon. Probably next week, or maybe earlier if I find some spare time.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@ffgan@mxamin
, '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

build riscv64 wheel - #387

Merged
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel
Oct 16, 2025
Merged

build riscv64 wheel#387
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel

Conversation

@ffgan

Copy link
Copy Markdown

PyPI recently added support for riscv64(rv64) wheel packages, so we can consider adding rv64 support for python-xmlsec.

Below are the CI results:
Wheel build

The results are generally well presented.


Other Info
Co-authored by: nijincheng@iscas.ac.cn;

ffganand others added 3 commits October 15, 2025 21:09
Co-authored by: nijincheng@iscas.ac.cn;
Co-authored by: nijincheng@iscas.ac.cn;
@mxamin
mxamin requested a review from CopilotOctober 15, 2025 15:50

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds support for building riscv64 wheels for python-xmlsec. PyPI has recently added support for riscv64 wheel packages, and this change enables the project to build and distribute wheels for this architecture.

  • Adds riscv64 to the list of supported architectures in the cibuildwheel configuration
  • Implements a workaround for an OpenSSL assembly code issue on riscv64 by adding the no-asm flag
  • Updates dependency versions (cibuildwheel, ruff, setuptools, lxml) to support the new build requirements

Reviewed Changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
FileDescription
setup.pyAdds riscv64-specific OpenSSL build configuration with no-asm flag to work around assembly code relocation issues; moves import statement
pyproject.tomlAdds riscv64 to supported Linux architectures, pins setuptools and lxml versions, skips musllinux_riscv64 builds, adds setuptools_scm configuration
.github/workflows/wheels.ymlUpdates cibuildwheel version from 2.21.3 to 3.1.4
requirements-test.txtUpdates ruff version from 0.12.3 to 0.13.0
doc/source/requirements.txtPins lxml version to 6.0.2

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadsetup.py Outdated
@ffgan

Copy link
Copy Markdown
Author

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

@mxamin

Copy link
Copy Markdown
Collaborator

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

You're right, the failure is because of a network issue. I'm planning to fix the dependencies to a specific version and put them all in a separate repository as we did for Windows builds before releasing the next version.

Comment threadpyproject.toml Outdated
Comment threadpyproject.toml Outdated
Comment threadsetup.py Outdated
Comment threadsetup.py
@mxamin
mxamin merged commit a241c56 into xmlsec:masterOct 16, 2025
1 check passed
@ffgan

Copy link
Copy Markdown
Author

Hello maintainer @mxamin , could you please consider releasing a new version to provide available rv64 wheels on PyPI?

@mxamin

Copy link
Copy Markdown
Collaborator

@ffgan Sure! I was planning to do that soon. Probably next week, or maybe earlier if I find some spare time.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@ffgan@mxamin
, '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

build riscv64 wheel - #387

Merged
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel
Oct 16, 2025
Merged

build riscv64 wheel#387
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel

Conversation

@ffgan

Copy link
Copy Markdown

PyPI recently added support for riscv64(rv64) wheel packages, so we can consider adding rv64 support for python-xmlsec.

Below are the CI results:
Wheel build

The results are generally well presented.


Other Info
Co-authored by: nijincheng@iscas.ac.cn;

ffganand others added 3 commits October 15, 2025 21:09
Co-authored by: nijincheng@iscas.ac.cn;
Co-authored by: nijincheng@iscas.ac.cn;
@mxamin
mxamin requested a review from CopilotOctober 15, 2025 15:50

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds support for building riscv64 wheels for python-xmlsec. PyPI has recently added support for riscv64 wheel packages, and this change enables the project to build and distribute wheels for this architecture.

  • Adds riscv64 to the list of supported architectures in the cibuildwheel configuration
  • Implements a workaround for an OpenSSL assembly code issue on riscv64 by adding the no-asm flag
  • Updates dependency versions (cibuildwheel, ruff, setuptools, lxml) to support the new build requirements

Reviewed Changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
FileDescription
setup.pyAdds riscv64-specific OpenSSL build configuration with no-asm flag to work around assembly code relocation issues; moves import statement
pyproject.tomlAdds riscv64 to supported Linux architectures, pins setuptools and lxml versions, skips musllinux_riscv64 builds, adds setuptools_scm configuration
.github/workflows/wheels.ymlUpdates cibuildwheel version from 2.21.3 to 3.1.4
requirements-test.txtUpdates ruff version from 0.12.3 to 0.13.0
doc/source/requirements.txtPins lxml version to 6.0.2

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadsetup.py Outdated
@ffgan

Copy link
Copy Markdown
Author

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

@mxamin

Copy link
Copy Markdown
Collaborator

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

You're right, the failure is because of a network issue. I'm planning to fix the dependencies to a specific version and put them all in a separate repository as we did for Windows builds before releasing the next version.

Comment threadpyproject.toml Outdated
Comment threadpyproject.toml Outdated
Comment threadsetup.py Outdated
Comment threadsetup.py
@mxamin
mxamin merged commit a241c56 into xmlsec:masterOct 16, 2025
1 check passed
@ffgan

Copy link
Copy Markdown
Author

Hello maintainer @mxamin , could you please consider releasing a new version to provide available rv64 wheels on PyPI?

@mxamin

Copy link
Copy Markdown
Collaborator

@ffgan Sure! I was planning to do that soon. Probably next week, or maybe earlier if I find some spare time.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@ffgan@mxamin
, '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

build riscv64 wheel - #387

Merged
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel
Oct 16, 2025
Merged

build riscv64 wheel#387
mxamin merged 7 commits into
xmlsec:masterfrom
ffgan:featue/build-rv64-wheel

Conversation

@ffgan

Copy link
Copy Markdown

PyPI recently added support for riscv64(rv64) wheel packages, so we can consider adding rv64 support for python-xmlsec.

Below are the CI results:
Wheel build

The results are generally well presented.


Other Info
Co-authored by: nijincheng@iscas.ac.cn;

ffganand others added 3 commits October 15, 2025 21:09
Co-authored by: nijincheng@iscas.ac.cn;
Co-authored by: nijincheng@iscas.ac.cn;
@mxamin
mxamin requested a review from CopilotOctober 15, 2025 15:50

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds support for building riscv64 wheels for python-xmlsec. PyPI has recently added support for riscv64 wheel packages, and this change enables the project to build and distribute wheels for this architecture.

  • Adds riscv64 to the list of supported architectures in the cibuildwheel configuration
  • Implements a workaround for an OpenSSL assembly code issue on riscv64 by adding the no-asm flag
  • Updates dependency versions (cibuildwheel, ruff, setuptools, lxml) to support the new build requirements

Reviewed Changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
FileDescription
setup.pyAdds riscv64-specific OpenSSL build configuration with no-asm flag to work around assembly code relocation issues; moves import statement
pyproject.tomlAdds riscv64 to supported Linux architectures, pins setuptools and lxml versions, skips musllinux_riscv64 builds, adds setuptools_scm configuration
.github/workflows/wheels.ymlUpdates cibuildwheel version from 2.21.3 to 3.1.4
requirements-test.txtUpdates ruff version from 0.12.3 to 0.13.0
doc/source/requirements.txtPins lxml version to 6.0.2

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment threadsetup.py Outdated
@ffgan

Copy link
Copy Markdown
Author

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

@mxamin

Copy link
Copy Markdown
Collaborator

The CI failure is a network issue; just retry it. This problem might occur a bit frequently here. Perhaps we could consider putting these required dependencies in a separate repository and pulling from that repository when needed. This way we can avoid network issues caused by accessing other websites.

You're right, the failure is because of a network issue. I'm planning to fix the dependencies to a specific version and put them all in a separate repository as we did for Windows builds before releasing the next version.

Comment threadpyproject.toml Outdated
Comment threadpyproject.toml Outdated
Comment threadsetup.py Outdated
Comment threadsetup.py
@mxamin
mxamin merged commit a241c56 into xmlsec:masterOct 16, 2025
1 check passed
@ffgan

Copy link
Copy Markdown
Author

Hello maintainer @mxamin , could you please consider releasing a new version to provide available rv64 wheels on PyPI?

@mxamin

Copy link
Copy Markdown
Collaborator

@ffgan Sure! I was planning to do that soon. Probably next week, or maybe earlier if I find some spare time.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@ffgan@mxamin