Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
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 21}: 22 23stdenv.mkDerivation rec { 24 pname = "libchamplain"; 25 version = "0.12.21"; 26 27 outputs = [ "out" "dev" ] 28 ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; 29 30 src = fetchurl { 31 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 32 sha256 = "qRXNFyoMUpRMVXn8tGg/ioeMVxv16SglS12v78cn5ac="; 33 }; 34 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 ]; 46 47 buildInputs = [ 48 sqlite 49 (if withLibsoup3 then libsoup_3 else libsoup) 50 ]; 51 52 propagatedBuildInputs = [ 53 glib 54 gtk3 55 cairo 56 clutter-gtk 57 ]; 58 59 mesonFlags = [ 60 (lib.mesonBool "gtk_doc" (stdenv.buildPlatform == stdenv.hostPlatform)) 61 "-Dvapi=true" 62 (lib.mesonBool "libsoup3" withLibsoup3) 63 ]; 64 65 passthru = { 66 updateScript = gnome.updateScript { 67 packageName = pname; 68 versionPolicy = "odd-unstable"; 69 }; 70 }; 71 72 meta = with lib; { 73 homepage = "https://wiki.gnome.org/Projects/libchamplain"; 74 license = licenses.lgpl2Plus; 75 76 description = "C library providing a ClutterActor to display maps"; 77 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 ''; 85 86 maintainers = teams.gnome.members ++ teams.pantheon.members; 87 platforms = platforms.gnu ++ platforms.linux; # arbitrary choice 88 }; 89}