The fix is to wrap the path in a list:

package ifneeded iwidgets $::iwidgets::version "
  package req Itk
  source [list [file join $dir colors.itcl]]
  source [list [file join $dir roman.itcl]]
  source [list [file join $dir buttonbox.itk]]
...