After making the FreeBSD port[1] for DIN, I think it is about time I attempt to package and run it in NetBSD.

Most of the efforts I put in creating the FreeBSD port helped out here since the code base was not too big and the utilities used for build had similar syntax. With a few pkgsrc specific changes here and there I was able to get it to build in the first few tries.

One of the major changes with the FreeBSD port was I made the dependency on JACK[2] audio to be the default since doing ALSA based dependency in NetBSD means it is a harder way to test the audio capabilities of DIN.

Making it run

One of the things I was eager to do was to commit DIN to the pkgsrc-current using the commit rights I was granted as a memeber of the NetBSD developers. In order to do so I had to show that DIN was working as expected in NetBSD.

Asking around in the mailing list for a review only wiz@ showed any interest. I think the reason is not that people are ignorant it is a very unique use case, most people don’t use NetBSD as a place of artistic expression especially using tools like DIN. That being said I am very grateful for his efforts in trying to help me out and see if DIN is able to work in NetBSD.

Despite multiple attempts by wiz@ to make DIN work with Jack as backend, it was segfaulting every single time. I tried to get inputs from Jag (the author of DIN) with the crash reports and did multiple back and forth to see if the issue could be resolved but alas none of that yeilded any result. At one point Jag even said he does not care if it did not work in NetBSD. sigh!!

All this time I was doing the development in a virtual machine and this does not help with running UI based applications. The lack of enough RAM in my local laptop and the lack of experience of using BSD as a desktop prevented me from running it as my daily driver. So I eventually managed to get myself some actual hardware where I installed NetBSD and decided to run it and see if it works.

DIN crashing in NetBSD

After multiple attempts I managed to get a UI long enough to take a screenshot, but this is not good enough for a commit to pkgsrc-current.

Conclusion

I need to visit DIN again once I manage to setup a proper work environment with proper GUI. So that I can test UI based packaged applications for NetBSD. For now it will rest inside the pkgsrc-wip repository until someone can figure it out.

To quote wiz@

I don’t think there are experts on these tools in the NetBSD community.

I personally think it is not the lack of experts, every single person I know in the community knowns a lot more about these things more than me, it is rather the lack of passion to seek and fix such issues, though I am not personally against this statement, imagine if was an issue with USB plugging causing a kernel panic, commits and tests would be done in a matter of hours. I hope one day I can join in the ranks of those users, while not forgeting the path of the normies I am taking today.

References

  1. https://www.freshports.org/multimedia/din
  2. http://jackaudio.org/