From 78d6ac6f617d3bdb66c1709a17ed974199648b24 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Tue, 16 Aug 2022 18:15:34 +1000 Subject: rename the fork to hcel --- README.org | 28 ++++++--- haskell-code-explorer.cabal | 149 ------------------------------------------- hcel.cabal | 150 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 168 insertions(+), 159 deletions(-) delete mode 100644 haskell-code-explorer.cabal create mode 100644 hcel.cabal diff --git a/README.org b/README.org index f45ec2f..4ca30be 100644 --- a/README.org +++ b/README.org @@ -1,7 +1,7 @@ -#+title: Haskell Code Explorer +#+title: hcel -This is an updated version of [[https://github.com/alexwl/haskell-code-explorer][Haskell Code Explorer]], it works with -GHC-9.2.2 with Cabal-3.6.2.0, and possibly other adjacent versions. +hcel is a fork of [[https://github.com/alexwl/haskell-code-explorer][Haskell Code Explorer]], it works with GHC-9.2.2 with +Cabal-3.6.2.0, and possibly other adjacent versions. * Install @@ -24,7 +24,8 @@ cabal build all haskell-code-indexer -p . #+end_src -After this you can do +After indexing the ./dist-newstyle directory is no longer by hcel and +can be removed to save space. To launch the app, run #+begin_src sh haskell-code-server -p /path/to/package1 -p /path/to/package2 ... @@ -32,9 +33,17 @@ haskell-code-server -p /path/to/package1 -p /path/to/package2 ... and the app will be available at localhost:3000. +You can also hook up a local hoogle for documentation lookup: + +#+begin_src sh +hoogle server +# configure a reverse proxy to hook it up with a domain say https://hoogle.localhost with self-signed cert, then run +haskell-code-server -p /path/to/package1 -p /path/to/package2 --use-hoogle-api --hoogle-api https://hoogle.localhost/ --disable-hoogle-api-cert-check +#+end_src + For the readme of the original version, see README.md.original in the project tree, also available at -https://g.ypei.me/haskell-code-explorer.git/tree/README.md.original. +https://g.ypei.me/hcel.git/tree/README.md.original. * Difference from the original version @@ -48,10 +57,9 @@ about missing files. The original haskell-code-explorer is written by Alexey Kiryushin (alexey.a.kiryushin@gmail.com), hosted at [[https://github.com/alexwl/haskell-code-explorer][github]]. -The port to 9.2.2 is done by Yuchen Pei (id@ypei.org). +This fork is maintained by Yuchen Pei (id@ypei.org). The original work is under the [[https://www.gnu.org/licenses/license-list.html#Expat][expat license]], while the changes by -Yuchen Pei are covered by [[https://www.gnu.org/licenses/agpl-3.0.en.html][GNU AGPLv3+]] and you may find the license -text in a file named COPYING.agpl3 in the project tree. As a -combination, this work as a whole is licensed under [[https://www.gnu.org/licenses/agpl-3.0.en.html][GNU AGPLv3+]] -([[https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean][why?]]). +Yuchen Pei are covered by [[https://www.gnu.org/licenses/agpl-3.0.en.html][GNU AGPLv3+]]. You may find the license text +in a file named COPYING.agpl3 in the project tree. As a combination, +this work as a whole is covered by the terms of [[https://www.gnu.org/licenses/agpl-3.0.en.html][GNU AGPLv3+]] ([[https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean][why?]]). diff --git a/haskell-code-explorer.cabal b/haskell-code-explorer.cabal deleted file mode 100644 index 2d68dfe..0000000 --- a/haskell-code-explorer.cabal +++ /dev/null @@ -1,149 +0,0 @@ -cabal-version: 2.2 -name: haskell-code-explorer -version: 0.1.0.0 -synopsis: Web application for exploring and understanding Haskell codebases -Category: GHC,Web -description: Please see README.org -license: MIT AND AGPL-3.0-or-later -license-files: COPYING.expat, COPYING.agpl3 -author: Alexey Kiryushin and Yuchen Pei -maintainer: alexey.a.kiryushin@gmail.com -build-type: Simple - -library - default-language: Haskell2010 - exposed-modules: HaskellCodeExplorer.PackageInfo - , HaskellCodeExplorer.ModuleInfo - , HaskellCodeExplorer.Types - , HaskellCodeExplorer.Preprocessor - , HaskellCodeExplorer.GhcUtils - , HaskellCodeExplorer.AST.RenamedSource - , HaskellCodeExplorer.AST.TypecheckedSource - hs-source-dirs: src - ghc-options: -Wall -O2 -funbox-strict-fields - build-depends: IntervalMap - , aeson - , attoparsec - , base - , blaze-html - , deepseq - , bytestring - , Cabal - , cabal-helper - , cereal - , containers - , directory - , directory-tree - , exceptions - , filemanip - , filepath - , ghc - , ghc-paths - , hashable - , haddock-library - , mtl - , process - , syb - , uniplate - , text - , unordered-containers - , vector - , fast-logger - , monad-logger - , extra - -executable haskell-code-indexer - main-is: Indexer.hs - ghc-options: -Wall -rtsopts -O2 -funbox-strict-fields - other-modules: Paths_haskell_code_explorer - hs-source-dirs: app - build-depends: IntervalMap - , aeson - , base - , bytestring - , cereal - , directory - , filepath - , optparse-applicative - , text - , time - , unordered-containers - , uri-encode - , fast-logger - , monad-logger - , zlib - , haskell-code-explorer - default-language: Haskell2010 - -executable haskell-code-server - main-is: Server.hs - ghc-options: -Wall -O2 -rtsopts -funbox-strict-fields -threaded - hs-source-dirs: app,src - other-modules: HaskellCodeExplorer.Types, Store - build-depends: IntervalMap - , aeson - , base - , bytestring - , cereal - , connection - , containers - , deepseq - , directory - , filemanip - , filepath - , blaze-html - , text - , unordered-containers - , hashable - , vector - , wai - , syb - , haddock-library - , servant - , servant-server - , mime-types - , mtl - , wai-extra - , wai-middleware-static - , warp - , http-client-tls - , http-types - , http-api-data - , fast-logger - , monad-logger - , optparse-applicative - , data-default - , pagination - , file-embed - , mmap - , lens - , uri-encode - , utf8-string - , lens-aeson - , wreq - if impl(ghc >= 8.4.3) - build-depends: ghc-compact - -test-suite test - default-language: Haskell2010 - type: exitcode-stdio-1.0 - ghc-options: -Wall - hs-source-dirs: test - main-is: Main.hs - build-depends: IntervalMap - , QuickCheck - , attoparsec - , base - , bytestring - , containers - , directory - , filepath - , hspec - , text - , uniplate - , unordered-containers - , monad-logger - , process - , vector - , syb - , haskell-code-explorer diff --git a/hcel.cabal b/hcel.cabal new file mode 100644 index 0000000..13afc51 --- /dev/null +++ b/hcel.cabal @@ -0,0 +1,150 @@ +cabal-version: 2.2 +name: hcel +version: 0.1.0.0 +synopsis: Web application for exploring and understanding Haskell codebases +Category: GHC,Web +description: Please see README.org +license: MIT AND AGPL-3.0-or-later +license-files: COPYING.expat, COPYING.agpl3 +author: Alexey Kiryushin and Yuchen Pei +maintainer: id@ypei.org +build-type: Simple +tested-with: GHC==9.2.* + +library + default-language: Haskell2010 + exposed-modules: HaskellCodeExplorer.PackageInfo + , HaskellCodeExplorer.ModuleInfo + , HaskellCodeExplorer.Types + , HaskellCodeExplorer.Preprocessor + , HaskellCodeExplorer.GhcUtils + , HaskellCodeExplorer.AST.RenamedSource + , HaskellCodeExplorer.AST.TypecheckedSource + hs-source-dirs: src + ghc-options: -Wall -O2 -funbox-strict-fields + build-depends: IntervalMap + , aeson + , attoparsec + , base + , blaze-html + , deepseq + , bytestring + , Cabal + , cabal-helper + , cereal + , containers + , directory + , directory-tree + , exceptions + , filemanip + , filepath + , ghc + , ghc-paths + , hashable + , haddock-library + , mtl + , process + , syb + , uniplate + , text + , unordered-containers + , vector + , fast-logger + , monad-logger + , extra + +executable haskell-code-indexer + main-is: Indexer.hs + ghc-options: -Wall -rtsopts -O2 -funbox-strict-fields + other-modules: Paths_haskell_code_explorer + hs-source-dirs: app + build-depends: IntervalMap + , aeson + , base + , bytestring + , cereal + , directory + , filepath + , optparse-applicative + , text + , time + , unordered-containers + , uri-encode + , fast-logger + , monad-logger + , zlib + , haskell-code-explorer + default-language: Haskell2010 + +executable haskell-code-server + main-is: Server.hs + ghc-options: -Wall -O2 -rtsopts -funbox-strict-fields -threaded + hs-source-dirs: app,src + other-modules: HaskellCodeExplorer.Types, Store + build-depends: IntervalMap + , aeson + , base + , bytestring + , cereal + , connection + , containers + , deepseq + , directory + , filemanip + , filepath + , blaze-html + , text + , unordered-containers + , hashable + , vector + , wai + , syb + , haddock-library + , servant + , servant-server + , mime-types + , mtl + , wai-extra + , wai-middleware-static + , warp + , http-client-tls + , http-types + , http-api-data + , fast-logger + , monad-logger + , optparse-applicative + , data-default + , pagination + , file-embed + , mmap + , lens + , uri-encode + , utf8-string + , lens-aeson + , wreq + if impl(ghc >= 8.4.3) + build-depends: ghc-compact + +test-suite test + default-language: Haskell2010 + type: exitcode-stdio-1.0 + ghc-options: -Wall + hs-source-dirs: test + main-is: Main.hs + build-depends: IntervalMap + , QuickCheck + , attoparsec + , base + , bytestring + , containers + , directory + , filepath + , hspec + , text + , uniplate + , unordered-containers + , monad-logger + , process + , vector + , syb + , haskell-code-explorer -- cgit v1.2.3