Summary: Netscape Portable Runtime
Name: nspr
Version: 4.6.6
Release: 1
License: MPL/GPL/LGPL
URL: http://www.mozilla.org/projects/nspr/
Group: System Environment/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-root
Source0: %{name}-%{version}.tar.gz
Source1: nspr.pc.in
Source2: nspr-config-vars.in
Patch1: nspr-config-pc.patch
Patch2: nspr-ipv6-numerichost.patch
Patch3: nspr-thread-cleanup.patch
Provides: mozilla-nspr
Obsoletes: mozilla-nspr
%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: pkgconfig
Provides: mozilla-nspr-devel
Obsoletes: mozilla-nspr-devel
%description devel
Header files for doing development with the Netscape Portable Runtime.
%prep
%setup -q
# Original nspr-config is not suitable for our distribution,
# because on different platforms it contains different dynamic content.
# Therefore we produce an adjusted copy of nspr-config that will be
# identical on all platforms.
# However, we need to use original nspr-config to produce some variables
# that go into nspr.pc for pkg-config.
cp ./mozilla/nsprpub/config/nspr-config.in ./mozilla/nsprpub/config/nspr-config-pc.in
%patch1 -p0
%patch2 -p0
%patch3 -p0
cp %{SOURCE2} ./mozilla/nsprpub/config/
%build
./mozilla/nsprpub/configure \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--includedir=%{_includedir}/nspr4 \
%ifarch x86_64 ppc64 ia64 s390x
--enable-64bit \
%endif
--enable-optimize="$RPM_OPT_FLAGS" \
--disable-debug
make
%install
# Crack-tastic!
DESTDIR=$RPM_BUILD_ROOT \
make real_install
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 ./config/nspr-config-vars > \
$RPM_BUILD_ROOT/%{_libdir}/pkgconfig/nspr.pc
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
%{__mkdir_p} $RPM_BUILD_ROOT/%{_bindir}
%{__cp} ./config/nspr-config-pc $RPM_BUILD_ROOT/%{_bindir}/nspr-config
# Get rid of the things we don't want installed (per upstream)
%{__rm} -rf \
$RPM_BUILD_ROOT/%{_bindir}/compile-et.pl \
$RPM_BUILD_ROOT/%{_bindir}/prerr.properties \
$RPM_BUILD_ROOT/%{_libdir}/libnspr4.a \
$RPM_BUILD_ROOT/%{_libdir}/libplc4.a \
$RPM_BUILD_ROOT/%{_libdir}/libplds4.a \
$RPM_BUILD_ROOT/%{_datadir}/aclocal/nspr.m4 \
$RPM_BUILD_ROOT/%{_includedir}/nspr4/md
%clean
%{__rm} -rf $RPM_BUILD_ROOT
%post
/sbin/ldconfig >/dev/null 2>/dev/null
%postun
/sbin/ldconfig >/dev/null 2>/dev/null
%files
%defattr(-,root,root)
%{_libdir}/libnspr4.so
%{_libdir}/libplc4.so
%{_libdir}/libplds4.so
%files devel
%defattr(-, root, root)
%{_includedir}/nspr4
%{_libdir}/pkgconfig/nspr.pc
%{_bindir}/nspr-config
%changelog
* Wed Mar 07 2007 Kai Engert <kengert@redhat.com> - 4.6.6-1
- Update to 4.6.6
- Adjust IPv6 patch to latest upstream version
* Sat Feb 24 2007 Kai Engert <kengert@redhat.com> - 4.6.5-2
- Update to latest ipv6 upstream patch
- Add upstream patch to fix a thread cleanup issue
- Now requires pkgconfig
* Mon Jan 22 2007 Wan-Teh Chang <wtchang@redhat.com> - 4.6.5-1
- Update to 4.6.5
* Tue Jan 16 2007 Kai Engert <kengert@redhat.com> - 4.6.4-2
- Include upstream patch to fix ipv6 support (rhbz 222554)
* Tue Nov 21 2006 Kai Engert <kengert@redhat.com> - 4.6.4-1
- Update to 4.6.4
* Thu Sep 14 2006 Kai Engert <kengert@redhat.com> - 4.6.3-1
- Update to 4.6.3
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 4.6.2-1.1
- rebuild
* Fri May 26 2006 Kai Engert <kengert@redhat.com> - 4.6.2-1
- Update to 4.6.2
- Tweak nspr-config to be identical on all platforms.
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 4.6.1-2.2
- bump again for double-long bug on ppc(64)
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 4.6.1-2.1
- rebuilt for new gcc4.1 snapshot and glibc changes
* Thu Jan 5 2006 Kai Engert <kengert@redhat.com> 4.6.1-2
- Do not use -ansi when compiling, because of a compilation
problem with latest glibc and anonymous unions.
See also bugzilla.mozilla.org # 322427.
* Wed Jan 4 2006 Kai Engert <kengert@redhat.com>
- Add an upstream patch to fix gcc visibility issues.
* Tue Jan 3 2006 Christopher Aillon <caillon@redhat.com>
- Stop shipping static libraries; NSS and dependencies no longer
require static libraries to build.
* Thu Dec 15 2005 Christopher Aillon <caillon@redhat.com> 4.6.1-1
- Update to 4.6.1
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt
* Fri Jul 15 2005 Christopher Aillon <caillon@redhat.com> 4.6-4
- Use the NSPR version numbering scheme reported by NSPR,
which unfortunately is not exactly the same as the real
version (4.6 != 4.6.0 according to RPM and pkgconfig).
* Fri Jul 15 2005 Christopher Aillon <caillon@redhat.com> 4.6-3
- Correct the CFLAGS reported by pkgconfig
* Tue Jul 12 2005 Christopher Aillon <caillon@redhat.com> 4.6-2
- Temporarily include the static libraries allowing nss and
its dependencies to build.
* Tue Jul 12 2005 Christopher Aillon <caillon@redhat.com> 4.6-1
- Update to NSPR 4.6
* Wed Apr 20 2005 Christopher Aillon <caillon@redhat.com> 4.4.1-2
- NSPR doesn't have make install, but it has make real_install. Use it.
* Thu Apr 14 2005 Christopher Aillon <caillon@redhat.com> 4.4.1-1
- Let's make an RPM.