- include haskeline, mtl, and terminfo for now with
ghc-6.12.1-no-filter-libs.patch - use ghc_binlibpackage, grep -v and ghc_gen_filelists to generate the library subpackages (ghc-rpm-macros-0.5.1) - always set GhcLibWays (Lorenzo Villani) - use ghcdocbasedir to revert html doc path to upstream's html/ for consistency
This commit is contained in:
parent
3b5aa06c88
commit
b21eb153ec
157
ghc.spec
157
ghc.spec
@ -20,6 +20,8 @@
|
|||||||
|
|
||||||
%global haddock_version 2.5.0
|
%global haddock_version 2.5.0
|
||||||
|
|
||||||
|
# the debuginfo subpackage is currently empty anyway, so don't generate it
|
||||||
|
%global debug_package %{nil}
|
||||||
|
|
||||||
Name: ghc
|
Name: ghc
|
||||||
# break of haskell-platform-2009.2.0.2
|
# break of haskell-platform-2009.2.0.2
|
||||||
@ -40,7 +42,7 @@ Obsoletes: ghc682, ghc681, haddock09
|
|||||||
# introduced for f11 and can be removed for f13:
|
# introduced for f11 and can be removed for f13:
|
||||||
Obsoletes: haddock < %{haddock_version}, ghc-haddock-devel < %{haddock_version}
|
Obsoletes: haddock < %{haddock_version}, ghc-haddock-devel < %{haddock_version}
|
||||||
Provides: haddock = %{haddock_version}
|
Provides: haddock = %{haddock_version}
|
||||||
BuildRequires: ghc, happy, ghc-rpm-macros >= 0.3.1
|
BuildRequires: ghc, happy, ghc-rpm-macros >= 0.5.1
|
||||||
BuildRequires: gmp-devel, ncurses-devel
|
BuildRequires: gmp-devel, ncurses-devel
|
||||||
Requires: gcc, gmp-devel
|
Requires: gcc, gmp-devel
|
||||||
%if %{with shared}
|
%if %{with shared}
|
||||||
@ -55,6 +57,7 @@ BuildRequires: libxslt, docbook-style-xsl
|
|||||||
BuildRequires: hscolour
|
BuildRequires: hscolour
|
||||||
%endif
|
%endif
|
||||||
Patch1: ghc-6.12.1-gen_contents_index-haddock-path.patch
|
Patch1: ghc-6.12.1-gen_contents_index-haddock-path.patch
|
||||||
|
Patch2: ghc-6.12.1-no-filter-libs.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
GHC is a state-of-the-art programming suite for Haskell, a purely
|
GHC is a state-of-the-art programming suite for Haskell, a purely
|
||||||
@ -79,36 +82,7 @@ Preformatted documentation for the Glorious Glasgow Haskell Compilation System
|
|||||||
(GHC) and its libraries. It should be installed if you like to have local
|
(GHC) and its libraries. It should be installed if you like to have local
|
||||||
access to the documentation in HTML format.
|
access to the documentation in HTML format.
|
||||||
|
|
||||||
%if %{with doc}
|
|
||||||
%package ghc-doc
|
|
||||||
Summary: Documentation for the ghc internals library
|
|
||||||
Group: Development/Languages
|
|
||||||
Requires: %{name}-doc = %{version}
|
|
||||||
Requires(post): %{name}-doc = %{version}
|
|
||||||
Requires(postun): %{name}-doc = %{version}
|
|
||||||
|
|
||||||
%description ghc-doc
|
|
||||||
Documentation for the ghc internals library.
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%package ghc-devel
|
|
||||||
Summary: Development files for ghc internals
|
|
||||||
Group: Development/Libraries
|
|
||||||
%if %{with shared}
|
%if %{with shared}
|
||||||
Requires: %{name}-ghc = %{version}-%{release}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description ghc-devel
|
|
||||||
Development files for the ghc internals library.
|
|
||||||
|
|
||||||
%if %{with shared}
|
|
||||||
%package ghc
|
|
||||||
Summary: GHC internals library
|
|
||||||
Group: Development/Libraries
|
|
||||||
|
|
||||||
%description ghc
|
|
||||||
Library to access internals of the Glasgow Haskell Compilation System.
|
|
||||||
|
|
||||||
%package libs
|
%package libs
|
||||||
Summary: Shared libraries for GHC
|
Summary: Shared libraries for GHC
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
@ -128,31 +102,33 @@ Obsoletes: ghc-haddock-prof < %{haddock_version}
|
|||||||
%description prof
|
%description prof
|
||||||
Profiling libraries for Glorious Glasgow Haskell Compilation System (GHC).
|
Profiling libraries for Glorious Glasgow Haskell Compilation System (GHC).
|
||||||
They should be installed when GHC's profiling subsystem is needed.
|
They should be installed when GHC's profiling subsystem is needed.
|
||||||
|
|
||||||
%package ghc-prof
|
|
||||||
Summary: Profiling libraries for the ghc internals library
|
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name}-ghc-devel = %{version}-%{release}
|
|
||||||
Requires: %{name}-prof = %{version}-%{release}
|
|
||||||
|
|
||||||
%description ghc-prof
|
|
||||||
Profiling libraries for the ghc internals library.
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# the debuginfo subpackage is currently empty anyway, so don't generate it
|
%global ghc_version_override %{version}
|
||||||
%global debug_package %{nil}
|
|
||||||
|
%ghc_binlib_package -n ghc
|
||||||
|
|
||||||
|
%ghc_binlib_package -n haskeline -v 0.6.2.1
|
||||||
|
|
||||||
|
%ghc_binlib_package -n mtl -v 1.1.0.2
|
||||||
|
|
||||||
|
%ghc_binlib_package -n terminfo -v 0.3.1.1
|
||||||
|
|
||||||
|
%global version %{ghc_version_override}
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version} %{?with_extralibs:-b1}
|
%setup -q -n %{name}-%{version} %{?with_extralibs:-b1}
|
||||||
# tweak haddock path for html/libraries -> libraries
|
# absolute haddock path (was for html/libraries -> libraries)
|
||||||
%patch1 -p1 -b .orig
|
%patch1 -p1 -b .orig
|
||||||
|
# install more libs
|
||||||
|
%patch2 -p1 -b .orig
|
||||||
|
|
||||||
# make sure we don't use these
|
# make sure we don't use these
|
||||||
rm -r ghc-tarballs/{mingw,perl}
|
rm -r ghc-tarballs/{mingw,perl}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
cat > mk/build.mk << EOF
|
cat > mk/build.mk << EOF
|
||||||
GhcLibWays = v %{?with_prof:p} %{?with_shared:dyn %{?with_prof:p_dyn}}
|
GhcLibWays = v %{?with_prof:p} %{?with_shared:dyn}
|
||||||
%if %{without doc}
|
%if %{without doc}
|
||||||
HADDOCK_DOCS = NO
|
HADDOCK_DOCS = NO
|
||||||
%endif
|
%endif
|
||||||
@ -187,19 +163,13 @@ make
|
|||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
make DESTDIR=${RPM_BUILD_ROOT} install
|
make DESTDIR=${RPM_BUILD_ROOT} install
|
||||||
|
|
||||||
# hack around apparent html/ hardcoding
|
|
||||||
mv ${RPM_BUILD_ROOT}%{_docdir}/%{name}/html{,-tmp}
|
|
||||||
mv ${RPM_BUILD_ROOT}%{_docdir}/%{name}/html-tmp/* ${RPM_BUILD_ROOT}%{_docdir}/%{name}
|
|
||||||
rmdir ${RPM_BUILD_ROOT}%{_docdir}/%{name}/html-tmp
|
|
||||||
|
|
||||||
SRC_TOP=$PWD
|
SRC_TOP=$PWD
|
||||||
#rm -f rpm-*.files
|
#rm -f rpm-*.files
|
||||||
# exclude ghc library since it is subpackaged separately
|
|
||||||
( cd $RPM_BUILD_ROOT
|
( cd $RPM_BUILD_ROOT
|
||||||
find .%{_libdir}/%{name}-%{version} -maxdepth 1 -type d ! -name 'include' ! -name 'package.conf.d' ! -name 'ghc-%{version}' -fprintf $SRC_TOP/rpm-lib-dir.files "%%%%dir %%p\n"
|
find .%{_libdir}/%{name}-%{version} -maxdepth 1 -type d ! -name 'include' ! -name 'package.conf.d' -fprintf $SRC_TOP/rpm-lib-dir.files "%%%%dir %%p\n"
|
||||||
find .%{_libdir}/%{name}-%{version} -mindepth 1 -type d \( -name 'ghc-%{version}' -prune -o -fprintf $SRC_TOP/rpm-dev-dir.files "%%%%dir %%p\n" \)
|
find .%{_libdir}/%{name}-%{version} -mindepth 1 -type d \( -fprintf $SRC_TOP/rpm-dev-dir.files "%%%%dir %%p\n" \)
|
||||||
find .%{_libdir}/%{name}-%{version} -mindepth 1 \( -name 'ghc-%{version}*' -prune \) -o \( -name 'libHS*-ghc%{version}.so' -fprintf $SRC_TOP/rpm-lib.files "%%%%attr(755,root,root) %%p\n" \) -o \( \( -name '*.p_hi' -o -name '*_p.a' \) -fprint $SRC_TOP/ghc-prof.files \) -o \( \( -name '*.hi' -o -name '*.dyn_hi' -o -name 'libHS*.a' -o -name 'HS*.o' -o -name '*.h' -o -name '*.conf' -o -type f -not -name 'package.cache' \) -fprint $SRC_TOP/rpm-base.files \)
|
find .%{_libdir}/%{name}-%{version} -mindepth 1 \( -name 'libHS*-ghc%{version}.so' -fprintf $SRC_TOP/rpm-lib.files "%%%%attr(755,root,root) %%p\n" \) -o \( \( -name '*.p_hi' -o -name '*_p.a' \) -fprint $SRC_TOP/ghc-prof.files \) -o \( \( -name '*.hi' -o -name '*.dyn_hi' -o -name 'libHS*.a' -o -name 'HS*.o' -o -name '*.h' -o -name '*.conf' -o -type f -not -name 'package.cache' \) -fprint $SRC_TOP/rpm-base.files \)
|
||||||
find .%{_docdir}/%{name}/* -type d ! -name libraries ! -name 'ghc-%{version}' ! -name src > $SRC_TOP/ghc-doc.files
|
find .%{_docdir}/%{name}/html/* -type d ! -name libraries ! -name src > $SRC_TOP/ghc-doc.files
|
||||||
)
|
)
|
||||||
|
|
||||||
# make paths absolute (filter "./usr" to "/usr")
|
# make paths absolute (filter "./usr" to "/usr")
|
||||||
@ -208,9 +178,20 @@ sed -i -e "s|\.%{_prefix}|%{_prefix}|" *.files
|
|||||||
cat rpm-lib-dir.files rpm-lib.files > ghc-libs.files
|
cat rpm-lib-dir.files rpm-lib.files > ghc-libs.files
|
||||||
cat rpm-dev-dir.files rpm-base.files > ghc.files
|
cat rpm-dev-dir.files rpm-base.files > ghc.files
|
||||||
|
|
||||||
# subpackage ghc library
|
# subpackage ghc and extra libraries
|
||||||
%define ghc_version_override %{version}
|
sed -i -e "/ghc-%{version}\/ghc-%{version}/d" ghc.files ghc-libs.files
|
||||||
%ghc_gen_filelists ghc-ghc %{version}
|
sed -i -e "/ghc-%{version}-.*.conf\$/d" ghc.files
|
||||||
|
sed -i -e "/ghc-%{version}\$/d" ghc-doc.files
|
||||||
|
%ghc_gen_filelists ghc
|
||||||
|
|
||||||
|
for pkg in haskeline-0.6.2.1 mtl-1.1.0.2 terminfo-0.3.1.1; do
|
||||||
|
sed -i -e "/ghc-%{version}\/$pkg/d" ghc.files ghc-libs.files
|
||||||
|
sed -i -e "/$pkg-.*.conf\$/d" ghc.files
|
||||||
|
sed -i -e "/$pkg\$/d" ghc-doc.files
|
||||||
|
name=$(echo $pkg | sed -e "s/\(.*\)-.*/\1/")
|
||||||
|
version=$(echo $pkg | sed -e "s/.*-\(.*\)/\1/")
|
||||||
|
%ghc_gen_filelists ${name} ${version}
|
||||||
|
done
|
||||||
|
|
||||||
# these are handled as alternatives
|
# these are handled as alternatives
|
||||||
for i in hsc2hs runhaskell; do
|
for i in hsc2hs runhaskell; do
|
||||||
@ -272,26 +253,10 @@ fi
|
|||||||
# (posttrans to make sure any old libs have been removed first)
|
# (posttrans to make sure any old libs have been removed first)
|
||||||
ghc-pkg recache
|
ghc-pkg recache
|
||||||
|
|
||||||
%post ghc-devel
|
|
||||||
ghc-pkg recache
|
|
||||||
|
|
||||||
%postun ghc-devel
|
|
||||||
ghc-pkg recache
|
|
||||||
|
|
||||||
%posttrans doc
|
%posttrans doc
|
||||||
# (posttrans to make sure any old docs have been removed first)
|
# (posttrans to make sure any old docs have been removed first)
|
||||||
%ghc_reindex_haddock
|
%ghc_reindex_haddock
|
||||||
|
|
||||||
%if %{with doc}
|
|
||||||
%post ghc-doc
|
|
||||||
%ghc_reindex_haddock
|
|
||||||
|
|
||||||
%postun ghc-doc
|
|
||||||
if [ "$1" -eq 0 ] ; then
|
|
||||||
%ghc_reindex_haddock
|
|
||||||
fi
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files -f ghc.files
|
%files -f ghc.files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%doc ANNOUNCE HACKING LICENSE README
|
%doc ANNOUNCE HACKING LICENSE README
|
||||||
@ -305,51 +270,41 @@ fi
|
|||||||
%files doc -f ghc-doc.files
|
%files doc -f ghc-doc.files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%if %{with doc}
|
%if %{with doc}
|
||||||
%dir %{_docdir}/%{name}/libraries
|
%dir %{ghcdocbasedir}/libraries
|
||||||
%{_docdir}/%{name}/libraries/frames.html
|
%{ghcdocbasedir}/libraries/frames.html
|
||||||
%{_docdir}/%{name}/libraries/gen_contents_index
|
%{ghcdocbasedir}/libraries/gen_contents_index
|
||||||
%{_docdir}/%{name}/libraries/hscolour.css
|
%{ghcdocbasedir}/libraries/hscolour.css
|
||||||
%{_docdir}/%{name}/libraries/prologue.txt
|
%{ghcdocbasedir}/libraries/prologue.txt
|
||||||
%{_docdir}/%{name}/index.html
|
%{ghcdocbasedir}/index.html
|
||||||
%ghost %{_docdir}/%{name}/libraries/doc-index*.html
|
%ghost %{ghcdocbasedir}/libraries/doc-index*.html
|
||||||
%ghost %{_docdir}/%{name}/libraries/haddock.css
|
%ghost %{ghcdocbasedir}/libraries/haddock.css
|
||||||
%ghost %{_docdir}/%{name}/libraries/haddock-util.js
|
%ghost %{ghcdocbasedir}/libraries/haddock-util.js
|
||||||
%ghost %{_docdir}/%{name}/libraries/haskell_icon.gif
|
%ghost %{ghcdocbasedir}/libraries/haskell_icon.gif
|
||||||
%ghost %{_docdir}/%{name}/libraries/index*.html
|
%ghost %{ghcdocbasedir}/libraries/index*.html
|
||||||
%ghost %{_docdir}/%{name}/libraries/minus.gif
|
%ghost %{ghcdocbasedir}/libraries/minus.gif
|
||||||
%ghost %{_docdir}/%{name}/libraries/plus.gif
|
%ghost %{ghcdocbasedir}/libraries/plus.gif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with shared}
|
%if %{with shared}
|
||||||
%files libs -f ghc-libs.files
|
%files libs -f ghc-libs.files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
|
|
||||||
%files ghc -f ghc-ghc.files
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files ghc-devel -f ghc-ghc-devel.files
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
|
|
||||||
%if %{with doc}
|
|
||||||
%files ghc-doc -f ghc-ghc-doc.files
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with prof}
|
%if %{with prof}
|
||||||
%files prof -f ghc-prof.files
|
%files prof -f ghc-prof.files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
|
|
||||||
%files ghc-prof -f ghc-ghc-prof.files
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Tue Dec 22 2009 Jens Petersen <petersen@redhat.com> - 6.12.1-2
|
* Tue Dec 22 2009 Jens Petersen <petersen@redhat.com> - 6.12.1-2
|
||||||
- add p_dyn (dynamic profiling libs) for binlib packages
|
- add subpackages for haskeline, mtl, and terminfo for now with
|
||||||
|
ghc-6.12.1-no-filter-libs.patch: use ghc_binlibpackage, grep -v and
|
||||||
|
ghc_gen_filelists to generate the library subpackages (ghc-rpm-macros-0.5.1)
|
||||||
|
- always set GhcLibWays (Lorenzo Villani)
|
||||||
|
- use ghcdocbasedir to revert html doc path to upstream's html/ for consistency
|
||||||
|
|
||||||
* Wed Dec 16 2009 Jens Petersen <petersen@redhat.com> - 6.12.1-1
|
* Wed Dec 16 2009 Jens Petersen <petersen@redhat.com> - 6.12.1-1
|
||||||
- pre promoted to 6.12.1 final
|
- pre became 6.12.1 final
|
||||||
- exclude ghc .conf file from package.conf.d in base package
|
- exclude ghc .conf file from package.conf.d in base package
|
||||||
- use ghc_reindex_haddock
|
- use ghc_reindex_haddock
|
||||||
- add scripts for ghc-ghc-devel and ghc-ghc-doc
|
- add scripts for ghc-ghc-devel and ghc-ghc-doc
|
||||||
|
Loading…
Reference in New Issue
Block a user