I.e. if you use a "source" install, not installing pre-built packages.
Do you remember any specifics about the ports pains you had, absent from pkgsrc?

my main gripe, as a user, was the absence of audit-packages, and the
need to specify either the precise version number of a package, or
remember to wildcard things, when using the pkg_install tools, with
possibly interesting effects if dealing with something like libtool-\*
and libtool-base-\*

Yesterday I started experimenting with OpenBSD again and I noticed that.
It has been quite irritating. I don't like using wildcards, so half the
time I end up typing the "pkg_add" command twice: Once to find out the
exact package name and another to actually install.

Another annoyance, as a noob, is that OpenBSD by default partitions your
disk into umpteen partitions and /usr/local turned out to be too small
for all the things I wanted to install (I basically want a full desktop
system) so now I have to re-install and learn the partition tool. With
NetBSD and FreeBSD I didn't have to learn the partition tool, I could
just say "use the whole disk and don't bother me with the details".

pkgsrc is quite a different beast these days. my 2002 talk at
eurobsdcon outlined some of the differences between ports and pkgsrc,
and there were 50+ slides in that section - since then, pkgsrc has
diverged even more.

Do you have that talk somewhere?

the main differences i'd point out nowadays are the ...ummm
portability of pkgsrc, the dewey comparison of version numbers making
it possible to do audit-packages and the like, and pkgsrc's buildlink
infrastructure, which has two advantages:

Can you explain the audit part? I don't know what you mean.

1. it allows pkgsrc packages to be built with exactly the versions of
software that are wanted, and not what happens to be already installed
in /usr/local - to illustrate, imagine that ncurses is installed, and
another package's configure script checks for the presence of ncurses
(bad example, since i think freebsd has ncurses in base, but ykwim)

OpenBSD seems to do that too. I had installed python 2.5 and when I
installed something else (I think it was GIMP) it downloaded python 2.6.
Maybe I missed your point?

2. isolates dependencies so that dangling or hidden dependencies just
do not happen.