= ChimeraX Developer Meeting = Attendance: Eric, Zach, Tom, Greg July 18, 2022 = Agenda = * Tristan wants devtoolset-9 CentOS 7 ChimeraX for compiling ABI compatible ISOLDE. * Github Actions continuous integration * Mac M1 port * QtPy shim * Make installing on the Mac more obvious * More download Notes? * README in .dmg? == General == == ChimeraX == === General === === Build System === 1) Supporting IDEs - may only need editable installs (will require workaround as namespace packages cannot be installed in this mode automatically) - editable installs should also let us call ChimeraX with Python for rapid iteration and the C launcher for detailed crash info - Zach mentioned PyCharm, LSP (Language Server Protocol), XCode - Greg mentioned Visual Studio 2) API for getting C headers: get_include (see: numpy.get_include) - {{{native-packaging}}} moves bundle header and source files to {{{bundle/src/include/module}}} \ - maybe just use header files? 3) API for getting library directories: get_libdir 4) macOS compiler call in Makefiles === Infrastructure === 1) Beta releases on Toolshed 2) Decoupling core bundle version number from the ChimeraX release number 3) Prereq audit after 27 June 4) arm64 port == Chimera == 1) Back up the build machine to a solid state drive -------------------------- = Discussion = * Tristan wants devtoolset-9 CentOS 7 ChimeraX for compiling ABI compatible ISOLDE. - To compile ISOLDE on Linux compatible with our distributions Tristan needs CentOS 7 - We no longer distribute CentOS 7 ChimeraX so Tristan would have to build his own from scratch. - Tom thinks he is asking for a CentOS 7 ChimeraX so he does not have to build it. - Greg suggests maybe we should switch to use Debian 10 as our base Linux and that would be used for Toolshed packages that use C++. * Github Actions continuous integration - Zach has Linux and Mac builds working - Some trouble with OpenSSL on CentOS 8. Greg says use Makefile.centos which tells ChimeraX not to build openssl. - Zach tried Windows build using WSL instead of Cygwin. Had problems because system identifies itself as Ubuntu. - Greg thinks simplest to keep the Windows builds using Cygwin for now. - Zach says Linux Github build sometimes fails to get plato prereqs. Seems to be firewall issue. - Discussed looking for some cloud hosting for the prereq binaries we include in ChimeraX. * Mac M1 port - Phil Thompson found PyQt6 problem in commercial wheels. - Riverbank license code modifies QtCore.abi3.so (part of PyQt6) invalidating its code signature and does not re-sign it. M1 Mac fails on this, although Intel Mac is fine. - Phil said he will take out license check on Mac until he finds a solution. - He adds the license check using Linux so can[t easily re-sign the Mac library. * QtPy shim - Zach tried using QtPy instead of our Qt shim and it worked after adding our 4 custom shim functions (e.g. that check if Qt object is deleted). - Says QtPy developers might put our 4 functions. - Tom suggests our Qt shim is so simple that replacing with QtPy is not worth the effort. - Would need to keep Qt namespace for plugins. - Tom says qtpy developers showed little interest in Qt 6 a year ago. They seem to maintain it just for their Python IDE (Spider?). So switch to it may not reduce our maintenance. -------------------------- = Action Items = - Present github continuous integration tutorial. Zach