- update macros.ghc to latest proposed revised packaging guidelines:

- use runghc
- drop trivial cabal_build and cabal_haddock macros
- ghc_register_pkg and ghc_unregister_pkg replace ghc_preinst_script,
    ghc_postinst_script, ghc_preun_script, and ghc_postun_script
- lib templates' prof subpackage requires main library again
- make cabal2spec work on .cabal files too, and read and check name and
    version directly from .cabal file
- ghc-prof does not need to own libraries/ dirs owned by main package
epel9
Jens Petersen 16 years ago
parent 74a3f2521e
commit ad8913e5ff

@ -25,7 +25,7 @@ BuildRequires: ghc
%build %build
%cabal_configure %cabal_configure
%cabal_build %cabal build
%install %install

@ -48,6 +48,7 @@ Haskell %{name} library for ghc-%{ghc_version}. *FIXME*
%package prof %package prof
Summary: Profiling libraries for ghc-%{name} Summary: Profiling libraries for ghc-%{name}
Group: Development/Libraries Group: Development/Libraries
Requires: ghc-%{name} = %{version}-%{release}
Requires: ghc-prof = %{ghc_version} Requires: ghc-prof = %{ghc_version}
%description prof %description prof
@ -66,9 +67,9 @@ This package contains profiling libraries for ghc %{ghc_version}.
%else %else
%{nil} %{nil}
%endif %endif
%cabal_build %cabal build
%if %{build_doc} %if %{build_doc}
%cabal_haddock %cabal haddock
%endif %endif
%ghc_gen_scripts %ghc_gen_scripts
@ -85,14 +86,16 @@ rm -rf $RPM_BUILD_ROOT
%post %post
%ghc_postinst_script %ghc_register_pkg
%if %{build_doc} %if %{build_doc}
%ghc_reindex_haddock %ghc_reindex_haddock
%endif %endif
%preun %preun
%ghc_preun_script if [ "$1" -eq 0 ] ; then
%ghc_unregister_pkg
fi
%postun %postun

@ -40,6 +40,7 @@ Haskell %{pkg_name} library for ghc-%{ghc_version}. *FIXME*
%package prof %package prof
Summary: Profiling libraries for %{name} Summary: Profiling libraries for %{name}
Group: Development/Libraries Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: ghc-prof = %{ghc_version} Requires: ghc-prof = %{ghc_version}
%description prof %description prof
@ -58,9 +59,9 @@ This package contains profiling libraries for ghc %{ghc_version}.
%else %else
%{nil} %{nil}
%endif %endif
%cabal_build %cabal build
%if %{build_doc} %if %{build_doc}
%cabal_haddock %cabal haddock
%endif %endif
%ghc_gen_scripts %ghc_gen_scripts
@ -77,14 +78,16 @@ rm -rf $RPM_BUILD_ROOT
%post %post
%ghc_postinst_script %ghc_register_pkg
%if %{build_doc} %if %{build_doc}
%ghc_reindex_haddock %ghc_reindex_haddock
%endif %endif
%preun %preun
%ghc_preun_script if [ "$1" -eq 0 ] ; then
%ghc_unregister_pkg
fi
%postun %postun

