File gettext-java.spec of Package gettext-runtime

#
# spec file for package gettext-java (Version 0.17)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild

Name:           gettext-java
BuildRequires:  fdupes gcc-c++ gcc-java perl-libintl-perl tcl
Url:            http://www.gnu.org/software/gettext/
License:        LGPL v2.1 or later
Group:          Development/Tools/Other
AutoReqProv:    on
Version:        0.17
Release:        20
Summary:        Java Support for Native Language Support (NLS)
PreReq:         %{install_info_prereq}
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Source:         gettext-%{version}.tar.bz2
Source1:        gettext-rpmlintrc
Source2:        suse-start-po-mode.el
Source3:        gettext-linkdupes.sh
Patch:          gettext-0.12.1-sigfpe.patch
Patch2:         gettext-0.12.1-gettextize.patch
Patch3:         gettext-codecleanup.patch
Patch4:         po-mode.diff
Patch5:         gettext-initialize_vars.patch
Patch6:         gettext-0.15-docdir.diff
Patch7:         gettext-autotools.patch
Patch8:         gettext-gl_AC_TYPE_LONG_LONG.patch
Patch9:         gettext-needlessly_init_vars.patch
Patch10:        gettext-open_missing_mode.patch

%description
This package includes the tools needed to support message catalogs in
Java applications. It also includes example code for java, java+awt and
java+swing.



Authors:
--------
    Ulrich Drepper <drepper@cygnus.com>
    Bruno Haible <bruno@clisp.org>

%prep
%setup -q -n gettext-%{version}
%patch
%patch2
%patch3
%patch4
%patch5
%patch6 -p1
%patch7
%patch8
%patch9
%patch10
pushd gettext-tools/misc
tar xfz archive.tar.gz
find . -name gettext.m4,v -print0 | xargs -0 perl -spi -e 's/\(int\) /\(long\) /g'
tar cfz archive.tar.gz archive/
popd
autoreconf -fiv

%build
export CFLAGS="$RPM_OPT_FLAGS -pipe -W -Wall -Dgcc_is_lint"
export CXXFLAGS="$RPM_OPT_FLAGS -pipe -W -Wall -Dgcc_is_lint"
%configure --enable-shared
make GMSGFMT=../src/msgfmt

