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