[haskell-platform] fix build on archs without ghci (#883479) - keep split, vector, and primitive in own pkgs

Jens Petersen petersen at fedoraproject.org
Wed Dec 5 04:57:32 UTC 2012


commit 3bf1941f83444b2ab98f18ffa70dacdb33620380
Author: Jens Petersen <petersen at redhat.com>
Date:   Wed Dec 5 13:57:19 2012 +0900

    fix build on archs without ghci (#883479) - keep split, vector, and primitive in own pkgs

 haskell-platform.spec |   47 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 32 insertions(+), 15 deletions(-)
---
diff --git a/haskell-platform.spec b/haskell-platform.spec
index f438690..11b475f 100644
--- a/haskell-platform.spec
+++ b/haskell-platform.spec
@@ -1,4 +1,3 @@
-# cabal2spec-0.25
 # https://fedoraproject.org/wiki/Packaging:Haskell
 # https://fedoraproject.org/wiki/PackagingDrafts/Haskell
 
@@ -7,26 +6,30 @@
 %global cabal_install_version 0.14.0
 %global happy_version 1.18.10
 
+%global primitive_version 0.5.0.1
+%global split_version 0.2.1.1
+%global vector_version 0.10.0.1
+
 Name:           haskell-platform
 Version:        2012.4.0.0
 # Since library subpackages are versioned:
 # - release can only be reset if all library versions get bumped simultaneously
 #   (eg for a major release)
 # - minor release numbers should be incremented monotonically
-Release:        19%{?dist}
+Release:        20%{?dist}
 Summary:        Standard Haskell distribution
 
 Group:          Development/Tools
 License:        BSD
-# BEGIN cabal2spec
 URL:            http://hackage.haskell.org/platform
 Source0:        http://lambda.haskell.org/platform/download/%{version}/%{name}-%{version}.tar.gz
-ExclusiveArch:  %{ghc_arches}
+Patch1:         ghc-GLUT-extralibs.patch
+Patch2:         alex-ghc74-fix-bang-pattern.patch
+
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-rpm-macros >= 0.95.2
 # for fixing RPATH in the binary programs
 BuildRequires:  chrpath
-# END cabal2spec
 BuildRequires:  ghc-compiler = %{ghc_compiler_version}
 # GLUT
 BuildRequires:  freeglut-devel%{?_isa}
@@ -47,14 +50,18 @@ BuildRequires:  ghc-time-devel
 BuildRequires:  ghc-bytestring-devel
 # zlib
 BuildRequires:  zlib-devel%{?_isa}
-# "ghci" library is not officially part of hackage-platform
+# part of HP-2012.4
+BuildRequires:  ghc-split-devel = %{split_version}
+BuildRequires:  ghc-primitive-devel = %{primitive_version}
+%ifarch %{ghc_arches_with_ghci}
+BuildRequires:  ghc-vector-devel = %{vector_version}
+%endif
+# ghci "ghc" library is not officially part of hackage-platform
 Requires:       ghc-compiler = %{ghc_compiler_version}
 Requires:       alex = %{alex_version}-%{release}
 Requires:       cabal-install = %{cabal_install_version}-%{release}
 Requires:       happy = %{happy_version}-%{release}
 Requires:       ghc-haskell-platform-devel = %{version}-%{release}
-Patch1:         ghc-GLUT-extralibs.patch
-Patch2:         alex-ghc74-fix-bang-pattern.patch
 
 %description
 Haskell Platform is a suite of stable and well used Haskell libraries
@@ -72,11 +79,9 @@ and tools.  It provides a good starting environment for Haskell development.
 %ghc_lib_subpackage -c freeglut-devel%{?_isa} GLUT 2.1.2.1
 %ghc_lib_subpackage html 1.0.1.2
 %ghc_lib_subpackage parallel 3.2.0.3
-%ghc_lib_subpackage primitive 0.5.0.1
 %ghc_lib_subpackage -l %BSDHaskellReport random 1.0.1.1
 %ghc_lib_subpackage QuickCheck 2.5.1.1
 # alex
-%ghc_lib_subpackage split 0.2.1.1
 %ghc_lib_subpackage stm 2.4
 %ghc_lib_subpackage async 2.0.1.3
 %ghc_lib_subpackage syb 0.3.7
@@ -92,7 +97,6 @@ and tools.  It provides a good starting environment for Haskell development.
 %ghc_lib_subpackage regex-base 0.93.2
 %ghc_lib_subpackage regex-posix 0.95.2
 %ghc_lib_subpackage regex-compat 0.95.1
-%ghc_lib_subpackage vector 0.10.0.1
 %ghc_lib_subpackage xhtml 3000.2.1
 %ghc_lib_subpackage cgi 3001.1.7.4
 %ghc_lib_subpackage -c zlib-devel%{?_isa} zlib 0.5.4.0
@@ -154,17 +158,21 @@ hand-written or generated by another program).
 
 %global version %{haskell_platform_version}
 
-
-# devel subpackage
+%ifarch %{ghc_arches_with_ghci}
 %ghc_devel_package -m haskell-platform %{version}
 %{?ghc_packages_list:Requires: %(echo %{ghc_packages_list} | sed -e "s/\([^ ]*\)-\([^ ]*\)/ghc-\1-devel = \2-%{release},/g")}
 Requires:       ghc-libraries = %{ghc_compiler_version}
+# part of HP-2012.4
+Requires:       ghc-primitive-devel = %{primitive_version}
+Requires:       ghc-split-devel = %{split_version}
+Requires:       ghc-vector-devel = %{vector_version}
 # added in F17 devel cycle
 Obsoletes:      ghc-haskell-platform < %{version}-%{release}
 
 %ghc_devel_description haskell-platform
 Haskell Platform is a suite of stable and well used Haskell libraries
 and tools.  It provides a good starting environment for Haskell development.
+%endif
 
 
 %prep
@@ -189,7 +197,7 @@ PATH=$HOME/.cabal/bin:$PATH
 %define cabal_configure_options --user
 
 cd packages
-for i in $(cat platform.packages); do
+for i in $(egrep -v "^(primitive|split|vector)-" platform.packages); do
 name=$(echo $i | sed -e "s/\(.*\)-.*/\1/")
 ver=$(echo $i | sed -e "s/.*-\(.*\)/\1/")
 cd $name-$ver
@@ -203,9 +211,11 @@ GLUT)
 ./Setup register --inplace
 ;;
 haskell-platform)
