Commit b0a50fb5 authored by Julien Moutinho's avatar Julien Moutinho

build: add support for `haskell.nix`

parent ea8965c4
......@@ -45,3 +45,8 @@ devops/docker/js-cache
cabal.project.local
gargantext_profile_out.dot
# Nix
!flake.lock
cabal.project.flake
nix/cache/roots
{
"nodes": {
"HTTP": {
"flake": false,
"locked": {
"lastModified": 1451647621,
"narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=",
"owner": "phadej",
"repo": "HTTP",
"rev": "9bc0996d412fef1787449d841277ef663ad9a915",
"type": "github"
},
"original": {
"owner": "phadej",
"repo": "HTTP",
"type": "github"
}
},
"accelerate": {
"flake": false,
"locked": {
"lastModified": 1699626663,
"narHash": "sha256-R5PuLsx60FZZ5hPJvq+HRxHNyiyC/4ayzdGvVHRuLJA=",
"ref": "refs/heads/master",
"rev": "334d05519436bb7f20f9926ec76418f5b8afa359",
"revCount": 3164,
"submodules": true,
"type": "git",
"url": "https://github.com/AccelerateHS/accelerate.git"
},
"original": {
"submodules": true,
"type": "git",
"url": "https://github.com/AccelerateHS/accelerate.git"
}
},
"accelerate-arithmetic": {
"flake": false,
"locked": {
"lastModified": 1657380689,
"narHash": "sha256-0ix/+L1X9/S2hct2/z2mdqkHHVd67zphdiQGnQ/djBU=",
"owner": "alpmestan",
"repo": "accelerate-arithmetic",
"rev": "a110807651036ca2228a76507ee35bbf7aedf87a",
"type": "github"
},
"original": {
"owner": "alpmestan",
"repo": "accelerate-arithmetic",
"type": "github"
}
},
"accelerate-llvm": {
"flake": false,
"locked": {
"lastModified": 1692704049,
"narHash": "sha256-7+FzD5d3UpSBGC5BQZHefVVrD0WnDAS1lS9HpVlBNaA=",
"owner": "AccelerateHS",
"repo": "accelerate-llvm",
"rev": "2b5d69448557e89002c0179ea1aaf59bb757a6e3",
"type": "github"
},
"original": {
"owner": "AccelerateHS",
"repo": "accelerate-llvm",
"type": "github"
}
},
"accelerate-utility": {
"flake": false,
"locked": {
"lastModified": 1656682204,
"narHash": "sha256-APVFWVkWiNtojzNy4hH5k25w7DnvgS3auvDubmjlG7I=",
"ref": "fix-error",
"rev": "a3875fe652d3bb5acb522674c22c6c814c1b4ad0",
"revCount": 4,
"type": "git",
"url": "https://gitlab.iscpif.fr/amestanogullari/accelerate-utility.git"
},
"original": {
"ref": "fix-error",
"type": "git",
"url": "https://gitlab.iscpif.fr/amestanogullari/accelerate-utility.git"
}
},
"boolexpr": {
"flake": false,
"locked": {
"lastModified": 1694500292,
"narHash": "sha256-0Ut4QJVD2ocsUxMVDm9uCp/O3ICPdxVrIrjFcdvOtJ4=",
"owner": "adinapoli",
"repo": "boolexpr",
"rev": "91928b5d7f9342e9865dde0d94862792d2b88779",
"type": "github"
},
"original": {
"owner": "adinapoli",
"ref": "adinapoli/term-parsing",
"repo": "boolexpr",
"type": "github"
}
},
"cabal-32": {
"flake": false,
"locked": {
"lastModified": 1603716527,
"narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=",
"owner": "haskell",
"repo": "cabal",
"rev": "48bf10787e27364730dd37a42b603cee8d6af7ee",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "3.2",
"repo": "cabal",
"type": "github"
}
},
"cabal-34": {
"flake": false,
"locked": {
"lastModified": 1645834128,
"narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=",
"owner": "haskell",
"repo": "cabal",
"rev": "5ff598c67f53f7c4f48e31d722ba37172230c462",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "3.4",
"repo": "cabal",
"type": "github"
}
},
"cabal-36": {
"flake": false,
"locked": {
"lastModified": 1669081697,
"narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=",
"owner": "haskell",
"repo": "cabal",
"rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "3.6",
"repo": "cabal",
"type": "github"
}
},
"cardano-shell": {
"flake": false,
"locked": {
"lastModified": 1608537748,
"narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=",
"owner": "input-output-hk",
"repo": "cardano-shell",
"rev": "9392c75087cb9a3d453998f4230930dea3a95725",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"repo": "cardano-shell",
"type": "github"
}
},
"crawlerArxiv": {
"flake": false,
"locked": {
"lastModified": 1692611196,
"narHash": "sha256-qy2IOnuDF9LXof/xBPqjBayyiZC+Y3q8+mkbslTHSTA=",
"ref": "refs/heads/master",
"rev": "eb130c71fa17adaceed6ff66beefbccb13df51ba",
"revCount": 20,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/crawlers/arxiv-api.git"
},
"original": {
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/crawlers/arxiv-api.git"
}
},
"crawlerHAL": {
"flake": false,
"locked": {
"lastModified": 1702295464,
"narHash": "sha256-VTMSkMPuw4023k4RZtXU9EsV64mKWiXC3qPUUTj/eXE=",
"ref": "refs/heads/master",
"rev": "bfa9069b4ff70f341ca3244e8aff9e83eb4b8b73",
"revCount": 59,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/crawlers/hal.git"
},
"original": {
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/crawlers/hal.git"
}
},
"crawlerISTEX": {
"flake": false,
"locked": {
"lastModified": 1704711455,
"narHash": "sha256-MB5hOVEtzJl9fF4vBWgVh8mf2eK/v50R61bhXXTE7xk=",
"ref": "refs/heads/master",
"rev": "c0a08d62c40a169b7934ceb7cb12c39952160e7a",
"revCount": 29,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/crawlers/istex.git"
},
"original": {
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/crawlers/istex.git"
}
},
"crawlerIsidore": {
"flake": false,
"locked": {
"lastModified": 1706271280,
"narHash": "sha256-w83woM9j0K/fUKyrtlddMv0aDsced2VbuijxAaTDhyA=",
"ref": "refs/heads/master",
"rev": "e9b594a4718acc06db037f6d3f429a90db76c267",
"revCount": 16,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/crawlers/isidore.git"
},
"original": {
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/crawlers/isidore.git"
}
},
"crawlerPubMed": {
"flake": false,
"locked": {
"lastModified": 1702304628,
"narHash": "sha256-8Nv956Wl711a061a3Is6mH9JhpCbnRWAG+3FRiiPMjw=",
"rev": "300764df4f78ea6175535f9b78b884cc2aa9da61",
"revCount": 54,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/crawlers/pubmed.git"
},
"original": {
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/crawlers/pubmed.git"
}
},
"data-time-segment": {
"flake": false,
"locked": {
"lastModified": 1557407857,
"narHash": "sha256-P2ttxZ2tRGR1O4VBTfsw+W7X+sIBr0cy4MUTToSbJ1w=",
"owner": "delanoe",
"repo": "data-time-segment",
"rev": "10a416b9f6c443866b36479c3441ebb3bcdeb7ef",
"type": "github"
},
"original": {
"owner": "delanoe",
"repo": "data-time-segment",
"type": "github"
}
},
"duckling": {
"flake": false,
"locked": {
"lastModified": 1704796212,
"narHash": "sha256-U/5hOntRJO7RPLcO9KoDNh+CqgouNaXkgnEZBO/W6LI=",
"owner": "adinapoli",
"repo": "duckling",
"rev": "23603a832117e5352d5b0fb9bb1110228324b35a",
"type": "github"
},
"original": {
"owner": "adinapoli",
"ref": "adinapoli/ghc947-compat",
"repo": "duckling",
"type": "github"
}
},
"eigen": {
"flake": false,
"locked": {
"lastModified": 1657563506,
"narHash": "sha256-utHUJGCtQ6RbnONi/zvGZkgYOAIEAp2y1xSTNpNGVXc=",
"owner": "chessai",
"repo": "eigen",
"rev": "8fff32a43df743c8c83428a86dd566a0936a4fba",
"type": "github"
},
"original": {
"owner": "chessai",
"repo": "eigen",
"type": "github"
}
},
"ekg-json": {
"flake": false,
"locked": {
"lastModified": 1690473199,
"narHash": "sha256-l8Ny6OC/cqS/C2JGgYa7RhQkw+hjKlos5WY9aZvfids=",
"owner": "MercuryTechnologies",
"repo": "ekg-json",
"rev": "232db57d6ce0940fcc902adf30a9ed3f3561f21d",
"type": "github"
},
"original": {
"owner": "MercuryTechnologies",
"ref": "wavewave/ghcHEAD",
"repo": "ekg-json",
"type": "github"
}
},
"epo-api-client": {
"flake": false,
"locked": {
"lastModified": 1700039380,
"narHash": "sha256-MgHpsv3svnIWZQAajv6WfI0uvOf29mLCfsu19k/LZk8=",
"ref": "refs/heads/main",
"rev": "9225d046083853200b9045c8d71161e6a234fc5c",
"revCount": 8,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/crawlers/epo-proxy-api.git"
},
"original": {
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/crawlers/epo-proxy-api.git"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1672831974,
"narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=",
"owner": "input-output-hk",
"repo": "flake-compat",
"rev": "45f2638735f8cdc40fe302742b79f248d23eb368",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"ref": "hkm/gitlab-fix",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1709126324,
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "d465f4819400de7c8d874d50b982301f28a84605",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gargantext-graph": {
"flake": false,
"locked": {
"lastModified": 1663259205,
"narHash": "sha256-oPnQrr3I58UDyTqeosN5xLMNIKG8ITSrE/n+0nnaToY=",
"ref": "debugNaN",
"rev": "588e104fe7593210956610cab0041fd16584a4ce",
"revCount": 142,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/gargantext-graph.git"
},
"original": {
"ref": "debugNaN",
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/gargantext-graph.git"
}
},
"gargantext-prelude": {
"flake": false,
"locked": {
"lastModified": 1705423066,
"narHash": "sha256-OECiVVULnPgRwsYXtVCteE9W+7mGpUrX870oaK/JyxM=",
"ref": "refs/heads/master",
"rev": "618f711a530df56caefbb1577c4bf3d5ff45e214",
"revCount": 32,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/haskell-gargantext-prelude.git"
},
"original": {
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/haskell-gargantext-prelude.git"
}
},
"ghc-8.6.5-iohk": {
"flake": false,
"locked": {
"lastModified": 1600920045,
"narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=",
"owner": "input-output-hk",
"repo": "ghc",
"rev": "95713a6ecce4551240da7c96b6176f980af75cae",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"ref": "release/8.6.5-iohk",
"repo": "ghc",
"type": "github"
}
},
"ghc98X": {
"flake": false,
"locked": {
"lastModified": 1696643148,
"narHash": "sha256-E02DfgISH7EvvNAu0BHiPvl1E5FGMDi0pWdNZtIBC9I=",
"ref": "ghc-9.8",
"rev": "443e870d977b1ab6fc05f47a9a17bc49296adbd6",
"revCount": 61642,
"submodules": true,
"type": "git",
"url": "https://gitlab.haskell.org/ghc/ghc"
},
"original": {
"ref": "ghc-9.8",
"submodules": true,
"type": "git",
"url": "https://gitlab.haskell.org/ghc/ghc"
}
},
"ghc99": {
"flake": false,
"locked": {
"lastModified": 1701580282,
"narHash": "sha256-drA01r3JrXnkKyzI+owMZGxX0JameMzjK0W5jJE/+V4=",
"ref": "refs/heads/master",
"rev": "f5eb0f2982e9cf27515e892c4bdf634bcfb28459",
"revCount": 62197,
"submodules": true,
"type": "git",
"url": "https://gitlab.haskell.org/ghc/ghc"
},
"original": {
"submodules": true,
"type": "git",
"url": "https://gitlab.haskell.org/ghc/ghc"
}
},
"hackage": {
"flake": false,
"locked": {
"lastModified": 1709857374,
"narHash": "sha256-iwbQ234HhHtql34v+V4w27UMPyW8V5XJ0hAgYkgC6xY=",
"owner": "input-output-hk",
"repo": "hackage.nix",
"rev": "2c86845ad85ef52b88c6ddc8e1e6ab08746e26bb",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"repo": "hackage.nix",
"type": "github"
}
},
"haskell-igraph": {
"flake": false,
"locked": {
"lastModified": 1702294905,
"narHash": "sha256-Pg5L4/MjNtwoeqvbxqOsYFird7tkuFpz/PgQAtswBJI=",
"ref": "refs/heads/master",
"rev": "9f8a2f4a014539826a4eab3215cc70c0813f20cb",
"revCount": 137,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/haskell-igraph.git"
},
"original": {
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/haskell-igraph.git"
}
},
"haskell-infomap": {
"flake": false,
"locked": {
"lastModified": 1687873591,
"narHash": "sha256-2f64Uj+10+0TxO/upQaqXwdLDN0bIcW/Z/AJSWcSZbo=",
"ref": "refs/heads/main",
"rev": "1370fea1939e2378ce344e512d80671ac700e787",
"revCount": 9,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/haskell-infomap.git"
},
"original": {
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/haskell-infomap.git"
}
},
"haskell-opaleye": {
"flake": false,
"locked": {
"lastModified": 1707909910,
"narHash": "sha256-H79yYmdw9+z2ZkTS7pkjHNgjSQm0MCnPBHhqw65rAaA=",
"owner": "garganscript",
"repo": "haskell-opaleye",
"rev": "6cf1bcfe215143efac17919cfd0abdd60e0f717c",
"type": "github"
},
"original": {
"owner": "garganscript",
"ref": "tsquery-fixes",
"repo": "haskell-opaleye",
"type": "github"
}
},
"haskellNix": {
"inputs": {
"HTTP": "HTTP",
"cabal-32": "cabal-32",
"cabal-34": "cabal-34",
"cabal-36": "cabal-36",
"cardano-shell": "cardano-shell",
"flake-compat": "flake-compat",
"ghc-8.6.5-iohk": "ghc-8.6.5-iohk",
"ghc98X": "ghc98X",
"ghc99": "ghc99",
"hackage": "hackage",
"hls-1.10": "hls-1.10",
"hls-2.0": "hls-2.0",
"hls-2.2": "hls-2.2",
"hls-2.3": "hls-2.3",
"hls-2.4": "hls-2.4",
"hls-2.5": "hls-2.5",
"hls-2.6": "hls-2.6",
"hpc-coveralls": "hpc-coveralls",
"hydra": "hydra",
"iserv-proxy": "iserv-proxy",
"nix-tools-static": "nix-tools-static",
"nixpkgs": [
"haskellNix",
"nixpkgs-unstable"
],
"nixpkgs-2003": "nixpkgs-2003",
"nixpkgs-2105": "nixpkgs-2105",
"nixpkgs-2111": "nixpkgs-2111",
"nixpkgs-2205": "nixpkgs-2205",
"nixpkgs-2211": "nixpkgs-2211",
"nixpkgs-2305": "nixpkgs-2305",
"nixpkgs-2311": "nixpkgs-2311",
"nixpkgs-unstable": "nixpkgs-unstable",
"old-ghc-nix": "old-ghc-nix",
"stackage": "stackage"
},
"locked": {
"lastModified": 1709858990,
"narHash": "sha256-KFqiaLY2DuzB7GpiEZZcTe6Pz6hxaXdFp1kboyIUOq0=",
"owner": "input-output-hk",
"repo": "haskell.nix",
"rev": "4e9d006857c1deaaa8f4fb5544bdf3bed1e4e1e4",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"repo": "haskell.nix",
"type": "github"
}
},
"hlcm": {
"flake": false,
"locked": {
"lastModified": 1510047659,
"narHash": "sha256-/M3h2p27515H9sYXuin6PA1zZRxkQD8haNPbv/kUm3s=",
"ref": "refs/heads/master",
"rev": "6f0595d2421005837d59151a8b26eee83ebb67b5",
"revCount": 3,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/hlcm.git"
},
"original": {
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/hlcm.git"
}
},
"hls-1.10": {
"flake": false,
"locked": {
"lastModified": 1680000865,
"narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "1.10.0.0",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.0": {
"flake": false,
"locked": {
"lastModified": 1687698105,
"narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "783905f211ac63edf982dd1889c671653327e441",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.0.0.1",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.2": {
"flake": false,
"locked": {
"lastModified": 1693064058,
"narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.2.0.0",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.3": {
"flake": false,
"locked": {
"lastModified": 1695910642,
"narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.3.0.0",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.4": {
"flake": false,
"locked": {
"lastModified": 1699862708,
"narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.4.0.1",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.5": {
"flake": false,
"locked": {
"lastModified": 1701080174,
"narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "27f8c3d3892e38edaef5bea3870161815c4d014c",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.5.0.0",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.6": {
"flake": false,
"locked": {
"lastModified": 1705325287,
"narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.6.0.0",
"repo": "haskell-language-server",
"type": "github"
}
},
"hmatrix": {
"flake": false,
"locked": {
"lastModified": 1629189886,
"narHash": "sha256-JCRmQP2n//kyyJGF/KUJ0TmayU54JbIfuzSyTSmFsss=",
"owner": "alpmestan",
"repo": "hmatrix",
"rev": "b9fca8beee0f23c17a6b2001ec834d071709e6e7",
"type": "github"
},
"original": {
"owner": "alpmestan",
"ref": "alp/imap-static",
"repo": "hmatrix",
"type": "github"
}
},
"hpc-coveralls": {
"flake": false,
"locked": {
"lastModified": 1607498076,
"narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=",
"owner": "sevanspowell",
"repo": "hpc-coveralls",
"rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430",
"type": "github"
},
"original": {
"owner": "sevanspowell",
"repo": "hpc-coveralls",
"type": "github"
}
},
"hydra": {
"inputs": {
"nix": "nix",
"nixpkgs": [
"haskellNix",
"hydra",
"nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1671755331,
"narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=",
"owner": "NixOS",
"repo": "hydra",
"rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8",
"type": "github"
},
"original": {
"id": "hydra",
"type": "indirect"
}
},
"iserv-proxy": {
"flake": false,
"locked": {
"lastModified": 1691634696,
"narHash": "sha256-MZH2NznKC/gbgBu8NgIibtSUZeJ00HTLJ0PlWKCBHb0=",
"ref": "hkm/remote-iserv",
"rev": "43a979272d9addc29fbffc2e8542c5d96e993d73",
"revCount": 14,
"type": "git",
"url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git"
},
"original": {
"ref": "hkm/remote-iserv",
"type": "git",
"url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git"
}
},
"iso639": {
"flake": false,
"locked": {
"lastModified": 1701318218,
"narHash": "sha256-PLfnEV0d09cJlcLzwvlUAyjXXXmxYcgfkMMa4JD1l8U=",
"ref": "refs/heads/master",
"rev": "eab929d106833ded8011a0d6705135e3fc506a9c",
"revCount": 11,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/iso639.git"
},
"original": {
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/iso639.git"
}
},
"llvm-hs": {
"flake": false,
"locked": {
"lastModified": 1704355366,
"narHash": "sha256-6iMGwdgUZx+yKhsgvZ1RJAB479l6HmbgHmy/YT7S6as=",
"owner": "adinapoli",
"repo": "llvm-hs",
"rev": "7533a9ccd3bfe77141745f6b61039a26aaf5c83b",
"type": "github"
},
"original": {
"owner": "adinapoli",
"ref": "adinapoli/llvm-12-ghc-947-compat",
"repo": "llvm-hs",
"type": "github"
}
},
"lowdown-src": {
"flake": false,
"locked": {
"lastModified": 1633514407,
"narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=",
"owner": "kristapsdz",
"repo": "lowdown",
"rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8",
"type": "github"
},
"original": {
"owner": "kristapsdz",
"repo": "lowdown",
"type": "github"
}
},
"nix": {
"inputs": {
"lowdown-src": "lowdown-src",
"nixpkgs": "nixpkgs",
"nixpkgs-regression": "nixpkgs-regression"
},
"locked": {
"lastModified": 1661606874,
"narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=",
"owner": "NixOS",
"repo": "nix",
"rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "2.11.0",
"repo": "nix",
"type": "github"
}
},
"nix-tools-static": {
"flake": false,
"locked": {
"lastModified": 1706266250,
"narHash": "sha256-9t+GRk3eO9muCtKdNAwBtNBZ5dH1xHcnS17WaQyftwA=",
"owner": "input-output-hk",
"repo": "haskell-nix-example",
"rev": "580cb6db546a7777dad3b9c0fa487a366c045c4e",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"ref": "nix",
"repo": "haskell-nix-example",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1657693803,
"narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "365e1b3a859281cf11b94f87231adeabbdd878a2",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-22.05-small",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-2003": {
"locked": {
"lastModified": 1620055814,
"narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-20.03-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-2105": {
"locked": {
"lastModified": 1659914493,
"narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-21.05-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-2111": {
"locked": {
"lastModified": 1659446231,
"narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "eabc38219184cc3e04a974fe31857d8e0eac098d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-21.11-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-2205": {
"locked": {
"lastModified": 1685573264,
"narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "380be19fbd2d9079f677978361792cb25e8a3635",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-22.05-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-2211": {
"locked": {
"lastModified": 1688392541,
"narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-22.11-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-2305": {
"locked": {
"lastModified": 1701362232,
"narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d2332963662edffacfddfad59ff4f709dde80ffe",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-23.05-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-2311": {
"locked": {
"lastModified": 1701386440,
"narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "293822e55ec1872f715a66d0eda9e592dc14419f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-23.11-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-regression": {
"locked": {
"lastModified": 1643052045,
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1694822471,
"narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "47585496bcb13fb72e4a90daeea2f434e2501998",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "47585496bcb13fb72e4a90daeea2f434e2501998",
"type": "github"
}
},
"old-ghc-nix": {
"flake": false,
"locked": {
"lastModified": 1631092763,
"narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=",
"owner": "angerman",
"repo": "old-ghc-nix",
"rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8",
"type": "github"
},
"original": {
"owner": "angerman",
"ref": "master",
"repo": "old-ghc-nix",
"type": "github"
}
},
"openalex": {
"flake": false,
"locked": {
"lastModified": 1707164593,
"narHash": "sha256-muuSirbnKslm9UoDtz1EICjLDLHG/YmNZ/vrwa5xGf4=",
"rev": "cd179f6dda15d77a085c0176284c921b7bc50c46",
"revCount": 14,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/crawlers/openalex.git/"
},
"original": {
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/crawlers/openalex.git"
}
},
"patches-class": {
"flake": false,
"locked": {
"lastModified": 1702291477,
"narHash": "sha256-EfsmhE7aykhR0Pya25HebTIE0/EYpJn1cXl5EE6Luno=",
"ref": "refs/heads/master",
"rev": "3668d28607867a88b2dfc62158139b3cfd629ddb",
"revCount": 29,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/patches-class.git"
},
"original": {
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/patches-class.git"
}
},
"patches-map": {
"flake": false,
"locked": {
"lastModified": 1607950982,
"narHash": "sha256-VsQeWXY8LqtgKIQLLhnLXmJEkcgPgMcFeK4A018RjaE=",
"owner": "delanoe",
"repo": "patches-map",
"rev": "76cae88f367976ff091e661ee69a5c3126b94694",
"type": "github"
},
"original": {
"owner": "delanoe",
"repo": "patches-map",
"type": "github"
}
},
"rdf4h": {
"flake": false,
"locked": {
"lastModified": 1548283965,
"narHash": "sha256-Eovni+wzjOzASIbvPSoFVnpcV1xxevlqANH6pKfyRq8=",
"owner": "robstewart57",
"repo": "rdf4h",
"rev": "4fd2edf30c141600ffad6d730cc4c1c08a6dbce4",
"type": "github"
},
"original": {
"owner": "robstewart57",
"repo": "rdf4h",
"type": "github"
}
},
"root": {
"inputs": {
"accelerate": "accelerate",
"accelerate-arithmetic": "accelerate-arithmetic",
"accelerate-llvm": "accelerate-llvm",
"accelerate-utility": "accelerate-utility",
"boolexpr": "boolexpr",
"crawlerArxiv": "crawlerArxiv",
"crawlerHAL": "crawlerHAL",
"crawlerISTEX": "crawlerISTEX",
"crawlerIsidore": "crawlerIsidore",
"crawlerPubMed": "crawlerPubMed",
"data-time-segment": "data-time-segment",
"duckling": "duckling",
"eigen": "eigen",
"ekg-json": "ekg-json",
"epo-api-client": "epo-api-client",
"flake-utils": "flake-utils",
"gargantext-graph": "gargantext-graph",
"gargantext-prelude": "gargantext-prelude",
"haskell-igraph": "haskell-igraph",
"haskell-infomap": "haskell-infomap",
"haskell-opaleye": "haskell-opaleye",
"haskellNix": "haskellNix",
"hlcm": "hlcm",
"hmatrix": "hmatrix",
"iso639": "iso639",
"llvm-hs": "llvm-hs",
"nixpkgs": [
"haskellNix",
"nixpkgs-unstable"
],
"openalex": "openalex",
"patches-class": "patches-class",
"patches-map": "patches-map",
"rdf4h": "rdf4h",
"servant-job": "servant-job",
"servant-xml-conduit": "servant-xml-conduit",
"sparse-linear": "sparse-linear",
"text16-compat": "text16-compat",
"wikiparsec": "wikiparsec"
}
},
"servant-job": {
"flake": false,
"locked": {
"lastModified": 1666029181,
"narHash": "sha256-VnXMCYih1CWzxscv7XV0ZvvFqvof8kwYDrXeTHKUTEk=",
"owner": "alpmestan",
"repo": "servant-job",
"rev": "b4182487cfe479777c11ca19f3c0d47840b376f6",
"type": "github"
},
"original": {
"owner": "alpmestan",
"ref": "more-exports",
"repo": "servant-job",
"type": "github"
}
},
"servant-xml-conduit": {
"flake": false,
"locked": {
"lastModified": 1700733935,
"narHash": "sha256-hj93YxvJRS3K5Ub2AWBu4/kidE9lyb0DqGYz3tM0qIw=",
"ref": "refs/heads/master",
"rev": "339fd608341bd2652cf5c0e9e76a3293acffbea6",
"revCount": 6,
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/servant-xml-conduit"
},
"original": {
"type": "git",
"url": "https://gitlab.iscpif.fr/gargantext/servant-xml-conduit"
}
},
"sparse-linear": {
"flake": false,
"locked": {
"lastModified": 1630602573,
"narHash": "sha256-IcbLkztW5VOpSaL4JwDAgArkB5Y9UdNzag+akN+4pIM=",
"owner": "alpmestan",
"repo": "sparse-linear",
"rev": "bc6ca8058077b0b5702ea4b88bd4189cfcad267a",
"type": "github"
},
"original": {
"owner": "alpmestan",
"ref": "alp/static",
"repo": "sparse-linear",
"type": "github"
}
},
"stackage": {
"flake": false,
"locked": {
"lastModified": 1709856567,
"narHash": "sha256-4cw2dicXelK2fE5zc5fpoSbX5xeX0l5XrP9Y+VudD5c=",
"owner": "input-output-hk",
"repo": "stackage.nix",
"rev": "1b4a02f076b993536680f7fcf6ccd389f40b5af2",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"repo": "stackage.nix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"text16-compat": {
"flake": false,
"locked": {
"lastModified": 1704795214,
"narHash": "sha256-YtDYisRT2zzisjxoxcnUPIfj6EdNFO1NsDg5gp8A8UE=",
"owner": "adinapoli",
"repo": "text16-compat",
"rev": "85533b5d597e6fc5498411b4bcfc76380ec80d71",
"type": "github"
},
"original": {
"owner": "adinapoli",
"repo": "text16-compat",
"type": "github"
}
},
"wikiparsec": {
"flake": false,
"locked": {
"lastModified": 1702281929,
"narHash": "sha256-1GURCjbiOPhYm/m2oft2iOy5xVSKJrA1oobI6POxOXU=",
"owner": "adinapoli",
"repo": "wikiparsec",
"rev": "b3519a0351ae9515497680571f76200c24dedb53",
"type": "github"
},
"original": {
"owner": "adinapoli",
"ref": "adinapoli/support-ghc-947",
"repo": "wikiparsec",
"type": "github"
}
}
},
"root": "root",
"version": 7
}
{
description = "A Nix flake for Gargantext";
# To use this Nix flake you may need to enable Nix flake support for your user with:
# echo >>~/.config/nix/nix.conf "experimental-features = nix-command flakes"
inputs = {
haskellNix.url = "github:input-output-hk/haskell.nix";
# For trying to hit cache.iog.io one has to follow haskell.nix's nixpkgs-unstable pins.
# However picking an out-of-date compiler-nix-name may render this useless.
nixpkgs.follows = "haskellNix/nixpkgs-unstable";
# TODO: not really necessary, flake-utils.lib.eachSystem may be inlined in this flake.nix.
flake-utils.url = "github:numtide/flake-utils";
# FIXME: git.iscpif.fr's gitlab's API does not work,
# hence fallback to the git+https:// scheme.
#gargantext-prelude.url = "gitlab:gargantext/haskell-gargantext-prelude?host=git.iscpif.fr";
gargantext-prelude = { url = "git+https://gitlab.iscpif.fr/gargantext/haskell-gargantext-prelude.git"; flake = false; };
# WARNING: using the debugNaN branch
gargantext-graph = { url = "git+https://gitlab.iscpif.fr/gargantext/gargantext-graph.git?ref=debugNaN"; flake = false; };
hlcm = { url = "git+https://gitlab.iscpif.fr/gargantext/hlcm.git"; flake = false; };
rdf4h = { url = "github:robstewart57/rdf4h"; flake = false; };
# WARNING: using the wavewave/ghcHEAD branch
ekg-json = { url = "github:MercuryTechnologies/ekg-json/wavewave/ghcHEAD"; flake = false; };
iso639 = { url = "git+https://gitlab.iscpif.fr/gargantext/iso639.git"; flake = false; };
crawlerArxiv = { url = "git+https://gitlab.iscpif.fr/gargantext/crawlers/arxiv-api.git"; flake = false; };
crawlerHAL = { url = "git+https://gitlab.iscpif.fr/gargantext/crawlers/hal.git"; flake = false; };
crawlerIsidore = { url = "git+https://gitlab.iscpif.fr/gargantext/crawlers/isidore.git"; flake = false; };
#crawlerIsidore = { url = "git+file:///home/julm/src/haskell/gargantext/git/haskell.nix/isidore"; flake = false; };
crawlerISTEX = { url = "git+https://gitlab.iscpif.fr/gargantext/crawlers/istex.git"; flake = false; };
crawlerPubMed = { url = "git+https://gitlab.iscpif.fr/gargantext/crawlers/pubmed.git"; flake = false; };
openalex = { url = "git+https://gitlab.iscpif.fr/gargantext/crawlers/openalex.git"; flake = false; };
epo-api-client = { url = "git+https://gitlab.iscpif.fr/gargantext/crawlers/epo-proxy-api.git"; flake = false; };
# Data Mining Libs
data-time-segment = { url = "github:delanoe/data-time-segment"; flake = false; };
# Graph libs
haskell-igraph = { url = "git+https://gitlab.iscpif.fr/gargantext/haskell-igraph.git"; flake = false; };
haskell-infomap = { url = "git+https://gitlab.iscpif.fr/gargantext/haskell-infomap.git"; flake = false; };
# NP libs
patches-class = { url = "git+https://gitlab.iscpif.fr/gargantext/patches-class.git"; flake = false; };
patches-map = { url = "github:delanoe/patches-map"; flake = false; };
# Accelerate Linear Algebra and specific instances
accelerate = { url = "git+https://github.com/AccelerateHS/accelerate.git?submodules=1"; flake = false; };
accelerate-arithmetic = { url = "github:alpmestan/accelerate-arithmetic"; flake = false; };
# WARNING: using the fix-error branch
accelerate-utility = { url = "git+https://gitlab.iscpif.fr/amestanogullari/accelerate-utility.git?ref=fix-error"; flake = false; };
accelerate-llvm = { url = "github:AccelerateHS/accelerate-llvm"; flake = false; };
# WARNING: using the alp/imap-static branch
hmatrix = { url = "github:alpmestan/hmatrix/alp/imap-static"; flake = false; };
# WARNING: using the alp/static branch
sparse-linear = { url = "github:alpmestan/sparse-linear/alp/static"; flake = false; };
wikiparsec = { url = "github:adinapoli/wikiparsec/adinapoli/support-ghc-947"; flake = false; };
# WARNING: fork of https://github.com/boolexpr/boolexpr
# WARNING: was merged upstream
boolexpr = { url = "github:adinapoli/boolexpr/adinapoli/term-parsing"; flake = false; };
# WARNING: fork of https://github.com/tomjaguarpaw/haskell-opaleye
# Tracked in: https://gitlab.iscpif.fr/gargantext/haskell-gargantext/issues/317
haskell-opaleye = { url = "github:garganscript/haskell-opaleye/tsquery-fixes"; flake = false; };
# WARNING: using the more-exports branch
servant-job = { url = "github:alpmestan/servant-job/more-exports"; flake = false; };
servant-xml-conduit = { url = "git+https://gitlab.iscpif.fr/gargantext/servant-xml-conduit"; flake = false; };
# WARNING: fork of https://github.com/facebook/duckling
# using adinapoli/ghc947-compat branch
# Tracked in: https://gitlab.iscpif.fr/gargantext/haskell-gargantext/issues/319
duckling = { url = "github:adinapoli/duckling/adinapoli/ghc947-compat"; flake = false; };
# WARNING: compat shim for duckling
text16-compat = { url = "github:adinapoli/text16-compat"; flake = false; };
# WARNING: fork of https://github.com/llvm-hs/llvm-hs
# using adinapoli/llvm-12-ghc-947-compat branch
# Tracked in: https://gitlab.iscpif.fr/gargantext/haskell-gargantext/issues/318
llvm-hs = { url = "github:adinapoli/llvm-hs/adinapoli/llvm-12-ghc-947-compat"; flake = false; };
eigen = { url = "github:chessai/eigen"; flake = false; };
};
# For printing the available outputs:
# $ nix -L flake show --allow-import-from-derivation
# Note that it is very slow the first time,
# because we chose to generate checks for each package of the closure
# and that requires to generate a plan for each of them.
outputs = { self, ... }@inputs:
let
# FIXME: darwin support is untested.
supportedSystems = [
"x86_64-linux"
"x86_64-darwin"
#"aarch64-linux"
"aarch64-darwin"
];
in
inputs.flake-utils.lib.eachSystem supportedSystems (system:
let
pkgs = import inputs.nixpkgs {
inherit system;
config = inputs.haskellNix.config;
overlays = [
inputs.haskellNix.overlay
(finalPkgs: previousPkgs: {
graphviz = previousPkgs.graphviz.overrideAttrs (finalAttrs: previousAttrs: {
patches = (previousAttrs.patches or [ ]) ++ [
# Increase the YY_BUF_SIZE
# See https://gitlab.iscpif.fr/gargantext/haskell-gargantext/issues/290#note_9015
patches/graphviz/graphviz-yy-buf-size.diff
];
});
})
];
};
# A library of very basic Nix expressions.
lib = inputs.nixpkgs.lib;
# A library of Nix expressions internal to haskell.nix.
inherit (pkgs.haskell-nix) haskellLib;
# Pinning the index-state of Hackage,
# instead of using the latest known by haskell.nix,
# removes haskell.nix from interfering too much into the reproducibility.
# It also enables to materialize the plan-nix.
index-state = haskellLib.parseIndexState (lib.readFile ./cabal.project);
compiler-nix-name = "ghc947";
# nix-tools/nix-tools/cabal2nix/Main.hs findCabalFiles
# always prefers package.yaml over *.cabal,
# but when the resulting cabal file is different
# than a previously existing one,
# the build fails with an error like this one:
# crawlerIsidore.cabal was modified manually, please use --force to overwrite.
# Hence just remove this out-of-sync package.yaml.
removePackageYaml = src: pkgs.symlinkJoin {
name = "removePackageYaml-patched";
paths = [ src ];
postBuild = "rm $out/package.yaml";
};
# haskell.nix's main entry point
project = pkgs.haskell-nix.cabalProject' {
name = "gargantext";
src = ./.;
# By default plan evaluation is done on the build system.
#evalSystem = "x86_64-linux";
inherit compiler-nix-name;
inherit index-state;
# Materializing a project means recording
# the nix files generated from the .cabal et al. files.
# To update:
# $ nix run .#update-nix-cache-plan
#materialized = nix/cache/plan;
#compilerSelection = p: p.haskell.compiler;
# Using inputMap for each source-repository-package of cabal.project
# leverages `nix flake` to get their sha256 hashes
# and check upstreams for updates.
inputMap = {
"https://github.com/AccelerateHS/accelerate-llvm.git" = inputs.accelerate-llvm;
"https://github.com/AccelerateHS/accelerate.git" = inputs.accelerate;
"https://github.com/MercuryTechnologies/ekg-json.git" = inputs.ekg-json;
"https://github.com/adinapoli/boolexpr.git" = inputs.boolexpr;
"https://github.com/adinapoli/duckling.git" = inputs.duckling;
"https://github.com/adinapoli/llvm-hs.git" = inputs.llvm-hs;
"https://github.com/adinapoli/text16-compat.git" = inputs.text16-compat;
"https://github.com/adinapoli/wikiparsec.git" = inputs.wikiparsec;
"https://github.com/alpmestan/accelerate-arithmetic.git" = inputs.accelerate-arithmetic;
"https://github.com/alpmestan/hmatrix.git" = inputs.hmatrix;
"https://github.com/alpmestan/servant-job.git" = inputs.servant-job;
"https://github.com/alpmestan/sparse-linear.git" = inputs.sparse-linear;
"https://github.com/chessai/eigen.git" = inputs.eigen;
"https://github.com/delanoe/data-time-segment.git" = inputs.data-time-segment;
"https://github.com/delanoe/patches-map" = inputs.patches-map;
"https://github.com/garganscript/haskell-opaleye.git" = inputs.haskell-opaleye;
"https://github.com/robstewart57/rdf4h.git" = inputs.rdf4h;
"https://gitlab.iscpif.fr/amestanogullari/accelerate-utility.git" = inputs.accelerate-utility;
"https://gitlab.iscpif.fr/gargantext/crawlers/arxiv-api.git" = inputs.crawlerArxiv;
"https://gitlab.iscpif.fr/gargantext/crawlers/epo-proxy-api.git" = inputs.epo-api-client;
"https://gitlab.iscpif.fr/gargantext/crawlers/hal.git" = inputs.crawlerHAL;
"https://gitlab.iscpif.fr/gargantext/crawlers/isidore.git" = inputs.crawlerIsidore;
"https://gitlab.iscpif.fr/gargantext/crawlers/istex.git" = inputs.crawlerISTEX;
"https://gitlab.iscpif.fr/gargantext/crawlers/openalex.git" = inputs.openalex;
"https://gitlab.iscpif.fr/gargantext/crawlers/pubmed.git" = inputs.crawlerPubMed;
"https://gitlab.iscpif.fr/gargantext/gargantext-graph.git" = inputs.gargantext-graph;
"https://gitlab.iscpif.fr/gargantext/haskell-gargantext-prelude" = inputs.gargantext-prelude;
"https://gitlab.iscpif.fr/gargantext/haskell-igraph.git" = inputs.haskell-igraph;
"https://gitlab.iscpif.fr/gargantext/haskell-infomap.git" = inputs.haskell-infomap;
"https://gitlab.iscpif.fr/gargantext/hlcm.git" = inputs.hlcm;
"https://gitlab.iscpif.fr/gargantext/iso639.git" = inputs.iso639;
"https://gitlab.iscpif.fr/gargantext/patches-class.git" = inputs.patches-class;
"https://gitlab.iscpif.fr/gargantext/servant-xml-conduit.git" = inputs.servant-xml-conduit;
# Fixes needed for specific revisions
# ===================================
"https://gitlab.iscpif.fr/gargantext/crawlers/isidore.git/e9b594a4718acc06db037f6d3f429a90db76c267" = removePackageYaml inputs.crawlerIsidore;
"https://gitlab.iscpif.fr/gargantext/haskell-gargantext-prelude/618f711a530df56caefbb1577c4bf3d5ff45e214" = removePackageYaml inputs.gargantext-prelude;
"https://gitlab.iscpif.fr/gargantext/crawlers/istex.git/c0a08d62c40a169b7934ceb7cb12c39952160e7a" = removePackageYaml inputs.crawlerISTEX;
"https://github.com/alpmestan/accelerate-arithmetic.git/a110807651036ca2228a76507ee35bbf7aedf87a" = pkgs.applyPatches {
name = "accelerate-arithmetic-patched";
src = inputs.accelerate-arithmetic;
patches = [ patches/accelerate-arithmetic/0001-remove-test-using-removed-realBandedGramian.patch ];
};
};
# Default project configuration.
modules = [
{
packages.haskell-igraph.components.library = {
# The generated plan includes pkgs.igraph
# but pkgs.igraph.dev is also needed for igraph.h
libs = [ pkgs.igraph.dev ];
# Extra include needed because haskell-igraph's cbits
# use: #include <igraph.h>
# not: #include <igraph/igraph.h>
configureFlags = [ "--extra-include-dirs=${pkgs.igraph.dev}/include/igraph" ];
};
}
];
# Variants to the default project configuration above.
# They're accessed in the flake's outputs with their name prefixed.
# $ nix -L build .#static-x86_64-unknown-linux-musl:gargantext:exe:gargantext-phylo-profile
# Or via project.projectCross:
# $ nix -L build .#project.projectVariants.static.projectCross.musl64.hsPkgs.postgresql-libpq.components.library
flake.variants = {
profiled = {
modules = [
{
# Applies to all packages of the Haskell closure. For instance:
# $ nix eval .#project.hsPkgs.containers.components.library.config.enableProfiling
# false
# $ nix eval .#project.projectVariants.profiled.hsPkgs.containers.components.library.config.enableProfiling
# true
enableProfiling = true;
enableLibraryProfiling = true;
}
];
};
# For building static executables:
# $ nix -L build .#static-x86_64-unknown-linux-musl:gargantext:exe:gargantext-phylo-profile
#
# Note the use of the Musl cross compiling platform
# to replace glibc which does not fully support static linking.
#
# For debugging static executables (Musl is not bug-to-bug compatible with glibc):
# $ nix -L develop .#static-x86_64-unknown-linux-musl:gargantext:exe:gargantext-phylo-profile
# [nix-shell] $ rm -rf source outputs
# [nix-shell] $ genericBuild # may fail at some point depending on the bug
# [nix-shell] $ cd source
# [nix-shell] $ eval "$configurePhase"
# [nix-shell] $ eval "$buildPhase"
# [nix-shell] $ (unset LD_LIBRARY_PATH; $EDITOR **/*.hs) # hack hack hack
# [nix-shell] $ eval "$buildPhase"
# [nix-shell] $ eval "$installPhase"
#
# See also https://github.com/nh2/static-haskell-nix # which:
# > contains a large amount of per-package fixes for static builds
# > for which we haven't found a way to integrate them cleanly into nixpkgs yet
static = {
modules = [
{
enableStatic = true;
#enableShared = false;
# Musl does not provide the thread-safe random_r()/initstate_r()
# so make randomVector fallback to a **non** thread-safe alternative, nrand48()
# See https://github.com/haskell-numerics/hmatrix/issues/279
#
# As a consequence, random numbers may not be random between threads
# as they now share a common state.
# See http://www.evanjones.ca/random-thread-safe.html
# > the best solution for truly portable applications
# > is to include your own random number generator implementation,
# > and not rely on the system's C library.
# See https://github.com/haskell-numerics/hmatrix/issues/307
packages.hmatrix.flags.no-random_r = true;
# Use pkg-config instead of pg_config to avoid:
# $ nix -L build .#legacyPackages.x86_64-linux.project.projectVariants.static.projectCross.musl64.hsPkgs.postgresql-libpq.components.library
# > Error: Setup: The program 'pg_config' is required but it could not be found
packages.postgresql-libpq.flags.use-pkg-config = true;
}
];
};
};
flake.crossPlatforms = platforms:
pkgs.lib.optionals pkgs.stdenv.hostPlatform.isx86_64 (
# For building static executables.
pkgs.lib.optionals pkgs.stdenv.hostPlatform.isLinux [
platforms.musl64
]
# For cross compiling to Windows.
# ++ [ platforms.mingwW64 ]
);
# Shell configuration shared by the default shell
# and all shells from the flake.variants.
shell = {
# Force cabal-install (by setting CABAL_CONFIG=)
# to use the packages selected by project.plan-nix.
exactDeps = true;
# Provision (in `ghc-pkg list`) the **dependencies** of the packages selected here,
# which are not also selected here.
# By default haskell.nix selects here all _local_ packages
# (packages from both the packages and the source-repository-package stanzas)
# which therefore excludes source-repository-packages from being provisioned.
# Hence select only the _project_ packages (packages from the packages stanza).
packages = ps: lib.attrValues (haskellLib.selectProjectPackages ps);
# Add in this list any development tool needed
# that is not expected to come from the developers' own system.
nativeBuildInputs = [
# Wraps cabal-install to remove source-repository-package stanzas,
# otherwise it would download an use them,
# likely because it does not know that those packages provisioned
# in `ghc-pkg list` must be used in priority.
(let cabal-install = project.tool "cabal" {
version = "latest";
#inherit index-state;
modules = [
{
# Preserve Bash completion for cabal.
packages.cabal-install.components.exes.cabal.postInstall = ''
mkdir -p $out/share/bash-completion
mv bash-completion $out/share/bash-completion/completions
'';
}
];
};
in
# symlinkJoin cabal-install to preserve share/bash-completion/
pkgs.symlinkJoin {
name = "cabal-install";
paths = [ cabal-install ];
nativeBuildInputs = [ pkgs.makeWrapper ];
# Wrap cabal-install to make it use the local cabal.project.flake.
postBuild = ''
rm "$out"/bin/cabal
makeWrapper \
${cabal-install}/bin/cabal \
"$out"/bin/cabal \
--add-flags --project-file=cabal.project.flake
'';
})
# Provide HLS because it is tighly coupled to the GHC version in use.
# TODO: uncomment when in public binary caches.
#(project.tool "haskell-language-server" { version = "latest"; })
(project.tool "ghcid" { version = "latest"; })
(project.tool "hlint" { version = "latest"; })
];
# cabal.project.flake must be in the same directory than the original cabal.project
# for the relative paths in the packages stanza to point to the correct subdirs.
shellHook = ''
ln -sf ${pkgs.runCommandLocal "cabal.project" {
nativeBuildInputs = with pkgs; [ gawk ];
}
# Strips source-repository-package stanzas from cabal.project.
''
awk '/^[^ ]/{f=/^source-repository-package/} !f' >$out ${./cabal.project}
''
} cabal.project.flake
'';
# If true, builds a Hoogle documentation index of all dependencies,
# and provides a "hoogle" command to search the index.
withHoogle = false;
};
};
projectFlake = project.flake { };
in {
legacyPackages = pkgs // {
# For exploring the project:
# $ nix --extra-experimental-features 'flakes repl-flake' repl .
# nix-repl> :lf .
# nix-repl> __attrNames legacyPackages.x86_64-linux.project
# [ "__overlay__" "appendModule" "appendOverlays" "args" "buildProject" "extend"
# "flake" "flake'" "getComponent" "getPackage" "ghcWithHoogle" "ghcWithPackages"
# "hsPkgs" "index-state-max" "makeConfigFiles" "options" "pkg-set" "pkgs"
# "plan-nix" "projectCoverageReport" "projectCross" "projectFunction"
# "projectModule" "projectVariants" "roots" "shell" "shellFor" "tool" "tools"
# ]
project = project;
};
# For building a component of this project:
# $ nix -L build .#gargantext:exe:gargantext-phylo-profile
packages = projectFlake.packages;
# For entering the default development shell:
# $ nix -L develop
# $ cabal build --disable-optimization
#
# For entering the development shell variant "profiled":
# $ nix -L develop .#profiled
# $ cabal run gargantext-phylo-profile
devShells = projectFlake.devShells;
apps = projectFlake.apps // {
# For updating nix/cache/plan
# $ nix run .#update-nix-cache-plan
# $ git commit -m "nix: update nix/cache/plan"
update-nix-cache-plan = {
type = "app";
program = (pkgs.writeShellScript "update-nix-cache-plan" ''
set -x
${project.plan-nix.passthru.generateMaterialized} nix/cache/plan
git add --all nix/cache/plan
'').outPath;
};
# Register the project's toolchain for compiler-nix-name
# (but not the Haskell package dependencies of the project)
# to prevent nix-collect-garbage from removing them from the Nix store.
register-roots = {
type = "app";
program = (pkgs.writeShellScript "register-roots" ''
nix-store --add-root nix/cache/roots --indirect --realise ${project.roots}
'').outPath;
};
};
# For running all checks (very slow):
# $ nix -L flake check
# FIXME: actually run them all and disable or fix the broken ones.
#
# For running a specific check:
# $ nix -L build .#checks.x86_64-linux.duckling:test:duckling-test
# bat result/test-stdout
# See names from:
# $ nix -L flake show --allow-import-from-derivation
checks = projectFlake.checks // (
# Ignore projectFlake.checks which only contain
# this project test-suites (and flake.variants)
# and generate instead a check for each test-suite
# of each package in the closure of this project.
let
projectClosure = project.appendModule {
# haskell.nix's applyComponents filters-out non-planned components.
# Hence enable planned for all components of the project's Haskell closure.
modules = [ { planned = true; } ];
};
testPackages = lib.mapAttrs (name: package:
let
# Packages for which a plan cannot be computed
# even with jailbreaking .cabal's constraints.
brokenPackages = [
# fail (backjumping, conflict set: binary, hashable, text, unordered-containers)
"binary"
# fail (backjumping, conflict set: ghc, tasty-inspection-testing, time)
"random"
# fail (backjumping, conflict set: base, cassava, scientific)
"scientific"
# fail (backjumping, conflict set: base, ekg, servant-ekg)
"servant-ekg"
# fail (backjumping, conflict set: QuickCheck, aeson, criterion, criterion-measurement, splitmix)
"splitmix"
# fail (backjumping, conflict set: criterion, time, time:bench)
"time"
# fail (backjumping, conflict set: optparse-applicative, process, tasty, tasty-hunit, template-haskell, unix, optparse-applicative:process)
"unix"
];
# Packages for which a plan can be computed
# by jailbreaking .cabal's constraints.
jailbreakPackages = [
"MissingH"
"Unique"
"cassava"
"cassava-conduit"
"filepath"
"full-text-search"
"fullstop"
"morpheus-graphql"
"morpheus-graphql-app"
"morpheus-graphql-client"
"morpheus-graphql-core"
"morpheus-graphql-server"
"mwc-random"
"system-filepath"
"vector"
];
# The jailbreaking tool.
jailbreak-cabal = pkgs.haskell-nix.hackage-package {
name = "jailbreak-cabal";
version = "latest";
revision = "default";
compiler-nix-name = compiler-nix-name;
inherit index-state;
};
in
if package != null
&& (package.isHaskell or false)
# Already provided by projectFlake.checks
&& !(package.isProject or false)
# Some packages cannot be used:
# error: The option `packages.BNFC.package.identifier.name' is used but not defined.
&& (package.components ? "library")
# Some packages cannot be used:
# error: The option `packages.GLFW-b.package.identifier.name' is used but not defined.
&& builtins.length (builtins.attrNames package.components.tests) != 0
&& !(lib.elem name brokenPackages)
then
# This includes this project's packages
# and source-repository-package.
if projectClosure.hsPkgs.${name}.isLocal
then projectClosure.hsPkgs.${name}
else pkgs.haskell-nix.hackage-package {
name = package.identifier.name;
version = package.identifier.version;
revision = package.identifier.revision or "default";
compiler-nix-name = compiler-nix-name;
inherit index-state;
# Unfortunately I cannot find a shorter way
# to use jailbreak-cabal since haskell.nix
# only applies postPatch in builder/comp-builder.nix
# thus when building a component and not before building a plan.
# Hence copy and adapt modules/hackage-project.nix's src
src = lib.mkIf (lib.elem name jailbreakPackages) (
let
revision = package.identifier.revision or "default";
version = package.identifier.version;
tarball = pkgs.fetchurl {
url = "mirror://hackage/${name}-${version}.tar.gz";
inherit (pkgs.haskell-nix.hackage.${name}.${version}) sha256;
};
rev = pkgs.haskell-nix.hackage.${name}.${version}.revisions.${revision};
cabalFile = pkgs.fetchurl {
url = "https://hackage.haskell.org/package/${name}-${version}/revision/${toString rev.revNum}.cabal";
inherit (rev) sha256;
};
revSuffix = lib.optionalString (rev.revNum > 0) "-r${toString rev.revNum}";
in lib.mkOverride 1000 (pkgs.runCommand "${name}-${version}${revSuffix}-src" {
# Avoid readDir and readFile IFD functions looking for these project files in the hackage source
passthru.lookForCabalProject = false;
} (''
tmp=$(mktemp -d)
cd $tmp
tar xzf ${tarball}
mv "${name}-${version}" $out
'' + lib.optionalString (rev.revNum > 0) ''
cp ${cabalFile} $out/${name}.cabal
'' + ''
${jailbreak-cabal.components.exes.jailbreak-cabal.exePath} $out/${name}.cabal
'') // {
# TODO remove once nix >=2.4 is widely adopted (will trigger rebuilds of everything).
# Disable filtering keeps pre ond post nix 2.4 behaviour the same. This means that
# the same `alex`, `happy` and `hscolour` are used to build GHC. It also means that
# that `tools` in the shell will be built the same.
filterPath = { path, ... }: path;
})
);
}
else null
) projectClosure.hsPkgs;
in
haskellLib.mkFlakeChecks (haskellLib.collectChecks' testPackages)
);
#hydraJobs = projectFlake.hydraJobs;
}
);
# Ask users to set Nix config entries in its local nix.conf.
nixConfig = {
# This sets the flake to use the IOG nix cache.
# Nix should ask for permission before using it,
# but remove it here if you do not want it to.
extra-substituters = [
"https://cache.iog.io"
"https://static-haskell-nix.cachix.org"
];
extra-trusted-public-keys = [
"hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
"static-haskell-nix.cachix.org-1:Q17HawmAwaM1/BfIxaEDKAxwTOyRVhPG5Ji9K3+FvUU="
];
# haskell.nix translates to Nix expressions:
# - the build plan usually generated in `dist-newstyle/cache/plan.json` by `cabal configure`
# - and the `.cabal`/`stack.yaml`/`package.yaml` files of projects.
#
# haskell.nix can either generate those Nix expressions on-demand
# by calling its nix-tools' make-install-plan and cabal-to-nix,
# hence importing them from a derivation (IFD).
# Or import pre-generated files whenever project's materialized= attribute is set,
# andthen no longer needs to allow IFD.
#
# Note that the projects for the checks of the closure
# are never materialized, hence checking or showing the checks
# always requires to allow IFD.
allow-import-from-derivation = "true";
};
}
From 64cd06549f19ad447f18a45d872b59b2b2db9135 Mon Sep 17 00:00:00 2001
From: Julien Moutinho <julm+gargantext@sourcephile.fr>
Date: Wed, 28 Jun 2023 23:07:32 +0200
Subject: [PATCH] remove test using removed `realBandedGramian`
---
test/Test.hs | 1 -
test/Test/Data/Array/Accelerate/Arithmetic/Sparse.hs | 7 -------
2 files changed, 8 deletions(-)
diff --git a/test/Test.hs b/test/Test.hs
index ebc140f..ea736ee 100644
--- a/test/Test.hs
+++ b/test/Test.hs
@@ -10,7 +10,6 @@ import Test.QuickCheck (quickCheck)
test :: IO ()
test = mapM_ (\(msg,act) -> putStr (msg++": ") >> act) $
("sparseMatrix", quickCheck (\(Mod.Blind x) -> Sparse.multiplication x)) :
- ("bandedGramian", quickCheck (\(Mod.Blind x) -> Sparse.bandedGramian x)) :
("flattenMatrix", quickCheck (\(Mod.Blind x) -> LinAlg.flattenMatrix x)) :
("restoreMatrix", quickCheck (\(Mod.Blind x) -> LinAlg.restoreMatrix x)) :
("flattenRestoreMatrix", quickCheck (\(Mod.Blind x) -> LinAlg.flattenRestoreMatrix x)) :
diff --git a/test/Test/Data/Array/Accelerate/Arithmetic/Sparse.hs b/test/Test/Data/Array/Accelerate/Arithmetic/Sparse.hs
index da497dd..15e7e51 100644
--- a/test/Test/Data/Array/Accelerate/Arithmetic/Sparse.hs
+++ b/test/Test/Data/Array/Accelerate/Arithmetic/Sparse.hs
@@ -73,10 +73,3 @@ instance (QC.Arbitrary a, A.Elt a) => QC.Arbitrary (BandGramian a) where
return $
BandGramian (A.lift width)
(Sparse.Rows (A.lift cols) (A.use m))
-
-
-bandedGramian :: BandGramian Word32 -> Bool
-bandedGramian (BandGramian width m) =
- Sparse.multiplyColumnsRows (Sparse.transposeRows m) m
- =!=
- BandMatrix.flattenSymmetric (Sparse.realBandedGramian width m)
--
2.40.1
--- a/lib/cgraph/scan.l
+++ b/lib/cgraph/scan.l
@@ -32,7 +32,7 @@
#include <stdbool.h>
#include <stddef.h>
#include <string.h>
-// #define YY_BUF_SIZE 128000
+#define YY_BUF_SIZE 128000
#define GRAPH_EOF_TOKEN '@' /* lex class must be defined below */
/* this is a workaround for linux flex */
static int line_num = 1;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment