diff options
Diffstat (limited to 'extra/libgweather/01_gettext_not_xml.patch')
-rw-r--r-- | extra/libgweather/01_gettext_not_xml.patch | 527 |
1 files changed, 527 insertions, 0 deletions
diff --git a/extra/libgweather/01_gettext_not_xml.patch b/extra/libgweather/01_gettext_not_xml.patch new file mode 100644 index 000000000..d5f57305e --- /dev/null +++ b/extra/libgweather/01_gettext_not_xml.patch @@ -0,0 +1,527 @@ +only in patch2: +unchanged: +diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/configure.in libgweather-2.27.91.new/configure.in +--- libgweather-2.27.91/configure.in 2009-08-25 23:56:58.000000000 +1000 ++++ libgweather-2.27.91.new/configure.in 2009-08-26 11:54:52.000000000 +1000 +@@ -40,6 +40,10 @@ + AM_MAINTAINER_MODE + GNOME_MAINTAINER_MODE_DEFINES + ++dnl IT_PROG_INTLTOOL does this for us in the case of the po/ subdir, but we're on our own for po-locations ++AC_OUTPUT_COMMANDS([sed -e "/POTFILES =/r po/POTFILES" po-locations/Makefile.in > po-locations/Makefile]) ++IT_PO_SUBDIR([po-locations]) ++ + IT_PROG_INTLTOOL([0.40.3]) + PKG_PROG_PKG_CONFIG([0.19]) + +@@ -50,13 +54,6 @@ + AM_PROG_LIBTOOL + AC_PATH_PROG(GCONFTOOL, gconftool-2) + +-AC_ARG_ENABLE(all-translations-in-one-xml, +- [AC_HELP_STRING([--enable-all-translations-in-one-xml], +- [Put all translations in a big Locations.xml file (slow to parse)])], +- [enable_big_xml=yes], +- [enable_big_xml=no]) +-AM_CONDITIONAL(USE_ONE_BIG_XML, test "x$enable_big_xml" = "xyes") +- + AC_ARG_ENABLE(locations-compression, + [AC_HELP_STRING([--enable-locations-compression], + [Compress Locations.xml files])], +@@ -253,7 +250,7 @@ + Makefile + doc/Makefile + po/Makefile.in +-po-locations/Makefile ++po-locations/Makefile.in + libgweather/Makefile + libgweather/gweather.pc + libgweather/gweather-uninstalled.pc +@@ -261,12 +258,6 @@ + python/Makefile + ]) + +-if test "x$enable_big_xml" = "xyes"; then +- LOCATIONS_XML_TRANSLATIONS="one big file" +-else +- LOCATIONS_XML_TRANSLATIONS="one file per translation" +-fi +- + dnl *************************************************************************** + dnl *** Display Summary *** + dnl *************************************************************************** +diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/data/Makefile.am libgweather-2.27.91.new/data/Makefile.am +--- libgweather-2.27.91/data/Makefile.am 2009-07-22 03:01:11.000000000 +1000 ++++ libgweather-2.27.91.new/data/Makefile.am 2009-08-26 11:57:46.000000000 +1000 +@@ -4,55 +4,23 @@ + libgweatherlocationsdir = $(pkgdatadir) + libgweatherlocations_in_files = Locations.xml.in + +-if USE_ONE_BIG_XML +- +-LOCATIONS_STAMP = +- +-libgweatherlocations_DATA = $(libgweatherlocations_in_files:.xml.in=.xml$(COMPRESS_EXT)) +- +-%.xml$(COMPRESS_EXT): %.xml.in $(wildcard $(top_srcdir)/po-locations/*.po) +- $(AM_V_GEN)LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po-locations/.intltool-merge-cache $(top_srcdir)/po-locations $< `echo $@ | sed "s/.xml$(COMPRESS_EXT)/.xml/"` && \ +- if test "x$(COMPRESS_EXT)" = "x.gz"; then \ +- gzip --force `echo $@ | sed "s/.xml$(COMPRESS_EXT)/.xml/"`; \ +- fi +- +-else # USE_ONE_BIG_XML +- + LOCATIONS_STAMP = stamp-Locations.xml + +-PO_LOCATIONS = $(shell if test -n "$(LINGUAS)"; then for lang in $(LINGUAS); do if test -f "$(top_srcdir)/po-locations/$$lang.po"; then echo "$(top_srcdir)/po-locations/$$lang.po "; fi; done; else for pofile in $(top_srcdir)/po-locations/*.po; do echo $$pofile; done; fi) +- + # Helper variable +-libgweatherlocations_data = $(libgweatherlocations_in_files:.xml.in=.xml) +- +-libgweatherlocations_DATA = $(shell echo $(PO_LOCATIONS) | sed "s|$(top_srcdir)/po-locations/|Locations.|g;s|\.po|.xml$(COMPRESS_EXT)|g") $(libgweatherlocations_data)$(COMPRESS_EXT) ++libgweatherlocations_DATA = $(libgweatherlocations_in_files:.xml.in=.xml) + + # We need this step so that we merge all the make Locations.xy.xml destinations + # into one unique destination. This makes -j2 work. (Else, we end up with + # multiple and conflicting calls to intltool-merge) + $(libgweatherlocations_DATA): $(LOCATIONS_STAMP) + +-$(LOCATIONS_STAMP): $(libgweatherlocations_in_files) $(PO_LOCATIONS) Makefile +- $(AM_V_at)LC_ALL=C $(INTLTOOL_MERGE) --multiple-output --xml-style --utf8 --cache=$(top_builddir)/po-locations/.intltool-merge-cache $(top_srcdir)/po-locations $< $(libgweatherlocations_data) && \ +- for pofile in $(PO_LOCATIONS); do \ +- locale=`echo $$pofile | sed "s;$(top_srcdir)/po-locations/\(.*\)\.po;\1;"`; \ +- xmllint --noblanks -o Locations.$$locale.xml $$locale/$(libgweatherlocations_data); \ +- rm -f $$locale/$(libgweatherlocations_data); \ +- test -d $$locale && rmdir $$locale; \ +- if test "x$(COMPRESS_EXT)" = "x.gz"; then \ +- gzip --force Locations.$$locale.xml; \ +- fi; \ +- done && \ +- xmllint --noblanks -o Locations.xml C/$(libgweatherlocations_data) && \ +- rm -f C/$(libgweatherlocations_data) && \ ++$(LOCATIONS_STAMP): $(libgweatherlocations_in_files) Makefile ++ LC_ALL=C $(INTLTOOL_MERGE) --multiple-output --xml-style --utf8 --cache=$(top_builddir)/po-locations/.intltool-merge-cache /dev/null $< $(libgweatherlocations_DATA) && \ ++ xmllint --noblanks -o Locations.xml C/$(libgweatherlocations_DATA) && \ ++ rm -f C/$(libgweatherlocations_DATA) && \ + test -d C && rmdir C && \ +- if test "x$(COMPRESS_EXT)" = "x.gz"; then \ +- gzip --force Locations.xml; \ +- fi && \ + touch $@ + +-endif # USE_ONE_BIG_XML +- + check: + xmllint --valid --noout $(top_srcdir)/data/Locations.xml.in + $(srcdir)/check-timezones.sh $(srcdir)/Locations.xml.in +diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/libgweather/gweather-location.c libgweather-2.27.91.new/libgweather/gweather-location.c +--- libgweather-2.27.91/libgweather/gweather-location.c 2009-04-20 03:41:11.000000000 +1000 ++++ libgweather-2.27.91.new/libgweather/gweather-location.c 2009-08-26 11:54:52.000000000 +1000 +@@ -22,11 +22,14 @@ + #include <config.h> + #endif + ++#include "config.h" ++ + #include <string.h> + #include <math.h> + #include <locale.h> + #include <gtk/gtk.h> + #include <libxml/xmlreader.h> ++#include <libintl.h> + + #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE + #include "gweather-location.h" +@@ -184,10 +187,20 @@ + + tagname = (const char *) xmlTextReaderConstName (parser->xml); + if (!strcmp (tagname, "name") && !loc->name) { +- value = gweather_parser_get_localized_value (parser); ++ char *context = NULL; ++ context = xmlTextReaderGetAttribute(parser->xml,"msgctxt"); ++ ++ value = gweather_parser_get_value (parser); + if (!value) + goto error_out; +- loc->name = g_strdup (value); ++ ++ if (context != NULL) { ++ loc->name = g_strdup (g_dpgettext2(GETTEXT_PACKAGE "-locations", context, value)); ++ xmlFree (context); ++ } ++ else ++ loc->name = g_strdup (dgettext(GETTEXT_PACKAGE "-locations",value)); ++ + xmlFree (value); + normalized = g_utf8_normalize (loc->name, -1, G_NORMALIZE_ALL); + loc->sort_name = g_utf8_casefold (normalized, -1); +diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/libgweather/gweather-timezone.c libgweather-2.27.91.new/libgweather/gweather-timezone.c +--- libgweather-2.27.91/libgweather/gweather-timezone.c 2009-08-12 19:00:52.000000000 +1000 ++++ libgweather-2.27.91.new/libgweather/gweather-timezone.c 2009-08-26 11:54:52.000000000 +1000 +@@ -23,6 +23,7 @@ + #endif + + #include <string.h> ++#include <libintl.h> + + #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE + #include "gweather-timezone.h" +@@ -152,7 +153,7 @@ + parse_timezone (GWeatherParser *parser) + { + GWeatherTimezone *zone = NULL; +- char *id = NULL, *name = NULL; ++ char *id = NULL, *name = NULL, *context = NULL; + int offset = 0, dst_offset = 0; + gboolean has_dst = FALSE; + +@@ -175,27 +176,34 @@ + continue; + } + +- if (!strcmp ((const char *) xmlTextReaderConstName (parser->xml), "name")) +- name = gweather_parser_get_localized_value (parser); ++ if (!strcmp ((const char *) xmlTextReaderConstName (parser->xml), "name")) { ++ context = xmlTextReaderGetAttribute(parser->xml,"msgctxt"); ++ name = gweather_parser_get_value (parser); ++ } + else { + if (xmlTextReaderNext (parser->xml) != 1) + break; + } + } + } +- ++ + if (parse_tzdata (id, parser->year_start, parser->year_end, + &offset, &has_dst, &dst_offset)) { + zone = g_slice_new0 (GWeatherTimezone); + zone->ref_count = 1; + zone->id = g_strdup (id); +- zone->name = g_strdup (name); ++ if (context != NULL) ++ zone->name = g_strdup (g_dpgettext2(GETTEXT_PACKAGE "-locations", context, name)); ++ else ++ zone->name = g_strdup (dgettext(GETTEXT_PACKAGE "-locations",name)); + zone->offset = offset; + zone->has_dst = has_dst; + zone->dst_offset = dst_offset; + } + + xmlFree (id); ++ if (context) ++ xmlFree (context); + if (name) + xmlFree (name); + +diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/po-locations/LINGUAS libgweather-2.27.91.new/po-locations/LINGUAS +--- libgweather-2.27.91/po-locations/LINGUAS 1970-01-01 10:00:00.000000000 +1000 ++++ libgweather-2.27.91.new/po-locations/LINGUAS 2009-08-26 11:54:52.000000000 +1000 +@@ -0,0 +1,78 @@ ++ang ++ar ++as ++az ++be ++be@latin ++bg ++bn_IN ++bn ++bs ++ca ++cs ++cy ++da ++de ++dz ++el ++en_CA ++en_GB ++es ++et ++eu ++fa ++fi ++fr ++ga ++gl ++gu ++he ++hi ++hr ++hu ++id ++it ++ja ++ka ++kn ++ko ++ku ++ky ++lt ++lv ++mai ++mg ++mk ++ml ++mn ++mr ++ms ++nb ++ne ++nl ++nn ++oc ++or ++pa ++pl ++pt_BR ++pt ++ro ++ru ++rw ++si ++sk ++sl ++sq ++sr@latin ++sr ++sv ++ta ++te ++th ++tr ++uk ++vi ++zh_CN ++zh_HK ++zh_TW +diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/po-locations/Makefile.in.in libgweather-2.27.91.new/po-locations/Makefile.in.in +--- libgweather-2.27.91/po-locations/Makefile.in.in 1970-01-01 10:00:00.000000000 +1000 ++++ libgweather-2.27.91.new/po-locations/Makefile.in.in 2009-08-26 11:54:52.000000000 +1000 +@@ -0,0 +1,217 @@ ++# Makefile for program source directory in GNU NLS utilities package. ++# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu> ++# Copyright (C) 2004-2008 Rodney Dawes <dobey.pwns@gmail.com> ++# ++# This file may be copied and used freely without restrictions. It may ++# be used in projects which are not available under a GNU Public License, ++# but which still want to provide support for the GNU gettext functionality. ++# ++# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE ++# instead of PACKAGE and to look for po2tbl in ./ not in intl/ ++# ++# - Modified by jacob berkman <jacob@ximian.com> to install ++# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize ++# ++# - Modified by Rodney Dawes <dobey.pwns@gmail.com> for use with intltool ++# ++# We have the following line for use by intltoolize: ++# INTLTOOL_MAKEFILE ++ ++GETTEXT_PACKAGE = @GETTEXT_PACKAGE@-locations ++PACKAGE = @PACKAGE@ ++VERSION = @VERSION@ ++ ++SHELL = /bin/sh ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++top_builddir = @top_builddir@ ++VPATH = @srcdir@ ++ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++datadir = @datadir@ ++datarootdir = @datarootdir@ ++libdir = @libdir@ ++DATADIRNAME = @DATADIRNAME@ ++itlocaledir = $(prefix)/$(DATADIRNAME)/locale ++subdir = po-locations ++install_sh = @install_sh@ ++# Automake >= 1.8 provides @mkdir_p@. ++# Until it can be supposed, use the safe fallback: ++mkdir_p = $(install_sh) -d ++ ++INSTALL = @INSTALL@ ++INSTALL_DATA = @INSTALL_DATA@ ++ ++GMSGFMT = @GMSGFMT@ ++MSGFMT = @MSGFMT@ ++XGETTEXT = @XGETTEXT@ ++INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ ++INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ ++MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist ++GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot ++ ++ALL_LINGUAS = @ALL_LINGUAS@ ++ ++PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi) ++ ++USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep ^$$lang$$`"; then printf "$$lang "; fi; done; fi) ++ ++USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) ++ ++POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) ++ ++DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES) ++EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS ++ ++POTFILES = \ ++# This comment gets stripped out ++ ++CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) ++ ++.SUFFIXES: ++.SUFFIXES: .po .pox .gmo .mo .msg .cat ++ ++.po.pox: ++ $(MAKE) $(GETTEXT_PACKAGE).pot ++ $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox ++ ++.po.mo: ++ $(MSGFMT) -o $@ $< ++ ++.po.gmo: ++ file=`echo $* | sed 's,.*/,,'`.gmo \ ++ && rm -f $$file && $(GMSGFMT) -o $$file $< ++ ++.po.cat: ++ sed -f ../intl/po2msg.sed < $< > $*.msg \ ++ && rm -f $@ && gencat $@ $*.msg ++ ++ ++all: all-@USE_NLS@ ++ ++all-yes: $(CATALOGS) ++all-no: ++ ++$(GETTEXT_PACKAGE).pot: $(POTFILES) ++ $(GENPOT) ++ ++install: install-data ++install-data: install-data-@USE_NLS@ ++install-data-no: all ++install-data-yes: all ++ linguas="$(USE_LINGUAS)"; \ ++ for lang in $$linguas; do \ ++ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ ++ $(mkdir_p) $$dir; \ ++ if test -r $$lang.gmo; then \ ++ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ ++ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ ++ else \ ++ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ ++ echo "installing $(srcdir)/$$lang.gmo as" \ ++ "$$dir/$(GETTEXT_PACKAGE).mo"; \ ++ fi; \ ++ if test -r $$lang.gmo.m; then \ ++ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ ++ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ ++ else \ ++ if test -r $(srcdir)/$$lang.gmo.m ; then \ ++ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ ++ $$dir/$(GETTEXT_PACKAGE).mo.m; \ ++ echo "installing $(srcdir)/$$lang.gmo.m as" \ ++ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ ++ else \ ++ true; \ ++ fi; \ ++ fi; \ ++ done ++ ++# Empty stubs to satisfy archaic automake needs ++dvi info tags TAGS ID: ++ ++# Define this as empty until I found a useful application. ++install-exec installcheck: ++ ++uninstall: ++ linguas="$(USE_LINGUAS)"; \ ++ for lang in $$linguas; do \ ++ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ ++ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ ++ done ++ ++check: all $(GETTEXT_PACKAGE).pot ++ rm -f missing notexist ++ srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m ++ if [ -r missing -o -r notexist ]; then \ ++ exit 1; \ ++ fi ++ ++mostlyclean: ++ rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp ++ rm -f .intltool-merge-cache ++ ++clean: mostlyclean ++ ++distclean: clean ++ rm -f Makefile Makefile.in POTFILES stamp-it ++ rm -f *.mo *.msg *.cat *.cat.m *.gmo ++ ++maintainer-clean: distclean ++ @echo "This command is intended for maintainers to use;" ++ @echo "it deletes files that may require special tools to rebuild." ++ rm -f Makefile.in.in ++ ++distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) ++dist distdir: $(DISTFILES) ++ dists="$(DISTFILES)"; \ ++ extra_dists="$(EXTRA_DISTFILES)"; \ ++ for file in $$extra_dists; do \ ++ test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ ++ done; \ ++ for file in $$dists; do \ ++ test -f $$file || file="$(srcdir)/$$file"; \ ++ ln $$file $(distdir) 2> /dev/null \ ++ || cp -p $$file $(distdir); \ ++ done ++ ++update-po: Makefile ++ $(MAKE) $(GETTEXT_PACKAGE).pot ++ tmpdir=`pwd`; \ ++ linguas="$(USE_LINGUAS)"; \ ++ for lang in $$linguas; do \ ++ echo "$$lang:"; \ ++ result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ ++ if $$result; then \ ++ if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ ++ rm -f $$tmpdir/$$lang.new.po; \ ++ else \ ++ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ ++ :; \ ++ else \ ++ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ ++ rm -f $$tmpdir/$$lang.new.po; \ ++ exit 1; \ ++ fi; \ ++ fi; \ ++ else \ ++ echo "msgmerge for $$lang.gmo failed!"; \ ++ rm -f $$tmpdir/$$lang.new.po; \ ++ fi; \ ++ done ++ ++Makefile POTFILES: stamp-it ++ @if test ! -f $@; then \ ++ rm -f stamp-it; \ ++ $(MAKE) stamp-it; \ ++ fi ++ ++stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in ++ cd $(top_builddir) \ ++ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \ ++ $(SHELL) ./config.status ++ ++# Tell versions [3.59,3.63) of GNU make not to export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -Nur -x '*.orig' -x '*~' libgweather-2.27.91/po-locations/POTFILES.in libgweather-2.27.91.new/po-locations/POTFILES.in +--- libgweather-2.27.91/po-locations/POTFILES.in 1970-01-01 10:00:00.000000000 +1000 ++++ libgweather-2.27.91.new/po-locations/POTFILES.in 2009-08-26 11:54:52.000000000 +1000 +@@ -0,0 +1,4 @@ ++# This list should contain *only* data/Locations.xml.in. ++# Everything else should be in POTFILES.skip. ++[encoding:UTF-8] ++data/Locations.xml.in |