2018-10-12 23:22:25 +02:00
|
|
|
{ stdenv, lib, fetchFromGitHub, alex, happy, Agda, agdaIowaStdlib,
|
2018-10-22 10:42:01 +02:00
|
|
|
buildPlatform, buildPackages, ghcWithPackages, fetchpatch }:
|
|
|
|
let
|
|
|
|
options-patch =
|
|
|
|
fetchpatch {
|
|
|
|
url = https://github.com/cedille/cedille/commit/ee62b0fabde6c4f7299a3778868519255cc4a64f.patch;
|
|
|
|
name = "options.patch";
|
|
|
|
sha256 = "19xzn9sqpfnfqikqy1x9lb9mb6722kbgvrapl6cf8ckcw8cfj8cz";
|
|
|
|
};
|
|
|
|
in
|
2018-10-12 23:22:25 +02:00
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
version = "1.0.0";
|
|
|
|
name = "cedille-${version}";
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "cedille";
|
|
|
|
repo = "cedille";
|
|
|
|
rev = "v${version}";
|
|
|
|
sha256 = "08c2vgg8i6l3ws7hd5gsj89mki36lxm7x7s8hi1qa5gllq04a832";
|
|
|
|
};
|
|
|
|
buildInputs = [ alex happy Agda (ghcWithPackages (ps: [ps.ieee])) ];
|
|
|
|
|
2018-10-22 10:42:01 +02:00
|
|
|
patches = [options-patch];
|
|
|
|
|
2018-10-12 23:22:25 +02:00
|
|
|
LANG = "en_US.UTF-8";
|
|
|
|
LOCALE_ARCHIVE =
|
|
|
|
lib.optionalString (buildPlatform.libc == "glibc")
|
|
|
|
"${buildPackages.glibcLocales}/lib/locale/locale-archive";
|
|
|
|
|
|
|
|
postPatch = ''
|
|
|
|
patchShebangs create-libraries.sh
|
|
|
|
cp -r ${agdaIowaStdlib.src} ial
|
|
|
|
chmod -R 755 ial
|
|
|
|
'';
|
|
|
|
|
2018-10-22 10:43:07 +02:00
|
|
|
outputs = ["out" "lib"];
|
|
|
|
|
2018-10-12 23:22:25 +02:00
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/bin
|
|
|
|
mv cedille $out/bin/cedille
|
2018-10-22 10:43:07 +02:00
|
|
|
mv lib $lib
|
2018-10-12 23:22:25 +02:00
|
|
|
'';
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "An interactive theorem-prover and dependently typed programming language, based on extrinsic (aka Curry-style) type theory.";
|
|
|
|
homepage = https://cedille.github.io/;
|
|
|
|
license = stdenv.lib.licenses.mit;
|
|
|
|
maintainers = [ stdenv.lib.maintainers.mpickering ];
|
|
|
|
platforms = stdenv.lib.platforms.unix;
|
|
|
|
};
|
|
|
|
}
|