tcl-hacks

Check-in [7ee8a29b8d]
Login

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

Overview
Comment:tweaks to readme: formatting, teapot configuration
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:7ee8a29b8d3dd7db27de41496f395ab22a7edfe0
User & Date: aspect 2018-05-30 04:33:17
Context
2018-05-30
04:35
we all love backronyms check-in: f6cd4ebd18 user: aspect tags: trunk
04:33
tweaks to readme: formatting, teapot configuration check-in: 7ee8a29b8d user: aspect tags: trunk
04:13
formatting check-in: 21d4021966 user: aspect tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to tipple/README.md.

28
29
30
31
32
33
34




35
36
37
38
39
40
41
42
43
44
45
..
47
48
49
50
51
52
53

54
55
56
57
58
59
60
..
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
...
100
101
102
103
104
105
106







107
108
109
110
111
112
113
...
118
119
120
121
122
123
124
125
126
127
128

129

130

Create a new environment in `DIR`

    . DIR/bin/activate

Set up your environment for working in `DIR`





    tipple install PKG ?VERSION? ?ARCH?
    tipple install repo-url

Add packages to repo


## Filesystem

Tipple creates a project directory consisting of:

    bin/        -- executables
................................................................................
    modules/    -- .tm style modules
    bin/activate    -- source-able script that sets up the environment
    bin/tipple      -- tipple itself
    bin/tclsh       -- wrapper for system tclsh that sources activate first

Also:


    src/        -- where source repos/archives get downloaded and unpacked.  Do Not put this in starpacks.


## Environment

`activate` sets up these environment vars, creating new ones or *prefixing* existing ones

................................................................................
    PATH                DIR/bin


## Package sources

Packages can be fetched from:

 * teapot:  one of the urls specified in ???
 * tarball:  local or remote path to archive, which must be *well-behaved*
 * filesystem path:  local path to directory, which must be *well-behaved*
 * git repo:  `git+$url`, must be *well-behaved*
 * fossil repo:  `fossil+$url`, must be *well-behaved*

A *well-behaved* package source is expected to Install Correctly by the following means:

................................................................................
tipple maintains `DIR/tipple.txt` by appending to it, and will look for `tipple.txt` in any packages it's asked to install.

The format is as simple as can be:

    # this is a comment, as you might expect
    
    # empty lines are allowed, and ignored







    
    # require from teapot, latest version
    require package-name
    
    # require from teapot, specific version
    require package-name version
    
................................................................................
    # require from fossil, latest trunk or specific checkout
    require fossil+https://chiselapp.com/user/somebody/repository/somepackage
    require fossil+https://chiselapp.com/user/somebody/repository/somepackage branch-or-tag-or-commit-id


## Inspiration / see also

 * https://teaparty.rkeene.org/ - `teapot-client` from here is used
 * https://github.com/wduquette/tcl-quill/
 * https://github.com/AngryLawyer/mug/
 * python's `pip` + `virtualenv`

 * https://chiselapp.com/user/aspect/repository/sdx/









>
>
>
>

|

|







 







>







 







|







 







>
>
>
>
>
>
>







 







|
|
|

>
|
>

28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
..
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
..
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
...
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
...
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144

Create a new environment in `DIR`

    . DIR/bin/activate

Set up your environment for working in `DIR`

    DIR/bin/tclsh

Run system `tclsh` with environment from `DIR/bin/activate`.

    tipple install PKG ?VERSION? ?ARCH?
    tipple install REPO-URL ?CHECKOUT?

Add packages to environment


## Filesystem

Tipple creates a project directory consisting of:

    bin/        -- executables
................................................................................
    modules/    -- .tm style modules
    bin/activate    -- source-able script that sets up the environment
    bin/tipple      -- tipple itself
    bin/tclsh       -- wrapper for system tclsh that sources activate first

Also:

    tipple.txt  -- configuration
    src/        -- where source repos/archives get downloaded and unpacked.  Do Not put this in starpacks.


## Environment

`activate` sets up these environment vars, creating new ones or *prefixing* existing ones

................................................................................
    PATH                DIR/bin


## Package sources

Packages can be fetched from:

 * teapot:  one of the urls specified in `tipple.txt`
 * tarball:  local or remote path to archive, which must be *well-behaved*
 * filesystem path:  local path to directory, which must be *well-behaved*
 * git repo:  `git+$url`, must be *well-behaved*
 * fossil repo:  `fossil+$url`, must be *well-behaved*

A *well-behaved* package source is expected to Install Correctly by the following means:

................................................................................
tipple maintains `DIR/tipple.txt` by appending to it, and will look for `tipple.txt` in any packages it's asked to install.

The format is as simple as can be:

    # this is a comment, as you might expect
    
    # empty lines are allowed, and ignored
    
    # specify teapot repos to use, in order of preference
    teapot https://teapot.rkeene.org/
    teapot https://teapot.activestate.org/
    
    # MAYBE: optionally specify architecture for fetching binary pkgs from teapot
    architecture OS ARCH
    
    # require from teapot, latest version
    require package-name
    
    # require from teapot, specific version
    require package-name version
    
................................................................................
    # require from fossil, latest trunk or specific checkout
    require fossil+https://chiselapp.com/user/somebody/repository/somepackage
    require fossil+https://chiselapp.com/user/somebody/repository/somepackage branch-or-tag-or-commit-id


## Inspiration / see also

 * <https://teaparty.rkeene.org/> - `teapot-client` from here is used
 * <https://github.com/wduquette/tcl-quill/>
 * <https://github.com/AngryLawyer/mug/>
 * python's `pip` + `virtualenv`

 * <https://chiselapp.com/user/aspect/repository/sdx/wiki?name=howto>
 * `../hacks/cuppa` has some stuff for processing teapot + gutter metadata