cabal-version: 3.4

-- This file has been generated from package.yaml by hpack version 0.35.1.
--
-- see: https://github.com/sol/hpack

name:           gargantext
version: 0.0.7
synopsis:       Search, map, share
description:    Please see README.md
category:       Data
homepage:       https://gargantext.org
author:         Gargantext Team
maintainer:     team@gargantext.org
copyright:      Copyright: (c) 2017-Present: see git logs and README
license:        AGPL-3.0-or-later
license-file:   LICENSE
build-type:     Simple
data-files:
    bench-data/phylo/bpa-config.json
    bench-data/phylo/GarganText_DocsList-nodeId-185487.csv
    bench-data/phylo/GarganText_NgramsList-185488.csv
    bench-data/phylo/issue-290.json
    bench-data/phylo/issue-290-small.json
    devops/postgres/extensions.sql
    devops/postgres/schema.sql
    ekg-assets/index.html
    ekg-assets/monitor.js
    ekg-assets/monitor.css
    ekg-assets/jquery.flot.min.js
    ekg-assets/jquery-1.6.4.min.js
    ekg-assets/bootstrap-1.4.0.min.css
    ekg-assets/chart_line_add.png
    ekg-assets/cross.png
    test-data/ngrams/GarganText_NgramsTerms-QuantumComputing.json
    test-data/ngrams/simple.json
    test-data/ngrams/simple.csv
    test-data/phylo/bpa_phylo_test.json
    test-data/phylo/cleopatre.golden.json
    test-data/phylo/nadal.golden.json
    test-data/phylo/nadal_docslist.golden.csv
    test-data/phylo/nadal_ngramslist.golden.csv
    test-data/phylo/issue-290-small.golden.json
    test-data/phylo/open_science.json
    test-data/phylo/small-phylo.golden.json
    test-data/phylo/small_phylo_docslist.csv
    test-data/phylo/small_phylo_ngramslist.csv
    test-data/phylo/187481.json
    test-data/phylo/phylo2dot2json.golden.json
    test-data/stemming/lancaster.txt
    test-data/test_config.ini
    gargantext-cors-settings.toml
    .clippy.dhall

-- common options
-- https://vrom911.github.io/blog/common-stanzas
common defaults
  default-extensions:
    DataKinds
    DeriveGeneric
    FlexibleContexts
    FlexibleInstances
    GADTs
    GeneralizedNewtypeDeriving
    ImportQualifiedPost
    MultiParamTypeClasses
    NamedFieldPuns
    NoImplicitPrelude
    OverloadedStrings
    RankNTypes
    RecordWildCards
    StrictData
  default-language: Haskell2010
  build-depends:
    base >=4.7 && <5

common optimized
  ghc-options:
    -O2
    -threaded
    -rtsopts
    -with-rtsopts=-N
    -Wmissing-signatures
  
-- When enabled, it swaps the hashing algorithm
-- with a quicker (and less secure) version, which
-- runs faster in tests.
flag test-crypto
  default: False
  manual: True

flag disable-db-obfuscation-executable
  default: False
  manual: True

-- When enabled, it suppresses at compile time the
-- debug output for the phylo code, so that it doesn't
-- hinder its performance.
flag no-phylo-debug-logs
  default: False
  manual: True

