diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/tools/parsing/bisonc++/default.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/development/tools/parsing/bisonc++/default.nix | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/tools/parsing/bisonc++/default.nix b/infra/libkookie/nixpkgs/pkgs/development/tools/parsing/bisonc++/default.nix new file mode 100644 index 000000000000..c6a4fc1a068d --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/development/tools/parsing/bisonc++/default.nix @@ -0,0 +1,56 @@ +{stdenv, fetchurl, fetchFromGitLab +, yodl, icmake, flexcpp, bobcat +}: +stdenv.mkDerivation rec { + pname = "bisonc++"; + version = "6.04.00"; + + src = fetchFromGitLab { + domain = "gitlab.com"; + owner = "fbb-git"; + repo = "bisoncpp"; + rev = "6.04.00"; + sha256 = "sha256:0aa9bij4g08ilsk6cgrbgi03vyhqr9fn6j2164sjin93m63212wl"; + }; + + buildInputs = [ bobcat ]; + + nativeBuildInputs = [ yodl icmake flexcpp ]; + + setSourceRoot = '' + sourceRoot="$(echo */bisonc++)" + ''; + + gpl = fetchurl { + url = "https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt"; + sha256 = "sha256:0hq6i0dm4420825fdm0lnnppbil6z67ls67n5kgjcd912dszjxw1"; + }; + + postPatch = '' + substituteInPlace INSTALL.im --replace /usr $out + patchShebangs . + for file in $(find documentation -type f); do + substituteInPlace "$file" --replace /usr/share/common-licenses/GPL ${gpl} + substituteInPlace "$file" --replace /usr $out + done + ''; + + buildPhase = '' + ./build program + ./build man + ./build manual + ''; + + installPhase = '' + ./build install x + ''; + + meta = with stdenv.lib; { + inherit version; + description = "A parser generator like bison, but it generates C++ code"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ raskin ]; + platforms = platforms.linux; + homepage = "https://fbb-git.gitlab.io/bisoncpp/"; + }; +} |