diff --git a/src/syncterm/CMakeLists.txt b/src/syncterm/CMakeLists.txt
index f4ea00b7dcb87873d4b7e860e2cc4503c156d9cc..66b974f6cc67c8a338484fa9ebc13f49a88560c2 100644
--- a/src/syncterm/CMakeLists.txt
+++ b/src/syncterm/CMakeLists.txt
@@ -55,7 +55,10 @@ endif()
 if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
 	list(APPEND SOURCE DarwinWrappers.m)
 	find_library(FOUNDATION_LIBRARY Foundation)
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Haiku")
+	execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCHITECTURE_TYPE)
 endif()
+	execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCHITECTURE_TYPE OUTPUT_STRIP_TRAILING_WHITESPACE)
 
 if(NOT WITHOUT_CRYPTLIB)
 	list(APPEND SOURCE ssh.c telnets.c)
@@ -65,6 +68,10 @@ if(WIN32)
 	list(APPEND SOURCE syncterm.rc)
 endif()
 
+if(WIN32)
+	list(APPEND SOURCE haiku.rc)
+endif()
+
 if(WITHOUT_GDI AND WITHOUT_SDL)
 	set(WIN_MAIN_TYPE "")
 else()
@@ -106,6 +113,7 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
 elseif(CMAKE_SYSTEM_NAME STREQUAL "Haiku")
 	target_link_libraries(syncterm network bsd)
 endif()
+	configure_file(PackageInfo.in ${CMAKE_CURRENT_BINARY_DIR}/.PackageInfo @ONLY)
 
 install(TARGETS syncterm DESTINATION bin)
 if(UNIX)
diff --git a/src/syncterm/PackageInfo.in b/src/syncterm/PackageInfo.in
new file mode 100644
index 0000000000000000000000000000000000000000..96fe0fbac1a699fa6f477292469b0985a1808837
--- /dev/null
+++ b/src/syncterm/PackageInfo.in
@@ -0,0 +1,15 @@
+name		SyncTERM
+version		1.2rc2
+architecture	@ARCHITECTURE_TYPE@
+summary		"ANSI-BBS terminal for connecting to BBSs"
+description	"An ANSI-BBS terminal designed to connect to remote BBSs via telnet, rlogin, or SSH. Supports ANSI music and the IBM charset when possible. Will run from a console, under X11 using XLib, or using SDL."
+vendor		Deuce
+packager	"Stephen Hurd <shurd@sasktel.net>"
+urls		"http://syncterm.bbsdev.net/"
+provides	{
+	SyncTERM
+	app:SyncTERM
+}
+requires {
+	libsdl2
+}