PortAuthority

Check-in [8d019381e9]
Login

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

Overview
Comment:Release 9.1 for Catalina
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 8d019381e959af52a2e23fe4f84de6f2abd1120b
User & Date: kevin 2019-10-14 02:14:29
Context
2019-10-14
03:03
Final tweaks for Catalina check-in: cfb2311a5e user: kevin tags: trunk
02:14
Release 9.1 for Catalina check-in: 8d019381e9 user: kevin tags: trunk
2019-08-06
02:43
Minor updates check-in: 69597aa0a8 user: kevin tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Added PortAuthority Help.docx.

cannot compute difference between binary files

Changes to PortAuthority Help.help/Contents/Resources/PortAuthority Help.html.

12
13
14
15
16
17
18






19
20
21
22
23
24
25
26
27
28
29






30
31
32
33
34
35
36
@font-face
	{font-family:Courier;
	panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face






	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Cambria;
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}






 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;







>
>
>
>
>
>











>
>
>
>
>
>







12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
@font-face
	{font-family:Courier;
	panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:"MS Mincho";
	panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
	{font-family:"MS Gothic";
	panose-1:2 11 6 9 7 2 5 8 2 4;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Cambria;
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:"\@MS Gothic";
	panose-1:2 11 6 9 7 2 5 8 2 4;}
@font-face
	{font-family:"\@MS Mincho";
	panose-1:2 2 6 9 4 2 5 8 3 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
206
207
208
209
210
211
212

213
214
215

216
217
218
219
220

221
222
223
224
225

226
227
228
229
230

231
232
233

234

235
236
237
238
239
240

241
242
243
244
245

246
247
248
249
250

251
252
253
254
255

256
257
258
259

260
261
262
263
264
265

266
267
268
269
270

271
272
273
274
275

276
277
278
279
280

281
282
283
284

285
286
287
288
289
290

291
292
293
294
295

296
297
298
299
300

301
302
303
304
305

306
307

308
309
310
311
312
313
314
315
316
normal'><span class=Heading1Char><span style='font-size:14.0pt;font-family:
Helvetica;color:black'>&nbsp;</span></span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span class=Heading1Char><span style='font-size:14.0pt;font-family:
Helvetica;color:black'>PortAuthority User Help</span></span></p>


<p class=MsoTocHeading><span style='font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoToc1><a

href="#_Toc15290243"><span style='font-family:Helvetica;color:black'>PortAuthority
User Help</span><span style='font-family:Helvetica;color:black;display:none;
text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>1</span></a></p>


<p class=MsoToc1><a href="#_Toc15290244"><span style='font-family:Helvetica;
color:black'>Overview of PortAuthority</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>1</span></a></p>


<p class=MsoToc1><a href="#_Toc15290245"><span style='font-family:Helvetica;
color:black'>The Overview Menu</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>1</span></a></p>


<p class=MsoToc2><a href="#_Toc15290246"><span style='font-family:Helvetica;
color:black'>Running MacPorts from the Command Line</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span

style='font-family:Helvetica;color:black;display:none;text-decoration:none'>1</span></a></p>


<p class=MsoToc2><a href="#_Toc15290247"><span style='font-family:Helvetica;
color:black'>Learning More About MacPorts</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>1</span></a></p>


<p class=MsoToc2><a href="#_Toc15290248"><span style='font-family:Helvetica;
color:black'>Getting Help with MacPorts</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>1</span></a></p>


<p class=MsoToc1><a href="#_Toc15290249"><span style='font-family:Helvetica;
color:black'>Getting Started with PortAuthority</span><span style='font-family:
Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>1</span></a></p>


<p class=MsoToc1><a href="#_Toc15290250"><span style='font-family:Helvetica;
color:black'>PortAuthority's Interface</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>2</span></a></p>


<p class=MsoToc1><a href="#_Toc15290251"><span style='font-family:Helvetica;
color:black'>The Installations Menu</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>2</span></a></p>


<p class=MsoToc1><a href="#_Toc15290252"><span style='font-family:Helvetica;
color:black'>The Information Menu</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>2</span></a></p>


<p class=MsoToc1><a href="#_Toc15290253"><span style='font-family:Helvetica;
color:black'>The MacPorts Menu</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>2</span></a></p>


<p class=MsoToc1><a href="#_Toc15290254"><span style='font-family:Helvetica;
color:black'>The Preferences Menu</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>2</span></a></p>


<p class=MsoToc1><a href="#_Toc15290255"><span style='font-family:Helvetica;
color:black'>The Window Menu</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>2</span></a></p>


<p class=MsoToc1><a href="#_Toc15290256"><span style='font-family:Helvetica;
color:black'>Scriptability and Services</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>3</span></a></p>


<p class=MsoToc1><a href="#_Toc15290257"><span style='font-family:Helvetica;
color:black'>Updates and Serial Number</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'> </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>3</span></a></p>


<p class=MsoToc1><a href="#_Toc15290258"><span style='font-family:Helvetica;
color:black'>The Help Menu</span><span style='font-family:Helvetica;color:black;
display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>3</span></a></p>


<p class=MsoToc1><a href="#_Toc15290259"><span style='font-family:Helvetica;
color:black'>Acknowledgments</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>3</span></a></p>


<p class=MsoToc1><a href="#_Toc15290260"><span style='font-family:Helvetica;
color:black'>PortAuthority Version History</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>3</span></a></p>


<p class=MsoNormal><span style='font-family:Helvetica;color:black'>&nbsp;</span></p>


<h1><a name="_Toc15290244"></a><a name="_Toc15289256"><span style='font-family:
Helvetica;color:black'>Overview of PortAuthority</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>PortAuthority
provides a graphical user interface for the MacPorts software management system







>
|

|
>
|
|
|
|

>
|
|
|
|

>
|
|
|
|

>
|
|
|
>
|
>
|
|
|
|
|

>
|
|
|
|

>
|
|
|
|

>
|
|
|
|

>
|
|
|
|
>
|
|
|
|
|

>
|
|
|
|

>
|
|
|
|

>
|
|
|
|

>
|
|
|
|
>
|
|
|
|
|

>
|
|
|
|

>
|
|
|
|

>
|
|
|
|

>
|

>
|
|







218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
normal'><span class=Heading1Char><span style='font-size:14.0pt;font-family:
Helvetica;color:black'>&nbsp;</span></span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span class=Heading1Char><span style='font-size:14.0pt;font-family:
Helvetica;color:black'>PortAuthority User Help</span></span></p>

<p class=MsoTocHeading style='margin-top:0in;line-height:normal'><span
style='font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span
style='color:black'><a href="#_Toc15290243"><span style='font-family:Helvetica;
color:black'>PortAuthority User Help</span><span style='font-family:Helvetica;
color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>1</span></a></span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290244"><span
style='font-family:Helvetica;color:black'>Overview of PortAuthority</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>1</span></a></span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290245"><span
style='font-family:Helvetica;color:black'>The Overview Menu</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>1</span></a></span></p>

<p class=MsoToc2 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290246"><span
style='font-family:Helvetica;color:black'>Running MacPorts from the Command
Line</span><span style='font-family:Helvetica;color:black;display:none;
text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>1</span></a></span></p>

<p class=MsoToc2 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290247"><span
style='font-family:Helvetica;color:black'>Learning More About MacPorts</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>1</span></a></span></p>

<p class=MsoToc2 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290248"><span
style='font-family:Helvetica;color:black'>Getting Help with MacPorts</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>1</span></a></span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290249"><span
style='font-family:Helvetica;color:black'>Getting Started with PortAuthority</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>1</span></a></span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290250"><span
style='font-family:Helvetica;color:black'>PortAuthority's Interface</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>2</span></a></span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290251"><span
style='font-family:Helvetica;color:black'>The Installations Menu</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>2</span></a></span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290252"><span
style='font-family:Helvetica;color:black'>The Information Menu</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>2</span></a></span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290253"><span
style='font-family:Helvetica;color:black'>The MacPorts Menu</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>2</span></a></span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290254"><span
style='font-family:Helvetica;color:black'>The Preferences Menu</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>2</span></a></span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290255"><span
style='font-family:Helvetica;color:black'>The Window Menu</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>2</span></a></span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290256"><span
style='font-family:Helvetica;color:black'>Scriptability and Services</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>3</span></a></span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290257"><span
style='font-family:Helvetica;color:black'>Updates and Serial Number</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'> </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>3</span></a></span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290258"><span
style='font-family:Helvetica;color:black'>The Help Menu</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>3</span></a></span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290259"><span
style='font-family:Helvetica;color:black'>Acknowledgments</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>3</span></a></span></p>

<p class=MsoToc1 style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='color:black'><a href="#_Toc15290260"><span
style='font-family:Helvetica;color:black'>PortAuthority Version History</span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>. </span><span
style='font-family:Helvetica;color:black;display:none;text-decoration:none'>3</span></a></span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1 style='margin-top:0in;line-height:normal'><a name="_Toc15290244"></a><a
name="_Toc15289256"><span style='font-family:Helvetica;color:black'>Overview of
PortAuthority</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>PortAuthority
provides a graphical user interface for the MacPorts software management system
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366

367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393

394
395
396
397
398
399
400
401
402
itself.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>MacPorts
(</span><a href="http://www.macports.org"><span style='font-size:10.0pt;
font-family:Helvetica;color:black'>http://www.macports.org</span></a><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>) is a system that
streamlines the installation of open-source, Unix-based software on Mac OS X.
Unlike software that you purchase for your Mac, which is usually fully
integrated with your Mac and can be installed and removed via drag-and-drop,
Unix-based software must usually be built from source code. Furthermore, most
Unix-based software requires the installation of a complex chain of
interrelated components before it will function. (Native Mac software also has
these kinds of dependencies, but they are handled for end users by Apple as
part of Mac OS X and users do not have to worry about them.) The goal of
MacPorts is to make the process of installing Unix-based software as simple as
typing a few commands in Terminal, or by clicking a couple of buttons in a GUI
application; MacPorts will download, build and install not only the program you
specify, but all of the additional components that program requires to run as
well.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>


<h1><a name="_Toc15290245"></a><a name="_Toc15289257"><span style='font-family:
Helvetica;color:black'>The Overview Menu</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Before
installing MacPorts, make sure you have Apple's Developer Tools and X11
environment installed on your system. Both are essential for compiling Unix
software, and MacPorts will not function properly without them. You can find
these items on your Mac OS X installation CD.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
easiest way to get started with MacPorts is to download a disk image from the
main MacPorts site. Additional information can be found at </span><a
href="http://www.macports.org/install.php"><span style='font-size:10.0pt;
font-family:Helvetica;color:black'>http://www.macports.org/install.php</span></a><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>


<h2><a name="_Toc15290246"></a><a name="_Toc15289258"><span style='font-family:
Helvetica;color:black'>Running MacPorts from the Command Line</span></a></h2>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>It is
useful to have an understanding of the basic MacPorts commands. PortAuthority







|
|


















>
|
|

















|
|
|





>
|
|







374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
itself.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>MacPorts
(</span><span style='color:black'><a href="http://www.macports.org"><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>http://www.macports.org</span></a></span><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>) is a system that
streamlines the installation of open-source, Unix-based software on Mac OS X.
Unlike software that you purchase for your Mac, which is usually fully
integrated with your Mac and can be installed and removed via drag-and-drop,
Unix-based software must usually be built from source code. Furthermore, most
Unix-based software requires the installation of a complex chain of
interrelated components before it will function. (Native Mac software also has
these kinds of dependencies, but they are handled for end users by Apple as
part of Mac OS X and users do not have to worry about them.) The goal of
MacPorts is to make the process of installing Unix-based software as simple as
typing a few commands in Terminal, or by clicking a couple of buttons in a GUI
application; MacPorts will download, build and install not only the program you
specify, but all of the additional components that program requires to run as
well.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1 style='margin-top:0in;line-height:normal'><a name="_Toc15290245"></a><a
name="_Toc15289257"><span style='font-family:Helvetica;color:black'>The
Overview Menu</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Before
installing MacPorts, make sure you have Apple's Developer Tools and X11
environment installed on your system. Both are essential for compiling Unix
software, and MacPorts will not function properly without them. You can find
these items on your Mac OS X installation CD.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
easiest way to get started with MacPorts is to download a disk image from the
main MacPorts site. Additional information can be found at </span><span
style='color:black'><a href="http://www.macports.org/install.php"><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>http://www.macports.org/install.php</span></a></span><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h2 style='margin-top:0in;line-height:normal'><a name="_Toc15290246"></a><a
name="_Toc15289258"><span style='font-family:Helvetica;color:black'>Running
MacPorts from the Command Line</span></a></h2>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>It is
useful to have an understanding of the basic MacPorts commands. PortAuthority
542
543
544
545
546
547
548

549
550
551
552
553
554
555
556
557

558
559
560
561
562
563
564
565
566
567

568
569
570
571
572
573
574
575
576
577

578
579
580
581

582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597

598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617

618


619
620

621
622
623
624
625

626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
want detailed output from the port command, add &quot;-v&quot; when running the
program: port -v install name.If you want even more detailed, debugging output,
add &quot;-d&quot;: port -d install name.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>


<h2><a name="_Toc15290247"></a><a name="_Toc15289259"><span style='font-family:
Helvetica;color:black'>Learning More About MacPorts</span></a></h2>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>In
addition to the resources listed above, a comprehensive guide to MacPorts is

available at </span><a href="http://guide.macports.org"><span style='font-size:
10.0pt;font-family:Helvetica;color:black'>http://guide.macports.org</span></a><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>. This manual
includes extensive documentation on installing and using MacPorts, as well as
information on contributing your own software package to MacPorts for others to
use.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>


<h2><a name="_Toc15290248"></a><a name="_Toc15289260"><span style='font-family:
Helvetica;color:black'>Getting Help with MacPorts</span></a></h2>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>MacPorts
provides several mailing lists that can assist you with specific problems. The
mailing lists for general MacPorts issues is the MacPorts user mailing list at </span><a

href="http://lists.macosforge.org/mailman/listinfo/macports-users"><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>http://lists.macosforge.org/mailman/listinfo/macports-users</span></a><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>. Additional mailing
lists are also available at </span><a href="http://www.macports.org"><span

style='font-size:10.0pt;font-family:Helvetica;color:black'>http://www.macports.org</span></a><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>If you
have problems installing a particular MacPorts package with PortAuthority, try
running the relevant commands above in Terminal. If you get the same results,
chances are the issue is with MacPorts rather than PortAuthority, and posting a
query to the above mailing list will probably help you solve the problem.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>


<h1><a name="_Toc15290249"></a><a name="_Toc15289261"><span style='font-family:
Helvetica;color:black'>Getting Started with PortAuthority</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Before
using PortAuthority, you must install MacPorts itself. See </span><a
href="http://www.macports.org"><span style='font-size:10.0pt;font-family:Helvetica'>http://www.macports.org</span></a></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'> for
more information about getting started with MacPorts.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>To

download PortAuthority, go to http://www.codebykevin.com/portauthority.html.


You can install the application anywhere on your machine. The downloadable
version is a 30-day demo; if you like PortAuthority, you can purchase a license

that will allow you to run it past the 30-day trial limit.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>


<h1><a name="_Toc15290250"></a><a name="_Toc15289262"><span style='font-family:
Helvetica;color:black'>PortAuthority's Interface</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
PortAuthority interface provides a rich overview of information about MacPorts
programs on your system.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
main table, at the top of the window, provides a complete list of available







>
|
|







>
|
|








>
|
|







|
>

|

|
>
|
|














>
|
|






|
|
|
<
|
|






>
|
>
>
|
|
>
|




>
|
|





|
<
<
<
|
|







578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650

651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679



680
681
682
683
684
685
686
687
688
want detailed output from the port command, add &quot;-v&quot; when running the
program: port -v install name.If you want even more detailed, debugging output,
add &quot;-d&quot;: port -d install name.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h2 style='margin-top:0in;line-height:normal'><a name="_Toc15290247"></a><a
name="_Toc15289259"><span style='font-family:Helvetica;color:black'>Learning
More About MacPorts</span></a></h2>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>In
addition to the resources listed above, a comprehensive guide to MacPorts is
available at </span><span style='color:black'><a
href="http://guide.macports.org"><span style='font-size:10.0pt;font-family:
Helvetica;color:black'>http://guide.macports.org</span></a></span><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>. This manual
includes extensive documentation on installing and using MacPorts, as well as
information on contributing your own software package to MacPorts for others to
use.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h2 style='margin-top:0in;line-height:normal'><a name="_Toc15290248"></a><a
name="_Toc15289260"><span style='font-family:Helvetica;color:black'>Getting
Help with MacPorts</span></a></h2>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>MacPorts
provides several mailing lists that can assist you with specific problems. The
mailing lists for general MacPorts issues is the MacPorts user mailing list at </span><span
style='color:black'><a
href="http://lists.macosforge.org/mailman/listinfo/macports-users"><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>http://lists.macosforge.org/mailman/listinfo/macports-users</span></a></span><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>. Additional mailing
lists are also available at </span><span style='color:black'><a
href="http://www.macports.org"><span style='font-size:10.0pt;font-family:Helvetica;
color:black'>http://www.macports.org</span></a></span><span style='font-size:
10.0pt;font-family:Helvetica;color:black'>.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>If you
have problems installing a particular MacPorts package with PortAuthority, try
running the relevant commands above in Terminal. If you get the same results,
chances are the issue is with MacPorts rather than PortAuthority, and posting a
query to the above mailing list will probably help you solve the problem.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1 style='margin-top:0in;line-height:normal'><a name="_Toc15290249"></a><a
name="_Toc15289261"><span style='font-family:Helvetica;color:black'>Getting
Started with PortAuthority</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Before
using PortAuthority, you must install MacPorts itself. See </span><span
style='color:black'><a href="http://www.macports.org"><span style='font-size:
10.0pt;font-family:Helvetica;color:black'>http://www.macports.org</span></a></span><span

style='font-size:10.0pt;font-family:Helvetica;color:black'> for more
information about getting started with MacPorts.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>To
download PortAuthority, go to </span><span style='color:black'><a
href="http://www.codebykevin.com/portauthority.html"><span style='font-size:
10.0pt;font-family:Helvetica;color:black'>http://www.codebykevin.com/portauthority.html</span></a></span><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>. You can install
the application anywhere on your machine. </span><span style='font-size:10.0pt;
font-family:Helvetica;color:black'>The downloadable version is free and
full-featured. A donation will be requested to support its continued
development. macOS 10.15 is the minimum supported version.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1 style='margin-top:0in;line-height:normal'><a name="_Toc15290250"></a><a
name="_Toc15289262"><span style='font-family:Helvetica;color:black'>PortAuthority's
Interface</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The PortAuthority



interface provides a rich overview of information about MacPorts programs on
your system.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
main table, at the top of the window, provides a complete list of available
657
658
659
660
661
662
663
664
665
666
667
668
669
670

671
672
673
674
675
676
677
678
679
PortAuthority runs.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
toolbar provides access to commonly-used commands. A popup menu that is available
when the mouse is over the table display provides access to additional
commands.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>


<h1><a name="_Toc15290251"></a><a name="_Toc15289263"><span style='font-family:
Helvetica;color:black'>The Installations Menu</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>This
section provides management of the MacPorts programs themselves. You can







|
|
|




>
|
|







700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
PortAuthority runs.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
toolbar provides access to commonly-used commands. A popup menu that is
available when the mouse is over the table display provides access to
additional commands.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1 style='margin-top:0in;line-height:normal'><a name="_Toc15290251"></a><a
name="_Toc15289263"><span style='font-family:Helvetica;color:black'>The
Installations Menu</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>This
section provides management of the MacPorts programs themselves. You can
735
736
737
738
739
740
741

742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Many
port operations require an administrator password, which can be typed into the
standard system authorization dialog.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>


<h1><a name="_Toc15290252"></a><a name="_Toc15289264"><span style='font-family:
Helvetica;color:black'>The Information Menu</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>This
provides detailed data on specific ports. You can see a general overview of a
port, view its dependencies and variants, and more. The commands and their
keyboard shortcuts are as follows:</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoListParagraphCxSpFirst style='margin-top:0in;margin-right:0in;
margin-bottom:0in;margin-left:42.0pt;margin-bottom:.0001pt;text-indent:-.25in;
line-height:normal'><span style='font-size:10.0pt;font-family:Symbol;







>
|
|





|
|
|
|







779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Many
port operations require an administrator password, which can be typed into the
standard system authorization dialog.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1 style='margin-top:0in;line-height:normal'><a name="_Toc15290252"></a><a
name="_Toc15289264"><span style='font-family:Helvetica;color:black'>The
Information Menu</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>This provides
detailed data on specific ports. You can see a general overview of a port, view
its dependencies and variants, and more. The commands and their keyboard
shortcuts are as follows:</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoListParagraphCxSpFirst style='margin-top:0in;margin-right:0in;
margin-bottom:0in;margin-left:42.0pt;margin-bottom:.0001pt;text-indent:-.25in;
line-height:normal'><span style='font-size:10.0pt;font-family:Symbol;
783
784
785
786
787
788
789

790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820

821
822
823
824

825
826
827
828
829
830
831
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Port
Dependencies: Lists other programs that must be installed with the port if it
is to function properly.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>


<h1><a name="_Toc15290253"></a><a name="_Toc15289265"><span style='font-family:
Helvetica;color:black'>The MacPorts Menu</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>This
provides management of the underlying MacPorts infrastructure. The commands and
their keyboard shortcuts are as follows:</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoListParagraphCxSpFirst style='margin-top:0in;margin-right:0in;
margin-bottom:0in;margin-left:42.0pt;margin-bottom:.0001pt;text-indent:-.25in;
line-height:normal'><span style='font-size:10.0pt;font-family:Symbol;
color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Update
MacPorts: Command-U. Updates underlying MacPorts infrastructure and package
descriptions.</span></p>

<p class=MsoListParagraphCxSpLast style='margin-top:0in;margin-right:0in;
margin-bottom:0in;margin-left:42.0pt;margin-bottom:.0001pt;text-indent:-.25in;
line-height:normal'><span style='font-size:10.0pt;font-family:Symbol;
color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Add
Port Descriptions: Adds new or updated port descriptions only; does not update
MacPorts infrastructure.</span></p>

<h1><a name="_Toc15290254"></a><a name="_Toc15289266"><span style='font-family:

Helvetica;color:black'>The Preferences Menu</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>


<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>PortAuthority
lets you set several preference items from the &quot;preferences&quot; menu.







>
|
|




















|







|
>
|

|
|
>







828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Port
Dependencies: Lists other programs that must be installed with the port if it
is to function properly.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1 style='margin-top:0in;line-height:normal'><a name="_Toc15290253"></a><a
name="_Toc15289265"><span style='font-family:Helvetica;color:black'>The
MacPorts Menu</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>This
provides management of the underlying MacPorts infrastructure. The commands and
their keyboard shortcuts are as follows:</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoListParagraphCxSpFirst style='margin-top:0in;margin-right:0in;
margin-bottom:0in;margin-left:42.0pt;margin-bottom:.0001pt;text-indent:-.25in;
line-height:normal'><span style='font-size:10.0pt;font-family:Symbol;
color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Update
MacPorts: Command-U. Updates underlying MacPorts infrastructure and package
descriptions.</span></p>

<p class=MsoListParagraphCxSpMiddle style='margin-top:0in;margin-right:0in;
margin-bottom:0in;margin-left:42.0pt;margin-bottom:.0001pt;text-indent:-.25in;
line-height:normal'><span style='font-size:10.0pt;font-family:Symbol;
color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Add
Port Descriptions: Adds new or updated port descriptions only; does not update
MacPorts infrastructure.</span></p>

<p class=MsoListParagraphCxSpLast style='margin-top:0in;margin-right:0in;
margin-bottom:0in;margin-left:42.0pt;margin-bottom:.0001pt;line-height:normal'><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1 style='margin-top:0in;line-height:normal'><a name="_Toc15290254"></a><a
name="_Toc15289266"><span style='font-family:Helvetica;color:black'>The
Preferences Menu</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>PortAuthority
lets you set several preference items from the &quot;preferences&quot; menu.
855
856
857
858
859
860
861

862
863
864
865
866
867
868
869
870
871
872
873
874
875

876
877
878
879
880
881
882
883
884
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>PortAuthority
also allows you to configure the font and point size of the text display, to
enhance its readability to your specifications.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>


<h1><a name="_Toc15290255"></a><a name="_Toc15289267"><span style='font-family:
Helvetica;color:black'>The Window Menu</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
window menu manages the various display windows of PortAuthority. It can
minimize the selected window, or bring all application windows to the front.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>


<h1><a name="_Toc15290256"></a><a name="_Toc15289268"><span style='font-family:
Helvetica;color:black'>Scriptability and Services</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>PortAuthority
offers extensive AppleScript support. The following commands can be called via







>
|
|












>
|
|







903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>PortAuthority
also allows you to configure the font and point size of the text display, to
enhance its readability to your specifications.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1 style='margin-top:0in;line-height:normal'><a name="_Toc15290255"></a><a
name="_Toc15289267"><span style='font-family:Helvetica;color:black'>The Window
Menu</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
window menu manages the various display windows of PortAuthority. It can
minimize the selected window, or bring all application windows to the front.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1 style='margin-top:0in;line-height:normal'><a name="_Toc15290256"></a><a
name="_Toc15289268"><span style='font-family:Helvetica;color:black'>Scriptability
and Services</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>PortAuthority
offers extensive AppleScript support. The following commands can be called via
989
990
991
992
993
994
995

996
997
998
999
1000
1001
1002
1003
1004
menu. To call another application's service--for instance, to display a domain
in Safari--simply highlight the text in PortAuthority and then select the
appropriate item from the Services menu.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>


<h1><a name="_Toc15290257"></a><a name="_Toc15289269"><span style='font-family:
Helvetica;color:black'>Updates and Serial Number</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>To
check for updates to PortAuthority, select the &quot;Check for Updates&quot;







>
|
|







1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
menu. To call another application's service--for instance, to display a domain
in Safari--simply highlight the text in PortAuthority and then select the
appropriate item from the Services menu.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1 style='margin-top:0in;line-height:normal'><a name="_Toc15290257"></a><a
name="_Toc15289269"><span style='font-family:Helvetica;color:black'>Updates and
Serial Number</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>To
check for updates to PortAuthority, select the &quot;Check for Updates&quot;
1012
1013
1014
1015
1016
1017
1018

1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037

1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059

1060
1061

1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078

1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093

1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104




1105




1106
1107
1108
1109



1110





1111





1112
1113
1114
1115
1116
1117
1118
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>To
enter or check your serial number, select the &quot;License&quot; item in the
application menu.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>


<h1><a name="_Toc15290258"></a><a name="_Toc15289270"><span style='font-family:
Helvetica;color:black'>The Help Menu</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>This
allows you to access PortAuthority user documentation in HTML (the document you
are reading now). The menu also includes links to the Code by Kevin website.
The menu also allows you to contact the developer directly.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>For
help with MacPorts itself, extensive documentation and user mailing lists are
available at the MacPorts website: </span><a href="http://www.macports.org"><span

style='font-size:10.0pt;font-family:Helvetica;color:black'>http://www.macports.org</span></a><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>.</span></p>

<h1><a name="_Toc15290259"></a><a name="_Toc15289271"><span style='font-family:
Helvetica;color:black'>Acknowledgments</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
following open-source technologies have gone into the development of
PortAuthority:</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoListParagraphCxSpFirst style='margin-bottom:0in;margin-bottom:.0001pt;
text-indent:-.25in;line-height:normal'><span style='font-size:10.0pt;
font-family:Symbol;color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
Tcl/Tk GUI toolkit. Website: </span><a href="http://www.tcl-lang.org"><span

style='font-size:10.0pt;font-family:Helvetica;color:black'>http://www.tcl-lang.org</span></a><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>; license: </span><a

href="http://www.tcl-lang.org/software/tcltk/license.html"><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>http://www.tcl-lang.org/software/tcltk/license.html</span></a></p>

<p class=MsoListParagraphCxSpMiddle style='margin-bottom:0in;margin-bottom:
.0001pt;text-indent:-.25in;line-height:normal'><span style='font-size:10.0pt;
font-family:Symbol;color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
tcllib and tklib libraries for Tcl/Tk. Website and license: </span><a
href="http://tcllib.sourceforge.net"><span style='font-size:10.0pt;font-family:
Helvetica;color:black'>http://tcllib.sourceforge.net</span></a><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>.</span></p>

<p class=MsoListParagraphCxSpMiddle style='margin-bottom:0in;margin-bottom:
.0001pt;text-indent:-.25in;line-height:normal'><span style='font-size:10.0pt;
font-family:Symbol;color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
MacPorts software management system. Website and license: http://www.macports.org.</span></p>


<p class=MsoListParagraphCxSpMiddle style='margin-bottom:0in;margin-bottom:
.0001pt;text-indent:-.25in;line-height:normal'><span style='font-size:10.0pt;
font-family:Symbol;color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
cocoaprint package for native printing. Website and license: </span><a
href="http://www.codebykevin.com"><span style='font-size:10.0pt;font-family:
Helvetica;color:black'>http://www.codebykevin.com</span></a><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>.</span></p>

<p class=MsoListParagraphCxSpMiddle style='margin-bottom:0in;margin-bottom:
.0001pt;text-indent:-.25in;line-height:normal'><span style='font-size:10.0pt;
font-family:Symbol;color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>App
icon from the Nuvola icon set by David Vignoni. Website: </span><a

href="https://commons.wikimedia.org/wiki/Category:Nuvola_icons"><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>https://commons.wikimedia.org/wiki/Category:Nuvola_icons</span></a><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>. License: </span><a
href="https://www.gnu.org/licenses/lgpl-3.0.html"><span style='font-size:10.0pt;
font-family:Helvetica;color:black'>https://www.gnu.org/licenses/lgpl-3.0.html</span></a></p>

<p class=MsoListParagraphCxSpLast style='margin-bottom:0in;margin-bottom:.0001pt;
text-indent:-.25in;line-height:normal'><span style='font-size:10.0pt;
font-family:Symbol;color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Icons
from Picol icon set. Website and license: </span><a href="http://www.picol.org"><span




style='font-size:10.0pt;font-family:Helvetica;color:black'>http://www.picol.org</span></a></p>





<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>




<h1><a name="_Toc15290260"></a><a name="_Toc15289272"><span style='font-family:





Helvetica;color:black'>PortAuthority Version History</span></a></h1>






<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>9.0
(September 1, 2019)</span></p>







>
|
|
















|
>
|
|

|
|
















|
>
|
|
>

|





|
|
|






|
>





|
|
|






|
>

|
|
|
|





|
>
>
>
>
|
>
>
>
>




>
>
>
|
>
>
>
>
>
|
>
>
>
>
>







1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>To
enter or check your serial number, select the &quot;License&quot; item in the
application menu.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1 style='margin-top:0in;line-height:normal'><a name="_Toc15290258"></a><a
name="_Toc15289270"><span style='font-family:Helvetica;color:black'>The Help
Menu</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>This
allows you to access PortAuthority user documentation in HTML (the document you
are reading now). The menu also includes links to the Code by Kevin website.
The menu also allows you to contact the developer directly.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>For
help with MacPorts itself, extensive documentation and user mailing lists are
available at the MacPorts website: </span><span style='color:black'><a
href="http://www.macports.org"><span style='font-size:10.0pt;font-family:Helvetica;
color:black'>http://www.macports.org</span></a></span><span style='font-size:
10.0pt;font-family:Helvetica;color:black'>.</span></p>

<h1 style='margin-top:0in;line-height:normal'><a name="_Toc15290259"></a><a
name="_Toc15289271"><span style='font-family:Helvetica;color:black'>Acknowledgments</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
following open-source technologies have gone into the development of
PortAuthority:</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoListParagraphCxSpFirst style='margin-bottom:0in;margin-bottom:.0001pt;
text-indent:-.25in;line-height:normal'><span style='font-size:10.0pt;
font-family:Symbol;color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
Tcl/Tk GUI toolkit. Website: </span><span style='color:black'><a
href="http://www.tcl-lang.org"><span style='font-size:10.0pt;font-family:Helvetica;
color:black'>http://www.tcl-lang.org</span></a></span><span style='font-size:
10.0pt;font-family:Helvetica;color:black'>; license: </span><span
style='color:black'><a
href="http://www.tcl-lang.org/software/tcltk/license.html"><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>http://www.tcl-lang.org/software/tcltk/license.html</span></a></span></p>

<p class=MsoListParagraphCxSpMiddle style='margin-bottom:0in;margin-bottom:
.0001pt;text-indent:-.25in;line-height:normal'><span style='font-size:10.0pt;
font-family:Symbol;color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
tcllib and tklib libraries for Tcl/Tk. Website and license: </span><span
style='color:black'><a href="http://tcllib.sourceforge.net"><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>http://tcllib.sourceforge.net</span></a></span><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>.</span></p>

<p class=MsoListParagraphCxSpMiddle style='margin-bottom:0in;margin-bottom:
.0001pt;text-indent:-.25in;line-height:normal'><span style='font-size:10.0pt;
font-family:Symbol;color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
MacPorts software management system. Website and license:
http://www.macports.org.</span></p>

<p class=MsoListParagraphCxSpMiddle style='margin-bottom:0in;margin-bottom:
.0001pt;text-indent:-.25in;line-height:normal'><span style='font-size:10.0pt;
font-family:Symbol;color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
cocoaprint package for native printing. Website and license: </span><span
style='color:black'><a href="http://www.codebykevin.com"><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>http://www.codebykevin.com</span></a></span><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>.</span></p>

<p class=MsoListParagraphCxSpMiddle style='margin-bottom:0in;margin-bottom:
.0001pt;text-indent:-.25in;line-height:normal'><span style='font-size:10.0pt;
font-family:Symbol;color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>App
icon from the Nuvola icon set by David Vignoni. Website: </span><span
style='color:black'><a
href="https://commons.wikimedia.org/wiki/Category:Nuvola_icons"><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>https://commons.wikimedia.org/wiki/Category:Nuvola_icons</span></a></span><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>. License: </span><span
style='color:black'><a href="https://www.gnu.org/licenses/lgpl-3.0.html"><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>https://www.gnu.org/licenses/lgpl-3.0.html</span></a></span></p>

<p class=MsoListParagraphCxSpLast style='margin-bottom:0in;margin-bottom:.0001pt;
text-indent:-.25in;line-height:normal'><span style='font-size:10.0pt;
font-family:Symbol;color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Icons
from Picol icon set. Website and license: </span><span style='color:black'><a
href="http://www.picol.org"><span style='font-size:10.0pt;font-family:Helvetica;
color:black'>http://www.picol.org</span></a></span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1 style='margin-top:0in;line-height:normal'><a name="_Toc15290260"></a><a
name="_Toc15289272"><span style='font-family:Helvetica;color:black'>PortAuthority
Version History</span></a></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>9.1
(October 13, 2019): </span></p>

<p class=MsoListParagraphCxSpFirst style='margin-bottom:0in;margin-bottom:.0001pt;
text-indent:-.25in;line-height:normal'><span style='font-size:10.0pt;
font-family:Symbol;color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Updated
release for Catalina. </span></p>

<p class=MsoListParagraphCxSpLast style='margin-bottom:0in;margin-bottom:.0001pt;
text-indent:-.25in;line-height:normal'><span style='font-size:10.0pt;
font-family:Symbol;color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Minor
bug fixes.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>9.0
(September 1, 2019)</span></p>
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Minor
bug fixes.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>7.8 (December
1, 2017):</span></p>

<p class=MsoListParagraph style='margin-top:0in;margin-right:0in;margin-bottom:
0in;margin-left:42.0pt;margin-bottom:.0001pt;text-indent:-.25in;line-height:
normal'><span style='font-size:10.0pt;font-family:Symbol;color:black'>·<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>UI enhancements.</span></p>








|
|







1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Minor
bug fixes.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>7.8
(December 1, 2017):</span></p>

<p class=MsoListParagraph style='margin-top:0in;margin-right:0in;margin-bottom:
0in;margin-left:42.0pt;margin-bottom:.0001pt;text-indent:-.25in;line-height:
normal'><span style='font-size:10.0pt;font-family:Symbol;color:black'>·<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>UI enhancements.</span></p>

1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
No longer crashes when saving file or accessing help menu.</span></p>

<p class=MsoListParagraphCxSpMiddle style='margin-top:0in;margin-right:0in;
margin-bottom:0in;margin-left:42.0pt;margin-bottom:.0001pt;text-indent:-.25in;
line-height:normal'><span style='font-size:10.0pt;font-family:Symbol;
color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Additional
UI enhancements: Native notebook tabs; toolbar now toggles visibility via window
toolbutton.</span></p>

<p class=MsoListParagraphCxSpMiddle style='margin-top:0in;margin-right:0in;
margin-bottom:0in;margin-left:42.0pt;margin-bottom:.0001pt;text-indent:-.25in;
line-height:normal'><span style='font-size:10.0pt;font-family:Symbol;
color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Dock
icon now bounces when long-running tasks completed.</span></p>







|
|







1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
No longer crashes when saving file or accessing help menu.</span></p>

<p class=MsoListParagraphCxSpMiddle style='margin-top:0in;margin-right:0in;
margin-bottom:0in;margin-left:42.0pt;margin-bottom:.0001pt;text-indent:-.25in;
line-height:normal'><span style='font-size:10.0pt;font-family:Symbol;
color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Additional
UI enhancements: Native notebook tabs; toolbar now toggles visibility via
window toolbutton.</span></p>

<p class=MsoListParagraphCxSpMiddle style='margin-top:0in;margin-right:0in;
margin-bottom:0in;margin-left:42.0pt;margin-bottom:.0001pt;text-indent:-.25in;
line-height:normal'><span style='font-size:10.0pt;font-family:Symbol;
color:black'>·<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Dock
icon now bounces when long-running tasks completed.</span></p>
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>Initial commercial
release.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1>License</h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'> </span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
MIT License (MIT)</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>PortAuthority
source code: </span><a
href="https://www.codebykevin.com/fossil.cgi/portauthority/"><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>https://www.codebykevin.com/fossil.cgi/portauthority/</span></a></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Copyright
(c) 2019 WordTech Communications LLC</span></p>







|













|

|







2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>Initial commercial
release.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<h1 style='margin-top:0in;line-height:normal'><span style='color:black'>License</span></h1>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'> </span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>The
MIT License (MIT)</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>PortAuthority
source code: </span><span style='color:black'><a
href="https://www.codebykevin.com/fossil.cgi/portauthority/"><span
style='font-size:10.0pt;font-family:Helvetica;color:black'>https://www.codebykevin.com/fossil.cgi/portauthority/</span></a></span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>Copyright
(c) 2019 WordTech Communications LLC</span></p>
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203

2204
2205
2206
2207
2208
2209
2210
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>THE
SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.</span></p>


<p class=MsoNormal><span style='font-family:Helvetica;color:black'>&nbsp;</span></p>

</div>

</body>

</html>







|
|
|
|

>
|






2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>&nbsp;</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-size:10.0pt;font-family:Helvetica;color:black'>THE
SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.</span></p>

<p class=MsoNormal style='margin-bottom:0in;margin-bottom:.0001pt;line-height:
normal'><span style='font-family:Helvetica;color:black'>&nbsp;</span></p>

</div>

</body>

</html>

Changes to libs/portauthority/pkgIndex.tcl.

1
2
3

  package ifneeded portauthority 9.0 [list source [file join $dir portauthority.tcl]]


|

1
2
3

  package ifneeded portauthority 9.1 [list source [file join $dir portauthority.tcl]]

Changes to libs/portauthority/portauthority-main.tcl.

333
334
335
336
337
338
339
340
341
342
343
344
345
346
347

    #create menu bar
    menu .mb

    #apple menu
    menu .mb.apple
    .mb.apple add command -label "About PortAuthority" -command tkAboutDialog
    .mb.apple add command -label "License" -command regproc::getReg
    .mb.apple add command -label "Check for Updates" -command "softwareupdate::checkVersion $appname::name $appname::version"
    .mb.apple add separator
    .mb add cascade -label "PortAuthority" -menu .mb.apple


    #overview menu
    menu .mb.overview -tearoff -0







<







333
334
335
336
337
338
339

340
341
342
343
344
345
346

    #create menu bar
    menu .mb

    #apple menu
    menu .mb.apple
    .mb.apple add command -label "About PortAuthority" -command tkAboutDialog

    .mb.apple add command -label "Check for Updates" -command "softwareupdate::checkVersion $appname::name $appname::version"
    .mb.apple add separator
    .mb add cascade -label "PortAuthority" -menu .mb.apple


    #overview menu
    menu .mb.overview -tearoff -0
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
}


#handle program shutdown via command-q
proc  ::tk::mac::Quit {} {
    savePref
    destroy .preferences
    exit
}


#"about application" command
proc tkAboutDialog {} {
    aboutWindow
}


proc aboutWindow {} {
    tk_messageBox -parent . -icon info -title "About PortAuthority" -message "PortAuthority: GUI for MacPorts" -detail "Version 9.0\n(c)2019 WordTech Communications LLC"

}


#initialization routines on startup
proc startUp {} {








|










|







1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
}


#handle program shutdown via command-q
proc  ::tk::mac::Quit {} {
    savePref
    destroy .preferences
    regproc::makePitch
}


#"about application" command
proc tkAboutDialog {} {
    aboutWindow
}


proc aboutWindow {} {
    tk_messageBox -parent . -icon info -title "About PortAuthority" -message "PortAuthority: GUI for MacPorts" -detail "Version 9.1\n(c)2019 WordTech Communications LLC"

}


#initialization routines on startup
proc startUp {} {

1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967

    if {![file exists $datadir/portauthority.rc]} {
	checkPref
    }    
    
    if { [file exists  $datadir/portauthority.rc]} {
	catch [list source $datadir/portauthority.rc ] 
	appname::setAppName PortAuthority 9.0
	softwareupdate::setVersion $appname::name $appname::version
	machelp::setAppName $appname::name $appname::version
	checkMacPorts
	drawGUI
	setPref
	bgGetAllPorts
	catch {toggleCopyText}
	after 1000
	setAllPortsSelection
	.t.left.tree item Ports -open true
    }

    after 50 
    regproc::readLic $appname::name $appname::version
    
    
}

proc changeImagesDark {} {

    foreach item [image names]  {
	if {[image type $item] eq "bitmap"} {
	    $item configure -foreground white







|










|
<
<
<
<
<







1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954





1955
1956
1957
1958
1959
1960
1961

    if {![file exists $datadir/portauthority.rc]} {
	checkPref
    }    
    
    if { [file exists  $datadir/portauthority.rc]} {
	catch [list source $datadir/portauthority.rc ] 
	appname::setAppName PortAuthority 9.1
	softwareupdate::setVersion $appname::name $appname::version
	machelp::setAppName $appname::name $appname::version
	checkMacPorts
	drawGUI
	setPref
	bgGetAllPorts
	catch {toggleCopyText}
	after 1000
	setAllPortsSelection
	.t.left.tree item Ports -open true
    }       





}

proc changeImagesDark {} {

    foreach item [image names]  {
	if {[image type $item] eq "bitmap"} {
	    $item configure -foreground white

Changes to libs/portauthority/portauthority.tcl.

1
2
3
4
package provide portauthority 9.0

source [file join [file dirname [info script]] portauthority-main.tcl]

|



1
2
3
4
package provide portauthority 9.1

source [file join [file dirname [info script]] portauthority-main.tcl]

Changes to libs/regproc/pkgIndex.tcl.

1
2
3
4
5
6
7
8
9
10
11
# Tcl package index file, version 1.1
# This file is generated by the "pkg_mkIndex" command
# and sourced either when an application starts up or
# by a "package unknown" script.  It invokes the
# "package ifneeded" command to set up package-related
# information so that packages will be loaded automatically
# in response to "package require" commands.  When this
# script is sourced, the variable $dir must contain the
# full path name of this file's directory.

package ifneeded regproc 1.5 [list source [file join $dir regproc.tcl]]










|
1
2
3
4
5
6
7
8
9
10
11
# Tcl package index file, version 1.1
# This file is generated by the "pkg_mkIndex" command
# and sourced either when an application starts up or
# by a "package unknown" script.  It invokes the
# "package ifneeded" command to set up package-related
# information so that packages will be loaded automatically
# in response to "package require" commands.  When this
# script is sourced, the variable $dir must contain the
# full path name of this file's directory.

package ifneeded regproc 1.6 [list source [file join $dir regproc.tcl]]

Changes to libs/regproc/regproc.tcl.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#regproc.tcl  routines to register serial numbers

#Copyright 2015 WordTech Communications LLC

#MIT license

package provide regproc 1.5
package require http
package require xplat


image create bitmap _unlock -data  {
 
#define xbm_security_closed_32_width 32
#define xbm_security_closed_32_height 32






|
<







1
2
3
4
5
6
7

8
9
10
11
12
13
14
#regproc.tcl  routines to register serial numbers

#Copyright 2015 WordTech Communications LLC

#MIT license

package provide regproc 1.6

package require xplat


image create bitmap _unlock -data  {
 
#define xbm_security_closed_32_width 32
#define xbm_security_closed_32_height 32
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
	variable library [file dirname [info script]]
    }
    variable datadir
    variable expired
    set expired 0


    #set the 30-day clock for application/version
    proc setClock {} {
	variable datadir 
	variable appname
	variable appversion
	variable appstore
	puts "datadir is $datadir"

	set launchTime [clock seconds]
	set saveTime [open $datadir/$appname$appversion.dat w]
	puts $saveTime $launchTime
	close $saveTime
    }

    #read the time set
    proc readClock {} {
	variable datadir 
	variable appstatus 
	variable expstatus 
	variable appname
	variable appversion
	variable appstore
	variable expired

	set curTime [clock seconds]
	set oldTime [read [open $datadir/$appname$appversion.dat r]]
	set expDate [clock scan "30 days" -base $oldTime]
	if {$curTime < $expDate } {
	    set expired 0
	    regproc::makePitch	
	} else {
	    set expired 1
	    regproc::expiredPitch
	}
    }
    
    #check to see if a time has been set
    proc checkClock {} {
	variable datadir 
	variable appname
	variable appversion
	variable appstore
	variable expired

	if {[file exists $datadir/.$appname$appversion.rc]} {
	    
	    catch "file rename $datadir/.$appname$appversion.rc $datadir/$appname$appversion.dat"
	    regproc::readClock
	    return
	}

	if  {![file exists  $datadir/$appname$appversion.dat]} {
	    regproc::setClock 
	    regproc::readClock
	} else {
	    regproc::readClock
	}
    }

    #dialog before demo has expired
    proc makePitch {} {
	variable version 
	variable appname
	variable appstore
	variable licensetitle
	set licensetitle "Purchase $appname"

	toplevel .purchase
	regproc::makeModal .purchase
	wm title .purchase $licensetitle
	wm resizable .purchase 0 0

	wm withdraw .purchase
	wm transient .purchase .

	wm protocol .purchase WM_DELETE_WINDOW {}

	ttk::frame .purchase.top -padding 10
	pack .purchase.top -side top -fill both -expand yes
	ttk::label .purchase.top.label -text "You are currently using a demo of $appname. This version will give you the chance to try \n$appname free of charge for 30 days. Would you like to buy $appname now?" -image _unlock -compound left -anchor n 

	pack .purchase.top.label  -side top -fill x -expand yes

	ttk::frame .purchase.bottom -padding 5
	pack .purchase.bottom -side bottom -fill both -expand yes

	ttk::frame .purchase.bottom.upper
	pack .purchase.bottom.upper -side top -fill both -expand no


	ttk::frame .purchase.bottom.lower -padding 5
	pack .purchase.bottom.lower -side bottom -fill both -expand no

	ttk::button .purchase.bottom.lower.install -text "Purchase" -default active -command "xplat::launch  http://www.codebykevin.com/$appname.html; regproc::getReg; destroy .purchase"
	ttk::button .purchase.bottom.lower.cancel -text "Cancel" -command " destroy .purchase; raise ."
	pack  .purchase.bottom.lower.install .purchase.bottom.lower.cancel  -side right -fill both -expand no
	
	::tk::PlaceWindow .purchase widget .

	wm deiconify .purchase
	focus .purchase.bottom.lower.install

	if {[tk windowingsystem] eq "aqua"} {
	    after idle [list after 0 wm attributes .purchase -notify 1]

	    bind all <FocusIn> [list  wm attributes . -notify 0]
	}

    }

    #dialog after demo has expired
    proc expiredPitch {} {
	variable version 
	variable appname
	variable appstore
	variable expired
	variable licensetitle

	set licensetitle "Purchase $appname"

	toplevel .expired
	regproc::makeModal .expired
	wm title .expired $licensetitle
	wm resizable .expired 0 0



	wm withdraw .expired
	wm transient .expired .

	wm protocol .expired WM_DELETE_WINDOW {}

	ttk::frame .expired.top -padding 10
	pack .expired.top -side top -fill both -expand yes
	ttk::label .expired.top.label -text "This demo of $appname is now expired. Would you like to buy $appname now?" -image _unlock -compound left -anchor n 

	pack .expired.top.label  -side top -fill x -expand yes

	ttk::frame .expired.bottom -padding 5
	pack .expired.bottom -side bottom -fill both -expand yes

	ttk::frame .expired.bottom.upper
	pack .expired.bottom.upper -side top -fill both -expand no


	ttk::frame .expired.bottom.lower -padding 5
	pack .expired.bottom.lower -side bottom -fill both -expand no

	ttk::button .expired.bottom.lower.install -text "Purchase" -default active -command "xplat::launch http://www.codebykevin.com/$appname.html; regproc::getReg; destroy .expired"
	ttk::button .expired.bottom.lower.cancel -text "Cancel" -command " destroy .expired; exit"
	pack  .expired.bottom.lower.install .expired.bottom.lower.cancel  -side right -fill both -expand no
	
	::tk::PlaceWindow .expired widget .

	wm deiconify .expired
	focus .expired.bottom.lower.install

	if {[tk windowingsystem] eq "aqua"} {
	    after idle [list after 0 wm attributes .expired -notify 1]

	    bind all <FocusIn> [list  wm attributes . -notify 0]
	}
    }

    #check for license, validate if found, set demo pitch if not found
    proc readLic {application version} {

	variable serial 
	variable datadir
	variable appname
	variable appversion
	variable appstore

	set appname $application
	set appversion $version

	set datadir [xplat::appconfig $appname]

	if {[file exists $datadir/.lic] } {
	    file rename $datadir/.lic $datadir/lic.dat
	}

	if {[file exists $datadir/lic.dat]} {
	    
	    set licnum [open $datadir/lic.dat r]
	    set serial [read $licnum]
	    close $licnum
	    return
	} else {
	    set serial "Demo"
	    regproc::checkClock
	    
	}
    }


    #write license to file
    proc setLic {} {
	variable serial
	variable serialbase
	variable datadir
	variable appname
	variable regwindow
	variable appstore
	variable expired

	if {$serial == ""} {
	    tk_messageBox -icon warning -title "Incorrect Serial Number" -message "Incorrect Serial Number" -detail "Incorrect serial number. The application will exit now." -parent .number
	    exit
	}

	set count 20000

	for {set i 1} {$i < $count} {incr i 1} {

	    lappend serialbase [string toupper $appname]-[expr $i * 5]-[expr $i/11]-[expr $i - 1]-[string toupper [string trim [string range $appname 0 1]]]
	}
	

	set output [lsearch  -inline $serialbase $serial]
	puts $serial
	puts $output
	
	if {$output >= 0} {
	    cd $datadir
	    set lic [open $datadir/lic.dat w]
	    puts $lic "$serial"
	    close $lic
		grab release .number
	    tk_messageBox -icon info -title "Thank You" -message "Thank You" -detail "Thank you for registering $appname." -parent .number
	    destroy .number
	    #display window that was hidden
	    catch {wm deiconify .}

	} else {
	    if {$expired == 1} {
		grab release .number
		tk_messageBox -icon warning -title "Incorrect Serial Number" -message "Incorrect Serial Number" -detail "Incorrect serial number. The application will exit now." -parent .number
		exit
	    }
	    grab release .number
	    tk_messageBox -icon warning -title "Incorrect Serial Number" -message "Incorrect Serial Number" -detail "Incorrect serial number. Please try again." -parent .number
	    regproc::getReg
	}
    }



    #generate license numbers
    proc genList {application} {

	variable appname
	variable regwindow
	variable appstore

	set appname $application

	set count 20000

	for {set i 1} {$i < $count} {incr i 1} {

	    lappend serialbase [string toupper $appname]-[expr $i * 5]-[expr $i/11]-[expr $i - 1]-[string toupper [string trim [string range $appname 0 1]]]
	}


	if [file exists  $::env(HOME)/[list $appname]-list] {
	    file delete  $::env(HOME)/[list $appname]-list
	}

	foreach item $serialbase {
	    split $item\n
	    set keylist [open $::env(HOME)/[list $appname]-list a]
	    puts $keylist $item
	    close $keylist
	}
    }

    #dialog to input registration number from demo prompt
    proc getReg {} {


	variable serial
	variable regwindow
	variable appstore
	variable expired
	variable appname
	variable licensetitle

	set licensetitle "License" 

	catch {destroy .number}
	toplevel .number
	wm title .number $licensetitle
	regproc::makeModal .number
	wm resizable .number 0 0

	wm withdraw .number
	wm transient .number .
    

	wm protocol .number WM_DELETE_WINDOW {}

	ttk::frame .number.top -padding 10
	pack .number.top -side top -fill both -expand yes

	
	ttk::label .number.top.label -text "Please enter your serial number for $appname\nin the field below:" -image _check -compound left -anchor n -padding 10
	pack .number.top.label -side top -fill both -expand yes

	ttk::entry .number.top.entry -textvariable [namespace current]::serial
	pack .number.top.entry -side bottom -fill both -expand yes

	ttk::frame .number.bottom -padding 5
	pack .number.bottom -side bottom -fill both -expand yes

	ttk::frame .number.bottom.upper
	pack .number.bottom.upper -side top -fill both -expand no


	ttk::frame .number.bottom.lower -padding 5
	pack .number.bottom.lower -side bottom -fill both -expand no

	bind .number <Return> {grab release .number; regproc::setLic;  raise .}
	ttk::button .number.bottom.lower.install -text "Register" -default active -command {grab release .number; regproc::setLic; raise .}
	ttk::button .number.bottom.lower.cancel -text "Cancel" -command "grab release .number; regproc::exitIfExpired; destroy .number; raise ."
	pack  .number.bottom.lower.install .number.bottom.lower.cancel  -side right -fill both -expand no
	
	::tk::PlaceWindow .number widget .

	wm deiconify .number
	focus .number.bottom.lower.install
	if {[tk windowingsystem] eq "aqua"} {
	    after idle [list after 0 wm attributes .number -notify 1]
	    bind all <FocusIn>  [list  wm attributes . -notify 0]
	}
    }

    proc exitIfExpired {} {

	variable expired
	if {$expired == 1} {
	    exit
	} 

    }

    proc makeModal {w} {

	variable licensetitle
	if {[tk windowingsystem] eq "aqua" } {
	    destroy $w; toplevel $w;  tk::unsupported::MacWindowStyle style $w  modal; wm title $w $licensetitle
	}
	if {[tk windowingsystem] eq "win32"} {







<
<
<
<
<
<
<
|
<
<
<
<
<
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<





|













|













|
|















<
<
<
<
<
<
<
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







50
51
52
53
54
55
56







57





58














































59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108







109




































































































































































































































110
111
112
113
114
115
116
	variable library [file dirname [info script]]
    }
    variable datadir
    variable expired
    set expired 0









  





    #dialog to request donation














































    proc makePitch {} {
	variable version 
	variable appname
	variable appstore
	variable licensetitle
	set licensetitle "Support Our Work"

	toplevel .purchase
	regproc::makeModal .purchase
	wm title .purchase $licensetitle
	wm resizable .purchase 0 0

	wm withdraw .purchase
	wm transient .purchase .

	wm protocol .purchase WM_DELETE_WINDOW {}

	ttk::frame .purchase.top -padding 10
	pack .purchase.top -side top -fill both -expand yes
	ttk::label .purchase.top.label -text "SUPPORT OUR WORK\n\nDeveloping free and open source software is not free.\nWould you support the development of this application\nwith a single or recurring donation?" -image _check -compound left -anchor n 

	pack .purchase.top.label  -side top -fill x -expand yes

	ttk::frame .purchase.bottom -padding 5
	pack .purchase.bottom -side bottom -fill both -expand yes

	ttk::frame .purchase.bottom.upper
	pack .purchase.bottom.upper -side top -fill both -expand no


	ttk::frame .purchase.bottom.lower -padding 5
	pack .purchase.bottom.lower -side bottom -fill both -expand no

	ttk::button .purchase.bottom.lower.install -text "Donate" -default active -command "xplat::launch  https://liberapay.com/codebykevin/donate; exit"
	ttk::button .purchase.bottom.lower.cancel -text "Later" -command "exit"
	pack  .purchase.bottom.lower.install .purchase.bottom.lower.cancel  -side right -fill both -expand no
	
	::tk::PlaceWindow .purchase widget .

	wm deiconify .purchase
	focus .purchase.bottom.lower.install

	if {[tk windowingsystem] eq "aqua"} {
	    after idle [list after 0 wm attributes .purchase -notify 1]

	    bind all <FocusIn> [list  wm attributes . -notify 0]
	}

    }








  




































































































































































































































    proc makeModal {w} {

	variable licensetitle
	if {[tk windowingsystem] eq "aqua" } {
	    destroy $w; toplevel $w;  tk::unsupported::MacWindowStyle style $w  modal; wm title $w $licensetitle
	}
	if {[tk windowingsystem] eq "win32"} {

Added libs/tcltls1.7.19/pkgIndex.tcl.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if {[package vsatisfies [package present Tcl] 8.5]} {
	package ifneeded tls 1.7.19 [list apply {{dir} {
		if {{shared} eq "static"} {
			load {} Tls
		} else {
			load [file join $dir tcltls.dylib] Tls
		}

		set tlsTclInitScript [file join $dir tls.tcl]
		if {[file exists $tlsTclInitScript]} {
			source $tlsTclInitScript
		}
	}} $dir]
} elseif {[package vsatisfies [package present Tcl] 8.4]} {
	package ifneeded tls 1.7.19 [list load [file join $dir tcltls.dylib] Tls]
}

Added libs/tcltls1.7.19/tcltls.dylib.

cannot compute difference between binary files

Deleted libs/tls1.6.7/libtls1.6.7.dylib.

cannot compute difference between binary files

Deleted libs/tls1.6.7/pkgIndex.tcl.

1
package ifneeded tls 1.6.7     "[list source [file join $dir tls.tcl]] ;      [list tls::initlib $dir libtls1.6.7.dylib]"
<


Deleted libs/tls1.6.7/tls.tcl.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
#
# Copyright (C) 1997-2000 Matt Newman <matt@novadigm.com> 
#
# $Header: /cvsroot/tls/tls/tls.tcl,v 1.14 2015/07/07 17:16:03 andreas_kupries Exp $
#
namespace eval tls {
    variable logcmd tclLog
    variable debug 0
 
    # Default flags passed to tls::import
    variable defaults {}

    # Maps UID to Server Socket
    variable srvmap
    variable srvuid 0

    # Over-ride this if you are using a different socket command
    variable socketCmd
    if {![info exists socketCmd]} {
        set socketCmd [info command ::socket]
    }
}

proc tls::initlib {dir dll} {
    # Package index cd's into the package directory for loading.
    # Irrelevant to unixoids, but for Windows this enables the OS to find
    # the dependent DLL's in the CWD, where they may be.
    set cwd [pwd]
    catch {cd $dir}
    if {[string equal $::tcl_platform(platform) "windows"] &&
	![string equal [lindex [file system $dir] 0] "native"]} {
	# If it is a wrapped executable running on windows, the openssl
	# dlls must be copied out of the virtual filesystem to the disk
	# where Windows will find them when resolving the dependency in
	# the tls dll. We choose to make them siblings of the executable.
	package require starkit
	set dst [file nativename [file dirname $starkit::topdir]]
	foreach sdll [glob -nocomplain -directory $dir -tails *eay32.dll] {
	    catch {file delete -force            $dst/$sdll}
	    catch {file copy   -force $dir/$sdll $dst/$sdll}
	}
    }
    set res [catch {uplevel #0 [list load [file join [pwd] $dll]]} err]
    catch {cd $cwd}
    if {$res} {
	namespace eval [namespace parent] {namespace delete tls}
	return -code $res $err
    }
    rename tls::initlib {}
}

#
# Backwards compatibility, also used to set the default
# context options
#
proc tls::init {args} {
    variable defaults

    set defaults $args
}
#
# Helper function - behaves exactly as the native socket command.
#
proc tls::socket {args} {
    variable socketCmd
    variable defaults
    set idx [lsearch $args -server]
    if {$idx != -1} {
	set server 1
	set callback [lindex $args [expr {$idx+1}]]
	set args [lreplace $args $idx [expr {$idx+1}]]

	set usage "wrong # args: should be \"tls::socket -server command ?options? port\""
	set options "-cadir, -cafile, -certfile, -cipher, -command, -dhparams, -keyfile, -myaddr, -password, -request, -require, -servername, -ssl2, -ssl3, -tls1, -tls1.1 or -tls1.2"
    } else {
	set server 0

	set usage "wrong # args: should be \"tls::socket ?options? host port\""
	set options "-async, -cadir, -cafile, -certfile, -cipher, -command, -dhparams, -keyfile, -myaddr, -myport, -password, -request, -require, -servername, -ssl2, -ssl3, -tls1, -tls1.1 or -tls1.2"
    }
    set argc [llength $args]
    set sopts {}
    set iopts [concat [list -server $server] $defaults]	;# Import options

    for {set idx 0} {$idx < $argc} {incr idx} {
	set arg [lindex $args $idx]
	switch -glob -- $server,$arg {
	    0,-async	{lappend sopts $arg}
	    0,-myport	-
	    *,-type	-
	    *,-myaddr	{lappend sopts $arg [lindex $args [incr idx]]}
	    *,-cadir	-
	    *,-cafile	-
	    *,-certfile	-
	    *,-cipher	-
	    *,-command	-
	    *,-dhparams -
	    *,-keyfile	-
	    *,-password	-
	    *,-request	-
	    *,-require	-
            *,-servername -
	    *,-ssl2	-
	    *,-ssl3	-
	    *,-tls1	-
	    *,-tls1.1	-
	    *,-tls1.2	{lappend iopts $arg [lindex $args [incr idx]]}
	    -*		{return -code error "bad option \"$arg\": must be one of $options"}
	    default	{break}
	}
    }
    if {$server} {
	if {($idx + 1) != $argc} {
	    return -code error $usage
	}
	set uid [incr ::tls::srvuid]

	set port [lindex $args [expr {$argc-1}]]
	lappend sopts $port
	#set sopts [linsert $sopts 0 -server $callback]
	set sopts [linsert $sopts 0 -server [list tls::_accept $iopts $callback]]
	#set sopts [linsert $sopts 0 -server [list tls::_accept $uid $callback]]
    } else {
	if {($idx + 2) != $argc} {
	    return -code error $usage
	}
	set host [lindex $args [expr {$argc-2}]]
	set port [lindex $args [expr {$argc-1}]]
	lappend sopts $host $port
    }
    #
    # Create TCP/IP socket
    #
    set chan [eval $socketCmd $sopts]
    if {!$server && [catch {
	#
	# Push SSL layer onto socket
	#
	eval [list tls::import] $chan $iopts
    } err]} {
	set info ${::errorInfo}
	catch {close $chan}
	return -code error -errorinfo $info $err
    }
    return $chan
}

# tls::_accept --
#
#   This is the actual accept that TLS sockets use, which then calls
#   the callback registered by tls::socket.
#
# Arguments:
#   iopts	tls::import opts
#   callback	server callback to invoke
#   chan	socket channel to accept/deny
#   ipaddr	calling IP address
#   port	calling port
#
# Results:
#   Returns an error if the callback throws one.
#
proc tls::_accept { iopts callback chan ipaddr port } {
    log 2 [list tls::_accept $iopts $callback $chan $ipaddr $port]

    set chan [eval [list tls::import $chan] $iopts]

    lappend callback $chan $ipaddr $port
    if {[catch {
	uplevel #0 $callback
    } err]} {
	log 1 "tls::_accept error: ${::errorInfo}"
	close $chan
	error $err $::errorInfo $::errorCode
    } else {
	log 2 "tls::_accept - called \"$callback\" succeeded"
    }
}
#
# Sample callback for hooking: -
#
# error
# verify
# info
#
proc tls::callback {option args} {
    variable debug

    #log 2 [concat $option $args]

    switch -- $option {
	"error"	{
	    foreach {chan msg} $args break

	    log 0 "TLS/$chan: error: $msg"
	}
	"verify"	{
	    # poor man's lassign
	    foreach {chan depth cert rc err} $args break

	    array set c $cert

	    if {$rc != "1"} {
		log 1 "TLS/$chan: verify/$depth: Bad Cert: $err (rc = $rc)"
	    } else {
		log 2 "TLS/$chan: verify/$depth: $c(subject)"
	    }
	    if {$debug > 0} {
		return 1;	# FORCE OK
	    } else {
		return $rc
	    }
	}
	"info"	{
	    # poor man's lassign
	    foreach {chan major minor state msg} $args break

	    if {$msg != ""} {
		append state ": $msg"
	    }
	    # For tracing
	    upvar #0 tls::$chan cb
	    set cb($major) $minor

	    log 2 "TLS/$chan: $major/$minor: $state"
	}
	default	{
	    return -code error "bad option \"$option\":\
		    must be one of error, info, or verify"
	}
    }
}

proc tls::xhandshake {chan} {
    upvar #0 tls::$chan cb

    if {[info exists cb(handshake)] && \
	$cb(handshake) == "done"} {
	return 1
    }
    while {1} {
	vwait tls::${chan}(handshake)
	if {![info exists cb(handshake)]} {
	    return 0
	}
	if {$cb(handshake) == "done"} {
	    return 1
	}
    }
}

proc tls::password {} {
    log 0 "TLS/Password: did you forget to set your passwd!"
    # Return the worlds best kept secret password.
    return "secret"
}

proc tls::log {level msg} {
    variable debug
    variable logcmd

    if {$level > $debug || $logcmd == ""} {
	return
    }
    set cmd $logcmd
    lappend cmd $msg
    uplevel #0 $cmd
}

<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<