それぞれの port は作業ディレクトリに展開されるので、 作業ディレクトリは書き込み可能でなければなりません。 Ports システムは、デフォルトでは DISTFILES が ${DISTNAME} というディレクトリに展開されると想定します。 つまり、次のように設定していたら、
PORTNAME= foo PORTVERSION= 1.0
その port の配布ファイルの内容は、最上位のディレクトリが foo-1.0 で、 残りのファイルはそのディレクトリの下に置かれているということです。
そうでない場合に上書きできる変数がたくさんあります。
この変数は、 アプリケーションの配布ファイルが展開された時に作成されるディレクトリの名称を示します。 前の例で、(foo-1.0 ではなく) foo というディレクトリに展開されるなら、
WRKSRC= ${WRKDIR}/foo
または、
WRKSRC= ${WRKDIR}/${PORTNAME}
と書いてください。
その port がサブディレクトリに展開しないのであれば、 それを示すために NO_WRKSUBDIR を設定してください。
NO_WRKSUBDIR= yes