library
  import:
    defaults
  exposed-modules:
      Gargantext
      Gargantext.API
      Gargantext.API.Admin.Auth.Types
      Gargantext.API.Admin.EnvTypes
      Gargantext.API.Admin.Orchestrator.Types
      Gargantext.API.Admin.Settings
      Gargantext.API.Admin.Settings.CORS
      Gargantext.API.Admin.Types
      Gargantext.API.Auth.PolicyCheck
      Gargantext.API.Dev
      Gargantext.API.Errors
      Gargantext.API.Errors.Class
      Gargantext.API.Errors.TH
      Gargantext.API.Errors.Types
      Gargantext.API.Errors.Types.Backend
      Gargantext.API.HashedResponse
      Gargantext.API.Middleware
      Gargantext.API.Ngrams
      Gargantext.API.Ngrams.List
      Gargantext.API.Ngrams.List.Types
      Gargantext.API.Ngrams.Prelude
      Gargantext.API.Ngrams.Tools
      Gargantext.API.Ngrams.Types
      Gargantext.API.Node
      Gargantext.API.Node.Corpus.New
      Gargantext.API.Node.Corpus.Types
      Gargantext.API.Node.Corpus.Update
      Gargantext.API.Node.File
      Gargantext.API.Node.Share
      Gargantext.API.Node.Update
      Gargantext.API.Prelude
      Gargantext.API.Routes
      Gargantext.Core
      Gargantext.Core.Mail.Types
      Gargantext.Core.Methods.Similarities
      Gargantext.Core.Methods.Similarities.Conditional
      Gargantext.Core.NLP
      Gargantext.Core.NodeStory
      Gargantext.Core.NodeStory.DB
      Gargantext.Core.NodeStory.Types
      Gargantext.Core.Text
      Gargantext.Core.Text.Context
      Gargantext.Core.Text.Corpus.API
      Gargantext.Core.Text.Corpus.API.Arxiv
      Gargantext.Core.Text.Corpus.API.EPO
      Gargantext.Core.Text.Corpus.API.OpenAlex
      Gargantext.Core.Text.Corpus.API.Pubmed
      Gargantext.Core.Text.Corpus.Parsers
      Gargantext.Core.Text.Corpus.Parsers.CSV
      Gargantext.Core.Text.Corpus.Parsers.Date
      Gargantext.Core.Text.Corpus.Parsers.Date.Parsec
      Gargantext.Core.Text.Corpus.Query
      Gargantext.Core.Text.List
      Gargantext.Core.Text.List.Group.WithStem
      Gargantext.Core.Text.List.Formats.CSV
      Gargantext.Core.Text.Metrics
      Gargantext.Core.Text.Metrics.CharByChar
      Gargantext.Core.Text.Metrics.Count
      Gargantext.Core.Text.Metrics.TFICF
      Gargantext.Core.Text.Ngrams
      Gargantext.Core.Text.Prepare
      Gargantext.Core.Text.Search
      Gargantext.Core.Text.Terms
      Gargantext.Core.Text.Terms.Eleve
      Gargantext.Core.Text.Terms.Mono
      Gargantext.Core.Text.Terms.Mono.Stem
      Gargantext.Core.Text.Terms.Mono.Stem.Internal.GargPorter
      Gargantext.Core.Text.Terms.Mono.Stem.Internal.Lancaster
      Gargantext.Core.Text.Terms.Mono.Stem.Internal.Porter
      Gargantext.Core.Text.Terms.Multi
      Gargantext.Core.Text.Terms.Multi.Lang.En
      Gargantext.Core.Text.Terms.Multi.Lang.Fr
      Gargantext.Core.Text.Terms.Multi.RAKE
      Gargantext.Core.Text.Terms.WithList
      Gargantext.Core.Types
      Gargantext.Core.Types.Individu
      Gargantext.Core.Types.Main
      Gargantext.Core.Types.Phylo
      Gargantext.Core.Types.Query
      Gargantext.Core.Utils
      Gargantext.Core.Utils.Prefix
      Gargantext.Core.Viz.Graph
      Gargantext.Core.Viz.Graph.Index
      Gargantext.Core.Viz.Graph.Tools
      Gargantext.Core.Viz.Graph.Tools.IGraph
      Gargantext.Core.Viz.Graph.Types
      Gargantext.Core.Viz.Phylo
      Gargantext.Core.Viz.Phylo.API
      Gargantext.Core.Viz.Phylo.API.Tools
      Gargantext.Core.Viz.Phylo.Example
      Gargantext.Core.Viz.Phylo.PhyloExport
      Gargantext.Core.Viz.Phylo.PhyloMaker
      Gargantext.Core.Viz.Phylo.PhyloTools
      Gargantext.Core.Viz.Phylo.SynchronicClustering
      Gargantext.Core.Viz.Types
      Gargantext.Database.Action.Flow
      Gargantext.Database.Action.Flow.Types
      Gargantext.Database.Action.Metrics.TFICF
      Gargantext.Database.Action.Search
      Gargantext.Database.Action.User
      Gargantext.Database.Action.User.New
      Gargantext.Database.Admin.Config
      Gargantext.Database.Admin.Trigger.Init
      Gargantext.Database.Admin.Types.Hyperdata
      Gargantext.Database.Admin.Types.Hyperdata.Corpus
      Gargantext.Database.Admin.Types.Hyperdata.Document
      Gargantext.Database.Admin.Types.Node
      Gargantext.Database.Prelude
      Gargantext.Database.Query.Facet
      Gargantext.Database.Query.Table.Ngrams
      Gargantext.Database.Query.Table.NgramsPostag
      Gargantext.Database.Query.Table.Node
      Gargantext.Database.Query.Table.Node.Error
      Gargantext.Database.Query.Table.Node.UpdateOpaleye
      Gargantext.Database.Query.Table.User
      Gargantext.Database.Query.Tree.Root
      Gargantext.Database.Schema.Ngrams
      Gargantext.Database.Schema.Node
      Gargantext.Database.Schema.User
      Gargantext.Defaults
      Gargantext.System.Logging
      Gargantext.Utils.Dict
      Gargantext.Utils.Jobs
      Gargantext.Utils.Jobs.Error
      Gargantext.Utils.Jobs.Internal
      Gargantext.Utils.Jobs.Map
      Gargantext.Utils.Jobs.Monad
      Gargantext.Utils.Jobs.Queue
      Gargantext.Utils.Jobs.Settings
      Gargantext.Utils.Jobs.State
      Gargantext.Utils.SpacyNLP
      Gargantext.Utils.SpacyNLP.Types
      Gargantext.Utils.Tuple
      Gargantext.Utils.Zip
  other-modules:
      Gargantext.API.Admin.Auth
      Gargantext.API.Admin.FrontEnd
      Gargantext.API.Admin.Orchestrator
      Gargantext.API.Admin.Orchestrator.Scrapy.Schedule
      Gargantext.API.Admin.Utils
      Gargantext.API.Context
      Gargantext.API.Count
      Gargantext.API.EKG
      Gargantext.API.Flow
      Gargantext.API.GraphQL
      Gargantext.API.GraphQL.Annuaire
      Gargantext.API.GraphQL.AsyncTask
      Gargantext.API.GraphQL.Context
      Gargantext.API.GraphQL.IMT
      Gargantext.API.GraphQL.NLP
      Gargantext.API.GraphQL.Node
      Gargantext.API.GraphQL.PolicyCheck
      Gargantext.API.GraphQL.Team
      Gargantext.API.GraphQL.TreeFirstLevel
      Gargantext.API.GraphQL.Types
      Gargantext.API.GraphQL.User
      Gargantext.API.GraphQL.UserInfo
      Gargantext.API.GraphQL.Utils
      Gargantext.API.Job
      Gargantext.API.Members
      Gargantext.API.Metrics
      Gargantext.API.Ngrams.NgramsTree
      Gargantext.API.Node.Contact
      Gargantext.API.Node.Corpus.Annuaire
      Gargantext.API.Node.Corpus.Export
      Gargantext.API.Node.Corpus.Export.Types
      Gargantext.API.Node.Corpus.New.File
      Gargantext.API.Node.Corpus.New.Types
      Gargantext.API.Node.Corpus.Searx
      Gargantext.API.Node.Document.Export
      Gargantext.API.Node.Document.Export.Types
      Gargantext.API.Node.DocumentUpload
      Gargantext.API.Node.DocumentsFromWriteNodes
      Gargantext.API.Node.FrameCalcUpload
      Gargantext.API.Node.Get
      Gargantext.API.Node.New
      Gargantext.API.Node.Types
      Gargantext.API.Public
      Gargantext.API.Search
      Gargantext.API.Server
      Gargantext.API.Swagger
      Gargantext.API.Table
      Gargantext.API.ThrowAll
      Gargantext.API.Types
      Gargantext.Core.Ext.IMT
      Gargantext.Core.Ext.IMTUser
      Gargantext.Core.Flow.Ngrams
      Gargantext.Core.Flow.Types
      Gargantext.Core.Mail
      Gargantext.Core.Methods.Graph.BAC.Proxemy
      Gargantext.Core.Methods.Graph.MaxClique
      Gargantext.Core.Methods.Matrix.Accelerate.Utils
      Gargantext.Core.Methods.Similarities.Accelerate.Conditional
      Gargantext.Core.Methods.Similarities.Accelerate.Distributional
      Gargantext.Core.Methods.Similarities.Accelerate.SpeGen
      Gargantext.Core.Methods.Similarities.Distributional
      Gargantext.Core.Statistics
      Gargantext.Core.Text.Convert
      Gargantext.Core.Text.Corpus.API.Hal
      Gargantext.Core.Text.Corpus.API.Isidore
      Gargantext.Core.Text.Corpus.API.Istex
      Gargantext.Core.Text.Corpus.Parsers.Book
      Gargantext.Core.Text.Corpus.Parsers.Date.Attoparsec
      Gargantext.Core.Text.Corpus.Parsers.FrameWrite
      Gargantext.Core.Text.Corpus.Parsers.Gitlab
      Gargantext.Core.Text.Corpus.Parsers.GrandDebat
      Gargantext.Core.Text.Corpus.Parsers.Iramuteq
      Gargantext.Core.Text.Corpus.Parsers.Isidore
      Gargantext.Core.Text.Corpus.Parsers.JSON
      Gargantext.Core.Text.Corpus.Parsers.JSON.Istex
      Gargantext.Core.Text.Corpus.Parsers.Json2Csv
      Gargantext.Core.Text.Corpus.Parsers.RIS
      Gargantext.Core.Text.Corpus.Parsers.RIS.Presse
      Gargantext.Core.Text.Corpus.Parsers.Telegram
      Gargantext.Core.Text.Corpus.Parsers.WOS
      Gargantext.Core.Text.Corpus.Parsers.Wikidata
      Gargantext.Core.Text.Corpus.Parsers.Wikidata.Crawler
      Gargantext.Core.Text.Corpus.Parsers.Wikimedia
      Gargantext.Core.Text.Learn
      Gargantext.Core.Text.List.Group
      Gargantext.Core.Text.List.Group.Prelude
      Gargantext.Core.Text.List.Group.WithScores
      Gargantext.Core.Text.List.Learn
      Gargantext.Core.Text.List.Merge
      Gargantext.Core.Text.List.Social
      Gargantext.Core.Text.List.Social.Find
      Gargantext.Core.Text.List.Social.Patch
      Gargantext.Core.Text.List.Social.Prelude
      Gargantext.Core.Text.Metrics.FrequentItemSet
      Gargantext.Core.Text.Metrics.SpeGen.IncExc
      Gargantext.Core.Text.Metrics.Utils
      Gargantext.Core.Text.Samples.DE
      Gargantext.Core.Text.Samples.EN
      Gargantext.Core.Text.Samples.ES
      Gargantext.Core.Text.Samples.FR
      Gargantext.Core.Text.Samples.PL
      Gargantext.Core.Text.Samples.ZH
      Gargantext.Core.Text.Terms.Mono.Token
      Gargantext.Core.Text.Terms.Mono.Token.En
      Gargantext.Core.Text.Terms.Multi.Group
      Gargantext.Core.Text.Terms.Multi.PosTagging
      Gargantext.Core.Text.Terms.Multi.PosTagging.Types
      Gargantext.Core.Text.Upload
      Gargantext.Core.Types.Search
      Gargantext.Core.Utils.DateUtils
      Gargantext.Core.Viz
      Gargantext.Core.Viz.Chart
      Gargantext.Core.Viz.Graph.API
      Gargantext.Core.Viz.Graph.Bridgeness
      Gargantext.Core.Viz.Graph.FGL
      Gargantext.Core.Viz.Graph.GEXF
      Gargantext.Core.Viz.Graph.Legend
      Gargantext.Core.Viz.Graph.PatriciaTreeTypes
      Gargantext.Core.Viz.Graph.Tools.Infomap
      Gargantext.Core.Viz.Graph.Utils
      Gargantext.Core.Viz.LegacyPhylo
      Gargantext.Core.Viz.Phylo.Legacy.LegacyMain
      Gargantext.Core.Viz.Phylo.TemporalMatching
      Gargantext.Data.HashMap.Strict.Utils
      Gargantext.Database
      Gargantext.Database.Action.Delete
      Gargantext.Database.Action.Flow.Annuaire
      Gargantext.Database.Action.Flow.Extract
      Gargantext.Database.Action.Flow.List
      Gargantext.Database.Action.Flow.Pairing
      Gargantext.Database.Action.Flow.Utils
      Gargantext.Database.Action.Index
      Gargantext.Database.Action.Learn
      Gargantext.Database.Action.Mail
      Gargantext.Database.Action.Metrics
      Gargantext.Database.Action.Metrics.Lists
      Gargantext.Database.Action.Metrics.NgramsByContext
      Gargantext.Database.Action.Node
      Gargantext.Database.Action.Share
      Gargantext.Database.Action.TSQuery
      Gargantext.Database.Admin.Access
      Gargantext.Database.Admin.Bashql
      Gargantext.Database.Admin.Trigger.ContextNodeNgrams
      Gargantext.Database.Admin.Trigger.Contexts
      Gargantext.Database.Admin.Trigger.NodesContexts
      Gargantext.Database.Admin.Types.Hyperdata.Any
      Gargantext.Database.Admin.Types.Hyperdata.Contact
      Gargantext.Database.Admin.Types.Hyperdata.CorpusField
      Gargantext.Database.Admin.Types.Hyperdata.Dashboard
      Gargantext.Database.Admin.Types.Hyperdata.Default
      Gargantext.Database.Admin.Types.Hyperdata.File
      Gargantext.Database.Admin.Types.Hyperdata.Folder
      Gargantext.Database.Admin.Types.Hyperdata.Frame
      Gargantext.Database.Admin.Types.Hyperdata.List
      Gargantext.Database.Admin.Types.Hyperdata.Model
      Gargantext.Database.Admin.Types.Hyperdata.Phylo
      Gargantext.Database.Admin.Types.Hyperdata.Prelude
      Gargantext.Database.Admin.Types.Hyperdata.Texts
      Gargantext.Database.Admin.Types.Hyperdata.User
      Gargantext.Database.Admin.Types.Metrics
      Gargantext.Database.GargDB
      Gargantext.Database.Query
      Gargantext.Database.Query.Facet.Types
      Gargantext.Database.Query.Filter
      Gargantext.Database.Query.Join
      Gargantext.Database.Query.Prelude
      Gargantext.Database.Query.Table.Context
      Gargantext.Database.Query.Table.ContextNodeNgrams
      Gargantext.Database.Query.Table.ContextNodeNgrams2
      Gargantext.Database.Query.Table.Node.Children
      Gargantext.Database.Query.Table.Node.Contact
      Gargantext.Database.Query.Table.Node.Document.Add
      Gargantext.Database.Query.Table.Node.Document.Insert
      Gargantext.Database.Query.Table.Node.Select
      Gargantext.Database.Query.Table.Node.Update
      Gargantext.Database.Query.Table.Node.User
      Gargantext.Database.Query.Table.NodeContext
      Gargantext.Database.Query.Table.NodeContext_NodeContext
      Gargantext.Database.Query.Table.NodeNgrams
      Gargantext.Database.Query.Table.NodeNode
      Gargantext.Database.Query.Table.NodeNodeNgrams
      Gargantext.Database.Query.Table.Node_NodeNgramsNodeNgrams
      Gargantext.Database.Query.Table.NodesNgramsRepo
      Gargantext.Database.Query.Tree
      Gargantext.Database.Query.Tree.Error
      Gargantext.Database.Schema.Context
      Gargantext.Database.Schema.ContextNodeNgrams
      Gargantext.Database.Schema.ContextNodeNgrams2
      Gargantext.Database.Schema.NgramsPostag
      Gargantext.Database.Schema.NodeContext
      Gargantext.Database.Schema.NodeContext_NodeContext
      Gargantext.Database.Schema.NodeNgrams
      Gargantext.Database.Schema.NodeNode
      Gargantext.Database.Schema.NodeNodeNgrams
      Gargantext.Database.Schema.NodeNodeNgrams2
      Gargantext.Database.Schema.Node_NodeNgramsNodeNgrams
      Gargantext.Database.Schema.NodesNgramsRepo
      Gargantext.Database.Schema.Prelude
      Gargantext.Database.Types
      Gargantext.Utils.Aeson
      Gargantext.Utils.JohnSnowNLP
      Gargantext.Utils.Servant
      Gargantext.Utils.UTCTime
      Paths_gargantext
  ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wmissing-signatures -Wunused-binds -Wunused-imports -Werror -freduction-depth=300 -fprint-potential-instances
  hs-source-dirs:
      src
  if flag(test-crypto)
    cpp-options: -DTEST_CRYPTO
  if flag(no-phylo-debug-logs)
    cpp-options: -DNO_PHYLO_DEBUG_LOGS
  build-depends:
      HSvm ^>= 0.1.1.3.22
    , KMP ^>= 0.2.0.0
    , MissingH ^>= 1.4.3.0
    , MonadRandom ^>= 0.5.3
    , QuickCheck ^>= 2.14.2
    , Unique ^>= 0.4.7.8
    , accelerate ^>= 1.3.0.0
    , accelerate-arithmetic ^>= 1.0.0.1
    , accelerate-llvm-native ^>= 1.3.0.0
    , accelerate-utility ^>= 1.0.0.1
    , aeson >= 2.0.3 && < 2.3
    , aeson-pretty ^>= 0.8.9
    , ansi-terminal
    , array ^>= 0.5.4.0
    , async ^>= 2.2.4
    , attoparsec ^>= 0.13.2.5
    , auto-update ^>= 0.1.6
    , base16-bytestring ^>= 1.0.2.0
    , base64-bytestring ^>= 1.1.0.0
    , bimap >= 0.5.0
    , blaze-html ^>= 0.9.1.2
    , blaze-markup ^>= 0.8.2.8
    , blaze-svg ^>= 0.3.6.1
    , boolexpr ^>= 0.2
    , bytestring ^>= 0.10.12.0
    , case-insensitive ^>= 1.2.1.0
    , cassava ^>= 0.5.2.0
    , cborg ^>= 0.2.6.0
    , cereal ^>= 0.5.8.2
    , conduit ^>= 1.3.4.2
    , conduit-extra ^>= 1.3.5
    , containers ^>= 0.6.5.1
    , contravariant ^>= 1.5.5
    , crawlerArxiv
    , crawlerHAL
    , crawlerISTEX
    , crawlerIsidore
    , crawlerPubMed
    , cron ^>= 0.7.0
    , cryptohash ^>= 0.11.9
    , data-time-segment ^>= 0.1.0.0
    , deepseq ^>= 1.4.4.0
    , directory ^>= 1.3.6.0
    , discrimination >= 0.5
    , ekg-core ^>= 0.1.1.7
    , ekg-json ^>= 0.1.0.7
    , epo-api-client
    , exceptions ^>= 0.10.4
    , extra ^>= 1.7.9
    , fast-logger ^>= 3.0.5
    , fclabels ^>= 2.0.5
    , fgl ^>= 5.7.0.3
    , filelock ^>= 0.1.1.5
    , filepath ^>= 1.4.2.1
    , fmt
    , formatting ^>= 7.1.3
    , full-text-search ^>= 0.2.1.4
    , fullstop ^>= 0.1.4
    , gargantext-graph >=0.1.0.0
    , gargantext-prelude
    , graphviz ^>= 2999.20.1.0
    , hashable ^>= 1.3.0.0
    , haskell-igraph ^>= 0.10.4
    , hlcm ^>= 0.2.2
    , hsinfomap ^>= 0.1
    , hsparql ^>= 0.3.8
    , hstatistics ^>= 0.3.1
    , http-api-data ^>= 0.4.2
    , http-client ^>= 0.6.4.1
    , http-client-tls ^>= 0.3.5.3
    , http-conduit >= 2.3.8.3 && < 2.3.9
    , http-media ^>= 0.8.0.0
    , http-types ^>= 0.12.3
    , hxt ^>= 9.3.1.22
    , ihaskell >= 0.11.0.0
    -- necessary for ihaskell to build
    , ipython-kernel >= 0.11.0.0
    , ini ^>= 0.4.1
    , insert-ordered-containers ^>= 0.2.5.1
    , iso639
    , jose ^>= 0.8.4
    , json-stream ^>= 0.4.2.4
    , lens ^>= 4.19.2
    , lens-aeson < 1.3
    , lifted-base ^>= 0.2.3.12
    , listsafe ^>= 0.1.0.1
    , llvm-hs >= 12.0.0
    , located-base ^>= 0.1.1.1
    , logging-effect ^>= 1.3.12
    , matrix ^>= 0.3.6.1
    , monad-control ^>= 1.0.3.1
    , monad-logger ^>= 0.3.36
    , morpheus-graphql >= 0.27.0 && < 0.28
    , morpheus-graphql-app >= 0.27.0 && < 0.28
    , morpheus-graphql-client >= 0.27.0 && < 0.28
    , morpheus-graphql-code-gen >= 0.27.0 && < 0.28
    , morpheus-graphql-code-gen-utils >= 0.27.0 && < 0.28
    , morpheus-graphql-core >= 0.27.0 && < 0.28
    , morpheus-graphql-server >= 0.27.0 && < 0.28
    , morpheus-graphql-subscriptions >= 0.27.0 && < 0.28
    , morpheus-graphql-tests >= 0.27.0 && < 0.28
    , mtl ^>= 2.2.2
    , natural-transformation ^>= 0.4
    , network-uri ^>= 2.6.4.1
    , opaleye ^>= 0.9.6.1
    , opaleye-textsearch >= 0.1.0.0
    , openalex
    , pandoc ^>= 2.14.0.3
    , parallel ^>= 3.2.2.0
    , parsec ^>= 3.1.14.0
    , patches-class ^>= 0.1.0.1
    , patches-map ^>= 0.1.0.1
    , path ^>= 0.8.0
    , path-io ^>= 1.6.3
    , postgresql-simple ^>= 0.6.4
    , pretty-simple ^>= 4.0.0.0
    , probability ^>= 0.2.7
    , process ^>= 1.6.13.2
    , product-profunctors ^>= 0.11.0.3
    , profunctors ^>= 5.6.2
    , protolude ^>= 0.3.3
    , pureMD5 ^>= 2.1.4
    , quickcheck-instances ^>= 0.3.25.2
    , rake ^>= 0.0.1
    , random ^>= 1.2.1
    , rdf4h ^>= 3.1.1
    , regex-compat ^>= 0.95.2.1
    , regex-tdfa ^>= 1.3.1.2
    , replace-attoparsec ^>= 1.4.5.0
    , resource-pool ^>= 0.2.3.2
    , resourcet ^>= 1.2.4.3
    , safe ^>= 0.3.19
    , scientific ^>= 0.3.7.0
    , semigroups ^>= 0.19.2
    , serialise ^>= 0.2.4.0
    , servant >= 0.18.3 && < 0.20
    , servant-auth ^>= 0.4.0.0
    , servant-auth-client ^>= 0.4.1.0
    , servant-auth-server ^>=0.4.6.0
    , servant-auth-swagger ^>= 0.2.10.1
    , servant-blaze ^>= 0.9.1
    , servant-cassava ^>= 0.10.1
    , servant-client >= 0.18.3 && < 0.20
    , servant-client-core >= 0.18.3 && < 0.20
    , servant-ekg ^>= 0.3.1
    , servant-flatten ^>= 0.2
    , servant-job >= 0.2.0.0
    , servant-multipart ^>= 0.12.1
    -- , servant-routes
    , servant-server >= 0.18.3 && < 0.20
    , servant-swagger ^>= 1.1.10
    , servant-swagger-ui ^>= 0.3.5.3.5.0
    , servant-xml-conduit >= 0.1.0.4
    , simple-reflect ^>= 0.3.3
    , singletons ^>= 2.7
    , singletons-th >= 3.1
    , split ^>= 0.2.3.4
    , stemmer ^>= 0.5.2
    , stm ^>= 2.5.0.1
    , swagger2 ^>= 2.6
    , taggy-lens ^>= 0.1.2
    , tagsoup ^>= 0.14.8
    , template-haskell ^>= 2.16.0.0
    , temporary ^>= 1.3
    , text ^>= 1.2.4.1
    , text-conversions ^>= 0.3.1
    , text-metrics ^>= 0.3.2
    , time ^>= 1.9.3
    , time-locale-compat ^>= 0.1.1.5
    , timezone-series ^>= 0.1.13
    , transformers ^>= 0.5.6.2
    , transformers-base ^>= 0.4.6
    , tree-diff
    , tomland >= 1.3.3.2
    , tuple ^>= 0.3.0.2
    , unordered-containers ^>= 0.2.16.0
    , unicode-collation >= 0.1.3.5 && < 0.2
    , uri-encode ^>= 1.5.0.7
    , utf8-string ^>= 1.0.2
    , uuid ^>= 1.3.15
    , validity >= 0.12.0 && < 0.13
    , vector >= 0.13.0 && < 0.13.2
    , wai >= 3.2.4
    , wai-app-static ^>= 3.1.7.3
    , wai-cors ^>= 0.2.7
    , wai-extra ^>= 3.1.8
    , wai-websockets ^>= 3.0.1.2
    , warp ^>= 3.3.20
    , websockets ^>= 0.12.7.3
    , wreq ^>= 0.5.3.3
    , xml-conduit ^>= 1.9.1.3
    , xml-types ^>= 0.3.8
    , yaml ^>= 0.11.8.0
    , zip ^>= 1.7.2
    , zip-archive ^>= 0.4.3
    , zlib ^>= 0.6.2.3

