#! /bin/env tclsh

package ifneeded {ycl list} 2.0 [list apply {{dir} {
	package require {ycl package}
	[yclprefix]::package::source list $dir/lib/list.tcl
	package provide {ycl list} 2.0
}} $dir]


package ifneeded {ycl list deep} 0.0 [list apply {{dir} {
	package require {ycl list}
	[yclprefix]::package::source list::deep $dir/lib/deep/main.tcl
	package provide {ycl list deep} 0.0
}} $dir]


package ifneeded {ycl list deep test} 0.0 [list apply {{dir} {
	package require {ycl list}
	[yclprefix]::package::source list::deep::test $dir/lib/deep/test.tcl
	package provide {ycl list deep test} 0.0
}} $dir]


package ifneeded {ycl list list} 1.0 [list apply {{dir} {
	package require {ycl proc}
	package require {ycl list}
	[yclprefix] package source list::list [
		file join $dir lib object.tcl
	]
	[yclprefix] proc alias [[yclprefix] ns join [yclprefix] list list] [
		[yclprefix] ns join [yclprefix] list list util .new]
	package provide {ycl list list} 1.0
}} $dir]


package ifneeded {ycl sparse} 0.1 [list apply {{dir} {
	package require {ycl package}
	[yclprefix]::package::source list::sparse $dir/lib/sparse/sparse.tcl
	package provide {ycl list sparse} 0.1
}} $dir]


package ifneeded {ycl list sparse test} 0.1 [list apply {{dir} {
	package require {ycl package}
	[yclprefix]::package::source list::sparse::test $dir/lib/sparse/test.tcl
	package provide {ycl list sparse test} 0.1
}} $dir]


package ifneeded {ycl list test} 1.0 [list apply {{dir} {
	package require {ycl package}
	[yclprefix]::package::source list::test $dir/lib/list.test.tcl
	package provide {ycl list test} 1.0
}} $dir]


package ifneeded {ycl list test data} 1.0 [list apply {{dir} {
	package require {ycl package}
	[yclprefix]::package::source list::test::data $dir/lib/list.test.data.tcl
	package provide {ycl list test data} 1.0
}} $dir]
