Robbert Haarman



I have created packages of various software products for a few operating systems I've worked with. Some of these can be downloaded here. They are of varying quality; use at your own risk. If you find (or even fix) any bugs, please contact me. Other suggestions for improvement and general comments are also appreciated.


These packages have been built using the ports system of OpenBSD 3.6. Both the port and any binary packages I've built are available.

These ports also work with OpenBSD 3.7-current. Packages probably only work with OpenBSD 3.6, because they depend on specific library versions.

To install a package, download the file, rename it to get rid of the _openbsd_arch part, then run pkg_add /path/to/package.tgz. You may need to install some dependencies first.

To use the ports, you first need to have the ports system installed. Refer to the OpenBSD documentation for instructions. Then, download and unpack the port (to any location), change to the port directory, and use the port like you would any other (again, see the OpenBSD documentation).








PFE (Portable Forth Environment) is a portable and ANSI-compliant Forth implementation.


This is a port of PHP 4. Whereas the port in the official ports tree depends on Apache, this port builds the CGI version of PHP, which can be used with almost any webserver (including muhttpd).


DotGNU Portable.NET. Note that threading is disabled for now, due to an with the boehm-gc package. You also need pnetlib to use this package.


Runtime libraries for use with the pnet package.



This package contains some libraries and classes necessary for running Java programs with sablevm. I've only tested the no_gtk flavor so far.

GNU Smalltalk



pkgsrc is a framework for building third-party software for NetBSD and other UNIX-like systems. I use it to build packages on Mac OS X, which, in my opinion, lacks a good package system.

The ports provided here should work on every system pkgsrc works on. If a port doesn't work on yours, report it to me and I will try to fix it. You use the ports by adding them to an appropriate location in your pkgsrc tree, and using it like you would any other port. See the pkgsrc guide for more information.




Of all operating systems I have worked with, Debian probably has the best package management system. Both source packages and binary packages are provided.

Debian source packages consist of a .dsc file, a .orig.tar.gz file, and a .diff.gz file. Only the .diff.gz file is provided here, as the other two can be obtained through other means. For example, to create a source package for detach, do the following:

# Download the .diff.gz file
wget ''
# Download the source code
wget ''
# Create the .orig.tar.gz file from the .tar.bz2
bunzip2 < detach-0.2.0.tar.bz2 | gzip > detach_0.2.0.orig.tar.gz
# Extract source code
tar xzf detach_0.2.0.orig.tar.gz
# Apply the diff
gunzip < detach_0.2.0-1.diff.gz | patch -p0
# Create source package
dpkg-source -b detach-0.2.0
# Or, create source and binary package

Of course, the above is a lot of hassle. The file Makefile_detach_0.2.0-1_debian (1614 bytes) automates the above steps. Download the file, rename it to Makefile, and type make source-package to build a source packages, make package (or simply make) for a binary package, or make install to build a binary package and install it. You can change the ARCH, FETCH, NAME and VERSION variables to tailor it to your needs (including using it for other packages than detach).

Binary packages can be installed by running dpkg -i package.deb.