rpms/ghc/F-9 ghc-rpm-macros.ghc,NONE,1.1 ghc.spec,1.36,1.37

Jens Petersen petersen at fedoraproject.org
Tue Oct 14 01:45:40 UTC 2008


Author: petersen

Update of /cvs/extras/rpms/ghc/F-9
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19913

Modified Files:
	ghc.spec 
Added Files:
	ghc-rpm-macros.ghc 
Log Message:
- add macros.ghc for new Haskell Packaging Guidelines (#460304)
- add selinux file context for unconfined_execmem following darcs package
- generate docs following upstream's instructions, now under docdir/ghc
- setup docs building in build.mk
- drop requires chkconfig
- do not override __spec_install_post
- no longer need to remove network/include/Typeable.h
- remove runhaskell since it is an alternative




--- NEW FILE ghc-rpm-macros.ghc ---
%cabal %{_bindir}/runhaskell Setup

%cabal_configure \
%cabal configure --prefix=%{_prefix} --libdir=%{_libdir} --docdir=%{_docdir}/%{name}-%{version} --libsubdir='$compiler/$pkgid'

%cabal_build \
%cabal build \
%{nil}

%cabal_makefile \
%cabal makefile -f cabal-rpm.mk \
make -f cabal-rpm.mk %{_smp_mflags} \
%{nil}

%cabal_haddock \
%cabal haddock \
%{nil}

%cabal_install \
%cabal copy --destdir=${RPM_BUILD_ROOT} \
%{nil}

%ghc_gen_filelists() \
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 \
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 \
sed -i -e "s!${RPM_BUILD_ROOT}!!g" %1.files %1-prof.files \
%{nil}

%ghc_gen_scripts \
%cabal register --gen-script \
%cabal unregister --gen-script \
%{nil}

%ghc_install_scripts \
install -m 755 register.sh unregister.sh ${RPM_BUILD_ROOT}%{pkg_libdir} \
%{nil}

%ghc_preinst_script \
[ "$1" = 2 ] && %{pkg_libdir}/unregister.sh >&/dev/null || : \
%{nil}

%ghc_postinst_script \
%{pkg_libdir}/register.sh >&/dev/null \
%{nil}

%ghc_preun_script \
%{pkg_libdir}/unregister.sh >&/dev/null \
%{nil}

%ghc_postun_script \
[ "$1" = 1 ] && %{pkg_libdir}/register.sh >& /dev/null || : \
%{nil}



Index: ghc.spec
===================================================================
RCS file: /cvs/extras/rpms/ghc/F-9/ghc.spec,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- ghc.spec	8 Apr 2008 06:46:15 -0000	1.36
+++ ghc.spec	14 Oct 2008 01:45:10 -0000	1.37
@@ -18,7 +18,7 @@
 
 Name:		ghc
 Version:	6.8.2
-Release:	10%{?dist}
+Release:	11%{?dist}
 Summary:	Glasgow Haskell Compilation system
 # See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=239713
 ExcludeArch:	alpha ppc64
@@ -26,13 +26,13 @@
 Group:		Development/Languages
 Source0:	http://www.haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.bz2
 Source1:	http://www.haskell.org/ghc/dist/%{version}/ghc-%{version}-src-extralibs.tar.bz2
+Source2:	ghc-rpm-macros.ghc
 URL:		http://haskell.org/ghc/
-Requires:	%{ghcver} = %{version}-%{release}, chkconfig
+Requires:	%{ghcver} = %{version}-%{release}
+Requires(post): policycoreutils
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:  ghc, happy, sed
 BuildRequires:  gmp-devel, readline-devel
-# X11 is no longer in ghc extralibs
-#BuildRequires:  libX11-devel, libXt-devel
 BuildRequires:  freeglut-devel, openal-devel
 %if %{build_doc}
 # haddock generates docs in libraries
@@ -91,17 +91,17 @@
 
 # the debuginfo subpackage is currently empty anyway, so don't generate it
 %define debug_package %{nil}
-%define __spec_install_post /usr/lib/rpm/brp-compress
 
 %prep
 %setup -q -n %{name}-%{version} -b1
 
 %build
+# hack for building a local test package quickly from a prebuilt tree 
 %if %{package_debugging}
-cd ..
+pushd ..
 rm -rf %{name}-%{version}
 cp -al %{name}-%{version}.built %{name}-%{version}
-cd %{name}-%{version}
+popd
 exit 0
 %endif
 
@@ -110,44 +110,37 @@
 echo "GhcRTSWays=thr debug" >> mk/build.mk
 %endif
 
+%if %{build_doc}
+echo "XMLDocWays   = html" >> mk/build.mk
+echo "HADDOCK_DOCS = YES" >> mk/build.mk
+%endif
+
 ./configure --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
   --bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \
   --datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} \
   --libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} \
   --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir}
 
