fanquake
commented at 4:04 pm on February 14, 2023:
member
Reviving the discussion around using a .zip for the distributed macOS binaries, as opposed to a .dmg.
Given we only had a single report of the “no finder window” issue (#26176), I wonder if that means macOS users were able to figure it out, they gave up/didn’t report, or, we just have very few macOS users.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
Conflicts
Reviewers, this pull request conflicts with the following ones:
#25573 ([POC] guix: produce a fully -static-pie bitcoind by fanquake)
#25391 (guix: Use LTO to build releases by fanquake)
#24123 (build: Pointer Authentication and Branch Target Identification for aarch64 Linux (Guix) by fanquake)
#21778 (build: LLD based macOS toolchain by fanquake)
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
prusnak
commented at 5:10 pm on February 14, 2023:
contributor
Concept ACK
At present, the user experience with DMG is terrible (as noted in this issue: #26176). If there’s no straightforward solution on the horizon, it would be best to switch to using ZIP instead. Using DMG without a Finder window provides no advantages and only leads to a lot of confusion. As evidence, Visual Studio Code has recently started distributing their macOS builds as ZIP files instead of DMGs, as you can see on their download page: https://code.visualstudio.com/Download.
RandyMcMillan
commented at 9:00 pm on February 14, 2023:
contributor
Concept ACK
tested on macOS 12.6.1 (21G217) Python 3.10.9
tested on macOS 10.15.7 (19H2026) Python 3.10.9
Sjors
commented at 10:38 am on February 15, 2023:
member
DrahtBot removed the label
Needs rebase
on Mar 1, 2023
fanquake force-pushed
on Mar 3, 2023
fanquake marked this as ready for review
on Mar 3, 2023
fanquake
commented at 2:33 pm on March 3, 2023:
member
A few Concept ACKs here, so have rebased and undrafted.
Sjors
commented at 12:22 pm on March 30, 2023:
member
This is definitely nicer. When you doubleclick on the zip file it magically reveals the orange icon:
The only thing we need to remind the user of, is to drag it to their applications folder. Worst case: they forget, sync a node, delete everything in the download folder. This won’t delete the blockchain or their wallet, which are stored elsewhere. Simply redownload and it will work again. But it may scare users. It’s the same as with other macOS applications.
In a followup we could improve this further by moving everything in the archive into a folder. That folder could contain a README, and we could even include bitcoin-cl, bitcoind and (more important perhaps) bitcoin-wallet somewhere.
Sjors
commented at 12:29 pm on March 30, 2023:
member
The above was done with make deploy on macOS. I’d like to test the Guix build too. @achow101 can you sign it? Or is there a way to self-sign it?
in
contrib/guix/manifest.scm:8
in
c5342f0877outdated
Unfortunately, using the -r option still introduces non-reproducibilty. Diffoscope points at some metadata related to directories. Not sure, but it looks like they are about creation timestamps.
Suggesting to use the same approach as we are using for Windows builds:
0 find $(APP_DIST_DIR) | sort | zip -X@ $@
With this diff, two subsequent runs on my Ubuntu 22.04 returned the same hashes.
hebasto
commented at 6:58 pm on June 27, 2023:
member
As evidence, Visual Studio Code has recently started distributing their macOS builds as ZIP files instead of DMGs, as you can see on their download page: code.visualstudio.com/Download.
In comparison to UX of downloading VSCode-darwin.zip, in the current PR branch in Guix archive, there is a top directory named dist, which seems redundant:
hebasto
commented at 6:03 am on June 28, 2023:
member
Someone on Twitter drew attention to potential security implications, for instance:
Sjors
commented at 5:40 pm on September 6, 2023:
member
tACK8a6275ba6ea6e8eb5342442221d27d71670e0be8
Tested that it produces a working zip / binary for me on Intel macOS 13.5.1, both when using make deploy on the machine itself, and when using Guix on Ubuntu (AMD).
DrahtBot removed review request from Sjors
on Sep 6, 2023
build: add -zip option to macdeployqtplus
This zips the app bundle in /dist.
bc95abd588
build: produce a .zip for macOS distribution
Instead of a .dmg.
b7e409b7bf
macdeploy: remove DMG generation from deploy scripte78916bf9d
build: remove dmg dependencies11f8b6b2b5
fanquake force-pushed
on Sep 7, 2023
hebasto
commented at 10:58 am on September 7, 2023:
member
Having an error when building Guix:
0cd ./dist && find . | sort | zip -X@ ..//distsrc-base/distsrc-11f8b6b2b58e-x86_64-apple-darwin/output/bitcoin-11f8b6b2b58e-x86_64-apple-darwin-unsigned.zip
1zip I/O error: No such file or directory
2zip error: Could not create output file (..//distsrc-base/distsrc-11f8b6b2b58e-x86_64-apple-darwin/output/bitcoin-11f8b6b2b58e-x86_64-apple-darwin-unsigned.zip)
fanquake
commented at 10:59 am on September 7, 2023:
member
Someone else can take this over if interested.
fanquake closed this
on Sep 7, 2023
fanquake added the label
Up for grabs
on Sep 7, 2023
Sjors
commented at 1:41 pm on September 7, 2023:
member
Difference between my ACK and the last push:
0$ git range-diff master 8a6275ba6ea6e8eb5342442221d27d71670e0be8 HEAD
11: 667d5735ce = 1: bc95abd588 build: add -zip option to macdeployqtplus
22: 85f8152b47 ! 2: b7e409b7bf build: produce a .zip for macOS distribution
3 @@ Makefile.am: osx_volname:
4 - $(XORRISOFS) -D -l -V "$(OSX_VOLNAME)" -no-pad -r -dir-mode 0755 -o $@ $(APP_DIST_DIR) -- $(if $(SOURCE_DATE_EPOCH),-volume_date all_file_dates =$(SOURCE_DATE_EPOCH))
5 +$(OSX_ZIP): deploydir
6 + if [ -n "$(SOURCE_DATE_EPOCH)" ]; then find $(APP_DIST_DIR) -exec touch -d @$(SOURCE_DATE_EPOCH) {} +; fi
7 -+ find $(APP_DIST_DIR) | sort | zip -X@ $@
8 ++ cd $(APP_DIST_DIR) && find . | sort | zip -X@ ../$@
910 $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
11 INSTALL_NAME_TOOL=$(INSTALL_NAME_TOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) $(OSX_VOLNAME) -translations-dir=$(QT_TRANSLATION_DIR)
123: 117d01be1d = 3: e78916bf9d macdeploy: remove DMG generation from deploy script
134: 8a6275ba6e = 4: 11f8b6b2b5 build: remove dmg dependencies
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2025-06-27 15:13 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me