summaryrefslogtreecommitdiff
path: root/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix
blob: fd708d7d735acac1796d31b401583e0d3ac67520 (plain)
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
49
50
51
52
53
54
55
56
57
58
59
60
{
  mkDerivation,
  lib,
  stdenv,
  fetchpatch,
  cmake,
  extra-cmake-modules,
  docbook_xml_dtd_45,
  docbook_xsl_ns,
  karchive,
  ki18n,
  qtbase,
  perl,
  perlPackages,
}:

mkDerivation {
  pname = "kdoctools";
  nativeBuildInputs = [
    cmake
    extra-cmake-modules
    # The build system insists on having native Perl.
    perl
    perlPackages.URI
  ];
  propagatedBuildInputs = [
    # kdoctools at runtime actually needs Perl for the platform kdoctools is
    # running on, not necessarily native perl.
    perl
    perlPackages.URI
    qtbase
  ];
  buildInputs = [
    karchive
    ki18n
  ];
  outputs = [
    "out"
    "dev"
  ];
  patches = [
    ./kdoctools-no-find-docbook-xml.patch
  ]
  # kf.doctools.core: Error: Could not find kdoctools catalogs
  ++ lib.optionals stdenv.hostPlatform.isDarwin [
    (fetchpatch {
      name = "kdoctools-relocate-datapath.patch";
      url = "https://github.com/msys2/MINGW-packages/raw/0900785a1f4e4146ab9561fb92a1c70fa70fcfc4/mingw-w64-kdoctools-qt5/0001-kdoctools-relocate-datapath.patch";
      hash = "sha256-MlokdrabXavWHGXYmdz9zZDJQIwAdNxebJBSAH2Z3vI=";
    })
  ];
  cmakeFlags = [
    "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
    "-DDocBookXSL_DIR=${docbook_xsl_ns}/xml/xsl/docbook"
  ];
  postFixup = ''
    moveToOutput "share/doc" "$dev"
    moveToOutput "share/man" "$dev"
  '';
}