executable gargantext-admin
  import:
      defaults
    , optimized
  main-is: Main.hs
  other-modules:
      Paths_gargantext
  hs-source-dirs:
      bin/gargantext-admin
  build-depends:
      extra
    , gargantext
    , gargantext-prelude
    , text

executable gargantext-cli
  import:
      defaults
    , optimized
  main-is: Main.hs
  other-modules:
      CleanCsvCorpus
      Paths_gargantext
  hs-source-dirs:
      bin/gargantext-cli
  build-depends:
      aeson >= 2.0.3 && < 2.3
    , async ^>= 2.2.4
    , bytestring ^>= 0.10.12.0
    , cassava ^>= 0.5.2.0
    , containers ^>= 0.6.5.1
    , extra ^>= 1.7.9
    , full-text-search ^>= 0.2.1.4
    , gargantext
    , gargantext-prelude
    , ini ^>= 0.4.1
    , optparse-generic ^>= 1.4.7
    , protolude ^>= 0.3.3
    , split ^>= 0.2.3.4
    , text ^>= 1.2.4.1
    , unordered-containers ^>= 0.2.16.0
    , vector >= 0.13.0 && < 0.13.2

executable gargantext-db-obfuscation
  import:
      defaults
    , optimized
  main-is: Main.hs
  other-modules:
      Paths_gargantext
  hs-source-dirs:
      bin/gargantext-db-obfuscation
  if flag(disable-db-obfuscation-executable)
    buildable: False
  else
    build-depends:
        extra
      , gargantext
      , gargantext-prelude
      , optparse-simple
      , postgresql-simple ^>= 0.6.4
      , text

