diff options
author | Ryan Mulligan <ryan@ryantm.com> | 2020-11-30 22:08:16 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-30 22:08:16 -0800 |
commit | 1810623a7781c86ac3c0df81b9a8e361c8504af1 (patch) | |
tree | f6ecaf23de32eaabb81f58228d6d3b7eef103a97 /doc | |
parent | 795f75f21deffcb58b63795af1d12af51c4ee481 (diff) | |
parent | 874e3587eef756c7845d63cffe00a2f3662a8aee (diff) | |
download | nixpkgs-1810623a7781c86ac3c0df81b9a8e361c8504af1.tar nixpkgs-1810623a7781c86ac3c0df81b9a8e361c8504af1.tar.gz nixpkgs-1810623a7781c86ac3c0df81b9a8e361c8504af1.tar.bz2 nixpkgs-1810623a7781c86ac3c0df81b9a8e361c8504af1.tar.lz nixpkgs-1810623a7781c86ac3c0df81b9a8e361c8504af1.tar.xz nixpkgs-1810623a7781c86ac3c0df81b9a8e361c8504af1.tar.zst nixpkgs-1810623a7781c86ac3c0df81b9a8e361c8504af1.zip |
Merge pull request #105481 from MostAwesomeDude/docs-commonmark-xorg
doc/builders/packages/xorg: Convert to CommonMark.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/builders/packages/index.xml | 2 | ||||
-rw-r--r-- | doc/builders/packages/xorg.section.md | 34 | ||||
-rw-r--r-- | doc/builders/packages/xorg.xml | 34 |
3 files changed, 35 insertions, 35 deletions
diff --git a/doc/builders/packages/index.xml b/doc/builders/packages/index.xml index d967718cab3..3007c297c16 100644 --- a/doc/builders/packages/index.xml +++ b/doc/builders/packages/index.xml @@ -21,5 +21,5 @@ <xi:include href="cataclysm-dda.section.xml" /> <xi:include href="urxvt.xml" /> <xi:include href="weechat.section.xml" /> - <xi:include href="xorg.xml" /> + <xi:include href="xorg.section.xml" /> </chapter> diff --git a/doc/builders/packages/xorg.section.md b/doc/builders/packages/xorg.section.md new file mode 100644 index 00000000000..be220a25404 --- /dev/null +++ b/doc/builders/packages/xorg.section.md @@ -0,0 +1,34 @@ +# X.org {#sec-xorg} + +The Nix expressions for the X.org packages reside in `pkgs/servers/x11/xorg/default.nix`. This file is automatically generated from lists of tarballs in an X.org release. As such it should not be modified directly; rather, you should modify the lists, the generator script or the file `pkgs/servers/x11/xorg/overrides.nix`, in which you can override or add to the derivations produced by the generator. + +## Katamari Tarballs + +X.org upstream releases used to include [katamari](https://en.wiktionary.org/wiki/%E3%81%8B%E3%81%9F%E3%81%BE%E3%82%8A) releases, which included a holistic recommended version for each tarball, up until 7.7. To create a list of tarballs in a katamari release: + +```ShellSession +export release="X11R7.7" +export url="mirror://xorg/$release/src/everything/" +cat $(PRINT_PATH=1 nix-prefetch-url $url | tail -n 1) \ + | perl -e 'while (<>) { if (/(href|HREF)="([^"]*.bz2)"/) { print "$ENV{'url'}$2\n"; }; }' \ + | sort > "tarballs-$release.list" +``` + +## Individual Tarballs + +The upstream release process for [X11R7.8](https://x.org/wiki/Releases/7.8/) does not include a planned katamari. Instead, each component of X.org is released as its own tarball. We maintain `pkgs/servers/x11/xorg/tarballs.list` as a list of tarballs for each individual package. This list includes X.org core libraries and protocol descriptions, extra newer X11 interface libraries, like `xorg.libxcb`, and classic utilities which are largely unused but still available if needed, like `xorg.imake`. + +## Generating Nix Expressions + +The generator is invoked as follows: + +```ShellSession +cd pkgs/servers/x11/xorg +<tarballs.list perl ./generate-expr-from-tarballs.pl +``` + +For each of the tarballs in the `.list` files, the script downloads it, unpacks it, and searches its `configure.ac` and `*.pc.in` files for dependencies. This information is used to generate `default.nix`. The generator caches downloaded tarballs between runs. Pay close attention to the `NOT FOUND: $NAME` messages at the end of the run, since they may indicate missing dependencies. (Some might be optional dependencies, however.) + +## Overriding the Generator + +If the expression for a package requires derivation attributes that the generator cannot figure out automatically (say, `patches` or a `postInstall` hook), you should modify `pkgs/servers/x11/xorg/overrides.nix`. diff --git a/doc/builders/packages/xorg.xml b/doc/builders/packages/xorg.xml deleted file mode 100644 index ebf4930cc09..00000000000 --- a/doc/builders/packages/xorg.xml +++ /dev/null @@ -1,34 +0,0 @@ -<section xmlns="http://docbook.org/ns/docbook" - xmlns:xlink="http://www.w3.org/1999/xlink" - xml:id="sec-xorg"> - <title>X.org</title> - - <para> - The Nix expressions for the X.org packages reside in <filename>pkgs/servers/x11/xorg/default.nix</filename>. This file is automatically generated from lists of tarballs in an X.org release. As such it should not be modified directly; rather, you should modify the lists, the generator script or the file <filename>pkgs/servers/x11/xorg/overrides.nix</filename>, in which you can override or add to the derivations produced by the generator. - </para> - - <para> - The generator is invoked as follows: -<screen> -<prompt>$ </prompt>cd pkgs/servers/x11/xorg -<prompt>$ </prompt>cat tarballs-7.5.list extra.list old.list \ - | perl ./generate-expr-from-tarballs.pl -</screen> - For each of the tarballs in the <filename>.list</filename> files, the script downloads it, unpacks it, and searches its <filename>configure.ac</filename> and <filename>*.pc.in</filename> files for dependencies. This information is used to generate <filename>default.nix</filename>. The generator caches downloaded tarballs between runs. Pay close attention to the <literal>NOT FOUND: <replaceable>name</replaceable></literal> messages at the end of the run, since they may indicate missing dependencies. (Some might be optional dependencies, however.) - </para> - - <para> - A file like <filename>tarballs-7.5.list</filename> contains all tarballs in a X.org release. It can be generated like this: -<screen> -<prompt>$ </prompt>export i="mirror://xorg/X11R7.4/src/everything/" -<prompt>$ </prompt>cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \ - | perl -e 'while (<>) { if (/(href|HREF)="([^"]*.bz2)"/) { print "$ENV{'i'}$2\n"; }; }' \ - | sort > tarballs-7.4.list -</screen> - <filename>extra.list</filename> contains libraries that aren’t part of X.org proper, but are closely related to it, such as <literal>libxcb</literal>. <filename>old.list</filename> contains some packages that were removed from X.org, but are still needed by some people or by other packages (such as <varname>imake</varname>). - </para> - - <para> - If the expression for a package requires derivation attributes that the generator cannot figure out automatically (say, <varname>patches</varname> or a <varname>postInstall</varname> hook), you should modify <filename>pkgs/servers/x11/xorg/overrides.nix</filename>. - </para> -</section> |