aboutsummaryrefslogtreecommitdiffstats
path: root/devel/amulet
diff options
context:
space:
mode:
authorijliao <ijliao@FreeBSD.org>2002-10-29 01:57:39 +0800
committerijliao <ijliao@FreeBSD.org>2002-10-29 01:57:39 +0800
commit88c97cb2ca8c1f2e2f6125feb1f9e0dcf24d1b7e (patch)
tree1f5ef2dd7d566c9d8e6f02542245c4e1fc6382a1 /devel/amulet
parent866caf0f9b1ea3974225ad077121a8687da9ec58 (diff)
downloadfreebsd-ports-gnome-88c97cb2ca8c1f2e2f6125feb1f9e0dcf24d1b7e.tar.gz
freebsd-ports-gnome-88c97cb2ca8c1f2e2f6125feb1f9e0dcf24d1b7e.tar.zst
freebsd-ports-gnome-88c97cb2ca8c1f2e2f6125feb1f9e0dcf24d1b7e.zip
unbreak and change MASTER_SITE
PR: 43401 Submitted by: Gary W. Swearingen <swear@attbi.com>
Diffstat (limited to 'devel/amulet')
-rw-r--r--devel/amulet/Makefile106
-rw-r--r--devel/amulet/distinfo1
-rw-r--r--devel/amulet/files/Makefile.vars.gcc.FreeBSD67
-rw-r--r--devel/amulet/files/patch-aa61
-rw-r--r--devel/amulet/files/patch-ab11
-rw-r--r--devel/amulet/files/patch-ac392
-rw-r--r--devel/amulet/files/sample.Makefile32
-rw-r--r--devel/amulet/pkg-comment1
-rw-r--r--devel/amulet/pkg-descr23
-rw-r--r--devel/amulet/pkg-plist237
10 files changed, 931 insertions, 0 deletions
diff --git a/devel/amulet/Makefile b/devel/amulet/Makefile
new file mode 100644
index 000000000000..7b6ddbc9eb3a
--- /dev/null
+++ b/devel/amulet/Makefile
@@ -0,0 +1,106 @@
+# New ports collection makefile for: amulet
+# Date created: 26 July 1997
+# Whom: Filip Bovyn (bovynf@awe.be)
+#
+# $FreeBSD$
+
+PORTNAME= amulet
+PORTVERSION= 3.0
+CATEGORIES= devel x11
+MASTER_SITES= http://www-2.cs.cmu.edu/afs/cs/project/amulet/amulet3/
+DISTNAME= ${PORTNAME}
+EXTRACT_SUFX= .tar.Z
+
+MAINTAINER= bovynf@awe.be
+
+USE_GCC= 2.95
+USE_X_PREFIX= yes
+INSTALLS_SHLIB= yes
+WRKSRC= $(WRKDIR)/amulet
+MAKE_ENV= AMULET_DIR=$(WRKSRC) AMULET_VARS_FILE=Makefile.vars.gcc.FreeBSD
+
+.include <bsd.port.pre.mk>
+
+.if $(PORTOBJFORMAT) == "elf"
+SO_VERSION= 3
+.else
+SO_VERSION= 3.0
+.endif
+
+pre-build:
+ ${CP} $(FILESDIR)/Makefile.vars.gcc.FreeBSD $(WRKSRC)/bin
+ ${RM} -f ${WRKSRC}/include/amulet/*.orig
+
+do-build:
+ @(cd $(WRKSRC)/bin; $(MAKE_ENV) $(MAKE) libs)
+ @(cd $(WRKSRC)/bin; $(MAKE_ENV) $(MAKE) all)
+
+SAMPLES= av\
+ testdpy\
+ testgem\
+ testtrans\
+ testsubwins\
+ testloop\
+ testclip\
+ testpoints\
+ testwinsizes\
+ testinput\
+ testcopy\
+ testobject\
+ testopal\
+ testJIO\
+ testpolyweb\
+ testlines\
+ testgobs\
+ testmap\
+ hsv\
+ testloadsave\
+ testinter\
+ testaniminter\
+ testwidgets\
+ testselectionwidget\
+ testdragdrop\
+ testmaps\
+ testgest\
+ testfade\
+ testflip\
+ testanimators\
+ testrichtext\
+ testpixmap\
+ checkers\
+ circuit\
+ color\
+ hello\
+ goodbye_inter\
+ goodbye_button\
+ space\
+ space2\
+ timing\
+ tutorial\
+ tree\
+ example1\
+ example2
+
+do-install:
+ $(INSTALL_PROGRAM) $(WRKSRC)/lib/libamulet.so.$(SO_VERSION) $(PREFIX)/lib
+ $(LN) -sf libamulet.so.$(SO_VERSION) $(PREFIX)/lib/libamulet.so
+ $(INSTALL_PROGRAM) $(WRKSRC)/lib/libamulet-release.so.$(SO_VERSION) $(PREFIX)/lib
+ $(LN) -sf libamulet-release.so.$(SO_VERSION) $(PREFIX)/lib/libamulet-release.so
+ $(INSTALL_DATA) $(WRKSRC)/lib/libamulet-release.a $(PREFIX)/lib
+ $(INSTALL_PROGRAM) $(WRKSRC)/bin/gilt $(PREFIX)/bin
+ $(INSTALL_PROGRAM) $(WRKSRC)/bin/agate $(PREFIX)/bin
+ ${MKDIR} $(PREFIX)/include/amulet
+ $(INSTALL_DATA) $(WRKSRC)/include/*.h $(PREFIX)/include
+ $(INSTALL_DATA) $(WRKSRC)/include/amulet/* $(PREFIX)/include/amulet
+ ${MKDIR} $(PREFIX)/share/amulet/lib
+ $(INSTALL_DATA) $(WRKSRC)/lib/select.cl $(PREFIX)/share/amulet/lib/select.cl
+ ${MKDIR} $(PREFIX)/share/amulet/lib/images
+ $(INSTALL_DATA) $(WRKSRC)/lib/images/* $(PREFIX)/share/amulet/lib/images
+ ${MKDIR} $(PREFIX)/share/amulet/samples
+ $(INSTALL_DATA) $(FILESDIR)/sample.Makefile $(PREFIX)/share/amulet/samples
+ (for a in $(SAMPLES); \
+ do \
+ $(INSTALL_PROGRAM) $(WRKSRC)/bin/$$a $(PREFIX)/share/amulet/samples; \
+ done)
+
+.include <bsd.port.post.mk>
diff --git a/devel/amulet/distinfo b/devel/amulet/distinfo
new file mode 100644
index 000000000000..dda414acc411
--- /dev/null
+++ b/devel/amulet/distinfo
@@ -0,0 +1 @@
+MD5 (amulet.tar.Z) = 7208df5b773f03456bf55fb56c0b8c76
diff --git a/devel/amulet/files/Makefile.vars.gcc.FreeBSD b/devel/amulet/files/Makefile.vars.gcc.FreeBSD
new file mode 100644
index 000000000000..a60a3708851e
--- /dev/null
+++ b/devel/amulet/files/Makefile.vars.gcc.FreeBSD
@@ -0,0 +1,67 @@
+
+CC = g++
+LD = ld
+
+##
+## Parameters for Amulet programs
+##
+
+# X11 directories, uncomment and set if necessary
+X11_INC = -I/usr/X11R6/include
+X11_LIB = -L/usr/X11R6/lib
+
+# directory where Amulet will (eventually) be installed
+# defaults to its current location (AMULET_DIR)
+AMULET_ROOT=$(PREFIX)/share/amulet
+
+# compiler flags for Amulet programs
+AM_CFLAGS = -I$(AMULET_DIR)/include $(X11_INC) -Wall \
+ -DGCC -DMEMORY
+
+# libraries needed by Amulet (interactors needs math library)
+AM_LIBS = $(X11_LIB) -lX11 -lm
+
+
+.if $(MACHINE_ARCH) == "alpha"
+OPT_CFLAGS = -O0
+.else
+OPT_CFLAGS = -O2
+.endif
+
+##
+## Parameters for the Amulet library
+##
+
+# additional compiler flags for development version
+AM_DEVELOP = $(OPT_CFLAGS) -DDEBUG -g -DAMULET2_CONVERSION
+
+# additional compiler flags for release version
+AM_RELEASE = $(OPT_CFLAGS) -DAMULET2_CONVERSION
+
+# additional compiler flags for optimized version with inspector and debugging enabled
+AM_INHOUSE = -DDEBUG -g
+
+# additional compiler flags for optimized version with inspector but no debugging symbols
+AM_NODEBUGSYM = $(OPT_CFLAGS) -DDEBUG -DAMULET2_CONVERSION
+
+# Flags used to build the sample programs
+AM_SAMPLE_FLAGS = $(AM_NODEBUGSYM)
+
+# Default set of extra compiler flags
+OP = $(AM_NODEBUGSYM)
+
+# extra link flags for library test programs
+AM_LIB_LDFLAGS =
+
+# Makefile identifying the gem files for this platform
+AM_GEM_SOURCE = Makefile.gem.X
+
+# Makefile that knows how to make the Amulet library for this platform
+AM_SHARED_LIB_MAKE = Makefile.lib.gcc.shared
+AM_STATIC_LIB_MAKE = Makefile.lib.unix.static
+
+# Set of library variants for make libs
+# Note: The develop-shared library will also be build when
+# we build the samples programs. If we add it here it would
+# be build twice.
+AM_LIBS_TO_MAKE = release-shared release-static
diff --git a/devel/amulet/files/patch-aa b/devel/amulet/files/patch-aa
new file mode 100644
index 000000000000..0365ed00fd3e
--- /dev/null
+++ b/devel/amulet/files/patch-aa
@@ -0,0 +1,61 @@
+--- bin/Makefile.lib.gcc.shared.orig Mon Jun 23 07:37:02 1997
++++ bin/Makefile.lib.gcc.shared Tue Oct 13 19:59:34 1998
+@@ -15,8 +15,11 @@
+ ORE_LIB=$(LIB_DIR)/$(ORE_lib).so
+ AMULET_LIB=$(LIB_DIR)/$(AMULET_lib).so
+
++.if $(PORTOBJFORMAT) == "elf"
++V=$(AM_MAJOR_VERSION)
++.else
+ V=$(AM_MAJOR_VERSION).$(AM_MINOR_VERSION)
+-
++.endif
+
+ BAD_VERSION=gcc version 2\.[56]\.[0-9]
+
+@@ -27,6 +30,7 @@
+ echo "*** or upgrade to gcc 2.7.0 or later." ; \
+ echo "" ; false ; \
+ } fi
++ @touch check_gcc_version
+
+ FULL_AMULET_DEPENDENCIES = \
+ $(OPAL_MODULE) $(INTER_MODULE) $(DEBUG_MODULE) \
+@@ -49,26 +53,23 @@
+ $(AMULET_LIB):: $(AMULET_LIB_DEPENDENCIES)
+ $(SHARED_CC) $(AM_CFLAGS) $(FULL_AMULET_DEPENDENCIES) \
+ -o $(LIB_DIR)/$(AMULET_lib).so.$(V)
+- cd $(LIB_DIR); for p in $(AMULET_lib).sl $(AMULET_lib).so ; \
+- do rm -f $$p ; ln -s $(AMULET_lib).so.$(V) $$p ; done
++ ln -sf $(AMULET_lib).so.$(V) $(AMULET_LIB)
++ touch $(AMULET_LIB)
+
+ $(GEM_LIB): $(GEM_LIB_DEPENDENCIES)
+ $(SHARED_CC) $(AM_CFLAGS) $(FULL_GEM_DEPENDENCIES) \
+ -o $(LIB_DIR)/$(GEM_lib).so.$(V)
+- cd $(LIB_DIR); for p in $(GEM_lib).sl $(GEM_lib).so ; \
+- do rm -f $$p ; ln -s $(GEM_lib).so.$(V) $$p ; done
++ touch $(GEM_LIB)
+
+ $(ORE_LIB): $(ORE_LIB_DEPENDENCIES)
+ $(SHARED_CC) $(AM_CFLAGS) $(FULL_ORE_DEPENDENCIES) \
+ -o $(LIB_DIR)/$(ORE_lib).so.$(V)
+- cd $(LIB_DIR); for p in $(ORE_lib).sl $(ORE_lib).so ; \
+- do rm -f $$p ; ln -s $(ORE_lib).so.$(V) $$p ; done
++ touch $(ORE_LIB)
+
+ $(UTILS_LIB): $(UTILS_LIB_DEPENDENCIES)
+ $(SHARED_CC) $(AM_CFLAGS) $(FULL_UTILS_DEPENDENCIES) \
+ -o $(LIB_DIR)/$(UTILS_lib).so.$(V)
+- cd $(LIB_DIR); for p in $(UTILS_lib).sl $(UTILS_lib).so ; \
+- do rm -f $$p ; ln -s $(UTILS_lib).so.$(V) $$p ; done
++ touch $(UTILS_LIB)
+
+
+ # Use these declarations to compile tests against monolithic shared libs.
+@@ -91,4 +92,4 @@
+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+ .cc.o:
+- $(CC) $(CFLAGS) -c $< -o $@
++ $(CC) $(CFLAGS) -fpic -c $< -o $@
diff --git a/devel/amulet/files/patch-ab b/devel/amulet/files/patch-ab
new file mode 100644
index 000000000000..7c47b0c20abc
--- /dev/null
+++ b/devel/amulet/files/patch-ab
@@ -0,0 +1,11 @@
+--- bin/Makefile.orig Thu May 8 18:40:57 1997
++++ bin/Makefile Sat Jul 26 22:01:27 1997
+@@ -160,7 +160,7 @@
+ # can also build other versions of the Amulet library: optimized/static/combo
+ #
+
+-AS_DEVELOP = OP="$(AM_DEVELOP)" LIB_MODIFIER=""
++AS_DEVELOP = OP="$(AM_NODEBUGSYM)" LIB_MODIFIER=""
+ AS_RELEASE = OP="$(AM_RELEASE)" LIB_MODIFIER=-release
+ AS_INHOUSE = OP="$(AM_INHOUSE)" LIB_MODIFIER=-inhouse
+ AS_STATIC = LIB_MAKE="$(AM_STATIC_LIB_MAKE)"
diff --git a/devel/amulet/files/patch-ac b/devel/amulet/files/patch-ac
new file mode 100644
index 000000000000..359d9688d43b
--- /dev/null
+++ b/devel/amulet/files/patch-ac
@@ -0,0 +1,392 @@
+--- include/amulet/gemM.h.orig Wed Jun 11 06:01:40 1997
++++ include/amulet/gemM.h Wed Jan 10 19:20:23 2001
+@@ -524,7 +524,7 @@
+ Am_Point_Array_Data (int size);
+ ~Am_Point_Array_Data ();
+
+- operator== (Am_Point_Array_Data&)
++ bool operator== (Am_Point_Array_Data&)
+ { return false; }
+
+ protected:
+@@ -584,7 +584,7 @@
+ Am_Time_Data(Am_Time_Data* other)
+ { time.tv_usec = other->time.tv_usec; time.tv_sec = other->time.tv_sec; }
+ timeval time;
+- operator== (Am_Time_Data& other)
++ bool operator== (Am_Time_Data& other)
+ { return time.tv_usec == other.time.tv_usec
+ && time.tv_sec == other.time.tv_sec; }
+ void Print (ostream& out) const;
+--- include/amulet/gemX.h.orig Wed Jun 25 02:30:31 1997
++++ include/amulet/gemX.h Wed Jan 10 19:20:23 2001
+@@ -576,7 +576,7 @@
+
+ ~Am_Font_Data ();
+
+- operator== (Am_Font_Data&)
++ bool operator== (Am_Font_Data&)
+ { return false; }
+
+ void Add_Font (Display*, XFontStruct*);
+@@ -656,7 +656,7 @@
+ bool Get_Cursor (Display*, Cursor&);
+
+ // I think I need this for a wrapper class
+- operator== (Am_Cursor_Data&)
++ bool operator== (Am_Cursor_Data&)
+ { return false; }
+
+ Display* main_display;
+@@ -724,7 +724,7 @@
+
+ ~Am_Image_Array_Data ();
+
+- operator== (Am_Image_Array_Data&)
++ bool operator== (Am_Image_Array_Data&)
+ { return false; }
+
+ Pixmap Get_X_Pixmap (const Am_Drawonable_Impl* draw);
+@@ -823,7 +823,7 @@
+ Am_Style_Data ();
+ ~Am_Style_Data ();
+
+- operator== (Am_Style_Data&)
++ bool operator== (Am_Style_Data&)
+ { return false; }
+
+ void Add_Color_Index (Display*, XColor);
+@@ -883,7 +883,7 @@
+ Am_Point_Array_Data (int size);
+ ~Am_Point_Array_Data ();
+
+- operator== (Am_Point_Array_Data&)
++ bool operator== (Am_Point_Array_Data&)
+ { return false; }
+
+ protected:
+--- include/amulet/object_advanced.h.orig Mon Dec 16 02:15:48 1996
++++ include/amulet/object_advanced.h Wed Jan 10 19:20:23 2001
+@@ -252,9 +252,9 @@
+ Am_Slot (Am_Slot_Data* in_data)
+ { data = in_data; }
+
+- operator== (const Am_Slot& test) const
++ bool operator== (const Am_Slot& test) const
+ { return data == test.data; }
+- operator!= (const Am_Slot& test) const
++ bool operator!= (const Am_Slot& test) const
+ { return data != test.data; }
+ operator Am_Slot_Data* () const
+ { return data; }
+--- include/amulet/rich_text.h.orig Thu May 8 03:02:24 1997
++++ include/amulet/rich_text.h Wed Jan 10 19:20:23 2001
+@@ -169,7 +169,7 @@
+ inline Am_Text_Fragment*
+ Get_Fragment_At( const Am_Text_Index inIndex ) const;
+
+- inline Move_Cursor( Am_Cursor& inCursor, Am_Cursor_Move inMove ) const;
++ // inline Move_Cursor( Am_Cursor& inCursor, Am_Cursor_Move inMove ) const;
+ };
+
+ /******************************************************************************
+@@ -770,8 +770,8 @@
+ * Am_Text_Fragment
+ */
+
+-const kFragStrSize = 1024;
+-const kMinFragBreak = kFragStrSize / 2;
++const unsigned int kFragStrSize = 1024;
++const unsigned int kMinFragBreak = kFragStrSize / 2;
+
+ class Am_Text_Fragment
+ {
+--- include/amulet/widgets_advanced.h.orig Mon Jul 21 22:49:07 1997
++++ include/amulet/widgets_advanced.h Wed Jan 10 19:20:23 2001
+@@ -51,7 +51,7 @@
+ }
+ Computed_Colors_Record_Data (const Am_Style& foreground);
+ Computed_Colors_Record_Data (Computed_Colors_Record_Data*);
+- operator== (Computed_Colors_Record_Data&)
++ bool operator== (Computed_Colors_Record_Data&)
+ { return false; }
+ // destructor
+ virtual ~Computed_Colors_Record_Data ();
+--- src/anim/testanimators.cc.orig Tue May 6 02:25:23 1997
++++ src/anim/testanimators.cc Wed Jan 10 19:20:23 2001
+@@ -278,7 +278,7 @@
+ else if (c == 'r')
+ Mover.Set (Am_VISIBLE, !(bool)Mover.Get(Am_VISIBLE));
+ else if (c == 'i') {
+- static debugging = false;
++ static bool debugging = false;
+ if (!debugging) Am_Set_Inter_Trace(Am_INTER_TRACE_ALL);
+ else Am_Set_Inter_Trace(Am_INTER_TRACE_NONE);
+ debugging = !debugging;
+--- src/debug/inspector.cc.orig Mon Jul 21 18:50:20 1997
++++ src/debug/inspector.cc Wed Jan 10 19:20:23 2001
+@@ -3311,7 +3311,7 @@
+ Am_Set_Reason reason)
+ {
+ #ifdef DEBUG
+- static flag = 0;
++ static int flag = 0;
+ if (flag) return; // prevent recursive call.
+ // We have a single global variable controlling refresh of all inspector
+ // windows. Without this, we'd still need to do a list traverse below,
+--- src/gem/gemW_cursor.h.orig Thu Oct 10 08:58:10 1996
++++ src/gem/gemW_cursor.h Wed Jan 10 19:20:23 2001
+@@ -15,7 +15,7 @@
+ Am_Cursor_Data (Am_Image_Array image, Am_Image_Array mask);
+ virtual ~Am_Cursor_Data ();
+
+- operator== (Am_Cursor_Data&)
++ bool operator== (Am_Cursor_Data&)
+ { return false; }
+
+ public:
+--- src/gem/gemW_image.h.orig Wed Jan 29 02:20:49 1997
++++ src/gem/gemW_image.h Wed Jan 10 19:20:23 2001
+@@ -28,7 +28,7 @@
+ Am_Image_Array_Data (Am_Image_Array_Data* proto, int width, int height);
+ virtual ~Am_Image_Array_Data();
+
+- operator== (Am_Image_Array_Data&)
++ bool operator== (Am_Image_Array_Data&)
+ { return false; }
+
+ public:
+--- src/gem/gemW_points.h.orig Wed Dec 18 03:36:36 1996
++++ src/gem/gemW_points.h Wed Jan 10 19:20:23 2001
+@@ -30,7 +30,7 @@
+ Am_Point_Array_Data (int size);
+ ~Am_Point_Array_Data ();
+
+- operator== (Am_Point_Array_Data&)
++ bool operator== (Am_Point_Array_Data&)
+ { return false; }
+
+ protected:
+--- src/gem/gemW_styles.h.orig Tue May 20 18:25:51 1997
++++ src/gem/gemW_styles.h Wed Jan 10 19:20:23 2001
+@@ -35,7 +35,7 @@
+
+ virtual ~Am_Style_Data ();
+
+- operator== (Am_Style_Data&)
++ bool operator== (Am_Style_Data&)
+ { return false; }
+
+ virtual const char *Get_Color_Name ();
+--- src/gem/gemW_text.h.orig Mon Jan 13 19:59:01 1997
++++ src/gem/gemW_text.h Wed Jan 10 19:20:23 2001
+@@ -20,7 +20,7 @@
+ ~Am_Font_Data ();
+
+ public:
+- operator== (Am_Font_Data&)
++ bool operator== (Am_Font_Data&)
+ { return false; }
+
+ HFONT WinFont (HDC hdc);
+--- src/gem/gemW_time.h.orig Mon Jan 13 19:59:03 1997
++++ src/gem/gemW_time.h Wed Jan 10 19:20:23 2001
+@@ -17,7 +17,7 @@
+ Am_Time_Data(Am_Time_Data* other)
+ { time = other->time; }
+ unsigned long time;
+- operator== (Am_Time_Data& other)
++ bool operator== (Am_Time_Data& other)
+ { return time == other.time; }
+ };
+
+--- src/gem/gemX_draw.cc.orig Tue Aug 5 22:11:19 1997
++++ src/gem/gemX_draw.cc Wed Jan 10 19:20:23 2001
+@@ -892,7 +892,7 @@
+ // if we have a match, do no work.
+ if (XAllocColor(screen->display, screen->colormap, &c)) return;
+
+- static flag = 0;
++ static int flag = 0;
+ if (!flag) {
+ cerr << "** No color cells left; using closest match.\n";
+ flag = 1;
+--- src/gem/gemX_time.h.orig Mon Jan 13 19:59:09 1997
++++ src/gem/gemX_time.h Wed Jan 10 19:20:23 2001
+@@ -19,7 +19,7 @@
+ Am_Time_Data(Am_Time_Data* other)
+ { time.tv_usec = other->time.tv_usec; time.tv_sec = other->time.tv_sec; }
+ timeval time;
+- operator== (Am_Time_Data& other)
++ bool operator== (Am_Time_Data& other)
+ { return time.tv_usec == other.time.tv_usec
+ && time.tv_sec == other.time.tv_sec; }
+ };
+--- src/gem/gem_points.cc.orig Fri Feb 21 21:12:54 1997
++++ src/gem/gem_points.cc Wed Jan 10 19:20:23 2001
+@@ -41,7 +41,7 @@
+ Am_Point_List_Data (int *ar, int size);
+ Am_Point_List_Data (float *ar, int size);
+ ~Am_Point_List_Data ();
+- operator== (const Am_Point_List_Data&) const
++ bool operator== (const Am_Point_List_Data&) const
+ { return false; }
+ void Add (float x, float y, Am_Add_Position position);
+ void Insert (float x, float y, Am_Point_Item* current,
+--- src/gesture/gest_classifier.cc.orig Mon Jan 13 19:59:17 1997
++++ src/gesture/gest_classifier.cc Wed Jan 10 19:20:23 2001
+@@ -351,7 +351,7 @@
+ static double
+ MahalanobisDistance(register Vector v, register Vector u, register Matrix sigma)
+ {
+- register i;
++ register int i;
+ static Vector space;
+ double result;
+
+--- src/gesture/gest_impl.h.orig Mon Jan 13 19:59:19 1997
++++ src/gesture/gest_impl.h Wed Jan 10 19:20:23 2001
+@@ -78,7 +78,7 @@
+
+ ~Am_Feature_Vector_Data ();
+
+- operator== (Am_Feature_Vector_Data&)
++ bool operator== (Am_Feature_Vector_Data&)
+ { return false; }
+
+ void Add_Point (int x, int y);
+@@ -139,7 +139,7 @@
+
+ ~Am_Gesture_Classifier_Data ();
+
+- operator== (Am_Gesture_Classifier_Data&)
++ bool operator== (Am_Gesture_Classifier_Data&)
+ { return false; }
+
+ Am_String Classify (Am_Feature_Vector fv, double *nap = 0, double *dist = 0);
+@@ -182,7 +182,7 @@
+
+ ~Am_Gesture_Trainer_Data ();
+
+- operator== (Am_Gesture_Trainer_Data&)
++ bool operator== (Am_Gesture_Trainer_Data&)
+ { return false; }
+
+ struct Gesture_Class {
+--- src/gesture/gest_matrix.cc.orig Mon Dec 16 02:18:01 1996
++++ src/gesture/gest_matrix.cc Wed Jan 10 19:20:23 2001
+@@ -159,14 +159,14 @@
+ void
+ ZeroVector(Vector v)
+ {
+- register i;
++ register int i;
+ for(i = 0; i < NROWS(v); i++) v[i] = 0.0;
+ }
+
+ void
+ ZeroMatrix(Matrix m)
+ {
+- register i, j;
++ register int i, j;
+ for(i = 0; i < NROWS(m); i++)
+ for(j = 0; j < NCOLS(m); j++)
+ m[i][j] = 0.0;
+@@ -175,7 +175,7 @@
+ void
+ FillMatrix(Matrix m, double fill)
+ {
+- register i, j;
++ register int i, j;
+ for(i = 0; i < NROWS(m); i++)
+ for(j = 0; j < NCOLS(m); j++)
+ m[i][j] = fill;
+@@ -197,7 +197,7 @@
+ void
+ MatrixMultiply(register Matrix m1, register Matrix m2, register Matrix prod)
+ {
+- register i, j, k;
++ register int i, j, k;
+ double sum;
+
+ if(NCOLS(m1) != NROWS(m2))
+@@ -279,7 +279,7 @@
+ double
+ QuadraticForm(register Vector v, register Matrix m)
+ {
+- register i, j, n;
++ register int i, j, n;
+ double result = 0;
+
+ n = NROWS(v);
+@@ -327,7 +327,7 @@
+ double
+ InvertMatrix(Matrix ym, Matrix rm)
+ {
+- register i, j, k;
++ register int i, j, k;
+ double det, biga, recip_biga, hold;
+ int l[PERMBUFSIZE], m[PERMBUFSIZE];
+ register int n;
+@@ -519,7 +519,7 @@
+ Matrix
+ SliceMatrix(Matrix m, unsigned rowmask, unsigned colmask)
+ {
+- register i, ri, j, rj;
++ register int i, ri, j, rj;
+
+ Matrix r;
+
+@@ -540,7 +540,7 @@
+ DeSliceMatrix(Matrix m, double fill, unsigned rowmask, unsigned colmask,
+ Matrix r)
+ {
+- register i, ri, j, rj;
++ register int i, ri, j, rj;
+
+ FillMatrix(r, fill);
+
+--- src/inter/inter_move_grow.cc.orig Fri Mar 14 05:05:14 1997
++++ src/inter/inter_move_grow.cc Wed Jan 10 19:20:23 2001
+@@ -48,7 +48,7 @@
+ void Print (ostream& out) const; // to print out the contents
+
+ Am_Inter_Location_Data (Am_Inter_Location_Data* proto); //required by wrapper
+- operator== (Am_Inter_Location_Data& test_data) //required by wrapper
++ bool operator== (Am_Inter_Location_Data& test_data) //required by wrapper
+ {
+ return (ref_obj == test_data.ref_obj) &&
+ (as_line == test_data.as_line) &&
+--- src/object/impl.h.orig Thu Apr 10 22:32:34 1997
++++ src/object/impl.h Wed Jan 10 19:20:23 2001
+@@ -259,7 +259,7 @@
+ Am_Object_Data (const char* schema_name, Am_Object_Data* in_prototype);
+ ~Am_Object_Data ();
+
+- operator== (Am_Object_Data&)
++ bool operator== (Am_Object_Data&)
+ { return false; }
+
+ Am_Object_Data* create_object (const char* new_name);
+--- src/object/testobject.cc.orig Thu Jul 3 01:45:20 1997
++++ src/object/testobject.cc Wed Jan 10 19:20:23 2001
+@@ -610,7 +610,7 @@
+ { store = in_store; }
+ int Get ()
+ { return store; }
+- operator== (Am_Foo_Data& test_value)
++ bool operator== (Am_Foo_Data& test_value)
+ { return test_value.store == store; }
+ private:
+ int store;
+--- src/opal/text_fns.cc.orig Wed Mar 5 09:06:09 1997
++++ src/opal/text_fns.cc Wed Jan 10 19:20:23 2001
+@@ -714,7 +714,7 @@
+ #endif
+ void Remove (Am_Input_Char ic);
+ Am_Text_Edit_Operation* Translate (Am_Input_Char ic) const;
+- operator== (Am_Edit_Translation_Table_Data& test_value) const
++ bool operator== (Am_Edit_Translation_Table_Data& test_value) const
+ { return this == &test_value; }
+
+ protected:
diff --git a/devel/amulet/files/sample.Makefile b/devel/amulet/files/sample.Makefile
new file mode 100644
index 000000000000..dfc6de2594e5
--- /dev/null
+++ b/devel/amulet/files/sample.Makefile
@@ -0,0 +1,32 @@
+
+AM_DEVELOP= -O2 -DDEBUG -g -DAMULET2_CONVERSION
+AM_RELEASE= -O2 -DAMULET2_CONVERSION
+AM_NODEBUGSYM= -O2 -DDEBUG -DAMULET2_CONVERSION
+
+## The default build has two parameters: OP and LIB_MODIFIER
+## used to specify the variant of the Amulet library that will be used
+## OP chooses one of the sets of compiler flags:
+## AM_DEVELOP, AM_RELEASE, AM_INHOUSE, AM_NODEBUGSYM
+OP=$(AM_DEVELOP)
+
+## LIB_MODIFIER is appended to library filename to indicate particular
+## OP choice: blank for AM_DEVELOP, -release for AM_RELEASE
+LIB_MODIFIER=
+
+## To link with the release library, invoke make as follows
+## Make OP='$(AM_RELEASE)' LIB_MODIFIER=-release
+
+CFLAGS+= -I$(X11BASE)/include -DGCC -DMEMORY
+LDFLAGS+= -lamulet$(LIB_MODIFIER) -lstdc++ -lg++ \
+ -L$(X11BASE)/lib -lX11 -lm
+
+PROG= xxxx
+SRCS= xxxx.cc
+
+xxxx: xxxx.o
+ $(CC) -o xxxx $(.ALLSRC) $(LDFLAGS)
+
+xxxx.o: xxxx.cc
+ $(CXX) -c $(CXXFLAGS) $(OP) $(.IMPSRC)
+clean:
+ -rm -f *.o xxxx
diff --git a/devel/amulet/pkg-comment b/devel/amulet/pkg-comment
new file mode 100644
index 000000000000..414aced2f12b
--- /dev/null
+++ b/devel/amulet/pkg-comment
@@ -0,0 +1 @@
+A free C++ GUI library
diff --git a/devel/amulet/pkg-descr b/devel/amulet/pkg-descr
new file mode 100644
index 000000000000..8d92b150b274
--- /dev/null
+++ b/devel/amulet/pkg-descr
@@ -0,0 +1,23 @@
+Amulet is a toolkit for building graphical user interfaces in C++.
+
+This port builds three versions of the library:
+ libamulet.so.3.0: shared library with the inspector
+ (for development)
+ libamulet-release.so.3.0: shared library without the inspector
+ libamulet-release.a: static version of the above library
+
+In addition, the following programs are installed in /usr/X11R6/bin:
+ gilt: the interface designer
+ agate: gesture training program
+
+The sample programs are installed in /usr/X11R6/share/amulet/samples.
+
+There is also a sample Makefile (sample.Makefile) in that directory
+that you can use to build amulet programs. This is an adaption
+of the Makefiles that come with amulet, which does not require the
+AMULET_DIR and AMULET_VARS_FILE to be set.
+
+WWW: http://pecan.srv.cs.cmu.edu/afs/cs/project/amulet/www/
+
+Filip Bovyn
+bovynf@awe.be
diff --git a/devel/amulet/pkg-plist b/devel/amulet/pkg-plist
new file mode 100644
index 000000000000..450c5b765749
--- /dev/null
+++ b/devel/amulet/pkg-plist
@@ -0,0 +1,237 @@
+bin/gilt
+bin/agate
+lib/libamulet.so
+lib/libamulet.so.3
+lib/libamulet-release.so
+lib/libamulet-release.so.3
+lib/libamulet-release.a
+include/am_inc.h
+include/amulet.h
+include/amulet/am_io.h
+include/amulet/am_strstream.h
+include/amulet/amulet2_conversion.h
+include/amulet/anim.h
+include/amulet/debugger.h
+include/amulet/formula.h
+include/amulet/formula_advanced.h
+include/amulet/gdefs.h
+include/amulet/gem.h
+include/amulet/gemM.h
+include/amulet/gemX.h
+include/amulet/gem_image.h
+include/amulet/gesture.h
+include/amulet/idefs.h
+include/amulet/inter.h
+include/amulet/inter_advanced.h
+include/amulet/misc.h
+include/amulet/object.h
+include/amulet/object_advanced.h
+include/amulet/opal.h
+include/amulet/opal_advanced.h
+include/amulet/priority_list.h
+include/amulet/registry.h
+include/amulet/rich_text.h
+include/amulet/standard_slots.h
+include/amulet/stdvalue.h
+include/amulet/symbol_table.h
+include/amulet/text_fns.h
+include/amulet/types.h
+include/amulet/undo_dialog.h
+include/amulet/univ_lst.h
+include/amulet/univ_lst.tpl
+include/amulet/univ_map.h
+include/amulet/univ_map.tpl
+include/amulet/value_list.h
+include/amulet/web.h
+include/amulet/widgets.h
+include/amulet/widgets_advanced.h
+@dirrm include/amulet
+share/amulet/lib/select.cl
+share/amulet/lib/images/Am_med.gif
+share/amulet/lib/images/aboutamulet.gif
+share/amulet/lib/images/alien.bmp
+share/amulet/lib/images/amside.gif
+share/amulet/lib/images/amside2.gif
+share/amulet/lib/images/amtiny.gif
+share/amulet/lib/images/amulet.gif
+share/amulet/lib/images/amuletside.xbm
+share/amulet/lib/images/amulettiny.xbm
+share/amulet/lib/images/arrow.gif
+share/amulet/lib/images/arrow.xbm
+share/amulet/lib/images/bomb.gif
+share/amulet/lib/images/borg.gif
+share/amulet/lib/images/borg.xbm
+share/amulet/lib/images/borg_m.gif
+share/amulet/lib/images/borg_mask.xbm
+share/amulet/lib/images/bug.gif
+share/amulet/lib/images/bugsmall.gif
+share/amulet/lib/images/circle.xbm
+share/amulet/lib/images/corrupt_ent.gif
+share/amulet/lib/images/corrupt_eye10.gif
+share/amulet/lib/images/crosshair.xbm
+share/amulet/lib/images/dog.gif
+share/amulet/lib/images/crosshair_mask.xbm
+share/amulet/lib/images/crsshr.gif
+share/amulet/lib/images/crsshr_m.gif
+share/amulet/lib/images/diamond.gif
+share/amulet/lib/images/diamond.xbm
+share/amulet/lib/images/ds9.gif
+share/amulet/lib/images/ds9.xbm
+share/amulet/lib/images/ds9_m.gif
+share/amulet/lib/images/ds9_mask.xbm
+share/amulet/lib/images/ent.gif
+share/amulet/lib/images/ent.xbm
+share/amulet/lib/images/ent_d.gif
+share/amulet/lib/images/ent_d.xbm
+share/amulet/lib/images/eye.gif
+share/amulet/lib/images/eye1.gif
+share/amulet/lib/images/eye10.gif
+share/amulet/lib/images/eye11.gif
+share/amulet/lib/images/eye12.gif
+share/amulet/lib/images/eye13.gif
+share/amulet/lib/images/eye14.gif
+share/amulet/lib/images/eye15.gif
+share/amulet/lib/images/eye16.gif
+share/amulet/lib/images/eye17.gif
+share/amulet/lib/images/eye18.gif
+share/amulet/lib/images/eye19.gif
+share/amulet/lib/images/fun.gif
+share/amulet/lib/images/eye2.gif
+share/amulet/lib/images/eye20.gif
+share/amulet/lib/images/eye21.gif
+share/amulet/lib/images/eye22.gif
+share/amulet/lib/images/eye23.gif
+share/amulet/lib/images/eye24.gif
+share/amulet/lib/images/eye3.gif
+share/amulet/lib/images/eye4.gif
+share/amulet/lib/images/eye5.gif
+share/amulet/lib/images/eye6.gif
+share/amulet/lib/images/eye7.gif
+share/amulet/lib/images/eye8.gif
+share/amulet/lib/images/eye9.gif
+share/amulet/lib/images/fun.xbm
+share/amulet/lib/images/girl.gif
+share/amulet/lib/images/goodship.gif
+share/amulet/lib/images/grey.gif
+share/amulet/lib/images/grey.xbm
+share/amulet/lib/images/happy.gif
+share/amulet/lib/images/happy.xbm
+share/amulet/lib/images/happy_m.gif
+share/amulet/lib/images/happy_mask.xbm
+share/amulet/lib/images/hi.gif
+share/amulet/lib/images/hi.xbm
+share/amulet/lib/images/horse.gif
+share/amulet/lib/images/rom.gif
+share/amulet/lib/images/kling.gif
+share/amulet/lib/images/kling.xbm
+share/amulet/lib/images/line.xbm
+share/amulet/lib/images/opaque_Am_med.gif
+share/amulet/lib/images/opaque_amside.gif
+share/amulet/lib/images/opaque_amside2.gif
+share/amulet/lib/images/opaque_amtiny.gif
+share/amulet/lib/images/opaque_amulet.gif
+share/amulet/lib/images/opaque_arrow.gif
+share/amulet/lib/images/opaque_bomb.gif
+share/amulet/lib/images/opaque_borg.gif
+share/amulet/lib/images/opaque_bug.gif
+share/amulet/lib/images/opaque_bugsmall.gif
+share/amulet/lib/images/opaque_crsshr.gif
+share/amulet/lib/images/opaque_diamond.gif
+share/amulet/lib/images/opaque_dog.gif
+share/amulet/lib/images/opaque_ds9.gif
+share/amulet/lib/images/opaque_ent.gif
+share/amulet/lib/images/opaque_ent_d.gif
+share/amulet/lib/images/opaque_eye.gif
+share/amulet/lib/images/opaque_eye1.gif
+share/amulet/lib/images/opaque_eye10.gif
+share/amulet/lib/images/opaque_eye11.gif
+share/amulet/lib/images/opaque_eye12.gif
+share/amulet/lib/images/opaque_eye13.gif
+share/amulet/lib/images/opaque_eye14.gif
+share/amulet/lib/images/opaque_eye15.gif
+share/amulet/lib/images/opaque_eye16.gif
+share/amulet/lib/images/opaque_eye17.gif
+share/amulet/lib/images/opaque_eye18.gif
+share/amulet/lib/images/opaque_eye19.gif
+share/amulet/lib/images/opaque_eye2.gif
+share/amulet/lib/images/opaque_eye20.gif
+share/amulet/lib/images/opaque_eye21.gif
+share/amulet/lib/images/opaque_eye22.gif
+share/amulet/lib/images/opaque_eye23.gif
+share/amulet/lib/images/opaque_eye24.gif
+share/amulet/lib/images/opaque_eye3.gif
+share/amulet/lib/images/rect.xbm
+share/amulet/lib/images/opaque_eye4.gif
+share/amulet/lib/images/opaque_eye5.gif
+share/amulet/lib/images/opaque_eye6.gif
+share/amulet/lib/images/opaque_eye7.gif
+share/amulet/lib/images/opaque_eye8.gif
+share/amulet/lib/images/opaque_eye9.gif
+share/amulet/lib/images/opaque_fun.gif
+share/amulet/lib/images/opaque_girl.gif
+share/amulet/lib/images/opaque_goodship.gif
+share/amulet/lib/images/opaque_grey.gif
+share/amulet/lib/images/opaque_happy.gif
+share/amulet/lib/images/opaque_hi.gif
+share/amulet/lib/images/opaque_horse.gif
+share/amulet/lib/images/opaque_kling.gif
+share/amulet/lib/images/opaque_rom.gif
+share/amulet/lib/images/opaque_smile.gif
+share/amulet/lib/images/opaque_spaceship.gif
+share/amulet/lib/images/rom.xbm
+share/amulet/lib/images/rom_m.gif
+share/amulet/lib/images/rom_mask.xbm
+share/amulet/lib/images/smile.gif
+share/amulet/lib/images/smile.xbm
+share/amulet/lib/images/spaceship.gif
+share/amulet/lib/images/stars.gif
+@dirrm share/amulet/lib/images
+@dirrm share/amulet/lib
+share/amulet/samples/sample.Makefile
+share/amulet/samples/av
+share/amulet/samples/testdpy
+share/amulet/samples/testgem
+share/amulet/samples/testtrans
+share/amulet/samples/testsubwins
+share/amulet/samples/testloop
+share/amulet/samples/testclip
+share/amulet/samples/testpoints
+share/amulet/samples/testwinsizes
+share/amulet/samples/testinput
+share/amulet/samples/testcopy
+share/amulet/samples/testobject
+share/amulet/samples/testopal
+share/amulet/samples/testJIO
+share/amulet/samples/testpolyweb
+share/amulet/samples/testlines
+share/amulet/samples/testgobs
+share/amulet/samples/testmap
+share/amulet/samples/hsv
+share/amulet/samples/testloadsave
+share/amulet/samples/testinter
+share/amulet/samples/testaniminter
+share/amulet/samples/testwidgets
+share/amulet/samples/testselectionwidget
+share/amulet/samples/testdragdrop
+share/amulet/samples/testmaps
+share/amulet/samples/testgest
+share/amulet/samples/testfade
+share/amulet/samples/testflip
+share/amulet/samples/testanimators
+share/amulet/samples/testrichtext
+share/amulet/samples/testpixmap
+share/amulet/samples/checkers
+share/amulet/samples/circuit
+share/amulet/samples/color
+share/amulet/samples/hello
+share/amulet/samples/goodbye_inter
+share/amulet/samples/goodbye_button
+share/amulet/samples/space
+share/amulet/samples/space2
+share/amulet/samples/timing
+share/amulet/samples/tutorial
+share/amulet/samples/tree
+share/amulet/samples/example1
+share/amulet/samples/example2
+@dirrm share/amulet/samples
+@dirrm share/amulet