diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2015-10-22 22:31:00 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2015-10-22 22:32:06 +0100 |
commit | 42bb87c3b1657d2e6aad059f5c46184612242273 (patch) | |
tree | be9b9109a42578e6da3729d456449c6a76acaff1 /app-emacs | |
parent | dev-haskell/pipes: new package (diff) | |
download | gentoo-42bb87c3b1657d2e6aad059f5c46184612242273.tar.gz gentoo-42bb87c3b1657d2e6aad059f5c46184612242273.tar.bz2 gentoo-42bb87c3b1657d2e6aad059f5c46184612242273.zip |
app-emacs/ghc-mod: new package
"Happy Haskell Programming",
"The ghc-mod command is a backend command to enrich
Haskell programming on editors including
Emacs, Vim, and Sublime."
Bug: https://bugs.gentoo.org/show_bug.cgi?id=476352
Package-Manager: portage-2.2.23
Diffstat (limited to 'app-emacs')
-rw-r--r-- | app-emacs/ghc-mod/Manifest | 1 | ||||
-rw-r--r-- | app-emacs/ghc-mod/files/50ghc-mod-gentoo.el | 3 | ||||
-rw-r--r-- | app-emacs/ghc-mod/files/ghc-mod-5.4.0.0-gentoo.patch | 11 | ||||
-rw-r--r-- | app-emacs/ghc-mod/ghc-mod-5.4.0.0.ebuild | 95 | ||||
-rw-r--r-- | app-emacs/ghc-mod/metadata.xml | 16 |
5 files changed, 126 insertions, 0 deletions
diff --git a/app-emacs/ghc-mod/Manifest b/app-emacs/ghc-mod/Manifest new file mode 100644 index 000000000000..70290738c859 --- /dev/null +++ b/app-emacs/ghc-mod/Manifest @@ -0,0 +1 @@ +DIST ghc-mod-5.4.0.0.tar.gz 132546 SHA256 736652a2f63f9e8625c859c94f193ad8ac9f8fe793bbee672b65576309bfb069 SHA512 fabcc5ce2fb9e8790043faae2d42b3714fab96da1409d7f1c4736f332c6b74c76724dce253456fd787526d125cfaa1fe48c4725a0da16aabb35d5edf560f2415 WHIRLPOOL 8f493cf40724ffb7b56877f9a9cf752e9b23d7babb4fbd29fad0068a1b8f8ef85b40a96c1fa65508ef924cb05d73300762081a762777b982e5c8d41af467d2f0 diff --git a/app-emacs/ghc-mod/files/50ghc-mod-gentoo.el b/app-emacs/ghc-mod/files/50ghc-mod-gentoo.el new file mode 100644 index 000000000000..402c84de9b12 --- /dev/null +++ b/app-emacs/ghc-mod/files/50ghc-mod-gentoo.el @@ -0,0 +1,3 @@ +;;; ghc-mod site-lisp configuration + +(add-to-list 'load-path "@SITELISP@") diff --git a/app-emacs/ghc-mod/files/ghc-mod-5.4.0.0-gentoo.patch b/app-emacs/ghc-mod/files/ghc-mod-5.4.0.0-gentoo.patch new file mode 100644 index 000000000000..f852744aadb9 --- /dev/null +++ b/app-emacs/ghc-mod/files/ghc-mod-5.4.0.0-gentoo.patch @@ -0,0 +1,11 @@ +--- ghc-mod.cabal.orig 2015-04-18 13:14:37.566613645 +0200 ++++ ghc-mod.cabal 2015-04-18 13:14:53.420241209 +0200 +@@ -26,8 +26,6 @@ + Category: GHC, Development + Cabal-Version: >= 1.14 + Build-Type: Custom +-Data-Files: elisp/Makefile +- elisp/*.el + Data-Files: LICENSE COPYING.BSD3 COPYING.AGPL3 + Extra-Source-Files: ChangeLog + SetupCompat.hs diff --git a/app-emacs/ghc-mod/ghc-mod-5.4.0.0.ebuild b/app-emacs/ghc-mod/ghc-mod-5.4.0.0.ebuild new file mode 100644 index 000000000000..eb22207a7609 --- /dev/null +++ b/app-emacs/ghc-mod/ghc-mod-5.4.0.0.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +# ebuild generated by hackport 0.4.6 + +CABAL_FEATURES="bin lib profile haddock hoogle hscolour test-suite" +inherit elisp-common haskell-cabal + +DESCRIPTION="Happy Haskell Programming" +HOMEPAGE="http://www.mew.org/~kazu/proj/ghc-mod/" +SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz" + +LICENSE="AGPL-3" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~x86" +IUSE="emacs" + +RESTRICT=test # doctests break on modules collisions: temporary / temporary-rc + +RDEPEND="dev-haskell/async:=[profile?] + >=dev-haskell/cabal-helper-0.6.0.0:=[profile?] <dev-haskell/cabal-helper-0.7:=[profile?] + >=dev-haskell/cereal-0.4:=[profile?] + dev-haskell/convertible:=[profile?] + >=dev-haskell/djinn-ghc-0.0.2.2:=[profile?] + >=dev-haskell/extra-1.4:2=[profile?] <dev-haskell/extra-1.5:2=[profile?] + >=dev-haskell/fclabels-2.0:=[profile?] <dev-haskell/fclabels-2.1:=[profile?] + dev-haskell/ghc-paths:=[profile?] + dev-haskell/ghc-syb-utils:=[profile?] + dev-haskell/haskell-src-exts:=[profile?] + >=dev-haskell/hlint-1.8.61:=[profile?] + >=dev-haskell/monad-control-1:=[profile?] + >=dev-haskell/monad-journal-0.4:=[profile?] + >=dev-haskell/mtl-2.0:=[profile?] + dev-haskell/old-time:=[profile?] + >=dev-haskell/pipes-4.1:=[profile?] <dev-haskell/pipes-4.2:=[profile?] + dev-haskell/random:=[profile?] + dev-haskell/split:=[profile?] + dev-haskell/syb:=[profile?] + dev-haskell/temporary:=[profile?] + dev-haskell/text:=[profile?] + dev-haskell/transformers:=[profile?] + dev-haskell/transformers-base:=[profile?] + >=dev-lang/ghc-7.4.1:= +" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-1.14 + test? ( >=dev-haskell/doctest-0.9.3 + dev-haskell/executable-path + >=dev-haskell/hspec-2.0.0 ) +" +SITEFILE=50${PN}-gentoo.el + +src_prepare() { + epatch "${FILESDIR}"/${PN}-5.4.0.0-gentoo.patch +} + +src_compile() { + haskell-cabal_src_compile + if use emacs ; then + pushd elisp + elisp-compile *.el || die + popd + fi +} + +src_install() { + haskell-cabal_src_install + if use emacs ; then + pushd "${S}" + elisp-install ghc-mod elisp/*.{el,elc} + elisp-site-file-install "${FILESDIR}"/${SITEFILE} + popd + fi +} + +pkg_postinst() { + if use emacs ; then + elisp-site-regen + elog "To configure ghc-mod either add this line to ~/.emacs:" + elog "(autoload 'ghc-init \"ghc\" nil t)" + elog "and either this line:" + elog "(add-hook 'haskell-mode-hook (lambda () (ghc-init)))" + elog "or if you wish to use flymake:" + elog "(add-hook 'haskell-mode-hook (lambda () (ghc-init) (flymake-mode)))" + fi +} + +pkg_postrm() { + if use emacs ; then + elisp-site-regen + fi +} diff --git a/app-emacs/ghc-mod/metadata.xml b/app-emacs/ghc-mod/metadata.xml new file mode 100644 index 000000000000..f86749b31dae --- /dev/null +++ b/app-emacs/ghc-mod/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>haskell</herd> + <longdescription> + This packages includes Elisp files + and a Haskell command, "ghc-mod". + "ghc*.el" enable completion of + Haskell symbols on Emacs. + Flymake is also integrated. + "ghc-mod" is a backend of "ghc*.el". + It lists up all installed modules + or extracts names of functions, classes, + and data declarations. + </longdescription> +</pkgmetadata> |