diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..6fb6b79
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,105 @@
+#
+#    Copyright (c) 2010-2011 Nest, 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 make file for beep, a basic application that
+#      allows for driving a Linux input subsystem-compatible speaker or
+#      piezo by specifying pitch, duration and repetitions.
+#
+
+BuildConfigSpecialized	:= No
+BuildProductSpecialized	:= No
+
+include pre.mak
+
+PackageName		:= beep
+
+PackageExtension	:= tar.gz
+PackageSeparator	:= -
+
+PackagePatchArgs	:=
+
+PackageArchive		:= $(PackageName).$(PackageExtension)
+PackageSourceDir	:= $(PackageName)$(PackageSeparator)$(PackageVersion)
+
+PackageBuildMakefile	= $(call GenerateBuildPaths,Makefile)
+
+LicenseSourceFile	:= $(PackageSourceDir)/COPYING
+
+CleanPaths		+= $(PackageLicenseFile)
+
+LinuxHeaderDir		:= $(call GenerateResultPaths,sw/tps/linux,include)
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(LicenseSourceFile): source
+
+$(PackageLicenseFile): $(LicenseSourceFile)
+	$(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)
+	$(call create-links,$(CURDIR)/$(PackageSourceDir),$(BuildDirectory))
+
+# 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 | $(BuildDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) \
+	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \
+	CC="$(CC)" CXX="$(CXX)" AR=$(AR) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) \
+	CFLAGS="-I$(LinuxHeaderDir)" \
+	default
+
+# Stage the build to a temporary installation area.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+.PHONY: stage
+stage: build | $(ResultDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) \
+	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \
+	INSTALL_PREFIX=$(ResultDirectory) \
+	install
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak
diff --git a/beep.patches/beep-50.description b/beep.patches/beep-50.description
new file mode 100644
index 0000000..74c828f
--- /dev/null
+++ b/beep.patches/beep-50.description
@@ -0,0 +1 @@
+This patch allows beep to be compiled against a different set of Linux headers outside of the normal tool chain by supporting CFLAGS and also allows beep to be installed in a non-root location.
diff --git a/beep.patches/beep-50.patch b/beep.patches/beep-50.patch
new file mode 100644
index 0000000..229bbb6
--- /dev/null
+++ b/beep.patches/beep-50.patch
@@ -0,0 +1,33 @@
+diff -aruN a/Makefile b/Makefile
+--- a/Makefile	2010-08-03 06:57:27.000000000 -0700
++++ b/Makefile	2010-11-04 08:16:03.930197265 -0700
+@@ -1,19 +1,22 @@
+ CC=gcc
+-FLAGS=-Wall
++FLAGS=-Wall ${CFLAGS}
+ EXEC_NAME=beep
+-INSTALL_DIR=/usr/bin
++INSTALL_PREFIX=
++BIN_DIR=${INSTALL_PREFIX}/usr/bin
+ MAN_FILE=beep.1.gz
+-MAN_DIR=/usr/man/man1
++MAN_DIR=${INSTALL_PREFIX}/usr/man/man1
+ 
+-default : beep
++default : ${EXEC_NAME}
+ 
+ clean : 
+ 	rm ${EXEC_NAME}
+ 
+-beep : beep.c
++${EXEC_NAME} : beep.c
+ 	${CC} ${FLAGS} -o ${EXEC_NAME} beep.c
+ 
+-install : 
+-	cp ${EXEC_NAME} ${INSTALL_DIR}
++install :
++	-mkdir -p ${BIN_DIR}
++	cp ${EXEC_NAME} ${BIN_DIR}
+ 	# rm -f /usr/man/man1/beep.1.bz2
++	-mkdir -p ${MAN_DIR}
+ 	cp ${MAN_FILE} ${MAN_DIR}
diff --git a/beep.patches/beep-51.description b/beep.patches/beep-51.description
new file mode 100644
index 0000000..ce84b8f
--- /dev/null
+++ b/beep.patches/beep-51.description
@@ -0,0 +1,6 @@
+This patch replaces CLOCK_TICK_RATE with PIT_TICK_RATE, in name only. 
+The use of PIT_TICK_RATE is historic with the KIOCSOUND and KDMKTONE 
+ioctls; howwever, it used to be the platform-dependent CLOCK_TICK_RATE 
+between kernel version 2.6.12 and 2.6.36, which was a minor but 
+unfortunate ABI change that ended up polluting, at least in name, beep 
+as well.
diff --git a/beep.patches/beep-51.patch b/beep.patches/beep-51.patch
new file mode 100644
index 0000000..d7731d8
--- /dev/null
+++ b/beep.patches/beep-51.patch
@@ -0,0 +1,23 @@
+diff -aruN a/beep.c b/beep.c
+--- a/beep.c	2010-08-03 06:57:27.000000000 -0700
++++ b/beep.c	2010-11-09 17:17:01.000000000 -0800
+@@ -44,8 +44,8 @@
+    resets the counter to the original value, and starts over. The end
+    result of this is a tone at approximately the desired frequency. :)
+ */
+-#ifndef CLOCK_TICK_RATE
+-#define CLOCK_TICK_RATE 1193180
++#ifndef PIT_TICK_RATE
++#define PIT_TICK_RATE 1193180
+ #endif
+ 
+ #define VERSION_STRING "beep-1.3"
+@@ -100,7 +100,7 @@
+ void do_beep(int freq) {
+   if (console_type == BEEP_TYPE_CONSOLE) {
+     if(ioctl(console_fd, KIOCSOUND, freq != 0
+-      ? (int)(CLOCK_TICK_RATE/freq)
++      ? (int)(PIT_TICK_RATE/freq)
+       : freq) < 0) {
+       printf("\a");  /* Output the only beep we can, in an effort to fall back on usefulness */
+       perror("ioctl");
diff --git a/beep.tar.gz b/beep.tar.gz
new file mode 100644
index 0000000..30a7e2c
--- /dev/null
+++ b/beep.tar.gz
Binary files differ
diff --git a/beep.url b/beep.url
new file mode 100644
index 0000000..9f1b697
--- /dev/null
+++ b/beep.url
@@ -0,0 +1 @@
+http://johnath.com/beep/beep-1.3.tar.gz
diff --git a/beep.version b/beep.version
new file mode 100644
index 0000000..7e32cd5
--- /dev/null
+++ b/beep.version
@@ -0,0 +1 @@
+1.3
