nushell / nushell/nushell.github.io

Status of dependencies unclear

Open
#823 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
258
Forks
561
Avg merge
3h 20m
Merged PRs (30d)
15

Description

I think the dependencies section of the docs needs some help. Somebody recently pointed out that "libx11 is no longer required" with a link to some commit where it was dropped, but the docs are not clear on this subject.

https://github.com/nushell/nushell.github.io/blob/343ee0ad909630ca1cf87dc20a24f8fc75b21d9e/book/installation.md?plain=1#L51-L69

This section leaves me (as a distro packager for Arch Linuk) with more questions than answers. Why are X11 and XCB libs required on RedHat based distros but not Debian based? Is pkg-config a run time dependency or a build time dependencies? Why does some packaging list curl and bzip2 as dependencies, were these once dependencies now removed, or just undocumented, or just packaging mistakes? Why does macOS need cmake but not other platforms? Experimentally nushell seems to build without XCB or X11 libs, and searching the code base suggests nothing about XCB is used any more.

Can somebody that actually knows clarify what is actually needed at build & run times now and document these as generic dependencies, then comment in the per-distro sections on why those lists vary (e.g. perhaps one was assuming Ubuntu has X11 installed, something that may be true for most workstations but not necessarily servers).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with book/installation.md around lines 51-69 and inspect the referenced commit. Compare the documented per-distro and macOS dependency lists, distinguishing build-time from runtime requirements and checking the issue's questions about X11, XCB, pkg-config, curl, bzip2, and cmake. Done means the generic and platform-specific dependency documentation explains the differences clearly.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, linux, macos
Domain
build-system, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.