%define pkg_name haskell-platform %define year_version 2017 %define pkg_version 8.2.2 %define pkg_release 1%{?_dist_release} %define ghc_version 8.2.2 %define hscolour_version 1.24.2 %define cabal_version 2.0.0.1 %define stack_version 1.6.3 %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 Source1: packages.cabal-install Source2: packages.stack Source10: download-packages.pl Source11: generate-list.sh # ./download-packages.pl # ./generate-list.sh Source101: base16-bytestring-0.1.1.6.tar.gz Source102: base16-bytestring.cabal Source103: base64-bytestring-1.0.0.1.tar.gz Source104: base64-bytestring.cabal Source105: cryptohash-sha256-0.11.101.0.tar.gz Source106: cryptohash-sha256.cabal Source107: ed25519-0.0.5.0.tar.gz Source108: ed25519.cabal Source109: tar-0.5.0.3.tar.gz Source110: tar.cabal Source111: hackage-security-0.5.2.2.tar.gz Source112: hackage-security.cabal Source113: echo-0.1.3.tar.gz Source114: echo.cabal Source115: edit-distance-0.2.2.1.tar.gz Source116: edit-distance.cabal Source117: cabal-install-2.0.0.1.tar.gz Source118: cabal-install.cabal Source119: annotated-wl-pprint-0.7.0.tar.gz Source120: annotated-wl-pprint.cabal Source121: auto-update-0.1.4.tar.gz Source122: auto-update.cabal Source123: base-compat-0.9.3.tar.gz Source124: base-compat.cabal Source125: base-orphans-0.6.tar.gz Source126: base-orphans.cabal Source127: base-prelude-1.2.0.1.tar.gz Source128: base-prelude.cabal Source129: basement-0.0.4.tar.gz Source130: basement.cabal Source131: bindings-uname-0.1.tar.gz Source132: bindings-uname.cabal Source133: bitarray-0.0.1.1.tar.gz Source134: bitarray.cabal Source135: blaze-builder-0.4.0.2.tar.gz Source136: blaze-builder.cabal Source137: byteable-0.1.1.tar.gz Source138: byteable.cabal Source139: cabal-doctest-1.0.4.tar.gz Source140: cabal-doctest.cabal Source141: cereal-0.5.4.0.tar.gz Source142: cereal.cabal Source143: clock-0.7.2.tar.gz Source144: clock.cabal Source145: colour-2.3.4.tar.gz Source146: colour.cabal Source147: data-default-class-0.1.2.0.tar.gz Source148: data-default-class.cabal Source149: digest-0.0.1.2.tar.gz Source150: digest.cabal Source151: dlist-0.8.0.3.tar.gz Source152: dlist.cabal Source153: easy-file-0.2.1.tar.gz Source154: easy-file.cabal Source155: fail-4.9.0.0.tar.gz Source156: fail.cabal Source157: file-embed-0.0.10.1.tar.gz Source158: file-embed.cabal Source159: filelock-0.1.1.2.tar.gz Source160: filelock.cabal Source161: generic-deriving-1.11.2.tar.gz Source162: generic-deriving.cabal Source163: hinotify-0.3.9.tar.gz Source164: hinotify.cabal Source165: hourglass-0.2.10.tar.gz Source166: hourglass.cabal Source167: hspec-discover-2.4.4.tar.gz Source168: hspec-discover.cabal Source169: hspec-expectations-0.8.2.tar.gz Source170: hspec-expectations.cabal Source171: ieee754-0.8.0.tar.gz Source172: ieee754.cabal Source173: logict-0.6.0.2.tar.gz Source174: logict.cabal Source175: microlens-0.4.8.1.tar.gz Source176: microlens.cabal Source177: mime-types-0.1.0.7.tar.gz Source178: mime-types.cabal Source179: mintty-0.1.1.tar.gz Source180: mintty.cabal Source181: monad-loops-0.4.3.tar.gz Source182: monad-loops.cabal Source183: old-locale-1.0.0.7.tar.gz Source184: old-locale.cabal Source185: open-browser-0.2.1.0.tar.gz Source186: open-browser.cabal Source187: path-pieces-0.2.1.tar.gz Source188: path-pieces.cabal Source189: pid1-0.1.2.0.tar.gz Source190: pid1.cabal Source191: polyparse-1.12.tar.gz Source192: polyparse.cabal Source193: prelude-extras-0.4.0.3.tar.gz Source194: prelude-extras.cabal Source195: quickcheck-io-0.2.0.tar.gz Source196: quickcheck-io.cabal Source197: regex-applicative-0.3.3.tar.gz Source198: regex-applicative.cabal Source199: safe-0.3.15.tar.gz Source200: safe.cabal Source201: semigroups-0.18.3.tar.gz Source202: semigroups.cabal Source203: setenv-0.1.1.3.tar.gz Source204: setenv.cabal Source205: silently-1.2.5.tar.gz Source206: silently.cabal Source207: stm-chans-3.0.0.4.tar.gz Source208: stm-chans.cabal Source209: text-metrics-0.3.0.tar.gz Source210: text-metrics.cabal Source211: th-abstraction-0.2.6.0.tar.gz Source212: th-abstraction.cabal Source213: th-expand-syns-0.4.4.0.tar.gz Source214: th-expand-syns.cabal Source215: th-lift-0.7.7.tar.gz Source216: th-lift.cabal Source217: time-locale-compat-0.1.1.3.tar.gz Source218: time-locale-compat.cabal Source219: transformers-compat-0.5.1.4.tar.gz Source220: transformers-compat.cabal Source221: unix-compat-0.5.0.1.tar.gz Source222: unix-compat.cabal Source223: unliftio-core-0.1.1.0.tar.gz Source224: unliftio-core.cabal Source225: uuid-types-1.0.3.tar.gz Source226: uuid-types.cabal Source227: vector-algorithms-0.7.0.1.tar.gz Source228: vector-algorithms.cabal Source229: void-0.7.2.tar.gz Source230: void.cabal Source231: gitrev-1.3.1.tar.gz Source232: gitrev.cabal Source233: attoparsec-iso8601-1.0.0.0.tar.gz Source234: attoparsec-iso8601.cabal Source235: neat-interpolation-0.3.2.1.tar.gz Source236: neat-interpolation.cabal Source237: pem-0.2.2.tar.gz Source238: pem.cabal Source239: foundation-0.0.17.tar.gz Source240: foundation.cabal Source241: unicode-transforms-0.3.3.tar.gz Source242: unicode-transforms.cabal Source243: streaming-commons-0.1.18.tar.gz Source244: streaming-commons.cabal Source245: http-types-0.9.1.tar.gz Source246: http-types.cabal Source247: blaze-markup-0.8.0.0.tar.gz Source248: blaze-markup.cabal Source249: socks-0.5.6.tar.gz Source250: socks.cabal Source251: extra-1.6.2.tar.gz Source252: extra.cabal Source253: ansi-terminal-0.7.1.1.tar.gz Source254: ansi-terminal.cabal Source255: store-core-0.4.1.tar.gz Source256: store-core.cabal Source257: hastache-0.6.1.tar.gz Source258: hastache.cabal Source259: smallcheck-1.1.3.1.tar.gz Source260: smallcheck.cabal Source261: microlens-th-0.4.1.1.tar.gz Source262: microlens-th.cabal Source263: old-time-1.1.0.3.tar.gz Source264: old-time.cabal Source265: cookie-0.4.3.tar.gz Source266: cookie.cabal Source267: regex-applicative-text-0.1.0.1.tar.gz Source268: regex-applicative-text.cabal Source269: th-reify-many-0.1.8.tar.gz Source270: th-reify-many.cabal Source271: th-lift-instances-0.1.11.tar.gz Source272: th-lift-instances.cabal Source273: transformers-base-0.4.4.tar.gz Source274: transformers-base.cabal Source275: tagged-0.8.5.tar.gz Source276: tagged.cabal Source277: mmorph-1.1.0.tar.gz Source278: mmorph.cabal Source279: microlens-mtl-0.1.11.0.tar.gz Source280: microlens-mtl.cabal Source281: exceptions-0.8.3.tar.gz Source282: exceptions.cabal Source283: Glob-0.9.1.tar.gz Source284: Glob.cabal Source285: fsnotify-0.2.1.1.tar.gz Source286: fsnotify.cabal Source287: unliftio-0.2.2.0.tar.gz Source288: unliftio.cabal Source289: mono-traversable-1.0.7.0.tar.gz Source290: mono-traversable.cabal Source291: contravariant-1.4.tar.gz Source292: contravariant.cabal Source293: memory-0.14.11.tar.gz Source294: memory.cabal Source295: blaze-html-0.9.0.1.tar.gz Source296: blaze-html.cabal Source297: hspec-core-2.4.4.tar.gz Source298: hspec-core.cabal Source299: ansi-wl-pprint-0.6.8.1.tar.gz Source300: ansi-wl-pprint.cabal Source301: zip-archive-0.3.1.1.tar.gz Source302: zip-archive.cabal Source303: unix-time-0.3.7.tar.gz Source304: unix-time.cabal Source305: cpphs-1.20.8.tar.gz Source306: cpphs.cabal Source307: uri-bytestring-0.3.1.0.tar.gz Source308: uri-bytestring.cabal Source309: th-orphans-0.13.4.tar.gz Source310: th-orphans.cabal Source311: monad-control-1.0.2.2.tar.gz Source312: monad-control.cabal Source313: distributive-0.5.3.tar.gz Source314: distributive.cabal Source315: aeson-1.2.3.0.tar.gz Source316: aeson.cabal Source317: temporary-1.2.1.1.tar.gz Source318: temporary.cabal Source319: retry-0.7.5.1.tar.gz Source320: retry.cabal Source321: http-client-0.5.7.1.tar.gz Source322: http-client.cabal Source323: cryptonite-0.24.tar.gz Source324: cryptonite.cabal Source325: asn1-types-0.3.2.tar.gz Source326: asn1-types.cabal Source327: hspec-smallcheck-0.4.2.tar.gz Source328: hspec-smallcheck.cabal Source329: hspec-2.4.4.tar.gz Source330: hspec.cabal Source331: optparse-applicative-0.14.0.0.tar.gz Source332: optparse-applicative.cabal Source333: fast-logger-2.4.10.tar.gz Source334: fast-logger.cabal Source335: haskell-src-exts-1.19.1.tar.gz Source336: haskell-src-exts.cabal Source337: http-api-data-0.3.7.1.tar.gz Source338: http-api-data.cabal Source339: th-utilities-0.2.0.1.tar.gz Source340: th-utilities.cabal Source341: resource-pool-0.2.3.2.tar.gz Source342: resource-pool.cabal Source343: lifted-base-0.2.3.11.tar.gz Source344: lifted-base.cabal Source345: comonad-5.0.2.tar.gz Source346: comonad.cabal Source347: path-0.6.1.tar.gz Source348: path.cabal Source349: aeson-compat-0.3.7.1.tar.gz Source350: aeson-compat.cabal Source351: cryptohash-0.11.9.tar.gz Source352: cryptohash.cabal Source353: asn1-encoding-0.9.5.tar.gz Source354: asn1-encoding.cabal Source355: optparse-simple-0.1.0.tar.gz Source356: optparse-simple.cabal Source357: haskell-src-meta-0.8.0.1.tar.gz Source358: haskell-src-meta.cabal Source359: resourcet-1.1.10.tar.gz Source360: resourcet.cabal Source361: bifunctors-5.5.tar.gz Source362: bifunctors.cabal Source363: path-io-1.3.3.tar.gz Source364: path-io.cabal Source365: asn1-parse-0.9.4.tar.gz Source366: asn1-parse.cabal Source367: conduit-1.2.12.1.tar.gz Source368: conduit.cabal Source369: semigroupoids-5.2.1.tar.gz Source370: semigroupoids.cabal Source371: profunctors-5.2.1.tar.gz Source372: profunctors.cabal Source373: x509-1.7.2.tar.gz Source374: x509.cabal Source375: yaml-0.8.25.1.tar.gz Source376: yaml.cabal Source377: conduit-extra-1.1.17.tar.gz Source378: conduit-extra.cabal Source379: free-4.12.4.tar.gz Source380: free.cabal Source381: x509-store-1.6.5.tar.gz Source382: x509-store.cabal Source383: hpack-0.20.0.tar.gz Source384: hpack.cabal Source385: project-template-0.2.0.tar.gz Source386: project-template.cabal Source387: monad-logger-0.3.26.tar.gz Source388: monad-logger.cabal Source389: cryptonite-conduit-0.2.2.tar.gz Source390: cryptonite-conduit.cabal Source391: store-0.4.3.2.tar.gz Source392: store.cabal Source393: x509-validation-1.6.9.tar.gz Source394: x509-validation.cabal Source395: x509-system-1.6.6.tar.gz Source396: x509-system.cabal Source397: persistent-2.7.3.tar.gz Source398: persistent.cabal Source399: tls-1.4.0.tar.gz Source400: tls.cabal Source401: persistent-template-2.5.3.tar.gz Source402: persistent-template.cabal Source403: persistent-sqlite-2.6.4.tar.gz Source404: persistent-sqlite.cabal Source405: connection-0.2.8.tar.gz Source406: connection.cabal Source407: http-client-tls-0.3.5.1.tar.gz Source408: http-client-tls.cabal Source409: http-conduit-2.2.4.tar.gz Source410: http-conduit.cabal Source411: stack-1.6.3.tar.gz Source412: stack.cabal BuildRoot: %{_tmppath}/%{name}-%{pkg_version}-root BuildRequires: ghc = %{ghc_version} BuildRequires: gmp-devel zlib-devel freeglut-devel BuildRequires: libffi-devel BuildRequires: docbook-utils docbook-utils-pdf docbook-style-xsl Requires: ghc = %{ghc_version} Requires: freeglut-devel Conflicts: alex Conflicts: happy Conflicts: haskell-platform-base Conflicts: cabal-install Conflicts: 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. %prep %{__rm} -rf ${RPM_BUILD_ROOT} %setup -q -n %{name}-%{pkg_version} %build PKGNAME=%{name}-%{version} PKGCONFDIR=${RPM_BUILD_ROOT}%{_libdir}/ghc-%{ghc_version}/package.conf.d %{__mkdir_p} ${PKGCONFDIR} export PATH=${RPM_BUILD_ROOT}%{_bindir}:${HOME}/.cabal/bin:${PATH} export LANG=en_US.utf8 # hscolour (bootstrap) pkg=hscolour-%{hscolour_version} cd %{_builddir}/%{name}-%{pkg_version}/packages/${pkg} ghc --make Setup ./Setup configure --user ./Setup build ./Setup copy ./Setup register --inplace # haskell-platform cd %{_builddir}/%{name}-%{pkg_version} cd packages for pkg in `cat ../etc/build.packages`; do cd ${pkg} ghc --make Setup ./Setup configure \ --user \ --prefix=%{_prefix} \ --libdir=%{_libdir}/${PKGNAME}/${pkg} \ --libsubdir= \ --datadir=%{_datadir}/${PKGNAME}/${pkg} \ --datasubdir= \ --docdir=%{_docdir}/${PKGNAME}/${pkg} ./Setup build ./Setup haddock || : ./Setup copy --destdir=${RPM_BUILD_ROOT} ./Setup register --inplace ./Setup register --gen-pkg-config=${PKGCONFDIR}/${pkg}.conf cd .. done # cabal-install cd %{_builddir} for pkg in `cat %{SOURCE1}`; do %{__tar} xzf %{_sourcedir}/${pkg}.tar.gz cd ${pkg} # fix wrong dependencies CABALNAME=`echo ${pkg} | sed -e 's/\([a-zA-Z0-9-]\+\)-[0-9.]\+/\1.cabal/'` %{__cp} %{_sourcedir}/${CABALNAME} . ghc --make Setup if [ ${pkg} = "cabal-install-%{cabal_version}" ] then ./Setup configure \ --user \ --prefix=%{_prefix} \ --docdir=%{_docdir}/${PKGNAME}/${pkg} ./Setup build ./Setup copy --destdir=${RPM_BUILD_ROOT} else ./Setup configure --user ./Setup build ./Setup copy ./Setup register --inplace fi cd .. done # stack cd %{_builddir} for pkg in `cat %{SOURCE2}`; do %{__tar} xzf %{_sourcedir}/${pkg}.tar.gz cd ${pkg} # fix wrong dependencies CABALNAME=`echo ${pkg} | sed -e 's/\([a-zA-Z0-9-]\+\)-[0-9.]\+/\1.cabal/'` %{__cp} %{_sourcedir}/${CABALNAME} . case ${pkg} in "stack-%{stack_version}") cabal install --enable-documentation ;; *) cabal install --force-reinstalls ;; esac cd .. done %install # stack %{__install} -m 755 ${HOME}/.cabal/bin/stack \ ${RPM_BUILD_ROOT}%{_bindir} cd ${HOME}/.cabal/share/doc/%{rpmarch}-linux-ghc-%{ghc_version} %{__mv} stack-%{stack_version} \ ${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version} # hscolour cd ${RPM_BUILD_ROOT}%{_bindir} %{__ln_s} HsColour hscolour %clean %{__rm} -rf ${RPM_BUILD_ROOT} %post ghc-pkg recache %postun ghc-pkg recache %files %defattr(-, root, root) %{_bindir}/ %{_libdir}/%{name}-%{version}/ %{_libdir}/ghc-%{ghc_version}/package.conf.d/ %{_datadir}/%{name}-%{version}/ %{_docdir}/%{name}-%{version}/ %{_mandir}/man1/ %changelog * Sat Jan 06 2018 Toshiaki Ara 2017.8.2.2-1 - update to 8.2.2 * Wed Feb 01 2017 Toshiaki Ara 2016.8.0.1-1 - update to 2016.8.0.1 * Tue May 03 2016 Toshiaki Ara 2015.7.10.3-3 - modify SPEC file without usage of cabal-install * Mon Apr 11 2016 Toshiaki Ara 2015.7.10.3-2 - correct SPEC file * Fri Feb 19 2016 Toshiaki Ara 2015.7.10.3-1 - update to 7.10.3 * Mon Feb 15 2016 Toshiaki Ara 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 2013.2.0.0-3 - correct Requires * Thu Feb 11 2016 Toshiaki Ara 2013.2.0.0-2 - install Haskell libraries into %%{_libdir}/ghc-lib - add BuildRequires: hscolour - devide insto subpackages * Thu Feb 04 2016 Toshiaki Ara 2013.2.0.0-1 - new package