diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..842db03
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,109 @@
+#
+#    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.
+#
+
+
+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)
+
+SOURCEDIRS                      = $(PackageSourceDir)
+$(PackageSourceDir)_RULE_TARGET = $(BuildDirectory)/configure
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(LicenseSourceFile): $(BuildDirectory)/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.
+
+$(BuildDirectory)/source: | $(PackageSourceDir)
+	$(Verbose)touch $@
+
+# Patch the sources, if necessary.
+
+$(BuildDirectory)/patch: $(BuildDirectory)/source
+	$(Verbose)touch $@
+
+# Generate the package build makefile.
+
+$(PackageBuildMakefile): | $(PackageSourceDir) $(BuildDirectory)
+	$(call create-links,$(CURDIR)/$(PackageSourceDir),$(BuildDirectory))
+
+# Configure the source for building.
+
+$(BuildDirectory)/configure: $(BuildDirectory)/source $(PackageBuildMakefile)
+	$(Verbose)touch $@
+
+# Build the source.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+$(BuildDirectory)/build: $(BuildDirectory)/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
+	$(Verbose)touch $@
+
+# Stage the build to a temporary installation area.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+$(BuildDirectory)/stage: $(BuildDirectory)/build | $(ResultDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) \
+	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \
+	INSTALL_PREFIX=$(ResultDirectory) \
+	install
+	$(Verbose)touch $@
+
+.PHONY: stage
+stage: $(BuildDirectory)/stage
+
+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
