As of latest unstable, man pages for c functions no longer works.
In /etc/nixos/configuration.nix:
environment.systemPackages = with pkgs; [
...
manpages
...
];
andy@xps:~$ man memcpy
No manual entry for memcpy
Ah, well, sections 2 and 3 are in a separate output. In any case, you should get them if you add manpages.docdev.
Perhaps we could have a top-level alias for these, e.g. man-pages-c. I split them, as those sections seem not needed by most man-page users, and they took the vast majority of space – du reports 8.5 MiB docdev and 1.4 MiB out.
Ah thanks. This makes sense. As a user though I have no way to know that I should update my configuration (apart from your helpful comment). I'm not sure how to solve this problem though apart from reading every commit to nixpkgs!
I also don't know. Note that this isn't much package-specific. man3 pages and gtk-doc are either split or deleted by default.
Why was this issue closed?
@edolstra: do you have a suggestion about what to change?
Propably manpages should not have a split docdev output, or docdev should be installed by default.
At least, I'm assuming that pretty much the only people who install manpages are developers, but I might be wrong about that...
I assumed that C(++) systems programming isn't that common, compared to using (shell) commands, but I don't have any statistics about that. I certainly don't feel strongly about either way.
Example: Debian+Ubuntu split these into manpages-dev package, but our .dev has a bit different meaning than their -dev so it doesn't really seem to fit. Fedora seems not to split them.
Just confirming. The comment says that man 3 and man 2 are kept in docdev. But the expressions seems to only move man 2:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/data/documentation/man-pages/default.nix#L12-L17
@CMCDragonkai: man3 is auto-moved by the generic code https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/setup-hooks/multiple-outputs.sh#L143. I didn't add any general magic for man2, because I couldn't see any package providing them except for explicit manual packages.
Did this ever get resolved?
$ nix-shell -p manpages --run 'man memcpy'
No manual entry for memcpy
$ nix-shell -p manpages.docdev --run 'man memcpy'
error: attribute 'docdev' missing, at (string):1:94
Missing section 3 strikes me as a bug for a standard Linux operating system. Feel free to strip it out of embedded devices, of course. But when lots of utility pages refer to lib pages, it's a poor experience to have them mysteriously missing. (e.g. getopt(1) referring to getopt(3))
Looks like this still isn't solved. Is there a solution ?
Yeah, more or less. See https://nixos.wiki/wiki/Man_pages for how to get man pages (and https://github.com/NixOS/nixpkgs/issues/11501 for context).
Most helpful comment
Yeah, more or less. See https://nixos.wiki/wiki/Man_pages for how to get man pages (and https://github.com/NixOS/nixpkgs/issues/11501 for context).