You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: contrib/macdeploy/README.md
+7-12Lines changed: 7 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ The `macdeployqtplus` script should not be run manually. Instead, after building
6
6
make deploy
7
7
```
8
8
9
-
When complete, it will have produced `Dash-Qt.dmg`.
9
+
When complete, it will have produced `Dash-Core.zip`.
10
10
11
11
## SDK Extraction
12
12
@@ -54,10 +54,10 @@ path to `Xcode.app` (extracted in the previous stage) as the first argument.
54
54
The generated archive should be: `Xcode-15.0-15A240d-extracted-SDK-with-libcxx-headers.tar.gz`.
55
55
The `sha256sum` should be `c0c2e7bb92c1fee0c4e9f3a485e4530786732d6c6dd9e9f418c282aa6892f55d`.
56
56
57
-
## Deterministic macOS DMG Notes
57
+
## Deterministic macOS App Notes
58
58
59
-
Working macOS DMGs are created in Linux by combining a recent `clang`, the Apple
60
-
`binutils` (`ld`, `ar`, etc) and DMG authoring tools.
59
+
macOS Applications are created in Linux by combining a recent `clang` and the Apple
60
+
`binutils` (`ld`, `ar`, etc).
61
61
62
62
Apple uses `clang` extensively for development and has upstreamed the necessary
63
63
functionality so that a vanilla clang can take advantage. It supports the use of `-F`,
@@ -86,21 +86,16 @@ created using these tools. The build process has been designed to avoid includin
86
86
SDK's files in Guix's outputs. All interim tarballs are fully deterministic and may be freely
87
87
redistributed.
88
88
89
-
[`xorrisofs`](https://www.gnu.org/software/xorriso/) is used to create the DMG.
90
-
91
-
A background image is added to DMG files by inserting a `.DS_Store` during creation.
92
-
93
89
As of OS X 10.9 Mavericks, using an Apple-blessed key to sign binaries is a requirement in
94
90
order to satisfy the new Gatekeeper requirements. Because this private key cannot be
95
91
shared, we'll have to be a bit creative in order for the build process to remain somewhat
96
92
deterministic. Here's how it works:
97
93
98
-
- Builders use Guix to create an unsigned release. This outputs an unsigned DMG which
94
+
- Builders use Guix to create an unsigned release. This outputs an unsigned ZIP which
99
95
users may choose to bless and run. It also outputs an unsigned app structure in the form
100
-
of a tarball, which also contains all of the tools that have been previously (deterministically)
101
-
built in order to create a final DMG.
96
+
of a tarball.
102
97
- The Apple keyholder uses this unsigned app to create a detached signature, using the
103
98
script that is also included there. Detached signatures are available from this [repository](https://github.com/dashpay/dash-detached-sigs).
104
99
105
100
- Builders feed the unsigned app + detached signature back into Guix. It uses the
106
-
pre-built tools to recombine the pieces into a deterministic DMG.
101
+
pre-built tools to recombine the pieces into a deterministic ZIP.
0 commit comments