base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / c- / c-intro-and-ref / package.nix
blobb1b212e1c765097b8dee4fb3092ccdfe1796ef81
2   lib,
3   stdenv,
4   fetchFromSavannah,
5   texinfo,
6   texliveBasic,
7   ghostscript,
8   unstableGitUpdater,
9 }:
10 stdenv.mkDerivation (finalAttrs: {
11   pname = "c-intro-and-ref";
12   version = "0.0-unstable-2024-08-31";
14   src = fetchFromSavannah {
15     repo = "c-intro-and-ref";
16     rev = "62962013107481127176ef04d69826e41f51313c";
17     hash = "sha256-Fmli3x8zvPntvCvV/wbEkxWzW9uDMZgCElPkKo9TS6Y=";
18   };
20   nativeBuildInputs = [
21     texinfo
22     ghostscript
23     texliveBasic
24   ];
26   buildFlags = [
27     "c.info"
28     "c.dvi"
29     "c.pdf"
30     # FIXME: Not a HASH reference at (texinfo)/share/texinfo/Texinfo/Convert/DocBook.pm
31     # "c.doc"
32     "c.html"
33     "c.html.d"
34     "c.txt"
35   ];
37   installPhase = ''
38     runHook preInstall
39     dst_info=$out/share/info
40     dst_doc=$out/share/doc/c-intro-and-ref
41     mkdir -p $dst_info
42     mkdir -p $dst_doc
44     cp -prv -t $dst_info \
45         c.info c.info-*
46     cp -prv -t $dst_doc \
47         c.dvi \
48         c.pdf \
49         c.html \
50         c.html.d \
51         c.txt
52     runHook postInstall
53   '';
55   passthru.updateScript = unstableGitUpdater { };
57   meta = {
58     description = "GNU C Language Intro and Reference Manual";
59     longDescription = ''
60       This manual explains the C language for use with the GNU Compiler
61       Collection (GCC) on the GNU/Linux operating system and other systems. We
62       refer to this dialect as GNU C. If you already know C, you can use this as
63       a reference manual.
64     '';
65     homepage = "https://www.gnu.org/software/c-intro-and-ref/";
66     changelog = "https://git.savannah.nongnu.org/cgit/c-intro-and-ref.git/plain/ChangeLog?id=${finalAttrs.src.rev}";
67     license = lib.licenses.fdl13Plus;
68     maintainers = with lib.maintainers; [ rc-zb ];
69     platforms = lib.platforms.all;
70   };