@ -1,58 +1,31 @@
%cabal %{_bindir}/runhaskell Setup %cabal %{_bindir}/runghc Setup
%cabal_configure \ %cabal_configure \
%cabal configure --prefix=%{_prefix} --libdir=%{_libdir} --docdir=%{_docdir}/%{name}-%{version} --htmldir=%{pkg_docdir} --libsubdir='$compiler/$pkgid' %cabal configure --prefix=%{_prefix} --libdir=%{_libdir} --docdir=%{_docdir}/%{name}-%{version} --htmldir=%{pkg_docdir} --libsubdir='$compiler/$pkgid'
%cabal_build \
%cabal build \
%{nil}
%cabal_makefile \ %cabal_makefile \
%cabal makefile -f cabal-rpm.mk \ %cabal makefile -f cabal-rpm.mk \
make -f cabal-rpm.mk %{_smp_mflags} \ make -f cabal-rpm.mk %{_smp_mflags} \
%{nil} %{nil}
%cabal_haddock \ %cabal_install %cabal copy --destdir=${RPM_BUILD_ROOT} -v
%cabal haddock \
%{nil}
%cabal_install \
%cabal copy --destdir=${RPM_BUILD_ROOT} -v \
%{nil}
%ghc_gen_filelists() \ %ghc_gen_filelists() \
rm -f %1.files %1-prof.files \ rm -f %1.files %1-prof.files \
echo '%defattr(-,root,root,-)' > %1-prof.files \
find ${RPM_BUILD_ROOT}%{pkg_libdir} \\( -name '*_p.a' -o -name '*.p_hi' \\) >> %1-prof.files \
echo '%defattr(-,root,root,-)' > %1.files \ echo '%defattr(-,root,root,-)' > %1.files \
find ${RPM_BUILD_ROOT}%{pkg_libdir} -type d | sed 's/^/%dir /' >> %1.files \ find ${RPM_BUILD_ROOT}%{pkg_libdir} -type d | sed 's/^/%dir /' >> %1.files \
find ${RPM_BUILD_ROOT}%{pkg_libdir} ! \\( -type d -o -name '*_p.a' -o -name '*.p_hi' \\) >> %1.files \ find ${RPM_BUILD_ROOT}%{pkg_libdir} ! \\( -type d -o -name '*_p.a' -o -name '*.p_hi' \\) >> %1.files \
echo '%defattr(-,root,root,-)' > %1-prof.files \
find ${RPM_BUILD_ROOT}%{pkg_libdir} \\( -name '*_p.a' -o -name '*.p_hi' \\) >> %1-prof.files \
sed -i -e "s!${RPM_BUILD_ROOT}!!g" %1.files %1-prof.files \ sed -i -e "s!${RPM_BUILD_ROOT}!!g" %1.files %1-prof.files \
%{nil} %{nil}
%ghc_gen_scripts \ %ghc_gen_scripts %cabal register --gen-script ; %cabal unregister --gen-script
%cabal register --gen-script \
%cabal unregister --gen-script \
%{nil}
%ghc_install_scripts \ %ghc_install_scripts install -m 755 register.sh unregister.sh ${RPM_BUILD_ROOT}%{pkg_libdir}
install -m 755 register.sh unregister.sh ${RPM_BUILD_ROOT}%{pkg_libdir} \
%{nil}
%ghc_preinst_script \ %ghc_register_pkg %{pkg_libdir}/register.sh >/dev/null
%{nil}
%ghc_postinst_script \ %ghc_unregister_pkg %{pkg_libdir}/unregister.sh >/dev/null
%{pkg_libdir}/register.sh >&/dev/null \
%{nil}
%ghc_preun_script \ %ghc_reindex_haddock ( cd %{_docdir}/ghc/libraries && [ -x "./gen_contents_index" ] && ./gen_contents_index ) || :
[ "$1" = 0 ] && %{pkg_libdir}/unregister.sh >&/dev/null \
%{nil}
%ghc_postun_script \
%{nil}
%ghc_reindex_haddock \
( cd %{_docdir}/ghc/libraries && [ -x "./gen_contents_index" ] && ./gen_contents_index ) || : \
%{nil}

@ -16,7 +16,7 @@
Name: ghc Name: ghc
Version: 6.10.1 Version: 6.10.1
Release: 5%{?dist} Release: 6%{?dist}
Summary: Glasgow Haskell Compilation system Summary: Glasgow Haskell Compilation system
# See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=239713 # See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=239713
ExcludeArch: alpha ppc64 ExcludeArch: alpha ppc64
@ -150,7 +150,7 @@ sed -i -e "s|\.%{_prefix}|%{_prefix}|" rpm-*.files
cat rpm-dir.files rpm-lib.files > rpm-base-filelist cat rpm-dir.files rpm-lib.files > rpm-base-filelist
%if %{build_prof} %if %{build_prof}
cat rpm-dir.files rpm-prof.files > rpm-prof-filelist cat rpm-prof.files > rpm-prof-filelist
%endif %endif
# these are handled as alternatives # these are handled as alternatives
@ -229,9 +229,16 @@ fi
%endif %endif
%changelog %changelog
* Fri Nov 28 2008 Jens Petersen <petersen@redhat.com> * Mon Dec 1 2008 Jens Petersen <petersen@redhat.com> - 6.10.1-6
- update macros.ghc to latest proposed revised packaging guidelines:
- use runghc
- drop trivial cabal_build and cabal_haddock
- ghc_register_pkg and ghc_unregister_pkg replace ghc_preinst_script,
ghc_postinst_script, ghc_preun_script, and ghc_postun_script
- library templates prof subpackage requires main library again
- make cabal2spec work on .cabal files too, and - make cabal2spec work on .cabal files too, and
read and check name and version from .cabal read and check name and version directly from .cabal file
- ghc-prof does not need to own libraries dirs owned by main package
* Tue Nov 25 2008 Jens Petersen <petersen@redhat.com> - 6.10.1-5 * Tue Nov 25 2008 Jens Petersen <petersen@redhat.com> - 6.10.1-5
- add cabal2spec and template files for easy cabal hackage packaging - add cabal2spec and template files for easy cabal hackage packaging

Loading…
Cancel
Save