diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..32ce613
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,136 @@
+#
+#    Copyright (c) 2010-2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the makefile for udev, the dynamic device node
+#      manager for Linux.
+#
+
+BuildConfigSpecialized	:= No
+BuildProductSpecialized	:= No
+
+include pre.mak
+
+PackageName		:= udev
+
+PackageExtension	:= tar.bz2
+PackageSeparator	:= -
+
+PackagePatchArgs	:= -p1
+
+PackageArchive		:= $(PackageName).$(PackageExtension)
+PackageSourceDir	:= $(PackageName)$(PackageSeparator)$(PackageVersion)
+
+PackageBuildMakefile	= $(call GenerateBuildPaths,Makefile)
+
+CleanPaths		+= $(PackageLicenseFile)
+
+GlibDir			:= sw/tps/glib
+GlibIncDir      	:= $(call GenerateResultPaths,$(GlibDir),usr/include)
+GlibLibDir      	:= $(call GenerateResultPaths,$(GlibDir),usr/lib)
+
+LinuxIncDir		:= $(call GenerateResultPaths,sw/tps/linux,include)
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(PackageSourceDir)/COPYING: source
+
+$(PackageLicenseFile): $(PackageSourceDir)/COPYING
+	$(copy-result)
+
+# Extract the source from the archive and apply patches, if any.
+
+$(PackageSourceDir): $(PackageArchive) $(PackagePatchPaths)
+	$(expand-and-patch-package)
+
+# Prepare the sources.
+
+.PHONY: source
+source: | $(PackageSourceDir)
+
+# Patch the sources, if necessary.
+
+.PHONY: patch
+patch: source
+
+# Generate the package build makefile.
+
+$(PackageBuildMakefile): | $(PackageSourceDir) $(BuildDirectory) $(ResultDirectory)
+	$(Verbose)cd $(BuildDirectory) && \
+	$(CURDIR)/$(PackageSourceDir)/configure \
+	CC="$(CC)" CXX="$(CXX)" AR=$(AR) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) \
+	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \
+	CPPFLAGS="-I$(LinuxIncDir)" \
+	GLIB_CFLAGS="-I$(GlibIncDir)" \
+	GLIB_LIBS="-L$(GlibLibDir)" \
+	--build=$(HostTuple) \
+	--host=$(TargetTuple) \
+	--disable-extras \
+	--disable-introspection \
+	--disable-static \
+	--enable-shared \
+	--without-selinux \
+	--prefix=/usr \
+	--sysconfdir=/etc \
+	--sbindir=/sbin \
+	--libdir=/usr/lib \
+	--with-rootlibdir=/lib \
+	--libexecdir=/lib/udev \
+	--localstatedir=/var
+
+# Configure the source for building.
+
+.PHONY: configure
+configure: source $(PackageBuildMakefile)
+
+# Build the source.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+.PHONY: build
+build: configure
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) all
+
+# Stage the build to a temporary installation area.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+#
+# We explictly remove 'libfoo.la' because some packages that depend on
+# these libraries use libtool. If libtool finds a 'libfoo.la' file for
+# a library, it uses the value of 'libdir=<dir>' it finds. In our
+# case, since '--prefix=/usr' this value is '/usr/lib'. It then
+# resolves '-lfoo'. In a cross-compilation environment, this is likely
+# to be neither the right architecture nor the right version to link
+# against. In short, we lose.
+#
+# We could also handle this by removing DESTDIR and setting the prefix
+# to $(ResultDirectory); however, that results in libtool hard-coding
+# $(ResultDirectory) as the RPATH in the linked executables which is
+# NOT what we want either. We lose again.
+#
+# By removing the '*.la' file, we win by ensuring neither a misdirected
+# link nor an RPATH.
+
+.PHONY: stage
+stage: build | $(ResultDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) DESTDIR=$(ResultDirectory) install
+	$(Verbose)$(RM) $(RMFLAGS) $(call GenerateResultPaths,,usr/lib/libudev.la)
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak
diff --git a/udev.patches/udev-00.description b/udev.patches/udev-00.description
new file mode 100644
index 0000000..a85ce82
--- /dev/null
+++ b/udev.patches/udev-00.description
@@ -0,0 +1,2 @@
+Patch from upstream udev167. remove reference to linux/videodev.h so it compiles with gcc 4.8.2
+
diff --git a/udev.patches/udev-00.patch b/udev.patches/udev-00.patch
new file mode 100644
index 0000000..7af8ac8
--- /dev/null
+++ b/udev.patches/udev-00.patch
@@ -0,0 +1,38 @@
+--- a/extras/v4l_id/v4l_id.c	2009-12-03 04:45:03.000000000 -0800
++++ b/extras/v4l_id/v4l_id.c	2014-06-05 10:08:37.975863570 -0700
+@@ -28,7 +28,6 @@
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <sys/ioctl.h>
+-#include <linux/videodev.h>
+ #include <linux/videodev2.h>
+ 
+ int main (int argc, char *argv[])
+@@ -39,7 +38,6 @@
+ 	};
+ 	int fd;
+ 	char *device;
+-	struct video_capability v1cap;
+ 	struct v4l2_capability v2cap;
+ 
+ 	while (1) {
+@@ -82,19 +80,6 @@
+ 		if ((v2cap.capabilities & V4L2_CAP_RADIO) > 0)
+ 			printf("radio:");
+ 		printf("\n");
+-	} else if (ioctl (fd, VIDIOCGCAP, &v1cap) == 0) {
+-		printf("ID_V4L_VERSION=1\n");
+-		printf("ID_V4L_PRODUCT=%s\n", v1cap.name);
+-		printf("ID_V4L_CAPABILITIES=:");
+-		if ((v1cap.type & VID_TYPE_CAPTURE) > 0)
+-			printf("capture:");
+-		if ((v1cap.type & VID_TYPE_OVERLAY) > 0)
+-			printf("video_overlay:");
+-		if (v1cap.audios > 0)
+-			printf("audio:");
+-		if ((v1cap.type & VID_TYPE_TUNER) > 0)
+-			printf("tuner:");
+-		printf("\n");
+ 	}
+ 
+ 	close (fd);
diff --git a/udev.tar.bz2 b/udev.tar.bz2
new file mode 100644
index 0000000..7d1905c
--- /dev/null
+++ b/udev.tar.bz2
Binary files differ
diff --git a/udev.url b/udev.url
new file mode 100644
index 0000000..d0dd82d
--- /dev/null
+++ b/udev.url
@@ -0,0 +1 @@
+http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-166.tar.bz2
diff --git a/udev.version b/udev.version
new file mode 100644
index 0000000..cdffbbc
--- /dev/null
+++ b/udev.version
@@ -0,0 +1 @@
+166
