aboutsummaryrefslogtreecommitdiff
path: root/devel/hs-haskell-language-server/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'devel/hs-haskell-language-server/Makefile')
-rw-r--r--devel/hs-haskell-language-server/Makefile263
1 files changed, 44 insertions, 219 deletions
diff --git a/devel/hs-haskell-language-server/Makefile b/devel/hs-haskell-language-server/Makefile
index f8a47d2312f2..004fb27abf1a 100644
--- a/devel/hs-haskell-language-server/Makefile
+++ b/devel/hs-haskell-language-server/Makefile
@@ -1,242 +1,67 @@
PORTNAME= haskell-language-server
-DISTVERSION= 1.2.0
+DISTVERSION= 2.7.0.0
CATEGORIES= devel haskell
-EXTRACT_ONLY= hsyl20-ghc-api-compat-8fee87eac97a538dbe81ff1ab18cff10f2f9fa15_GH0${EXTRACT_SUFX}
MAINTAINER= haskell@FreeBSD.org
COMMENT= LSP provider implementation for Haskell language
+WWW= https://github.com/haskell/haskell-language-server/
LICENSE= APACHE20
-BUILD_DEPENDS= hls-install:devel/hs-hls-install
+BROKEN_aarch64= compiler crashes
+
+FLAVORS= default ghc92
+FLAVOR?= ${FLAVORS:[1]}
+.if ${FLAVOR:U} != default
+PKGNAMESUFFIX= -${FLAVOR}
+.endif
+
+# Do not use a flavor helper to let Uses/cabal.mk machinery to kick in
+.if ${FLAVOR:U} == ghc92
+BUILD_DEPENDS= ghc-9.2.8:lang/ghc92
+GHC_VERSION= 9.2.8
+.endif
USES= cabal
USE_GITHUB= yes
GH_ACCOUNT= haskell
-GH_TUPLE= hsyl20:ghc-api-compat:8fee87eac97a538dbe81ff1ab18cff10f2f9fa15:ghcapicompat
-
-USE_CABAL= Diff-0.4.0 \
- Glob-0.10.1 \
- HsYAML-0.2.1.0_2 \
- HsYAML-aeson-0.2.0.0_3 \
- MonadRandom-0.5.2 \
- Only-0.1_1 \
- QuickCheck-2.14.2 \
- StateVar-1.2.1 \
- adjunctions-4.4_2 \
- aeson-1.5.6.0_1 \
- aeson-pretty-0.8.8 \
- alex-3.2.6 \
- algebraic-graphs-0.5 \
- ansi-terminal-0.10.3 \
- ansi-wl-pprint-0.6.9_2 \
- apply-refact-0.9.3.0 \
- assoc-1.0.2_1 \
- async-2.2.3 \
- attoparsec-0.13.2.5_1 \
- base-compat-0.11.2 \
- base-compat-batteries-0.11.2 \
- base-orphans-0.8.4 \
- base16-bytestring-0.1.1.7_3 \
- bifunctors-5.5.10 \
- blaze-builder-0.4.2.1 \
- blaze-textual-0.2.1.0 \
- brittany-0.13.1.1 \
- butcher-1.3.3.2 \
- bytestring-encoding-0.1.0.0 \
- cabal-doctest-1.0.8_2 \
- call-stack-0.3.0 \
- case-insensitive-1.2.1.0 \
- clock-0.8.2 \
- cmdargs-0.10.21 \
- colour-2.3.5 \
- comonad-5.0.8 \
- conduit-1.3.4.1 \
- conduit-extra-1.3.5 \
- constraints-0.12 \
- constraints-extras-0.3.1.0 \
- contravariant-1.5.3 \
- cpphs-1.20.9.1 \
- cryptohash-md5-0.11.100.1_5 \
- cryptohash-sha1-0.11.100.1_5 \
- czipwith-1.0.1.3 \
- data-default-0.7.1.1 \
- data-default-class-0.1.2.0 \
- data-default-instances-containers-0.0.1 \
- data-default-instances-dlist-0.0.1 \
- data-default-instances-old-locale-0.0.1 \
- data-fix-0.3.1 \
- data-tree-print-0.1.0.2_2 \
- dependent-map-0.4.0.0 \
- dependent-sum-0.7.1.0_1 \
- dependent-sum-template-0.1.0.3 \
- deque-0.4.3 \
- direct-sqlite-2.3.26 \
- distributive-0.6.2.1 \
- dlist-1.0 \
- entropy-0.4.1.6 \
- extra-1.7.9 \
- file-embed-0.0.13.0 \
- filemanip-0.3.6.3 \
- filepattern-0.1.2 \
- fingertree-0.1.4.2 \
- floskell-0.10.5 \
- foldl-1.4.11 \
- fourmolu-0.3.0.0_1 \
- free-5.1.6 \
- fuzzy-0.1.0.0 \
- generic-lens-2.1.0.0 \
- generic-lens-core-2.1.0.0 \
- ghc-check-0.5.0.5 \
- ghc-exactprint-0.6.4 \
- ghc-lib-parser-8.10.4.20210206 \
- ghc-lib-parser-ex-8.10.0.19 \
- ghc-paths-0.1.0.12_2 \
- ghc-source-gen-0.4.0.0 \
- ghc-trace-events-0.1.2.2 \
- githash-0.1.5.0 \
- gitrev-1.3.1 \
- haddock-library-1.10.0 \
- happy-1.20.0 \
- hashable-1.3.1.0 \
- hashtables-1.2.4.1 \
- haskell-src-exts-1.23.1 \
- heaps-0.4 \
- heapsize-0.3.0.1 \
- hie-bios-0.7.5 \
- hiedb-0.3.0.1 \
- hlint-3.2.7 \
- hsc2hs-0.68.7_1 \
- hscolour-1.24.4 \
- hslogger-1.3.1.0_2 \
- hyphenation-0.8.2 \
- implicit-hie-0.1.2.5 \
- implicit-hie-cradle-0.3.0.2 \
- indexed-profunctors-0.1 \
- indexed-traversable-0.1.1 \
- indexed-traversable-instances-0.1 \
- integer-logarithms-1.0.3.1 \
- invariant-0.5.4 \
- js-dgtable-0.5.2 \
- js-flot-0.8.3 \
- js-jquery-3.3.1 \
- kan-extensions-5.2.2 \
- lens-5.0.1 \
- libyaml-0.1.2 \
- logict-0.7.0.3_1 \
- lsp-1.2.0.0 \
- lsp-types-1.2.0.0 \
- lucid-2.9.12.1 \
- math-functions-0.3.4.2 \
- megaparsec-9.0.1_1 \
- microlens-0.4.12.0 \
- microlens-th-0.4.3.9 \
- mmorph-1.1.5_1 \
- monad-control-1.0.2.3 \
- monad-dijkstra-0.1.1.3 \
- monad-memo-0.5.3 \
- mono-traversable-1.0.15.1 \
- monoid-subclasses-1.1 \
- multistate-0.8.0.3 \
- mwc-random-0.15.0.1_2 \
- network-3.1.0.1 \
- network-bsd-2.8.1.0_3 \
- network-info-0.2.0.10_1 \
- network-uri-2.6.4.1 \
- old-locale-1.0.0.7_2 \
- opentelemetry-0.6.1 \
- optparse-applicative-0.15.1.0_1 \
- optparse-simple-0.1.1.3 \
- ormolu-0.1.4.1_1 \
- parallel-3.2.2.0_3 \
- parser-combinators-1.3.0 \
- polyparse-1.13_2 \
- pretty-simple-4.0.0.0 \
- prettyprinter-1.7.0 \
- prettyprinter-ansi-terminal-1.1.2 \
- primes-0.2.1.0 \
- primitive-0.7.1.0_2 \
- profunctors-5.6.2 \
- psqueues-0.2.7.2_1 \
- random-1.2.0_5 \
- random-shuffle-0.0.4 \
- refact-0.3.0.2 \
- refinery-0.3.0.0 \
- reflection-2.1.6 \
- regex-base-0.94.0.1 \
- regex-tdfa-1.3.1.0_2 \
- resourcet-1.2.4.2 \
- retrie-0.1.1.1 \
- rope-utf16-splay-0.3.2.0 \
- safe-0.3.19 \
- safe-exceptions-0.1.7.1 \
- scientific-0.3.6.2 \
- semigroupoids-5.3.5 \
- semigroups-0.19.1 \
- shake-0.19.4 \
- some-1.0.2 \
- sorted-list-0.2.1.0 \
- split-0.2.3.4_1 \
- splitmix-0.1.0.3 \
- sqlite-simple-0.4.18.0 \
- streaming-commons-0.2.2.1 \
- strict-0.4.0.1 \
- strict-list-0.1.5 \
- stylish-haskell-0.12.2.0 \
- syb-0.7.2.1 \
- tagged-0.8.6.1 \
- temporary-1.3 \
- th-abstraction-0.4.2.0 \
- th-compat-0.1.2 \
- th-extras-0.0.0.4 \
- these-1.1.1.1_1 \
- time-compat-1.9.5_1 \
- transformers-base-0.4.5.2 \
- transformers-compat-0.6.6 \
- type-equality-1_2 \
- typed-process-0.2.6.0 \
- uniplate-1.6.13_1 \
- unix-compat-0.5.3 \
- unliftio-0.2.14 \
- unliftio-core-0.2.0.1_1 \
- unordered-containers-0.2.13.0 \
- unsafe-0.0 \
- utf8-string-1.0.2 \
- uuid-1.3.14 \
- uuid-types-1.0.4 \
- vector-0.12.2.0 \
- vector-algorithms-0.8.0.4_1 \
- void-0.7.3 \
- yaml-0.11.5.0 \
- zlib-0.6.2.3
-SKIP_CABAL_PLIST= yes
-CABAL_PROJECT= append
+.for flavor in ${FLAVORS}
+. include "Makefile.cabal.${flavor}"
+.endfor
-EXECUTABLES= ${PORTNAME} \
+USE_CABAL= ${${FLAVOR}_USE_CABAL}
+CABAL_PROJECT= append
+CABAL_FLAGS= -dynamic
+CABAL_EXECUTABLES= ${PORTNAME} \
${PORTNAME}-wrapper
NOT_FOR_ARCHS= i386
-PLIST_FILES= bin/${PORTNAME} \
- bin/${PORTNAME}-8.10.5 \
- bin/${PORTNAME}-wrapper
-
-post-extract:
- ${MV} ${WRKDIR}/ghc-api-compat-8fee87eac97a538dbe81ff1ab18cff10f2f9fa15 ${WRKSRC}/ghc-api-compat
-do-build:
- cd ${WRKSRC} && \
- ${SETENV} ${MAKE_ENV} HOME=${CABAL_HOME} hls-install hls
+.if ${FLAVOR:U} != default
+SKIP_CABAL_PLIST= yes
+PLIST_FILES= bin/${PORTNAME}-${GHC_VERSION}
+.endif
-do-install:
-.for exe in ${EXECUTABLES}
- ${INSTALL_PROGRAM} ${CABAL_HOME}/.cabal/bin/${exe} ${STAGEDIR}${PREFIX}/bin
+# When running 'make makesum' we want USE_CABAL to include packages for all flavors
+.ifmake makesum
+.for f in ${FLAVORS}
+USE_CABAL+= ${${f}_USE_CABAL}
.endfor
- ${LN} -s ${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-8.10.5
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == aarch64
+# compiler goes out of memory
+BUILD_ARGS+= --disable-optimization
+.endif
-cabal-extract-deps:
- cd ${WRKSRC} && \
- ${SETENV} HOME=${CABAL_HOME} hls-install hls
+.if ${FLAVOR:U} != default
+post-install:
+ ${RM} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-wrapper
+ ${MV} ${STAGEDIR}${PREFIX}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-${GHC_VERSION}
+.endif
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>