+%ifarch %{ghc_arches_with_ghci}
 cabal_configure_extra_options="--with-cabal-install=../cabal-install-%{cabal_install_version}/dist/build/cabal/cabal --with-happy=../happy-%{happy_version}/dist/build/happy/happy  --with-alex=../alex-%{alex_version}/dist/build/alex/alex"
 %ghc_lib_build_without_haddock $name $ver
 cabal_configure_extra_options=
+%endif
 ;;
 *)
 %ghc_lib_build $name $ver
@@ -232,7 +242,7 @@ cd packages
 
 PACKAGES_DIR=$PWD
 
-for i in $(cat platform.packages); do
+for i in $(egrep -v "^(primitive|split|vector)-" platform.packages); do
 name=$(echo $i | sed -e "s/\(.*\)-.*/\1/")
 ver=$(echo $i | sed -e "s/.*-\(.*\)/\1/")
 cd $name-$ver
@@ -281,11 +291,14 @@ for i in alex cabal happy; do
 done
 %endif
 
+
 %ghc_devel_post_postun haskell-platform
 
 
+%ifarch %{ghc_arches_with_ghci}
 %files
 %doc packages/%{name}-%{version}/LICENSE
+%endif
 
 
 %files -n alex
@@ -326,6 +339,10 @@ done
 
 
 %changelog
+* Wed Dec  5 2012 Jens Petersen <petersen at redhat.com> - 2012.4.0.0-20
+- keep split, vector, and primitive in their own existing src packages
+- allow building on ghc archs without ghci: ie without vector library (#883479)
+
 * Sat Oct 20 2012 Jens Petersen <petersen at redhat.com> - 2012.4.0.0-19
 - update to 2012.4.0.0
 - new subpackages: async, split, vector, and primitive (vector dep)


More information about the scm-commits mailing list