← Back to team overview

kicad-developers team mailing list archive

Re: Mac packaging plans for V5 and beyond

 

Drats!  I forgot to include the link to the builds page (which is
definitely not ready for primetime):
https://builder.wayneandlayne.com/job/CompileKiCadOnCleanVM/

Adam Wolf

On Tue, Nov 14, 2017 at 4:02 PM, Adam Wolf
<adamwolf@xxxxxxxxxxxxxxxxxxxx> wrote:
> Hi folks!
>
> I have some things I've been working on for KiCad for quite a long
> time, and I'd like to wait to show them off once they're finished, but
> I want to announce them before the feature freeze for v5 (and maybe
> even get some help).
>
> 1) Reworking how python is included.  I'm now following the way Apple
> suggests, and this seems to fix some long-standing bugs with people
> who have already had things installed.  This is basically ready today,
> and could be incorporated into our nightlies at almost any time (with
> buy-in from Nick and everyone else who does those), but could also
> wait until #4.
>
> 2) Signing.  I got an Apple key for my business so I can sign binaries
> and they won't pop up that annoying warning.  I have this working on
> my system, however, it cannot work with the symlink method that we're
> using right now for macOS packaging.  Chris and I have been talking
> about changing this on and off--it definitely won't happen before V5,
> but I'd like to get it in the works so it's finished by V6.
>
> The remaining work on this is to document the issues with the symlink
> method, brainstorm ideas to see if there's an option Chris and I
> missed, and get buy-in and schedule the work before the V6 freeze.
>
> 3) Builds!  A good friend of mine tried to get KiCad to build based on
> our build page, and he spent nearly two weeks and was unable to get it
> to build on macOS or Linux, and he does software development for a
> living!  Based on that, I thought I could help out.  I wrote some
> simple scripts, and now I am creating a new VM for a variety of OSes
> from a clean template, telling them to patch themselves with all the
> latest security patches, and then running an extremely minimal build
> script that just tests to see if it builds.  I am currently doing this
> for Ubuntu 16.04, 16.10, 17.04, 17.10, and macOS 10.12, everyday.  (I
> will be adding macOS 10.13 and 10.9-10.11, as well as Fedora 25 and 26
> shortly.)  This is not for packaging, this is just for developers to
> see that "hey, if you follow this short list of instructions, you
> should be able to get kicad building on your system".
>
> I remember all the pain we had supporting builds on the developer list
> in the past, and I do not want to bring that back, but this should
> help warn us if the dependency names change, or if something breaks on
> those systems.
>
> The remaining work on this is mostly documentation.  I need to
> document how other people can use these scripts, and also, if we have
> buy-in, rework the builds page so that it's easier for new developers
> to get started building KiCad.
>
> 4) Reworking the macOS build scripts.  I have been talking about this
> for three years.  I am reworking the macOS build scripts, and actually
> basing them on CMake :)  I have Python, wxwidgets, wxpython, and kicad
> building already working.  Next I will be adding docs, packaging a
> dmg, packaging the extras dmg.
>
> Right now I'm using them with Clion to add a feature to KiCad, and
> they're pretty slick!
>
> The next steps here are for me to get it so this has the same output
> as the current system, and then get buy-in to switch to it for
> nightlies.  Once this has happened, I can use this to make stable
> builds in a VM.  This is important, because the way the V4 stable
> builds were made, using some tricks with homebrew, has been
> discontinued and it will be trickier and trickier to make new stable
> releases that way.
>
> #4 is the actual top priority-I want to replace nightlies and stable
> with that new packaging script before V5 comes out, and I'm working on
> it every day.
>
> I can do most of them on my own if it isn't interesting work to other
> people, but if people want to help, let me know and I can set them up
> on Github and set up some issues.  I have to say, most of these items
> have been on my radar for awhile, and I'm glad I finally spent the
> time and read the 100+ page docs from Apple and did a bunch of
> experiments and finally made some breakthroughs!
>
> Adam Wolf


Follow ups

References