I had used pkgsrc (The NetBSD Package Manager) when I installed NetBSD for the
first time and wanted to try out how things work. But it was just a small tryst
with the packaging system I had once only because I was going through the online
help on NetBSD.

Fast-forward couple of years, I was trying to setup “irssi” with “icb” support
in Raspberry Pi 2 as an IRC bouncer, which I was experimenting with
FreeBSD. After setting up most of the things, like the FreeBSD operating system
and the basic essentials. I noticed that “irssi-icb”[1] plugin was missing out
in the pkg system as well as the ports tree. After downloading and compiling
the irssi-icb plugin in the Raspberry Pi 2 (which I heavily do not recommend,
due to the slowness and SD Card life shortening), I managed to get the icb
plugin working. However it was not until the irssi got updated with a package
update causing me to re-build the irssi-icb plugin due to mis-matching ABI
versions, I thought of writing a ports for the irssi-icb plugin, there by easing
my pain whenever I want to re-install or upgrade irssi.

After going through the porters handbook[2] and going through some existing
scripts for the irc/irssi port along with some help from trouble (philip@) and
arthur (kp@), I was able to write up a basic Makefile for pulling down
irssi-icb plugin from github, patch it and churn it through the FreeBSD ports
make system. That being said, Raspberry Pi 2 is not an ideal place to do ports
development, it is “EXTREMELY” slow doing writes on the SD Card. So with a slice
of a server from trouble, I was able to speed up the testing of the ports script
for irssi-icb plugin, which now resides in irc/irssi-icb under ports.

Once the basic stuff was working, the usual steps of make install clean, I
installed portlint and ran that over the the scripts and patches. Fixed up the
minor annoyances that showed up and put it all in a nice wrapper, then pushed it
into github[3].

Special thanks to trouble who was kind enough to provide me with a server where
I could conduct my development and testing. He was also kind enough to review my
code and then commit the changes into the Ports tree[4].

References

  1. irssi-icb plugin - https://github.com/jperkin/irssi-icb
  2. FreeBSD Porter’s Handbook - https://www.freebsd.org/doc/en/books/porters-handbook/
  3. irssi-icb FreeBSD ports script - https://github.com/fraggerfox/irssi-icb-port
  4. irssi-icb plugin in Freshports - https://www.freshports.org/irc/irssi-icb