X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=nspr%2Fmingw32-nspr.spec;h=505b698d4d0cbe5e17f05d8981f542fb79b88be3;hb=0b25e82087530b8ab392de7cb50ea1a416d8da37;hp=128461e37896b0e0a5f57afbb384938cc8c6124c;hpb=a19620c1d1099884f507bc046901b95c92fe50f6;p=fedora-mingw.git diff --git a/nspr/mingw32-nspr.spec b/nspr/mingw32-nspr.spec index 128461e..505b698 100644 --- a/nspr/mingw32-nspr.spec +++ b/nspr/mingw32-nspr.spec @@ -6,7 +6,7 @@ Name: mingw32-nspr Version: 4.7.2 -Release: 1%{?dist} +Release: 4%{?dist} Summary: MinGW Windows port of the Netscape Portable Runtime (NSPR) License: MPLv1.1 or GPLv2+ or LGPLv2+ @@ -17,17 +17,20 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch -#Source1: nspr.pc.in -#Source2: nspr-config-vars.in +Source1: nspr.pc.in +Source2: nspr-config-vars.in -#Patch1: nspr-config-pc.patch +Patch1: nspr-config-pc.patch +# MinGW-specific build patch. Patch1000: mingw32-nspr-4.7.2-build.patch BuildRequires: mingw32-filesystem >= 33 BuildRequires: mingw32-gcc BuildRequires: mingw32-binutils +Requires: pkgconfig + %description NSPR provides platform independence for non-GUI operating system @@ -39,6 +42,12 @@ memory management (malloc and free) and shared library linking. %prep %setup -q -n nspr-%{version} +cp ./mozilla/nsprpub/config/nspr-config.in \ + ./mozilla/nsprpub/config/nspr-config-pc.in +%patch1 -p0 + +cp %{SOURCE2} ./mozilla/nsprpub/config/ + pushd mozilla/nsprpub %patch1000 -p0 popd @@ -52,28 +61,20 @@ pushd mozilla/nsprpub --prefix=%{_mingw32_prefix} \ --libdir=%{_mingw32_libdir} \ --includedir=%{_mingw32_includedir}/nspr4 \ - --enable-optimize="$RPM_OPT_FLAGS" \ + --enable-optimize="%{_mingw32_cflags}" \ --disable-debug \ --enable-win32-target=WINNT \ --enable-64bit=no -# Something in the configure script is added -m64 option, -# so remove it. -# Also remove stack-protector checks. -pushd config -mv autoconf.mk autoconf.mk.orig -sed -e 's/-m64//' -e 's/-fstack-protector//' \ - < autoconf.mk.orig > autoconf.mk -popd - # NSPR comes with its own "special" install program called nsinstall. # This must be built as a native program. make -C config CC=gcc CFLAGS="-DXP_UNIX=1" # Now build the rest using the "special" nsinstall. make \ - NSINSTALL=`pwd`/config/nsinstall \ + NSINSTALL=$(pwd)/config/nsinstall \ RANLIB=i686-pc-mingw32-ranlib \ + RC=i686-pc-mingw32-windres \ %{?_smp_mflags} popd @@ -90,7 +91,26 @@ mkdir -p $RPM_BUILD_ROOT%{_mingw32_libdir} mkdir -p $RPM_BUILD_ROOT%{_mingw32_includedir} install dist/bin/*.dll $RPM_BUILD_ROOT%{_mingw32_bindir} install dist/lib/*.dll.a $RPM_BUILD_ROOT%{_mingw32_libdir} -cp -r dist/include/nspr $RPM_BUILD_ROOT%{_mingw32_includedir}/ +cp -rL dist/include/nspr $RPM_BUILD_ROOT%{_mingw32_includedir}/ + +# Write an nspr 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/%{_mingw32_libdir}/pkgconfig + +cat ./config/nspr-config-vars > \ + $RPM_BUILD_ROOT/%{_mingw32_libdir}/pkgconfig/nspr.pc + +cat %{SOURCE1} | sed -e "s,%%libdir%%,%{_mingw32_libdir},g" \ + -e "s,%%prefix%%,%{_mingw32_prefix},g" \ + -e "s,%%exec_prefix%%,%{_mingw32_prefix},g" \ + -e "s,%%includedir%%,%{_mingw32_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/%{_mingw32_libdir}/pkgconfig/nspr.pc popd @@ -106,9 +126,16 @@ rm -rf $RPM_BUILD_ROOT %{_mingw32_bindir}/libplds4.dll %{_mingw32_libdir}/libnspr4.dll.a %{_mingw32_libdir}/libplc4.dll.a +%{_mingw32_libdir}/pkgconfig/nspr.pc %{_mingw32_includedir}/nspr %changelog -* Mon Nov 10 2008 Richard W.M. Jones - 4.7.2-1 +* Tue Feb 17 2009 Richard W.M. Jones - 4.7.2-4 +- 'cp -L' to install header files, not symlinks to header files. + +* Tue Jan 13 2009 Richard W.M. Jones - 4.7.2-3 +- Requires pkgconfig. + +* Mon Nov 10 2008 Richard W.M. Jones - 4.7.2-2 - Initial RPM release.