Browse Source

An advanced purely-functional programming language

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@10154 ec354946-7b23-47d6-9f5a-488ba84defc7
ara_t 9 years ago
parent
commit
c14a85c90d
1 changed files with 233 additions and 0 deletions
  1. 233 0
      h/haskell-platform/haskell-platform-vl.spec

+ 233 - 0
h/haskell-platform/haskell-platform-vl.spec

@@ -0,0 +1,233 @@
+%define pkg_name     haskell-platform
+%define year_version 2015
+%define pkg_version  7.10.3
+%define pkg_release  2%{?_dist_release}
+
+%define ghc_version 7.10.3
+%define alex_version 3.1.4
+%define cabal_version 1.22.6.0
+%define happy_version 1.19.5
+%define hscolour_version 1.23
+
+%ifarch %{ix86}
+%define rpmarch i386
+%endif
+%ifarch x86_64
+%define rpmarch x86_64
+%endif
+
+
+Summary: An advanced purely-functional programming language
+Name:    %{pkg_name}
+Version: %{year_version}.%{pkg_version}
+Release: %{pkg_release}
+
+License: BSD-like
+Group:   Applications/Languages
+
+Source0: %{name}-%{pkg_version}.tar.gz
+
+BuildRoot: %{_tmppath}/%{name}-%{pkg_version}-root
+
+BuildRequires: ghc cabal-install
+BuildRequires: ghc-bindist
+BuildRequires: gmp-devel zlib-devel freeglut-devel
+BuildRequires: libffi-devel
+BuildRequires: docbook-utils docbook-utils-pdf docbook-style-xsl
+BuildRequires: hscolour
+
+Requires: haskell-platform-base = %{version}
+Requires: alex
+Requires: happy
+Requires: cabal-install
+Requires: hscolour
+
+Vendor: Project Vine
+Distribution: Vine Linux
+Packager: ara_t
+
+
+%description
+Haskell is a computer programming language.
+In particular, it is a polymorphically statically typed, lazy, purely
+functional language, quite different from most other programming languages.
+The language is named for Haskell Brooks Curry, whose work in mathematical
+logic serves as a foundation for functional languages.
+
+This is a meta package for installing haskell-platform, alex, happy and
+cabal-install.
+
+
+%package base
+Version:     %{version}
+Summary:     base package of haskell-platform
+Summary(ja): haskell-platformの基本パッケージ
+License:     BSD-like
+Group:       Applications/Languages
+
+Requires: ghc = %{ghc_version}
+Requires: freeglut
+
+%description base
+Base package for haskell-platform without alex, cabal, happy and HsColour.
+
+
+# %package -n cabal-install
+# Version: %{cabal_version}
+# Summary: A command-line program simplifies the process of managing Haskell software
+# License: BSD3
+# Group:   Applications/Languages
+
+# %description -n cabal-install
+# The 'cabal' command-line program simplifies the process of
+# managing Haskell software by automating the fetching, configuration,
+# compilation and installation of Haskell libraries and programs.
+
+
+%package -n alex
+Version:     %{alex_version}
+Summary:     lexical analyser generator for Haskell
+Summary(ja): Haskell用の構文解析器生成器
+License:     BSD3
+Group:       Applications/Text
+
+%description -n alex
+Alex is a tool for generating lexical analysers in Haskell,
+given a description of the tokens to be recognised
+in the form of regular expressions.
+It is similar to the tool lex or flex for C/C++.
+
+%description -l ja -n alex
+AlexはHaskellで字句解析器を生成するツールで、
+トークン群の記述を正規表現の形式で認識します。
+C/C++用のlexやflexといったツールに似ています。
+
+
+%package -n happy
+Version:     %{happy_version}
+Summary:     a parser generator system for Haskell
+Summary(ja): Haskell 用の構文解析器生成器
+License:     BSD3
+Group:       Applications/Text
+
+%description -n happy
+Happy is a parser generator system for Haskell, similar to the tool 'yacc'
+for C. Like 'yacc', it takes a file containing an annotated BNF specification
+of a grammar and produces a Haskell module containing a parser for the grammar.
+
+%description -l ja -n happy
+HappyはHaskell用の構文解析器生成器のシステムで、C用ツールの'yacc'に似ています。
+'yacc'の様に注釈付きのBNF形式の文法の仕様を含んだファイルを受け取って、
+その文法の構文解析器を含んだHaskellモジュールを生成します。
+
+
+%prep
+%{__rm} -rf ${RPM_BUILD_ROOT}
+%setup -q -n %{name}-%{pkg_version}
+
+%build
+# build hptool
+./platform.sh
+
+# build haskell-platform
+export LANG=en_US.utf8
+hptool/dist/build/hptool/hptool --prefix=%{_prefix} \
+  %{_usrsrc}/ghc-%{ghc_version}-%{rpmarch}-vine-linux.tar.bz2 \
+  build-target
+
+%install
+# make directories for alex and happy
+%{__mkdir_p} ${RPM_BUILD_ROOT}%{_bindir}
+%{__mkdir_p} ${RPM_BUILD_ROOT}%{_libdir}
+%{__mkdir_p} ${RPM_BUILD_ROOT}%{_datadir}
+%{__mkdir_p} ${RPM_BUILD_ROOT}%{_docdir}
+%{__cp} -r build/target/usr/ ${RPM_BUILD_ROOT}/
+
+# move files for subpackages
+cd ${RPM_BUILD_ROOT}%{_usr}/ghc-%{ghc_version}-%{rpmarch}
+## alex
+%{__mv} bin/alex ${RPM_BUILD_ROOT}%{_bindir}
+%{__mv} share/alex-%{alex_version} ${RPM_BUILD_ROOT}%{_datadir}
+%{__rm} -rf lib/alex-%{alex_version}
+## happy
+%{__mv} bin/happy ${RPM_BUILD_ROOT}%{_bindir}
+%{__mv} share/happy-%{happy_version} ${RPM_BUILD_ROOT}%{_datadir}
+%{__rm} -rf lib/happy-%{happy_version}
+
+## delete files and folders from ghc, cabal and hscolour
+cd ${RPM_BUILD_ROOT}/usr/ghc-%{ghc_version}-%{rpmarch}
+%{__rm} -rf bin
+%{__rm} -rf lib/ghc-%{ghc_version}
+%{__rm} -rf lib/hscolour-%{hscolour_version}
+%{__rm} -rf share/hscolour-%{hscolour_version}
+%{__rm} -f  etc/registrations/hscolour-%{hscolour_version}
+%{__rm} -rf share/doc
+%{__rm} -rf share/man
+%{__rm} -f  haskell-platform.cabal
+%{__rm} -f  version-*
+
+%clean
+%{__rm} -rf ${RPM_BUILD_ROOT}
+
+%post base
+cd %{_usr}/ghc-%{ghc_version}-%{rpmarch}/etc/registrations
+for conf in *
+do
+  ghc-pkg register --verbose=0 --force $conf 2> /dev/null
+done
+
+%preun base
+cd %{_usr}/ghc-%{ghc_version}-%{rpmarch}/etc/registrations
+for conf in *
+do
+  ghc-pkg unregister --verbose=0 --force $conf 2> /dev/null
+done
+
+
+%files
+
+%files base
+%defattr(-, root, root)
+%doc LICENSE README
+%{_usr}/ghc-%{ghc_version}-%{rpmarch}/
+
+# %files -n cabal-install
+# %doc packages/cabal-install-%{cabal_version}/LICENSE
+# %doc packages/cabal-install-%{cabal_version}/README
+# %{_bindir}/cabal
+
+%files -n alex
+%doc packages/alex-%{alex_version}/LICENSE
+%doc packages/alex-%{alex_version}/README
+%{_bindir}/alex
+%{_datadir}/alex-%{alex_version}/
+
+%files -n happy
+%doc packages/happy-%{happy_version}/LICENSE
+%doc packages/happy-%{happy_version}/README
+%{_bindir}/happy
+%{_datadir}/happy-%{happy_version}/
+
+
+%changelog
+* Mon Apr 11 2016 Toshiaki Ara <ara_t@384.jp> 7.10.3-2
+- correct SPEC file
+
+* Fri Feb 19 2016 Toshiaki Ara <ara_t@384.jp> 7.10.3-1
+- update to 7.10.3
+
+* Mon Feb 15 2016 Toshiaki Ara <ara_t@384.jp> 2013.2.0.0-4
+- delete subpackage cabal-install
+- delete %{cabal_version} from Requires: cabal-install-%{cabal_version}
+- add BuildRequires: libffi-devel
+
+* Thu Feb 11 2016 Toshiaki Ara <ara_t@384.jp> 2013.2.0.0-3
+- correct Requires
+
+* Thu Feb 11 2016 Toshiaki Ara <ara_t@384.jp> 2013.2.0.0-2
+- install Haskell libraries into %{_libdir}/ghc-lib
+- add BuildRequires: hscolour
+- devide insto subpackages
+
+* Thu Feb 04 2016 Toshiaki Ara <ara_t@384.jp> 2013.2.0.0-1
+- new package