diff --git a/monit-5.4/Makefile b/monit-5.4/Makefile
new file mode 100644
index 0000000..0af90f1
--- /dev/null
+++ b/monit-5.4/Makefile
@@ -0,0 +1,138 @@
+#
+#    Copyright (c) 2010-2013 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 make file for the daemon-monitoring daemon
+#      (DMD), monit.
+#
+
+BuildConfigSpecialized	:= No
+BuildProductSpecialized	:= No
+
+include pre.mak
+
+PackageName		:= monit
+
+PackageExtension	:= tar.gz
+PackageSeparator	:= -
+
+PackagePatchArgs	:= -p1
+
+PackageArchive		:= $(PackageName).$(PackageExtension)
+PackageSourceDir	:= $(PackageName)$(PackageSeparator)$(PackageVersion)
+
+PackageBuildMakefile	= $(call GenerateBuildPaths,Makefile)
+
+PackageBuildConfigure	= $(call GenerateBuildPaths,configure)
+
+LicenseSourceFiles	:= LICENSE COPYING
+LicenseSourcePaths      := $(addprefix $(PackageSourceDir)/,$(LicenseSourceFiles))
+
+CleanPaths		+= $(PackageLicenseFile)
+
+OpenSSLDir		:= sw/tps/openssl
+OpenSSLIncDir		:= $(call GenerateResultPaths,$(OpenSSLDir),usr/include)
+OpenSSLLibDir		:= $(call GenerateResultPaths,$(OpenSSLDir),usr/lib)
+
+ZlibDir			:= sw/tps/zlib
+ZlibIncDir      	:= $(call GenerateResultPaths,$(ZlibDir),usr/include)
+ZlibLibDir      	:= $(call GenerateResultPaths,$(ZlibDir),usr/lib)
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(LicenseSourcePaths): source
+
+$(PackageLicenseFile): $(LicenseSourcePaths)
+	$(Verbose)touch $@
+	$(Verbose)for file in $(LicenseSourcePaths); do	\
+		echo "Concatenating \"$${file}\"...";	\
+		cat $${file} >> $@;			\
+	done
+
+# 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 configure script by shadowing the source
+# tree as a link farm.
+#
+# This is generally unnecessary for most GNU autoconf-based packages;
+# however, monit completely drops the ball on non-colocated builds.
+
+$(PackageBuildConfigure): | $(PackageSourceDir) $(BuildDirectory)
+	$(call create-links,$(CURDIR)/$(PackageSourceDir),$(BuildDirectory))
+
+# Generate the package build makefile.
+
+$(PackageBuildMakefile): $(PackageBuildConfigure)
+	$(Verbose)cd $(BuildDirectory) && \
+	./configure \
+	--config-cache \
+	CC=$(CC) CXX=$(CXX) AR=$(AR) RANLIB=$(RANLIB) STRIP=$(STRIP) NM=$(NM) OBJDUMP=$(OBJDUMP) \
+	LDFLAGS="-Wl,-rpath-link -Wl,$(ZlibLibDir)" \
+	libmonit_cv_setjmp_available=yes \
+	libmonit_cv_vsnprintf_c99_conformant=yes \
+	ac_cv_ipv6=yes \
+	--build=$(HostTuple) \
+	--host=$(TargetTuple) \
+	--prefix=/usr \
+	--sysconfdir=/etc \
+	--localstatedir=/var \
+	--enable-optimized \
+	--with-ssl-incl-dir=$(OpenSSLIncDir) \
+	--with-ssl-lib-dir=$(OpenSSLLibDir) \
+	--without-pam
+
+# 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) -C $(BuildDirectory) all
+
+# 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) -C $(BuildDirectory) \
+	DESTDIR=$(ResultDirectory) \
+	MODE_PROGS=775 \
+	install
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak
diff --git a/monit-5.4/monit.patches.tar.gz b/monit-5.4/monit.patches.tar.gz
new file mode 100644
index 0000000..39a624d
--- /dev/null
+++ b/monit-5.4/monit.patches.tar.gz
Binary files differ
diff --git a/monit-5.4/monit.tar.gz b/monit-5.4/monit.tar.gz
new file mode 100644
index 0000000..adaafb1
--- /dev/null
+++ b/monit-5.4/monit.tar.gz
Binary files differ
diff --git a/monit-5.4/monit.url b/monit-5.4/monit.url
new file mode 100644
index 0000000..70bfc2f
--- /dev/null
+++ b/monit-5.4/monit.url
@@ -0,0 +1 @@
+http://mmonit.com/monit/dist/monit-5.4.tar.gz
diff --git a/monit-5.4/monit.version b/monit-5.4/monit.version
new file mode 100644
index 0000000..37c2d99
--- /dev/null
+++ b/monit-5.4/monit.version
@@ -0,0 +1 @@
+5.4
