Repository navigation
Expand file tree
/
Copy pathshell.nix
More file actions
55 lines (48 loc) · 1.81 KB
/
Copy pathshell.nix
File metadata and controls
55 lines (48 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{
pkgs ? import (builtins.fetchGit {
url = "https://github.com/NixOS/nixpkgs";
rev = "01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09";
}) { },
}:
let
prismaEngineCommit = "34ace0eb2704183d2c05b60b52fba5c43c13f303";
prismaEngineBaseUrl = "https://binaries.prisma.sh/all_commits/${prismaEngineCommit}/debian-openssl-3.0.x";
fetchPrismaEngine =
name: hash:
pkgs.fetchurl {
url = "${prismaEngineBaseUrl}/${name}.gz";
inherit hash;
};
prismaEngines = pkgs.stdenv.mkDerivation {
pname = "studystarter-prisma-engines";
version = prismaEngineCommit;
dontUnpack = true;
nativeBuildInputs = [
pkgs.autoPatchelfHook
pkgs.gzip
];
buildInputs = [
pkgs.openssl
pkgs.stdenv.cc.cc.lib
pkgs.zlib
];
installPhase = ''
mkdir -p $out/bin $out/lib
gunzip -c ${fetchPrismaEngine "prisma-fmt" "sha256-dqKh4BRuOjPk8oHn3pKwP63zSs4I10SYIu1/raC8y5g="} > $out/bin/prisma-fmt
gunzip -c ${fetchPrismaEngine "query-engine" "sha256-PBuVZ6Cw7rIwB89RMC6iY3ZyBuo/BcQgM2wsX5ggzWg="} > $out/bin/query-engine
gunzip -c ${fetchPrismaEngine "libquery_engine.so.node" "sha256-d+XWz9BbDSz/ZbycF64bA+bvm5pnaF7l5le/KTfRwUQ="} > $out/lib/libquery_engine.node
gunzip -c ${fetchPrismaEngine "schema-engine" "sha256-coTYlofR4KTlbrygv9/NNUlnDp3tuCBUXb66LPAcKF8="} > $out/bin/schema-engine
chmod +x $out/bin/*
'';
};
in
pkgs.mkShell {
packages = [ pkgs.postgresql ];
shellHook = ''
export STUDYSTARTER_PRISMA_ENGINE_COMMIT="${prismaEngineCommit}"
export PRISMA_FMT_BINARY="${prismaEngines}/bin/prisma-fmt"
export PRISMA_QUERY_ENGINE_BINARY="${prismaEngines}/bin/query-engine"
export PRISMA_QUERY_ENGINE_LIBRARY="${prismaEngines}/lib/libquery_engine.node"
export PRISMA_SCHEMA_ENGINE_BINARY="${prismaEngines}/bin/schema-engine"
'';
}