-
Notifications
You must be signed in to change notification settings - Fork 37.7k
doc: revamp macOS build doc #21343
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
doc: revamp macOS build doc #21343
Conversation
Why dropped "Usually, macOS installation already has a suitable SQLite installation." ? |
Since it was introduced in 10.14, which is our minimum supported macOS, I guess you're right in that it can stay |
6d08ec2
to
4780ea7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems sub optimal that we are basically just copy pasting blocks of dependencies throughout all the build docs. Isn't the point of dependencies.md to list the dependencies, what they are, and when they are required?
I think the same can be said for all of the "configuration" blocks. These seem to get repeated (across lots of docs) in varying combinations and levels of verbosity, and I'd think a lot of the time they might just be downright confusing to a first time builder.
This also includes the parts where configure output is basically pasted verbatim into documentation. i.e upnp or libnatpmp options. Can't we just tell users to look at configure --help
? This means they'll always be getting accurate information; rather than something pasted into a build doc that now may have drifted from what actually happens.
## Dependencies | ||
```shell | ||
brew install automake libtool boost miniupnpc libnatpmp pkg-config python qt libevent qrencode | ||
Homebrew is a package manager for macOS that allows one to install packages from the command line easily. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I preferred the one liner with a link to https://docs.brew.sh/Installation. I don't think we need a paragraph explaining brew, or listing the actual install invocation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed the install invocation in c180c91
I want this paragraph to just be a quick explanation that the commands use homebrew but they are free to use whatever package manager they use and adapt the commands. I added the following line to make this clearer:
Otherwise, you can adapt the commands to your package manager of choice.
Not exactly copy-pasting. Naming and links are different. I don't think it would be 'better' to point to dependencies.md and have the user figure out how that dependency correlates to their system.
Just trying to improve that situation across the build docs so that it's informative in the right ways to get someone up and running with a couple of examples that are relevant.
Well I was thinking that the build docs can be a one-stop place on how to get up and running. I think it would be way more confusing for a first time builder to have to hop through 3 different files and try to piece together the right information. The information doesn't need to drift away from what's happening if it's maintained. |
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsNo conflicts as of last run. |
This pr makes the macOS build docs more informative and adds in the following information: - Proper descriptions and delineation of required/optional dependencies - walk-through of optional dependencies - configuration walk-through - various other tid-bits of information
4780ea7
to
c180c91
Compare
Updated from 4780ea7 -> c180c91, rebased to resolve conflict with #21346 and addressed some of @fanquake suggestions. changes:
Justification: |
🕵️ @harding has been requested to review this pull request as specified in the REVIEWERS file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK c180c91 - I still think these are getting too verbose and we're duplicating information all over the place; dependencies, configure options, combinations of options etc. However if people are happy to maintain them, I guess it's fine for now, and this revamping has already happened for some of the other build READMEs.
This PR makes the macOS build-docs more informative and adds in the following information:
This is a part of the efforts done in #20601 and #20610 to update the docs and introduce some consistency between them.
This update does not add instructions for arm-based M1 Macbooks as I do not have one to test with. It would be nice to have someone follow up with an update containing instructions for arm-based Macs.
Before/Master: render
After/PR: render