diff --git a/doc/contributions.txt b/doc/contributions.txt
index df8d8a979ad979c02737012a5964605728d047e5..488bacc8ed67036a713c9017867ee204701543df 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -14,6 +14,7 @@ Adam Marker
 Aimee Trescothick
 	VWR-3903
 	VWR-4083
+	VWR-9255
 Alejandro Rosenthal
 	VWR-1184
 Alissa Sabre
diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt
index fac2afa5a1d27e46b7f1d7a0c186e17b14cee890..c473b94ff72638b4d27a96f684115f4240eae906 100644
--- a/indra/CMakeLists.txt
+++ b/indra/CMakeLists.txt
@@ -19,6 +19,10 @@ set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
 
 include(Variables)
 
+if (DARWIN)
+  cmake_minimum_required(VERSION 2.6.2 FATAL_ERROR)
+endif (DARWIN)
+
 if (NOT CMAKE_BUILD_TYPE)
   set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
       "Build type.  One of: Debug Release RelWithDebInfo" FORCE)
diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake
index fe3ca941ee7cca822a838460062f71e4ef03bf7b..523d8ee27e80f31e8bcd02ca901d92bf4c9705ff 100644
--- a/indra/cmake/APR.cmake
+++ b/indra/cmake/APR.cmake
@@ -15,23 +15,17 @@ if (STANDALONE)
 else (STANDALONE)
   use_prebuilt_binary(apr_suite)
   if (WINDOWS)
