diff options
Diffstat (limited to 'devel/hs-haskell-language-server/Makefile')
-rw-r--r-- | devel/hs-haskell-language-server/Makefile | 263 |
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> |