Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / libchamplain / default.nix
blob065d412c91e1412705883c7207fb2118a3d4168e
1 { fetchurl
2 , lib
3 , stdenv
4 , meson
5 , ninja
6 , vala
7 , gtk-doc
8 , docbook_xsl
9 , docbook_xml_dtd_412
10 , pkg-config
11 , glib
12 , gtk3
13 , cairo
14 , sqlite
15 , gnome
16 , clutter-gtk
17 , libsoup
18 , libsoup_3
19 , gobject-introspection /*, libmemphis */
20 , withLibsoup3 ? false
23 stdenv.mkDerivation rec {
24   pname = "libchamplain";
25   version = "0.12.21";
27   outputs = [ "out" "dev" ]
28     ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ];
30   src = fetchurl {
31     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
32     sha256 = "qRXNFyoMUpRMVXn8tGg/ioeMVxv16SglS12v78cn5ac=";
33   };
35   nativeBuildInputs = [
36     meson
37     ninja
38     pkg-config
39     gobject-introspection
40     vala
41   ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [
42     gtk-doc
43     docbook_xsl
44     docbook_xml_dtd_412
45   ];
47   buildInputs = [
48     sqlite
49     (if withLibsoup3 then libsoup_3 else libsoup)
50   ];
52   propagatedBuildInputs = [
53     glib
54     gtk3
55     cairo
56     clutter-gtk
57   ];
59   mesonFlags = [
60     (lib.mesonBool "gtk_doc" (stdenv.buildPlatform == stdenv.hostPlatform))
61     "-Dvapi=true"
62     (lib.mesonBool "libsoup3" withLibsoup3)
63   ];
65   passthru = {
66     updateScript = gnome.updateScript {
67       packageName = pname;
68       versionPolicy = "odd-unstable";
69     };
70   };
72   meta = with lib; {
73     homepage = "https://wiki.gnome.org/Projects/libchamplain";
74     license = licenses.lgpl2Plus;
76     description = "C library providing a ClutterActor to display maps";
78     longDescription = ''
79       libchamplain is a C library providing a ClutterActor to display
80        maps.  It also provides a GTK widget to display maps in GTK
81        applications.  Python and Perl bindings are also available.  It
82        supports numerous free map sources such as OpenStreetMap,
83        OpenCycleMap, OpenAerialMap, and Maps for free.
84     '';
86     maintainers = teams.gnome.members ++ teams.pantheon.members;
87     platforms = platforms.unix;
88   };