From 897897cc30066abbf191a5b52c144a2b2c479f9f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 5 May 2015 18:55:28 +0200 Subject: [PATCH] Add flexc++ 2.02.00: C++ lexical scanner generator --- .../tools/parsing/flexc++/default.nix | 47 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 49 insertions(+) create mode 100644 pkgs/development/tools/parsing/flexc++/default.nix diff --git a/pkgs/development/tools/parsing/flexc++/default.nix b/pkgs/development/tools/parsing/flexc++/default.nix new file mode 100644 index 000000000000..0d96c562c167 --- /dev/null +++ b/pkgs/development/tools/parsing/flexc++/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchurl, bobcat, gcc49, icmake, yodl }: + +let version = "2.02.00"; in +stdenv.mkDerivation rec { + name = "flexc++-${version}"; + + src = fetchurl { + sha256 = "0mz5d0axr4c8rrmn4iw7b5llmf6f3g9cnjzzz3kw02mfzwll79rz"; + url = "mirror://sourceforge/flexcpp/${version}/flexc++_${version}.orig.tar.gz"; + }; + + meta = with stdenv.lib; { + inherit version; + description = ""; + longDescription = '' + Flexc++ was designed after `flex'. Flexc++ offers a cleaner class design + and requires simpler specification files than offered by flex's C++ + option. + ''; + homepage = http://flexcpp.sourceforge.net/; + downloadPage = http://sourceforge.net/projects/flexcpp/files/; + license = with licenses; gpl3; + platforms = with platforms; linux; + maintainers = with maintainers; [ nckx ]; + }; + + buildInputs = [ bobcat gcc49 icmake yodl ]; + + postPatch = '' + substituteInPlace INSTALL.im --replace /usr $out + patchShebangs ./build + ''; + + buildPhase = '' + ./build man + ./build manual + ./build program + ''; + + installPhase = '' + ./build install man + ./build install manual + ./build install program + ./build install skel + ./build install std + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dbe9e6d92269..c2752f14b862 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5165,6 +5165,8 @@ let flex_2_5_39 = callPackage ../development/tools/parsing/flex/2.5.39.nix { }; flex = flex_2_5_39; + flexcpp = callPackage ../development/tools/parsing/flexc++ { }; + m4 = gnum4; geis = callPackage ../development/libraries/geis { };