We never need dynamic haskell libraries, because even the dynamic builds only dynamically link non-haskell dependencies, but always link haskell dependencies statically. Profiled libraries are only required when running the memory test, so explicitly enable them for the profiled package. This also means, that we don't need to hide the memory test behind a feature flag anymore. The reason always was assumed to be the big number of rebuilds required for it. I assume ever since we moved off of static-haskell-nix and back to nixpkgs-based builds, we have been building profiled libraries for all our dependencies anway.
64 lines
1.5 KiB
Nix
64 lines
1.5 KiB
Nix
# The additional modules below have large dependencies and are therefore
|
|
# disabled by default. You can activate them by passing arguments to nix-shell,
|
|
# e.g.:
|
|
#
|
|
# nix-shell --arg docker true
|
|
#
|
|
# We highly recommend that use the PostgREST binary cache by installing cachix
|
|
# (https://app.cachix.org/) and running `cachix use postgrest`.
|
|
{ docker ? false
|
|
}:
|
|
let
|
|
postgrest =
|
|
import ./default.nix { };
|
|
|
|
inherit (postgrest) pkgs;
|
|
|
|
inherit (pkgs) lib;
|
|
|
|
toolboxes =
|
|
[
|
|
postgrest.cabalTools
|
|
postgrest.devTools
|
|
postgrest.docs
|
|
postgrest.loadtest
|
|
postgrest.memory
|
|
postgrest.nixpkgsTools
|
|
postgrest.release
|
|
postgrest.style
|
|
postgrest.tests
|
|
postgrest.withTools
|
|
]
|
|
++ lib.optional docker postgrest.docker;
|
|
|
|
in
|
|
lib.overrideDerivation postgrest.env (
|
|
base: {
|
|
buildInputs =
|
|
base.buildInputs ++ [
|
|
pkgs.cabal-install
|
|
pkgs.cabal2nix
|
|
pkgs.git
|
|
pkgs.postgresql
|
|
pkgs.update-nix-fetchgit
|
|
postgrest.hsie.bin
|
|
]
|
|
++ toolboxes;
|
|
|
|
shellHook =
|
|
''
|
|
export HISTFILE=.history
|
|
|
|
source ${pkgs.bash-completion}/etc/profile.d/bash_completion.sh
|
|
source ${pkgs.git}/share/git/contrib/completion/git-completion.bash
|
|
source ${postgrest.hsie.bash-completion}
|
|
|
|
''
|
|
+ builtins.concatStringsSep "\n" (
|
|
builtins.map (bash-completion: "source ${bash-completion}") (
|
|
builtins.concatLists (builtins.map (toolbox: toolbox.bash-completion) toolboxes)
|
|
)
|
|
);
|
|
}
|
|
)
|