#1883 closed task (fixed)
packaging for mingw64 / MSYS2
Reported by: | Antoine Martin | Owned by: | Antoine Martin |
---|---|---|---|
Priority: | major | Milestone: | 2.5 |
Component: | packaging | Version: | 2.3.x |
Keywords: | Cc: |
Description
We should be able to submit this as a package to MSYS2: https://github.com/msys2/msys2/wiki/Creating-Packages.
Change History (32)
comment:1 Changed 4 years ago by
Owner: | changed from Antoine Martin to Smo |
---|---|
Summary: | packaging for mingw → packaging for mingw64 / MSYS2 |
comment:2 Changed 4 years ago by
Update from the transition to python 3.7 (#1878) done by msys2:
OpenGL_accelerate
needs patching to build: pyopengl: Python 3.7 Build failurewebsockify
: we need our patch set - really wished I had merged this upstream now..
comment:3 Changed 4 years ago by
- for websockify with python 3.7 on win32, see attachment/ticket/1568/websockify-0.8-py37.tar.xz.
- for paramiko / pynacl see 1646#comment:8
- r20010 html5 client path fixup
comment:4 Changed 4 years ago by
- r20022: use mingw packages for some python dependencies
- for python-lzo see ticket:1044#comment:9
- would be very useful to have
libyuv
(as per ticket:678#comment:40 - much easier now that libyuv builds the DLL by default and without errors) - every other installation step is now fully automated, see wiki/Building/MSWindows - pyopengl_accelerate can be built from source against python 3.7 (with a recent enough version of Cython), but only from a git copy (source here: https://github.com/mcfletch/pyopengl) and after removing the ".c" file to ensure they get re-generated - since the pyopengl version should match, build that from the same source tree (just remove the SGIX directories as those contain the "async" keyword which is now illegal - we don't need those anyway)
- lz4 is crucial, we need the workaround from r20171 (ticket:1929#comment:1) so it gets packaged properly (I'm not blaming cx_Freeze for this particular breakage)
comment:5 Changed 4 years ago by
python-zeroconf (original feature ticket: #1644) dropped support for python2 in version 0.20 (see TypeError: unsupported operand type(s) for &: 'str' and 'int' and python2-zeroconf: updated to 0.20.0, but 0.20.0 dropped python2 support), but something is not right and using easy_install will pickup the latest (broken) version, so we have to be specific about it: r20193. No such problems with python3.
comment:7 Changed 4 years ago by
Milestone: | 2.4 → 2.5 |
---|
comment:8 Changed 4 years ago by
Here's a slightly more tricky one: pygtkglext as per ticket:678#comment:27 (2 patches and a workaround for the install step), it was MIA from my 64-bit build VM, fortunately the new "native" backend was working OK so I didn't notice!
comment:11 Changed 3 years ago by
Still waiting on this merge.
https://github.com/Alexpux/MINGW-packages/pull/4595
comment:12 Changed 3 years ago by
Can you update what has been merged and replace easy_install
with pacman
in the setup and update scripts?
comment:13 Changed 3 years ago by
Found that paramiko, comtypes, netifaces and rencode are available in MSYS2 now, so r21147 switches to that.
comment:14 Changed 3 years ago by
Here is a link to all the closed merge requests.
https://github.com/Alexpux/MINGW-packages/pulls?q=is%3Apr+author%3Athesmo+is%3Aclosed
nvidia-ml-py seems to be the only open one still
comment:15 Changed 3 years ago by
Useful link: thesmo pull requests
r21483 switches to MSYS2 packages for: websocket-client, setproctitle, pyu2f, ldap, ldap3, bcrypt and pynacl. Also zeroconf, but only for python3 (see below, comment:5).
Important libraries left to package / fix:
- lz4 - crucial, see comment:4
- libyuv - see comment:10
- websockify - see comment:3
- nvidia-ml-py - pending: https://github.com/Alexpux/MINGW-packages/pull/4595
- zeroconf should be using version 0.19 for python2 as per comment:5
- pyopengl: should be packaging a version newer than 3.1.0, 3.1.1 needs patches for python3 support, as per comment:2
- pygtkglext - see comment:8 (maybe we can just forget about this one since 2.5 will be using the "native" opengl backend by default)
comment:16 Changed 3 years ago by
With the two build files above, I can generate a working installation of xpra.
Still TODO:
- apply fixes from comment:15
- merge those two packages
- provide a better way of generating the
/etc
and/share/xpra
directories, without doing a fake build (even if it is a minimal one, doing the cx_Freeze step is expensive and unnecessary - also requires cx_Freeze which we don't really need for anything) - is there a way to make a truly generic noarch package? the contents of the
mingw-w64-x86_64-xpra-common
are not architecture dependent at all, we want amingw-w64-xpra-common
instead
comment:17 Changed 3 years ago by
Sent pull request for python-lz4 + python-pkgconfig (needed by python-lz4): https://github.com/Alexpux/MINGW-packages/pull/4937.
comment:18 Changed 3 years ago by
Owner: | changed from Smo to Antoine Martin |
---|---|
Status: | new → assigned |
The pull request has been merged, I have made a new one for python-nvidia-ml - the one above was broken for python3.
Since 2.5 will drop websockify (#2121) and make "native" the default opengl backend (r21382), there aren't many important packages left to fix / add from comment:15:
- libyuv as per comment:10
- pyopengl as per comment:2
- zeroconf as per comment:5 - no idea how to deal with this one..
comment:19 Changed 3 years ago by
pull request for python-zeroconf: https://github.com/Alexpux/MINGW-packages/pull/4941 with one build file for each python version.
comment:20 Changed 3 years ago by
comment:21 Changed 3 years ago by
Pull request for libyuv: https://github.com/Alexpux/MINGW-packages/pull/4948.
comment:22 Changed 3 years ago by
Pull request for fixing pyopengl: https://github.com/Alexpux/MINGW-packages/pull/4949
comment:23 Changed 3 years ago by
Merged upstream:
- python-opengl fixes merged - moving opengl-accelerate to #2134
- python-zeroconf fixes
comment:24 Changed 3 years ago by
pyopengl-accelerate pull request (added to pyopengl): https://github.com/Alexpux/MINGW-packages/pull/4954
comment:25 Changed 3 years ago by
Merged upstream:
Updated setup and removed python update script: r21590.
Only things left for this ticket:
- libyuv upstream merge (comment:21)
- submit xpra package merge request
comment:27 Changed 3 years ago by
comment:29 Changed 3 years ago by
Pull request for xpra package: https://github.com/msys2/MINGW-packages/pull/5037
comment:30 Changed 3 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
And finally, xpra is in MSYS2: commit d6fe4115fbc605a9684991ffef1a4085894320f3.
comment:31 Changed 3 years ago by
Update to 2.5 release: https://github.com/msys2/MINGW-packages/pull/5095.
comment:32 Changed 16 months ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1883
Python build changes mostly completed in r19684.
We can now install xpra locally from an MSYS2 shell with:
Still TODO:
PyOpenGL
+PyOpenGL_accelerate
, cryptography@smo: can you help with any of this?