diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/parsing/flexc++/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/tools/parsing/flexc++/default.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/parsing/flexc++/default.nix b/nixpkgs/pkgs/development/tools/parsing/flexc++/default.nix new file mode 100644 index 000000000000..e4db5631e7fe --- /dev/null +++ b/nixpkgs/pkgs/development/tools/parsing/flexc++/default.nix @@ -0,0 +1,47 @@ +{ lib, stdenv, fetchFromGitHub, bobcat, icmake, yodl }: + +stdenv.mkDerivation rec { + pname = "flexc++"; + version = "2.05.00"; + + src = fetchFromGitHub { + sha256 = "0s25d9jsfsqvm34rwf48cxwz23aq1zja3cqlzfz3z33p29wwazwz"; + rev = version; + repo = "flexcpp"; + owner = "fbb-git"; + }; + + setSourceRoot = '' + sourceRoot=$(echo */flexc++) + ''; + + buildInputs = [ bobcat ]; + nativeBuildInputs = [ icmake yodl ]; + + postPatch = '' + substituteInPlace INSTALL.im --replace /usr $out + patchShebangs . + ''; + + buildPhase = '' + ./build man + ./build manual + ./build program + ''; + + installPhase = '' + ./build install x + ''; + + meta = with lib; { + description = "C++ tool for generating lexical scanners"; + 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 = "https://fbb-git.github.io/flexcpp/"; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} |