nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 nix-update-script,
6 meson,
7 ninja,
8 pkg-config,
9 python3,
10 curl,
11 icu,
12 libzim,
13 pugixml,
14 zlib,
15 libmicrohttpd,
16 mustache-hpp,
17 gtest,
18}:
19
20stdenv.mkDerivation (finalAttrs: {
21 pname = "libkiwix";
22 version = "14.0.0";
23
24 src = fetchFromGitHub {
25 owner = "kiwix";
26 repo = "libkiwix";
27 rev = finalAttrs.version;
28 hash = "sha256-QP23ZS0FJsMVtnWOofywaAPIU0GJ2L+hLP/x0LXMKiU=";
29 };
30
31 nativeBuildInputs = [
32 meson
33 ninja
34 pkg-config
35 python3
36 ];
37
38 buildInputs = [
39 icu
40 zlib
41 mustache-hpp
42 ];
43
44 propagatedBuildInputs = [
45 curl
46 libmicrohttpd
47 libzim
48 pugixml
49 ];
50
51 nativeCheckInputs = [
52 gtest
53 ];
54
55 doCheck = true;
56
57 postPatch = ''
58 patchShebangs scripts
59 substituteInPlace meson.build \
60 --replace-fail "libicu_dep = dependency('icu-i18n', static:static_deps)" \
61 "libicu_dep = [dependency('icu-i18n', static:static_deps), dependency('icu-uc', static:static_deps)]"
62 '';
63
64 passthru.updateScript = nix-update-script { };
65
66 meta = with lib; {
67 description = "Common code base for all Kiwix ports";
68 homepage = "https://kiwix.org";
69 changelog = "https://github.com/kiwix/libkiwix/releases/tag/${finalAttrs.version}";
70 license = licenses.gpl3Plus;
71 platforms = platforms.linux;
72 maintainers = with maintainers; [ colinsane ];
73 };
74})