-cat <<HADDOCK_PATH_HACK >> mk/build.mk
-docdir  := %{_docdir}/%{name}-%{version}
-htmldir := $(docdir)
-dvidir  := $(docdir)
-pdfdir  := $(docdir)
-psdir   := $(docdir)
-HADDOCK_PATH_HACK
-
-# drop truncated copy of header (#222865)
-rm libraries/network/include/Typeable.h
+make %{_smp_mflags}
+make %{_smp_mflags} -C libraries
 
-make %{_smp_mflags} all
 %if %{build_doc}
 make %{_smp_mflags} html
-make %{_smp_mflags} -C libraries HADDOCK_DOCS=YES
-( cd libraries/Cabal && docbook2html doc/Cabal.xml --output doc/Cabal )
 %endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-make DESTDIR=${RPM_BUILD_ROOT} libdir=%{_libdir}/%{name}-%{version} install
+make DESTDIR=${RPM_BUILD_ROOT} install
 
 %if %{build_doc}
-make DESTDIR=${RPM_BUILD_ROOT} XMLDocWays="html" HADDOCK_DOCS=YES install-docs
-if [ -d ${RPM_BUILD_ROOT}/%{_docdir}/%{name}/libraries ]; then
-  mv ${RPM_BUILD_ROOT}/%{_docdir}/%{name}/libraries \
-    ${RPM_BUILD_ROOT}/%{_docdir}/%{name}-%{version}
-fi
-cp libraries/*.html ${RPM_BUILD_ROOT}/%{_docdir}/%{name}-%{version}/libraries
+make DESTDIR=${RPM_BUILD_ROOT} install-docs
 %endif
 
+# install rpm macros
+mkdir -p ${RPM_BUILD_ROOT}/%{_sysconfdir}/rpm
+cp -p %{SOURCE2} ${RPM_BUILD_ROOT}/%{_sysconfdir}/rpm/macros.ghc
+			
 SRC_TOP=$PWD
 rm -f rpm-*-filelist rpm-*.files
 ( cd $RPM_BUILD_ROOT
@@ -165,15 +158,14 @@
 # create package.conf.old
 touch $RPM_BUILD_ROOT%{_libdir}/ghc-%{version}/package.conf.old
 
-mv ${RPM_BUILD_ROOT}%{_bindir}/hsc2hs ${RPM_BUILD_ROOT}%{_bindir}/hsc2hs-ghc
+# these are handled as alternatives
+rm ${RPM_BUILD_ROOT}%{_bindir}/hsc2hs
+rm ${RPM_BUILD_ROOT}%{_bindir}/runhaskell
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-
 %post
-/usr/bin/chcon -t unconfined_execmem_exec_t %{_bindir}/{hasktags,runghc,runhaskell} >/dev/null 2>&1 || :
-
 # Alas, GHC, Hugs, and nhc all come with different set of tools in
 # addition to a runFOO:
 #
@@ -192,7 +184,8 @@
   %{_bindir}/hsc2hs-ghc 500
 
 %post -n %{ghcver}
-/usr/bin/chcon -t unconfined_execmem_exec_t %{_libdir}/ghc-%{version}/{ghc-%{version},ghc-pkg.bin,hsc2hs-bin} >/dev/null 2>&1 || :
+semanage fcontext -a -t unconfined_execmem_exec_t %{_libdir}/ghc-%{version}/{ghc-%{version},ghc-pkg.bin,hsc2hs-bin} >/dev/null 2>&1 || :
+restorecon %{_libdir}/ghc-%{version}/{ghc-%{version},ghc-pkg.bin,hsc2hs-bin}
 
 
 %preun
@@ -213,6 +206,7 @@
 %defattr(-,root,root,-)
 %doc ANNOUNCE HACKING LICENSE README
 %{_bindir}/ghc*%{version}
+%{_sysconfdir}/rpm/macros.ghc
 %config(noreplace) %{_libdir}/ghc-%{version}/package.conf
 %ghost %{_libdir}/ghc-%{version}/package.conf.old
 
@@ -226,11 +220,21 @@
 %if %{build_doc}
 %files doc
 %defattr(-,root,root,-)
-%{_docdir}/%{name}-%{version}
+%{_docdir}/%{name}
 %endif
 
 
 %changelog
+* Tue Oct 14 2008 Jens Petersen <petersen at redhat.com> - 6.8.2-11.fc9
+- add macros.ghc for new Haskell Packaging Guidelines (#460304)
+- add selinux file context for unconfined_execmem following darcs package
+- generate docs following upstream's instructions, now under docdir/ghc
+- setup docs building in build.mk
+- drop requires chkconfig
+- do not override __spec_install_post
+- no longer need to remove network/include/Typeable.h
+- remove runhaskell since it is an alternative
+
 * Tue Apr  8 2008 Jens Petersen <petersen at redhat.com> - 6.8.2-10
 - another rebuild attempt
 




More information about the scm-commits mailing list