# generated by cabal-rpm-2.2.1 --standalone --stream hackage # https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ %global ghc_major 9.8 %if %{defined ghc_major} %global ghc_name ghc%{ghc_major} %endif %global ghc_minor 9.8.4 %if %{defined fedora} %bcond_with compiler_default %else # ghc_version macro needs /usr/bin/ghc %bcond_without compiler_default %endif %global ghc_prefix %{?ghc_name}%{!?ghc_name:ghc} %global wrapper_pkg %[(%{defined rhel} && "%{?ghc_name}" == "ghc9.2") || (%{defined fedora} && %{undefined ghc_name})] %global ghc_without_dynamic 1 %global ghc_without_shared 1 %undefine with_ghc_prof %undefine with_haddock %global without_prof 1 %global without_haddock 1 %global debug_package %{nil} %global pkg_name haskell-language-server %global pkgver %{pkg_name}-%{version} %global executable %{pkg_name}-%{ghc_version} Name: %{pkg_name}%{?ghc_name:-%{ghc_name}} Version: 2.9.0.0 Release: 1%{?dist}.ghc%{ghc_minor} Summary: LSP server for GHC %{ghc_version} License: Apache-2.0 Url: https://hackage.haskell.org/package/%{pkg_name} # Begin cabal-rpm sources: Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz # End cabal-rpm sources # https://github.com/haskell/haskell-language-server/issues/4359 Patch0: disable-ghcide-bench.patch Provides: haskell-language-server-ghc-%{ghc_version} = %{version}-%{release} # Begin cabal-rpm deps: # see below for ghc-Cabal-devel BuildRequires: ghc-rpm-macros %if %{defined ghc_name} BuildRequires: %{ghc_name} = %{ghc_minor} %if %{with compiler_default} BuildRequires: %{ghc_name}-compiler-default = %{ghc_minor} %endif BuildRequires: zlib-devel %else BuildRequires: ghc-compiler = %{ghc_minor} BuildRequires: ghc-Cabal-devel %if %{defined fedora} BuildRequires: ghc-Cabal-syntax-devel %endif BuildRequires: ghc-Diff-devel BuildRequires: ghc-aeson-devel BuildRequires: ghc-aeson-pretty-devel #BuildRequires: ghc-apply-refact-devel BuildRequires: ghc-array-devel BuildRequires: ghc-async-devel BuildRequires: ghc-base-devel BuildRequires: ghc-binary-devel BuildRequires: ghc-bytestring-devel BuildRequires: ghc-containers-devel BuildRequires: ghc-data-default-devel BuildRequires: ghc-deepseq-devel BuildRequires: ghc-directory-devel BuildRequires: ghc-dlist-devel BuildRequires: ghc-extra-devel BuildRequires: ghc-filepath-devel #BuildRequires: ghc-floskell-devel BuildRequires: ghc-foldl-devel #BuildRequires: ghc-fourmolu-devel #BuildRequires: ghc-fuzzy-devel BuildRequires: ghc-ghc-devel BuildRequires: ghc-ghc-boot-devel BuildRequires: ghc-ghc-boot-th-devel #BuildRequires: ghc-ghc-exactprint-devel BuildRequires: ghc-ghc-lib-parser-devel BuildRequires: ghc-ghc-lib-parser-ex-devel #BuildRequires: ghc-ghcide-devel %if %{defined fedora} BuildRequires: ghc-githash-devel %endif BuildRequires: ghc-hashable-devel #BuildRequires: ghc-hie-bios-devel #BuildRequires: ghc-hie-compat-devel #BuildRequires: ghc-hiedb-devel BuildRequires: ghc-hlint-devel #BuildRequires: ghc-hls-graph-devel #BuildRequires: ghc-hls-plugin-api-devel #BuildRequires: ghc-hls-test-utils-devel %if %{defined fedora} BuildRequires: ghc-lens-devel %endif #BuildRequires: ghc-lsp-devel #BuildRequires: ghc-lsp-test-devel #BuildRequires: ghc-lsp-types-devel BuildRequires: ghc-megaparsec-devel #BuildRequires: ghc-mod-devel BuildRequires: ghc-mtl-devel BuildRequires: ghc-optparse-applicative-devel %if %{defined fedora} BuildRequires: ghc-optparse-simple-devel %endif BuildRequires: ghc-ormolu-devel BuildRequires: ghc-parser-combinators-devel %if %{defined fedora} BuildRequires: ghc-prettyprinter-devel %endif BuildRequires: ghc-process-devel #BuildRequires: ghc-process-extras-devel BuildRequires: ghc-refact-devel BuildRequires: ghc-regex-applicative-devel BuildRequires: ghc-regex-tdfa-devel #BuildRequires: ghc-retrie-devel #BuildRequires: ghc-row-types-devel %if %{defined fedora} BuildRequires: ghc-safe-exceptions-devel %endif BuildRequires: ghc-semigroupoids-devel BuildRequires: ghc-shake-devel #BuildRequires: ghc-sqlite-simple-devel #BuildRequires: ghc-stan-devel BuildRequires: ghc-stm-devel #BuildRequires: ghc-stm-containers-devel #BuildRequires: ghc-stylish-haskell-devel BuildRequires: ghc-syb-devel BuildRequires: ghc-tasty-hunit-devel BuildRequires: ghc-template-haskell-devel BuildRequires: ghc-temporary-devel BuildRequires: ghc-text-devel #BuildRequires: ghc-text-rope-devel BuildRequires: ghc-time-devel BuildRequires: ghc-transformers-devel #BuildRequires: ghc-trial-devel BuildRequires: ghc-unix-devel BuildRequires: ghc-unliftio-devel BuildRequires: ghc-unliftio-core-devel BuildRequires: ghc-unordered-containers-devel BuildRequires: ghc-vector-devel BuildRequires: ghc-yaml-devel # hls --version output includes (buildroot) path #BuildRequires: help2man BuildRequires: cabal-install > 1.18 # for missing dep 'HsYAML-aeson': BuildRequires: ghc-HsYAML-devel BuildRequires: ghc-scientific-devel # for missing dep 'ListLike': BuildRequires: ghc-utf8-string-devel # for missing dep 'apply-refact': %if %{defined fedora} BuildRequires: ghc-filemanip-devel %endif BuildRequires: ghc-ghc-paths-devel BuildRequires: ghc-uniplate-devel BuildRequires: ghc-unix-compat-devel # for missing dep 'attoparsec-aeson': BuildRequires: ghc-attoparsec-devel BuildRequires: ghc-primitive-devel BuildRequires: ghc-scientific-devel # for missing dep 'conduit-parse': BuildRequires: ghc-conduit-devel BuildRequires: ghc-parsers-devel BuildRequires: ghc-safe-devel # for missing dep 'constraints-extras': BuildRequires: ghc-constraints-devel # for missing dep 'dependent-sum': %if %{defined fedora} BuildRequires: ghc-some-devel %endif # for missing dep 'extensions': BuildRequires: ghc-Cabal-devel BuildRequires: ghc-colourista-devel BuildRequires: ghc-parsec-devel # for missing dep 'floskell': BuildRequires: ghc-ansi-wl-pprint-devel BuildRequires: ghc-attoparsec-devel %if %{defined fedora} BuildRequires: ghc-haskell-src-exts-devel %endif # for missing dep 'fourmolu': %if %{defined fedora} BuildRequires: ghc-MemoTrie-devel %endif BuildRequires: ghc-ansi-terminal-devel BuildRequires: ghc-file-embed-devel BuildRequires: ghc-scientific-devel BuildRequires: ghc-terminal-size-devel %if %{defined fedora} BuildRequires: ghc-th-env-devel %endif # for missing dep 'fuzzy': %if %{defined fedora} BuildRequires: ghc-monoid-subclasses-devel %endif # for missing dep 'generic-arbitrary': BuildRequires: ghc-QuickCheck-devel # for missing dep 'generic-lens': BuildRequires: ghc-profunctors-devel # for missing dep 'ghcide': BuildRequires: ghc-Glob-devel BuildRequires: ghc-base16-bytestring-devel BuildRequires: ghc-case-insensitive-devel BuildRequires: ghc-cryptohash-sha1-devel BuildRequires: ghc-exceptions-devel %if %{defined fedora} BuildRequires: ghc-fingertree-devel %endif BuildRequires: ghc-gitrev-devel BuildRequires: ghc-haddock-library-devel BuildRequires: ghc-parallel-devel %if %{defined fedora} BuildRequires: ghc-prettyprinter-ansi-terminal-devel %endif BuildRequires: ghc-random-devel # for missing dep 'hie-bios': BuildRequires: ghc-base16-bytestring-devel BuildRequires: ghc-conduit-devel BuildRequires: ghc-conduit-extra-devel BuildRequires: ghc-cryptohash-sha1-devel BuildRequires: ghc-exceptions-devel BuildRequires: ghc-file-embed-devel BuildRequires: ghc-unix-compat-devel # for missing dep 'hiedb': BuildRequires: ghc-ansi-terminal-devel BuildRequires: ghc-ghc-paths-devel %if %{defined fedora} BuildRequires: ghc-lucid-devel BuildRequires: ghc-terminal-size-devel %endif # for missing dep 'hls-graph': BuildRequires: ghc-exceptions-devel BuildRequires: ghc-js-dgtable-devel BuildRequires: ghc-js-flot-devel BuildRequires: ghc-js-jquery-devel # for missing dep 'hls-plugin-api': %if %{defined fedora} BuildRequires: ghc-lens-aeson-devel %endif # for missing dep 'hls-test-utils': BuildRequires: ghc-neat-interpolation-devel BuildRequires: ghc-tasty-devel BuildRequires: ghc-tasty-rerun-devel # for missing dep 'hw-prim': BuildRequires: ghc-mmap-devel # for missing dep 'implicit-hie': BuildRequires: ghc-attoparsec-devel BuildRequires: ghc-filepattern-devel # for missing dep 'integer-conversion': BuildRequires: ghc-primitive-devel # for missing dep 'list-t': %if %{defined fedora} BuildRequires: ghc-logict-devel %endif BuildRequires: ghc-mmorph-devel BuildRequires: ghc-monad-control-devel BuildRequires: ghc-transformers-base-devel # for missing dep 'lsp': BuildRequires: ghc-attoparsec-devel BuildRequires: ghc-exceptions-devel BuildRequires: ghc-lens-aeson-devel # for missing dep 'lsp-test': BuildRequires: ghc-Glob-devel BuildRequires: ghc-ansi-terminal-devel BuildRequires: ghc-conduit-devel BuildRequires: ghc-exceptions-devel BuildRequires: ghc-lens-aeson-devel BuildRequires: ghc-some-devel # for missing dep 'lsp-types': BuildRequires: ghc-QuickCheck-devel BuildRequires: ghc-file-embed-devel BuildRequires: ghc-indexed-traversable-devel %if 0%{defined fedora} BuildRequires: ghc-indexed-traversable-instances-devel %endif BuildRequires: ghc-network-uri-devel BuildRequires: ghc-safe-devel %if %{defined fedora} BuildRequires: ghc-some-devel %endif BuildRequires: ghc-witherable-devel # for missing dep 'mod': %if %{defined fedora} BuildRequires: ghc-ghc-bignum-devel %endif BuildRequires: ghc-primitive-devel # for missing dep 'monad-dijkstra': %if %{defined fedora} BuildRequires: ghc-free-devel BuildRequires: ghc-psqueues-devel %endif # for missing dep 'opentelemetry': BuildRequires: ghc-exceptions-devel # for missing dep 'primitive-extras': BuildRequires: ghc-cereal-devel %if %{defined fedora} BuildRequires: ghc-deferred-folds-devel %endif BuildRequires: ghc-primitive-devel BuildRequires: ghc-profunctors-devel # for missing dep 'primitive-unlifted': BuildRequires: ghc-primitive-devel %if %{defined fedora} BuildRequires: ghc-text-short-devel %endif # for missing dep 'process-extras': BuildRequires: ghc-generic-deriving-devel # for missing dep 'quickcheck-instances': BuildRequires: ghc-OneTuple-devel BuildRequires: ghc-QuickCheck-devel BuildRequires: ghc-case-insensitive-devel BuildRequires: ghc-data-fix-devel BuildRequires: ghc-integer-logarithms-devel BuildRequires: ghc-old-time-devel BuildRequires: ghc-primitive-devel BuildRequires: ghc-scientific-devel BuildRequires: ghc-splitmix-devel BuildRequires: ghc-strict-devel BuildRequires: ghc-tagged-devel BuildRequires: ghc-text-short-devel BuildRequires: ghc-these-devel BuildRequires: ghc-time-compat-devel BuildRequires: ghc-uuid-types-devel # for missing dep 'random-shuffle': %if %{defined fedora} BuildRequires: ghc-MonadRandom-devel %endif BuildRequires: ghc-random-devel # for missing dep 'regex': BuildRequires: ghc-base-compat-devel BuildRequires: ghc-regex-base-devel BuildRequires: ghc-time-locale-compat-devel BuildRequires: ghc-utf8-string-devel # for missing dep 'regex-pcre-builtin': BuildRequires: ghc-regex-base-devel # for missing dep 'retrie': BuildRequires: ghc-ansi-terminal-devel BuildRequires: ghc-ghc-paths-devel %if %{defined fedora} BuildRequires: ghc-haskell-src-exts-devel %endif # for missing dep 'row-types': BuildRequires: ghc-constraints-devel BuildRequires: ghc-profunctors-devel # for missing dep 'sqlite-simple': %if %{defined fedora} BuildRequires: ghc-Only-devel %endif BuildRequires: ghc-attoparsec-devel BuildRequires: ghc-blaze-builder-devel %if %{defined fedora} BuildRequires: ghc-blaze-textual-devel %endif BuildRequires: ghc-exceptions-devel # for missing dep 'stan': %if %{defined fedora} BuildRequires: ghc-base64-devel %endif BuildRequires: ghc-blaze-html-devel %if %{defined fedora} BuildRequires: ghc-colourista-devel %endif BuildRequires: ghc-cryptohash-sha1-devel BuildRequires: ghc-gitrev-devel BuildRequires: ghc-pretty-simple-devel %if %{defined fedora} BuildRequires: ghc-relude-devel %endif # for missing dep 'stm-containers': %if %{defined fedora} BuildRequires: ghc-deferred-folds-devel # for missing dep 'stm-hamt': BuildRequires: ghc-deferred-folds-devel %endif BuildRequires: ghc-primitive-devel # for missing dep 'stylish-haskell': BuildRequires: ghc-Cabal-devel BuildRequires: ghc-HsYAML-devel BuildRequires: ghc-file-embed-devel BuildRequires: ghc-strict-devel # for missing dep 'tasty-expected-failure': BuildRequires: ghc-tagged-devel BuildRequires: ghc-tasty-devel BuildRequires: ghc-unbounded-delays-devel # for missing dep 'tasty-golden': BuildRequires: ghc-tagged-devel BuildRequires: ghc-tasty-devel BuildRequires: ghc-typed-process-devel # for missing dep 'trial': %if %{defined fedora} BuildRequires: ghc-colourista-devel %endif %endif # End cabal-rpm deps %if %[v"%{ghc_version}" < v"9.4"] BuildRequires: gcc-c++ %endif # remove once ghc9.10 updated BuildRequires: numactl-devel %if %[v"%{ghc_version}" > v"9.8"] BuildRequires: cabal-install > 3.10 %elif %[v"%{ghc_version}" > v"9.4"] BuildRequires: cabal-install > 3.8 %elif %[v"%{ghc_version}" > v"9.2"] BuildRequires: cabal-install > 3.6 %elif %[v"%{ghc_version}" > v"9.0"] BuildRequires: cabal-install > 3.4 %else BuildRequires: cabal-install > 3.2 %endif %if %{wrapper_pkg} Requires: haskell-language-server-wrapper = %{version}-%{release} %else Requires: haskell-language-server-wrapper >= %{version} %endif %if %{defined ghc_version} Requires: %{ghc_prefix} = %{ghc_version} %endif Recommends: cabal-install #Recommends: stack %description The Haskell language server (LSP) built for GHC %{ghc_version}. Please see the README on GitHub at . %if %{wrapper_pkg} %package -n haskell-language-server-wrapper Summary: Haskell LSP server wrapper %description -n haskell-language-server-wrapper The Haskell language server (LSP) wrapper Please see the README on GitHub at . %endif %prep # Begin cabal-rpm setup: %setup -q -n %{pkgver} # End cabal-rpm setup %autopatch -p1 cabal-tweak-flag dynamic False %if %[v"%{ghc_version}" < v"9.4"] cabal-tweak-flag hlint False %endif %build # Begin cabal-rpm build: # End cabal-rpm build cabal update %{!?_with_compiler_default:-w ghc-%{ghc_version}} %install %ghc_set_gcc_flags # Begin cabal-rpm install mkdir -p %{buildroot}%{_bindir} cabal install %{!?_with_compiler_default:-w ghc-%{ghc_version}} --install-method=copy --enable-executable-stripping --installdir=%{buildroot}%{_bindir} mv %{buildroot}%{_bindir}/{%{pkg_name},%{executable}} mkdir -p %{buildroot}%{_datadir}/bash-completion/completions/ %{buildroot}%{_bindir}/%{executable} --bash-completion-script %{executable} | sed s/filenames/default/ > %{buildroot}%{_datadir}/bash-completion/completions/%{executable} %if %{wrapper_pkg} %{buildroot}%{_bindir}/haskell-language-server-wrapper --bash-completion-script haskell-language-server-wrapper | sed s/filenames/default/ > %{buildroot}%{_datadir}/bash-completion/completions/haskell-language-server-wrapper %else rm %{buildroot}%{_bindir}/haskell-language-server-wrapper %endif # End cabal-rpm install %files # Begin cabal-rpm files: %license LICENSE %doc ChangeLog.md README.md %{_bindir}/%{executable} %{_datadir}/bash-completion/completions/%{executable} %if %{wrapper_pkg} %files -n haskell-language-server-wrapper %{_bindir}/haskell-language-server-wrapper %{_datadir}/bash-completion/completions/haskell-language-server-wrapper %endif # End cabal-rpm files %changelog * Fri Jul 12 2024 Jens Petersen - 2.9.0.0-1.ghc%{ghc_minor} - https://hackage.haskell.org/package/haskell-language-server-2.9.0.0/changelog * Fri Jul 12 2024 Jens Petersen - 2.8.0.0-1.ghc%{ghc_minor} - https://hackage.haskell.org/package/haskell-language-server-2.8.0.0/changelog * Thu Mar 28 2024 Jens Petersen - 2.7.0.0-1.ghc%{ghc_minor} - https://hackage.haskell.org/package/haskell-language-server-2.7.0.0/changelog * Fri Jan 19 2024 Jens Petersen - 2.6.0.0-1.ghc%{ghc_minor} - https://hackage.haskell.org/package/haskell-language-server-2.6.0.0/changelog * Mon Dec 11 2023 Jens Petersen - 2.5.0.0-1.ghc%{ghc_minor} - https://hackage.haskell.org/package/haskell-language-server-2.5.0.0/changelog * Fri Nov 24 2023 Jens Petersen - 2.4.0.0-3.ghc%{ghc_minor} - build wrapper with ghc9.2 for before Fedora 38 (ie ghc-8.10.7 releases) * Thu Nov 23 2023 Jens Petersen - 2.4.0.0-2.ghc%{ghc_minor} - add ghc minor version suffix to release * Sun Oct 22 2023 Jens Petersen - 2.4.0.0-1 - https://hackage.haskell.org/package/haskell-language-server-2.4.0.0/changelog * Fri Sep 29 2023 Jens Petersen - 2.3.0.0-1 - https://hackage.haskell.org/package/haskell-language-server-2.3.0.0/changelog - Provides haskell-language-server-ghc-X.Y.Z * Sat Aug 12 2023 Jens Petersen - 2.1.0.0-1 - https://hackage.haskell.org/package/haskell-language-server-2.1.0.0/changelog * Tue Aug 8 2023 Jens Petersen - 2.0.0.1-1 - https://hackage.haskell.org/package/haskell-language-server-2.0.0.1/changelog * Tue Jun 13 2023 Jens Petersen - 2.0.0.0-2 - upstream patch for eval plugin Monad constraint * Sat May 20 2023 Jens Petersen - 2.0.0.0-1 - https://hackage.haskell.org/package/haskell-language-server-2.0.0.0/changelog * Sun Apr 2 2023 Jens Petersen - 1.10.0.0-1 - https://hackage.haskell.org/package/haskell-language-server-1.10.0.0/changelog * Sat Feb 25 2023 Jens Petersen - 1.9.1.0-1 - https://hackage.haskell.org/package/haskell-language-server-1.9.1.0/changelog * Tue Dec 27 2022 Jens Petersen - 1.9.0.0-1 - https://github.com/haskell/haskell-language-server/releases/tag/1.9.0.0 - https://hackage.haskell.org/package/haskell-language-server-1.9.0.0/changelog - disable call-hierarchy plugin until Hackage updated * Tue Nov 29 2022 Jens Petersen - 1.8.0.0-4 - fixup obsoletes correctly using ghc_version * Mon Nov 28 2022 Jens Petersen - 1.8.0.0-3 - fix obsoletes for haskell-language-server-8.10.* * Sat Nov 26 2022 Jens Petersen - 1.8.0.0-2 - revert to unversioned binary package name * Sun Sep 18 2022 Jens Petersen - 1.8.0.0-1 - https://hackage.haskell.org/package/haskell-language-server-1.8.0.0/changelog * Thu Apr 28 2022 Jens Petersen - 1.7.0.0-1 - https://hackage.haskell.org/package/haskell-language-server-1.7.0.0/changelog * Mon Jan 31 2022 Jens Petersen - 1.6.1.0-1 - https://hackage.haskell.org/package/haskell-language-server-1.6.1.0/changelog - disable dynamic linking * Tue Nov 30 2021 Jens Petersen - 1.5.1.0-1 - https://hackage.haskell.org/package/haskell-language-server-1.5.1.0/changelog * Wed Oct 13 2021 Jens Petersen - 1.4.0.0-1 - initial packaging