summary refs log tree commit diff
path: root/pkgs/development/tools/parsing/bisonc++/default.nix
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2020-11-11 18:20:39 +0000
committerGitHub <noreply@github.com>2020-11-11 18:20:39 +0000
commit83992fd7c6f93ce1310db4eca9c2cc053a9d0b37 (patch)
treeb49b27e4111a46fbec4a594ec75e7cbab62f2d86 /pkgs/development/tools/parsing/bisonc++/default.nix
parent823c7b37308ea67770098b700a3dd88a13639d49 (diff)
downloadnixpkgs-83992fd7c6f93ce1310db4eca9c2cc053a9d0b37.tar
nixpkgs-83992fd7c6f93ce1310db4eca9c2cc053a9d0b37.tar.gz
nixpkgs-83992fd7c6f93ce1310db4eca9c2cc053a9d0b37.tar.bz2
nixpkgs-83992fd7c6f93ce1310db4eca9c2cc053a9d0b37.tar.lz
nixpkgs-83992fd7c6f93ce1310db4eca9c2cc053a9d0b37.tar.xz
nixpkgs-83992fd7c6f93ce1310db4eca9c2cc053a9d0b37.tar.zst
nixpkgs-83992fd7c6f93ce1310db4eca9c2cc053a9d0b37.zip
bisoncpp: init (#103316)
* bobcat: 4.08.03 -> 5.05.00; switch homepage

* bisoncpp: init at 6.04.00

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Diffstat (limited to 'pkgs/development/tools/parsing/bisonc++/default.nix')
-rw-r--r--pkgs/development/tools/parsing/bisonc++/default.nix56
1 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/development/tools/parsing/bisonc++/default.nix b/pkgs/development/tools/parsing/bisonc++/default.nix
new file mode 100644
index 00000000000..c6a4fc1a068
--- /dev/null
+++ b/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/";
+  };
+}