From cb3cf0e9deb0a51ae7efc572adf6a77647ff8c61 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 20 Jul 2009 14:45:32 +0000 Subject: [PATCH] keep locations in gettext catalogs --- 01_gettext_not_xml.patch | 534 +++++++++++++++++++++++++++++++++++++++ libgweather.spec | 33 +-- 2 files changed, 548 insertions(+), 19 deletions(-) create mode 100644 01_gettext_not_xml.patch diff --git a/01_gettext_not_xml.patch b/01_gettext_not_xml.patch new file mode 100644 index 0000000..fa248fa --- /dev/null +++ b/01_gettext_not_xml.patch @@ -0,0 +1,534 @@ +only in patch2: +unchanged: +diff -Nur -x '*.orig' -x '*~' libgweather-2.26.1/configure.in libgweather-2.26.1.new/configure.in +--- libgweather-2.26.1/configure.in 2009-04-14 00:07:38.000000000 +0200 ++++ libgweather-2.26.1.new/configure.in 2009-04-23 18:18:50.000000000 +0200 +@@ -38,6 +38,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]) + +@@ -48,13 +52,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])], +@@ -242,7 +239,7 @@ + Makefile + doc/Makefile + po/Makefile.in +-po-locations/Makefile ++po-locations/Makefile.in + libgweather/Makefile + libgweather/gweather.pc + libgweather/gweather-uninstalled.pc +@@ -250,12 +247,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 *************************************************************************** +@@ -265,6 +256,4 @@ + Prefix: ${prefix} + Source code location: ${srcdir} + Compiler: ${CC} +- Locations.xml translations: ${LOCATIONS_XML_TRANSLATIONS} +- Locations.xml compression: ${enable_locations_compression} + " >&2 +diff -Nur -x '*.orig' -x '*~' libgweather-2.26.1/data/Makefile.am libgweather-2.26.1.new/data/Makefile.am +--- libgweather-2.26.1/data/Makefile.am 2009-04-14 00:00:59.000000000 +0200 ++++ libgweather-2.26.1.new/data/Makefile.am 2009-04-23 18:18:50.000000000 +0200 +@@ -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) +- 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 +- 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.26.1/libgweather/gweather-location.c libgweather-2.26.1.new/libgweather/gweather-location.c +--- libgweather-2.26.1/libgweather/gweather-location.c 2009-04-14 00:00:47.000000000 +0200 ++++ libgweather-2.26.1.new/libgweather/gweather-location.c 2009-04-23 18:19:23.000000000 +0200 +@@ -22,11 +22,14 @@ + #include + #endif + ++#include "config.h" ++ + #include + #include + #include + #include + #include ++#include + + #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.26.1/libgweather/gweather-timezone.c libgweather-2.26.1.new/libgweather/gweather-timezone.c +--- libgweather-2.26.1/libgweather/gweather-timezone.c 2009-04-14 00:00:47.000000000 +0200 ++++ libgweather-2.26.1.new/libgweather/gweather-timezone.c 2009-04-23 18:19:37.000000000 +0200 +@@ -23,6 +23,7 @@ + #endif + + #include ++#include + + #define GWEATHER_I_KNOW_THIS_IS_UNSTABLE + #include "gweather-timezone.h" +@@ -155,7 +156,7 @@ + parse_timezone (GWeatherParser *parser) + { + GWeatherTimezone *zone = NULL; +- char *id = NULL, *name = NULL; ++ char *id = NULL, *name = NULL, *context = NULL; + int offset, dst_offset; + gboolean has_dst = FALSE; + +@@ -178,27 +179,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.26.1/po-locations/LINGUAS libgweather-2.26.1.new/po-locations/LINGUAS +--- libgweather-2.26.1/po-locations/LINGUAS 1970-01-01 01:00:00.000000000 +0100 ++++ libgweather-2.26.1.new/po-locations/LINGUAS 2009-04-23 18:18:50.000000000 +0200 +@@ -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.26.1/po-locations/Makefile.in.in libgweather-2.26.1.new/po-locations/Makefile.in.in +--- libgweather-2.26.1/po-locations/Makefile.in.in 1970-01-01 01:00:00.000000000 +0100 ++++ libgweather-2.26.1.new/po-locations/Makefile.in.in 2009-04-23 18:18:50.000000000 +0200 +@@ -0,0 +1,217 @@ ++# Makefile for program source directory in GNU NLS utilities package. ++# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper ++# Copyright (C) 2004-2008 Rodney Dawes ++# ++# 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 to use GETTEXT_PACKAGE ++# instead of PACKAGE and to look for po2tbl in ./ not in intl/ ++# ++# - Modified by jacob berkman to install ++# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize ++# ++# - Modified by Rodney Dawes 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.26.1/po-locations/POTFILES.in libgweather-2.26.1.new/po-locations/POTFILES.in +--- libgweather-2.26.1/po-locations/POTFILES.in 1970-01-01 01:00:00.000000000 +0100 ++++ libgweather-2.26.1.new/po-locations/POTFILES.in 2009-04-23 18:18:50.000000000 +0200 +@@ -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 diff --git a/libgweather.spec b/libgweather.spec index 0a520c8..767ef22 100644 --- a/libgweather.spec +++ b/libgweather.spec @@ -1,6 +1,6 @@ Name: libgweather Version: 2.26.1 -Release: 3%{?dist} +Release: 5%{?dist} Summary: A library for weather information Group: System Environment/Libraries @@ -16,6 +16,11 @@ BuildRequires: libsoup-devel >= 2.4 BuildRequires: libxml2-devel >= 2.6 BuildRequires: gettext BuildRequires: intltool +BuildRequires: gtk-doc +BuildRequires: autoconf automake libtool + +# Ubuntu forgot to upstream this patch... +Patch0: 01_gettext_not_xml.patch %description libgweather is a library to access weather information from online @@ -39,35 +44,22 @@ developing applications that use %{name}. %prep %setup -q +%patch0 -p1 -b .gettext + +gtkdocize +autoreconf -i -f %build %configure --disable-static --disable-gtk-doc make %{?_smp_mflags} -# strip unneeded translations from .mo files -# ideally intltool (ha!) would do that for us -# http://bugzilla.gnome.org/show_bug.cgi?id=474987 -cd po -grep -v ".*[.]desktop[.]in[.]in$\|.*[.]server[.]in[.]in$" POTFILES.in > POTFILES.keep -mv POTFILES.keep POTFILES.in -intltool-update --pot -sed -ie 's|POT-Creation-Date.*|POT-Creation-Date: 2008-10-01 00:00-0400\\n"|g' %{name}.pot -for p in *.po; do - msgmerge $p %{name}.pot > $p.out - msgfmt -o `basename $p .po`.gmo $p.out -done - %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' -%find_lang %{name} - -# do the %%lang tag game for the localized xml files, too -find $RPM_BUILD_ROOT -name Locations.*.xml | sed 's:'"$RPM_BUILD_ROOT"':: -s:\(.*\)/Locations\.\([^.]*\)\.xml:%lang(\2) \1/Locations.\2.xml:' >> %{name}.lang +%find_lang %{name} --all-name %clean rm -rf $RPM_BUILD_ROOT @@ -110,6 +102,9 @@ fi %changelog +* Mon Jul 20 2009 Matthias Clasen 2.26.1-5 +- Keep locations in gettext catalogs + * Wed Jun 10 2009 Matthias Clasen 2.26.1-3 - Fix multilib parallel-installability (#477672) - Remove some old optimizations that are now no-ops