1{
2 lib,
3 stdenv,
4 autoreconfHook,
5 fetchurl,
6 pkg-config,
7 gettext,
8 glib,
9 glib-networking,
10 libxml2,
11 gtk3,
12 gtk-doc,
13 libsoup_3,
14 tzdata,
15 mateUpdateScript,
16}:
17stdenv.mkDerivation rec {
18 pname = "libmateweather";
19 version = "1.28.0";
20
21 src = fetchurl {
22 url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
23 sha256 = "VUNz3rWzk7nYSydd0spmyaSi0ObskgRPq4qlPjAy0rU=";
24 };
25
26 patches = [
27 # https://github.com/mate-desktop/libmateweather/pull/133
28 ./libsoup_3_support.patch
29 ];
30
31 strictDeps = true;
32
33 nativeBuildInputs = [
34 autoreconfHook # the libsoup patch changes the autoconf file
35 pkg-config
36 gettext
37 glib # glib-compile-schemas
38 gtk-doc # required for autoconf
39 libxml2 # xmllint
40 ];
41
42 buildInputs = [
43 libxml2
44 libsoup_3
45 tzdata
46 ];
47
48 propagatedBuildInputs = [
49 glib
50 glib-networking # for obtaining IWIN forecast data
51 gtk3
52 ];
53
54 configureFlags = [
55 "--with-zoneinfo-dir=${tzdata}/share/zoneinfo"
56 ];
57
58 preFixup = "rm -f $out/share/icons/mate/icon-theme.cache";
59
60 enableParallelBuilding = true;
61
62 passthru.updateScript = mateUpdateScript { inherit pname; };
63
64 meta = with lib; {
65 description = "Library to access weather information from online services for MATE";
66 homepage = "https://github.com/mate-desktop/libmateweather";
67 license = licenses.gpl2Plus;
68 platforms = platforms.unix;
69 teams = [ teams.mate ];
70 };
71}