A brief look at the future automatic releases in LibreCAD3: GSoC 2022

Hi everyone! I’m Cristian and I’ll tell you about my project, which intends that anyone who wants to try out the current state of LibreCAD3 can do it as any other application. You should be able to download it as a ‘.exe’, or if you are a Linux user, get it as a ‘.appImage’ or as a ‘snap’ in the Snap store.
The key parts of this proposal are building, packaging, testing and deploying:

  1. Building: When I started getting involved with LibreCAD two months ago, I first started with the Windows installation. The wiki installation was outdated and sometimes confusing for a non-experienced dev. 
    Fortunately, Florian was able to patch all the errors surrounding the installation, and so I finally installed it successfully. After this “week-long installation”, I committed to writing a batch script to install it automatically, which can be consulted in the installation wiki. 
    Also, I updated the Windows guide so anyone with a bit of experience following guides can get it built. The next step will be installing it for Ubuntu. Right now the wiki only covers a long line of packages to be installed with apt. I’ll try it out and update the wiki with additional steps if needed.
  2. Packaging: After LibreCAD3 is built, in Windows it needs to be packaged with QT and Conan dependencies. After having everything together, an extraction script will be needed so that when the ‘.exe’ is executed, its contents are moved and some requirements like PATH variables are appended.
    For Linux, It’ll have to follow AppImage’s & Snapscraft Documentation to get them packaged.
  3. Testing: It’ll have to test the packages before deploying. For AppImage and Snap, some programs can do exactly that. For Windows, It can try to install it from the ‘.exe’ and see if it doesn’t fail.
  4. Deploying: Finally, with all the packages tested, The ‘.appImage’ and ‘.exe’ will be uploaded to Github as a release, while the ‘snap’ will be uploaded to the Snap store.

Hope you like the proposal! If you have any new ideas or improvements on how to tackle this goal feel free to reach me out in Zulip-Chat(@CRiSTiK24) or leave a comment down below!

You can check the complete proposal (12 pages in pdf) and more here:
Link to Librecad’s Gsoc page in wiki

4 thoughts on “A brief look at the future automatic releases in LibreCAD3: GSoC 2022

  1. Hola Cristian.
    Soy un simple usuario apenas más que básico interesado en contribuir he creado alguno bloques que compartí. Y no se mas que hacer sino compartir mi entusiasmo por el software libre y por este programa que me está ayudando en la carrera de arquitectura.
    A pesar de la sugerencia casi obligada de los docentes o ha piratear i usar los programas de pago y sus versiones de estudiante que me obligan a tener Windows con todo los problemas de seguridad principalmente que ello conlleva.
    ¿En que te ayudo?

    • Hola Juan,
      Si quieres contribuir a LibreCAD te recomiendo escribirlo en el Zulip, donde ya he visto que tienes una cuenta. Puedes escribir en el canal #new members. Si no estás cómodo hablando inglés, ya traduciré yo el mensaje.
      Gracias por interesarte!

  2. Can the Windows .exe version be made as a truly portable a la portableapps.com from the onset? This would be especially handy for testing, you can even have several versions at hand to compare.
    By the way, the existing appimage of LC 2.2.0 is not really self contained. If you install and use several versions they interact, the last used one determines the settings.

    • Hi Dellus!
      I’m using cpack+nsis to create the installer. I don’t know if once the installer is totally functional, will it use anything outside it’s folder. Right now I’m having some problems with it because it uses files of the source code instead of the ones inside the installer. You can check the current installer prototype in “https://github.com/CRiSTiK24/AddCI-CDLibreCAD_3”.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.