While browsing through the joe-editor-general mail list archives, I noticed where Joe remarked "I wish cygwin would include Joe in their installer." The packaging requirements for the Cygwin installer (setup.exe) are described on http://cygwin.com/setup.html

There is also the cygwin-apps mailing list for discussing packaging issues, which is described and archived at http://cygwin.com/lists.html

Essentially, a Cygwin package consists of a bzip2'd tarball and a setup.hint file. The tarball consists of the binary executable(s) built for Cygwin and any support files, archived so that everything lands in the correct directories when untarred in / (mounted as C:\Cygwin by default). Setup.hint contains the package name, descriptions, version info, and dependencies on other Cygwin packages (usually libraries). When a package is selected for installation, setup.exe parses the dependencies list in the setup.hint file for that package, and flags for installation those packages listed which aren't already installed. The Cygwin dependencies list for joe would depend on whether joe is built to use termcap or terminfo.