diff -ur Frameworks/AddressView/ADImageView.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/AddressView/ADImageView.m
--- Frameworks/AddressView/ADImageView.m	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/AddressView/ADImageView.m	2008-11-19 05:31:48.000000000 +0100
@@ -35,6 +35,7 @@
 - (void) dealloc
 {
   [_person release];
+  [super dealloc];
 }
 
 - (void) setTarget: (id) target
diff -ur Frameworks/AddressView/ADPersonPropertyView.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/AddressView/ADPersonPropertyView.m
--- Frameworks/AddressView/ADPersonPropertyView.m	2007-07-19 19:25:20.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/AddressView/ADPersonPropertyView.m	2008-11-19 05:31:48.000000000 +0100
@@ -276,6 +276,7 @@
   [_delegate release];
   [_addImg release];
   [_chgImg release];
+  [super dealloc];
 }
 
 - (void) setDelegate: (id) delegate
diff -ur Frameworks/AddressView/ADPersonView.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/AddressView/ADPersonView.m
--- Frameworks/AddressView/ADPersonView.m     2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/AddressView/ADPersonView.m  2008-11-19 05:31:48.000000000 +0100
@@ -106,6 +106,7 @@
   [_person release];
 
   [[NSNotificationCenter defaultCenter] removeObserver: self];
+  [super dealloc];
 }
 
 - (BOOL) isFlipped
@@ -211,6 +212,7 @@
 			ADEmailProperty,
 			ADAddressProperty,
 			ADAIMInstantProperty,
+			ADJabberInstantProperty,
 			nil];
 
   if(_person)
diff -ur Frameworks/AddressView/ADSinglePropertyView.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/AddressView/ADSinglePropertyView.m
--- Frameworks/AddressView/ADSinglePropertyView.m	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/AddressView/ADSinglePropertyView.m	2008-11-19 05:31:48.000000000 +0100
@@ -257,6 +257,7 @@
 - (void) dealloc
 {
   [[NSNotificationCenter defaultCenter] removeObserver: self];
+  [super dealloc];
 }
 
 - (void) setDisplayedProperty: (NSString*) property
diff -ur Frameworks/AddressView/GNUmakefile Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/AddressView/GNUmakefile
--- Frameworks/AddressView/GNUmakefile	2007-05-02 23:01:37.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/AddressView/GNUmakefile	2008-11-19 05:31:48.000000000 +0100
@@ -1,7 +1,10 @@
+debug=yes
 include $(GNUSTEP_MAKEFILES)/common.make
 
 FRAMEWORK_NAME=AddressView
 
+AddressView_VERSION=$(ETOILE_ADDRESSBOOK_VERSION)
+
 AddressView_OBJC_FILES=\
 			ADPersonView.m                 \
 			ADImageView.m                  \
@@ -32,5 +35,10 @@
 
 -include GNUmakefile.preamble
 -include GNUmakefile.local
+# NOTE: Include etoile.make include before framework.make otherwise the 
+# compilation may fail if you type 'make; make' (see bug #8806).
+include $(GNUSTEP_MAKEFILES)/aggregate.make
+-include ../../../../etoile.make
 include $(GNUSTEP_MAKEFILES)/framework.make
 -include GNUmakefile.postamble
+
diff -ur Frameworks/AddressView/Labels.dict Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/AddressView/Labels.dict
--- Frameworks/AddressView/Labels.dict	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/AddressView/Labels.dict	2008-11-19 05:31:48.000000000 +0100
@@ -1,5 +1,6 @@
 {
 	Email = (WorkEmail, HomeEmail);
+	URLs = (HomePage);
 	Address = (WorkAddr, HomeAddr);
 	Phone = (MainPhone, WorkPhone, HomePhone, MobilePhone, HomeFax,
 	         WorkFax, Pager);
@@ -9,4 +10,4 @@
 	Yahoo = (WorkYahoo, HomeYahoo);
 	ICQ = (WorkICQ, HomeICQ);
 	Default = (Work, Home, Other);
-}
\ No newline at end of file
+}
diff -ur Frameworks/Addresses/ADAddressBook.h Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADAddressBook.h
--- Frameworks/Addresses/ADAddressBook.h	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADAddressBook.h	2008-11-19 05:31:49.000000000 +0100
@@ -44,6 +44,11 @@
 - (NSArray*) people;
 - (NSArray*) groups;
 @end