executable gargantext-import
  import:
      defaults
    , optimized
  main-is: Main.hs
  default-extensions:
    TypeOperators
  other-modules:
      Paths_gargantext
  hs-source-dirs:
      bin/gargantext-import
  build-depends:
      extra ^>= 1.7.9
    , gargantext
    , gargantext-prelude
    , servant-server ^>= 0.18.3
    , text ^>= 1.2.4.1

executable gargantext-init
  import:
      defaults
    , optimized
  main-is: Main.hs
  other-modules:
      Paths_gargantext
  hs-source-dirs:
      bin/gargantext-init
  build-depends:
      cron ^>= 0.7.0
    , extra ^>= 1.7.9
    , gargantext
    , gargantext-prelude
    , text ^>= 1.2.4.1

executable gargantext-invitations
  import:
      defaults
    , optimized
  main-is: Main.hs
  other-modules:
      Paths_gargantext
  hs-source-dirs:
      bin/gargantext-invitations
  build-depends:
      extra ^>= 1.7.9
    , gargantext
    , gargantext-prelude
    , text ^>= 1.2.4.1

executable gargantext-phylo
  import:
      defaults
    , optimized
  main-is: Main.hs
  other-modules:
      Paths_gargantext
      Common
  hs-source-dirs:
      bin/gargantext-phylo bin/gargantext-phylo/Phylo
  default-extensions:
      DataKinds
      DeriveGeneric
      FlexibleContexts
      FlexibleInstances
      GADTs
      GeneralizedNewtypeDeriving
      ImportQualifiedPost
      MultiParamTypeClasses
      NamedFieldPuns
      NoImplicitPrelude
      OverloadedStrings
      RankNTypes
      RecordWildCards
      StrictData
  ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2 -Wmissing-signatures
  build-depends:
      aeson >= 2.0.3 && < 2.3
    , async ^>= 2.2.4
    , bytestring ^>= 0.10.12.0
    , cassava ^>= 0.5.2.0
    , containers ^>= 0.6.5.1
    , cryptohash ^>= 0.11.9
    , directory ^>= 1.3.6.0
    , extra ^>= 1.7.9
    , gargantext
    , gargantext-prelude
    , ini ^>= 0.4.1
    , optparse-generic ^>= 1.4.7
    , parallel ^>= 3.2.2.0
    , split ^>= 0.2.3.4
    , text ^>= 1.2.4.1
    , time ^>= 1.9.3
    , unordered-containers ^>= 0.2.16.0
    , vector >= 0.13.0 && < 0.13.2

