Check-in [28c90d17e4]
Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2018 Conference, Houston/TX, US, Oct 15-19
Send your abstracts to tclconference@googlegroups.com or submit via the online form
by Aug 20.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Added handling of integrating snapshots from the local teapot into basekits
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 28c90d17e40f5aa121d75f0e2fd391a164761383
User & Date: hypnotoad 2016-03-07 19:15:31
Context
2016-03-07
23:48
Reversed the package preference order for twapi. The nettool package only properly supports 3.0.29 check-in: 27aad69f9e user: hypnotoad tags: trunk
19:15
Added handling of integrating snapshots from the local teapot into basekits check-in: 28c90d17e4 user: hypnotoad tags: trunk
2016-03-04
16:48
Worked out a mechanism to translate MSYS paths to tcl compadible paths, and thus accomdate tkimg check-in: e5abb0c87e user: hypnotoad tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to build.tcl.
41
42
43
44
45
46
47
48



49
50
51
52
53
54
55
  if {![file exists $vfspath]} {
    file mkdir $vfspath
  }
  package ifneeded zipfile::mkzip 1.2 [list source [file join $::HERE scripts mkzip.tcl]]
  package require zipfile::mkzip

  set fout [open [file join $vfspath packages.tcl] w]
  puts $fout [list set dir $::KIT(PKGPREFIX)]



  set buffer [::practcl::pkgindex_path $::KIT(BASEVFS) $vfspath]
  puts $fout $buffer

  close $fout
  ::practcl::copyDir $::KIT(BASEVFS) $vfspath
  #::practcl::copyDir $::KIT(PKGROOT)$::KIT(PKGPREFIX)/lib $vfspath/boot/pkgs
  foreach arg $args {







|
>
>
>







41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
  if {![file exists $vfspath]} {
    file mkdir $vfspath
  }
  package ifneeded zipfile::mkzip 1.2 [list source [file join $::HERE scripts mkzip.tcl]]
  package require zipfile::mkzip

  set fout [open [file join $vfspath packages.tcl] w]
  puts $fout {
set ::PKGIDXFILE [info script]
set dir [file dirname $::PKGIDXFILE]
}
  set buffer [::practcl::pkgindex_path $::KIT(BASEVFS) $vfspath]
  puts $fout $buffer

  close $fout
  ::practcl::copyDir $::KIT(BASEVFS) $vfspath
  #::practcl::copyDir $::KIT(PKGROOT)$::KIT(PKGPREFIX)/lib $vfspath/boot/pkgs
  foreach arg $args {
80
81
82
83
84
85
86

87
88
89
90
91
92
93
###
set ::KIT(PACKAGES) {
  thread {tag release}
  sqlite {tag release}
  udp {tag trunk}
  canvas3d {tag trunk tk 1}
  tkimg    {tag trunk tk 1 broken_destroot 1}

}

source [file join $::HERE odieConfig.tcl]
set ::KIT(platform) $::odie(platform)
set ::KIT(ORIG_TCL_SRC_DIR) $::odie_tcl(src_dir)
set ::KIT(ORIG_TK_SRC_DIR) $::odie_tk(src_dir)
set ::KIT(TCL_BUILD_OPTS) $::odie_tcl(config_flags)







>







83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
###
set ::KIT(PACKAGES) {
  thread {tag release}
  sqlite {tag release}
  udp {tag trunk}
  canvas3d {tag trunk tk 1}
  tkimg    {tag trunk tk 1 broken_destroot 1}
  tcllibc  {version 0.3.14}
}

source [file join $::HERE odieConfig.tcl]
set ::KIT(platform) $::odie(platform)
set ::KIT(ORIG_TCL_SRC_DIR) $::odie_tcl(src_dir)
set ::KIT(ORIG_TK_SRC_DIR) $::odie_tk(src_dir)
set ::KIT(TCL_BUILD_OPTS) $::odie_tcl(config_flags)
108
109
110
111
112
113
114



115
116
117
118
119
120
121
122
  set ::KIT(TCL_VERSION) $::project(TCL_VERSION)
  set ::KIT(TK_VERSION) $::project(TK_VERSION)  
  set ::KIT(TCL_PATCH_LEVEL) $::project(TCL_PATCH_LEVEL)
  set ::KIT(TK_PATCH_LEVEL) $::project(TCL_PATCH_LEVEL)
  lappend _search_paths {[file dirname $::project(srcdir)]}
}
lappend _search_paths $::odie(sandbox)





array set build {
  tcl 0
  tk  0
  packages 0
  basekitvfs 0
  toadkit.rc 0







>
>
>
|







112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
  set ::KIT(TCL_VERSION) $::project(TCL_VERSION)
  set ::KIT(TK_VERSION) $::project(TK_VERSION)  
  set ::KIT(TCL_PATCH_LEVEL) $::project(TCL_PATCH_LEVEL)
  set ::KIT(TK_PATCH_LEVEL) $::project(TCL_PATCH_LEVEL)
  lappend _search_paths {[file dirname $::project(srcdir)]}
}
lappend _search_paths $::odie(sandbox)
if {$::KIT(platform) eq "windows"} {
  set ::KIT(TEAPOT) C:/Tcl/lib/teapot/package/win32-ix86/lib
  dict set ::KIT(PACKAGES) twapi {version {4.1.27 3.0.32}}
}

array set build {
  tcl 0
  tk  0
  packages 0
  basekitvfs 0
  toadkit.rc 0
483
484
485
486
487
488
489














490
491
492
493
494
495
496
    file delete -force $::KIT(PKGROOT)
  }
  cd $PWD
  set fossilinfo [list download $::KIT(DOWNLOAD) sandbox $::KIT(SANDBOX)]
  set tclconfiginfo [::practcl::fossil_sandbox tclconfig [dict merge $fossilinfo {}]]
  set tclconfig_path [dict get $tclconfiginfo srcroot]
  foreach {pkg info} $::KIT(PACKAGES) {














    set pkginfo [::practcl::fossil_sandbox $pkg [dict merge $fossilinfo $info]]
    set pkgpath [dict get $pkginfo srcroot]
    puts [list BUILDING $pkg in $pkgpath]
    cd $pkgpath
    foreach m4file {tcl.m4 install-sh} {
      if {![file exists [file join $pkgpath tclconfig $m4file]]} {
        file mkdir [file join $pkgpath tclconfig]







>
>
>
>
>
>
>
>
>
>
>
>
>
>







490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
    file delete -force $::KIT(PKGROOT)
  }
  cd $PWD
  set fossilinfo [list download $::KIT(DOWNLOAD) sandbox $::KIT(SANDBOX)]
  set tclconfiginfo [::practcl::fossil_sandbox tclconfig [dict merge $fossilinfo {}]]
  set tclconfig_path [dict get $tclconfiginfo srcroot]
  foreach {pkg info} $::KIT(PACKAGES) {
    if {[dict exists $info version]} {
      set found 0
      foreach ver [dict get $info version] {
        set teapath [file join $::KIT(TEAPOT) $pkg$ver]
        if {[file exists $teapath]} {
          set dest  [file join $::KIT(PKGROOT) [string trimleft $::KIT(PKGPREFIX) /] lib [file tail $teapath]]
          puts [list Copying $pkg from teapot to $dest]
          ::practcl::copyDir $teapath $dest
          set found 1
          break
        }
      }
      if {$found} continue
    }
    set pkginfo [::practcl::fossil_sandbox $pkg [dict merge $fossilinfo $info]]
    set pkgpath [dict get $pkginfo srcroot]
    puts [list BUILDING $pkg in $pkgpath]
    cd $pkgpath
    foreach m4file {tcl.m4 install-sh} {
      if {![file exists [file join $pkgpath tclconfig $m4file]]} {
        file mkdir [file join $pkgpath tclconfig]