+@interface ADAddressBook(ImageDataFile)
+- (BOOL) setImageDataForPerson: (ADPerson*) person
+		      withFile: (NSString*) filename;
+- (NSString*) imageDataFileForPerson: (ADPerson*) person;
+@end
 
 @interface ADAddressBook(GroupAccess)
 - (NSArray*) membersForGroup: (ADGroup*) group;
diff -ur Frameworks/Addresses/ADAddressBook.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADAddressBook.m
--- Frameworks/Addresses/ADAddressBook.m	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADAddressBook.m	2008-11-19 05:31:49.000000000 +0100
@@ -185,3 +185,14 @@
 		       @"Class", nil];
 }
 @end
+@implementation ADAddressBook(ImageDataFile)
+- (BOOL) setImageDataForPerson: (ADPerson*) person
+		      withFile: (NSString*) filename
+{
+	return NO;
+}
+- (NSString*) imageDataFileForPerson: (ADPerson*) person
+{
+	return nil;
+}
+@end
diff -ur Frameworks/Addresses/ADEnvelopeAddressBook.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADEnvelopeAddressBook.m
--- Frameworks/Addresses/ADEnvelopeAddressBook.m	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADEnvelopeAddressBook.m	2008-11-19 05:31:49.000000000 +0100
@@ -133,6 +133,7 @@
 - (void) dealloc
 {
   [_books release];
+  [super dealloc];
 }
 
 - (BOOL) addAddressBook: (ADAddressBook*) book
diff -ur Frameworks/Addresses/ADGlobals.h Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADGlobals.h
--- Frameworks/Addresses/ADGlobals.h	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADGlobals.h	2008-11-19 05:31:49.000000000 +0100
@@ -44,6 +44,8 @@
 extern NSString * const ADOrganizationProperty;       // string
 extern NSString * const ADJobTitleProperty;           // string
 extern NSString * const ADHomePageProperty;           // string
+extern NSString * const ADURLsProperty;           // string
+extern NSString * const ADHomePageLabel;           // string
 
 extern NSString * const ADEmailProperty;              // multi-string
 extern NSString * const ADEmailWorkLabel;
diff -ur Frameworks/Addresses/ADGlobals.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADGlobals.m
--- Frameworks/Addresses/ADGlobals.m	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADGlobals.m	2008-11-19 05:31:49.000000000 +0100
@@ -32,6 +32,8 @@
 NSString* const ADOrganizationProperty = @"Organization";
 NSString* const ADJobTitleProperty = @"JobTitle"; 
 NSString* const ADHomePageProperty = @"HomePage";
+NSString* const ADURLsProperty = @"URLs";
+NSString* const ADHomePageLabel = @"HomePage";
 NSString* const ADEmailProperty = @"Email";
 NSString* const ADEmailWorkLabel = @"WorkEmail";
 NSString* const ADEmailHomeLabel = @"HomeEmail";
@@ -147,6 +149,8 @@
       ADOrganizationProperty, @"ADOrganizationProperty",
       ADJobTitleProperty, @"ADJobTitleProperty",
       ADHomePageProperty, @"ADHomePageProperty",
+      ADURLsProperty, @"ADURLsProperty",
+      ADHomePageLabel, @"ADHomePageLabel",
       
       ADEmailProperty, @"ADEmailProperty",
       ADEmailWorkLabel, @"ADEmailWorkLabel",