executable gargantext-server
  import:
      defaults
    , optimized
  main-is: Main.hs
  other-modules:
      Paths_gargantext
  hs-source-dirs:
      bin/gargantext-server
  build-depends:
      cassava ^>= 0.5.2.0
    , containers ^>= 0.6.5.1
    , extra ^>= 1.7.9
    , full-text-search ^>= 0.2.1.4
    , gargantext
    , gargantext-prelude
    , ini ^>= 0.4.1
    , optparse-generic ^>= 1.4.7
    , postgresql-simple ^>= 0.6.4
    , text ^>= 1.2.4.1
    , unordered-containers ^>= 0.2.16.0
    , vector >= 0.13.0 && < 0.13.2

executable gargantext-upgrade
  import:
      defaults
    , optimized
  main-is: Main.hs
  other-modules:
      Paths_gargantext
  hs-source-dirs:
      bin/gargantext-upgrade
  build-depends:
      cron ^>= 0.7.0
    , extra ^>= 1.7.9
    , gargantext
    , gargantext-prelude
    , postgresql-simple ^>= 0.6.4
    , text ^>= 1.2.4.1

executable gargantext-workers
  import:
      defaults
    , optimized
  main-is: Main.hs
  other-modules:
      Paths_gargantext
  hs-source-dirs:
      bin/gargantext-workers
  build-depends:
    , gargantext
    , gargantext-prelude
    , odd-jobs >=0.2.2 && < 0.3

