1 { pkgs ? import ./pinned-22.05.nix {} }:
5 ghc = pkgs.haskell.compiler.ghc8107;
6 haskell1 = pkgs.haskell // {
7 packages = pkgs.haskell.packages // {
8 ghc8107 = pkgs.haskell.packages.ghc8107.override {
9 overrides = self: super: {
10 directory = self.callPackage ./overlays/directory-1.3.7.0.nix {};
11 process = self.callPackage ./overlays/process-1.6.15.0.nix {};
12 hackage-security = self.callPackage ./overlays/hackage-security-0.6.2.3.nix {};
13 Cabal = self.callPackage ./overlays/Cabal-3.10.1.0.nix {};
14 Cabal-syntax = self.callPackage ./overlays/Cabal-syntax-3.10.1.0.nix {};
15 cabal-install-solver = self.callPackage ./overlays/cabal-install-solver-3.10.1.0.nix {};
16 cabal-install = self.callPackage ./overlays/cabal-install-3.10.1.0.nix {};
21 cabal_install_3_10_1_0 = pkgs.haskell.lib.compose.justStaticExecutables haskell1.packages.ghc8107.cabal-install;
23 igraph_0_10_4 = pkgs.igraph.overrideAttrs (finalAttrs: previousAttrs: {
26 src = pkgs.fetchFromGitHub {
30 hash = "sha256-LsTOxUktGZcp46Ec9QH3+9C+VADMYTZZCjKF1gp36xk=";
34 echo "0.10.4" > IGRAPH_VERSION
37 outputs = [ "out" "doc" ];
47 ] ++ pkgs.lib.optionals pkgs.stdenv.cc.isClang [
48 pkgs.llvmPackages.openmp
52 "-DIGRAPH_USE_INTERNAL_BLAS=OFF"
53 "-DIGRAPH_USE_INTERNAL_LAPACK=OFF"
54 "-DIGRAPH_USE_INTERNAL_ARPACK=OFF"
55 "-DIGRAPH_USE_INTERNAL_GLPK=OFF"
56 "-DIGRAPH_USE_INTERNAL_GMP=OFF"
57 "-DIGRAPH_USE_INTERNAL_PLFIT=OFF"
58 "-DIGRAPH_GLPK_SUPPORT=ON"
59 "-DIGRAPH_GRAPHML_SUPPORT=ON"
60 "-DIGRAPH_OPENMP_SUPPORT=ON"
61 "-DIGRAPH_ENABLE_LTO=AUTO"
62 "-DIGRAPH_ENABLE_TLS=ON"
63 "-DBUILD_SHARED_LIBS=ON"
68 cp -r doc "$out/share"
71 postFixup = previousAttrs.postFixup + ''
73 cd "$out/include/igraph" && cp *.h ../
80 cabal_install_3_10_1_0
82 nonhsBuildInputs = with pkgs; [
89 #haskell-language-server
108 ] ++ ( lib.optionals stdenv.isDarwin [
109 darwin.apple_sdk.frameworks.Accelerate
111 libPaths = pkgs.lib.makeLibraryPath nonhsBuildInputs;
113 export LD_LIBRARY_PATH="${pkgs.gfortran7.cc.lib}:${libPaths}:$LD_LIBRARY_PATH"
114 export LIBRARY_PATH="${pkgs.gfortran7.cc.lib}:${libPaths}"
116 shell = pkgs.mkShell {
117 name = "gargantext-shell";
118 buildInputs = hsBuildInputs ++ nonhsBuildInputs;