diff options
author | olivierd <olivierd@FreeBSD.org> | 2014-10-12 04:01:08 +0800 |
---|---|---|
committer | olivierd <olivierd@FreeBSD.org> | 2014-10-12 04:01:08 +0800 |
commit | 45ff1a1b53924249a29f62b8ecb5caec1290252f (patch) | |
tree | a12cb5b39d020d28e262d49048f7d79204c23ef2 /misc/xfce4-weather-plugin | |
parent | 8f2e7d2b9319b28d38e99e126e7812ebd11fd0e1 (diff) | |
download | freebsd-ports-gnome-45ff1a1b53924249a29f62b8ecb5caec1290252f.tar.gz freebsd-ports-gnome-45ff1a1b53924249a29f62b8ecb5caec1290252f.tar.zst freebsd-ports-gnome-45ff1a1b53924249a29f62b8ecb5caec1290252f.zip |
- Switch LocationforecastLTS to the new API (1.2), previous one is no longer
available
- Drop @dirm* in pkg-plist
- Bump PORTREVISION
Obtained from: Upstream repository ('trunk' branch)
MFH: 2014Q4
Diffstat (limited to 'misc/xfce4-weather-plugin')
6 files changed, 144 insertions, 32 deletions
diff --git a/misc/xfce4-weather-plugin/Makefile b/misc/xfce4-weather-plugin/Makefile index 7b5bea9a529f..4c841674aa85 100644 --- a/misc/xfce4-weather-plugin/Makefile +++ b/misc/xfce4-weather-plugin/Makefile @@ -3,7 +3,7 @@ PORTNAME= xfce4-weather-plugin PORTVERSION= 0.8.3 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= misc xfce geography MASTER_SITES= ${MASTER_SITE_XFCE} MASTER_SITE_SUBDIR=src/panel-plugins/${PORTNAME}/${PORTVERSION:R} @@ -16,7 +16,6 @@ LICENSE= GPLv2 LIB_DEPENDS= libsoup-2.4.so:${PORTSDIR}/devel/libsoup -SSP_UNSAFE= yes GNU_CONFIGURE= yes INSTALLS_ICONS= yes INSTALL_TARGET= install-strip diff --git a/misc/xfce4-weather-plugin/files/patch-panel-plugin__weather-parsers.c b/misc/xfce4-weather-plugin/files/patch-panel-plugin__weather-parsers.c new file mode 100644 index 000000000000..e2d24d590620 --- /dev/null +++ b/misc/xfce4-weather-plugin/files/patch-panel-plugin__weather-parsers.c @@ -0,0 +1,22 @@ +Make plugin ready for met.no locationforecast-1.2 API (bug #10916). + +--- panel-plugin/weather-parsers.c.orig 2013-02-01 15:18:50 UTC ++++ panel-plugin/weather-parsers.c +@@ -28,6 +28,7 @@ + #define _XOPEN_SOURCE + #define _XOPEN_SOURCE_EXTENDED 1 + #include "weather-parsers.h" ++#include "weather-translate.h" + #include "weather-debug.h" + + #include <time.h> +@@ -196,8 +197,8 @@ + } + if (NODE_IS_TYPE(child_node, "symbol")) { + g_free(loc->symbol); +- loc->symbol = PROP(child_node, "id"); + loc->symbol_id = strtol(PROP(child_node, "number"), NULL, 10); ++ loc->symbol = g_strdup(get_symbol_for_id(loc->symbol_id)); + } + } + diff --git a/misc/xfce4-weather-plugin/files/patch-panel-plugin__weather-translate.c b/misc/xfce4-weather-plugin/files/patch-panel-plugin__weather-translate.c new file mode 100644 index 000000000000..4ff20af375c6 --- /dev/null +++ b/misc/xfce4-weather-plugin/files/patch-panel-plugin__weather-translate.c @@ -0,0 +1,95 @@ +Make plugin ready for met.no locationforecast-1.2 API (bug #10916). + +--- panel-plugin/weather-translate.c.orig 2013-01-24 14:45:10 UTC ++++ panel-plugin/weather-translate.c +@@ -29,6 +29,7 @@ + #include "weather-translate.h" + + #define DAY_LOC_N (sizeof(gchar) * 100) ++#define NODATA "NODATA" + + + static const gchar *wdirs[] = { +@@ -169,7 +170,7 @@ + + { 15, "FOG", N_("Fog"), N_("Fog") }, + +- /* Symbols 16-19 are used for polar days */ ++ /* Symbols 16-19 are used for polar days (unused beginning with API version 1.2) */ + { 16, "SUN", N_("Sunny"), N_("Clear") }, + { 17, "LIGHTCLOUD", N_("Lightly cloudy"), N_("Lightly cloudy") }, + { 18, "LIGHTRAINSUN", N_("Rain showers"), N_("Rain showers") }, +@@ -185,6 +186,73 @@ + #define NUM_SYMBOLS (sizeof(symbol_to_desc) / sizeof(symbol_to_desc[0])) + + ++/* ++ * API version 1.2, published in May 2014, introduced new symbols. We ++ * try to match these with existing symbols, in order to be compatible ++ * with existing icon themes and to maintain translation completeness. ++ * ++ * See http://api.met.no/weatherapi/weathericon/1.1/documentation ++ * for a list of symbols. For a list of symbols with descriptions, ++ * see http://om.yr.no/forklaring/symbol. ++ */ ++gint ++replace_symbol_id(gint id) ++{ ++ /* Symbol ids greater than 100 are used for indicating polar ++ * night. These ids are over the ordinary id + 100. Since we ++ * don't support polar icons, we can simply subtract 100 to ++ * get the non-polar symbol ids. ++ */ ++ if (id > 100) ++ id -= 100; ++ ++ switch (id) { ++ case 24: return 22; /* Light rain showers and thunder */ ++ case 25: return 6; /* Heavy rain showers and thunder */ ++ case 26: return 20; /* Light sleet showers and thunder */ ++ case 27: return 20; /* Heavy sleet showers and thunder */ ++ case 28: return 21; /* Light snow showers and thunder */ ++ case 29: return 21; /* Heavy snow showers and thunder */ ++ case 30: return 22; /* Light rain and thunder */ ++ case 31: return 23; /* Light sleet and thunder */ ++ case 32: return 23; /* Heavy sleet and thunder */ ++ case 33: return 14; /* Light snow and thunder */ ++ case 34: return 14; /* Heavy snow and thunder */ ++ ++ /* symbols 35-39 are unused */ ++ ++ case 40: return 5; /* Light rain showers */ ++ case 41: return 5; /* Heavy rain showers */ ++ case 42: return 7; /* Light sleet showers */ ++ case 43: return 7; /* Heavy sleet showers */ ++ case 44: return 8; /* Light snow showers */ ++ case 45: return 8; /* Heavy snow showers */ ++ case 46: return 9; /* Light rain */ ++ case 47: return 12; /* Light sleet */ ++ case 48: return 12; /* Heavy sleet */ ++ case 49: return 13; /* Light snow */ ++ case 50: return 13; /* Heavy snow */ ++ default: return id; ++ } ++} ++ ++ ++const gchar * ++get_symbol_for_id(gint id) ++{ ++ if (G_UNLIKELY(id < 1)) ++ return NODATA; ++ ++ if (id >= NUM_SYMBOLS) ++ id = replace_symbol_id(id); ++ ++ if (id < NUM_SYMBOLS) ++ return symbol_to_desc[id-1].symbol; ++ ++ return NODATA; ++} ++ ++ + const gchar * + translate_desc(const gchar *desc, + const gboolean nighttime) diff --git a/misc/xfce4-weather-plugin/files/patch-panel-plugin__weather-translate.h b/misc/xfce4-weather-plugin/files/patch-panel-plugin__weather-translate.h new file mode 100644 index 000000000000..4214329578e2 --- /dev/null +++ b/misc/xfce4-weather-plugin/files/patch-panel-plugin__weather-translate.h @@ -0,0 +1,13 @@ +Make plugin ready for met.no locationforecast-1.2 API (bug #10916). + +--- panel-plugin/weather-translate.h.orig 2013-01-24 14:45:10 UTC ++++ panel-plugin/weather-translate.h +@@ -24,6 +24,8 @@ + + G_BEGIN_DECLS + ++const gchar *get_symbol_for_id(gint id); ++ + const gchar *translate_desc(const gchar *desc, + gboolean nighttime); + diff --git a/misc/xfce4-weather-plugin/files/patch-panel-plugin__weather.c b/misc/xfce4-weather-plugin/files/patch-panel-plugin__weather.c new file mode 100644 index 000000000000..92877f4297dd --- /dev/null +++ b/misc/xfce4-weather-plugin/files/patch-panel-plugin__weather.c @@ -0,0 +1,13 @@ +Make plugin ready for met.no locationforecast-1.2 API (bug #10916). + +--- panel-plugin/weather.c.orig 2013-02-18 10:21:00 UTC ++++ panel-plugin/weather.c +@@ -638,7 +638,7 @@ + /* build url */ + url = + g_strdup_printf("http://api.yr.no/weatherapi" +- "/locationforecastlts/1.1/?lat=%s;lon=%s;msl=%d", ++ "/locationforecastlts/1.2/?lat=%s;lon=%s;msl=%d", + data->lat, data->lon, data->msl); + + /* start receive thread */ diff --git a/misc/xfce4-weather-plugin/pkg-plist b/misc/xfce4-weather-plugin/pkg-plist index b56d7af7efc1..0b7d9df8cf22 100644 --- a/misc/xfce4-weather-plugin/pkg-plist +++ b/misc/xfce4-weather-plugin/pkg-plist @@ -335,33 +335,3 @@ share/xfce4/weather/icons/simplistic/48/snowthunder.png share/xfce4/weather/icons/simplistic/48/sun-night.png share/xfce4/weather/icons/simplistic/48/sun.png share/xfce4/weather/icons/simplistic/theme.info -@dirrm share/xfce4/weather/icons/simplistic/48 -@dirrm share/xfce4/weather/icons/simplistic/22 -@dirrm share/xfce4/weather/icons/simplistic/128 -@dirrm share/xfce4/weather/icons/simplistic -@dirrm share/xfce4/weather/icons/liquid/48 -@dirrm share/xfce4/weather/icons/liquid/22 -@dirrm share/xfce4/weather/icons/liquid/128 -@dirrm share/xfce4/weather/icons/liquid-dark/48 -@dirrm share/xfce4/weather/icons/liquid-dark/22 -@dirrm share/xfce4/weather/icons/liquid-dark/128 -@dirrm share/xfce4/weather/icons/liquid-dark -@dirrm share/xfce4/weather/icons/liquid -@dirrm share/xfce4/weather/icons -@dirrm share/xfce4/weather -@dirrmtry share/xfce4/panel/plugins -@dirrmtry share/xfce4/panel -@dirrmtry share/xfce4 -@dirrmtry share/locale/ur_PK/LC_MESSAGES -@dirrmtry share/locale/ur_PK -@dirrmtry share/locale/ur/LC_MESSAGES -@dirrmtry share/locale/ur -@dirrmtry share/locale/ug/LC_MESSAGES -@dirrmtry share/locale/ug -@dirrmtry share/locale/te/LC_MESSAGES -@dirrmtry share/locale/te -@dirrmtry share/locale/ast/LC_MESSAGES -@dirrmtry share/locale/ast -@dirrmtry lib/xfce4/panel/plugins -@dirrmtry lib/xfce4/panel -@dirrmtry lib/xfce4 |