--     -- | cabal gen-bounds for odd-jobs  
--     , aeson >= 2.0.3 && < 2.1
--     , bytestring >= 0.11.4 && < 0.12
--     , containers >= 0.6.5 && < 0.7
--     , directory >= 1.3.6 && < 1.4
--     , either >= 5.0.2 && < 5.1
--     , fast-logger >= 3.1.2 && < 3.2
--     , filepath >= 1.4.2 && < 1.5
--     , foreign-store >= 0.2 && < 0.3
--     , friendly-time >= 0.4.1 && < 0.5
--     , generic-deriving >= 1.14.4 && < 1.15
--     , hdaemonize >= 0.5.6 && < 0.6
--     , hostname >= 1.0 && < 1.1
--     , lucid >= 2.11.20230408 && < 2.12
--     , monad-control >= 1.0.3 && < 1.1
--     , monad-logger >= 0.3.40 && < 0.4
--     , mtl >= 2.2.2 && < 2.3
--     , optparse-applicative >= 0.17.1 && < 0.18
--     , postgresql-simple >= 0.6.4 && < 0.7
--     , resource-pool >= 0.4.0 && < 0.5
--     , safe >= 0.3.19 && < 0.4
--     , servant >= 0.19.1 && < 0.20
--     , servant-lucid >= 0.9.0 && < 0.10
--     , servant-server >= 0.19.2 && < 0.20
--     , servant-static-th >= 1.0.0 && < 1.1
--     , string-conv >= 0.2.0 && < 0.3
--     , text >= 1.2.5 && < 1.3
--     , text-conversions >= 0.3.1 && < 0.4
--     , time >= 1.11.1 && < 1.12
--     , timing-convenience >= 0.1 && < 0.2
--     , unix >= 2.7.2 && < 2.8
--     , unliftio >= 0.2.25 && < 0.3
--     , unliftio-core >= 0.2.1 && < 0.3
--     , unordered-containers >= 0.2.19 && < 0.3
--     , wai >= 3.2.3 && < 3.3
--     , warp >= 3.3.23 && < 3.4

