1
0
gettext-runtime/gettext-csharp.spec
Marcus Meissner 142fb01862 Accepting request 712409 from home:cvoegl:branches:Base:System
- Updated to version 0.20.1:
  + msgfmt now eliminates the POT-Creation-Date header field from .mo files.
  + msgmerge now has an option --for-msgfmt, that produces a PO file meant
    for use by msgfmt only.  This option saves processing time, in particular
    by omitting fuzzy matching that is not useful in this situation.
  + The .pot file in a 'po' directory is now erased by "make maintainer-clean".
  + It is now possible to override xgettext options from the po/Makefile.in.in
    through options in XGETTEXT_OPTIONS (declared in po/Makevars).
  + The --intl option of the gettextize program (deprecated since 2010) is
    no longer available. Instead of including the intl sources in your package,
    we suggest making the libintl library an optional prerequisite of your
    package. This will simplify the build system of your package.
  + Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well.
- Rebased gettext-po-mode.diff
- Removed gettext-needlessly_init_vars.patch (now in upstream)
- Updated to version 0.20.1
  + msgfmt now eliminates the POT-Creation-Date header field from .mo files.
  + update-po target in Makefile.in.in now uses msgmerge --previous.
  + msgmerge now has an option --for-msgfmt, that produces a PO file meant
    for use by msgfmt only.  This option saves processing time, in particular
    by omitting fuzzy matching that is not useful in this situation.
  + The .pot file in a 'po' directory is now erased by "make maintainer-clean".
  + It is now possible to override xgettext options from the po/Makefile.in.in
    through options in XGETTEXT_OPTIONS (declared in po/Makevars).
  + The --intl option of the gettextize program (deprecated since 2010) is
    no longer available. Instead of including the intl sources in your package,
    we suggest making the libintl library an optional prerequisite of your
    package. This will simplify the build system of your package.
  + Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well.
  + Java:
    * xgettext now supports UTF-8 encoded .properties files (a new feature
      of Java 9).
    * The build system and tools now support Java 9, 10, and 11. On the
      other hand, support for old versions of Java (Java 5 and older,
      GCJ 4.2.x and older) has been dropped.
