diff --git a/pkgs/development/compilers/aldor/default.nix b/pkgs/development/compilers/aldor/default.nix new file mode 100644 index 000000000000..7d0fd7a39bbc --- /dev/null +++ b/pkgs/development/compilers/aldor/default.nix @@ -0,0 +1,52 @@ +{ fetchgit, stdenv, gmp, which, flex, bison, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "aldor"; + version = "1.1.0"; + name = "${pname}-${version}"; + gitRev = "a02b088c8d5d06f16c50a83ddee4019e962d6673"; + + src = fetchgit { + url = "https://github.com/pippijn/aldor"; + sha256 = "1zd343wq46f74yr30a5nrbv5n831z6wd24yqnrs7w17ccic69lny"; + rev = gitRev; + }; + + buildInputs = [ gmp which flex bison makeWrapper ]; + + installPhase = '' + for d in bin include lib ; + do + ensureDir $out/$d ; + cp -r build/$d $out/ ; + done + + for prog in aldor unicl zacc ; + do + wrapProgram $out/bin/$prog --set ALDORROOT $out \ + --prefix PATH : ${stdenv.gcc}/bin ; + done + ''; + + meta = with stdenv.lib ; { + description = "Aldor is a programming language with an expressive type system"; + + longDescription = '' + Aldor is a programming language with an expressive type system well-suited + for mathematical computing and which has been used to develop a number of + computer algebra libraries. Originally known as A#, Aldor was conceived as + an extension language for the Axiom system, but is now used more in other settings. + In Aldor, types and functions are first class values that can be constructed + and manipulated within programs. Pervasive support for dependent types allows + static checking of dynamic objects. What does this mean for a normal user? Aldor + solves many difficulties encountered in widely-used object-oriented programming + languages. It allows programs to use a natural style, combining the more attractive + and powerful properties of functional, object-oriented and aspect-oriented styles. + ''; + + homepage = http://www.aldor.org/; + license = licenses.asl20; + maintainers = [ ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 108424f87c79..a8b2370d1f53 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2074,6 +2074,8 @@ let javaCup = callPackage ../development/libraries/java/cup { }; }; + aldor = callPackage ../development/compilers/aldor { }; + aspectj = callPackage ../development/compilers/aspectj { }; bigloo = callPackage ../development/compilers/bigloo { };