--- Makefile.orig	2010-09-10 17:55:54.000000000 -0500
+++ Makefile	2010-12-28 16:15:44.000000000 -0600
@@ -21,6 +21,10 @@
 	LINUX = 1
 endif
 
+ifeq "$(SYSTEM)" "FreeBSD"
+  FreeBSD = 1
+endif
+
 ifeq "$(SYSTEM)" "MinGW"
 	WINDOWS = 1
 endif
@@ -41,6 +45,10 @@
 	EXPORT_FLAGS = -export-dynamic
 endif
 
+ifdef FreeBSD
+    EXPORT_FLAGS = -export-dynamic
+endif
+
 ifdef WINDOWS
 	EXPORT_FLAGS = -export-all-symbols
 endif
@@ -124,10 +132,13 @@
 	FSpotDatabaseDriver.vala \
 	FSpotDatabaseTables.vala
 
+# this should be ifndef LINUX && ifndef FreeBSD
 ifndef LINUX
+ifndef FreeBSD
 SRC_FILES += \
 	GConf.vala
 endif
+endif
 
 VAPI_FILES = \
 	libexif.vapi \
@@ -288,6 +299,18 @@
 	gdk-x11-2.0
 endif
 
+ifdef FreeBSD
+EXT_PKGS += \
+	gconf-2.0 \
+	libgphoto2 \
+	libsoup-2.4 \
+	libxml-2.0 \
+	unique-1.0 \
+	webkit-1.0 \
+	dbus-glib-1 \
+	gdk-x11-2.0
+endif
+
 # libraw is handled separately (see note below); when libraw-config is no longer needed, the version
 # should be added to this list
 EXT_PKG_VERSIONS = \
@@ -313,6 +336,18 @@
 	dbus-glib-1 >= 0.80
 endif
 
+ifdef LINUX
+EXT_PKG_VERSIONS += \
+	gconf-2.0 >= 2.22.0 \
+	libgphoto2 >= 2.4.2 \
+	libsoup-2.4 >= 2.26.0 \
+	libxml-2.0 >= 2.6.32 \
+	unique-1.0 >= 1.0.0 \
+	webkit-1.0 >= 1.1.5 \
+	dbus-glib-1 >= 0.80
+endif
+
+
 PKGS = $(EXT_PKGS) $(LOCAL_PKGS) $(LIBRAW_PKG)
 
 ifndef BUILD_DIR
@@ -357,6 +392,10 @@
 
 VALA_LDFLAGS = `pkg-config --libs $(EXT_PKGS) gthread-2.0`
 
+ifdef FreeBSD
+  VALA_DEFINES = -D NO_CAMERA
+endif
+
 ifdef WINDOWS
   VALA_DEFINES = -D WINDOWS -D NO_CAMERA -D NO_PRINTING -D NO_PUBLISHING -D NO_LIBUNIQUE -D NO_EXTENDED_POSIX -D NO_SET_BACKGROUND
   EXPANDED_OBJ_FILES += src/windows.o
@@ -393,6 +432,11 @@
 LIBRAW_CONFIG=./libraw-config
 endif
 
+ifdef FreeBSD
+LIBRAW_CONFIG=./libraw-config
+endif
+
+
 ifdef WINDOWS
 LIBRAW_CONFIG=./libraw-config --windows
 endif
@@ -488,9 +532,20 @@
 	$(INSTALL_DATA) $(EXPANDED_HELP_IMAGES) $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C/figures
 endif
 endif
+ifdef FreeBSD
+ifndef DISABLE_SCHEMAS_INSTALL
+	GCONF_CONFIG_SOURCE=%%GCONF_CONFIG_SOURCE%% gconftool-2 --makefile-install-rule misc/shotwell.schemas
+	mkdir -p $(DESTDIR)$(SCHEMA_FILE_DIR)
+	$(INSTALL_DATA) misc/shotwell.schemas $(DESTDIR)$(SCHEMA_FILE_DIR)
+endif
+ifdef ENABLE_APPORT_HOOK_INSTALL
+	mkdir -p $(DESTDIR)$(PREFIX)/share/apport/package-hooks
+	$(INSTALL_DATA) apport/shotwell.py $(DESTDIR)$(PREFIX)/share/apport/package-hooks
+endif
+endif
 	-$(foreach lang,$(SUPPORTED_LANGUAGES),`mkdir -p $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES ; \
-        $(INSTALL_DATA) $(LOCAL_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo \
-            $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo`)
+	$(INSTALL_DATA) $(LOCAL_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo \
+	    $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo`)
 
 uninstall:
 	rm -f $(DESTDIR)$(PREFIX)/bin/$(PROGRAM)
@@ -514,6 +569,16 @@
 	rm -f $(DESTDIR)$(PREFIX)/share/apport/package-hooks/shotwell.py
 endif
 endif
+ifdef FreeBSD
+ifndef DISABLE_SCHEMAS_INSTALL
+	GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-install-rule misc/shotwell.schemas
+else
+	rm -f $(DESTDIR)$(SCHEMA_FILE_DIR)/shotwell.schemas
+endif
+ifdef ENABLE_APPORT_HOOK_INSTALL
+	rm -f $(DESTDIR)$(PREFIX)/share/apport/package-hooks/shotwell.py
+endif
+endif
 	$(foreach lang,$(SUPPORTED_LANGUAGES),`rm -f $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo`)
 
 $(VALA_STAMP): $(EXPANDED_SRC_FILES) $(EXPANDED_VAPI_FILES) $(EXPANDED_SRC_HEADER_FILES) Makefile \
