Summary: Netscape Portable Runtime Name: nspr Version: 4.8 Release: 1 License: MPLv1.1 or GPLv2+ or LGPLv2+ URL: http://www.mozilla.org/projects/nspr/ Group: System Environment/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-root # Sources available at ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/ # When CVS tag based snapshots are being used, refer to CVS documentation on # mozilla.org and check out subdirectory mozilla/nsprpub. Source0: %{name}-%{version}.tar.bz2 Source1: nspr.pc.in BuildRequires: make %description NSPR provides platform independence for non-GUI operating system facilities. These facilities include threads, thread synchronization, normal file and network I/O, interval timing and calendar time, basic memory management (malloc and free) and shared library linking. %package devel Summary: Development libraries for the Netscape Portable Runtime Group: Development/Libraries Requires: nspr = %{version}-%{release} Requires: pkg-config %description devel Header files for doing development with the Netscape Portable Runtime. %prep %setup -q %build export CC="cc" # setup environment for 32-bit and 64-bit builds export AR="ar -X32_64" # first build the 64-bit version export OBJECT_MODE=64 ./mozilla/nsprpub/configure \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --includedir=%{_includedir}/nspr4 \ --enable-64bit \ --disable-debug gmake %{?_smp_mflags} # build 64-bit shared objects for AIX ( cd dist/lib for file in *.a ; do f=`basename ${file} .a` rm -f ${f}.so CreateExportList -X64 ${f}.exp ${file} done ${CC} -qmkshrobj libnspr4.a -o libnspr4.so -bE:libnspr4.exp -lpthreads -lodm -lcfg ${CC} -qmkshrobj libplc4.a -o libplc4.so -bE:libplc4.exp -blibpath:/opt/freeware/lib:/usr/vac/lib:/usr/lib:/lib -L. -lnspr4 -lpthreads ${CC} -qmkshrobj libplds4.a -o libplds4.so -bE:libplds4.exp -blibpath:/opt/freeware/lib:/usr/vac/lib:/usr/lib:/lib -L. -lnspr4 -lpthreads cp lib*so ../.. rm -f *.exp ) gmake distclean # now build the 32-bit version export OBJECT_MODE=32 ./mozilla/nsprpub/configure \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --includedir=%{_includedir}/nspr4 \ --disable-debug gmake %{?_smp_mflags} %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} gmake install DESTDIR=${RPM_BUILD_ROOT} # setup environment for 32-bit and 64-bit builds export AR="ar -X32_64" # create 32-bit AIX shared library ( export CC="cc -q32" cd ${RPM_BUILD_ROOT}%{_libdir} for file in *.a ; do f=`basename ${file} .a` rm -f ${f}.so CreateExportList -X32 ${f}.exp ${file} done ${CC} -qmkshrobj libnspr4.a -o libnspr4.so -bE:libnspr4.exp -lpthreads -lodm -lcfg ${CC} -qmkshrobj libplc4.a -o libplc4.so -bE:libplc4.exp -blibpath:/opt/freeware/lib:/usr/vac/lib:/usr/lib:/lib -L. -lnspr4 -lpthreads ${CC} -qmkshrobj libplds4.a -o libplds4.so -bE:libplds4.exp -blibpath:/opt/freeware/lib:/usr/vac/lib:/usr/lib:/lib -L. -lnspr4 -lpthreads for file in *.a ; do f=`basename ${file} .a` rm -f ${file} ${AR} -rv ${file} ${f}.so rm -f ${f}.exp ${f}.so done ) # add the 64-bit shared objects to the shared libraries already containing # the 32-bit shared objects for f in nspr4 plc4 plds4 ; do ${AR} -q ${RPM_BUILD_ROOT}%{_libdir}/lib${f}.a lib${f}.so done # generate pkgconfig file NSPR_LIBS=`./config/nspr-config --libs` NSPR_CFLAGS=`./config/nspr-config --cflags` NSPR_VERSION=`./config/nspr-config --version` %{__mkdir_p} ${RPM_BUILD_ROOT}%{_libdir}/pkgconfig cat %{SOURCE1} | sed -e "s,%%libdir%%,%{_libdir},g" \ -e "s,%%prefix%%,%{_prefix},g" \ -e "s,%%exec_prefix%%,%{_prefix},g" \ -e "s,%%includedir%%,%{_includedir}/nspr4,g" \ -e "s,%%NSPR_VERSION%%,$NSPR_VERSION,g" \ -e "s,%%FULL_NSPR_LIBS%%,$NSPR_LIBS,g" \ -e "s,%%FULL_NSPR_CFLAGS%%,$NSPR_CFLAGS,g" >> \ ${RPM_BUILD_ROOT}%{_libdir}/pkgconfig/nspr.pc ( cd ${RPM_BUILD_ROOT} for dir in bin include lib do mkdir -p usr/${dir} cd usr/${dir} ln -sf ../..%{_prefix}/${dir}/* . cd - done ) %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system) %{_libdir}/*.a /usr/lib/*.a %files devel %defattr(-,root,system) %{_bindir}/nspr-config %{_includedir}/* %{_libdir}/pkgconfig/nspr.pc %{_datadir}/aclocal/* /usr/bin/nspr-config /usr/include/* %changelog * Fri Sep 18 2009 Michael Perzl - 4.8-1 - first version for AIX5L v5.1 and higher