Author: viric
Date: Fri Oct 14 07:47:20 2011
New Revision: 29831
URL: https://nixos.org/websvn/nix/?rev=29831&sc=1

Log:
Adding cbrowser. Have cscope on the path to use it (which you should already
have, because otherwise how would you have created the database for cbrowser?)

Added:
   nixpkgs/trunk/pkgs/development/tools/misc/cbrowser/
   nixpkgs/trunk/pkgs/development/tools/misc/cbrowser/backslashes-quotes.diff
   nixpkgs/trunk/pkgs/development/tools/misc/cbrowser/default.nix
Modified:
   nixpkgs/trunk/pkgs/top-level/all-packages.nix

Added: 
nixpkgs/trunk/pkgs/development/tools/misc/cbrowser/backslashes-quotes.diff
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/development/tools/misc/cbrowser/backslashes-quotes.diff  
Fri Oct 14 07:47:20 2011        (r29831)
@@ -0,0 +1,49 @@
+Based on this:
+http://sourceforge.net/tracker/?func=detail&aid=1493886&group_id=5152&atid=305152
+fix the infinite loops in quote highlight - ID: 1493886
+
+--- cbrowser-0.8-2/ftcllib.tcl 2000-07-04 01:17:43.000000000 +0200
++++ cbrowser-0.8/ftcllib.tcl   2006-05-24 00:39:18.833762522 +0200
+@@ -1290,13 +1290,39 @@
+   foreach {start end} [concat 1.0 [$widget tag ranges comment] end] {
+ 
+     while {[set temp [$widget search -regexp -- $pattern $start $end]] != ""} 
{
++      set startquote [$widget index "$temp + 1chars"]
+ 
+-      set endquote [$widget search -regexp -- {[^\\]\"} "$temp + 1chars" $end]
++      set temp [$widget index "$startquote + 1chars"]
++      while {1==1} {
++        set endquote [$widget search -regexp -- {\"} $temp $end]
++
++      # The program will not break if a /*C comment*/ is between C quotes.
++      if { $endquote == "" } {
++        set endquote $startquote
++        break
++      }
++
++        # look for double backslashes
++      if {[set temp2 [$widget search -regexp -- {\\\\} $temp $endquote]] != 
""} {
++        set temp "$temp2 + 2chars"
++        continue
++      }
++        
++        # look for \"
++      if {[set temp2 [$widget search -regexp -- {\\\"} $temp $endquote]] != 
""} {
++        set temp "$temp2 + 2chars"
++        continue
++      }
++
++      break
++      }
+ 
+       if {[strlen $endquote] > 0} {
+-        set start [$widget index "$endquote + 2chars"]
++        set start [$widget index "$endquote + 1chars"]
+ 
+-        $widget tag add quote "$temp + 1chars" $start
++        $widget tag add quote $startquote $start
++      } else {
++        set start [$widget index "$start + 1chars"]
+       }
+     }
+   }

Added: nixpkgs/trunk/pkgs/development/tools/misc/cbrowser/default.nix
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/development/tools/misc/cbrowser/default.nix      Fri Oct 
14 07:47:20 2011        (r29831)
@@ -0,0 +1,34 @@
+{ fetchurl, stdenv, cscope, tk, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "cbrowser-0.8";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/cbrowser/cbrowser-0.8.tar.gz";
+    sha256 = "1050mirjab23qsnq3lp3a9vwcbavmh9kznzjm7dr5vkx8b7ffcji";
+  };
+
+  patches = [ ./backslashes-quotes.diff ];
+
+  buildInputs = [ tk makeWrapper ];
+
+  installPhase = ''
+    ensureDir $out/bin $out/share/${name}
+    cp -R * $out/share/${name}/
+
+    makeWrapper $out/share/${name}/cbrowser $out/bin/cbrowser \
+      --prefix PATH : ${tk}/bin
+  '';
+
+  meta = {
+    description = "Tcl/Tk GUI front-end to cscope";
+
+    license = "GPLv2+";
+
+    homepage = http://sourceforge.net/projects/cbrowser/;
+
+    maintainers = with stdenv.lib.maintainers; [viric];
+
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}

Modified: nixpkgs/trunk/pkgs/top-level/all-packages.nix
==============================================================================
--- nixpkgs/trunk/pkgs/top-level/all-packages.nix       Thu Oct 13 18:30:55 
2011        (r29830)
+++ nixpkgs/trunk/pkgs/top-level/all-packages.nix       Fri Oct 14 07:47:20 
2011        (r29831)
@@ -2764,6 +2764,8 @@
 
   byacc = callPackage ../development/tools/parsing/byacc { };
 
+  cbrowser = callPackage ../development/tools/misc/cbrowser { };
+
   ccache = callPackage ../development/tools/misc/ccache { };
 
   complexity = callPackage ../development/tools/misc/complexity { };
_______________________________________________
nix-commits mailing list
nix-comm...@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-commits

Reply via email to