+# TODO
+# - unpackaged:
+# /usr/share/emacs/site-lisp/po-compat.el
+# /usr/share/emacs/site-lisp/po-compat.elc
+# /usr/share/emacs/site-lisp/po-mode.el
+# /usr/share/emacs/site-lisp/po-mode.elc
+# /usr/share/emacs/site-lisp/start-po.el
+# /usr/share/emacs/site-lisp/start-po.elc
#
# Conditional build:
%bcond_without asprintf # without libasprintf C++ library
-%bcond_without xemacs # without po-mode for xemacs
+%bcond_with xemacs # without po-mode for xemacs
%bcond_without gcj # with Java support by gcj (preferred over javac)
-%bcond_with javac # with Java support by some javac
+%bcond_with javac # with Java support by some javac
%bcond_without dotnet # without .NET support
-#
-
-%{?with_dotnet:%include /usr/lib/rpm/macros.mono}
+%bcond_with bootstrap # use system GLib and libcroco
%ifnarch %{ix86} %{x8664} arm hppa ppc s390 s390x
%undefine with_dotnet
%undefine with_dotnet
%endif
-%undefine with_xemacs
+%{?with_dotnet:%include /usr/lib/rpm/macros.mono}
%define build_java %{?with_gcj:1}%{!?with_gcj:%{?with_javac:1}%{!?with_javac:0}}
Summary: Utilties for program national language support
Summary(tr.UTF-8): Desteği için kitaplık ve araçlar
Summary(uk.UTF-8): Бібліотеки та утиліти для підтримки національних мов
Name: gettext
-Version: 0.16.1
-Release: 5
-License: LGPL (runtime), GPL (tools)
+Version: 0.17
+Release: 10
+License: LGPL v2+ (libintl), GPL v3+ (tools)
Group: Development/Tools
-Source0: ftp://ftp.gnu.org/gnu/gettext/%{name}-%{version}.tar.gz
-# Source0-md5: 3d9ad24301c6d6b17ec30704a13fe127
+Source0: http://ftp.gnu.org/gnu/gettext/%{name}-%{version}.tar.gz
+# Source0-md5: 58a2bc6d39c0ba57823034d55d65d606
Patch0: %{name}-info.patch
Patch1: %{name}-killkillkill.patch
Patch2: %{name}-pl.po-update.patch
Patch3: %{name}-no_docs.patch
-Patch4: %{name}-ac.patch
-Patch5: %{name}-libintl_by_gcj.patch
+Patch4: %{name}-libintl_by_gcj.patch
+Patch5: %{name}-removed_macros.patch
+Patch6: %{name}-creat_mode.patch
+Patch7: %{name}-cvs.patch
+Patch8: %{name}-m4.patch
URL: http://www.gnu.org/software/gettext/
-BuildRequires: autoconf >= 2.59
-# after dropping -ac.patch:
-#BuildRequires: autoconf >= 2.60
+BuildRequires: autoconf >= 2.60
BuildRequires: automake >= 1:1.10
+BuildRequires: cvs-gnu-client
%{?with_gcj:BuildRequires: gcj >= 3.0}
-%{?with_javac:BuildRequires: jdk >= 1.1}
+%{!?with_bootstrap:BuildRequires: glib2-devel >= 2.0}
+%if %{with javac}
+BuildRequires: jdk >= 1.1
+BuildRequires: jar
+%endif
+%{!?with_bootstrap:BuildRequires: libcroco-devel >= 0.6.1}
+%if "%(echo %{cc_version} | grep -q '^4.[2-9]'; echo $?)" == "0"
BuildRequires: libgomp-devel
+%endif
%{?with_asprintf:BuildRequires: libstdc++-devel}
BuildRequires: libtool >= 1:1.4.2-9
%{?with_dotnet:BuildRequires: mono-csharp}
+BuildRequires: rpmbuild(macros) >= 1.453
BuildRequires: texinfo
%{?with_xemacs:BuildRequires: xemacs}
Obsoletes: gettext-base
Summary(fr.UTF-8): Utilitaires pour le support de la langue nationnalepar les programmes
Summary(pl.UTF-8): Narzędzia dla programów ze wsparciem dla języków narodowych
Summary(tr.UTF-8): Desteği için kitaplık ve araçlar
-License: GPL
+License: GPL v3+
Group: Development/Tools
Requires(post,postun): /sbin/ldconfig
Requires: %{name} = %{version}-%{release}
%package static
Summary: Static gettext utility libraries
Summary(pl.UTF-8): Statyczne biblioteki narzędziowe gettext
-License: GPL
+License: GPL v3+
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%package -n libasprintf
Summary: GNU libasprintf - automatic formatted output to strings in C++
Summary(pl.UTF-8): GNU libasprintf - automatyczne formatowanie wyjścia do łańcuchów w C++
-License: LGPL
+License: LGPL v2+
Group: Libraries
%description -n libasprintf
%package -n libasprintf-devel
Summary: Header file and documentation for libasprintf
Summary(pl.UTF-8): Plik nagłówkowy i dokumentacja dla libasprintf
-License: LGPL
+License: LGPL v2+
Group: Development/Libraries
Requires: libasprintf = %{version}-%{release}
%package -n libasprintf-static
Summary: Static libasprintf library
Summary(pl.UTF-8): Statyczna biblioteka libasprintf
-License: LGPL
+License: LGPL v2+
Group: Development/Libraries
Requires: libasprintf-devel = %{version}-%{release}
%package java
Summary: Runtime classes for Java programs internationalization
Summary(pl.UTF-8): Klasy do uruchamiania umiędzynarodowionych programów w Javie
-License: LGPL
+License: LGPL v2+
Group: Development/Languages/Java
Requires: %{name} = %{version}-%{release}
%package java-devel
Summary: Development classes for Java programs internationalization
Summary(pl.UTF-8): Klasy do umiędzynarodowiania programów w Javie dla programistów
-License: GPL
+License: GPL v3+
Group: Development/Tools
Requires: %{name}-devel = %{version}-%{release}
Summary(es.UTF-8): Facilita la edición de archivos PO (internacionalización) con emacs
Summary(pl.UTF-8): Tryb PO dla Xemacsa
Summary(pt_BR.UTF-8): Facilita a edição de arquivos PO (internacionalização) com o emacs
-License: GPL
+License: GPL v2+
Group: Applications/Editors/Emacs
Requires: xemacs
%package autopoint
Summary: gettextize replacement
Summary(pl.UTF-8): Zamiennik gettextize
-License: GPL
+License: GPL v3+
Group: Development/Tools
Requires: %{name}-devel >= 0.10.35
-Requires: cvs
%description autopoint
The `autopoint' program copies standard gettext infrastructure files
%package -n dotnet-gettext
Summary: GNU gettext for C#
Summary(pl.UTF-8): GNU gettext dla C#
+License: LGPL v2+ (GNU.Gettext library), GPL v3+ (tools)
Group: Development/Tools
%description -n dotnet-gettext
#%patch3 -p1
%patch4 -p1
%patch5 -p1
-
-%{__perl} -pi -e 's/ no / nb /' gettext-runtime/po/LINGUAS gettext-tools/po/LINGUAS
-mv -f gettext-runtime/po/{no,nb}.po
-mv -f gettext-runtime/po/{no,nb}.gmo
-mv -f gettext-tools/po/{no,nb}.po
-mv -f gettext-tools/po/{no,nb}.gmo
-rm -f gettext-tools/po/stamp-po
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
%build
+# make autopoint to use tar.gz archives instead of cvs repository
+install -d archive-cvs/{prepare,archive}
+tar xzf gettext-tools/misc/archive.tar.gz -C archive-cvs/prepare
+cvs -d$(pwd)/archive-cvs/prepare/archive init
+cd archive-cvs/archive
+cvs -Q -d$(pwd)/../prepare/archive -q co .
+for rev in $(cvs status -v | grep '(revision:' | awk ' { print $1 } ' | sort -u); do
+ cvs -Q up -d -r $rev
+ cd ..
+ tar czf archive-${rev}.tar.gz archive --exclude=CVS
+ cd archive
+done
+cd ../..
+
%{__libtoolize}
cd autoconf-lib-link
%{__aclocal} -I m4 -I ../m4
%{__autoconf}
%{__automake}
cd ../gettext-runtime
+%{__libtoolize}
%{__aclocal} -I m4 -I gnulib-m4 -I ../autoconf-lib-link/m4 -I ../m4
%{__autoconf}
%{__autoheader}
--enable-nls \
%{!?with_dotnet:--disable-csharp} \
%{?with_dotnet:--enable-csharp=mono} \
- --without-included-gettext
-%{__make}
+ --without-included-gettext \
+ %{?with_bootstrap:--with-included-glib} \
+ %{?with_bootstrap:--with-included-libcroco}
+%{__make} \
+ GMSGFMT=`pwd`/gettext-tools/src/msgfmt
# msgfmt has been built, so now we can update pl.gmos
%{__make} pl.gmo -C gettext-runtime/po \
install gettext-tools/gnulib-lib/.libs/libgettextlib.a \
gettext-tools/src/.libs/libgettextsrc.a $RPM_BUILD_ROOT%{_libdir}
+install archive-cvs/archive-*.tar.gz $RPM_BUILD_ROOT%{_datadir}/gettext
+rm $RPM_BUILD_ROOT%{_datadir}/gettext/archive.tar.gz
+
rm -r $RPM_BUILD_ROOT%{_docdir}/gettext
+rm -r $RPM_BUILD_ROOT%{_docdir}/libasprintf
+rm -f $RPM_BUILD_ROOT%{_infodir}/dir
%find_lang %{name}-runtime
%find_lang %{name}-tools
%post -n libasprintf -p /sbin/ldconfig
%postun -n libasprintf -p /sbin/ldconfig
-%post -n libasprintf-devel
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%post -n libasprintf-devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
-%postun -n libasprintf-devel
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%postun -n libasprintf-devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
%files -f %{name}-runtime.lang
%defattr(644,root,root,755)
%{_libdir}/libgettext*.la
# libgettextpo is for other programs, not used by gettext tools themselves
%attr(755,root,root) %{_libdir}/libgettextpo.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgettextpo.so.0
%attr(755,root,root) %{_libdir}/preloadable_libintl.so
%attr(755,root,root) %{_libdir}/gettext/hostname
%attr(755,root,root) %{_libdir}/gettext/project-id
%{_infodir}/gettext*.info*
%{_mandir}/man1/gettextize.1*
%{_mandir}/man1/msg*.1*
+%{_mandir}/man1/recode-sr-latin.1*
%{_mandir}/man1/xgettext.1*
%{_mandir}/man3/*
%{_datadir}/gettext/projects/TP/teams.*
%attr(755,root,root) %{_datadir}/gettext/projects/TP/team-address
%attr(755,root,root) %{_datadir}/gettext/projects/TP/trigger
+%{_datadir}/gettext/styles
%files static
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%doc gettext-runtime/libasprintf/{AUTHORS,ChangeLog,README}
%attr(755,root,root) %{_libdir}/libasprintf.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libasprintf.so.0
%files -n libasprintf-devel
%defattr(644,root,root,755)
%doc gettext-runtime/intl-java/javadoc2
%attr(755,root,root) %{_libdir}/gettext/gnu.gettext.DumpResource
%attr(755,root,root) %{_libdir}/gettext/gnu.gettext.GetURL
+%{_datadir}/gettext/javaversion.class
%endif
%if %{with xemacs}
%files autopoint
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/autopoint
-%{_datadir}/gettext/archive.tar.gz
+%{_datadir}/gettext/archive*.tar.gz
%{_mandir}/man1/autopoint.1*
%if %{with dotnet}