doc: Compress doc/build-unix.md dependency package names into table #35402

pull maflcko wants to merge 1 commits into bitcoin:master from maflcko:2605-doc-build-compress changing 1 files +22 −154
  1. maflcko commented at 9:24 AM on May 28, 2026: member

    Currently, doc/build-unix.md is tediously verbose, because for several Linux distros, it has exact duplicate sections with only the package names adjusted.

    This is hard to maintain, and review. Also, it is hard to read, and hard to use, because a one-line copy-paste does not work to fetch the list of packages.

    Fix all issues by compressing the 150+ lines into a small table and a short description.

  2. DrahtBot added the label Docs on May 28, 2026
  3. DrahtBot commented at 9:25 AM on May 28, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35402.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK darosior, sedited, hebasto, achow101
    Stale ACK willcl-ark

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #34411 ([POC] Full Libevent removal 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.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  4. willcl-ark commented at 10:05 AM on May 28, 2026: member

    Concept ACK.

    Only nit is that this feels less "copy paste-able", but perhaps thats fine (it does work, just a bit nasty in the github UI).

    I did look at another more verbose layout, but I don't think it's better: https://gist.github.com/willcl-ark/b440202ea9ff5c9254f1ad7e5485fde2#dependencies

  5. maflcko commented at 10:12 AM on May 28, 2026: member

    Only nit is that this feels less "copy paste-able", but perhaps thats fine (it does work, just a bit nasty in the github UI).

    Yeah, I think it is more user-friendly to be one-line copy-pasteable than having to switch tabs and copy paste each dependency individually. For reference, for me it looks something like this:

    <img width="1288" height="208" alt="Screenshot 2026-05-28 at 12-09-35 doc Compress doc_build-unix md dependency package names into table by maflcko · Pull Request [#35402](/bitcoin-bitcoin/35402/) · bitcoin_bitcoin" src="https://github.com/user-attachments/assets/fe62bb1a-8232-493e-9936-878ffe361ff7" />

    Which I can paste into my terminal:

    $ echo gcc-c++ cmake make python3 libevent-devel boost-devel   sqlite-devel    capnproto capnproto-devel       zeromq-devel    systemtap-sdt-devel     qt6-qtbase-devel qt6-qttools-devel qt6-qtwayland qrencode-devel
     
    gcc-c++ cmake make python3 libevent-devel boost-devel sqlite-devel capnproto capnproto-devel zeromq-devel systemtap-sdt-devel qt6-qtbase-devel qt6-qttools-devel qt6-qtwayland qrencode-devel
    
  6. DrahtBot added the label CI failed on May 28, 2026
  7. maflcko force-pushed on May 28, 2026
  8. maflcko force-pushed on May 28, 2026
  9. maflcko force-pushed on May 28, 2026
  10. DrahtBot removed the label CI failed on May 28, 2026
  11. willcl-ark commented at 1:23 PM on May 28, 2026: member

    Oh no.

    For reference, for me it looks something like this

    I didn't try copying across rows. It works just fine, my bad.

    Did we want to add nix here? If so could add;

    | Nix (`nix-shell -p`)       | `gcc gnumake cmake pkg-config python3 libevent boost` | `sqlite` | `capnproto` | `zeromq` | `linuxPackages.systemtap` | `qt6.qtbase qt6.qttools qt6.qtwayland qrencode` |
    

    although it's slighty debatable (lol) and could be debated in a followup :)

  12. willcl-ark approved
  13. willcl-ark commented at 1:24 PM on May 28, 2026: member

    ACK fa27e2191914badd53d167a142936023349955b7

  14. in doc/build-unix.md:75 in fa27e21919
     104 | -    sudo apt install qt6-wayland
     105 | -
     106 | -The GUI will be able to encode addresses in QR codes unless this feature is explicitly disabled. To install libqrencode, run:
     107 | -
     108 | -    sudo apt-get install libqrencode-dev
     109 | +Additionally, install qt6-wayland to support Wayland protocol for modern desktop environments.
    


    hebasto commented at 2:46 PM on May 28, 2026:

    nit:

    Additionally, install `qt6-wayland` to support Wayland protocol for modern desktop environments.
    

    maflcko commented at 2:53 PM on May 28, 2026:

    The meaning in the text is not a package name, but the package title. I guess I should replace the - with a space instead?


    hebasto commented at 3:10 PM on May 28, 2026:

    In that case, it is "Qt 6 Wayland platform plugin".


    maflcko commented at 4:05 PM on May 28, 2026:

    thx, fixed

  15. hebasto commented at 2:47 PM on May 28, 2026: member

    Concept ACK.

    re: #35395 (comment)

    Going further, maybe we can just merge build-bsd.md and build-unix.md into a single build.md (and only keep build-osx and build-windows)...

    For macOS, the first column could be filled with brew, and for Windows, it could use vcpkg (which would be installed separately from Visual Studio).

  16. maflcko commented at 2:57 PM on May 28, 2026: member

    Did we want to add nix here? If so could add;

    Let's keep this one move-only for now

    Going further, maybe we can just merge build-bsd.md and build-unix.md into a single build.md (and only keep build-osx and build-windows)...

    For macOS, the first column could be filled with brew, and for Windows, it could use vcpkg (which would be installed separately from Visual Studio).

    Ok, but this requires moving/deleting files. Not sure how controversial that is, but I am happy to try in a follow-up.

  17. hebasto approved
  18. hebasto commented at 3:11 PM on May 28, 2026: member

    ACK fa27e2191914badd53d167a142936023349955b7.

  19. in doc/build-unix.md:20 in fa27e21919


    hebasto commented at 3:15 PM on May 28, 2026:

    This link no longer seems to work.


    maflcko commented at 4:05 PM on May 28, 2026:

    nice catch, fixed

  20. maflcko force-pushed on May 28, 2026
  21. hebasto approved
  22. hebasto commented at 4:10 PM on May 28, 2026: member

    re-ACK fabe20dd8d8078012cb6d73bb3241e603687b4ac.

  23. DrahtBot requested review from willcl-ark on May 28, 2026
  24. DrahtBot added the label CI failed on May 28, 2026
  25. in doc/build-unix.md:45 in fabe20dd8d
      46 | +## Dependencies
      47 |  
      48 | -Build requirements for the latest Debian "stable" release, or the latest Ubuntu LTS release:
      49 | +You can either build from self-compiled [depends](/depends/README.md) or
      50 | +install the dependencies from your distribution package manager. Optional ones
      51 | +can be skipped. See [dependencies.md](dependencies.md) for a complete overview.
    


    darosior commented at 5:46 PM on May 28, 2026:

    Optional ones

    This doesn't say which are optional, also this:

    Optional ones can be skipped

    seems tautological.

    Could fix both issues by saying something like "dependencies for additional features in later column are optional".


    maflcko commented at 6:45 PM on May 28, 2026:

    Could fix both issues by saying something like "dependencies for additional features in later column are optional".

    Thx, done. Also removed the redundant link to dependencies.md, which follows after the table already.

  26. darosior approved
  27. darosior commented at 5:48 PM on May 28, 2026: member

    utACK fabe20dd8d8078012cb6d73bb3241e603687b4ac my optional nit can be skipped

  28. maflcko force-pushed on May 28, 2026
  29. doc: Compress doc/build-unix.md dependency package names into table fa787043f5
  30. maflcko force-pushed on May 28, 2026
  31. darosior approved
  32. darosior commented at 6:49 PM on May 28, 2026: member

    ACK fa787043f569b9a8f52536ae7ee9ed4b55c2a2df

  33. DrahtBot requested review from hebasto on May 28, 2026
  34. sedited approved
  35. sedited commented at 7:28 PM on May 28, 2026: contributor

    ACK fa787043f569b9a8f52536ae7ee9ed4b55c2a2df

    Looking these docs over, should we be mentioning the cmake presets somewhere in them?

  36. DrahtBot removed the label CI failed on May 28, 2026
  37. maflcko commented at 8:12 PM on May 28, 2026: member

    Looking these docs over, should we be mentioning the cmake presets somewhere in them?

    Which one? The dev-mode isn't really applicable to end-users. Also, my preference would be to keep this move-only for now.

  38. hebasto approved
  39. hebasto commented at 9:37 AM on May 29, 2026: member

    re-ACK fa787043f569b9a8f52536ae7ee9ed4b55c2a2df.

  40. achow101 commented at 10:25 PM on May 29, 2026: member

    ACK fa787043f569b9a8f52536ae7ee9ed4b55c2a2df

  41. achow101 merged this on May 29, 2026
  42. achow101 closed this on May 29, 2026


github-metadata-mirror

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: 2026-05-29 23:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me