diff -ur Frameworks/Addresses/ADLocalAddressBook.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADLocalAddressBook.m
--- Frameworks/Addresses/ADLocalAddressBook.m	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADLocalAddressBook.m	2008-11-19 05:31:49.000000000 +0100
@@ -389,6 +389,7 @@
   [_unsaved release];
   [[NSNotificationCenter defaultCenter] removeObserver: self];
   [[NSDistributedNotificationCenter defaultCenter] removeObserver: self];
+  [super dealloc];
 }
 
 - (NSString*) location
diff -ur Frameworks/Addresses/ADMultiValue.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADMultiValue.m
--- Frameworks/Addresses/ADMultiValue.m	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADMultiValue.m	2008-11-19 05:31:49.000000000 +0100
@@ -15,7 +15,7 @@
 /* my includes */
 #include "ADMultiValue.h"
 
-#define IS_A(obj,cls) [obj isKindOf: [cls class]]
+#define IS_A(obj,cls) [obj isKindOfClass: [cls class]]
 
 static ADPropertyType _propTypeFromDict(NSDictionary *dict)
 {
@@ -64,6 +63,7 @@
 {
   [_arr release];
   [_primaryId release];
+  [super dealloc];
 }
 
 - (NSArray*) contentArray
diff -ur Frameworks/Addresses/ADPListConverter.h Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADPListConverter.h
--- Frameworks/Addresses/ADPListConverter.h	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADPListConverter.h	2008-11-19 05:31:49.000000000 +0100
@@ -21,7 +21,7 @@
 @interface ADPListConverter: NSObject<ADInputConverting>
 {
   BOOL _done;
-  id _plist;
+  NSObject *_plist;
 }
 - initForInput;
 - (BOOL) useString: (NSString*) str;
diff -ur Frameworks/Addresses/ADPListConverter.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADPListConverter.m
--- Frameworks/Addresses/ADPListConverter.m	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADPListConverter.m	2008-11-19 05:31:49.000000000 +0100
@@ -29,7 +29,7 @@
 - (BOOL) useString: (NSString*) str
 {
   _plist = [str propertyList];
-  if(![_plist isKindOf: [NSDictionary class]])
+  if(![_plist isKindOfClass: [NSDictionary class]])
     {
       NSLog(@"String (%@) does not contain valid property list!\n", str);
       return NO;
@@ -44,10 +44,10 @@
   ADRecord *r;
   NSEnumerator *e;
 
-  keys = [NSMutableArray arrayWithArray: [_plist allKeys]];
-  if([[_plist objectForKey: @"Type"] isEqualToString: @"Group"])
+  keys = [NSMutableArray arrayWithArray: [(NSDictionary *)_plist allKeys]];
+  if([[(NSDictionary *)_plist objectForKey: @"Type"] isEqualToString: @"Group"])
     {
-      NSArray *members = [_plist objectForKey: @"Members"];
+      NSArray *members = [(NSDictionary *)_plist objectForKey: @"Members"];
       r = [[[ADGroup alloc] init] autorelease];
       if(members)
 	{
@@ -66,7 +66,7 @@
       id val;
       ADPropertyType t;
 
-      val = [_plist objectForKey: key];
+      val = [(NSDictionary *)_plist objectForKey: key];
       t = [ADPerson typeOfProperty: key];
       if(t & ADMultiValueMask)
 	{
diff -ur Frameworks/Addresses/ADPerson.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADPerson.m
--- Frameworks/Addresses/ADPerson.m	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADPerson.m	2008-11-19 05:31:49.000000000 +0100
@@ -44,6 +44,7 @@
 		 N(ADStringProperty),          ADJobTitleProperty,
 		 N(ADStringProperty),          ADHomePageProperty,
 		 N(ADMultiStringProperty),     ADEmailProperty,
+		 N(ADMultiStringProperty),     ADURLsProperty,
 		 N(ADMultiDictionaryProperty), ADAddressProperty,
 		 N(ADMultiStringProperty),     ADPhoneProperty,
 		 
diff -ur Frameworks/Addresses/ADPlugin.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADPlugin.m
--- Frameworks/Addresses/ADPlugin.m	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADPlugin.m	2008-11-19 05:31:49.000000000 +0100
@@ -27,6 +27,7 @@
 - (void) dealloc
 {
     [abClassPlugins release];
+    [super dealloc];
 }
 
 + (ADPluginManager*) sharedPluginManager
diff -ur Frameworks/Addresses/ADRecord.h Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADRecord.h
--- Frameworks/Addresses/ADRecord.h	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADRecord.h	2008-11-19 05:31:49.000000000 +0100
@@ -40,7 +40,7 @@
   \note This is a non-Apple extension; Apple's API doesn't need it as
   it knows nothing about multiple address books.
 */
-- (id) addressBook;
+- (ADAddressBook *) addressBook;
 
 /*!
   \brief Set the address book this record is part of.
@@ -52,7 +52,7 @@
   \note This is a non-Apple extension; Apple's API doesn't need it as
   it knows nothing about multiple address books.
 */
-- (void) setAddressBook: (id) book;
+- (void) setAddressBook: (ADAddressBook *) book;
 @end
 
 @interface ADRecord(Convenience)
diff -ur Frameworks/Addresses/ADRecord.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADRecord.m
--- Frameworks/Addresses/ADRecord.m	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADRecord.m	2008-11-19 05:31:49.000000000 +0100
@@ -131,7 +131,7 @@
 
 - (id) copyWithZone: (NSZone*) z
 {
-  ADRecord* obj = NSCopyObject(self, 0, z);
+  ADRecord* obj = (ADRecord *)NSCopyObject(self, 0, z);
   obj->_readOnly = _readOnly;
 
   // delete UID if it has one
diff -ur Frameworks/Addresses/ADSearchElement.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADSearchElement.m
--- Frameworks/Addresses/ADSearchElement.m	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADSearchElement.m	2008-11-19 05:31:49.000000000 +0100
@@ -51,6 +51,7 @@
 - (void) dealloc
 {
   [_children release];
+  [super dealloc];
 }
 
 - (BOOL) matchesRecord: (ADRecord*) record
@@ -102,6 +103,7 @@
 - (void) dealloc
 {
   [_property release]; [_label release]; [_key release]; [_val release];
+  [super dealloc];
 }
 
 - (BOOL) matchesValue: (id) v
diff -ur Frameworks/Addresses/ADVCFConverter.m Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADVCFConverter.m
--- Frameworks/Addresses/ADVCFConverter.m	2007-07-20 01:01:14.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/ADVCFConverter.m	2008-11-19 05:31:49.000000000 +0100
@@ -146,10 +146,10 @@
   const unsigned char *cstr;
   NSMutableString *str;
 
-  cstr = [self UTF8String];
+  cstr = (unsigned char *)[self UTF8String];
   
-  str = [NSMutableString stringWithCapacity: strlen(cstr)];
-  for(i=0; i<strlen(cstr); i++)
+  str = [NSMutableString stringWithCapacity: strlen((char*)cstr)];
+  for(i=0; i<strlen((char*)cstr); i++)
     {
       if(cstr[i] == ' ')
 	[str appendString: @"=20"];
@@ -293,6 +293,7 @@
 {
   [_str release];
   [_out release];
+  [super dealloc];
 }
 
 - initForInput
@@ -398,10 +399,10 @@
   while((prop = [e nextObject]))
     {
       val = [record valueForProperty: prop];
-      name = [name stringByAppendingFormat: @"%@;", val ? val : @""];
+      name = [name stringByAppendingFormat: @"%@;", val ? (id)val :(id)@""];
     }
   val = [record valueForProperty: ADSuffixProperty];
-  name = [name stringByAppendingFormat: @"%@", val ? val : @""];
+  name = [name stringByAppendingFormat: @"%@", val ? (id)val : (id)@""];
   [self appendStringWithHeader: @"N" value: name];
   
   e = [[[record class] properties] objectEnumerator];
diff -ur Frameworks/Addresses/AddressBook.h Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/AddressBook.h
--- Frameworks/Addresses/AddressBook.h	2007-03-30 00:36:04.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/AddressBook.h	2008-11-19 05:31:49.000000000 +0100
@@ -81,6 +81,8 @@
 #define kABOrganizationProperty       ADOrganizationProperty
 #define kABJobTitleProperty           ADJobTitleProperty
 #define kABHomePageProperty           ADHomePageProperty
+#define kABHomePageLabel              ADHomePageLabel
+#define kABURLsProperty               ADURLsProperty
 #define kABEmailProperty              ADEmailProperty
 #define kABEmailWorkLabel             ADEmailWorkLabel
 #define kABEmailHomeLabel             ADEmailHomeLabel
diff -ur Frameworks/Addresses/GNUmakefile Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/GNUmakefile
--- Frameworks/Addresses/GNUmakefile	2007-05-02 23:03:07.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/Frameworks/Addresses/GNUmakefile	2008-11-19 05:31:49.000000000 +0100
@@ -1,7 +1,10 @@
+debug=yes
 include $(GNUSTEP_MAKEFILES)/common.make
 
 FRAMEWORK_NAME=Addresses
 
+Addresses_VERSION=$(ETOILE_ADDRESSBOOK_VERSION)
+
 Addresses_OBJC_FILES= \
 	ADAddressBook.m         \
 	ADConverter.m           \
@@ -44,9 +47,17 @@
 
 -include GNUmakefile.preamble
 -include GNUmakefile.local
+# NOTE: Include etoile.make include before framework.make otherwise the 
+# compilation may fail if you type 'make; make' (see bug #8806).
+-include ../../../../etoile.make
 include $(GNUSTEP_MAKEFILES)/framework.make
 -include GNUmakefile.postamble
 
+ifeq ($(etoile), yes)
+after-Addresses-all::
+	ln -sf $(PROJECT_DIR) $(BUILD_DIR)/AddressBook
+endif
+
 after-Addresses-install::
 	ln -sf $(GNUSTEP_HEADERS)/Addresses \
 	       $(GNUSTEP_HEADERS)/AddressBook
diff -ur NEWS Etoile-0.4.0/Frameworks/AddressesKit/NEWS
--- NEWS	2007-07-20 01:01:14.000000000 +0200
+++ Etoile-0.4.0/Frameworks/AddressesKit/NEWS	2008-11-19 05:31:49.000000000 +0100
@@ -1,12 +1,28 @@
-Current version is 0.4.7.
+Current version is 0.4.7 (Etoile). Latest official GAP version is 0.4.7.1, see 
+http://cvs.savannah.gnu.org/viewvc/gap/system-apps/Addresses/?root=gap
+
+Since 0.4.7 (Etoile 0.4):
+=========================
+
+  o Sync with GAP version 0.4.7 on 2007-07-26
+  o New constants ADURLsProperty, ADHomePageProperty and ADHomePageLabel 
+    introduced by Leopard
+  o Small memory management fix
+  o Fixed all compilation warnings
 
 Since 0.4.7:
 ============
 
   o Updated Makefiles to GNUstep Make 2.0
   o Fixed text editing to work with current GNUstep gui
-  o Improved import of VCF files: tries to interpret HEX and
-    the escape \, from Apple cards
+  o Improved import of VCF files: tries to interpret HEX (by Guenther
+    Noack) and the escape \, from Apple cards
+
+Since 0.4.6.1 (Etoile 0.2):
+===========================
+
+  o First Etoile fork release
+  o Added ADJabberInstantProperty to ADPersonView
 
 Since 0.4.6:
 ============
