%define _libdir64 %{_prefix}/lib64 %define snapshot 20100519 Name: open-cobol Version: 1.1 Release: 0.%{snapshot} Summary: OpenCOBOL - COBOL compiler Group: Development/Languages License: GPLv2+ and LGPLv2+ URL: http://www.opencobol.org Source0: http://www.kiska.net/opencobol/1.1/%{name}-%{version}.tar.%{snapshot}.gz Source1: http://www.kiska.net/opencobol/1.1/patches_%{snapshot}.zip BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: tofrodos BuildRequires: unzip BuildRequires: db4-devel >= 4.7.25-2 BuildRequires: gmp-devel >= 4.3.2-1 BuildRequires: gettext Requires: %{name}-libs = %{version} Requires: db4 >= 4.7.25-2 Requires: gmp >= 4.3.2-1 Requires: gettext Requires: info, /sbin/install-info %description OpenCOBOL is an open-source COBOL compiler, which translates COBOL programs to C code and compiles it using the IBM XL C compiler. %package libs Summary: OpenCOBOL runtime library Group: Development/Libraries Requires: db4 >= 4.7.25-2 Requires: gmp >= 4.3.2-1 %description libs %{summary}. Runtime libraries for OpenCOBOL. The library is available as 32-bit and 64-bit. %prep %setup -q -n %{name}-%{version} unzip %{SOURCE1} for d in cobc libcob ; do cd ${d} fromdos *.diff for f in *.diff ; do patch -p4 -s < ${f} done cd .. done mkdir ../32bit mv * ../32bit mv ../32bit . mkdir 64bit cd 32bit && tar cf - . | (cd ../64bit ; tar xpf -) %build export CC="cc_r -qcpluscmt" cd 64bit # first build the 64-bit version export OBJECT_MODE=64 export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000" ./configure \ --prefix=%{_prefix} \ --libdir=%{_libdir64} \ --infodir=%{_infodir} \ --with-libiconv-prefix=%{_prefix} make %{?_smp_mflags} cd ../32bit # now build the 32-bit version export OBJECT_MODE=32 export LDFLAGS="-L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000" ./configure \ --prefix=%{_prefix} \ --infodir=%{_infodir} \ --with-libiconv-prefix=%{_prefix} make %{?_smp_mflags} %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} cd 64bit export OBJECT_MODE=64 make DESTDIR=${RPM_BUILD_ROOT} install ( cd ${RPM_BUILD_ROOT}%{_bindir} for f in * ; do mv -f ${f} ${f}_64 done ) cd ../32bit export OBJECT_MODE=32 make DESTDIR=${RPM_BUILD_ROOT} install /usr/bin/strip -X32_64 ${RPM_BUILD_ROOT}%{_bindir}/* || : ( cd ${RPM_BUILD_ROOT}%{_libdir64} for f in *.a ; do /usr/bin/ar -X64 -x ${f} done cd ${RPM_BUILD_ROOT}%{_libdir} for f in *.a ; do /usr/bin/ar -X32 -x ${f} done ) # add the 64-bit shared objects to the shared libraries containing already the # 32-bit shared objects /usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}/libcob.a ${RPM_BUILD_ROOT}%{_libdir64}/libcob.so* gzip --best ${RPM_BUILD_ROOT}%{_infodir}/*.info rm -rf ${RPM_BUILD_ROOT}%{_infodir}/dir ( 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}/%{name}.info.gz %{_infodir}/dir 2>/dev/null || : %postun if [ $1 = 0 ]; then /sbin/install-info --delete %{_infodir}/%{name}.info.gz %{_infodir}/dir 2>/dev/null || : fi %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system,-) %doc 32bit/AUTHORS 32bit/COPYING 32bit/ChangeLog 32bit/NEWS 32bit/README 32bit/THANKS %{_bindir}/* %{_includedir}/* %{_libdir}/*.la %{_libdir64}/*.la %{_infodir}/*.info* %{_datadir}/%{name} %{_datadir}/locale/*/*/* /usr/bin/* /usr/include/* /usr/lib/*.la /usr/lib64/*.la %files libs %defattr(-,root,system,-) %doc 32bit/AUTHORS 32bit/COPYING 32bit/ChangeLog 32bit/NEWS 32bit/README 32bit/THANKS %{_libdir}/*.a %{_libdir}/*.so* %{_libdir64}/*.so* /usr/lib/*.a /usr/lib/*.so* /usr/lib64/*.so* %changelog * Mon Mar 25 2013 Michael Perzl - 1.1-0.20100519 - first version for AIX V5.1 and higher