Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1# Build Open Dylan from source using the binary builds to bootstrap. 2{lib, stdenv, fetchFromGitHub, boehmgc, mps, gnused, opendylan-bootstrap, autoconf, automake, perl, makeWrapper, gcc }: 3 4stdenv.mkDerivation { 5 pname = "opendylan"; 6 version = "2016.1pre"; 7 8 src = fetchFromGitHub { 9 owner = "dylan-lang"; 10 repo = "opendylan"; 11 rev = "cd9a8395586d33cc43a8611c1dc0513e69ee82dd"; 12 sha256 = "sha256-i1wr4mBUbZhL8ENFGz8gV/mMzSJsj1AdJLd4WU9tIQM="; 13 fetchSubmodules = true; 14 }; 15 16 nativeBuildInputs = [ makeWrapper autoconf automake ]; 17 buildInputs = (if stdenv.hostPlatform.system == "i686-linux" then [ mps ] else [ boehmgc ]) ++ [ 18 opendylan-bootstrap boehmgc perl 19 ]; 20 21 preConfigure = if stdenv.hostPlatform.system == "i686-linux" then '' 22 mkdir -p $TMPDIR/mps 23 tar --strip-components=1 -xf ${mps.src} -C $TMPDIR/mps 24 ./autogen.sh 25 '' 26 else '' 27 ./autogen.sh 28 ''; 29 30 configureFlags = [ 31 (if stdenv.hostPlatform.system == "i686-linux" then "--with-mps=$(TMPDIR)/mps" else "--with-gc=${boehmgc.out}") 32 ]; 33 buildPhase = "make 3-stage-bootstrap"; 34 35 postInstall = "wrapProgram $out/bin/dylan-compiler --suffix PATH : ${gcc}/bin"; 36 37 meta = { 38 homepage = "https://opendylan.org"; 39 description = "A multi-paradigm functional and object-oriented programming language"; 40 license = lib.licenses.mit; 41 platforms = lib.platforms.linux; 42 broken = true; # last successful build 2020-12-11 43 }; 44}