Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reproducible build for macOS/OSX (.dmg) #7266

Closed
SomberNight opened this issue May 1, 2021 · 0 comments · Fixed by #7415
Closed

Reproducible build for macOS/OSX (.dmg) #7266

SomberNight opened this issue May 1, 2021 · 0 comments · Fixed by #7415
Labels

Comments

@SomberNight
Copy link
Member

SomberNight commented May 1, 2021

Currently the macOS build is not deterministic/reproducible.

It is the last holdout as the Windows exes, Linux AppImage, the Android APKs, and the source dist are all reproducible.

I suspect this might be more convenient if we managed to cross-compile from Linux to macOS first, and then tackle this.

Around early 2018, @bauerj spent some time on trying to make the macOS build reproducible, without success; the approach tried then did not involve cross-compiling from Linux to OSX, but rather to use a Parallels VM with macOS guest running on macOS host, along with small adaptations to the build script (but still using pyinstaller). IIRC the main issue seemed to be compiling the Python interpreter reproducibly. I think bauerj managed to get reproducibility on the same machine, but not across different machines.

@achow101 also tried for HWI, and got similar results.

Note that it would be okay to not build the python interpreter ourselves but e.g. somehow use the "official" build from python.org. This is already what we do for the Windows binaries.

I tried to look several times over the years, but could never find a python project that managed to build reproducible binaries for macOS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant