summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-emacs/haskell-mode/Manifest1
-rw-r--r--app-emacs/haskell-mode/haskell-mode-17.5.ebuild63
-rw-r--r--app-emacs/haskell-mode/haskell-mode-9999.ebuild5
-rw-r--r--eclass/flag-o-matic.eclass12
4 files changed, 77 insertions, 4 deletions
diff --git a/app-emacs/haskell-mode/Manifest b/app-emacs/haskell-mode/Manifest
index 37c3d8cc42ab..cc35205b6a78 100644
--- a/app-emacs/haskell-mode/Manifest
+++ b/app-emacs/haskell-mode/Manifest
@@ -1 +1,2 @@
DIST haskell-mode-17.4.tar.gz 1149313 BLAKE2B b30e2051448ba749b0d0b1872f824e8624c4f7d15447a94e61a69898c097ed51f289c3d0f581acffe244178e6b406466ff622e50a395be500a807ef787f92f09 SHA512 95296f9937019a9735388fde918a609aafedaeeede55f85729ddbc0b26d91dd9d39841c6aa727cdf0ebc69161b1367ce5ca895bf9a23c0b4fde8dfa49ef66b04
+DIST haskell-mode-17.5.tar.gz 1149634 BLAKE2B c07db9cccf24847cdf6833c8e71782d0e377c7b29908aa409a7b8061372d6c76937cf1ed36e891bd296d0eb213c880a90b98d7fe75636da1b1943fe8740c420c SHA512 e31e22c017957e86149d2a17d3e5519d3cee23ce0f57c4e83e251192cb589f725402f6b3956d048798ced83bedeca3ac39d52f0e0617de874145a25d5b9ab651
diff --git a/app-emacs/haskell-mode/haskell-mode-17.5.ebuild b/app-emacs/haskell-mode/haskell-mode-17.5.ebuild
new file mode 100644
index 000000000000..3398482d5f87
--- /dev/null
+++ b/app-emacs/haskell-mode/haskell-mode-17.5.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+DESCRIPTION="Mode for editing (and running) Haskell programs in Emacs"
+HOMEPAGE="https://haskell.github.io/haskell-mode/
+ https://www.haskell.org/haskellwiki/Emacs#Haskell-mode"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/haskell/${PN}.git"
+else
+ SRC_URI="https://github.com/haskell/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+ FDL-1.2+"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-lang/ghc )"
+BDEPEND="sys-apps/texinfo"
+
+ELISP_REMOVE="
+ tests/haskell-cabal-tests.el
+ tests/haskell-customize-tests.el
+ tests/haskell-lexeme-tests.el
+"
+
+DOCS=( NEWS README.md )
+ELISP_TEXINFO="doc/${PN}.texi"
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ # We install the logo in SITEETC, not in SITELISP
+ # https://github.com/haskell/haskell-mode/issues/102
+ sed -i -e "/defconst haskell-process-logo/{n;" \
+ -e "s:(.*\"\\(.*\\)\".*):\"${SITEETC}/${PN}/\\1\":}" \
+ haskell-process.el || die
+
+ elisp_src_prepare
+}
+
+src_compile() {
+ elisp_src_compile
+ elisp-make-autoload-file haskell-site-file.el
+}
+
+src_test() {
+ emake check-ert
+}
+
+src_install() {
+ elisp_src_install
+
+ insinto "${SITEETC}"/${PN}
+ doins logo.svg
+}
diff --git a/app-emacs/haskell-mode/haskell-mode-9999.ebuild b/app-emacs/haskell-mode/haskell-mode-9999.ebuild
index 015e5777a278..3398482d5f87 100644
--- a/app-emacs/haskell-mode/haskell-mode-9999.ebuild
+++ b/app-emacs/haskell-mode/haskell-mode-9999.ebuild
@@ -15,12 +15,15 @@ if [[ ${PV} == *9999* ]] ; then
else
SRC_URI="https://github.com/haskell/${PN}/archive/v${PV}.tar.gz
-> ${P}.tar.gz"
- KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+ KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-3+ FDL-1.2+"
SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+DEPEND="test? ( dev-lang/ghc )"
BDEPEND="sys-apps/texinfo"
ELISP_REMOVE="
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 6540f59aa960..d377568327e6 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -89,7 +89,7 @@ _setup-allowed-flags() {
'-fdiagnostics*' '-fplugin*'
'-W*' -w
- # CPPFLAGS and LDFLAGS
+ # CPPFLAGS and LDFLAGS (TODO: Allow -Wa,*?)
'-[DUILR]*' '-Wl,*'
# Linker choice flag
@@ -114,9 +114,15 @@ _setup-allowed-flags() {
-mno-faster-structs -mfaster-structs -m32 -m64 -mx32 '-mabi=*'
-mlittle-endian -mbig-endian -EL -EB -fPIC -mlive-g0 '-mcmodel=*'
-mstack-bias -mno-stack-bias -msecure-plt '-m*-toc' '-mfloat-abi=*'
- -mfix-r4000 -mno-fix-r4000 -mfix-r4400 -mno-fix-r4400
+
+ # MIPS errata
+ -mfix-24k -mno-fix-24k -mfix-r4000 -mno-fix-r4000
+ -mfix-r4400 -mno-fix-r4400 -mfix-r5900 -mno-fix-r5900
-mfix-rm7000 -mno-fix-rm7000 -mfix-r9500 -mno-fix-r9500
- -mfix-r10000 -mno-fix-r10000
+ -mfix-r10000 -mno-fix-r10000 -mfix-vr4120 -mno-fix-vr4120
+ -mfix-vr4130 -mfix-sb1 -mno-fix-sb1
+ '-Wa,-mfix-loongson2f-nop'
+
'-mr10k-cache-barrier=*' -mthumb -marm
# needed for arm64 (and in particular SCS)