klayout icon indicating copy to clipboard operation
klayout copied to clipboard

Add KLayout as an official MSYS2 (MINGW32/MINGW64) package

Open umarcor opened this issue 3 years ago • 0 comments

The packaging strategy in MSYS2 is based on Arch Linux's pacman and PKGBUILD recipes. Since building KLayout on MSYS2 using a custom procedure is supported already, it would be handy to have it adapted to a PKGBUILD script. PKGBUILD scripts are rather simple bash scripts with a few (2-3) functions and some metadata.

  • The main benefits for windows users would be:
    • Installing KLayout through pacman -S mingw-w64-x86_64-klayout and having it updated automatically through pacman -Syu.
    • Better (but not seamless) integration with other Python/PIP tools.
  • For developers, building KLayout on MSYS2 would be simplified to executing makepkg-mingw.
  • There is a nice service that allows both users and developers to know when there is some issue with building/updating KLayout: https://packages.msys2.org/queue

hdl.github.io/MINGW-packages is a subproject of github.com/hdl, which aims at tracking support of EDA tooling. There are some interesting references there:

  • Serial Studio is a Qt based tool with a simple build procedure: https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-serial-studio/PKGBUILD
  • Fritzing is also based on Qt, but the build procedure is slightly challenging: https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-fritzing/PKGBUILD

I helped either packaging or updating the packages for MSYS2 of several EDA tools by providing CI setups based on msys2/setup-msys2. Some projects decided to merge them, while others keep them as PRs, which I rebase every once in a while. See iverilog, verilator, gtkwave, GHDL, etc.

I'd like to help with KLayout too. Yet, I'm kind of afraid of the complexity (https://github.com/KLayout/klayout/issues/494#issuecomment-584356545). @klayoutmatthias, what do you think?

umarcor avatar Mar 23 '21 04:03 umarcor