[gvd-devel] CVS checkout?

Toralf Lund toralf@kscanners.com
Mon, 20 Aug 2001 17:12:15 +0200


--AWniW0JNca5xppdA
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit

On 2001.08.17 17:32 Arnaud Charlet wrote:
> > I managed to check out gvd sources from CVS earlier a while back, but
> now I
> > get:
> 
> Thanks, we will investigate.
> 
> > Also, last time I tried, I wasn't able to build anything because GtkAda
> > and/or gnat was too old, although I was using the latest distributions
> I
> > could find - in RPM format, anyway.
> 
> You usually need the CVS version of GtkAda to build GVD, but without
> more details, there's not much we can say.
> 
> > Speaking of RPM, a .spec file for gvd would also be nice, as I
> absolutely
> > refuse to install anything directly from source.
> 
> GVD binaries are available at libre.act-europe.fr, so you do not need to
> install from source. If you want to contribute a .spec file, that'd be
> great.
Seems like your system just isn't in a state where you can simply check it
out and
build it. At least, I've had make a lot of updates in GtkAda to be able to
do simple operations like 'make dist' - but I still can't build it;
gnatmake doesn't appear to work for me (it says that object files are
up-to-date in many cases when they are missing.)

Anyhow, the attached patch should show what I wanted to do. Obviously,
I haven't been able to test the code, so it's probably wrong. You should be
to get the general idea by reading it, though. 

As for .spec files, a preliminary version of GtkAda.spec.in is also
included
here, it's of course more or less untested, too. But really, re-writing
this shouldn't be necessary - *someone* must have a working version since
binary RPMs are available.

- Toralf
 

--AWniW0JNca5xppdA
Content-Type: application/octet-stream; charset=us-ascii
Content-Disposition: attachment; filename="GtkAda.spec.in"
Content-Transfer-Encoding: base64

JWRlZmluZSAgUkVMRUFTRSAxCiVkZWZpbmUgIHJlbCAgICAgJXs/Q1VTVE9NX1JFTEVBU0V9
ICV7IT9DVVNUT01fUkVMRUFTRTolUkVMRUFTRX0KCk5hbWUgICAgICAgIDogR3RrQWRhClZl
cnNpb24gICAgIDogQEdUS0FEQV9WRVJTSU9OQApSZWxlYXNlICAgICA6ICVyZWwKR3JvdXAg
ICAgICAgOiBMaWJyYXJpZXMgICAgICAgICAgICAgICAgICAgIApQYWNrYWdlciAgICA6IEtv
bmdzYmVyZyBTY2FubmVycyBBUyA8ZGV2ZWxvcGVyQGtzY2FubmVycy5jb20+ClVSTCAgICAg
ICAgIDogaHR0cDovL2d0a2FkYS5ldS5vcmcKU3VtbWFyeSAgICAgOiBBZGE5NSBiaW5kaW5n
IHRvIHRoZSBHdGsrIGdyYXBoaWMgbGlicmFyeQpQcmVmaXggCSAgICA6IC91c3IKTGljZW5z
ZSAgICAgOiBHUEwgKG1vZGlmaWVkIGZvciBydW50aW1lKQpTb3VyY2UwCSAgICA6ICV7bmFt
ZX0tJXt2ZXJzaW9ufS50YXIuZ3oKQnVpbGRSb290ICAgOiAle190bXBwYXRofS8le25hbWV9
LSV7dmVyc2lvbn0tcm9vdApSZXF1aXJlcyAgICA6ICV7bmFtZX0tcnVudGltZSA9ICV7dmVy
c2lvbn0sIGduYXQtMy4xM3AtcnVudGltZSA9IDEKCiVwYWNrYWdlIHJ1bnRpbWUKR3JvdXAg
ICAgICAgOiBYMTEvTGlicmFyaWVzClN1bW1hcnkgICAgIDogUnVudGltZSBsaWJyYXJpZXMg
Zm9yIEd0a0FkYSBCaW5kaW5nCgolZGVzY3JpcHRpb24KR3RrQWRhIGlzIGEgc2V0IG9mIEFk
YSBwYWNrYWdlcyB0aGF0IGFsbG93cyB5b3UgdG8gd3JpdGUgR05VIEFkYSBwcm9ncmFtcwp1
c2luZyB0aGUgR3RrKyBncmFwaGljcyB0b29sa2l0IHdoaWNoIGlzIHRoZSBmb3VuZGF0aW9u
IG9mIHRoZSBHTk9NRSBkZXNrdG9wLgpHdGsrIHdhcyBpbnZlbnRlZCBhcyBwYXJ0IG9mIHRo
ZSBmYW1vdXMgZ2ltcCBpbWFnZSBwcm9jZXNzaW5nIHByb2dyYW0uCgpJZiB5b3UgaGF2ZSBp
bnN0YWxsZWQgTWVzYSwgYSBmcmVlIDNEIGdyYXBoaWNzIGxpYnJhcnkgaW1wbGVtZW50aW5n
IG1vc3QKb2YgdGhlIE9wZW5HTCBBUEksIHlvdSBtYXkgdXNlIE9wZW5HTCBzdXBwb3J0IGJ1
aWx0IGludG8gR3RrQWRhLgoKJWRlc2NyaXB0aW9uIHJ1bnRpbWUKVGhpcyBwYWNrYWdlIGlu
Y2x1ZGVzIHRoZSBzaGFyZWQgbGlicmFyaWVzIHJlcXVpcmVkIHRvIHJ1biBwcm9ncmFtcyBj
b21waWxlZAp3aXRoIEd0a0FkYSBiaW5kaW5nIHN1cHBvcnQsIGFzIGxvbmcgYXMgdGhvc2Ug
cHJvZ3JhbXMgYXJlIG5vdCBsaW5rZWQKc3RhdGljYWxseS4KCiAKJXByZXAKJXNldHVwCgol
YnVpbGQKIyBOZWVkZWQgZm9yIHNuYXBzaG90IHJlbGVhc2VzLgoKaWYgWyAhIC1mIGNvbmZp
Z3VyZSBdOyB0aGVuCiAgQ0ZMQUdTPSIkUlBNX09QVF9GTEFHUyIgYXV0b2NvbmYKZmkKCkNG
TEFHUz0iJFJQTV9PUFRfRkxBR1MiICV7Y29uZmlndXJlfQptYWtlCgolaW5zdGFsbApybSAt
cmYgIiRSUE1fQlVJTERfUk9PVCIKCiVtYWtlaW5zdGFsbAoKCiVjbGVhbgptYWtlIGNsZWFu
CnJtIC1yZiAiJFJQTV9CVUlMRF9ST09UIgoKJWZpbGVzIAolZGVmYXR0cigtLCByb290LCBy
b290KQolZG9jIEFOTk9VTkNFIEFVVEhPUlMgQ09QWUlORyBJTlNUQUxMIFJFQURNRSBkb2Nz
IGNvbnRyaWIgZXhhbXBsZXMgdGVzdGd0awolZG9jIGRvY3MvdmNvbnZlcnQuYXdrIGRvY3Mv
cGluZTJ2Y2FyZAole19iaW5kaXJ9LypnYXRlKgole19iaW5kaXJ9L2d0a2FkYSoKJXtfbGli
ZGlyfS9hZGEvYWRhaW5jbHVkZS8qCiV7X2xpYmRpcn0vYWRhL2FkYWxpYi8qCiV7X21hbmRp
cn0vbWFuMS8qCiV7X2RhdGFkaXJ9L2FkYS9odG1sL0d0a0FkYQoKJWZpbGVzIHJ1bnRpbWUK
JWRlZmF0dHIoLSwgcm9vdCwgcm9vdCkKJXtfbGliZGlyfS8qLnNvLioK

