xpra icon
Bug tracker and wiki

Opened 6 months ago

Last modified 2 weeks ago

#1883 new task

packaging for mingw64 / MSYS2

Reported by: Antoine Martin Owned by: Smo
Priority: major Milestone: 2.5
Component: packaging Version: 2.3.x
Keywords: Cc:


We should be able to submit this as a package to MSYS2: https://github.com/msys2/msys2/wiki/Creating-Packages.

Change History (13)

comment:1 Changed 6 months ago by Antoine Martin

Owner: changed from Antoine Martin to Smo
Summary: packaging for mingwpackaging for mingw64 / MSYS2

Python build changes mostly completed in r19684.
We can now install xpra locally from an MSYS2 shell with:

rm -fr dist/*
python ./setup.py clean
python ./setup.py install --prefix=./dist --share=share/xpra --with-scripts
rsync -rplogt dist/* ${MINGW_PREFIX}/

Still TODO:

  • install both python2 and python3 builds?
  • figure out the dependencies we want to declare (ie: not opencv..)
  • create some packages for the most important python dependencies (those should be easy): rencode, lz4, PyOpenGL + PyOpenGL_accelerate, cryptography
  • fix audio subprocess command failures

@smo: can you help with any of this?

comment:2 Changed 5 months ago by Antoine Martin

Update from the transition to python 3.7 (#1878) done by msys2:

comment:3 Changed 4 months ago by Antoine Martin

Last edited 4 months ago by Antoine Martin (previous) (diff)

comment:4 Changed 4 months ago by totaamwin32

  • 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)
Last edited 4 months ago by Antoine Martin (previous) (diff)

comment:5 Changed 4 months ago by totaamwin32

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.

Last edited 4 months ago by Antoine Martin (previous) (diff)

comment:6 Changed 4 months ago by Antoine Martin

Work in progress lives here: github thesmo MINGW-packages

comment:7 Changed 2 months ago by Antoine Martin

Milestone: 2.42.5

comment:8 Changed 2 months ago by Antoine Martin

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:9 Changed 8 weeks ago by Antoine Martin

Minor update: rencode 1.0.6, see r20754

comment:10 Changed 4 weeks ago by Antoine Martin

@smo: see ticket:2004#comment:3 for libyuv.

comment:12 Changed 2 weeks ago by Antoine Martin

Can you update what has been merged and replace easy_install with pacman in the setup and update scripts?

comment:13 Changed 2 weeks ago by Antoine Martin

Found that paramiko, comtypes, netifaces and rencode are available in MSYS2 now, so r21147 switches to that.

Note: See TracTickets for help on using tickets.