# Tests by default. No tests: rpm -ba --define 'dotests 0' gnutls*.spec %{!?dotests: %define dotests 1} Summary: GNU libraries and utilities for producing multi-lingual messages. Name: gettext Version: 0.19.8.1 Release: 1 License: GPLv3 and LGPLv2+ Group: Development/Tools URL: http://www.gnu.org/software/%{name}/ Source0: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz Source1: libintl.so.1-aix32 Source2: libintl.so.1-aix64 Source3: libgettextlib-0.19.7.so-aix32 Source4: libgettextlib-0.19.7.so-aix64 Source5: libgettextsrc-0.19.7.so-aix32 Source6: libgettextsrc-0.19.7.so-aix64 Patch0: %{name}-0.19.7-aixconf.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root %description The GNU gettext package provides a set of tools and documentation for producing multi-lingual messages in programs. 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, a runtime library which supports the retrieval of translated messages, and stand-alone programs for handling the translatable and the already translated strings. Gettext provides an easy to use library and tools for creating, using, and modifying natural language catalogs and is a powerful and simple method for internationalizing programs. The library is available as 32-bit and 64-bit. %package devel Summary: Development files for %{name} Group: Development/Tools License: LGPLv2+ Requires: %{name} = %{version}-%{release} %description devel This package contains all development related files necessary for developing or compiling applications/libraries that needs internationalization capability. You also need this package if you want to add gettext support for your project. %prep export PATH=/opt/freeware/bin:$PATH %setup -q %patch0 -p1 -b .aixconf rm -rf /tmp/%{name}-%{version}-32bit cp -pr . /tmp/%{name}-%{version}-32bit rm -fr * mv /tmp/%{name}-%{version}-32bit 32bit cp -pr 32bit 64bit %build export RM="rm -f" # setup environment for 32-bit and 64-bit builds export AR="/usr/bin/ar -X32_64" export NM="/usr/bin/nm -X32_64" export LIBPATH="/opt/freeware/lib:/usr/lib" export LIBS="/usr/lib/libiconv.a" export CC="/usr/vac/bin/xlc_r" export CXX="/usr/vacpp/bin/xlC_r" #export CC="gcc" #export CXX="g++" # first build the 64-bit version (-q64 for xlc, -maix64 for gcc) cd 64bit export OBJECT_MODE=64 CFLAGS="-q64 -qlanglv=extc99 -O2 -D_LARGE_FILES" \ CPPFLAGS="-I/opt/freeware/include" \ CXXFLAGS="-q64" \ ./configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --libdir=%{_libdir}64 \ --mandir=%{_mandir} \ --enable-shared --disable-static --with-included-gettext \ --disable-libasprintf \ --disable-openmp make %{?_smp_mflags} cp ./gettext-runtime/intl/.libs/libintl.so.8 runtime-libintl.so.8 #cp ./gettext-runtime/libasprintf/.libs/libasprintf.so.0 . cp ./gettext-tools/libgettextpo/.libs/libgettextpo.so.0 . cp ./gettext-tools/intl/.libs/libintl.so.8 tools-libintl.so.8 cp ./gettext-tools/gnulib-lib/.libs/libgettextlib-0.19.8.1.so . cp ./gettext-tools/src/.libs/libgettextsrc-0.19.8.1.so . if [ "%{dotests}" == 1 ] then (gmake -k check || true) fi #make distclean # now build the 32-bit version cd ../32bit export OBJECT_MODE=32 #export CC="gcc " #export CXX="g++ " CFLAGS="-qlanglv=extc99 -O2 -D_LARGE_FILES" \ CPPFLAGS=" -I/opt/freeware/include" \ ./configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --libdir=%{_libdir} \ --mandir=%{_mandir} \ --enable-shared --disable-static --with-included-gettext \ --disable-libasprintf \ --disable-openmp make %{?_smp_mflags} # add the 64-bit shared objects to the shared library containing already the # 32-bit shared objects mv ../64bit/runtime-libintl.so.8 ./libintl.so.8 ${AR} -q ./gettext-runtime/intl/.libs/libintl.a ./libintl.so.8 #${AR} -q ./gettext-runtime/libasprintf/.libs/libasprintf.a ./libasprintf.so.0 ${AR} -q ./gettext-tools/libgettextpo/.libs/libgettextpo.a ../64bit/libgettextpo.so.0 mv ../64bit/tools-libintl.so.8 ./libintl.so.8 ${AR} -q ./gettext-tools/intl/.libs/libintl.a ./libintl.so.8 ${AR} -q ./gettext-tools/gnulib-lib/.libs/libgettextlib-0.19.8.1.a ../64bit/libgettextlib-0.19.8.1.so ${AR} -q ./gettext-tools/src/.libs/libgettextsrc-0.19.8.1.a ../64bit/libgettextsrc-0.19.8.1.so if [ "%{dotests}" == 1 ] then (gmake -k check || true) fi %install export RM="/usr/bin/rm -f" [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} #Install on 64bit mode export OBJECT_MODE=64 cd 64bit make DESTDIR=${RPM_BUILD_ROOT} install /usr/bin/strip ${RPM_BUILD_ROOT}%{_bindir}/* || : # Fix relink issue #cp -p -f ./gettext-runtime/intl/.libs/libintl.a ${RPM_BUILD_ROOT}%{_libdir}64 #cp -p -f ./gettext-runtime/libasprintf/.libs/libasprintf.a ${RPM_BUILD_ROOT}%{_libdir}64 cp -p -f ./gettext-tools/libgettextpo/.libs/libgettextpo.a ${RPM_BUILD_ROOT}%{_libdir}64 cp -p -f ./gettext-tools/gnulib-lib/.libs/libgettextlib-0.19.8.1.a ${RPM_BUILD_ROOT}%{_libdir}64 cp -p -f ./gettext-tools/src/.libs/libgettextsrc-0.19.8.1.a ${RPM_BUILD_ROOT}%{_libdir}64 cp -p -f ./gettext-tools/intl/.libs/libintl.a ${RPM_BUILD_ROOT}%{_libdir}64 ( cd ${RPM_BUILD_ROOT}%{_prefix}/bin for fic in $(ls -1| grep -v -e _32 -e _64) do mv $fic "$fic"_64 done ) #Install on 32bit mode export OBJECT_MODE=32 cd ../32bit make DESTDIR=${RPM_BUILD_ROOT} install /usr/bin/strip ${RPM_BUILD_ROOT}%{_bindir}/* || : rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir gzip --best ${RPM_BUILD_ROOT}%{_infodir}/*info* ( cd ${RPM_BUILD_ROOT}/%{_prefix}/bin for fic in $(ls -1| grep -v -e _32 -e _64) do mv $fic "$fic"_32 ln -sf "$fic"_64 $fic done ) # Fix relink issue #cp -p -f ./gettext-runtime/intl/.libs/libintl.a ${RPM_BUILD_ROOT}%{_libdir} #cp -p -f ./gettext-runtime/libasprintf/.libs/libasprintf.a ${RPM_BUILD_ROOT}%{_libdir} cp -p -f ./gettext-tools/libgettextpo/.libs/libgettextpo.a ${RPM_BUILD_ROOT}%{_libdir} cp -p -f ./gettext-tools/gnulib-lib/.libs/libgettextlib-0.19.8.1.a ${RPM_BUILD_ROOT}%{_libdir} cp -p -f ./gettext-tools/src/.libs/libgettextsrc-0.19.8.1.a ${RPM_BUILD_ROOT}%{_libdir} cp -p -f ./gettext-tools/intl/.libs/libintl.a ${RPM_BUILD_ROOT}%{_libdir} #libintl 32bit cp %{SOURCE1} libintl.so.1 /usr/bin/strip -X32 -e libintl.so.1 /usr/bin/ar -X32 -q ${RPM_BUILD_ROOT}%{_libdir}/libintl.a libintl.so.1 #libintl 64bit cp %{SOURCE2} libintl.so.1 /usr/bin/strip -X64 -e libintl.so.1 /usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}/libintl.a libintl.so.1 slibclean /usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}64/libintl.a libintl.so.1 #libgettextlib 32bit cp %{SOURCE3} libgettextlib-0.19.7.so /usr/bin/strip -X32 -e libgettextlib-0.19.7.so /usr/bin/ar -X32 -q ${RPM_BUILD_ROOT}%{_libdir}/libgettextlib-0.19.8.1.a libgettextlib-0.19.7.so #libgettextlib 64bit cp %{SOURCE4} libgettextlib-0.19.7.so /usr/bin/strip -X64 -e libgettextlib-0.19.7.so /usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}/libgettextlib-0.19.8.1.a libgettextlib-0.19.7.so /usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}64/libgettextlib-0.19.8.1.a libgettextlib-0.19.7.so #libgettextsrc 32bit cp %{SOURCE5} libgettextsrc-0.19.7.so /usr/bin/strip -X32 -e libgettextsrc-0.19.7.so /usr/bin/ar -X32 -q ${RPM_BUILD_ROOT}%{_libdir}/libgettextsrc-0.19.8.1.a libgettextsrc-0.19.7.so #libgettextsrc 64bit cp %{SOURCE6} libgettextsrc-0.19.7.so /usr/bin/strip -X64 -e libgettextsrc-0.19.7.so /usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}/libgettextsrc-0.19.8.1.a libgettextsrc-0.19.7.so /usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}64/libgettextsrc-0.19.8.1.a libgettextsrc-0.19.7.so ( cd ${RPM_BUILD_ROOT} for dir in bin include lib lib64 do mkdir -p usr/${dir} cd usr/${dir} ln -sf ../..%{_prefix}/${dir}/* . cd - done ) %post /sbin/install-info %{_infodir}/gettext.info.gz %{_infodir}/dir || : %preun if [ "$1" = 0 ]; then /sbin/install-info --delete %{_infodir}/gettext.info.gz %{_infodir}/dir || : fi #%pre #if test -e %{_libdir}/libintl.a; then # cp -p %{_libdir}/libintl.a %{_libdir}/libintl.a.savgettext #fi #%postun #if test -e %{_libdir}/libintl.a.savgettext; then # cp -p %{_libdir}/libintl.a.savgettext %{_libdir}/libintl.a # ln -s %{_libdir}/libintl.a /usr/lib/libintl.a #fi #%post devel #/sbin/install-info %{_infodir}/autosprintf.info.gz %{_infodir}/dir || : #%preun devel #if [ "$1" = 0 ]; then # /sbin/install-info --delete %{_infodir}/autosprintf.info.gz %{_infodir}/dir || : #fi %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system) %doc 32bit/gettext-runtime/ABOUT-NLS 32bit/AUTHORS 32bit/gettext-runtime/BUGS %doc 32bit/COPYING 32bit/gettext-tools/misc/DISCLAIM 32bit/README %doc 32bit/NEWS 32bit/THANKS %doc 32bit/gettext-runtime/man/*.1.html %doc 32bit/gettext-runtime/intl/COPYING* %{_bindir}/[emnrx]* %{_bindir}/gettext* #%{_bindir}/gettext.sh* %{_libdir}/libintl.a %{_libdir}/libgettextlib*.a %{_libdir}/libgettextsrc*.a %{_libdir}/%{name} %{_libdir}64/libintl.a %{_libdir}64/libgettextlib*.a %{_libdir}64/libgettextsrc*.a %{_libdir}64/%{name} %{_infodir}/gettext* %{_mandir}/man1/[emnrx]* %{_mandir}/man1/gettext.1 %{_datadir}/locale/*/LC_MESSAGES/* /usr/bin/[emnrx]* /usr/bin/gettext* #/usr/bin/gettext.sh* /usr/lib/*.a /usr/lib64/*.a %files devel %defattr(-,root,system,-) %doc gettext-runtime/man/*.3.html ChangeLog %doc gettext-runtime/intl-java/javadoc* %{_bindir}/autopoint* %{_bindir}/gettextize* %{_includedir}/* #%{_libdir}/libasprintf.a #%{_libdir}/libgettextpo.a %{_libdir}/*.la %{_libdir}64/*.la %{_mandir}/man1/autopoint.1 %{_mandir}/man1/gettextize.1 %{_mandir}/man3/* #%{_infodir}/autosprintf* %{_datadir}/aclocal/* %{_datadir}/%{name} /usr/bin/autopoint* /usr/bin/gettextize* /usr/include/* #/usr/lib/libasprintf.a #/usr/lib/libgettextpo.a /usr/lib/*.la /usr/lib64/*.la %changelog * Tue Jun 20 2017 Reshma V Kumar 0.19.8.1-1 - Update to version 0.19.8.1 * Mon May 30 2016 Ayappan P 0.19.7-1 - Update to version 0.19.7 * Wed Sep 11 2013 Gerard Visiedo 0.18.3.1-1 - Update to version 0.18.3.1 * Mon Jan 30 2012 Patricia Cugny 0.17-7 - Add patch for building on aix 6.1 * Wed Aug 31 2011 Patricia Cugny 0.17-6 - Add installed libintl.so.1 to libintl.a lib * Wed May 04 2011 Patricia Cugny 0.17-5 - Add 64bits library and older libintl.so.1 * Mon Mar 14 2011 Gerard Visiedo 0.17-4 - Add patches for workaround bugs on aix6 * Thu Jan 27 2011 Jean-noel Cordenner 0.17-3 - add missing files * Thu Apr 23 2009 Jean-noel Cordenner 0.17-2 - add %pre and %postun scripts to preserve previous version of libintl.a * Wed Mar 18 2009 Jean-noel Cordenner 0.17 - port to AIX