Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Submit feedback
    • Contribute to GitLab
  • Sign in
haskell-gargantext
haskell-gargantext
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 159
    • Issues 159
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 6
    • Merge Requests 6
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • gargantext
  • haskell-gargantexthaskell-gargantext
  • Merge Requests
  • !258

Open
Opened Mar 04, 2024 by Julien Moutinho@julm
  • Report abuse
Report abuse

WIP: add a `flake.nix` based upon `haskell.nix`

Description

This flake.nix scrupulously respects the cabal.project.freeze, and thus does not interfere with existing build methods (cabal or stack) because it no longer has to patch any Haskell code because it uses the exact same versions of the dependencies and thus there is no interface mismatches.

Usage

For usage help please see the inlined comments in flake.nix, all outputs are given with:

$ nix flake show --allow-import-from-derivation
├───apps
│   └───x86_64-linux
│       ├───"accelerate-arithmetic:lib:accelerate-arithmetic": app
│       ├───"accelerate-llvm-native:lib:accelerate-llvm-native": app
│       ├───"accelerate-llvm:lib:accelerate-llvm": app
│       ├───"accelerate-utility:lib:accelerate-utility": app
│       ├───"accelerate:lib:accelerate": app
│       ├───"boolexpr:lib:boolexpr": app
│       ├───coreNLP: app
│       ├───"crawlerArxiv:exe:arxiv-exe": app
│       ├───"crawlerArxiv:lib:crawlerArxiv": app
│       ├───"crawlerHAL:exe:crawlerHAL-exe": app
│       ├───"crawlerHAL:lib:crawlerHAL": app
│       ├───"crawlerISTEX:exe:crawlerISTEX-exe": app
│       ├───"crawlerISTEX:lib:crawlerISTEX": app
│       ├───"crawlerIsidore:exe:crawlerIsidore-exe": app
│       ├───"crawlerIsidore:lib:crawlerIsidore": app
│       ├───"crawlerPubMed:exe:crawlerPubMed-exe": app
│       ├───"crawlerPubMed:lib:crawlerPubMed": app
│       ├───"data-time-segment:exe:data-time-segment-exe": app
│       ├───"data-time-segment:lib:data-time-segment": app
│       ├───"eigen:lib:eigen": app
│       ├───"ekg-json:lib:ekg-json": app
│       ├───"epo-api-client:exe:epo-api-client-main": app
│       ├───"epo-api-client:lib:epo-api-client": app
│       ├───"gargantext-graph:lib:gargantext-graph": app
│       ├───"gargantext-prelude:exe:gargantext-prelude-exe": app
│       ├───"gargantext-prelude:lib:gargantext-prelude": app
│       ├───"gargantext:bench:garg-bench": app
│       ├───"gargantext:exe:garg-golden-file-diff": app
│       ├───"gargantext:exe:gargantext-admin": app
│       ├───"gargantext:exe:gargantext-cli": app
│       ├───"gargantext:exe:gargantext-db-obfuscation": app
│       ├───"gargantext:exe:gargantext-import": app
│       ├───"gargantext:exe:gargantext-init": app
│       ├───"gargantext:exe:gargantext-invitations": app
│       ├───"gargantext:exe:gargantext-phylo": app
│       ├───"gargantext:exe:gargantext-phylo-profile": app
│       ├───"gargantext:exe:gargantext-server": app
│       ├───"gargantext:exe:gargantext-upgrade": app
│       ├───"gargantext:lib:gargantext": app
│       ├───"gargantext:test:garg-test-hspec": app
│       ├───"gargantext:test:garg-test-tasty": app
│       ├───"haskell-igraph:lib:haskell-igraph": app
│       ├───"haskell-nix-ghc:accelerate-arithmetic:lib:accelerate-arithmetic": app
│       ├───"haskell-nix-ghc:accelerate-llvm-native:lib:accelerate-llvm-native": app
│       ├───"haskell-nix-ghc:accelerate-llvm:lib:accelerate-llvm": app
│       ├───"haskell-nix-ghc:accelerate-utility:lib:accelerate-utility": app
│       ├───"haskell-nix-ghc:accelerate:lib:accelerate": app
│       ├───"haskell-nix-ghc:boolexpr:lib:boolexpr": app
│       ├───"haskell-nix-ghc:crawlerArxiv:exe:arxiv-exe": app
│       ├───"haskell-nix-ghc:crawlerArxiv:lib:crawlerArxiv": app
│       ├───"haskell-nix-ghc:crawlerHAL:exe:crawlerHAL-exe": app
│       ├───"haskell-nix-ghc:crawlerHAL:lib:crawlerHAL": app
│       ├───"haskell-nix-ghc:crawlerISTEX:exe:crawlerISTEX-exe": app
│       ├───"haskell-nix-ghc:crawlerISTEX:lib:crawlerISTEX": app
│       ├───"haskell-nix-ghc:crawlerIsidore:exe:crawlerIsidore-exe": app
│       ├───"haskell-nix-ghc:crawlerIsidore:lib:crawlerIsidore": app
│       ├───"haskell-nix-ghc:crawlerPubMed:exe:crawlerPubMed-exe": app
│       ├───"haskell-nix-ghc:crawlerPubMed:lib:crawlerPubMed": app
│       ├───"haskell-nix-ghc:data-time-segment:exe:data-time-segment-exe": app
│       ├───"haskell-nix-ghc:data-time-segment:lib:data-time-segment": app
│       ├───"haskell-nix-ghc:eigen:lib:eigen": app
│       ├───"haskell-nix-ghc:ekg-json:lib:ekg-json": app
│       ├───"haskell-nix-ghc:epo-api-client:exe:epo-api-client-main": app
│       ├───"haskell-nix-ghc:epo-api-client:lib:epo-api-client": app
│       ├───"haskell-nix-ghc:gargantext-graph:lib:gargantext-graph": app
│       ├───"haskell-nix-ghc:gargantext-prelude:exe:gargantext-prelude-exe": app
│       ├───"haskell-nix-ghc:gargantext-prelude:lib:gargantext-prelude": app
│       ├───"haskell-nix-ghc:gargantext:bench:garg-bench": app
│       ├───"haskell-nix-ghc:gargantext:exe:garg-golden-file-diff": app
│       ├───"haskell-nix-ghc:gargantext:exe:gargantext-admin": app
│       ├───"haskell-nix-ghc:gargantext:exe:gargantext-cli": app
│       ├───"haskell-nix-ghc:gargantext:exe:gargantext-db-obfuscation": app
│       ├───"haskell-nix-ghc:gargantext:exe:gargantext-import": app
│       ├───"haskell-nix-ghc:gargantext:exe:gargantext-init": app
│       ├───"haskell-nix-ghc:gargantext:exe:gargantext-invitations": app
│       ├───"haskell-nix-ghc:gargantext:exe:gargantext-phylo": app
│       ├───"haskell-nix-ghc:gargantext:exe:gargantext-phylo-profile": app
│       ├───"haskell-nix-ghc:gargantext:exe:gargantext-server": app
│       ├───"haskell-nix-ghc:gargantext:exe:gargantext-upgrade": app
│       ├───"haskell-nix-ghc:gargantext:lib:gargantext": app
│       ├───"haskell-nix-ghc:gargantext:test:garg-test-hspec": app
│       ├───"haskell-nix-ghc:gargantext:test:garg-test-tasty": app
│       ├───"haskell-nix-ghc:haskell-igraph:lib:haskell-igraph": app
│       ├───"haskell-nix-ghc:hlcm:lib:hlcm": app
│       ├───"haskell-nix-ghc:hmatrix:lib:hmatrix": app
│       ├───"haskell-nix-ghc:hsinfomap:lib:hsinfomap": app
│       ├───"haskell-nix-ghc:iso639:lib:iso639": app
│       ├───"haskell-nix-ghc:llvm-hs-pure:lib:llvm-hs-pure": app
│       ├───"haskell-nix-ghc:llvm-hs:lib:llvm-hs": app
│       ├───"haskell-nix-ghc:opaleye-textsearch:lib:opaleye-textsearch": app
│       ├───"haskell-nix-ghc:openalex:exe:openalex-main": app
│       ├───"haskell-nix-ghc:openalex:lib:openalex": app
│       ├───"haskell-nix-ghc:patches-class:lib:patches-class": app
│       ├───"haskell-nix-ghc:patches-map:lib:patches-map": app
│       ├───"haskell-nix-ghc:rdf4h:exe:rdf4h": app
│       ├───"haskell-nix-ghc:rdf4h:lib:rdf4h": app
│       ├───"haskell-nix-ghc:servant-job:exe:servant-job-calc-example": app
│       ├───"haskell-nix-ghc:servant-job:exe:servant-job-scrapy-example": app
│       ├───"haskell-nix-ghc:servant-job:lib:servant-job": app
│       ├───"haskell-nix-ghc:servant-xml-conduit:lib:servant-xml-conduit": app
│       ├───"haskell-nix-ghc:sparse-linear:exe:bench": app
│       ├───"haskell-nix-ghc:sparse-linear:lib:sparse-linear": app
│       ├───"hlcm:lib:hlcm": app
│       ├───"hmatrix:lib:hmatrix": app
│       ├───"hsinfomap:lib:hsinfomap": app
│       ├───"iso639:lib:iso639": app
│       ├───"llvm-hs-pure:lib:llvm-hs-pure": app
│       ├───"llvm-hs:lib:llvm-hs": app
│       ├───"opaleye-textsearch:lib:opaleye-textsearch": app
│       ├───"openalex:exe:openalex-main": app
│       ├───"openalex:lib:openalex": app
│       ├───"patches-class:lib:patches-class": app
│       ├───"patches-map:lib:patches-map": app
│       ├───"profiling:accelerate-arithmetic:lib:accelerate-arithmetic": app
│       ├───"profiling:accelerate-llvm-native:lib:accelerate-llvm-native": app
│       ├───"profiling:accelerate-llvm:lib:accelerate-llvm": app
│       ├───"profiling:accelerate-utility:lib:accelerate-utility": app
│       ├───"profiling:accelerate:lib:accelerate": app
│       ├───"profiling:boolexpr:lib:boolexpr": app
│       ├───"profiling:crawlerArxiv:exe:arxiv-exe": app
│       ├───"profiling:crawlerArxiv:lib:crawlerArxiv": app
│       ├───"profiling:crawlerHAL:exe:crawlerHAL-exe": app
│       ├───"profiling:crawlerHAL:lib:crawlerHAL": app
│       ├───"profiling:crawlerISTEX:exe:crawlerISTEX-exe": app
│       ├───"profiling:crawlerISTEX:lib:crawlerISTEX": app
│       ├───"profiling:crawlerIsidore:exe:crawlerIsidore-exe": app
│       ├───"profiling:crawlerIsidore:lib:crawlerIsidore": app
│       ├───"profiling:crawlerPubMed:exe:crawlerPubMed-exe": app
│       ├───"profiling:crawlerPubMed:lib:crawlerPubMed": app
│       ├───"profiling:data-time-segment:exe:data-time-segment-exe": app
│       ├───"profiling:data-time-segment:lib:data-time-segment": app
│       ├───"profiling:eigen:lib:eigen": app
│       ├───"profiling:ekg-json:lib:ekg-json": app
│       ├───"profiling:epo-api-client:exe:epo-api-client-main": app
│       ├───"profiling:epo-api-client:lib:epo-api-client": app
│       ├───"profiling:gargantext-graph:lib:gargantext-graph": app
│       ├───"profiling:gargantext-prelude:exe:gargantext-prelude-exe": app
│       ├───"profiling:gargantext-prelude:lib:gargantext-prelude": app
│       ├───"profiling:gargantext:bench:garg-bench": app
│       ├───"profiling:gargantext:exe:garg-golden-file-diff": app
│       ├───"profiling:gargantext:exe:gargantext-admin": app
│       ├───"profiling:gargantext:exe:gargantext-cli": app
│       ├───"profiling:gargantext:exe:gargantext-db-obfuscation": app
│       ├───"profiling:gargantext:exe:gargantext-import": app
│       ├───"profiling:gargantext:exe:gargantext-init": app
│       ├───"profiling:gargantext:exe:gargantext-invitations": app
│       ├───"profiling:gargantext:exe:gargantext-phylo": app
│       ├───"profiling:gargantext:exe:gargantext-phylo-profile": app
│       ├───"profiling:gargantext:exe:gargantext-server": app
│       ├───"profiling:gargantext:exe:gargantext-upgrade": app
│       ├───"profiling:gargantext:lib:gargantext": app
│       ├───"profiling:gargantext:test:garg-test-hspec": app
│       ├───"profiling:gargantext:test:garg-test-tasty": app
│       ├───"profiling:haskell-igraph:lib:haskell-igraph": app
│       ├───"profiling:hlcm:lib:hlcm": app
│       ├───"profiling:hmatrix:lib:hmatrix": app
│       ├───"profiling:hsinfomap:lib:hsinfomap": app
│       ├───"profiling:iso639:lib:iso639": app
│       ├───"profiling:llvm-hs-pure:lib:llvm-hs-pure": app
│       ├───"profiling:llvm-hs:lib:llvm-hs": app
│       ├───"profiling:opaleye-textsearch:lib:opaleye-textsearch": app
│       ├───"profiling:openalex:exe:openalex-main": app
│       ├───"profiling:openalex:lib:openalex": app
│       ├───"profiling:patches-class:lib:patches-class": app
│       ├───"profiling:patches-map:lib:patches-map": app
│       ├───"profiling:rdf4h:exe:rdf4h": app
│       ├───"profiling:rdf4h:lib:rdf4h": app
│       ├───"profiling:servant-job:exe:servant-job-calc-example": app
│       ├───"profiling:servant-job:exe:servant-job-scrapy-example": app
│       ├───"profiling:servant-job:lib:servant-job": app
│       ├───"profiling:servant-xml-conduit:lib:servant-xml-conduit": app
│       ├───"profiling:sparse-linear:exe:bench": app
│       ├───"profiling:sparse-linear:lib:sparse-linear": app
│       ├───"rdf4h:exe:rdf4h": app
│       ├───"rdf4h:lib:rdf4h": app
│       ├───"servant-job:exe:servant-job-calc-example": app
│       ├───"servant-job:exe:servant-job-scrapy-example": app
│       ├───"servant-job:lib:servant-job": app
│       ├───"servant-xml-conduit:lib:servant-xml-conduit": app
│       ├───"sparse-linear:exe:bench": app
│       ├───"sparse-linear:lib:sparse-linear": app
│       ├───update-nix-cache-haskell-nix-gc-roots: app
│       └───update-nix-cache-haskell-nix-materialized: app
├───checks
│   └───x86_64-linux
│       ├───"gargantext:test:garg-test-hspec": derivation 'gargantext-test-garg-test-hspec-0.0.7.1.1-check'
│       ├───"gargantext:test:garg-test-tasty": derivation 'gargantext-test-garg-test-tasty-0.0.7.1.1-check'
│       ├───"haskell-nix-ghc:gargantext:test:garg-test-hspec": derivation 'gargantext-test-garg-test-hspec-0.0.7.1.1-check'
│       ├───"haskell-nix-ghc:gargantext:test:garg-test-tasty": derivation 'gargantext-test-garg-test-tasty-0.0.7.1.1-check'
│       ├───"profiling:gargantext:test:garg-test-hspec": derivation 'gargantext-test-garg-test-hspec-0.0.7.1.1-check'
│       └───"profiling:gargantext:test:garg-test-tasty": derivation 'gargantext-test-garg-test-tasty-0.0.7.1.1-check'
├───ciJobs: unknown
├───devShells
│   └───x86_64-linux
│       ├───default: development environment 'ghc-shell-for-packages'
│       ├───haskell-nix-ghc: development environment 'ghc-shell-for-packages'
│       └───profiling: development environment 'ghc-shell-for-packages'
├───legacyPackages
│   └───x86_64-linux omitted (use '--legacy' to show)
└───packages
    └───x86_64-linux
        ├───"accelerate-arithmetic:lib:accelerate-arithmetic": package 'accelerate-arithmetic-lib-accelerate-arithmetic-1.0.0.1'
        ├───"accelerate-llvm-native:lib:accelerate-llvm-native": package 'accelerate-llvm-native-lib-accelerate-llvm-native-1.3.0.0'
        ├───"accelerate-llvm:lib:accelerate-llvm": package 'accelerate-llvm-lib-accelerate-llvm-1.3.0.0'
        ├───"accelerate-utility:lib:accelerate-utility": package 'accelerate-utility-lib-accelerate-utility-1.0.0.1'
        ├───"accelerate:lib:accelerate": package 'accelerate-lib-accelerate-1.3.0.0'
        ├───"boolexpr:lib:boolexpr": package 'boolexpr-lib-boolexpr-0.3'
        ├───"crawlerArxiv:exe:arxiv-exe": package 'crawlerArxiv-exe-arxiv-exe-0.1.0.0'
        ├───"crawlerArxiv:lib:crawlerArxiv": package 'crawlerArxiv-lib-crawlerArxiv-0.1.0.0'
        ├───"crawlerHAL:exe:crawlerHAL-exe": package 'crawlerHAL-exe-crawlerHAL-exe-0.1.0.0'
        ├───"crawlerHAL:lib:crawlerHAL": package 'crawlerHAL-lib-crawlerHAL-0.1.0.0'
        ├───"crawlerISTEX:exe:crawlerISTEX-exe": package 'crawlerISTEX-exe-crawlerISTEX-exe-0.1.0.0'
        ├───"crawlerISTEX:lib:crawlerISTEX": package 'crawlerISTEX-lib-crawlerISTEX-0.1.0.0'
        ├───"crawlerIsidore:exe:crawlerIsidore-exe": package 'crawlerIsidore-exe-crawlerIsidore-exe-0.1.0.0'
        ├───"crawlerIsidore:lib:crawlerIsidore": package 'crawlerIsidore-lib-crawlerIsidore-0.1.0.0'
        ├───"crawlerPubMed:exe:crawlerPubMed-exe": package 'crawlerPubMed-exe-crawlerPubMed-exe-0.1.0.0'
        ├───"crawlerPubMed:lib:crawlerPubMed": package 'crawlerPubMed-lib-crawlerPubMed-0.1.0.0'
        ├───"data-time-segment:exe:data-time-segment-exe": package 'data-time-segment-exe-data-time-segment-exe-0.1.0.0'
        ├───"data-time-segment:lib:data-time-segment": package 'data-time-segment-lib-data-time-segment-0.1.0.0'
        ├───"eigen:lib:eigen": package 'eigen-lib-eigen-3.3.7.0'
        ├───"ekg-json:lib:ekg-json": package 'ekg-json-lib-ekg-json-0.1.0.8'
        ├───"epo-api-client:exe:epo-api-client-main": package 'epo-api-client-exe-epo-api-client-main-0.1.0.0'
        ├───"epo-api-client:lib:epo-api-client": package 'epo-api-client-lib-epo-api-client-0.1.0.0'
        ├───"gargantext-graph:lib:gargantext-graph": package 'gargantext-graph-lib-gargantext-graph-0.1.0.0'
        ├───"gargantext-prelude:exe:gargantext-prelude-exe": package 'gargantext-prelude-exe-gargantext-prelude-exe-0.1.0.0'
        ├───"gargantext-prelude:lib:gargantext-prelude": package 'gargantext-prelude-lib-gargantext-prelude-0.1.0.0'
        ├───"gargantext:bench:garg-bench": package 'gargantext-bench-garg-bench-0.0.7.1.1'
        ├───"gargantext:exe:garg-golden-file-diff": package 'gargantext-exe-garg-golden-file-diff-0.0.7.1.1'
        ├───"gargantext:exe:gargantext-admin": package 'gargantext-exe-gargantext-admin-0.0.7.1.1'
        ├───"gargantext:exe:gargantext-cli": package 'gargantext-exe-gargantext-cli-0.0.7.1.1'
        ├───"gargantext:exe:gargantext-db-obfuscation": package 'gargantext-exe-gargantext-db-obfuscation-0.0.7.1.1'
        ├───"gargantext:exe:gargantext-import": package 'gargantext-exe-gargantext-import-0.0.7.1.1'
        ├───"gargantext:exe:gargantext-init": package 'gargantext-exe-gargantext-init-0.0.7.1.1'
        ├───"gargantext:exe:gargantext-invitations": package 'gargantext-exe-gargantext-invitations-0.0.7.1.1'
        ├───"gargantext:exe:gargantext-phylo": package 'gargantext-exe-gargantext-phylo-0.0.7.1.1'
        ├───"gargantext:exe:gargantext-phylo-profile": package 'gargantext-exe-gargantext-phylo-profile-0.0.7.1.1'
        ├───"gargantext:exe:gargantext-server": package 'gargantext-exe-gargantext-server-0.0.7.1.1'
        ├───"gargantext:exe:gargantext-upgrade": package 'gargantext-exe-gargantext-upgrade-0.0.7.1.1'
        ├───"gargantext:lib:gargantext": package 'gargantext-lib-gargantext-0.0.7.1.1'
        ├───"gargantext:test:garg-test-hspec": package 'gargantext-test-garg-test-hspec-0.0.7.1.1'
        ├───"gargantext:test:garg-test-tasty": package 'gargantext-test-garg-test-tasty-0.0.7.1.1'
        ├───"haskell-igraph:lib:haskell-igraph": package 'haskell-igraph-lib-haskell-igraph-0.10.4'
        ├───"haskell-nix-ghc:accelerate-arithmetic:lib:accelerate-arithmetic": package 'accelerate-arithmetic-lib-accelerate-arithmetic-1.0.0.1'
        ├───"haskell-nix-ghc:accelerate-llvm-native:lib:accelerate-llvm-native": package 'accelerate-llvm-native-lib-accelerate-llvm-native-1.3.0.0'
        ├───"haskell-nix-ghc:accelerate-llvm:lib:accelerate-llvm": package 'accelerate-llvm-lib-accelerate-llvm-1.3.0.0'
        ├───"haskell-nix-ghc:accelerate-utility:lib:accelerate-utility": package 'accelerate-utility-lib-accelerate-utility-1.0.0.1'
        ├───"haskell-nix-ghc:accelerate:lib:accelerate": package 'accelerate-lib-accelerate-1.3.0.0'
        ├───"haskell-nix-ghc:boolexpr:lib:boolexpr": package 'boolexpr-lib-boolexpr-0.3'
        ├───"haskell-nix-ghc:crawlerArxiv:exe:arxiv-exe": package 'crawlerArxiv-exe-arxiv-exe-0.1.0.0'
        ├───"haskell-nix-ghc:crawlerArxiv:lib:crawlerArxiv": package 'crawlerArxiv-lib-crawlerArxiv-0.1.0.0'
        ├───"haskell-nix-ghc:crawlerHAL:exe:crawlerHAL-exe": package 'crawlerHAL-exe-crawlerHAL-exe-0.1.0.0'
        ├───"haskell-nix-ghc:crawlerHAL:lib:crawlerHAL": package 'crawlerHAL-lib-crawlerHAL-0.1.0.0'
        ├───"haskell-nix-ghc:crawlerISTEX:exe:crawlerISTEX-exe": package 'crawlerISTEX-exe-crawlerISTEX-exe-0.1.0.0'
        ├───"haskell-nix-ghc:crawlerISTEX:lib:crawlerISTEX": package 'crawlerISTEX-lib-crawlerISTEX-0.1.0.0'
        ├───"haskell-nix-ghc:crawlerIsidore:exe:crawlerIsidore-exe": package 'crawlerIsidore-exe-crawlerIsidore-exe-0.1.0.0'
        ├───"haskell-nix-ghc:crawlerIsidore:lib:crawlerIsidore": package 'crawlerIsidore-lib-crawlerIsidore-0.1.0.0'
        ├───"haskell-nix-ghc:crawlerPubMed:exe:crawlerPubMed-exe": package 'crawlerPubMed-exe-crawlerPubMed-exe-0.1.0.0'
        ├───"haskell-nix-ghc:crawlerPubMed:lib:crawlerPubMed": package 'crawlerPubMed-lib-crawlerPubMed-0.1.0.0'
        ├───"haskell-nix-ghc:data-time-segment:exe:data-time-segment-exe": package 'data-time-segment-exe-data-time-segment-exe-0.1.0.0'
        ├───"haskell-nix-ghc:data-time-segment:lib:data-time-segment": package 'data-time-segment-lib-data-time-segment-0.1.0.0'
        ├───"haskell-nix-ghc:eigen:lib:eigen": package 'eigen-lib-eigen-3.3.7.0'
        ├───"haskell-nix-ghc:ekg-json:lib:ekg-json": package 'ekg-json-lib-ekg-json-0.1.0.8'
        ├───"haskell-nix-ghc:epo-api-client:exe:epo-api-client-main": package 'epo-api-client-exe-epo-api-client-main-0.1.0.0'
        ├───"haskell-nix-ghc:epo-api-client:lib:epo-api-client": package 'epo-api-client-lib-epo-api-client-0.1.0.0'
        ├───"haskell-nix-ghc:gargantext-graph:lib:gargantext-graph": package 'gargantext-graph-lib-gargantext-graph-0.1.0.0'
        ├───"haskell-nix-ghc:gargantext-prelude:exe:gargantext-prelude-exe": package 'gargantext-prelude-exe-gargantext-prelude-exe-0.1.0.0'
        ├───"haskell-nix-ghc:gargantext-prelude:lib:gargantext-prelude": package 'gargantext-prelude-lib-gargantext-prelude-0.1.0.0'
        ├───"haskell-nix-ghc:gargantext:bench:garg-bench": package 'gargantext-bench-garg-bench-0.0.7.1.1'
        ├───"haskell-nix-ghc:gargantext:exe:garg-golden-file-diff": package 'gargantext-exe-garg-golden-file-diff-0.0.7.1.1'
        ├───"haskell-nix-ghc:gargantext:exe:gargantext-admin": package 'gargantext-exe-gargantext-admin-0.0.7.1.1'
        ├───"haskell-nix-ghc:gargantext:exe:gargantext-cli": package 'gargantext-exe-gargantext-cli-0.0.7.1.1'
        ├───"haskell-nix-ghc:gargantext:exe:gargantext-db-obfuscation": package 'gargantext-exe-gargantext-db-obfuscation-0.0.7.1.1'
        ├───"haskell-nix-ghc:gargantext:exe:gargantext-import": package 'gargantext-exe-gargantext-import-0.0.7.1.1'
        ├───"haskell-nix-ghc:gargantext:exe:gargantext-init": package 'gargantext-exe-gargantext-init-0.0.7.1.1'
        ├───"haskell-nix-ghc:gargantext:exe:gargantext-invitations": package 'gargantext-exe-gargantext-invitations-0.0.7.1.1'
        ├───"haskell-nix-ghc:gargantext:exe:gargantext-phylo": package 'gargantext-exe-gargantext-phylo-0.0.7.1.1'
        ├───"haskell-nix-ghc:gargantext:exe:gargantext-phylo-profile": package 'gargantext-exe-gargantext-phylo-profile-0.0.7.1.1'
        ├───"haskell-nix-ghc:gargantext:exe:gargantext-server": package 'gargantext-exe-gargantext-server-0.0.7.1.1'
        ├───"haskell-nix-ghc:gargantext:exe:gargantext-upgrade": package 'gargantext-exe-gargantext-upgrade-0.0.7.1.1'
        ├───"haskell-nix-ghc:gargantext:lib:gargantext": package 'gargantext-lib-gargantext-0.0.7.1.1'
        ├───"haskell-nix-ghc:gargantext:test:garg-test-hspec": package 'gargantext-test-garg-test-hspec-0.0.7.1.1'
        ├───"haskell-nix-ghc:gargantext:test:garg-test-tasty": package 'gargantext-test-garg-test-tasty-0.0.7.1.1'
        ├───"haskell-nix-ghc:haskell-igraph:lib:haskell-igraph": package 'haskell-igraph-lib-haskell-igraph-0.10.4'
        ├───"haskell-nix-ghc:hlcm:lib:hlcm": package 'hlcm-lib-hlcm-0.2.2'
        ├───"haskell-nix-ghc:hmatrix:lib:hmatrix": package 'hmatrix-lib-hmatrix-0.20.2'
        ├───"haskell-nix-ghc:hsinfomap:lib:hsinfomap": package 'hsinfomap-lib-hsinfomap-0.1'
        ├───"haskell-nix-ghc:iso639:lib:iso639": package 'iso639-lib-iso639-0.1.0.3'
        ├───"haskell-nix-ghc:llvm-hs-pure:lib:llvm-hs-pure": package 'llvm-hs-pure-lib-llvm-hs-pure-12.0.0'
        ├───"haskell-nix-ghc:llvm-hs:lib:llvm-hs": package 'llvm-hs-lib-llvm-hs-12.0.0'
        ├───"haskell-nix-ghc:opaleye-textsearch:lib:opaleye-textsearch": package 'opaleye-textsearch-lib-opaleye-textsearch-0.1.0.0'
        ├───"haskell-nix-ghc:openalex:exe:openalex-main": package 'openalex-exe-openalex-main-0.1.0.0'
        ├───"haskell-nix-ghc:openalex:lib:openalex": package 'openalex-lib-openalex-0.1.0.0'
        ├───"haskell-nix-ghc:patches-class:lib:patches-class": package 'patches-class-lib-patches-class-0.1.0.1'
        ├───"haskell-nix-ghc:patches-map:lib:patches-map": package 'patches-map-lib-patches-map-0.1.0.1'
        ├───"haskell-nix-ghc:rdf4h:exe:rdf4h": package 'rdf4h-exe-rdf4h-3.1.1'
        ├───"haskell-nix-ghc:rdf4h:lib:rdf4h": package 'rdf4h-lib-rdf4h-3.1.1'
        ├───"haskell-nix-ghc:servant-job:exe:servant-job-calc-example": package 'servant-job-exe-servant-job-calc-example-0.2.0.0'
        ├───"haskell-nix-ghc:servant-job:exe:servant-job-scrapy-example": package 'servant-job-exe-servant-job-scrapy-example-0.2.0.0'
        ├───"haskell-nix-ghc:servant-job:lib:servant-job": package 'servant-job-lib-servant-job-0.2.0.0'
        ├───"haskell-nix-ghc:servant-xml-conduit:lib:servant-xml-conduit": package 'servant-xml-conduit-lib-servant-xml-conduit-0.1.0.4'
        ├───"haskell-nix-ghc:sparse-linear:exe:bench": package 'sparse-linear-exe-bench-0.1.0.0'
        ├───"haskell-nix-ghc:sparse-linear:lib:sparse-linear": package 'sparse-linear-lib-sparse-linear-0.1.0.0'
        ├───"hlcm:lib:hlcm": package 'hlcm-lib-hlcm-0.2.2'
        ├───"hmatrix:lib:hmatrix": package 'hmatrix-lib-hmatrix-0.20.2'
        ├───"hsinfomap:lib:hsinfomap": package 'hsinfomap-lib-hsinfomap-0.1'
        ├───"iso639:lib:iso639": package 'iso639-lib-iso639-0.1.0.3'
        ├───"llvm-hs-pure:lib:llvm-hs-pure": package 'llvm-hs-pure-lib-llvm-hs-pure-12.0.0'
        ├───"llvm-hs:lib:llvm-hs": package 'llvm-hs-lib-llvm-hs-12.0.0'
        ├───"opaleye-textsearch:lib:opaleye-textsearch": package 'opaleye-textsearch-lib-opaleye-textsearch-0.1.0.0'
        ├───"openalex:exe:openalex-main": package 'openalex-exe-openalex-main-0.1.0.0'
        ├───"openalex:lib:openalex": package 'openalex-lib-openalex-0.1.0.0'
        ├───"patches-class:lib:patches-class": package 'patches-class-lib-patches-class-0.1.0.1'
        ├───"patches-map:lib:patches-map": package 'patches-map-lib-patches-map-0.1.0.1'
        ├───"profiling:accelerate-arithmetic:lib:accelerate-arithmetic": package 'accelerate-arithmetic-lib-accelerate-arithmetic-1.0.0.1'
        ├───"profiling:accelerate-llvm-native:lib:accelerate-llvm-native": package 'accelerate-llvm-native-lib-accelerate-llvm-native-1.3.0.0'
        ├───"profiling:accelerate-llvm:lib:accelerate-llvm": package 'accelerate-llvm-lib-accelerate-llvm-1.3.0.0'
        ├───"profiling:accelerate-utility:lib:accelerate-utility": package 'accelerate-utility-lib-accelerate-utility-1.0.0.1'
        ├───"profiling:accelerate:lib:accelerate": package 'accelerate-lib-accelerate-1.3.0.0'
        ├───"profiling:boolexpr:lib:boolexpr": package 'boolexpr-lib-boolexpr-0.3'
        ├───"profiling:crawlerArxiv:exe:arxiv-exe": package 'crawlerArxiv-exe-arxiv-exe-0.1.0.0'
        ├───"profiling:crawlerArxiv:lib:crawlerArxiv": package 'crawlerArxiv-lib-crawlerArxiv-0.1.0.0'
        ├───"profiling:crawlerHAL:exe:crawlerHAL-exe": package 'crawlerHAL-exe-crawlerHAL-exe-0.1.0.0'
        ├───"profiling:crawlerHAL:lib:crawlerHAL": package 'crawlerHAL-lib-crawlerHAL-0.1.0.0'
        ├───"profiling:crawlerISTEX:exe:crawlerISTEX-exe": package 'crawlerISTEX-exe-crawlerISTEX-exe-0.1.0.0'
        ├───"profiling:crawlerISTEX:lib:crawlerISTEX": package 'crawlerISTEX-lib-crawlerISTEX-0.1.0.0'
        ├───"profiling:crawlerIsidore:exe:crawlerIsidore-exe": package 'crawlerIsidore-exe-crawlerIsidore-exe-0.1.0.0'
        ├───"profiling:crawlerIsidore:lib:crawlerIsidore": package 'crawlerIsidore-lib-crawlerIsidore-0.1.0.0'
        ├───"profiling:crawlerPubMed:exe:crawlerPubMed-exe": package 'crawlerPubMed-exe-crawlerPubMed-exe-0.1.0.0'
        ├───"profiling:crawlerPubMed:lib:crawlerPubMed": package 'crawlerPubMed-lib-crawlerPubMed-0.1.0.0'
        ├───"profiling:data-time-segment:exe:data-time-segment-exe": package 'data-time-segment-exe-data-time-segment-exe-0.1.0.0'
        ├───"profiling:data-time-segment:lib:data-time-segment": package 'data-time-segment-lib-data-time-segment-0.1.0.0'
        ├───"profiling:eigen:lib:eigen": package 'eigen-lib-eigen-3.3.7.0'
        ├───"profiling:ekg-json:lib:ekg-json": package 'ekg-json-lib-ekg-json-0.1.0.8'
        ├───"profiling:epo-api-client:exe:epo-api-client-main": package 'epo-api-client-exe-epo-api-client-main-0.1.0.0'
        ├───"profiling:epo-api-client:lib:epo-api-client": package 'epo-api-client-lib-epo-api-client-0.1.0.0'
        ├───"profiling:gargantext-graph:lib:gargantext-graph": package 'gargantext-graph-lib-gargantext-graph-0.1.0.0'
        ├───"profiling:gargantext-prelude:exe:gargantext-prelude-exe": package 'gargantext-prelude-exe-gargantext-prelude-exe-0.1.0.0'
        ├───"profiling:gargantext-prelude:lib:gargantext-prelude": package 'gargantext-prelude-lib-gargantext-prelude-0.1.0.0'
        ├───"profiling:gargantext:bench:garg-bench": package 'gargantext-bench-garg-bench-0.0.7.1.1'
        ├───"profiling:gargantext:exe:garg-golden-file-diff": package 'gargantext-exe-garg-golden-file-diff-0.0.7.1.1'
        ├───"profiling:gargantext:exe:gargantext-admin": package 'gargantext-exe-gargantext-admin-0.0.7.1.1'
        ├───"profiling:gargantext:exe:gargantext-cli": package 'gargantext-exe-gargantext-cli-0.0.7.1.1'
        ├───"profiling:gargantext:exe:gargantext-db-obfuscation": package 'gargantext-exe-gargantext-db-obfuscation-0.0.7.1.1'
        ├───"profiling:gargantext:exe:gargantext-import": package 'gargantext-exe-gargantext-import-0.0.7.1.1'
        ├───"profiling:gargantext:exe:gargantext-init": package 'gargantext-exe-gargantext-init-0.0.7.1.1'
        ├───"profiling:gargantext:exe:gargantext-invitations": package 'gargantext-exe-gargantext-invitations-0.0.7.1.1'
        ├───"profiling:gargantext:exe:gargantext-phylo": package 'gargantext-exe-gargantext-phylo-0.0.7.1.1'
        ├───"profiling:gargantext:exe:gargantext-phylo-profile": package 'gargantext-exe-gargantext-phylo-profile-0.0.7.1.1'
        ├───"profiling:gargantext:exe:gargantext-server": package 'gargantext-exe-gargantext-server-0.0.7.1.1'
        ├───"profiling:gargantext:exe:gargantext-upgrade": package 'gargantext-exe-gargantext-upgrade-0.0.7.1.1'
        ├───"profiling:gargantext:lib:gargantext": package 'gargantext-lib-gargantext-0.0.7.1.1'
        ├───"profiling:gargantext:test:garg-test-hspec": package 'gargantext-test-garg-test-hspec-0.0.7.1.1'
        ├───"profiling:gargantext:test:garg-test-tasty": package 'gargantext-test-garg-test-tasty-0.0.7.1.1'
        ├───"profiling:haskell-igraph:lib:haskell-igraph": package 'haskell-igraph-lib-haskell-igraph-0.10.4'
        ├───"profiling:hlcm:lib:hlcm": package 'hlcm-lib-hlcm-0.2.2'
        ├───"profiling:hmatrix:lib:hmatrix": package 'hmatrix-lib-hmatrix-0.20.2'
        ├───"profiling:hsinfomap:lib:hsinfomap": package 'hsinfomap-lib-hsinfomap-0.1'
        ├───"profiling:iso639:lib:iso639": package 'iso639-lib-iso639-0.1.0.3'
        ├───"profiling:llvm-hs-pure:lib:llvm-hs-pure": package 'llvm-hs-pure-lib-llvm-hs-pure-12.0.0'
        ├───"profiling:llvm-hs:lib:llvm-hs": package 'llvm-hs-lib-llvm-hs-12.0.0'
        ├───"profiling:opaleye-textsearch:lib:opaleye-textsearch": package 'opaleye-textsearch-lib-opaleye-textsearch-0.1.0.0'
        ├───"profiling:openalex:exe:openalex-main": package 'openalex-exe-openalex-main-0.1.0.0'
        ├───"profiling:openalex:lib:openalex": package 'openalex-lib-openalex-0.1.0.0'
        ├───"profiling:patches-class:lib:patches-class": package 'patches-class-lib-patches-class-0.1.0.1'
        ├───"profiling:patches-map:lib:patches-map": package 'patches-map-lib-patches-map-0.1.0.1'
        ├───"profiling:rdf4h:exe:rdf4h": package 'rdf4h-exe-rdf4h-3.1.1'
        ├───"profiling:rdf4h:lib:rdf4h": package 'rdf4h-lib-rdf4h-3.1.1'
        ├───"profiling:servant-job:exe:servant-job-calc-example": package 'servant-job-exe-servant-job-calc-example-0.2.0.0'
        ├───"profiling:servant-job:exe:servant-job-scrapy-example": package 'servant-job-exe-servant-job-scrapy-example-0.2.0.0'
        ├───"profiling:servant-job:lib:servant-job": package 'servant-job-lib-servant-job-0.2.0.0'
        ├───"profiling:servant-xml-conduit:lib:servant-xml-conduit": package 'servant-xml-conduit-lib-servant-xml-conduit-0.1.0.4'
        ├───"profiling:sparse-linear:exe:bench": package 'sparse-linear-exe-bench-0.1.0.0'
        ├───"profiling:sparse-linear:lib:sparse-linear": package 'sparse-linear-lib-sparse-linear-0.1.0.0'
        ├───"rdf4h:exe:rdf4h": package 'rdf4h-exe-rdf4h-3.1.1'
        ├───"rdf4h:lib:rdf4h": package 'rdf4h-lib-rdf4h-3.1.1'
        ├───"servant-job:exe:servant-job-calc-example": package 'servant-job-exe-servant-job-calc-example-0.2.0.0'
        ├───"servant-job:exe:servant-job-scrapy-example": package 'servant-job-exe-servant-job-scrapy-example-0.2.0.0'
        ├───"servant-job:lib:servant-job": package 'servant-job-lib-servant-job-0.2.0.0'
        ├───"servant-xml-conduit:lib:servant-xml-conduit": package 'servant-xml-conduit-lib-servant-xml-conduit-0.1.0.4'
        ├───"sparse-linear:exe:bench": package 'sparse-linear-exe-bench-0.1.0.0'
        ├───"sparse-linear:lib:sparse-linear": package 'sparse-linear-lib-sparse-linear-0.1.0.0'
        ├───weeder-local-analysis: package 'weeder-gargantext'
        └───weeder-project-analysis: package 'weeder-gargantext'