%install
export LC_CTYPE=ISO-8859-15
make -C gettext-tools/gnulib-lib install DESTDIR=$RPM_BUILD_ROOT
make -C gettext-tools/src         install DESTDIR=$RPM_BUILD_ROOT
make -C gettext-runtime/intl-java install DESTDIR=$PWD docdir=/docs
make -C gettext-tools/examples    install DESTDIR=$PWD docdir=/allexamples
mkdir -p docs/examples
mv allexamples/examples/*java* docs/examples
cd docs/examples
fdupes -r *|while read dupe; do
	if [ -z "$dupe" ]; then
		startlink=
	elif [ -z "$startlink" ]; then
		startlink="$dupe"
	else
		ln -f "$startlink" "$dupe"
	fi
done
cd ..
find -size 0 -print0 | xargs -0 --no-run-if-empty rm
rm -rf   $RPM_BUILD_ROOT/%{_datadir}/*
mkdir -p $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}
cp -av * $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}
cd ../allexamples/examples
rm -rf *csharp*
fdupes -r * | while read dupe; do
	if [ -z "$dupe" ]; then
		startlink=
	elif [ -z "$startlink" ]; then
		startlink="$dupe"
	else
		echo "ln -f '$startlink' '$dupe'" >>../../gettext-linkdupes.sh
	fi
done
diff %{SOURCE3} . || {
	cat <<END
	######################################################
	######################################################
	## Updated gettext-linkdupes.sh in $PWD ##
	######################################################
	######################################################
END
}
ls -l $RPM_BUILD_ROOT/%_datadir

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%{_defaultdocdir}/%{name}
%exclude %_prefix/bin
%exclude %_libdir/lib*
%exclude %_libdir/gettext/hostname
%exclude %_libdir/gettext/project-id
%exclude %_libdir/gettext/urlget
%exclude %_libdir/gettext/user-email
%_libdir/gettext/gnu.gettext.DumpResource
%_libdir/gettext/gnu.gettext.GetURL

%changelog
* Tue Dec 04 2007 pth@suse.de
- Add patch from upstreams to add the missing mode for the open call.
* Fri Nov 23 2007 pth@suse.de
- Remove the patch for disabling a test.
* Fri Nov 16 2007 pth@suse.de
- Don't run the testsuite.
* Thu Nov 15 2007 pth@suse.de
- Rename packages: gettext -> gettext-runtime and
  gettext-devel -> gettext->tools
  Packaging closely follows uptream recommendation with a few
  exceptions.
- Initialize variable to shut up gcc.
- Disable msgmerge-compendium-5 for now.
- Reorder installation flow because libgettextlib is needed for the
  gettext-tools stuf.
- Update to 0.17:
  * License:
  The gettext related programs and tools are now licensed under the GPL
  version 3, instead of the GPL version 2.
  * PO file format:
  The Project-Id-Version field in the header entry may now already be filled
  in the POT file. In this case, the translators don't need to fill it in.
  xgettext has new options --package-name and --package-version that allow
  to specify the package name and version from a Makefile.
  * Colorized PO files:
  The msgcat program has new options --color and --style that produce a
  colorized PO file output, where keywords, strings, comments, or format
  directives can be highlighted.  See the documentation section
  "Highlighting parts of PO files" for more info.
  * gettextize now has a --po-dir option that allows several PO directories to
  be updated all together.
  * Programming languages support:
   - Contexts (msgctxt) are now also supported for Java and C#.
   - C# with Qt: The support for Qt format strings has been updated for Qt 4.
   - C++ with KDE:
  xgettext has a new option --kde that triggers the recognition and marking
  of KDE 4 format strings.
  * Autoconf macros:
   - A new macro AM_XGETTEXT_OPTION can be used as an alternative to modifying
  po/Makevars.
  * libgettextpo library:
   - New functions are available for querying the list of supported format
  types.
   - The functions po_message_comments and po_message_extracted_comments
  return a multiline string where each line no longer starts with a
  redundant space. The leading space in every comment line is now stripped
  while reading the PO file.
   - Conversely, when you pass a multiline string to the function
  po_message_set_comments or po_message_set_extracted_comments, you normally
  don't pass a space at the beginning of each line, because such spaces are
  no longer trimmed during output.
  * Documentation:
   - The "Users" chapter has been completely rewritten.
   - New section "Highlighting parts of PO files".
 - A complete example showing the use of GNU gettext in Java with the Qt/Jambi
  GUI toolkit has been added.
- Add tcl and perl-libintl-perl to BuildRequires (testsuite needs
  them).
- Remove call to gl_AC_TYPE_LONG_LONG from libasprintf's
  configure.ac
* Wed Oct 31 2007 mrueckert@suse.de
- renamed rpmlintrc to gettext-rpmlintrc and added it to the spec
  as source 1
* Mon Sep 03 2007 pth@suse.de
- Incorporate upstream patch that correctly fixes the expat
  dynloading code (http://savannah.gnu.org/bugs/?19585).
* Fri Aug 10 2007 bk@suse.de
- Update to gettext 0.16.1, required by GnuPG 2.0.5
* Thu Aug 09 2007 bk@suse.de
- re-enable make check to identify possible toolchain bugs
- move java documentation from gettext to this package
- hardlink duplicate example files in documentation
* Fri Apr 20 2007 pth@suse.de
- Make inclusion of expat.h independent of dynamic loading so
  that XML_MAJOR_VERSION is actually defined (#264110).
* Fri Mar 30 2007 pth@suse.de
- Fix use of uninitialized variables.
- Set CXXFLAGS to get C++ code compiled with RPM_BUILD_OPTS
- Sync .spec files
* Tue Mar 20 2007 rguenther@suse.de
- Remove unused expat BuildRequires.
* Wed Jan 31 2007 pth@suse.de
- Reference 0.16 .spec file
- fix spec file
* Tue Jan 16 2007 pth@suse.de
- Update to gettext 0.16
* Mon Sep 18 2006 rguenther@suse.de
- New package to host gettext java tools GetURL and DumpResource.
openSUSE Build Service is sponsored by