Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 20.09 48 lines 1.2 kB view raw
1{ stdenv, fetchFromGitHub, makeWrapper, gmp, gcc }: 2 3with stdenv.lib; stdenv.mkDerivation rec { 4 pname = "mkcl"; 5 version = "1.1.11"; 6 7 src = fetchFromGitHub { 8 owner = "jcbeaudoin"; 9 repo = "mkcl"; 10 rev = "v${version}"; 11 sha256 = "0i2bfkda20lfypis6i4m7srfz6miyf66d8knp693d6sms73m2l26"; 12 }; 13 14 nativeBuildInputs = [ makeWrapper ]; 15 16 propagatedBuildInputs = [ gmp ]; 17 18 hardeningDisable = [ "format" ]; 19 20 configureFlags = [ 21 "GMP_CFLAGS=-I${gmp.dev}/include" 22 "GMP_LDFLAGS=-L${gmp.out}/lib" 23 ]; 24 25 # tinycc configure flags copied from the tinycc derivation. 26 postConfigure = ''( 27 cd contrib/tinycc 28 ./configure --cc=cc \ 29 --elfinterp=$(< $NIX_CC/nix-support/dynamic-linker) \ 30 --crtprefix=${getLib stdenv.cc.libc}/lib \ 31 --sysincludepaths=${getDev stdenv.cc.libc}/include:{B}/include \ 32 --libpaths=${getLib stdenv.cc.libc}/lib 33 )''; 34 35 postInstall = '' 36 wrapProgram $out/bin/mkcl --prefix PATH : "${gcc}/bin" 37 ''; 38 39 enableParallelBuilding = true; 40 41 meta = { 42 description = "ANSI Common Lisp Implementation"; 43 homepage = "https://common-lisp.net/project/mkcl/"; 44 license = licenses.lgpl2Plus; 45 platforms = platforms.linux; 46 maintainers = with maintainers; [ tohl ]; 47 }; 48}