- Rebased gettext-po-mode.diff 
- Removed gettext-needlessly_init_vars.patch (now in upstream)
- Removed gettext-0.19.8.1-jdk9.patch (now in upstream)
- Updatetd to 0.20.1
  + msgfmt now eliminates the POT-Creation-Date header field from .mo files.
  + update-po target in Makefile.in.in now uses msgmerge --previous.
  + msgmerge now has an option --for-msgfmt, that produces a PO file meant
    for use by msgfmt only.  This option saves processing time, in particular
    by omitting fuzzy matching that is not useful in this situation.
  + The .pot file in a 'po' directory is now erased by "make maintainer-clean".
  + It is now possible to override xgettext options from the po/Makefile.in.in
    through options in XGETTEXT_OPTIONS (declared in po/Makevars).
  + The --intl option of the gettextize program (deprecated since 2010) is
    no longer available. Instead of including the intl sources in your package,
    we suggest making the libintl library an optional prerequisite of your
    package. This will simplify the build system of your package.
  + Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well.
  + C, C++:
    *  xgettext now supports strings in u8"..." syntax, as specified in C11
       and C++11.
    *  xgettext now supports 'p'/'P' exponent markers in number tokens, as
       specified in C99 and C++17.
  + C++:
    *  xgettext now supports single-quotes in number tokens, as specified in
       C++14. 
  + Shell:
    *  The programs 'gettext', 'ngettext' now support a --context argument.
    *  gettext.sh contains new function eval_pgettext and eval_npgettext
       for producing translations of messages with context.
  + Perl:
    * Native support for context functions (pgettext, dpgettext, dcpgettext,
      npgettext, dnpgettext, dcnpgettext).
    * better detection of question mark and slash as operators (as opposed 
      to regular expression delimiters).
  + Scheme:
    * xgettext now parses the syntax for specialized byte vectors (#u8(...),
      #vu8(...), etc.) correctly.
  + Pascal:
    * xgettext can now extract strings from .rsj files, produced by the
      Free Pascal compiler version 3.0.0 or newer.
  + Vala:
    * xgettext now parses escape sequences in strings more accurately.
  + JavaScript:
    *  xgettext now parses template literals correctly.
- Rebased gettext-dont-test-gnulib.patch
- Removed gettext-needlessly_init_vars.patch (now in upstream)
- Rebased gettext-po-mode.diff
- Removed msgfmt-remove-pot-creation-date.patch (now in upstream)
- Removed msgfmt-reset-msg-length-after-remove.patch (now in upstream)
- Removed parts of reproducible.patch (now in upstream)
- Updatetd to 0.20.1
  + msgfmt now eliminates the POT-Creation-Date header field from .mo files.
  + update-po target in Makefile.in.in now uses msgmerge --previous.
  + msgmerge now has an option --for-msgfmt, that produces a PO file meant
    for use by msgfmt only.  This option saves processing time, in particular
    by omitting fuzzy matching that is not useful in this situation.
  + The .pot file in a 'po' directory is now erased by "make maintainer-clean".
  + It is now possible to override xgettext options from the po/Makefile.in.in
    through options in XGETTEXT_OPTIONS (declared in po/Makevars).
  + The --intl option of the gettextize program (deprecated since 2010) is
    no longer available. Instead of including the intl sources in your package,
    we suggest making the libintl library an optional prerequisite of your
    package. This will simplify the build system of your package.
  + Accordingly, the Autoconf macro AM_GNU_GETTEXT_INTL_SUBDIR is gone as well.
  + C, C++:
    *  xgettext now supports strings in u8"..." syntax, as specified in C11
       and C++11.
    *  xgettext now supports 'p'/'P' exponent markers in number tokens, as
       specified in C99 and C++17.
  + C++:
    *  xgettext now supports single-quotes in number tokens, as specified in
       C++14. 
  + Shell:
    *  The programs 'gettext', 'ngettext' now support a --context argument.
    *  gettext.sh contains new function eval_pgettext and eval_npgettext
       for producing translations of messages with context.
  + Perl:
    * Native support for context functions (pgettext, dpgettext, dcpgettext,
      npgettext, dnpgettext, dcnpgettext).
    * better detection of question mark and slash as operators (as opposed 
      to regular expression delimiters).
  + Scheme:
    * xgettext now parses the syntax for specialized byte vectors (#u8(...),
      #vu8(...), etc.) correctly.
  + Pascal:
    * xgettext can now extract strings from .rsj files, produced by the
      Free Pascal compiler version 3.0.0 or newer.
  + Vala:
    * xgettext now parses escape sequences in strings more accurately.
  + JavaScript:
    *  xgettext now parses template literals correctly.
- Rebased gettext-dont-test-gnulib.patch
- Removed gettext-needlessly_init_vars.patch (now in upstream)
- Rebased gettext-po-mode.diff
- Removed msgfmt-remove-pot-creation-date.patch (now in upstream)
- Removed msgfmt-reset-msg-length-after-remove.patch (now in upstream)
- Removed parts of reproducible.patch (now in upstream)

OBS-URL: https://build.opensuse.org/request/show/712409
OBS-URL: https://build.opensuse.org/package/show/Base:System/gettext-runtime?expand=0&rev=153
2019-07-08 12:13:35 +00:00

133 lines
4.3 KiB
RPMSpec

#
# spec file for package gettext-csharp
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: gettext-csharp
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: glib2-devel
BuildRequires: libcroco-devel
BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: mono-devel
BuildRequires: perl-libintl-perl
BuildRequires: tcl
Requires: mono
Url: http://www.gnu.org/software/gettext/
Version: 0.20.1
Release: 0
Summary: Native Language Support (NLS) for C#
License: LGPL-2.1-or-later
Group: Development/Tools/Other
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.gz
Source1: gettext-rpmlintrc
Source2: suse-start-po-mode.el
Source3: gettext-linkdupes.sh
Source4: http://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.gz.sig
Source5: %name.keyring
Patch: gettext-0.12.1-sigfpe.patch
Patch2: gettext-0.12.1-gettextize.patch
Patch4: gettext-po-mode.diff
Patch5: gettext-initialize_vars.patch
%if 0%{?fedora_version} || 0%{?centos_version} <= 600 || 0%{?scilin_version} <= 600 || 0%{?rhel_version} <= 600
%global debug_package %{nil}
%endif
%description
Mono with its 'resgen' program uses a design that Microsoft created and
that gives the power to the software vendor and not to the user: it
doesn't allow the end-user to create his own localisations for existing
programs. As documented in the gettext manual:
The advantages of the .dll' format over the .resources' format are:
1. 1. Freedom to localize: Users can add their own translations to an
application after it has been built and distributed. Whereas
when the programmer uses a ResourceManager' constructor provided
by the system, the set of .resources' files for an application
must be specified when the application is built and cannot be
extended afterwards.
2., 3., 4. ...
The included GNU.Gettext.dll gives the user this freedom back and the
also included msgfmt.net.exe and msgunfmt.net.exe handle PO files more
reliably than 'resgen'.
%prep
%setup -q -n gettext-%{version}
%patch
%patch2
%patch4
%patch5
%build
export CFLAGS="%{optflags} -pipe -W -Wall -Dgcc_is_lint"
export CXXFLAGS="%{optflags} -pipe -W -Wall -Dgcc_is_lint"
# expect a couple "You should update your `aclocal.m4' by running aclocal."
#autoreconf -fiv
#sh autogen.sh
%configure --enable-shared --enable-csharp
make %{?_smp_mflags} GMSGFMT=../src/msgfmt V=1
%install
export LC_CTYPE=ISO-8859-15
%makeinstall
mkdir examples
mv %{buildroot}/%{_datadir}/doc/gettext/examples/*csharp* examples
mv %{buildroot}/%{_datadir}/doc/gettext/csharpdoc csharpdoc
cd 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 ..
rm -rf %{buildroot}/%{_datadir}/*
mkdir -p %{buildroot}/%{_defaultdocdir}/%{name}
mv examples %{buildroot}/%{_defaultdocdir}/%{name}
mv csharpdoc %{buildroot}/%{_defaultdocdir}/%{name}
# exclude files packaged via other spec files
rm -Rf %{buildroot}/%_bindir
rm -f %{buildroot}/%_libdir/lib*
rm -f %{buildroot}/%_libdir/gettext/hostname
rm -f %{buildroot}/%_libdir/gettext/project-id
rm -f %{buildroot}/%_libdir/gettext/urlget
rm -f %{buildroot}/%_libdir/gettext/user-email
rm -f %{buildroot}/%_libdir/gettext/cldr-plurals
rm -Rf %{buildroot}/%_includedir
rm -f %{buildroot}/%_libdir/preloadable_libintl.so
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%doc %{_defaultdocdir}/%{name}
%_libdir/GNU.Gettext.dll
%_libdir/gettext/msgfmt.net.exe
%_libdir/gettext/msgunfmt.net.exe
%changelog