Skip to content
  • Matt Harbison's avatar
    packaging: vendor the scripts used to build the official macOS installers · 379199a5db42
    Matt Harbison authored
    The scripts download and/or build all of the required dependencies, create a
    virtualenv to install them, and then build the app bundle from there.  They
    expect a `thg` and `hg` repo in `contrib/packaging/macos/src`, so to build for
    now, add a symlink back to the repo root, and symlink to a local Mercurial repo.
    Then run `build.sh` from that directory.
    
    With Bitbucket going away, I think it's important to capture this as-is for
    reference before integrating it more tightly.  This is unmodified from my latest
    pull request to fix a build failure[1] (followed by some cleanup by Sam Hathaway
    and me), except that I adjusted the `background.png` and `TortoiseHg.icns` to
    keep it working, and I generated a requirements file for the external python
    packages based on what the script installed to successfully build 5.3rc0.
    
    Also for whatever reason, OpenSSL fails to link on my system with Xcode 10
    installed.  The errors are mostly around _OBJ_xxx symbols like _OBJ_txt2obj and
    _OBJ_sigid_free being missing.  I have no idea why this is, and the command line
    tools work fine, so build_settings.conf is adjusted to use the command line
    tools if they are installed.
    
    The next steps are to get rid of some of the cruft (Qt4, the separate setup.py,
    and so forth).  I had some success building a py3 .app with some modifications,
    so this may end up being more than an historical reference when py2 support is
    dropped.  (Sadly the py3 app crashed on startup, complaining about some missing
    imports.  But so did a manually built .app using setup.py in the repo root.)
    
    [1] https://groups.google.com/forum/#!msg/thg-dev/vD6mbg3DTmg/1HoU6UdUBwAJ
    379199a5db42