python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / libchamplain / default.nix
blob34440d67818d8e92849b3190dceed4ab780c6bd4
1 { fetchurl
2 , fetchpatch
3 , lib
4 , stdenv
5 , meson
6 , ninja
7 , vala
8 , gtk-doc
9 , docbook_xsl
10 , docbook_xml_dtd_412
11 , pkg-config
12 , glib
13 , gtk3
14 , cairo
15 , sqlite
16 , gnome
17 , clutter-gtk
18 , libsoup
19 , libsoup_3
20 , gobject-introspection /*, libmemphis */
21 , withLibsoup3 ? false
24 stdenv.mkDerivation rec {
25   pname = "libchamplain";
26   version = "0.12.20";
28   src = fetchurl {
29     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
30     sha256 = "0rihpb0npqpihqcdz4w03rq6xl7jdckfqskvv9diq2hkrnzv8ch2";
31   };
33   patches = lib.optionals withLibsoup3 [
34     # Port to libsoup3
35     # https://gitlab.gnome.org/GNOME/libchamplain/-/merge_requests/13
36     (fetchpatch {
37       url = "https://gitlab.gnome.org/GNOME/libchamplain/-/commit/1cbaf3193c2b38e447fbc383d4c455c3dcac6db8.patch";
38       excludes = [ ".gitlab-ci.yml" ];
39       sha256 = "uk38gExnUgeUKwhDsqRU77hGWhJ+8fG5dSiV2MAWLFk=";
40     })
41   ];
43   outputs = [ "out" "dev" "devdoc" ];
45   nativeBuildInputs = [
46     meson
47     ninja
48     pkg-config
49     gobject-introspection
50     vala
51     gtk-doc
52     docbook_xsl
53     docbook_xml_dtd_412
54   ];
56   buildInputs = [
57     sqlite
58     (if withLibsoup3 then libsoup_3 else libsoup)
59   ];
61   propagatedBuildInputs = [
62     glib
63     gtk3
64     cairo
65     clutter-gtk
66   ];
68   mesonFlags = [
69     "-Dgtk_doc=true"
70     "-Dvapi=true"
71   ];
73   passthru = {
74     updateScript = gnome.updateScript {
75       packageName = pname;
76       versionPolicy = "odd-unstable";
77     };
78   };
80   meta = with lib; {
81     homepage = "https://wiki.gnome.org/Projects/libchamplain";
82     license = licenses.lgpl2Plus;
84     description = "C library providing a ClutterActor to display maps";
86     longDescription = ''
87       libchamplain is a C library providing a ClutterActor to display
88        maps.  It also provides a GTK widget to display maps in GTK
89        applications.  Python and Perl bindings are also available.  It
90        supports numerous free map sources such as OpenStreetMap,
91        OpenCycleMap, OpenAerialMap, and Maps for free.
92     '';
94     maintainers = teams.gnome.members ++ teams.pantheon.members;
95     platforms = platforms.gnu ++ platforms.linux; # arbitrary choice
96   };