summary refs log tree commit diff
path: root/pkgs/data/documentation/pthread-man-pages/default.nix
blob: 4cd5a5b8297baf4b2424c34a38d9dd0f3e03e475 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/* Pthread man pages from LinuxThreads.

   Some of these pages are superseded by those in the `man-pages'
   package, but not all.  Like other distros (e.g., Debian's
   `glibc-doc' package) we take man pages from LinuxThreads so that
   we can cover pretty much all of pthreads.  */

{ fetchurl, stdenv, perl }:

let version = "2.5";
in
  stdenv.mkDerivation rec {
    name = "pthread-man-pages-${version}";

    src = fetchurl {
      url = "mirror://gnu/glibc/glibc-linuxthreads-${version}.tar.bz2";
      sha256 = "0b5xg7ba64d1gbqw4k1qk96qgy7h2y4qksr0qx8v7a14c6xaw9zf";
    };

    buildInputs = [ perl ];

    unpackPhase = ''
      echo "unpacking to \`${name}'"
      mkdir "${name}"
      cd "${name}"
      tar xjvf "$src"
    '';

    patchPhase = ''
      mkdir -p "$out/share/man/man3"

      sed -i "linuxthreads/man/Makefile" \
          -e "s|MANDIR *=.*$|MANDIR = $out/share/man/man3| ;
              s|3thr|3|g"
    '';

    preConfigure = "cd linuxthreads/man";

    postInstall = ''
      chmod a-x $out/share/man/man3/*.3
    '';

    meta = {
      description = "POSIX threads (pthreads) manual pages from LinuxThreads";
      homepage = http://www.gnu.org/software/libc/;
      maintainers = stdenv.lib.maintainers.mornfall;
    };
  }