summaryrefslogtreecommitdiff
path: root/gettext.spec
diff options
context:
space:
mode:
Diffstat (limited to 'gettext.spec')
-rw-r--r--gettext.spec328
1 files changed, 328 insertions, 0 deletions
diff --git a/gettext.spec b/gettext.spec
new file mode 100644
index 0000000..c00ab21
--- /dev/null
+++ b/gettext.spec
@@ -0,0 +1,328 @@
+%bcond_with jar
+%bcond_with java
+%bcond_without check
+
+%global archiveversion 0.22.5
+
+Name: gettext
+Version: 0.22.5
+Release: 1
+License: GPLv3+ and LGPLv2+
+Summary: GNU gettext utilities are a set of tools that provides a framework to help other GNU packages produce multi-lingual messages.
+URL: https://www.gnu.org/software/gettext/
+Source: https://ftp.gnu.org/pub/gnu/gettext/%{name}-%{version}.tar.gz
+Patch1: gettext-0.22-disable-libtextstyle.patch
+Patch2: gettext-0.21.1-covscan.patch
+
+
+BuildRequires: gcc-c++, emacs, xz, chrpath, autoconf, automake
+BuildRequires: ncurses-devel, libxml2-devel, glib2-devel, libunistring-devel
+%if %{with java}
+BuildRequires: gcc-java, libgcj
+BuildRequires: java-1.6.0-openjdk-devel
+%if %{with jar}
+BuildRequires: %{_bindir}/fastjar
+BuildRequires: zip, unzip
+%endif
+%endif
+# Requires: %{name}-libs%{_isa} = %{version}-%{release}
+Conflicts: filesystem < 3
+Provides: /bin/gettext
+Provides: bundled(gnulib)
+Provides: bundled(libcroco) = 0.6.12
+Provides: %{name}-libs = %{version}-%{release}
+Obsoletes: %{name}-libs < %{version}-%{release}
+
+%description
+GNU gettext is an important step for the GNU Translation Project, as it
+is an asset on which we may build many other steps. This package offers
+to programmers, translators, and even users, a well integrated set of
+tools and documentation. Specifically, the GNU gettext utilities are a
+set of tools that provides a framework to help other GNU packages
+produce multi-lingual messages. These tools include a set of conventions
+about how programs should be written to support message catalogs, a
+directory and file naming organization for the message catalogs themselves,
+a runtime library supporting the retrieval of translated messages, and
+a few stand-alone programs to massage in various ways the sets of
+translatable strings, or already translated strings. A special GNU Emacs
+mode also helps interested parties in preparing these sets, or bringing
+them up to date.
+
+%package devel
+Summary: Development files for %{name}
+License: LGPLv2+ and GPLv3+
+Requires: %{name} = %{version}-%{release}
+Requires(post): info
+Requires(preun): info
+Requires: xz
+Obsoletes: gettext-autopoint < 0.18.1.1-3
+Provides: gettext-autopoint = %{version}-%{release}
+Obsoletes: %{name}-common-devel < %{version}-%{release}
+Provides: %{name}-common-devel = %{version}-%{release}
+Obsoletes: msghack < %{version}-%{release}
+Provides: msghack = %{version}-%{release}
+
+%description devel
+This package provides development files and tools which help edit/alter
+po files, if you need to compile gettext related application/library or
+edit/alter po files, you should install this package.
+want to add gettext support for your project.
+
+%package -n emacs-%{name}
+Summary: Support for editing po files within GNU Emacs
+Group: Application/Editors
+BuildArch: noarch
+# help users find po-mode.el
+Provides: emacs-po-mode
+Requires: emacs(bin) >= %{_emacs_version}
+Provides: emacs-%{name}-el = %{version}-%{release}
+Obsoletes: emacs-%{name}-el < %{version}-%{release}
+
+%description -n emacs-%{name}
+This package provides a major mode for editing po files within GUN Emacs
+
+%package help
+Summary: help info for %{name}
+
+%description help
+This package contains man, license, info, readme, copyright, license.
+
+%prep
+%autosetup -n %{name}-%{version} -p1
+
+sed -e 's/\(gl_cv_libxml_force_included=\)yes/\1no/' \
+ -i libtextstyle/configure
+
+%build
+%if %{with java}
+export JAVAC=gcj
+%if %{with jar}
+export JAR=fastjar
+%endif
+%endif
+%ifarch ppc ppc64 ppc64le
+export CFLAGS="$RPM_OPT_FLAGS -D__SUPPORT_SNAN__"
+%endif
+export CPPFLAGS="-I%{_includedir}/libxml2"
+export LIBS="-lxml2"
+# automake upgrade to 1.17 and autoconf upgrade to 2.72, but gettext configure etc files also 1.16.5, so autoreconf
+autoreconf
+%configure --without-included-gettext --enable-nls --disable-static \
+ --enable-shared --with-pic --disable-csharp --disable-rpath \
+%if %{with java}
+ --enable-java \
+%else
+ --disable-java --disable-native-java \
+%endif
+ --with-xz
+
+make %{?_smp_mflags} %{?with_java:GCJFLAGS="-findirect-dispatch"}
+
+
+%install
+make install DESTDIR=${RPM_BUILD_ROOT} INSTALL="%{__install} -p" \
+ lispdir=%{_datadir}/emacs/site-lisp/gettext \
+ aclocaldir=%{_datadir}/aclocal EXAMPLESFILES=""
+
+# make preloadable_libintl.so executable
+chmod 755 ${RPM_BUILD_ROOT}%{_libdir}/preloadable_libintl.so
+
+rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir
+
+# doc relocations
+for i in gettext-runtime/man/*.html; do
+ rm ${RPM_BUILD_ROOT}%{_datadir}/doc/gettext/`basename $i`
+done
+rm -r ${RPM_BUILD_ROOT}%{_datadir}/doc/gettext/javadoc*
+rm -rf ${RPM_BUILD_ROOT}%{_datadir}/doc/gettext/examples
+
+rm -rf htmldoc
+mkdir htmldoc
+mv ${RPM_BUILD_ROOT}%{_datadir}/doc/gettext/* ${RPM_BUILD_ROOT}/%{_datadir}/doc/libasprintf/* htmldoc
+rm -r ${RPM_BUILD_ROOT}%{_datadir}/doc/libasprintf
+rm -r ${RPM_BUILD_ROOT}%{_datadir}/doc/gettext
+
+%if %{with jar}
+%else
+rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/libintl.jar
+%endif
+
+rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/gettext.jar
+
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/its
+
+rm ${RPM_BUILD_ROOT}%{_libdir}/lib*.la
+rm ${RPM_BUILD_ROOT}%{_libdir}/libgettext{src,lib}.so
+
+install -d ${RPM_BUILD_ROOT}%{_emacs_sitestartdir}
+mv ${RPM_BUILD_ROOT}%{_emacs_sitelispdir}/%{name}/start-po.el ${RPM_BUILD_ROOT}%{_emacs_sitestartdir}
+rm ${RPM_BUILD_ROOT}%{_emacs_sitelispdir}/%{name}/start-po.elc
+
+%find_lang %{name}-runtime
+%find_lang %{name}-tools
+cat %{name}-*.lang > %{name}.lang
+
+# cleanup rpaths
+for i in $RPM_BUILD_ROOT%{_bindir}/* `find $RPM_BUILD_ROOT%{_libdir} -type f`; do
+ if file $i | grep "ELF 64-bit" >/dev/null; then
+ chrpath -l $i && chrpath --delete $i
+ fi
+done
+
+
+%if %{with check}
+%check
+export LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir}:$PWD/gettext-tools/intl/.libs
+make check LIBUNISTRING=-lunistring
+%endif
+
+%ldconfig_scriptlets libs
+
+%files -f %{name}.lang
+%doc gettext-runtime/BUGS
+%doc gettext-tools/misc/DISCLAIM README
+%doc NEWS THANKS
+%doc gettext-runtime/man/*.1.html
+%doc gettext-runtime/intl/COPYING*
+%license COPYING AUTHORS
+%{_bindir}/*
+%exclude %{_bindir}/autopoint
+%exclude %{_bindir}/gettextize
+%{_libdir}/%{name}
+%if %{with java}
+%exclude %{_libdir}/%{name}/gnu.gettext.*
+%endif
+%dir %{_datadir}/%{name}
+%dir %{_datadir}/%{name}/its
+%{_datadir}/%{name}/ABOUT-NLS
+%{_datadir}/%{name}/po
+%{_datadir}/%{name}/styles
+%dir %{_datadir}/%{name}-%{archiveversion}
+%{_datadir}/%{name}-%{archiveversion}/its
+%{_libdir}/libasprintf.so.0*
+%{_libdir}/libgettextpo.so.0*
+%{_libdir}/libgettextlib-0.*.so
+%{_libdir}/libgettextsrc-0.*.so
+%if %{with jar}
+%{_datadir}/%{name}/libintl.jar
+%endif
+
+%files devel
+%doc gettext-runtime/man/*.3.html ChangeLog
+%{_bindir}/autopoint
+%{_bindir}/gettextize
+%{_datadir}/%{name}/projects/
+%{_datadir}/%{name}/config.rpath
+%{_datadir}/%{name}/*.h
+%{_datadir}/%{name}/msgunfmt.tcl
+%{_datadir}/aclocal/*
+%{_includedir}/*
+%{_infodir}/autosprintf*
+%{_libdir}/libasprintf.so
+%{_libdir}/libgettextpo.so
+%{_libdir}/preloadable_libintl.so
+%{_mandir}/man1/autopoint.1*
+%{_datadir}/%{name}/javaversion.class
+%doc gettext-runtime/intl-java/javadoc*
+%if %{with java}
+%{_libdir}/%{name}/gnu.gettext.*
+%endif
+%{_datadir}/%{name}/archive.*.tar.xz
+%license COPYING
+
+%files -n emacs-%{name}
+%dir %{_emacs_sitelispdir}/%{name}
+%{_emacs_sitelispdir}/%{name}/*.elc
+%{_emacs_sitelispdir}/%{name}/*.el
+%{_emacs_sitestartdir}/*.el
+
+%files help
+%{_infodir}/gettext*
+%{_mandir}/man1/*
+%{_mandir}/man3/*
+%exclude %{_mandir}/man1/autopoint.1*
+
+%changelog
+* Tue Jul 16 2024 dillon chen <dillon.chen@gmail.com> - 0.22.5-1
+- Type:enhancement
+- ID:NA
+- SUG:NA
+- DESC:update version to 0.22.5
+
+* Tue Feb 27 2024 fuanan <fuanan3@h-partners.com> - 0.22-2
+- Type:bugfix
+- ID:NA
+- SUG:NA
+- DESC:Fix build failure
+
+* Thu Jul 13 2023 dillon chen <dillon.chen@gmail.com> - 0.22-1
+- Type:enhancement
+- ID:NA
+- SUG:NA
+- DESC:update version to 0.22
+
+* Fri Nov 04 2022 fuanan <fuanan3@h-partners.com> - 0.21.1-1
+- Type:enhancement
+- ID:NA
+- SUG:NA
+- DESC:update version to 0.21.1
+
+* Fri Sep 9 2022 yixiangzhike<yixiangzhike007@163.com> - 0.21-6
+- Type:bugfix
+- ID:NA
+- SUG:NA
+- DESC:Add version number for Obsoletes and Provides
+
+* Sat Jul 31 2021 chenyanpanHW <chenyanpan@huawei.com> - 0.21-5
+- DESC: delete -S git from %autosetup, and delete BuildRequires git
+
+* Fri May 14 2021 yangzhuangzhuang<yangzhuangzhuang1@Huawei.com> - 0.21-4
+- Type:bugfix
+- ID:NA
+- SUG:NA
+- DESC:detach the sub package emacs-gettext from gettex-devel
+
+* Fri Apr 30 2021 yangzhuangzhuang<yangzhuangzhuang1@Huawei.com> - 0.21-3
+- Type:bugfix
+- ID:NA
+- SUG:NA
+- DESC:Add version number for Obsoletes: emacs-gettext
+
+* Fri Dec 4 2020 panxiaohe<panxiaohe@huawei.com> - 0.21-2
+- Type:bugfix
+- ID:NA
+- SUG:NA
+- DESC:Delete libcroco dependency and bundle it
+
+* Tue Sep 1 2020 wangchen<wangchen137@huawei.com> - 0.21-1
+- Type:enhancement
+- ID:NA
+- SUG:NA
+- DESC:update to 0.21
+
+* Mon Jul 27 2020 yang_zhuang_zhuang<yangzhuangzhuang1@huawei.com> - 0.20.2-1
+- Type:enhancement
+- ID:NA
+- SUG:NA
+- DESC:update to 0.20.2
+
+* Tue Jan 7 2020 chengquan<chengquan3@huawei.com> - 0.20.1-2
+- Type:bugfix
+- ID:NA
+- SUG:NA
+- DESC:fixbug in main package and help package
+
+* Fri Oct 11 2019 hanzhijun<hanzhijun1@huawei.com> - 0.20.1-1
+- Type:enhancement
+- ID:NA
+- SUG:NA
+- DESC:update to 0.20.1
+
+* Mon Sep 30 2019 openEuler Buildteam <buildteam@openeuler.org> - 0.19.8.1-20
+- modify CVE patch name
+
+* Fri Sep 27 2019 openEuler Buildteam <buildteam@openeuler.org> - 0.19.8.1-19
+- fix CVE-2018-18751
+
+* Tue Sep 17 2019 openEuler Buildteam <buildteam@openeuler.org> - 0.19.8.1-18
+- Package init