Hi Chris!
So yeh, it's not quite as simple as Homebrew, which is definitely optimised for that use-case, but it's still relatively straight-forward.
Taking the 'tmux' package as an example:
https://github.com/jsonn/pkgsrc/tree/trunk/misc/tmux
The main guts are in Makefile. DESCR is a few lines of description about the package, and is used by package managers. distinfo contains SHA1 and sizes of the source tarballs and patches. PLIST is a list of files the package will install. And finally, the patches/ directory contains per-file patches which will be applied to the source prior to building.
Due to the cross-platform support, there is a huge range of functionality available for Makefiles, and so some of them can look pretty complicated.
However, it's pretty straight-forward to get started, and there are various tools (e.g. pkgtools/url2pkg) which can make things pretty simple to get started.
I'm planning an introductory blog post on this at some point which should hopefully cover all of the basics.