Commit 3854541d authored by Alfredo Di Napoli's avatar Alfredo Di Napoli Committed by Alfredo Di Napoli

Working nix-shell with GHC 9.4.7

Historical post-mortem: I have tried to upgrade to LLVM-15 the Haskell stack,
but it didn't work out very well.
parent 5fedd944
# Optimising CI speed by using tips from https://blog.nimbleways.com/let-s-make-faster-gitlab-ci-cd-pipelines/
image: adinapoli/gargantext:v2.3
image: adinapoli/gargantext:v3.0
variables:
STACK_ROOT: "${CI_PROJECT_DIR}/.stack-root"
......
......@@ -11,8 +11,8 @@ STORE_DIR="${1:-$DEFAULT_STORE}"
# `expected_cabal_project_freeze_hash` with the
# `sha256sum` result calculated on the `cabal.project` and `cabal.project.freeze`.
# This ensures the files stay deterministic so that CI cache can kick in.
expected_cabal_project_hash="69e03370a602f40243373515ff884a2cd50dc02eb6f52cd23ba9016a61fe8069"
expected_cabal_project_freeze_hash="796f0109611f3381278b1885ae1fa257c4177b99885eb04701938f1107c06ee5"
expected_cabal_project_hash="52c9f9895eea755555fc434657e8bba3f53211c77a24a173da337ee887024854"
expected_cabal_project_freeze_hash="92cba3fe5ddb3e30bf7c3dfbf2470f21da6eceb30f14feea9b70be8257e7cfc4"
cabal --store-dir=$STORE_DIR v2-update 'hackage.haskell.org,2023-12-10T10:34:46Z'
......
......@@ -2,42 +2,42 @@
index-state: 2023-12-10T10:34:46Z
with-compiler: ghc-8.10.7
with-compiler: ghc-9.4.7
packages:
./
source-repository-package
type: git
location: https://github.com/adinapoli/boolexpr.git
tag: 91928b5d7f9342e9865dde0d94862792d2b88779
location: https://github.com/AccelerateHS/accelerate.git
tag: 334d05519436bb7f20f9926ec76418f5b8afa359
source-repository-package
type: git
location: https://github.com/adinapoli/haskell-opaleye.git
tag: e9a29582ac66198dd2c2fdc3f8c8a4b1e6fbe004
location: https://github.com/AccelerateHS/accelerate-llvm.git
tag: 2b5d69448557e89002c0179ea1aaf59bb757a6e3
subdir: accelerate-llvm-native/
accelerate-llvm/
source-repository-package
type: git
location: https://github.com/alpmestan/accelerate.git
tag: 640b5af87cea94b61c7737d878e6f7f2fca5c015
location: https://github.com/adinapoli/boolexpr.git
tag: 91928b5d7f9342e9865dde0d94862792d2b88779
source-repository-package
type: git
location: https://github.com/alpmestan/accelerate-arithmetic.git
tag: a110807651036ca2228a76507ee35bbf7aedf87a
location: https://github.com/adinapoli/haskell-opaleye.git
tag: e9a29582ac66198dd2c2fdc3f8c8a4b1e6fbe004
source-repository-package
type: git
location: https://github.com/alpmestan/accelerate-llvm.git
tag: 944f5a4aea35ee6aedb81ea754bf46b131fce9e3
subdir: accelerate-llvm-native/
accelerate-llvm/
location: https://github.com/adinapoli/wikiparsec.git
tag: b3519a0351ae9515497680571f76200c24dedb53
source-repository-package
type: git
location: https://github.com/alpmestan/ekg-json.git
tag: fd7e5d7325939103cd87d0dc592faf644160341c
location: https://github.com/alpmestan/accelerate-arithmetic.git
tag: a110807651036ca2228a76507ee35bbf7aedf87a
source-repository-package
type: git
......@@ -56,6 +56,11 @@ source-repository-package
tag: bc6ca8058077b0b5702ea4b88bd4189cfcad267a
subdir: sparse-linear
source-repository-package
type: git
location: https://github.com/chessai/eigen.git
tag: 1790fdf9138970dde0dbabf8b270698145a4a88c
source-repository-package
type: git
location: https://github.com/delanoe/data-time-segment.git
......@@ -71,11 +76,6 @@ source-repository-package
location: https://gitlab.iscpif.fr/amestanogullari/accelerate-utility.git
tag: a3875fe652d3bb5acb522674c22c6c814c1b4ad0
source-repository-package
type: git
location: https://gitlab.iscpif.fr/cgenie/patches-class.git
tag: 125c7cb90ab8f0cd6ac4a526dbdf302d10c945e9
source-repository-package
type: git
location: https://gitlab.iscpif.fr/gargantext/crawlers/arxiv-api.git
......@@ -89,7 +89,7 @@ source-repository-package
source-repository-package
type: git
location: https://gitlab.iscpif.fr/gargantext/crawlers/hal.git
tag: 25a1e9558075462a82660987920a698b8863dd63
tag: bfa9069b4ff70f341ca3244e8aff9e83eb4b8b73
source-repository-package
type: git
......@@ -124,7 +124,7 @@ source-repository-package
source-repository-package
type: git
location: https://gitlab.iscpif.fr/gargantext/haskell-igraph.git
tag: 2a28524134b68421f30f6e97961063018f814a82
tag: 9f8a2f4a014539826a4eab3215cc70c0813f20cb
source-repository-package
type: git
......@@ -143,25 +143,30 @@ source-repository-package
source-repository-package
type: git
location: https://github.com/haskell-servant/servant.git
tag: c2af6e775d1d36f2011d43aff230bb502f8fba63
subdir: servant-auth/servant-auth-client/
servant-auth/servant-auth-server/
servant-auth/servant-auth/
servant-client-core/
servant-client/
servant-server/
servant/
location: https://gitlab.iscpif.fr/gargantext/patches-class.git
tag: 3668d28607867a88b2dfc62158139b3cfd629ddb
source-repository-package
type: git
location: https://github.com/robstewart57/rdf4h.git
tag: 4fd2edf30c141600ffad6d730cc4c1c08a6dbce4
location: https://gitlab.iscpif.fr/gargantext/servant-xml-conduit.git
tag: 339fd608341bd2652cf5c0e9e76a3293acffbea6
source-repository-package
type: git
location: https://github.com/rspeer/wikiparsec.git
tag: 9637a82344bb70f7fa8f02e75db3c081ccd434ce
location: https://github.com/llvm-hs/llvm-hs.git
tag: e4b3cfa47e72f094ab109884f18acfc666b0fb7d
subdir: llvm-hs
llvm-hs-pure
source-repository-package
type: git
location: https://github.com/MercuryTechnologies/ekg-json.git
tag: 232db57d6ce0940fcc902adf30a9ed3f3561f21d
source-repository-package
type: git
location: https://github.com/robstewart57/rdf4h.git
tag: 4fd2edf30c141600ffad6d730cc4c1c08a6dbce4
allow-older: *
allow-newer: *
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -10,7 +10,7 @@ ARG CORENLP=4.5.4
ARG CORE
COPY ./shell.nix /builds/gargantext/shell.nix
COPY ./nix/pkgs.nix /builds/gargantext/nix/pkgs.nix
COPY ./nix/pinned-22.05.nix /builds/gargantext/nix/pinned-22.05.nix
COPY ./nix/pinned-23.11.nix /builds/gargantext/nix/pinned-23.11.nix
COPY ./nix/overlays/Cabal-3.10.1.0.nix /builds/gargantext/nix/overlays/Cabal-3.10.1.0.nix
COPY ./nix/overlays/cabal-install-3.10.1.0.nix /builds/gargantext/nix/overlays/cabal-install-3.10.1.0.nix
COPY ./nix/overlays/cabal-install-solver-3.10.1.0.nix /builds/gargantext/nix/overlays/cabal-install-solver-3.10.1.0.nix
......
......@@ -45,6 +45,10 @@ flag test-crypto
default: False
manual: True
flag enable-ghc-clippy
default: False
manual: True
library
exposed-modules:
Gargantext
......@@ -397,6 +401,9 @@ library
ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wmissing-signatures -Wunused-binds -Wunused-imports -Werror -freduction-depth=300 -fplugin=Clippy -fprint-potential-instances
if flag(test-crypto)
cpp-options: -DTEST_CRYPTO
if flag(enable-ghc-clippy)
build-depends:
ghc-clippy-plugin ^>= 0.0.0.1
build-depends:
HSvm ^>= 0.1.1.3.22
, KMP ^>= 0.2.0.0
......@@ -459,7 +466,6 @@ library
, fullstop ^>= 0.1.4
, gargantext-graph >=0.1.0.0
, gargantext-prelude
, ghc-clippy-plugin ^>= 0.0.0.1
, graphviz ^>= 2999.20.1.0
, hashable ^>= 1.3.0.0
, haskell-igraph ^>= 0.10.4
......@@ -474,7 +480,9 @@ library
, http-media ^>= 0.8.0.0
, http-types ^>= 0.12.3
, hxt ^>= 9.3.1.22
, ihaskell ^>= 0.10.2.2
, 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
......@@ -526,21 +534,20 @@ library
, scientific ^>= 0.3.7.0
, semigroups ^>= 0.19.2
, serialise ^>= 0.2.4.0
, servant ^>= 0.18.3
, 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
, servant-client-core ^>= 0.18.3
, 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-mock ^>= 0.8.7
, servant-multipart ^>= 0.12.1
, servant-server ^>= 0.18.3
, 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
......
import (builtins.fetchGit {
name = "nixos-23.11";
url = "https://github.com/nixos/nixpkgs";
ref = "refs/heads/nixos-23.11";
rev = "057f9aecfb71c4437d2b27d3323df7f93c010b7e";
})
{ pkgs ? import ./pinned-22.05.nix {} }:
{ pkgs ? import ./pinned-23.11.nix {} }:
rec {
inherit pkgs;
# If we are on a Mac, in order to build successfully with cabal we need a bit more work.
ghc = if pkgs.stdenv.isDarwin
then haskell1.compiler.ghc8107.overrideAttrs (finalAttrs: previousAttrs: {
then haskell1.compiler.ghc947.overrideAttrs (finalAttrs: previousAttrs: {
# See https://github.com/NixOS/nixpkgs/pull/149942/files
patches = previousAttrs.patches ++ [
# Reverts the linking behavior of GHC to not resolve `-libc++` to `c++`.
(pkgs.fetchpatch {
url = "https://raw.githubusercontent.com/input-output-hk/haskell.nix/613ec38dbd62ab7929178c9c7ffff71df9bb86be/overlays/patches/ghc/ghc-macOS-loadArchive-fix.patch";
sha256 = "0IUpuzjZb1G+gP3q6RnwQbW4mFzc/OZ/7QqZy+57kx0=";
url = "https://gist.githubusercontent.com/adinapoli/bf722db15f72763bf79dff13a3104b6f/raw/21e4fe65e71e721aece563b0c39be6ba1ace5b28/ghc947-macOS-loadArchive-fix.patch";
sha256 = "sha256-0rWN6nGIVlB65QBGX3PaHPQFCitGGC8wTJg8kPJu5KQ=";
})
];
})
else pkgs.haskell.compiler.ghc8107;
else pkgs.haskell.compiler.ghc947;
haskell1 = pkgs.haskell // {
packages = pkgs.haskell.packages // {
ghc947 = pkgs.haskell.packages.ghc947.override {
overrides = self: super: {
#directory = self.callPackage ./overlays/directory-1.3.7.1.nix {};
#process = self.callPackage ./overlays/process-1.6.17.0.nix {};
#hackage-security = self.callPackage ./overlays/hackage-security-0.6.2.3.nix {};
#Cabal = self.callPackage ./overlays/Cabal-3.10.1.0.nix {};
#Cabal-syntax = self.callPackage ./overlays/Cabal-syntax-3.10.1.0.nix {};
#cabal-install-solver = self.callPackage ./overlays/cabal-install-solver-3.10.1.0.nix {};
#cabal-install = self.callPackage ./overlays/cabal-install-3.10.1.0.nix {};
};
};
};
};
#cabal_install_3_10_1_0 = pkgs.haskell.lib.compose.justStaticExecutables haskell1.packages.ghc947.cabal-install;
graphviz = pkgs.graphviz.overrideAttrs (finalAttrs: previousAttrs: {
# Increase the YY_BUF_SIZE, see https://gitlab.iscpif.fr/gargantext/haskell-gargantext/issues/290#note_9015
patches = [
......@@ -24,26 +40,12 @@ rec {
})
];
});
haskell1 = pkgs.haskell // {
packages = pkgs.haskell.packages // {
ghc8107 = pkgs.haskell.packages.ghc8107.override {
overrides = self: super: {
directory = self.callPackage ./overlays/directory-1.3.7.0.nix {};
process = self.callPackage ./overlays/process-1.6.15.0.nix {};
hackage-security = self.callPackage ./overlays/hackage-security-0.6.2.3.nix {};
Cabal = self.callPackage ./overlays/Cabal-3.10.1.0.nix {};
Cabal-syntax = self.callPackage ./overlays/Cabal-syntax-3.10.1.0.nix {};
cabal-install-solver = self.callPackage ./overlays/cabal-install-solver-3.10.1.0.nix {};
cabal-install = self.callPackage ./overlays/cabal-install-3.10.1.0.nix {};
};
};
};
};
cabal_install_3_10_1_0 = pkgs.haskell.lib.compose.justStaticExecutables haskell1.packages.ghc8107.cabal-install;
igraph_0_10_4 = pkgs.igraph.overrideAttrs (finalAttrs: previousAttrs: {
version = "0.10.4";
nativeBuildInputs = previousAttrs.nativeBuildInputs or [] ++ [ pkgs.gcc7 pkgs.clang_11 ];
src = pkgs.fetchFromGitHub {
owner = "igraph";
repo = "igraph";
......@@ -77,7 +79,7 @@ rec {
"-DIGRAPH_USE_INTERNAL_GMP=OFF"
"-DIGRAPH_USE_INTERNAL_PLFIT=OFF"
"-DIGRAPH_GLPK_SUPPORT=ON"
"-DIGRAPH_GRAPHML_SUPPORT=ON"
"-DIGRAPH_GRAPHML_SUPPORT=OFF"
"-DIGRAPH_OPENMP_SUPPORT=ON"
"-DIGRAPH_ENABLE_LTO=AUTO"
"-DIGRAPH_ENABLE_TLS=ON"
......@@ -98,7 +100,7 @@ rec {
});
hsBuildInputs = [
ghc
cabal_install_3_10_1_0
#cabal_install_3_10_1_0
];
nonhsBuildInputs = with pkgs; [
bzip2
......@@ -113,7 +115,7 @@ rec {
lapack
lzma
pcre
pkgconfig
pkg-config
postgresql
xz
zlib
......@@ -123,7 +125,9 @@ rec {
expat
icu
graphviz
llvm_9
llvm_15
clang_15
gcc7
igraph_0_10_4
libpqxx
libsodium
......
resolver: lts-18.28
resolver: lts-21.17
flags:
accelerate:
debug: false
wikiparsec:
library-only: true
extra-package-dbs: []
skip-ghc-check: true
packages:
......@@ -33,20 +35,8 @@ extra-deps:
- git: https://gitlab.iscpif.fr/gargantext/hlcm.git
commit: 6f0595d2421005837d59151a8b26eee83ebb67b5
# API libs
- git: https://github.com/haskell-servant/servant.git
commit: c2af6e775d1d36f2011d43aff230bb502f8fba63
subdirs:
- servant/
- servant-server/
- servant-client-core/
- servant-client/
- servant-auth/servant-auth/
- servant-auth/servant-auth-client/
- servant-auth/servant-auth-server/
- git: https://gitlab.iscpif.fr/gargantext/servant-xml-conduit.git
commit: 339fd608341bd2652cf5c0e9e76a3293acffbea6
- git: https://github.com/alpmestan/ekg-json.git
commit: fd7e5d7325939103cd87d0dc592faf644160341c
# Databases libs
- git: https://github.com/adinapoli/haskell-opaleye.git
commit: e9a29582ac66198dd2c2fdc3f8c8a4b1e6fbe004
......@@ -56,9 +46,9 @@ extra-deps:
- git: https://gitlab.iscpif.fr/gargantext/crawlers/pubmed.git
commit: 300764df4f78ea6175535f9b78b884cc2aa9da61
- git: https://gitlab.iscpif.fr/gargantext/crawlers/istex.git
commit: 9b1bd17f3ed38eab83e675bb68278922217a9c73
commit: eef5c951a6862bed31f59cd6f81a1f5fe545ac8a
- git: https://gitlab.iscpif.fr/gargantext/crawlers/hal.git
commit: 25a1e9558075462a82660987920a698b8863dd63
commit: bfa9069b4ff70f341ca3244e8aff9e83eb4b8b73
- git: https://gitlab.iscpif.fr/gargantext/crawlers/isidore.git
commit: 3db385e767d2100d8abe900833c6e7de3ac55e1b
- git: https://gitlab.iscpif.fr/gargantext/crawlers/arxiv-api.git
......@@ -72,30 +62,37 @@ extra-deps:
commit: b4182487cfe479777c11ca19f3c0d47840b376f6
- git: https://github.com/delanoe/patches-map
commit: 76cae88f367976ff091e661ee69a5c3126b94694
- git: https://gitlab.iscpif.fr/cgenie/patches-class.git
commit: 125c7cb90ab8f0cd6ac4a526dbdf302d10c945e9
- git: https://gitlab.iscpif.fr/gargantext/patches-class.git
commit: 3668d28607867a88b2dfc62158139b3cfd629ddb
# Graph libs
- git: https://gitlab.iscpif.fr/gargantext/haskell-igraph.git
# 0.10.4-rc1
commit: 2a28524134b68421f30f6e97961063018f814a82
# 0.10.4-rc2
commit: 9f8a2f4a014539826a4eab3215cc70c0813f20cb
- git: https://gitlab.iscpif.fr/gargantext/haskell-infomap.git
commit: 1370fea1939e2378ce344e512d80671ac700e787
# Accelerate Linear Algebra and specific instances
- git: https://github.com/alpmestan/accelerate.git
commit: 640b5af87cea94b61c7737d878e6f7f2fca5c015
- git: https://github.com/AccelerateHS/accelerate.git
# latest version from github (2023-12-13)
commit: 334d05519436bb7f20f9926ec76418f5b8afa359
- git: https://github.com/alpmestan/accelerate-arithmetic.git
commit: a110807651036ca2228a76507ee35bbf7aedf87a
- git: https://gitlab.iscpif.fr/amestanogullari/accelerate-utility.git
commit: a3875fe652d3bb5acb522674c22c6c814c1b4ad0
- git: https://github.com/alpmestan/accelerate-llvm.git
commit: 944f5a4aea35ee6aedb81ea754bf46b131fce9e3
- git: https://github.com/AccelerateHS/accelerate-llvm.git
# latest version from github (2023-12-13)
commit: 2b5d69448557e89002c0179ea1aaf59bb757a6e3
subdirs:
- accelerate-llvm/
- accelerate-llvm-native/
- git: https://github.com/rspeer/wikiparsec.git
commit: 9637a82344bb70f7fa8f02e75db3c081ccd434ce
- github: llvm-hs/llvm-hs
commit: e4b3cfa47e72f094ab109884f18acfc666b0fb7d # llvm-15
# commit: 423220bffac4990d019fc088c46c5f25310d5a33 # llvm-12
subdirs:
- llvm-hs
- llvm-hs-pure
- git: https://github.com/adinapoli/wikiparsec.git
commit: b3519a0351ae9515497680571f76200c24dedb53
# Gargantext-graph
- eigen-3.3.7.0@sha256:7c24a86426b238e02ba0ac2179cc44997518b443a13828ed7a791fe49a6dffa5,82060
- git: https://github.com/alpmestan/sparse-linear.git
commit: bc6ca8058077b0b5702ea4b88bd4189cfcad267a
subdirs:
......@@ -104,6 +101,11 @@ extra-deps:
commit: b9fca8beee0f23c17a6b2001ec834d071709e6e7
subdirs:
- packages/base
- git: https://github.com/chessai/eigen.git
commit: 1790fdf9138970dde0dbabf8b270698145a4a88c
# Mercury is a reputable Haskell company.
- git: https://github.com/MercuryTechnologies/ekg-json.git
commit: 232db57d6ce0940fcc902adf30a9ed3f3561f21d
# Temporary fork of boolexpr
- git: https://github.com/adinapoli/boolexpr.git
commit: 91928b5d7f9342e9865dde0d94862792d2b88779
......@@ -112,32 +114,28 @@ extra-deps:
- KMP-0.2.0.0@sha256:6dfbac03ef00ebd9347234732cb86a40f62ab5a80c0cc6bedb8eb51766f7df28,2562
- MissingH-1.4.3.0@sha256:32f9892ec98cd21df4f4d3ed8d95a3831ae74287ea0641d6f09b2dc6ef061d39,4859
- Unique-0.4.7.8@sha256:9661f45aa31dde119a2114566166ea38b011a45653337045ee4ced75636533c0,2067
- constraints-extras-0.3.1.0@sha256:12016ebb91ad5ed2c82bf7e48c6bd6947d164d33c9dca5ac3965de1bb6c780c0,1777
- context-0.2.0.0@sha256:6b643adb4a64fe521873d08df0497f71f88e18b9ecff4b68b4eef938e446cfc9,1886
- dependent-sum-0.7.1.0@sha256:0e419237f5b86da3659772afff9cab355c0f8d5b3fdb15a5b30e673d8dc83941,2147
- duckling-0.2.0.0@sha256:84becd4e48ee3676cdd6fe5745a77ee60e365ea730cd759610c8a7738f3eb4a6,60543
- fast-tagsoup-utf8-only-1.0.5@sha256:9292c8ff275c08b88b6013ccc410182552f180904214a07ad4db932ab462aaa1,1651
- fclabels-2.0.5@sha256:817006077632bd29e637956154aa33d3c10a59be0791c308cef955eb951b2675,4473
- full-text-search-0.2.1.4@sha256:81f6df3327e5b604f99b15e78635e5d6ca996e504c21d268a6d751d7d131aa36,6032
- fullstop-0.1.4@sha256:80a3e382ef53551bb936e7da8b2825621df0ea169af1212debcb0a90010b30c8,2044
- ghc-clippy-plugin-0.0.0.1
- hgal-2.0.0.2@sha256:13d58afd0668b9cb881c612eff8488a0e289edd4bbffa893df4beee60cfeb73b,653
- hsparql-0.3.8
- hstatistics-0.3.1
- hspec-2.11.1
- hspec-core-2.11.1
- hspec-discover-2.11.1
- hspec-expectations-0.8.3
- json-stream-0.4.2.4@sha256:8b7f17d54a6e1e6311756270f8bcf51e91bab4300945400de66118470dcf51b9,4716
- hstatistics-0.3.1
- ihaskell-0.11.0.0
- ipython-kernel-0.11.0.0
- located-base-0.1.1.1@sha256:7c6395f2b6fbf2d5f76c3514f774423838c0ea94e1c6a5530dd3c94b30c9d1c8,1904
- logging-effect-1.3.12@sha256:72d168dd09887649ba9501627219b6027cbec2d5541931555b7885b133785ce3,1679
- logict-0.8.0.0
- monad-logger-aeson-0.2.0.0
- monoid-extras-0.5.1@sha256:438dbfd7b4dce47d8f0ca577f56caf94bd1e21391afa545cad09fe7cf2e5793d,2333
- rake-0.0.1@sha256:3380f6567fb17505d1095b7f32222c0b631fa04126ad39726c84262da99c08b3,2025
- random-1.2.1
- recover-rtti-0.4.3
- servant-cassava-0.10.1@sha256:07e7b6ca67cf57dcb4a0041a399a25d058844505837c6479e01d62be59d01fdf,1665
- servant-ekg-0.3.1@sha256:19bd9dc3943983da8e79d6f607614c68faea4054fb889d508c8a2b67b6bdd448,2203
- servant-flatten-0.2@sha256:276896f7c5cdec5b8f8493f6205fded0cc602d050b58fdb09a6d7c85c3bb0837,1234
- servant-mock-0.8.7@sha256:64cb3e52bbd51ab6cb25e3f412a99ea712c6c26f1efd117f01a8d1664df49c67,2306
......
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