Index: trunk/dports/gnome/nautilus/Portfile
===================================================================
--- trunk/dports/gnome/nautilus/Portfile	(revision 4115)
+++ trunk/dports/gnome/nautilus/Portfile	(revision 4115)
@@ -0,0 +1,22 @@
+# $Id: Portfile,v 1.1 2003/12/05 23:09:47 olegb Exp $
+PortSystem 1.0
+name		nautilus
+version		2.4.1
+description	The GNOME filemanager
+long_description       	Nautilus is the official file manager for the \
+			GNOME desktop. It is designed to be primarly a file manager, \
+			but there are support for web and file viewing too.  
+maintainers	olegb@opendarwin.org
+categories	gnome
+platforms	darwin 
+homepage	http://www.gnome.org/
+master_sites    gnome:sources/nautilus/2.4/
+checksums	md5 3e01d69809c4e6bb302c81075ed0be1e
+depends_lib	lib:librsvg:librsvg
+patchfiles	patch_nautilus-emblem-utils.c patch_nautilus-program-choosing.c \
+		patch_egg-screen-exec.c patch_nautilus-volume-monitor.c \
+		patch_ltmain.sh
+use_bzip2 	yes
+configure.args  --mandir=${prefix}/share/man
+configure.env   CPPFLAGS="-L${prefix}/lib -I${prefix}/include" \
+		CFLAGS="-flat_namespace -undefined suppress"
Index: trunk/dports/gnome/nautilus/files/patch_egg-screen-exec.c
===================================================================
--- trunk/dports/gnome/nautilus/files/patch_egg-screen-exec.c	(revision 4115)
+++ trunk/dports/gnome/nautilus/files/patch_egg-screen-exec.c	(revision 4115)
@@ -0,0 +1,15 @@
+--- cut-n-paste-code/libegg/egg-screen-exec.c.org	Fri Nov 28 16:35:28 2003
++++ cut-n-paste-code/libegg/egg-screen-exec.c	Fri Nov 28 16:35:44 2003
+@@ -31,7 +31,12 @@
+ #include <gdk/gdkx.h>
+ #endif
+ 
++#ifdef __APPLE__
++# include <crt_externs.h>
++# define environ (*_NSGetEnviron())
++#elif
+ extern char **environ;
++#endif
+ 
+ /**
+  * egg_screen_exec_display_string:
Index: trunk/dports/gnome/nautilus/files/patch_ltmain.sh
===================================================================
--- trunk/dports/gnome/nautilus/files/patch_ltmain.sh	(revision 4115)
+++ trunk/dports/gnome/nautilus/files/patch_ltmain.sh	(revision 4115)
@@ -0,0 +1,11 @@
+--- ltmain.sh.org	Fri Nov 28 17:38:47 2003
++++ ltmain.sh	Fri Nov 28 17:40:13 2003
+@@ -1772,7 +1772,7 @@
+ 
+ 	  if test "$installed" = no; then
+ 	    notinst_deplibs="$notinst_deplibs $lib"
+-	    need_relink=yes
++	    need_relink=no
+ 	  fi
+ 
+ 	  if test -n "$old_archive_from_expsyms_cmds"; then
Index: trunk/dports/gnome/nautilus/files/patch_nautilus-emblem-utils.c
===================================================================
--- trunk/dports/gnome/nautilus/files/patch_nautilus-emblem-utils.c	(revision 4115)
+++ trunk/dports/gnome/nautilus/files/patch_nautilus-emblem-utils.c	(revision 4115)
@@ -0,0 +1,10 @@
+--- libnautilus-private/nautilus-emblem-utils.c.org	Wed Nov 26 19:05:49 2003
++++ libnautilus-private/nautilus-emblem-utils.c	Wed Nov 26 21:40:23 2003
+@@ -24,6 +24,7 @@
+ 
+ #include <config.h>
+ 
++#include <sys/types.h>
+ #include <utime.h>
+ #include <stdio.h>
+ #include <time.h>
Index: trunk/dports/gnome/nautilus/files/patch_nautilus-program-choosing.c
===================================================================
--- trunk/dports/gnome/nautilus/files/patch_nautilus-program-choosing.c	(revision 4115)
+++ trunk/dports/gnome/nautilus/files/patch_nautilus-program-choosing.c	(revision 4115)
@@ -0,0 +1,15 @@
+--- libnautilus-private/nautilus-program-choosing.c.org	Thu Nov 27 17:43:45 2003
++++ libnautilus-private/nautilus-program-choosing.c	Thu Nov 27 17:44:04 2003
+@@ -565,7 +565,12 @@
+ 	gdk_error_trap_pop ();
+ }
+ 
++#ifdef __APPLE__
++# include <crt_externs.h>
++# define environ (*_NSGetEnviron())
++#elif
+ extern char **environ;
++#endif
+ 
+ static char **
+ make_spawn_environment_for_sn_context (SnLauncherContext *sn_context,
Index: trunk/dports/gnome/nautilus/files/patch_nautilus-volume-monitor.c
===================================================================
--- trunk/dports/gnome/nautilus/files/patch_nautilus-volume-monitor.c	(revision 4115)
+++ trunk/dports/gnome/nautilus/files/patch_nautilus-volume-monitor.c	(revision 4115)
@@ -0,0 +1,64 @@
+--- libnautilus-private/nautilus-volume-monitor.c.org	Fri Nov 28 16:14:58 2003
++++ libnautilus-private/nautilus-volume-monitor.c	Fri Nov 28 16:28:16 2003
+@@ -121,6 +121,11 @@
+ #define MNTOPT_RO "ro"
+ #endif
+ 
++#ifdef __APPLE__
++#define setmntent(f,m) fopen(f,m)
++#define endmntent(f) fclose(f)
++#endif
++
+ #ifndef HAVE_SETMNTENT
+ #define setmntent(f,m) fopen(f,m)
+ #endif
+@@ -589,15 +594,6 @@
+ static gboolean
+ has_removable_mntent_options (MountTableEntry *ent)
+ {
+-#ifdef HAVE_HASMNTOPT
+-	/* Use "owner" or "user" or "users" as our way of determining a removable volume */
+-	if (hasmntopt (ent, "user") != NULL
+-	    || hasmntopt (ent, "users") != NULL
+-	    || hasmntopt (ent, "owner") != NULL
+-	    || eel_strcmp("supermount", MOUNT_TABLE_ENTRY_TYPE (ent)) == 0) {
+-		return TRUE;
+-	}
+-#endif
+ 
+ #ifdef SOLARIS_MNT
+ 	if (eel_str_has_prefix (ent->mnt_special, "/vol/")) {
+@@ -794,16 +790,6 @@
+ #elif defined (HAVE_MNTENT_H)
+ 	while ((ent = getmntent (file)) != NULL) {
+ 		if (has_removable_mntent_options (ent)) {
+-#if defined (HAVE_HASMNTOPT)
+-
+-			if (eel_strcmp("supermount", ent->mnt_type) == 0) {
+-				fs_opt = eel_str_strip_substring_and_after (hasmntopt (ent, "dev="),
+-									    ",");
+-				volume = create_volume (fs_opt+strlen("dev="), ent->mnt_dir);
+-				g_free (fs_opt);
+-
+-			} else {
+-#endif
+ 				volume = create_volume (ent->mnt_fsname, ent->mnt_dir);
+ #if defined (HAVE_HASMNTOPT)
+ 			}
+@@ -831,16 +817,6 @@
+ entry_is_supermounted_volume (const MountTableEntry *ent, const NautilusVolume *volume)
+ {
+       gboolean result = FALSE;
+-#ifdef HAVE_HASMNTOPT
+-      char * fs_opt;
+-
+-      if (strcmp (MOUNT_TABLE_ENTRY_TYPE (ent), "supermount") == 0) {
+-              fs_opt = eel_str_strip_substring_and_after (hasmntopt (ent, "dev="),
+-                                                          ",");
+-              result = strcmp (volume->device_path, fs_opt + strlen ("dev=")) == 0;
+-              g_free (fs_opt);
+-      }
+-#endif
+       return result;
+ }
+ 