test-suite garg-test-tasty
  import:
    defaults
  type: exitcode-stdio-1.0
  main-is: drivers/tasty/Main.hs
  other-modules:
      Test.API.Routes
      Common
      Test.API.Setup
      Test.Core.Similarity
      Test.Core.Text
      Test.Core.Text.Corpus.Query
      Test.Core.Text.Examples
      Test.Core.Text.Flow
      Test.Core.Utils
      Test.Database.Operations
      Test.Database.Operations.DocumentSearch
      Test.Database.Operations.NodeStory
      Test.Database.Setup
      Test.Database.Types
      Test.Graph.Clustering
      Test.Graph.Distance
      Test.Ngrams.Lang
      Test.Ngrams.Lang.En
      Test.Ngrams.Lang.Fr
      Test.Ngrams.Lang.Occurrences
      Test.Ngrams.Metrics
      Test.Ngrams.NLP
      Test.Ngrams.Query
      Test.Ngrams.Query.PaginationCorpus
      Test.Offline.Errors
      Test.Offline.JSON
      Test.Offline.Phylo
      Test.Offline.Stemming.Lancaster
      Test.Parsers.Date
      Test.Parsers.Types
      Test.Parsers.WOS
      Test.Types
      Test.Utils
      Test.Utils.Crypto
      Test.Utils.Jobs
      Paths_gargantext
  hs-source-dirs:
      test bin/gargantext-phylo/Phylo
  ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      QuickCheck ^>= 2.14.2
    , aeson >= 2.0.3 && < 2.3
    , aeson-pretty ^>= 0.8.9
    , aeson-qq
    , async ^>= 2.2.4
    , boolexpr ^>= 0.2
    , bytestring ^>= 0.10.12.0
    , case-insensitive
    , conduit ^>= 1.3.4.2
    , containers ^>= 0.6.5.1
    , crawlerArxiv
    , cryptohash
    , directory
    , extra ^>= 1.7.9
    , fast-logger ^>= 3.0.5
    , fmt
    , gargantext
    , gargantext-prelude
    , graphviz ^>= 2999.20.1.0
    , hspec ^>= 2.7.10
    , hspec-core
    , hspec-expectations >= 0.8 && < 0.9
    , hspec-wai
    , hspec-wai-json
    , http-api-data
    , http-client ^>= 0.6.4.1
    , http-client-tls ^>= 0.3.5.3
    , http-types
    , lens >= 5.2.2 && < 5.3
    , monad-control >= 1.0.3 && < 1.1
    , mtl ^>= 2.2.2
    , network-uri
    , parsec ^>= 3.1.14.0
    , patches-class ^>= 0.1.0.1
    , patches-map ^>= 0.1.0.1
    , postgres-options >= 0.2 && < 0.3
    , postgresql-simple >= 0.6.4 && < 0.7
    , pretty
    , process ^>= 1.6.13.2
    , quickcheck-instances ^>= 0.3.25.2
    , raw-strings-qq
    , recover-rtti >= 0.4 && < 0.5
    , resource-pool >= 0.2.3.2 && < 0.2.4
    , servant-auth
    , servant-auth
    , servant-auth-client
    , servant-client
    , servant-client-core
    , servant-job
    , servant-server
    , shelly >= 1.9 && < 2
    , stm ^>= 2.5.0.1
    , split
    , tasty ^>= 1.4.2.1
    , tasty-golden
    , tasty-hspec
    , tasty-hunit
    , tasty-quickcheck
    , tasty-smallcheck
    , template-haskell
    , text ^>= 1.2.4.1
    , time ^>= 1.9.3
    , tmp-postgres >= 1.34.1 && < 1.35
    , tree-diff
    , unordered-containers ^>= 0.2.16.0
    , unicode-collation >= 0.1.3.5 && < 0.2
    , validity >= 0.12.0 && < 0.13
    , vector >= 0.13.0 && < 0.13.2
    , wai
    , wai-extra
    , warp

