1{ lib
2, stdenv
3, fetchFromGitHub
4, autoreconfHook
5, sqlite
6}:
7
8stdenv.mkDerivation rec {
9 pname = "mps";
10 version = "1.118.0";
11
12 src = fetchFromGitHub {
13 owner = "Ravenbrook";
14 repo = "mps";
15 rev = "refs/tags/release-${version}";
16 hash = "sha256-3ql3jWLccgnQHKf23B1en+nJ9rxqmHcWd7aBr93YER0=";
17 };
18
19 nativeBuildInputs = [ autoreconfHook ];
20 buildInputs = [ sqlite ];
21
22 # needed for 1.116.0 to build with gcc7
23 env.NIX_CFLAGS_COMPILE = toString [
24 "-Wno-implicit-fallthrough"
25 "-Wno-error=clobbered"
26 "-Wno-error=cast-function-type"
27 ];
28
29
30 meta = {
31 description = "A flexible memory management and garbage collection library";
32 homepage = "https://www.ravenbrook.com/project/mps";
33 license = lib.licenses.sleepycat;
34 platforms = lib.platforms.linux;
35 maintainers = [ lib.maintainers.thoughtpolice ];
36 };
37}