mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 17:59:20 -04:00
Fix weather data fetching [1].
* Add license block * record missing dependencies * replace CPPFLAGS/LDFLAGS with USES=localbase PR: 212243 Submitted by: cpm@ Obtained from: libmateweather upstream [1]
This commit is contained in:
parent
b41e2a1f24
commit
a27a30cecd
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=422914
3 changed files with 59 additions and 5 deletions
|
@ -3,6 +3,7 @@
|
|||
|
||||
PORTNAME= libmateweather
|
||||
PORTVERSION= 1.12.1
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= net mate
|
||||
MASTER_SITES= MATE
|
||||
DIST_SUBDIR= mate
|
||||
|
@ -10,21 +11,24 @@ DIST_SUBDIR= mate
|
|||
MAINTAINER= gnome@FreeBSD.org
|
||||
COMMENT= Library to accessing online weather informations
|
||||
|
||||
LICENSE= LGPL21
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
BUILD_DEPENDS= itstool:textproc/itstool
|
||||
LIB_DEPENDS= libsoup-2.4.so:devel/libsoup
|
||||
LIB_DEPENDS= libsoup-2.4.so:devel/libsoup \
|
||||
libfontconfig.so:x11-fonts/fontconfig \
|
||||
libfreetype.so:print/freetype2
|
||||
|
||||
PORTSCOUT= limitw:1,even
|
||||
|
||||
USES= gettext gmake libtool pathfix pkgconfig tar:xz
|
||||
USE_GNOME= gtk20 libxml2 intlhack
|
||||
USES= gettext gmake libtool localbase pathfix pkgconfig tar:xz
|
||||
USE_GNOME= cairo gtk20 libxml2 intlhack
|
||||
USE_LDCONFIG= yes
|
||||
GNU_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --disable-gtk-doc \
|
||||
--with-gtk=2.0 \
|
||||
--with-html-dir=${PREFIX}/share/doc
|
||||
INSTALLS_ICONS= yes
|
||||
CPPFLAGS+= -I${LOCALBASE}/include
|
||||
LDFLAGS+= -L${LOCALBASE}/lib
|
||||
INSTALL_TARGET= install-strip
|
||||
|
||||
GLIB_SCHEMAS= org.mate.weather.gschema.xml
|
||||
|
|
11
net/libmateweather/files/patch-libmateweather_weather-iwin.c
Normal file
11
net/libmateweather/files/patch-libmateweather_weather-iwin.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- libmateweather/weather-iwin.c.orig 2016-09-29 14:03:12.143111000 +0200
|
||||
+++ libmateweather/weather-iwin.c 2016-09-29 14:03:35.883636000 +0200
|
||||
@@ -462,7 +462,7 @@ iwin_start_open (WeatherInfo *info)
|
||||
zone = g_ascii_strdown (loc->zone, -1);
|
||||
state = g_strndup (zone, 2);
|
||||
|
||||
- url = g_strdup_printf ("http://weather.noaa.gov/pub/data/forecasts/zone/%s/%s.txt", state, zone);
|
||||
+ url = g_strdup_printf ("http://tgftp.nws.noaa.gov/data/forecasts/zone/%s/%s.txt", state, zone);
|
||||
|
||||
g_free (zone);
|
||||
g_free (state);
|
|
@ -0,0 +1,39 @@
|
|||
--- libmateweather/weather-metar.c.orig 2016-09-29 14:03:25.503926000 +0200
|
||||
+++ libmateweather/weather-metar.c 2016-09-29 14:03:40.232655000 +0200
|
||||
@@ -510,7 +510,7 @@ metar_finish (SoupSession *session, Soup
|
||||
|
||||
loc = info->location;
|
||||
|
||||
- searchkey = g_strdup_printf ("\n%s", loc->code);
|
||||
+ searchkey = g_strdup_printf ("<raw_text>%s", loc->code);
|
||||
p = strstr (msg->response_body->data, searchkey);
|
||||
g_free (searchkey);
|
||||
if (p) {
|
||||
@@ -522,8 +522,8 @@ metar_finish (SoupSession *session, Soup
|
||||
metar = g_strdup (p);
|
||||
success = metar_parse (metar, info);
|
||||
g_free (metar);
|
||||
- } else if (!strstr (msg->response_body->data, "National Weather Service")) {
|
||||
- /* The response doesn't even seem to have come from NWS...
|
||||
+ } else if (!strstr (msg->response_body->data, "aviationweather.gov")) {
|
||||
+ /* The response doesn't even seem to have come from NOAA...
|
||||
* most likely it is a wifi hotspot login page. Call that a
|
||||
* network error.
|
||||
*/
|
||||
@@ -550,8 +550,14 @@ metar_start_open (WeatherInfo *info)
|
||||
}
|
||||
|
||||
msg = soup_form_request_new (
|
||||
- "GET", "http://weather.noaa.gov/mgetmetar.php",
|
||||
- "cccc", loc->code,
|
||||
+ "GET", "https://www.aviationweather.gov/adds/dataserver_current/httpparam",
|
||||
+ "dataSource", "metars",
|
||||
+ "requestType", "retrieve",
|
||||
+ "format", "xml",
|
||||
+ "hoursBeforeNow", "3",
|
||||
+ "mostRecent", "true",
|
||||
+ "fields", "raw_text",
|
||||
+ "stationString", loc->code,
|
||||
NULL);
|
||||
soup_session_queue_message (info->session, msg, metar_finish, info);
|
||||
|
Loading…
Add table
Reference in a new issue