-    set(WINLIBS_PREBUILT_DEBUG_DIR 
-      ${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug
-      )
-    set(WINLIBS_PREBUILT_RELEASE_DIR 
-      ${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release
-      )
     set(APR_LIBRARIES 
-      debug ${WINLIBS_PREBUILT_DEBUG_DIR}/apr-1.lib
-      optimized ${WINLIBS_PREBUILT_RELEASE_DIR}/apr-1.lib
+      debug ${ARCH_PREBUILT_DIRS_DEBUG}/apr-1.lib
+      optimized ${ARCH_PREBUILT_DIRS_RELEASE}/apr-1.lib
       )
     set(APRUTIL_LIBRARIES 
-      debug ${WINLIBS_PREBUILT_DEBUG_DIR}/aprutil-1.lib
-      optimized ${WINLIBS_PREBUILT_RELEASE_DIR}/aprutil-1.lib
+      debug ${ARCH_PREBUILT_DIRS_DEBUG}/aprutil-1.lib
+      optimized ${ARCH_PREBUILT_DIRS_RELEASE}/aprutil-1.lib
       )
     set(APRICONV_LIBRARIES 
-      debug ${WINLIBS_PREBUILT_DEBUG_DIR}/apriconv-1.lib
-      optimized ${WINLIBS_PREBUILT_RELEASE_DIR}/apriconv-1.lib
+      debug ${ARCH_PREBUILT_DIRS_DEBUG}/apriconv-1.lib
+      optimized ${ARCH_PREBUILT_DIRS_RELEASE}/apriconv-1.lib
       )
   elseif (DARWIN)
     set(APR_LIBRARIES 
diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt
index 1b9bcffd168281192323e2e376b0eb19be325c47..a2658d3f3aaf03940d17f9af08196abc54134350 100644
--- a/indra/cmake/CMakeLists.txt
+++ b/indra/cmake/CMakeLists.txt
@@ -48,7 +48,6 @@ set(cmake_SOURCE_FILES
     LLMath.cmake
     LLMedia.cmake
     LLMessage.cmake
-    LLPhysics.cmake
     LLPrimitive.cmake
     LLRender.cmake
     LLScene.cmake
diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake
index c9748e3b28f9e725e7b7929347b1b08de5fbf805..167c5dd31cc38841401e04c9108321bb2c8a5ffb 100644
--- a/indra/cmake/Linking.cmake
+++ b/indra/cmake/Linking.cmake
@@ -7,15 +7,15 @@ if (NOT STANDALONE)
     set(ARCH_PREBUILT_DIRS_DEBUG ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/debug)
   elseif (LINUX)
     if (VIEWER)
-      set(ARCH_PREBUILT_DIRS 
-          ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib_release_client)
-      set(ARCH_PREBUILT_DIRS_RELEASE ${ARCH_PREBUILT_DIRS})
-      set(ARCH_PREBUILT_DIRS_DEBUG ${ARCH_PREBUILT_DIRS})
+      set(ARCH_PREBUILT_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib_release_client)
     else (VIEWER)
       set(ARCH_PREBUILT_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib_release)
     endif (VIEWER)
+    set(ARCH_PREBUILT_DIRS_RELEASE ${ARCH_PREBUILT_DIRS})
+    set(ARCH_PREBUILT_DIRS_DEBUG ${ARCH_PREBUILT_DIRS})
   elseif (DARWIN)
     set(ARCH_PREBUILT_DIRS_RELEASE ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib_release)
+    set(ARCH_PREBUILT_DIRS ${ARCH_PREBUILT_DIRS_RELEASE})
     set(ARCH_PREBUILT_DIRS_DEBUG ${ARCH_PREBUILT_DIRS_RELEASE})
   endif (WINDOWS)
 endif (NOT STANDALONE)
diff --git a/indra/lib/python/indra/util/named_query.py b/indra/lib/python/indra/util/named_query.py
index 1457ff2a30855c609b5c06701b7a850781a5ebd4..e1f1ad2002e53b9a59a1d76ba8820316497d4817 100644
--- a/indra/lib/python/indra/util/named_query.py
+++ b/indra/lib/python/indra/util/named_query.py
@@ -103,10 +103,11 @@ class NamedQuery(object):
     def __init__(self, name, filename):
         """ Construct a NamedQuery object.  The name argument is an
         arbitrary name as a handle for the query, and the filename is
-        a path to a file containing an llsd named query document."""
+        a path to a file or a file-like object containing an llsd named
+        query document."""
         self._stat_interval_seconds = 5  # 5 seconds
         self._name = name
-        if (filename is not None
+        if (filename is not None and isinstance(filename, (str, unicode))
             and NQ_FILE_SUFFIX != filename[-NQ_FILE_SUFFIX_LEN:]):
             filename = filename + NQ_FILE_SUFFIX
         self._location = filename
@@ -122,8 +123,8 @@ def name(self):
 
     def get_modtime(self):
         """ Returns the mtime (last modified time) of the named query
-        file, if such exists."""
-        if self._location:
+        filename. For file-like objects, expect a modtime of 0"""
+        if self._location and isinstance(self._location, (str, unicode)):
             return os.path.getmtime(self._location)
         return 0
 
@@ -131,7 +132,12 @@ def load_contents(self):
         """ Loads and parses the named query file into self.  Does
         nothing if self.location is nonexistant."""
         if self._location:
-            self._reference_contents(llsd.parse(open(self._location).read()))
+            if isinstance(self._location, (str, unicode)):
+                contents = llsd.parse(open(self._location).read())
+            else:
+                # we probably have a file-like object. Godspeed!
+                contents = llsd.parse(self._location.read())
+            self._reference_contents(contents)
             # Check for alternative implementations
             try:
                 for name, alt in self._contents['alternative'].items():
diff --git a/indra/mac_crash_logger/CMakeLists.txt b/indra/mac_crash_logger/CMakeLists.txt
index 391259568955f3c117c1f6b15075986ee7fb2116..daf3e10857af5e9361ff9c47e5e785675d705077 100644
--- a/indra/mac_crash_logger/CMakeLists.txt
+++ b/indra/mac_crash_logger/CMakeLists.txt
@@ -35,7 +35,6 @@ set_source_files_properties(${mac_crash_logger_HEADER_FILES}
 list(APPEND mac_crash_logger_SOURCE_FILES ${mac_crash_logger_HEADER_FILES})
 
 set(mac_crash_logger_RESOURCE_FILES
-  Info.plist
   CrashReporter.nib/
   )
 set_source_files_properties(
@@ -43,11 +42,6 @@ set_source_files_properties(
   PROPERTIES
   HEADER_FILE_ONLY TRUE
   )
-set_source_files_properties(
-  Info.plist
-  PROPERTIES
-  MACOSX_PACKAGE_LOCATION . # will it blend? + poppy
-  )
 SOURCE_GROUP("Resources" FILES ${mac_crash_logger_RESOURCE_FILES})
 list(APPEND mac_crash_logger_SOURCE_FILES ${mac_crash_logger_RESOURCE_FILES})
 
@@ -55,6 +49,11 @@ add_executable(mac-crash-logger
   MACOSX_BUNDLE
   ${mac_crash_logger_SOURCE_FILES})
 
+set_target_properties(mac-crash-logger
+  PROPERTIES
+  MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
+  )
+
 target_link_libraries(mac-crash-logger
     ${LLCRASHLOGGER_LIBRARIES}
     ${LLVFS_LIBRARIES}
diff --git a/indra/mac_updater/CMakeLists.txt b/indra/mac_updater/CMakeLists.txt
index 3ac5aeebd554a2033200c155dfb0e6f477a37eec..0eac76fa697ca6e3fcd9e0ab84553cb2dc9a177d 100644
--- a/indra/mac_updater/CMakeLists.txt
+++ b/indra/mac_updater/CMakeLists.txt
@@ -42,7 +42,6 @@ list(APPEND mac_updater_SOURCE_FILES ${mac_updater_HEADER_FILES})
 
 
 set(mac_updater_RESOURCE_FILES
-  Info.plist
   AutoUpdater.nib/
   )
 set_source_files_properties(
@@ -50,19 +49,18 @@ set_source_files_properties(
   PROPERTIES
   HEADER_FILE_ONLY TRUE
   )
-set_source_files_properties(
-  Info.plist
-  PROPERTIES
-  MACOSX_PACKAGE_LOCATION . # will it blend? + poppy
-  )
 SOURCE_GROUP("Resources" FILES ${mac_updater_RESOURCE_FILES})
 list(APPEND mac_updater_SOURCE_FILES ${mac_updater_RESOURCE_FILES})
 
-
 add_executable(mac-updater
   MACOSX_BUNDLE
   ${mac_updater_SOURCE_FILES})
 
+set_target_properties(mac-updater
+  PROPERTIES
+  MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
+  )
+
 target_link_libraries(mac-updater
     ${LLVFS_LIBRARIES}
     ${CURL_LIBRARIES}
@@ -79,4 +77,3 @@ add_custom_command(
     ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/mac-updater.app/Contents/Resources/AutoUpdater.nib
   )
 
-
diff --git a/indra/test/llsd_new_tut.cpp b/indra/test/llsd_new_tut.cpp
index 529e0df20fcb509d16d556ff90f4bec352849a6e..18d329ce8bd40058e53804b7c449469bd984aad2 100644
--- a/indra/test/llsd_new_tut.cpp
+++ b/indra/test/llsd_new_tut.cpp
@@ -108,7 +108,7 @@ namespace tut
 		SDCleanupCheck check;
 		
 		LLSD v;
-		
+
 		v = true;		ensureTypeAndValue("set true", v, true);
 		v = false;		ensureTypeAndValue("set false", v, false);
 		v = true;		ensureTypeAndValue("set true again", v, true);
@@ -749,6 +749,15 @@ namespace tut
 		}
 	}
 
+	template<> template<>
+	void SDTestObject::test<14>()
+		// make sure that assignment of char* NULL in a string does not crash.
+	{
+		LLSD v;
+		v = (const char*)NULL;
+		ensure("type is a string", v.isString());
+	}
+
 	/* TO DO:
 		conversion of undefined to UUID, Date, URI and Binary
 		conversion of undefined to map and array