diff --git a/pkgs/development/compilers/picat/default.nix b/pkgs/development/compilers/picat/default.nix new file mode 100644 index 000000000000..7f2f6158dd89 --- /dev/null +++ b/pkgs/development/compilers/picat/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation { + name = "picat-1.9-4"; + + src = fetchurl { + url = http://picat-lang.org/download/picat19_src.tar.gz; + sha256 = "0wvl95gf4pjs93632g4wi0mw1glzzhjp9g4xg93ll2zxggbxibli"; + }; + + ARCH = if stdenv.system == "i686-linux" then "linux32" + else if stdenv.system == "x86_64-linux" then "linux64" + else throw "Unsupported system"; + + buildPhase = '' + cd emu + make -f Makefile.picat.$ARCH + ''; + + installPhase = '' + mkdir -p $out/bin + cp picat_$ARCH $out/bin/picat + ''; + + meta = { + description = "Logic-based programming langage"; + longDescription = '' + Picat is a simple, and yet powerful, logic-based multi-paradigm + programming language aimed for general-purpose applications. + ''; + homepage = http://picat-lang.org/; + license = stdenv.lib.licenses.mpl20; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8e1a710b15a3..bd83fa4de6c3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5219,6 +5219,10 @@ in ocamlnat = newScope pkgs.ocamlPackages_3_12_1 ../development/ocaml-modules/ocamlnat { }; + picat = callPackage ../development/compilers/picat { + stdenv = overrideCC stdenv gcc49; + }; + ponyc = callPackage ../development/compilers/ponyc { llvm = llvm_36; };