On 10/20/14 17:39, Landry Breuil wrote: > On Mon, Oct 20, 2014 at 05:12:32PM -0400, Stuart Cassoff wrote: >> On 10/20/14 16:26, Landry Breuil wrote: >>> On Sun, Oct 12, 2014 at 01:08:37PM -0400, Stuart Cassoff wrote: >>>> On 09/26/14 10:46, Stuart Cassoff wrote: >>>>> On 09/16/14 21:48, Stuart Cassoff wrote: >>>>>> On 07/11/14 06:22, Stuart Henderson wrote: >>>>>>> On 2014/07/10 23:44, Stuart Cassoff wrote: >>>>>>>> eh? meh? >>>>>>> >>>>>>> You need a subst variable with the actual path not just the version >>>>>>> number, otherwise you're still going to be hand modifying PLISTs all >>>>>>> over the place. >>>>>>> >>>>>>> So something like: >>>>>>> >>>>>>> MODTCL_MINVERSION?= 8.5 >>>>>>> MODTCL_MODPATH= lib/tcl/${MODTCL_MINVERSION} >>>>>>> SUBST_VARS+= MODTCL_MODPATH MODTCL_VERSION MODTCL_BIN >>>>>>> >>>>>>> It would help clarify things to show a diff with a port that has >>>>>>> been modified to use this method, too. >>>>>>> >>>>>> >>>>>> Here are diffs for everything concerned. >>>>>> Added missing modtcl vars and did a bit of rearranging in port-modules.5. >>>>>> Described MODTCL_MINVERSION and MODTCL_MODPATH. >>>>>> Removed the rest package from tcllib; it needs tDOM which we don't >>>>>> currently have. >>>>>> Saves installing 51 directories and 51 pkgIndex.tcl files. >>>>>> >>>>> >>>> >>>>> Another way to do this would be to change the Tcl module >>>>> dirs to be like modules/85 instead of modules/8.5, then >>>>> the MODTCL_MODPATH stuff wouldn't be needed. >>>>> >>>> >>>> Here are the diffs for doint it this way. Simpler. >>>> Also simplified the existing layout Tcl itself: >>>> removes a couple of dirs, shortens module path. >>>> Also a fix for TkCon. >>> >>> Can you remind me why you hardcode 85 for tcllib/tklib/tkcon ? >>> Other than that, you know better than anyone how this stuff should be >>> laid, so just move ahead, dont wait for months for someone to okay that.. >>> >> >> Great, thanks! >> >> The 85 is hardcoded for two reasons: >> 1) Tcl modules should be installed so that they are >> available to the lowest Tcl version they'll work with. >> 2) Using 8.5 will cause unwelcome PLIST substitutions >> that can apparently only be remedied by complicating >> things with more variables and explanations. > > Yeah, i got that part - but does it mean that tcl 8.6 also looks for > modules/85 in addition to modules/86 ? >
Yes, exactly. Almost all modules will end up under 85 unless they're for Tcl 8.6 only. $ echo 'puts [tcl::tm::path list]' | tclsh8.6 /usr/local/lib/tcl/modules/85 /usr/local/lib/tcl/modules/86 /usr/local/lib/tcl/tcl8.6/modules Stu