Development

$ nix -L develop --accept-flake-config
$ cabal update
$ cabal build --disable-optimization

Building

This should work up to building all gargantext executables and test-suites on an x86_64-linux system:

$ nix -L build .#gargantext:lib:gargantext
$ nix -L build .#checks.x86_64-linux.gargantext:test:garg-test-hspec
$ nix -L build .#checks.x86_64-linux.gargantext:test:garg-test-tasty
# Alas, currently coverage reports do not work (can't find hpc)
# with nixpkgs.haskellPackages' GHC, so haskell.nix's GHC has to be used:
$ nix -L build .#project.projectVariants.haskell-nix-ghc.projectCoverageReport
$ firefox result/share/hpc/vanilla/html/index.html

Caching

Beware, the out-of-date GHC 9.4.7 used is not (or no longer) in IOHK's public cache nor are the Haskell package closure, so this will recompile all of those.

Reviews, questions, corrections, criticisms welcome.

Edited May 14, 2024 by Julien Moutinho

Check out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

git fetch https://gitlab.iscpif.fr/julm/haskell-gargantext.git nix
git checkout -b julm/haskell-gargantext-nix FETCH_HEAD

Step 2. Review the changes locally

Step 3. Merge the branch and fix any conflicts that come up

git fetch origin
git checkout origin/dev
git merge --no-ff julm/haskell-gargantext-nix

Step 4. Push the result of the merge to GitLab

git push origin dev

Note that pushing to GitLab requires write access to this repository.

Tip: You can also checkout merge requests locally by following these guidelines.

  • Discussion 42
  • Commits 11
  • Pipelines 62
  • Changes 394
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
1
Labels
DO NOT MERGE
Assign labels
  • View project labels
Reference: gargantext/haskell-gargantext!258