depot/third_party/nixpkgs/pkgs/development/compilers/copper/default.nix

34 lines
867 B
Nix
Raw Normal View History

{ lib, stdenv
, fetchurl
, libffi
}:
stdenv.mkDerivation rec {
pname = "copper";
version = "4.4";
src = fetchurl {
url = "https://tibleiz.net/download/copper-${version}-src.tar.gz";
sha256 = "1nf0bw143rjhd019yms3k6k531rahl8anidwh6bif0gm7cngfwfw";
};
buildInputs = [
libffi
];
postPatch = ''
substituteInPlace Makefile --replace "-s scripts/" "scripts/"
patchShebangs .
'';
buildPhase = ''
make BACKEND=elf64 boot-elf64
make BACKEND=elf64 COPPER=stage3/copper-elf64 copper-elf64
'';
installPhase = ''
make BACKEND=elf64 install prefix=$out
'';
meta = with lib; {
description = "Simple imperative language, statically typed with type inference and genericity";
homepage = "https://tibleiz.net/copper/";
license = licenses.bsd2;
platforms = platforms.x86_64;
broken = stdenv.isDarwin;
};
}