/
portfile.7
2803 lines (2802 loc) · 55.6 KB
/
portfile.7
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
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
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
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
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
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
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
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
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
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
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
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
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
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
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
.\" portfile.7
.\"
.\" Copyright (c) 2004-2015, 2017-2018 The MacPorts Project
.\" Copyright (c) 2002-2003 Apple Inc.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of Apple Inc. nor the names of its
.\" contributors may be used to endorse or promote products derived from
.\" this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd February 13, 2007
.Dt PORTFILE 7 "MacPorts"
.Os Darwin
.Sh NAME
.Nm Portfile
.Nd MacPorts description file reference
.Sh DESCRIPTION
A complete reference of all available
.Nm
variables and example syntax.
.Nm Portfiles
consist of valid TCL, allowing for simple key/value pair syntax as well
as utilization of TCL's extensive functionality.
.Nm Portfiles
are encoded in UTF-8.
.Pp
The
.Nm MacPorts System
uses a target dependency system based on a depends/provides model, allowing
for targets to be registered and executed in the correct order based on their
individual requirements.
.Pp
A
.Nm
author needs to be aware of the various standard targets, the options
that they require and the variables that both the targets and the port
system provide.
.Sh PORTSYSTEM
Portfiles must begin with a PortSystem line that defines which version of the
Portfile interpreter should be used.
.br
.Sy Synopsis:
.Dl PortSystem 1.0
.Sh MAIN VARIABLES
All ports are required to set certain variables.
.Bl -tag -width lc
.It Ic name
Full name of port.
.br
.Sy Type:
.Em required
.br
.Sy Example:
.Dl name XFree86
.It Ic version
Upstream version of software.
.br
.Sy Type:
.Em required
.br
.Sy Example:
.Dl version 4.2.1
.It Ic epoch
If a port's version numbering changes such that a newer version looks
older than the previous version, the
.Ic epoch
should be increased.
Some
.Nm Portfile
authors have used large
.Ic epoch
values that look like a date, but there is no reason to do so.
The
.Ic epoch
is simply an unsigned integer, and the only requirement is that it never be
decreased.
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em 0
.br
.Sy Example:
.Dl epoch 1
.It Ic description
One-line description of the software and what it does.
To appear in the description, brackets and semi-colons need to be escaped with
a backslash (i.e., they must be written as
.Ql \e[ ,
.Ql \e]
and
.Ql \e; ) .
The escape sequences listed in
.Xr re_syntax n
may also be used, with the exception of
.Ql \en ,
.Ql \er
and
.Ql \ef .
.br
.Sy Type:
.Em required
.br
.Sy Example:
.Dl description IMAP email checker
.It Ic long_description
A verbose description of the software and what it does.
To appear in the description, brackets and semi-colons need to be escaped with
a backslash (i.e., they must be written as
.Ql \e[ ,
.Ql \e]
and
.Ql \e; ) .
The escape sequences listed in
.Xr re_syntax n
may also be used, with the exception of
.Ql \en ,
.Ql \er
and
.Ql \ef .
.br
.Sy Type:
.Em required
.br
.Sy Example:
.Bd -literal -offset indent -compact
long_description The GNU Image Manipulation \e
Program (GIMP) is a powerful tool for the \e
preparation and manipulation of digital \e
images. The GIMP provides the user with a \e
wide variety of image manipulation, painting, \e
processing, and rendering tools.
.Ed
.It Ic notes
Notes for setup and use of the port.
This is shown after the port is activated and anytime the
.Ic notes
command is used; for example:
.Pp
.Dl "port notes python26"
.Pp
The advantage to using
.Ic notes
instead of
.Ic ui_msg
is that it can be queried after a port is installed but
.Ic ui_msg
is only printed during an install.
Therefore
.Ic notes
is good for any information which may be needed anytime after an install.
.br
.Sy Type:
.Em optional
.br
.Sy Example:
.Bd -literal -offset indent -compact
notes "
To fully complete your installation and make\e
python ${branch} the default, please run:
sudo port install python_select
sudo python_select ${name}
"
.Ed
.It Ic revision
Local revision number of
.Nm .
Increment for port revisions which would change its installation in any way.
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em 0
.br
.Sy Example:
.Dl revision 1
.It Ic categories
Categories to which this port belongs.
.br
.Sy Type:
.Em required
.br
.Sy Example:
.Dl categories spelling textproc
.It Ic maintainers
E-mail address(es) of port maintainer(s).
.br
.Sy Type:
.Em required
.br
.Sy Example:
.Dl maintainers landonf@macports.org
.It Ic platforms
Declares which platforms are supported by the port.
.br
.Sy Type:
.Em required
.br
.Sy Values:
.Em darwin freebsd
.br
.Sy Example:
.Dl platforms darwin
.It Ic supported_archs
The CPU architectures for which this port can be built.
Archs currently supported by macOS are:
.Em i386 ,
.Em ppc ,
.Em ppc64 ,
and
.Em x86_64 .
If this option is not set, it is assumed that the port can build for all
archs.
If a port does not install any architecture-specific files, use the special
value noarch.
.br
If the building architecture isn't among
.Ic supported_archs ,
port fails with an error message except when building on
.Em x86_64
(or
.Em ppc64 )
and
.Ic supported_archs
contains
.Em i386
(or
.Em ppc ) .
In this case, the port will be built in 32-bit mode.
.br
.Sy Type:
.Em optional
.br
.Sy Values:
.Em i386 x86_64 ppc ppc64 noarch
.br
.Sy Default:
.Em i386 x86_64 ppc ppc64
.br
.Sy Examples:
.Dl supported_archs i386 x86_64
.Dl supported_archs noarch
.It Ic homepage
Project homepage for the port.
.br
.Sy Type:
.Em required
.br
.Sy Example:
.Dl http://wireshark.org
.It Ic master_sites
List of sites to fetch
.Ic distfiles
from or a predefined mirror site list.
If set to a predefined mirror site, without a subdirectory being defined, the
portname is used as the name of the subdirectory.
.br
.Sy Type:
.Em required
.br
.Sy Example:
.Bd -literal -offset indent -compact
master_sites ftp://ftp.cdrom.com/pub/magic \e
sourceforge
.Ed
.It Ic worksrcdir
Path to source directory relative to
.Ic workpath .
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em ${distname}
.br
.Sy Example:
.Dl worksrcdir ${distname}-src-${version}
.It Ic distname
Name of distribution file, without the
.Cm extract.suffix .
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em ${name}-${version}
.br
.Sy Example:
.Dl distname ${name}-${version}-src
.It Xo
.Ic checksums Ar filename Ar type Ar checksum
.Op Ar filename Ar type checksum ...
.Xc
List of checksums for the
.Ic distfiles .
The checksum
.Ar type
can currently be md5, sha1, rmd160, sha256 or size.
The
.Ar filename
can be omitted if there is only one distfile.
.br
.Sy Type:
.Em required
.br
.Sy Example:
.Bd -literal -offset indent -compact
checksums dictd-1.7.1.tar.gz md5 81317b86ea0a5df0163900ad2e6bb12c \e
magic-words-1.7.1.tar.gz md5 897a005182928613eadd30c267ce9c5b
.Ed
.br
.Sy Example (ledit 1.11):
.Bd -literal -offset indent -compact
checksums md5 a2d38ba641682509c1e964ad699a9dd2 \e
sha1 1fb6443b5fdf3c83787953f06282d256477c1288
.Ed
.br
.Sy Example (ssldump 0.9b3):
.Bd -literal -offset indent -compact
checksums md5 ac8c28fe87508d6bfb06344ec496b1dd \e
sha1 a633a9a811a138eac5ed440d583473b644135ef5 \e
rmd160 941cf8f2ef8459ec4f9ce65772e134505d46566
.Ed
.It Ic macosx_deployment_target
Value for
.Ev MACOSX_DEPLOYMENT_TARGET
environment variable when invoking the configure script.
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em (current OS version)
.br
.Sy Example:
.Dl macosx_deployment_target 10.8
.It Ic use_parallel_build
If set to yes (and the user has enabled buildmakejobs in
.Pa macports.conf ) ,
the port can be built using more than one job.
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em yes
.br
.Sy Example:
.Dl use_parallel_build no
.It Ic use_automake
If set to yes, run the
.Cm automake
target to build any
.Pa Makefile.in
files for use by
.Pa configure .
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em no
.br
.Sy Example:
.Dl use_automake yes
.It Ic use_autoreconf
If set to yes, run the
.Cm autoreconf
target to generate GNU build system files.
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em no
.br
.Sy Example:
.Dl use_autoreconf yes
.It Ic use_autoconf
If set to yes, run the
.Cm autoconf
target to build any
.Pa configure
script required.
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em no
.br
.Sy Example:
.Dl use_autoconf yes
.It Ic use_configure
If set to yes, run the
.Cm configure
target to configure the build.
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em yes
.br
.Sy Example:
.Dl use_configure no
.It Ic copy_log_files Ar path/to/logfile1 Ar path/to/logfile2 Ar ...
Copy specific log files from the workdir to the main MacPorts log dir.
.br
.Sy Type:
.Em optional
.br
.Sy Example:
.Dl copy_log_files config.log
.It Ic conflicts
Used to list ports which conflict with the one containing the
.Cm conflicts
declaration.
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em none (empty)
.br
.Sy Example:
.Dl conflicts cdrtools
.It Ic replaced_by
When a particular port is deprecated in favor of another, use
.Cm replaced_by
in the deprecated port and list the new one to be used.
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em none (empty)
.br
.Sy Example:
.Dl replaced_by xorg-renderproto
.It Ic add_users
Consists of a list of usernames and settings.
At appropriate times during the port installation process, a user will be
created for each username with the corresponding settings.
Settings are of the form name=value.
A setting applies to the username that appeared most recently before it in the
list.
.Pp
Applicable options are: group, gid (may be used instead of group), passwd,
realname, home, and shell.
.Pp
.Sy Type:
.Em optional
.br
.Sy Default:
.Em none (empty)
.br
.Sy Examples:
.Bd -literal -offset indent -compact
add_users squid group=squid realname=Squid\e Proxy \e
home=${prefix}/var/squid
add_users user1 group=mygroup user2 group=mygroup
.Ed
.It Ic installs_libs
By default, it is assumed that ports may install libraries or headers that can
be incorporated into their dependents.
If this is not the case, set
.Cm installs_libs
to
.Em no .
This means that this port's dependents need not check that it is installed
for the same architectures as them; that it is permissible to distribute
binaries of the dependents even if their licenses conflict with the license
of this port; and that updates to this port can never result in broken dynamic
linking in its dependents.
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em none
.br
.Sy Example:
.Dl installs_libs no
.It Ic license_noconflict
By default, it is assumed that ports may use libraries or headers from their
dependencies and thus form a derivative work.
A dependency with an incompatible license thus prevents the port from being
distributed in binary form.
If a dependency with an incompatible license is not used in such a way that a
derivative work is formed, or should not prevent binary distribution for any
other reason, add its name to this list.
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em none
.br
.Sy Example:
.Dl license_noconflict openssl
.Dl license_noconflict readline gdbm
.El
.Sh TARGET HOOKS
A number of hooks are available for customizing many of the standard
targets that
.Xr port 1
executes.
The targets supporting these hooks are
.Cm fetch ,
.Cm automake ,
.Cm autoconf ,
.Cm configure ,
.Cm build ,
.Cm destroot ,
and
.Cm test .
The hooks are:
.Bl -tag -width lc
.It Va target Ns Ic .asroot
Run the
.Va target
with root privileges.
.br
.Sy Example:
.Dl install.asroot yes
.It Va target Ns Ic .dir
Directory in which to run the
.Va target .
.br
.Sy Example:
.Dl automake.dir src
.It Va target Ns Ic .env
Change the environment the
.Va target
is run in.
This is often overridden on a per
.Nm
basis.
.br
.Sy Example:
.Bd -literal -offset indent -compact
build.env CC="${configure.cc} [get_canonical_archflags]"
.Ed
.It Va target Ns Ic .pre_args
Additional arguments passed before the main arguments.
.br
.Sy Example:
.Dl extract.pre_args -cd
.It Va target Ns Ic .args
Main arguments to pass to the
.Va target .
This is often overridden on a per
.Nm
basis.
.br
.Sy Example:
.Dl configure.args --enable-fooble
.It Va target Ns Ic .post_args
Additional arguments passed after the main arguments.
.br
.Sy Example:
.Dl extract.post_args | tar xf -
.El
.Sh RUNTIME VARIABLES
Read-only access to the MacPorts configuration is provided.
.Bl -tag -width lc
.It Ic prefix
Install prefix.
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em /opt/local
.It Ic libpath
Location of ports-specific TCL libraries.
.br
.Sy Type:
.Em read-only
.It Ic portpath
Full path to the Portfile location.
.br
.Sy Type:
.Em read-only
.br
.Sy Default:
.Em work
.It Ic workpath
Full path to work directory.
.br
.Sy Type:
.Em read-only
.br
.Sy Default:
.Em ${portbuildpath}/work
.It Ic worksrcpath
Full path to working sources (where port has unpacked itself).
.br
.Sy Type:
.Em read-only
.br
.Sy Default:
.Em ${workpath}/${worksrcdir}
.It Ic filesdir
Path to port files relative to
.Ic portpath .
.br
.Sy Type:
.Em read-only
.br
.Sy Default:
.Em files
.It Ic filespath
Full path to the port files location.
.br
.Sy Type:
.Em read-only
.br
.Sy Default:
.Em ${portpath}/${filesdir}
.It Ic distpath
Location to store downloaded distfiles.
.br
.Sy Type:
.Em read-only
.br
.Sy Default:
.Em ${portdbpath}/distfiles/${dist_subdir}/
.It Ic os.arch
Identifies hardware type (e.g.,
.Dq powerpc ) .
.br
.Sy Type:
.Em read-only
.It Ic os.version
Version number of operating system (e.g.,
.Dq 7.0 ) .
.br
.Sy Type:
.Em read-only
.It Ic os.major
Major version number of operating system (e.g.,
.Dq 7 ) .
.br
.Sy Type:
.Em read-only
.It Ic os.endian
Endianness of the processor (e.g.,
.Dq big ) .
.br
.Sy Type:
.Em read-only
.It Ic os.platform
Operating system name (e.g.,
.Dq darwin ) .
.br
.Sy Type:
.Em read-only
.It Ic os.subplatform
Name of specific operating system variant (e.g.,
.Dq macosx ) .
.br
.Sy Type:
.Em read-only
.It Ic install.user
User for MacPorts installation (e.g.,
.Dq root ) .
.br
.Sy Type:
.Em read-only
.It Ic install.group
Group for MacPorts installation (e.g.,
.Dq wheel ) .
.br
.Sy Type:
.Em read-only
.It Ic applications_dir
Absolute path to the final location to install macOS application bundles
.Pf ( Pa .app
directories).
.br
.Sy Type:
.Em read-only
.br
.Sy Default:
.Em /Applications/MacPorts
.It Ic frameworks_dir
Absolute path to the final location to install macOS framework bundles
.Pf ( Pa .framework
directories).
.br
.Sy Type:
.Em read-only
.br
.Sy Default:
.Em ${prefix}/Library/Frameworks
.El
.Sh DEPENDENCY OPTIONS
Port dependencies should refer to other MacPorts ports
whenever possible, therefore each dependency should be
expressed in the format:
.Bl -tag -width ls -offset indent
.It Li port: Ns Aq port
.El
.Pp
Where
.Aq port
represents the name of an existing MacPorts
.Nm port .
If satisfying a dependency with a MacPorts port is not
practical and it is likely that a dependency must be met
by an Apple optional install, then the alternative dependency
format:
.Bl -tag -width lc -offset indent
.It Ar type Ns Li \&: Ns Ao filename Ac Ns Li \&: Ns Aq port
.El
.Pp
may be used.
Where
.Ar type
is
.Dq bin
if
.Aq filename
is a program,
.Dq lib
if it is a library, or
.Dq path
if it is a path to an installed file.
.br
.Sy Example:
.Dl lib:libX11.6:XFree86
.Bl -tag -width lc
.It Ic depends_fetch
List of dependencies to check before
.Cm fetch ,
.Cm checksum ,
.Cm extract ,
.Cm patch ,
.Cm configure ,
.Cm build ,
.Cm destroot ,
.Cm install ,
and
.Cm package
targets.
.br
.Sy Type:
.Em optional
.br
.Sy Example:
.Dl depends_fetch port:mercurial
.It Ic depends_extract
List of dependencies to check before
.Cm extract ,
.Cm patch ,
.Cm configure ,
.Cm build ,
.Cm destroot ,
.Cm install ,
and
.Cm package
targets.
.br
.Sy Type:
.Em optional
.br
.Sy Example:
.Dl depends_extract path:bin/xz:xz
.It Ic depends_build
List of dependencies to check before
.Cm configure ,
.Cm build ,
.Cm destroot ,
.Cm install ,
and
.Cm package
targets.
.br
.Sy Type:
.Em optional
.br
.Sy Example:
.Dl depends_build port:autoconf
.It Ic depends_run
List of dependencies to check before
.Cm destroot ,
.Cm install
and
.Cm package
targets.
Will be recorded in the registry as being required by the dependent port when
it is installed.
.br
.Sy Type:
.Em optional
.br
.Sy Example:
.Dl depends_run port:bash
.It Ic depends_lib
List of dependencies to check before
.Cm configure ,
.Cm build ,
.Cm destroot ,
.Cm install ,
and
.Cm package
targets.
Will be recorded in the registry as being required by the dependent port when
it is installed.
.br
.Sy Type:
.Em optional
.br
.Sy Example:
.Dl depends_lib port:libfetch
.El
.Sh FETCH OPTIONS
Fetch all distribution files and patches.
.Bl -tag -width lc
.It Ic master_sites.mirror_subdir
Subdirectory to append to all mirror sites for any list specified in
.Ic master_sites .
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em ${name}
.br
.Sy Example:
.Dl master_sites.mirror_subdir magic
.It Ic patch_sites
List of sites to fetch
.Ic patchfiles
from or a predefined mirror site list.
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em ${master_sites}
.br
.Sy Example:
.Bd -literal -offset indent -compact
patch_sites ftp://ftp.patchcityrepo.com/pub/magic/patches
.Ed
.It Ic patch_sites.mirror_subdir
Subdirectory to append to all mirror sites for any list specified in
.Ic patch_sites .
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em ${name}
.br
.Sy Example:
.Dl patch_sites.mirror_subdir magic
.It Ic extract.suffix
Suffix to append to
.Ic distname .
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em .tar.gz
.br
.Sy Example:
.Dl extract.suffix .tgz
.It Ic distfiles
List of distribution files to fetch from
.Ic master_sites .
.br
.Sy Type:
.Em optional
.br
.Sy Default:
.Em ${distname}${extract.suffix}
.br
.Sy Example:
.Dl distfiles magicsource.tar.gz cluebat.tar.bz2
.It Ic patchfiles
List of patches to fetch and apply.
.br
.Sy Type:
.Em optional
.br
.Sy Example:
.Dl patchfiles patch-Makefile.in.diff patch-main.c.diff
.It Ic use_zip
Use zip.
.br
Sets
.Ic extract.suffix
to
.Dq .zip .
.br
Sets
.Ic extract.cmd
to
.Dq unzip .
.br
Sets
.Ic extract.pre_args
to
.Dq -q .
.br
Sets
.Ic extract.post_args
to
.Dq -d ${workpath} .
.br
.Sy Type:
.Em optional
.br
.Sy Example:
.Dl use_zip yes
.It Ic use_bzip2
Use bzip2.
.br
Sets
.Ic extract.suffix
to
.Dq .bz2 .
.br
Sets
.Ic extract.cmd
to
.Dq bzip2 .
.br
.Sy Type:
.Em optional
.br
.Sy Example:
.Dl use_bzip2 yes
.It Ic use_lzip
Use lzip.
.br
Sets
.Ic extract.suffix
to
.Dq .tar.lz .
.br
Sets
.Ic extract.cmd
to
.Dq lzip .
.br
.Sy Type:
.Em optional
.br
.Sy Example:
.Dl use_lzip yes
.It Ic use_lzma
Use lzma.
.br
Sets
.Ic extract.suffix
to
.Dq .lzma .
.br
Sets
.Ic extract.cmd
to
.Dq lzma .
.br
.Sy Type:
.Em optional
.br
.Sy Example:
.Dl use_lzma yes
.It Ic use_tar
Use an uncompressed tar archive.
.br