1
0
gettext-runtime/gettext-csharp.spec

142 lines
4.8 KiB
RPMSpec
Raw Normal View History

#
# spec file for package gettext-csharp
#
# Copyright (c) 2021 SUSE LLC
#
# 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/
#
%if 0%{?fedora_version} || 0%{?centos_version} <= 600 || 0%{?scilin_version} <= 600 || 0%{?rhel_version} <= 600
%global debug_package %{nil}
%endif
Name: gettext-csharp
Accepting request 823172 from home:cvoegl:branches:Base:System -Updated to version 0.21 * Improvements for translators: When msgfmt writes a MO file, it now does so in such a way that processes that are currently using an older copy of the MO file will not crash. - Updated to version 0.21 - Java: o xgettext now recognizes format strings in the Formatter syntax. They are marked as 'java-printf-format' in POT and PO files. o xgettext now recognizes text blocks as string literals. - Improvements for translators: o When msgfmt writes a MO file, it now does so in such a way that processes that are currently using an older copy of the MO file will not crash. - Update to 0.21: * Programming languages support: - Shell: o xgettext now recognizes and ignores 'env' invocations and environment variable assignments in front of commands. - Java: o xgettext now recognizes format strings in the Formatter syntax. They are marked as 'java-printf-format' in POT and PO files. o xgettext now recognizes text blocks as string literals. - JavaScript: xgettext parses JSX expressions more reliably. - Ruby: o xgettext now supports Ruby. o 'msgfmt -c' now verifies the syntax of translations of Ruby format strings. * Improvements for translators: - When msgfmt writes a MO file, it now does so in such a way that processes that are currently using an older copy of the MO file will not crash. * Libtextstyle: - Added support for emitting hyperlinks. - New API for doing formatted output. - The example programs support the NO_COLOR environment variable. - Update to 0.21: * Programming languages support: - Shell: o xgettext now recognizes and ignores 'env' invocations and environment variable assignments in front of commands. - Java: o xgettext now recognizes format strings in the Formatter syntax. They are marked as 'java-printf-format' in POT and PO files. o xgettext now recognizes text blocks as string literals. - JavaScript: xgettext parses JSX expressions more reliably. - Ruby: o xgettext now supports Ruby. o 'msgfmt -c' now verifies the syntax of translations of Ruby format strings. * Improvements for translators: - When msgfmt writes a MO file, it now does so in such a way that processes that are currently using an older copy of the MO file will not crash. * Libtextstyle: - Added support for emitting hyperlinks. - New API for doing formatted output. - The example programs support the NO_COLOR environment variable. OBS-URL: https://build.opensuse.org/request/show/823172 OBS-URL: https://build.opensuse.org/package/show/Base:System/gettext-runtime?expand=0&rev=169
2020-08-04 10:25:00 +02:00
Version: 0.21
Release: 0
Summary: Native Language Support (NLS) for C#
License: LGPL-2.1-or-later
Group: Development/Tools/Other
URL: https://www.gnu.org/software/gettext/
Source0: https://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.xz
Source1: https://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.xz.sig
Source2: suse-start-po-mode.el
Source3: gettext-linkdupes.sh
Source4: gettext-rpmlintrc
Source5: %{name}.keyring
Patch: gettext-0.12.1-sigfpe.patch
Patch1: gettext-0.19.3-fix-bashisms.patch
Patch2: gettext-0.12.1-gettextize.patch
Patch3: use-acinit-for-libtextstyle.patch
Patch4: gettext-po-mode.diff
Patch5: gettext-initialize_vars.patch
# PATCH-FIX-OPENSUSE gettext-dont-test-gnulib.patch -- coolo@suse.de
Patch6: gettext-dont-test-gnulib.patch
# PATCH-FIX-UPSTREAM boo#941629 -- pth@suse.com
Patch11: boo941629-unnessary-rpath-on-standard-path.patch
# PATCH-FIX-SUSE Bug boo#1106843
Patch13: reproducible.patch
# PATCH-FEATURE bsc#1165138
Patch14: 0001-msgcat-Add-feature-to-use-the-newest-po-file.patch
Patch15: 0002-msgcat-Merge-headers-when-use-first.patch
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: glib2-devel
BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: mono-devel
BuildRequires: perl-libintl-perl
BuildRequires: tcl
Requires: mono
%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}
%patch0
%patch1 -p1
%patch2
%patch3 -p1
%patch4
%patch5
%patch6 -p1
%patch11 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%build
export CFLAGS="%{optflags} -pipe -W -Wall -Dgcc_is_lint -lm"
2010-12-21 13:54:03 +01:00
export CXXFLAGS="%{optflags} -pipe -W -Wall -Dgcc_is_lint"
# expect a couple "You should update your `aclocal.m4' by running aclocal."
autoreconf -fiv
%configure --enable-shared --enable-csharp
%make_build GMSGFMT=../src/msgfmt
%install
export LC_CTYPE=ISO-8859-15
%make_install
mkdir examples
2010-12-21 13:54:03 +01:00
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 ..
2010-12-21 13:54:03 +01:00
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
%files
%doc %{_defaultdocdir}/%{name}
%{_libdir}/GNU.Gettext.dll
%{_libdir}/gettext/msgfmt.net.exe
%{_libdir}/gettext/msgunfmt.net.exe
%changelog