test-suite garg-test-hspec
  import:
    defaults
  type: exitcode-stdio-1.0
  main-is: drivers/hspec/Main.hs
  other-modules:
      Test.API
      Test.API.Authentication
      Test.API.Errors
      Test.API.GraphQL
      Test.API.Private
      Test.API.Routes
      Test.API.Setup
      Test.API.UpdateList
      Test.Database.Operations
      Test.Database.Operations.DocumentSearch
      Test.Database.Operations.NodeStory
      Test.Database.Setup
      Test.Database.Types
      Test.Utils
      Test.Types
      Paths_gargantext
  hs-source-dirs:
      test
  ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      QuickCheck ^>= 2.14.2
    , aeson >= 2.0.3 && < 2.3
    , aeson-qq
    , async ^>= 2.2.4
    , boolexpr ^>= 0.2
    , bytestring ^>= 0.10.12.0
    , case-insensitive
    , conduit ^>= 1.3.4.2
    , containers ^>= 0.6.5.1
    , crawlerArxiv
    , extra ^>= 1.7.9
    , fast-logger ^>= 3.0.5
    , fmt
    , gargantext
    , gargantext-prelude
    , hspec ^>= 2.7.10
    , hspec-core
    , hspec-expectations >= 0.8 && < 0.9
    , hspec-wai
    , hspec-wai-json
    , http-api-data
    , http-types
    , http-client ^>= 0.6.4.1
    , http-client-tls ^>= 0.3.5.3
    , lens >= 5.2.2 && < 5.3
    , monad-control >= 1.0.3 && < 1.1
    , mtl ^>= 2.2.2
    , network-uri
    , parsec ^>= 3.1.14.0
    , patches-class ^>= 0.1.0.1
    , patches-map ^>= 0.1.0.1
    , postgres-options >= 0.2 && < 0.3
    , postgresql-simple >= 0.6.4 && < 0.7
    , process ^>= 1.6.13.2
    , quickcheck-instances ^>= 0.3.25.2
    , raw-strings-qq
    , recover-rtti >= 0.4 && < 0.5
    , resource-pool >= 0.2.3.2 && < 0.2.4
    , servant-auth
    , servant-auth-client
    , servant-client
    , servant-client-core
    , servant-job
    , servant-server
    , shelly >= 1.9 && < 2
    , stm ^>= 2.5.0.1
    , tasty ^>= 1.4.2.1
    , tasty-hspec
    , tasty-hunit
    , tasty-quickcheck
    , tasty-smallcheck
    , template-haskell
    , text ^>= 1.2.4.1
    , time ^>= 1.9.3
    , tmp-postgres >= 1.34.1 && < 1.35
    , tree-diff
    , unordered-containers ^>= 0.2.16.0
    , validity >= 0.12.0 && < 0.13
    , wai
    , wai-extra
    , warp

benchmark garg-bench
  main-is:       Main.hs
  hs-source-dirs: bench
  type:          exitcode-stdio-1.0
  other-modules:
      Paths_gargantext
  build-depends: base
               , bytestring
               , deepseq
               , gargantext
               , gargantext-prelude
               , tasty-bench
  ghc-options:   "-with-rtsopts=-T -A32m"
  if impl(ghc >= 8.6)
    ghc-options: "-with-rtsopts=--nonmoving-gc"

executable gargantext-phylo-profile
  main-is: Main.hs
  other-modules:
      Paths_gargantext
      Common
  hs-source-dirs:
      bin/gargantext-phylo-profile bin/gargantext-phylo/Phylo
  ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N -O2 -Wmissing-signatures
  build-depends:
      base
    , bytestring
    , gargantext
    , gargantext-prelude
    , shelly
    , text
    , async
    , cryptohash
    , aeson >= 2.0.3 && < 2.3
    , split
    , vector >= 0.13.0 && < 0.13.2
    , directory
  default-language: GHC2021

executable garg-golden-file-diff
  import:
      defaults
    , optimized
  main-is: Main.hs
  hs-source-dirs:
      bin/gargantext-golden-file-diff
  build-depends:
      base
    , text
    , tree-diff
  default-language: Haskell2010