--AWniW0JNca5xppdA
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="cpp.patch"

--- common/language-cpp.adb	2001/04/24 08:36:52	1.4
+++ common/language-cpp.adb	2001/08/20 15:04:51
@@ -36,6 +36,18 @@
    Classes_RE : aliased Pattern_Matcher :=
      Compile ("^\s*(class|struct)\s+([\w_]+)\s*(:[^{]+)?\{", Multiple_Lines);
 
+   Methods_RE : aliased Pattern_Matcher := -- Based on Subprogram_RE from
+     Compile
+       ("^\s*([\w_*]+\s+)?"   --  type specs; there can be no
+        & "([\w_*]+\s+)?"     --  more than 3 tokens, right?
+        & "([\w_*]+)(::[\w_*]+)*"
+        & "([*&]+\s*)?"       --  pointer
+        & "([\w_*]+)(::[\w_*]+)+\s*"
+        & "(\s[\w_]+\s*\()?" --  handling of macros, as in
+                              --  "void pa_exit PARAMS ((int))"
+        & "\([^(]",           --  Name
+        Multiple_Lines);
+
    function Make_Entry_Class
      (Str      : String;
       Matched  : Match_Array;
@@ -43,11 +55,16 @@
    --  Function used to create an entry in the explorer, for classes.
    --  See the description of Explorer_Categories for more information.
 
-   Cpp_Explorer_Categories : constant Explorer_Categories (1 .. 1) :=
+   Cpp_Explorer_Categories : constant Explorer_Categories (1 .. 2) :=
      (1 => (Name           => new String' ("Classes"),
             Regexp         => Classes_RE'Access,
             Position_Index => 2,
             Icon           => package_xpm'Access,
+            Make_Entry     => Make_Entry_Class'Access),
+      2 => (Name           => new String' ("Methods"),
+            Regexp         => Methods_RE'Access,
+            Position_Index => 4,
+            Icon           => subprogram_xpm'Access,
             Make_Entry     => Make_Entry_Class'Access));
 
    ----------------------

--AWniW0JNca5xppdA--