/[ports]/head/CHANGES
ViewVC logotype

Contents of /head/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log


Revision 569361 - (show annotations) (download)
Sat Mar 27 22:18:28 2021 UTC (3 years, 3 months ago) by bapt
File MIME type: text/plain
File size: 130055 byte(s)
Add a new @touch keyword

it takes 1 pr N arguments, it creates each of the said files
if they do not exist yet

As it is using lua, it means it has the bonus of being cross installable,
rootdir friendly and sandboxed.

Reviewed by:	mat, manu
Differential Revision:	https://reviews.freebsd.org/D29426

1 Updating Information for FreeBSD ports developers
2
3 This file is maintained by portmgr@FreeBSD.org and copyrighted by the
4 FreeBSD Foundation.
5
6 This file contains major changes to ports and the ports infrastructure.
7 Intended audience are ports committers, maintainers and other
8 developers. User oriented changes should be submitted for inclusion
9 in the release notes and/or placed into UPDATING.
10
11 All ports committers are allowed to commit to this file.
12
13 20201120:
14 AUTHOR: gnome@FreeBSD.org
15
16 New default version for librsvg2.
17
18 Current versions of graphics/librsvg2 are using parts written in rust.
19 For architectures that do not have support for rust, and for people
20 who prefer not to have, or are not able to compile rust software due
21 to hardware limitations, the version can be chosen via this new flag.
22
23 The default on almost all architectures is rust.
24
25 If you prefer no to use rust, add the following to your make.conf:
26
27 DEFAULT_VERSIONS+=librsvg2=legacy
28
29 20210327;
30 AUTHOR: bapt@FreeBSD.org
31
32 New @touch keyword
33 Its purpose is to ensure that a file is being created at install time
34 while not necessary tracked by the package.
35
36 20201120:
37 AUTHOR: pauamma@gundo.com
38
39 New virtual category: education.
40
41 This category comprises ports that are mainly educational in nature or
42 purpose, such as:
43 * course-writing or course-delivery applications,
44 * classroom or school management applications (eg, scheduling classes),
45 * applications, utilities, or games primarily or substantially designed
46 to help the user learn a specific topic or study in general, like typing
47 tutors, flashcard applications, or educational games.
48
49 20201110:
50 AUTHOR: bapt@FreeBSD.org
51
52 Patents are a complicated topic, and their regulation varies depending on
53 jurisdiction. Patents are not necessarily related to the license and so
54 should not be connected to the license framework.
55
56 Patent limitations within the ports tree have been removed and left to the
57 user or consumer to deal with their local legislation to determine if they
58 can use the software without legal restrictions.
59
60 20201022:
61 AUTHOR: bapt@FreeBSD.org
62
63 New @rmempty keyword
64 Its purpose is to delete empty files at deinstallation time. It is meant
65 to be used for generated files/untracked by the package manager files.
66
67 It respects rootdir
68
69 20201022:
70 AUTHOR: bapt@FreeBSD.org
71
72 @shell has been rewritten in lua
73 It provides the exact same feature set as the previous version but it is now
74 sandboxed and rootdir compliant (see the pkg -r option).
75
76 20201001:
77 AUTHOR: manu@FreeBSD.org
78
79 The @sample keyword was rewritten in lua.
80 It behaves exactly like the previous one but it is sandboxed and
81 is rootdir compliant (see pkg -r option).
82
83 20201001:
84 AUTHOR: bapt@FreeBSD.org
85
86 packages scripts and keywords can both be written in lua (version 5.3), see
87 pkg-lua-script(5) for the API.
88
89 Note that all scripts written in lua will:
90
91 - run inside a capsicum sandbox,
92 - be rootdir compatible (see pkg -r option)
93 - be cross installation compatible example: installing packages in an arm64
94 rootdir on and amd64 host.
95
96 20200531:
97 AUTHOR: kde@FreeBSD.org
98
99 pyqt.mk gained support for test-only dependencies. If a component, say
100 py-qt5-gui is only required for testing, you can add
101
102 USE_PYQT=<other_deps> gui_test
103
104 20200514:
105 AUTHOR: mat@FreeBSD.org
106
107 Add PATCH_CONTINUE_ON_FAIL to allow patching to go through all the patches
108 even if one fail.
109
110 This helps when upgrading ports with a large number of patches, like
111 www/chromium where having to fix one patch, re-do the patching, fix the
112 fallout, 800 times, is really painful.
113
114 20200414:
115 AUTHOR: bapt@FreeBSD.org
116
117 package scripts can now be done in lua, the following are supported:
118
119 - pkg-pre-install.lua
120 - pkg-post-install.lua
121 - pkg-pre-deinstall.lua
122 - pkg-post-deinstall.lua
123
124 see pkg-lua-script(5) for more details.
125
126 20200414:
127 AUTHOR: mat@FreeBSD.org
128
129 USES=lua gained flavors.
130
131 Ports using USES=lua:module or lua:flavors will be flavored. A range of
132 supported lua versions can be set using XX-YY (or XX-, or -YY, or simply ZZ)
133 for ports not supporting all lua versions.
134
135 USES=lua sets LUA_FLAVOR that needs to be used on all dependencies of
136 flavored lua ports, in a similar way as PHP or Python flavors.
137
138 20200115:
139 AUTHOR: bapt@FreeBSD.org
140
141 ${PREFIX}/share/man is now a valid location for manpages ${PREFIX}/man being
142 considered as deprecated.
143
144 20191009:
145 AUTHOR: bapt@FreeBSD.org
146
147 The ipv6 virtual category is gone, it does not make sense anymore in 2019
148 where the norm in applications is to have support both ipv4 and ipv6.
149
150 20191001:
151 AUTHOR: bapt@FreeBSD.org
152
153 BINARY_WRAPPERS allow to push in front of the PATH wrappers for binaries.
154 This is useful when 2 tools do provide the same feature, but the configure
155 scripts do test for some variables which are not in one of the tool.
156
157 20190919:
158 AUTHOR: madpilot@FreeBSD.org
159
160 USES=xfce now defaults to gtk3, so for ported applications requiring
161 GTK2 XFCE support USES=xfce:gtk2 should be used.
162
163 20190903:
164 AUTHOR: bapt@FreeBSD.org
165
166 The ports tree now supports overlays
167
168 overlays are a way to help users to integrate their own ports tree
169 with the official ports tree without having to maintain clone of the
170 official tree and remerge on regular basis.
171
172 The ports tree will lookup in the overlays (in the order the are listed in
173 OVERLAY variable) for the dependencies and the USES. It will use the first
174 found.
175
176 in order to use it the user have to declare his overlays that way in their
177 make.conf:
178 OVERLAYS= overlay1 overlay2 overlay3
179
180 20181225:
181 AUTHOR: kde@FreeBSD.org
182
183 cmake.mk now defaults to out-of-sourcetree builds. The option 'outsource'
184 has been removed. Ports that need an intree build now can pass 'insource'.
185
186 20181110:
187 AUTHOR: bapt@FreeBSD.org
188
189 texinfo files are now installed in ${PREFIX}/share/info
190
191 20180630:
192 AUTHOR: kde@FreeBSD.org
193
194 bsd.qt.mk has been replaced by qt.mk. This changes the way ports have to
195 depend on Qt slightly.
196
197 Previously one would have written
198 USE_QT4=foo bar
199 or
200 USE_QT5=foo bar
201 while now one has to write
202 USES=qt:4
203 USE_QT=foo bar
204 respectively
205 USES=qt:5
206 USE_QT=foo bar
207
208 Further qmake.mk no longer respects QT_NONSTANDARD. Ports that don't want to
209 get the configure environment provided by qmake.mk should add the argument
210 no_env, ports that don't want the configure target should specify no_configure.
211
212 20180506:
213 AUTHOR: brnrd@FreeBSD.org
214
215 All USE_ and WANT_ variables for PHP have been removed and marked
216 UNSUPPORTED. Use USES= php:<feature> as a replacement.
217
218 USE_PHPIZE, USE_PHPEXT, USE_ZENDEXT, USE_PHP_BUILD,
219 WANT_PHP_CLI, WANT_PHP_CGI, WANT_PHP_MOD, WANT_PHP_WEB, WANT_PHP_EMB
220
221 20180311:
222 AUTHOR: brnrd@FreeBSD.org
223
224 USE_APACHE has been replaced by USES=apache.
225
226 20180308:
227 AUTHOR: mat@FreeBSD.org
228
229 Ports using USES=php:phpize, php:ext, php:zend, and php:pecl are now
230 flavored. They will automatically get flavors (php56, php70, php71, php72)
231 depending of the versions they support (set with IGNORE_WITH_PHP). As a
232 consequence, ports using USES=pear and USES=horde are also flavored.
233
234 As all packages must have different package names, the following variables
235 must be used in PKGNAMEPREFIX/SUFFIX:
236
237 Variable + Values +
238 --------------------------------------------------------------------------------------
239 PHP_PKGNAMEPREFIX | php56- php72- | PHP Extensions
240 | | and modules
241 --------------------------------------------------------------------------------------
242 PHP_PKGNAMESUFFIX | -php56 -php72 | PHP Applications
243 --------------------------------------------------------------------------------------
244 PECL_PKGNAMEPREFIX | php56-pecl- | PECL extensions
245 | | automatic
246 --------------------------------------------------------------------------------------
247 PEAR_PKGNAMEPREFIX | php56-pear- | PEAR modules
248 | | without PEAR_CHANNEL
249 PEAR_<channel>_PKGNAMEPREFIX | php56-pear-channel- | with PEAR_CHANNEL
250 | | automatic
251
252 In all the ports with PHP dependencies, the *_DEPENDS entries MUST end with
253 the flavor so that the framework knows which to build/use. This is done by
254 appending '@${PHP_FLAVOR}' after the origin. For example:
255
256 RUN_DEPENDS= ${PEAR_PKGNAMEPREFIX}Validate>=0.5.0:devel/pear-Validate@${PHP_FLAVOR} \
257 ${PECL_PKGNAMEPREFIX}smbclient>=0.8.0:net/pecl-smbclient@${PHP_FLAVOR} \
258
259 PHP applications (for example, www/wordpress) can also get flavors, add the
260 flavors keyword to USES=php, for example: USES=php:flavors, and add
261 ${PHP_PKGNAMESUFFIX} to its PKGNAMESUFFIX.
262
263 20180125:
264 AUTHOR: mat@FreeBSD.org
265
266 Add support to passing directories to EXTRA_PATCHES.
267
268 Instead of:
269
270 EXTRA_PATCHES= ${PATCHDIR}/feat-foo-patch-file.c \
271 ${PATCHDIR}/feat-foo-patch-file.h \
272 ${PATCHDIR}/feat-foo-patch-file2.c
273
274 Move those files to ${PATCHDIR}/feat-foo/, name them patch-*, and set:
275
276 EXTRA_PATCHES= ${PATCHDIR}/feat-foo
277
278 20180116:
279 AUTHOR: mat@FreeBSD.org
280
281 The deprecated PYTHON_DEFAULT_VERSION, PYTHON2_DEFAULT_VERSION, and
282 PYTHON3_DEFAULT_VERSION have been removed.
283
284 20180106:
285 AUTHOR: kde@FreeBSD.org
286
287 USES=qmake now accepts a new variable, QMAKE_CONFIGURE_ARGS.
288
289 Starting with Qt 5.8.0, qmake can use configure.json files to help define
290 configuration options and configuration time checks. These options are
291 generally in the form '-foo -no-bar', and must be passed after "--" at the
292 end of qmake's command line.
293
294 The QMAKE_CONFIGURE_ARGS variable allows one to set those options, and
295 USES=qmake takes care of passing them at the right position when invoking
296 qmake.
297
298 20180102:
299 AUTHOR: kde@FreeBSD.org
300
301 There is a new USES=eigen to depend on math/eigen[23].
302
303 Usage:
304 USES=eigen:<version>[,<type>]
305
306 version: 2 or 3 (required)
307 type: build (default), run
308
309 For example:
310 USES=eigen:2,build,run
311 will add a BUILD- and RUN_DEPENDS on math/eigen2, and
312 USES=eigen:3
313 will add a BUILD_DEPENDS on math/eigen3.
314
315 20171231:
316 AUTHOR: kde@FreeBSD.org
317
318 USES=cmake now supports two additional list variables:
319 * CMAKE_ON : List of variables to turn on
320 * CMAKE_OFF : List of variables to turn off
321 This can be used as a shortcut to append these to CMAKE_ARGS.
322
323 For example ports that previously set
324 CMAKE_ARGS= -DVAR1:BOOL=TRUE -DVAR2:BOOL=TRUE -DVAR3:BOOL=FALSE
325 can now set this as
326 CMAKE_ON= VAR1 VAR2
327 CMAKE_OFF= VAR3
328
329 20171130:
330 AUTHOR: mat@FreeBSD.org
331
332 Ports using USE_PYTHON=distutils are now flavored. They will automatically
333 get flavors (py27, py34, py35, py36) depending on what versions they support.
334
335 There is also a USE_PYTHON=flavors for ports that do not use distutils but
336 need FLAVORS to be set. A USE_PYTHON=noflavors can be set if the port is
337 using distutils but flavors are not wanted.
338
339 A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been added
340 to cope with Python ports that did not have the Python PKGNAMEPREFIX but are
341 flavored.
342
343 USES=python now also exports a PY_FLAVOR variable that contains the current
344 python flavor. It can be used in dependency lines when the port itself is
345 not python flavored, for example, deskutils/calibre.
346
347 By default it will only generate flavors for the versions in PYTHON2_DEFAULT
348 and PYTHON3_DEFAULT. Define BUILD_ALL_PYTHON_FLAVORS in your make.conf to
349 generate all possible flavors. A port can set USE_PYTHON=allflavors to have
350 all the flavors and not simply the default ones.
351
352 In all the ports with Python dependencies, the *_DEPENDS entries MUST end
353 with the flavor so that the framework knows which to build/use. This is done
354 by appending '@${PY_FLAVOR}' after the origin. For example:
355
356 RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}
357
358 20171130:
359 AUTHOR: mat@FreeBSD.org
360
361 To help with flavored ports, helpers are available. In these, replace <*>
362 with the flavor name.
363
364 *_PKGNAMEPREFIX *_PKGNAMESUFFIX *_PLIST *_DESCR will overwrite the variable.
365
366 *_CONFLICTS *_CONFLICTS_BUILD *_CONFLICTS_INSTALL *_PKG_DEPENDS
367 *_EXTRACT_DEPENDS *_PATCH_DEPENDS *_FETCH_DEPENDS *_BUILD_DEPENDS
368 *_LIB_DEPENDS *_RUN_DEPENDS *_TEST_DEPENDS will append to the variable.
369
370 For example:
371
372 flavor2_PKGNAMESUFFIX= -foo
373
374 can replace:
375
376 .if ${FLAVOR:U} == flavor2
377 PKGNAMESUFFIX= -foo
378 .endif
379
380 20171130:
381 AUTHOR: mat@FreeBSD.org
382
383 Flavors are a way to have multiple variations of a port. The port is built
384 multiple times, with the variations. To declare flavors, set the FLAVORS
385 variable to the flavors you want defined. The first flavor will be the
386 default:
387
388 FLAVORS= flavor1 flavor2
389
390 The flavors MUST be lowercase, and can contain [[:lower:][:digit:]_].
391
392 Then, when building the port, pass the FLAVOR as an argument after make to
393 select the flavor.
394
395 $ make install FLAVOR=flavor2
396
397 In the port, you can then change the behavior depending on the value of the
398 FLAVOR variable. Note that the different flavors MUST have different
399 PKGNAMEs. Be sure to guard against an empty FLAVOR variable by using
400 ${FLAVOR:U}:
401
402 .if ${FLAVOR:U} == flavor2
403 PKGNAMESUFFIX= -foo
404 OPTIONS_DEFAULT+= FOO
405 .endif
406
407 A tools guide is available at:
408 https://wiki.freebsd.org/Ports/FlavorsTools
409 A port migration guide is available at:
410 https://wiki.freebsd.org/Ports/FlavorsMigration
411
412 20171020:
413 AUTHOR: ak@FreeBSD.org
414
415 The USES=fmake has been removed. It was created to help migration from
416 old FreeBSD make (pmake) and there are no more users of it left in
417 the ports tree.
418
419 20171012:
420 AUTHOR: mat@FreeBSD.org
421
422 Remove WANT_GNOME and HAVE_GNOME, they were in disuse, and made useless by
423 options.
424
425 20171011:
426 AUTHOR: bapt@FreeBSD.org
427
428 New BINARY_ALIAS variable has been added, when defined it will create symlinks
429 of some given binaries in a directory which will be prepended to the PATH.
430
431 The syntax is the following:
432 BINARY_ALIAS= target1=source1 target2=source2
433
434 For example to have a "swig" binary in the path which will be pointing at
435 swig3.0 and a "sed" pointing at GNU sed: gsed
436
437 BINARY_ALIAS= swig=swig3.0 sed=gsed
438
439 20170625:
440 AUTHOR: kde@FreeBSD.org
441
442 The default generator for USES=cmake ports has been switched to ninja.
443
444 Previously it was possible to opt-in to using ninja instead of make(1)
445 by setting CMAKE_NINJA, now ports need to opt-out.
446
447 Ports that do not build with ninja must switch from
448 USES=cmake:<args>
449 to
450 USES=cmake:<args>,noninja
451
452 20170417:
453 AUTHOR: kwm@FreeBSD.org
454
455 New USES: meson, to handle properly the meson building system.
456
457 20170313:
458 AUTHOR: tijl@FreeBSD.org
459
460 HTTPS certificates are now verified when "make makesum" fetches distfiles.
461 If this fails make sure you have a CA certificate bundle installed such as
462 security/ca_root_nss. If it still fails and there are other HTTPS sites
463 with a valid certificate consider removing the site from MASTER_SITES.
464 If the site cannot be removed you can disable certificate verification by
465 adding the following line to the port Makefile:
466
467 FETCH_ENV= SSL_NO_VERIFY_PEER=1 SSL_NO_VERIFY_HOSTNAME=1
468
469 20170218:
470 AUTHOR: kde@FreeBSD.org
471
472 * Qt 4's binaries have been moved to lib/qt4/bin to match what is already done
473 to Qt 5's binaries. Since these binaries are no longer in ${LOCALBASE}/bin,
474 they also do not have the -qt4 suffix in their names any more.
475
476 * Consequently, there are no Qt 4 or Qt 5 binaries in the default $PATH, and
477 misc/qtchooser is now used to select the actual Qt binaries. In other
478 words, calling "qmake" or "moc" now goes through qtchooser, which prefers
479 Qt 5 binaries by default.
480
481 The ports framework handles this automatically. The UPDATING entry covers
482 this in more detail.
483
484 * Qt 5.7.1 requires a C++11-capable compiler to be used. qmake and CMake pass
485 the appropriate flags to the compiler (such as -std=c++11) automatically,
486 but if your port fetches Qt's build flags via pkg-config (which can be the
487 case for autotools-based ports), you might need to take care of this
488 manually by setting USE_CXXSTD in your Makefile:
489
490 USE_CXXSTD= c++11
491
492 20160116:
493 AUTHOR: mat@FreeBSD.org
494
495 A new EXTRA_PATCH_TREE has been added. Points to a directory hierarchy with
496 the same layout as the ports tree, where local patches can be found. This
497 allows a third party to keep their patches in some other source control
498 system if needed.
499
500 For example, if you have EXTRA_PATCH_TREE=/patches, when building
501 lang/perl5.24, any file named patch-* in /patches/lang/perl5.24/ will be used
502 to patch the Perl distribution.
503
504 20160116:
505 AUTHOR: mat@FreeBSD.org
506
507 During extraction of the do-patch target into a separate script, the "-d
508 PATCH_WRKSRC" had to be removed from the PATCH_ARGS and PATCH_DIST_ARGS
509 variables. If using these variables directly, you will need to adapt the
510 Makefile. For example:
511
512 ${PATCH} ${PATCH_ARGS} < ${FILESDIR}/extra-patch
513
514 needs to be changed to:
515
516 ${PATCH} -d ${PATCH_WRKSRC} ${PATCH_ARGS} < ${FILESDIR}/extra-patch
517
518 20161218:
519 AUTHOR: tcberner@FreeBSD.org
520
521 QT_PREFIX has been dropped, in favour of using PREFIX directly.
522
523 20160911:
524 AUTHOR: amdmi3@FreeBSD.org
525
526 Support has been added for complete set of Creative Commons licenses
527
528 CC-(BY|BY-ND|BY-NC|BY-NC-ND|BY-NC-SA|BY-SA)-(1.0|2.0|2.5|3.0|4.0)
529
530 20160909:
531 AUTHOR: amdmi3@FreeBSD.org
532
533 Verbose build logs are now preferred and enabled by default for cmake,
534 ninja and GNU configure. Ports which still produce quiet build logs
535 (hiding actual commands) are strongly advised to switch to verbose logs.
536
537 20160908:
538 AUTHOR: amdmi3@FreeBSD.org
539
540 Support has been added for NONE license, use it when the port doesn't
541 have cleanly defined licensing terms. Note that without clean license
542 allowing you to use and distribute the code it would be be illegal to do
543 so in many jurisdictions, so for ports with NONE license no distfiles or
544 packages are distributed.
545
546 20160824:
547 AUTHOR: mat@FreeBSD.org
548
549 To complete the USE_GITHUB framework, a GH_SUBDIR variable has been added.
550 It automatically moves a secondary distfile to the right place inside WRKSRC.
551 It also extends the GH_TUPLE variable to make it as easy to use as possible.
552
553 Before:
554
555 GH_TUPLE= Regaddi:Chart.js:f13f99b:chart_js \
556 FVANCOP:ChartNew.js:77e7f87:chartnew_js
557 post-extract:
558 @${RMDIR} ${WRKSRC}/database ${WRKSRC}/3rd/Chart.js
559 @${MV} ${WRKSRC_database} ${WRKSRC}/database
560 @${MV} ${WRKSRC_chart_js} ${WRKSRC}/3rd/Chart.js
561
562 After:
563
564 GH_TUPLE= Regaddi:Chart.js:f13f99b:chart_js/3rd/Chart.js \
565 FVANCOP:ChartNew.js:77e7f87:chartnew_js/3rd/ChartNew.js
566
567 It also works if not using GH_TUPLE but the regular
568 GH_ACCOUNT/PROJECT/TAGNAME variables:
569
570 GH_SUBDIR= 3rd/Chart.js:chart_js 3rd/ChartNew.js:chartnew_js
571
572 20160824:
573 AUTHOR: kde@FreeBSD.org
574
575 A new USES file has been introduced: USES=kde:4, which replaces the old
576 bsd.kde4.mk file in preparation for upcoming KDE Frameworks and Plasma5
577 ports.
578
579 Ports depending on KDE4 have to switch from
580 USE_KDE4=foo bar
581 to
582 USES=kde:4
583 USE_KDE=foo bar
584 and make sure to switch from using KDE4_PREFIX to the new name KDE_PREFIX
585 in the Makefiles as well as plists.
586
587 20160821:
588 AUTHOR: kde@FreeBSD.org
589
590 A new USES file has been introduced: USES=grantlee:[4,5], which introduces a
591 LIB_DEPENDS on either devel/grantlee (Qt4) or devel/grantlee5 (Qt5).
592
593 Uses/grantlee.mk also exports the GRANTLEE_VERSION variable to users, and the
594 GRANTLEE_VERSION_FULL and GRANTLEE_VERSION_SHORT pkg-plist substitutions.
595
596 20160817:
597 AUTHOR: mat@FreeBSD.org
598
599 This adds the possibility to use regular expressions for the makeplist stage
600 of the PLIST_SUB life.
601
602 From time to time, the values are too generic, and they get in the way of
603 other stuff.
604
605 This adds the possibility to have a VAR_regex=regex that will be used
606 instead of the VAR=string to search for possible replacements.
607
608 For example, in lang/perl5*, there is PERL_ARCH=mach, which will get replaced
609 in paths if a file is called, say "machine", will end up being
610 "%%PERL_ARCH%%ine". Adding PERL_ARCH_regex="\bmach\b" will ensure only full
611 words are replaced, so machine will stay machine, but "lib/mach/foo "will
612 still be replaced by "lib/%%PERL_ARCH%%/foo".
613
614 20160803:
615 AUTHOR: mat@FreeBSD.org
616
617 Every PHP (or Zend) extension now installs its own .ini file in
618 /usr/local/etc/php. A PHP extension will be automatically activated when
619 installed. The order into which extensions are loaded is automatically
620 guessed. In some very rare cases, the guess will be wrong, and PHP_MOD_PRIO
621 will need to be set. Refer to the USES=php section of the Porter's Handbook
622 for more information.
623
624 20160628:
625 AUTHOR: mat@FreeBSD.org
626
627 USEify USES=php.
628
629 The following variables have been folded into arguments:
630
631 - USE_PHPIZE -> USES=php:phpize
632 - USE_PHPEXT -> USES=php:ext
633 - USE_ZENDEXT -> USES=php:zend
634 - USE_PHP_BUILD -> USES=php:build
635 - WANT_PHP_CLI -> USES=php:cli
636 - WANT_PHP_CGI -> USES=php:cgi
637 - WANT_PHP_MOD -> USES=php:mod
638 - WANT_PHP_WEB -> USES=php:web
639 - WANT_PHP_EMB -> USES=php:embed
640
641 20160627:
642 AUTHOR: mat@FreeBSD.org
643
644 USE_OPENSSL has been replaced by USES=ssl.
645
646 20160625:
647 AUTHOR: adamw@FreeBSD.org
648
649 A new ${opt}_CMAKE_BOOL OPTIONS helper has been added. Instead of:
650
651 FOO_CMAKE_ON= -DWITH_FOO:BOOL=YES -DWITH_BAR:BOOL=YES
652 FOO_CMAKE_OFF= -DWITH_FOO:BOOL=NO -DWITH_BAR:BOOL=NO
653
654 you can use this shortcut:
655
656 SOMEOPT_CMAKE_BOOL= WITH_FOO WITH_BAR
657
658 20160525:
659 AUTHOR: mat@FreeBSD.org
660
661 A new stage-qa test has been added, it reports all shared libraries
662 dependencies that are not part of the port list of dependencies. It help
663 finds what is called proxy dependencies.
664
665 A is needed by B, and B is needed by C. If C also needs A, then it needs to
666 be registered, and this check will tell you to do so.
667
668 Right now, it is only reporting the problems, but if you add
669 PROXYDEPS_FATAL=yes to your environment, it will give an error and will force
670 you to fix the dependencies.
671
672 20160525:
673 AUTHOR: bapt@FreeBSD.org
674
675 New keyword @xmlcatmgr has been added, to handle the XML and SGML catalog
676 maintainance, in order to improve consistency and correctness of the
677 generation of the catalog.
678 If the catalog file has an extension being '.xml' it will be automatically
679 added to the XML catalog, otherwise it will be added to the SGML catalog
680
681 20160512:
682 AUTHOR: emaste@FreeBSD.org
683
684 "make makesum" now writes the current timestamp to distinfo when it is run.
685 This is done to support development and prototyping efforts for reproducible
686 package builds, which require some concept of a "last updated" time.
687
688 The TIMESTAMP can currently be ignored for ports that have no distinfo, and
689 for updates done without using "make makesum."
690
691 20160428
692 AUTHOR: mat@FreeBSD.org
693
694 USE_RUBYGEMS has been replaced by USES=gem.
695
696 20160426:
697 AUTHOR: mat@FreeBSD.org
698
699 USE_MYSQL and USE_BDB have been replaced by USES=mysql and USES=bdb.
700
701 WANT_BDB_VER=XX should be replaced by USES=bdb:XX.
702
703 20160414:
704 AUTHOR: mat@FreeBSD.org
705
706 USE_RC_SUBR=yes has not done anything for a long time, it will now give an error.
707
708 20160413:
709 AUTHOR: jbeich@FreeBSD.org
710
711 Introducing CONFIGURE_OUTSOURCE. It changes HAS_CONFIGURE and GNU_CONFIGURE
712 by invoking configure, build and install stage outside of source tree e.g.,
713
714 $ mkdir ../.build
715 $ cd ../.build
716 $ ${OLDPWD}/configure
717 $ gmake
718 $ gmake install
719
720 20160402:
721 AUTHOR: bapt@FreeBSD.org
722
723 Adding ${PORTSDIR} in dependency lines is no longer necessary meaning
724
725 RUN_DEPENDS= foo:${PORTSDIR}/bar/foo
726
727 can now be written
728
729 RUN_DEPENDS= foo:bar/foo
730
731 if the path after ':' is not absolute the framework will automatically
732 prepend ${PORTSDIR}/
733
734 20160301:
735 AUTHOR: mat@FreeBSD.org
736
737 Introduce GH_TUPLE.
738
739 GH_TUPLE allows one to put all the GH_{ACCOUNT,PROJECT,TAGNAME} into one
740 variable, in the form of account:project:tagname[:group]. It is helpful when
741 there are many submodules.
742
743 20160207:
744 AUTHOR: kwm@FreeBSD.org
745
746 The GNOME and MATE framework activation changed. To use the frameworks
747 now either gnome or mate needs to be added USES.
748
749 The usage of USE_GNOME, USE_MATE, INSTALLS_ICONS and for example
750 GLIB_SCHEMAS stays the same.
751
752 Like with USES, the use of USE_GNOME and so after bsd.port.pre.mk
753 is now forbidden.
754
755 20160112:
756 AUTHOR: amdmi3@FreeBSD.org
757
758 Support has been added for "or later" variants of GNU licenses
759 (e.g. LICENSE=GPLv2+) and for Public Domain (LICENSE=PD).
760
761 Complete list of new LICENSE values:
762
763 AGPLv3+ GPLv1+ GPLv2+ GPLv3+ GPLv3RLE+ LGPL20+ LGPL21+ LGPL3+ PD
764
765 20160110:
766 AUTHOR: bapt@FreeBSD.org
767
768 USE_FIREBIRD and USE_SQLITE has been replaced by USES=firebird and
769 USES=sqlite
770
771 20151105:
772 AUTHOR: mat@FreeBSD.org
773
774 Change the meaning of NO_WRKSUBDIR to force a WRKDIR != WRKSRC.
775
776 Right now, NO_WRKSUBDIR means that the extraction does not produce a
777 subdirectory, and that everything goes straight into WRKDIR. It is
778 problematic, because during the build of a port, quite a few files
779 are created in there, and then, a stage directory, where everything
780 is installed, and then a pkg directory where the package is created,
781 and those often conflict, or get in the way, of the building
782 process.
783
784 With this, NO_WRKSUBDIR will extract the distfiles directly into
785 WRKSRC instead of WRKDIR. In this case, WRKSRC is artificial and is
786 based on PKGNAME and not DISTNAME, mitigate conflicts with rc files.
787
788 20151022:
789 AUTHOR: amdmi3@FreeBSD.org
790
791 Improved support for USES=shebangfix
792
793 - We now support multiple values for *_OLD_CMD
794 - We replace more variants by default (/bin/${lang}, /usr/bin/${lang},
795 /usr/bin/env ${lang}).
796 - shebangfix now also supports lua if USES=lua is specified
797 - Pattern matching has been improved: we now only match whole worlds,
798 e.g. "/usr/bin/perl5.005" is no longer erroneously replaced with
799 "${perl_CMD}5.005".
800
801 Note that *_OLD_CMD entries which contain spaces must now be quoted.
802
803 20150928:
804 AUTHOR: amdmi3@FreeBSD.org
805
806 Implemented complete support for test target.
807
808 You can now `make test' on any port to run test sequence, no-op by default.
809 If a port defines TEST_TARGET, it'll run sub-make with specified target,
810 usually `check' or `test', useful if upstream supports that. The port may
811 instead define custom do-test target, as well as usual satellite targets:
812
813 {pre,do,post}-test, {pre,do,post}-test-OPT, {pre,do,post}-test-OPT-off
814
815 `make test' builds and stages port first, so test may use both WRKDIR and
816 STAGEDIR, and both BUILD and RUN depends are available for test target.
817 Additionally, TEST_DEPENDS is now properly supported and may be used to
818 define additional depends specifically for testing.
819
820 Framework may define default tests for specific cases. For instance,
821 perl5.mk and cran.mk provide default test target on their own.
822
823 20150926:
824 AUTHOR: bapt@FreeBSD.org
825
826 @sample now accept arguments, so it can now be used the following way:
827
828 @sample afile.sample
829 or
830 @sample path/to/example etc/target
831
832 20150926:
833 AUTHOR: bapt@FreeBSD.org
834
835 New keywords are supported in pkg since 1.5.x:
836 @preexec <command>: execute the <command> during pre-install scripts
837 @postexec <command>: execute the <command> during post-install scripts
838 @preunexec <command>: execute the <command> during pre-deinstall scripts
839 @postunexec <command>: execute the <command> during post-deinstall scripts
840
841 @exec does not specify when it should be executed and is now considered as
842 deprecated.
843
844 20150914:
845 AUTHOR: mat@FreeBSD.org
846
847 Introducing the %%PERL5_MAN1%% PLIST_SUB entry, as Perl now installs man1
848 pages in the same prefix as man3 pages.
849
850 20150828:
851 AUTHOR: mat@FreeBSD.org
852
853 <opt>_VARS and <opt>_VARS_OFF have been introduced to allow for a generic way
854 to set/append to variables.
855
856 OPT1_VARS= foo=bar baz+=bam
857
858 will set FOO to bar and append bam to BAZ if OPT1 is enabled. <opt>_VARS_OFF
859 works the same way, if the option is disabled.
860
861 20150818:
862 AUTHOR: kde@FreeBSD.org
863
864 The CMAKE_ENV option has been deprecated. It no longer has any effect, and
865 the CONFIGURE_ENV variable should be used instead.
866
867 20150818:
868 AUTHOR: mat@FreeBSD.org
869
870 <opt>_IMPLIES and <opt>_PREVENTS have been introduced to register dependency,
871 or conflicts between options.
872
873 OPTIONS_DEFINE= FOO BAR BAZ
874
875 FOO_IMPLIES= BAR
876 BAZ_PREVENTS= BAR
877
878 If the FOO option is selected, the BAR option will be enabled as well. If
879 the BAZ and BAR options are both enabled, an error will be given.
880
881 20150817:
882 AUTHOR: mat@FreeBSD.org
883
884 UNIQUENAME and LATEST_LINK have been removed. LATEST_LINK was only used by
885 ports-mgmt/pkg{,-devel} and PKGBASE can be used in its stead. UNIQUENAME was
886 used by USE_LDCONFIG where it was not unique enough, and as old compat shims
887 with options.
888
889 20150716:
890 AUTHOR: kwm@FreeBSD.org
891
892 USE_GHOSTSCRIPT was replaced by USES=ghostscript. The ghostscript USES
893 accepts version, build, run, nox11 and for version 9 the agpl argument.
894 If no version is specified, the default 9 for GHOSTSCRIPT_DEFAULT is honored.
895
896 20150701:
897 AUTHOR: mat@FreeBSD.org
898
899 Make option target helpers have been added, it allows replacing:
900
901 .include <bsd.port.options.mk>
902
903 post-patch:
904 ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
905 ${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
906 .if ${PORT_OPTIONS:MPTHREAD}
907 ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|-lpthread|g;' \
908 ${WRKSRC}/hints/freebsd.sh
909 .else
910 ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%||g;' \
911 ${WRKSRC}/hints/freebsd.sh
912 .endif
913
914 with:
915
916 post-patch:
917 ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
918 ${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
919
920 post-patch-PTHREAD-on:
921 ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|-lpthread|g;' \
922 ${WRKSRC}/hints/freebsd.sh
923
924 post-patch-PTHREAD-off:
925 ${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%||g;' \
926 ${WRKSRC}/hints/freebsd.sh
927
928 20150622:
929 AUTHOR: bapt@FreeBSD.org
930
931 Remove USE_RCORDER, USE_RC_SUBR has been modified to support PREFIX=/usr
932 automatically
933
934 20150529:
935 AUTHOR: mat@FreeBSD.org
936
937 Extend the multiple distfiles USE_GITHUB framework by allowing it to fetch
938 only additional distfiles, but not the main one. Set USE_GITHUB=nodefault
939 and use the GH_* variables with groups as usual.
940
941 20150528:
942 AUTHOR: mat@FreeBSD.org
943
944 USE_GITHUB can now fetch multiple distfiles. It uses a grouping feature
945 similar to MASTER_SITES/PATCH_SITES.
946
947 Some helpful variables are provided: WRKSRC_<group> for putting things in the
948 right place in post-extract, and DISTNAME_<group>/DISTFILE_<group> for use
949 with EXTRACT_ONLY.
950
951 A simple example:
952
953 PORTNAME= bar
954 PORTVERSION= 1.0
955 USE_GITHUB= yes
956 GH_ACCOUNT= foo
957 GH_PROJECT= ${PORTNAME}-images:images
958
959 post-extract:
960 @${MV} ${WRKSRC_images} ${WRKSRC}/images
961
962 It will fetch those two distfiles:
963
964 $ make fetch-urlall-list
965 https://codeload.github.com/foo/bar/tar.gz/1.0?dummy=/foo-bar-1.0_GH0.tar.gz
966 https://codeload.github.com/foo/bar-images/tar.gz/1.0?dummy=/foo-bar-images-1.0-1.0.tar.gz
967
968 It will then extract them to ${WRKDIR} in their respectives directories.
969
970 20150526:
971 AUTHOR: antoine@FreeBSD.org
972
973 PYTHON_REL has been switched from a 3 digits number to a 4 digits number to
974 handle python 2.7.10. Ports checking for python 2.7.9 should compare
975 PYTHON_REL against 2709 and ports checking for python 2.7.10 should compare
976 PYTHON_REL against 2710.
977
978 20150521:
979 AUTHOR: mat@FreeBSD.org
980
981 GH_COMMIT support has been removed, see the 20150319 for more informations.
982
983 20150419:
984 AUTHOR: tijl@FreeBSD.org
985
986 USE_AUTOTOOLS has been deprecated. It can be replaced with USES=autoreconf
987 and GNU_CONFIGURE=yes.
988
989 Support for USE_AUTOTOOLS=libtoolize has been removed. It can be replaced
990 with "USES=autoreconf libtool".
991
992 20150409:
993 AUTHOR: bapt@FreeBSD.org
994
995 Add a new USES=gnustep to handle the GNUstep ports. Now the dependencies on
996 GNUstep libraries is done via the regular LIB_DEPENDS
997
998 USE_GNUSTEP is now a macro that accept many arguments: back, build, gui, back
999 Depending on the feature needed for a given port
1000
1001 Reuse USES=objc to avoid duplicating code
1002
1003 20150408:
1004 AUTHOR: bapt@FreeBSD.org
1005
1006 Add a new USES=waf to handle the waf building system, allowing to factorise
1007 code. Plug waf into MAKE_CMD and CONFIGURE_CMD so the regular defined targets
1008 can be reused.
1009
1010 Always define _MAKE_JOBS so that when bsd.port.mk will stop overwritting
1011 _MAKE_JOBS when parallel jobs are disabled we can enforce -j1 (which is needed
1012 to really disable parallelisation with waf
1013
1014 WAF_CMD has been created to allow one to override the location of the waf
1015 script relatively to WRKSRC
1016
1017 CONFIGURE_TARGET is by default defined to "configure"
1018 ALL_TARGET is by default defined to "build"
1019 INSTALL_TARGET is by default defined to "install"
1020
1021 USES=waf is by default stagedir safe
1022
1023 20150407:
1024 AUTHOR: bapt@FreeBSD.org
1025
1026 USE_XZ and USE_BZIP2 are not supported anymore, they have been replaced by
1027 USES=tar:bzip2 and tar:xz
1028
1029 20150328:
1030 AUTHOR: bapt@FreeBSD.org
1031
1032 New "metaport" USES to take care of predefining correctly the needed
1033 macros as expected by meta ports.
1034
1035 20150323:
1036 AUTHOR: bapt@FreeBSD.org
1037
1038 Remove "@fc" and "@fontsdir". All fonts should always use @fcfontsdir which
1039 Properly takes care of the fonts.dir and fonts.scale cache files as well
1040 as ensure to properly update the fontconfig cache
1041
1042 New "fonts" USES. It defines the default variables needed for fonts and also
1043 takes care of the run time dependencies
1044
1045 20150326:
1046 AUTHOR: bdrewery@FreeBSD.org
1047
1048 PTHREAD_CFLAGS and PTHREAD_LIBS have been removed. Please see entry
1049 20130207 for more information.
1050
1051 20150319:
1052 AUTHOR: bdrewery@FreeBSD.org
1053
1054 MASTER_SITE GHR (GITHUB_RELEASE) has been removed. The same functionality
1055 can be achieved with just USE_GITHUB/GH_ACCOUNT/GH_PROJECT. GH_TAGNAME
1056 defaults to DISTVERSION. If the tag needs to be adjusted then change
1057 GH_TAGNAME. No GH_COMMIT is needed.
1058
1059 20150319:
1060 AUTHOR: bdrewery@FreeBSD.org
1061
1062 USE_GITHUB has been updated to make GH_COMMIT optional. Using this new
1063 scheme allows only setting the _tag_ or _commit hash_ in GH_TAGNAME and
1064 not having to know the hash for a tag. This scheme will download a tarball
1065 that has a different checksum than before due to a changed directory name
1066 for extraction.
1067
1068 GH_TAGNAME can now be any length of the hash as long as it is unique. There
1069 is no longer a 7-character requirement.
1070
1071 The following MASTER_SITES are provided to retain the old checksum and
1072 directory structure (that require GH_COMMIT):
1073 GH -> GHL
1074 GITHUB -> GITHUB_LEGACY
1075
1076 20150305:
1077 AUTHOR: olivierd@FreeBSD.org
1078
1079 Dependencies on the Xfce ports have been migrated to USES. Instead
1080 of USE_XFCE= configenv, you should use USES= xfce.
1081
1082 20150224:
1083 AUTHOR: makc@FreeBSD.org
1084
1085 New USE_QT4 component has been introduced to reduce buildtime
1086 dependencies for Qt 4 ports that use localization support. Instead
1087 of USE_QT4=linguist you should now use USE_QT4=linguisttools_build.
1088 Conversion of existing ports may require USE_QT4 adjustment for
1089 missing components.
1090
1091 20141217:
1092 AFFECTS: users of lang/perl5.*
1093 AUTHOR: mat@FreeBSD.org
1094
1095 Perl now links libperl.so with all .so it builds. The stage-qa checks have
1096 been extended to check that libperl.so is in fact linked with .so in
1097 SITE_ARCH and errors out if none of the .so build by a port are linked with
1098 it. It also checks that the rpath and runpath elf attributes are present.
1099
1100 20141130:
1101 AUTHOR: tijl@FreeBSD.org
1102
1103 The devel/gettext port has been split up in devel/gettext-runtime which
1104 contains runtime libraries such as libintl, and devel/gettext-tools which
1105 contains build tools such as msgfmt. You can use USES=gettext-runtime to
1106 set a LIB/BUILD/RUN_DEPENDS on devel/gettext-runtime and USES=gettext-tools
1107 to set a BUILD/RUN_DEPENDS on devel/gettext-tools.
1108
1109 USES=gettext is now the same as "USES=gettext-runtime gettext-tools",
1110 meaning a LIB_DEPENDS on devel/gettext-runtime and a BUILD_DEPENDS on
1111 devel/gettext-tools.
1112
1113 20141126:
1114 AUTHOR: mat@FreeBSD.org
1115
1116 The way Perl modules are installed has changed. Before, we had
1117
1118 site_perl : lib/perl5/site_perl/5.18
1119 site_perl/perl_arch : lib/perl5/site_perl/5.18/mach
1120 perl_man3 : lib/perl5/5.18/man/man3
1121
1122 Now we have :
1123
1124 site_perl : lib/perl5/site_perl
1125 site_arch : lib/perl5/site_perl/mach/5.18
1126 perl_man3 : lib/perl5/site_perl/man/man3
1127
1128 Modules without any .so will be installed at the same place regardless of the
1129 Perl version, minimizing the upgrade when the major Perl version is changed.
1130 It uses a version dependent directory for modules with compiled bits.
1131
1132 As PERL_ARCH is no longer needed in plists, it has been removed from
1133 PLIST_SUB.
1134
1135 The USE_PERL5=fixpacklist keyword is removed, the .packlist file is now
1136 always removed, as is perllocal.pod.
1137
1138 The old site_perl and site_perl/arch directories have been kept in the
1139 default Perl @INC for all Perl ports, and will be phased out as these old
1140 Perl versions expire.
1141
1142 20141122:
1143 AUTHOR: crees@FreeBSD.org
1144
1145 Dependencies on the PostgreSQL ports have been migrated
1146 to USES. Instead of USE_PGSQL, please use USES=pgsql instead.
1147
1148 USE_PGSQL=yes becomes USES=pgsql
1149 WANT_PGSQL_VER=91+ becomes USES=pgsql:9.1+
1150 USE_PGSQL=server becomes USES=pgsql and WANT_PGSQL=server
1151
1152 20141118:
1153 AUTHOR: mat@FreeBSD.org
1154
1155 To ease future work, a new SITE_ARCH variable and PLIST_SUB replacement
1156 containing SITE_PERL/PERL_ARCH has been added.
1157
1158 20141102:
1159 AUTHOR: bdrewery@FreeBSD.org
1160
1161 SSP is now default. This can be disabled with WITHOUT_SSP.
1162 SSP_CFLAGS defaults to -fstack-protector.
1163 SSP will be used on all amd64 releases. It will only be used on i386
1164 releases over 10.0.
1165
1166 20141007:
1167 AUTHOR: mat@FreeBSD.org
1168
1169 The @cwd [path] construct in plist files is deprecated. Instead of adding
1170 those lines to the plist:
1171
1172 @cwd /
1173 etc/rc.d/foo
1174 var/db/bar
1175 @cwd /some
1176 @exec mkdir -p %D/nested/dir
1177
1178 add this:
1179
1180 /etc/rc.d/foo
1181 /var/db/bar
1182 @exec mkdir -p /some/nested/dir
1183
1184 20141002:
1185 AUTHOR: bapt@FreeBSD.org
1186
1187 New BUNDLE_LIBS knobs to allow a port to tell pkg(8) not to compute provided
1188 libraries, this is to be used when a port bundles libraries it doesn't want
1189 to expose to other ports.
1190
1191 20141001:
1192 AUTHOR: tijl@FreeBSD.org
1193
1194 Support for autoconf213, autoheader213, aclocal14 and automake14 has been
1195 removed from USE_AUTOTOOLS.
1196
1197 20140930:
1198 AUTHOR: bdrewery@FreeBSD.org
1199
1200 Building ports in a chroot or jail have always required a particular
1201 environment be setup. This was not clear though and the ports framework
1202 did not enforce it. These requirements are:
1203 1. Either a SRC_BASE/sys/sys/param.h, or /usr/include/sys/param.h be
1204 present with the __FreeBSD_version_ number of the target system,
1205 or OSVERSION be set in the environment. Lack of these would fallback
1206 on kern.osreldate before, which is no longer the case.
1207 2. UNAME_r,UNAME_v,UNAME_s all must be set for the target system.
1208
1209 Not having these values in sync will now cause the build to error until it is
1210 resolved.
1211
1212 Setting these in the environment can be done via your own wrapper scripts,
1213 or /etc/login.conf (along with cap_mkdb /etc/login.conf) or
1214 via /etc/make.conf using appropriate values. Note that OSVERSION is redundant
1215 if a proper param.h is in the environment:
1216
1217 OSVERSION+= 1100036
1218 UNAME_ENV+= OSVERSION=${OSVERSION}
1219 UNAME_ENV+= UNAME_s=FreeBSD
1220 UNAME_ENV+= UNAME_r=11.0-CURRENT
1221 UNAME_ENV+= UNAME_v="${UNAME_s} ${UNAME_r}"
1222 .MAKEFLAGS: ${UNAME_ENV}
1223 MAKE_ENV+= ${UNAME_ENV}
1224 CONFIGURE_ENV+= ${UNAME_ENV}
1225 SCRIPTS_ENV+= ${UNAME_ENV}
1226
1227 20140922:
1228 AUTHOR: bapt@FreeBSD.org
1229
1230 pkg(8) now handles the directories under PREFIX automatically,
1231 and will automatically remove them as needed.
1232 A new @dir keyword has been introduced to handle directories specially:
1233 - directories with special owner, group, or permissions (access mode)
1234 - empty directories
1235 - directories out of PREFIX
1236 As a consequence @dirrm and @dirrmtry are now considered deprecated.
1237
1238 Credentials can now be passed in arguments to keywords
1239 (the empty keyword means "regular file"):
1240 @(user,group,mode) file1
1241 @dir(user,group,mode) directory_with_special_owner_or_mode
1242
1243 PLIST_DIRSTRY is now considered deprecated, use PLIST_DIRS instead.
1244
1245 20140917:
1246 AUTHOR: tijl@FreeBSD.org
1247
1248 Support for USE_AUTOTOOLS=libtool, USE_GNOME=ltasneededhack,
1249 USE_GNOME=lthack and USE_GNOME=ltverhack has been removed.
1250 Ports should use USES=libtool instead.
1251
1252 Support for USE_AUTOTOOLS=libltdl has been removed.
1253 Ports should use LIB_DEPENDS=libltdl.so:${PORTSDIR}/devel/libltdl
1254
1255 20140916:
1256 AUTHOR: tijl@FreeBSD.org
1257
1258 The installation of *.la files without some form of USES=libtool in the
1259 port Makefile will now result in a stage-qa error.
1260 Previously this would only cause a warning.
1261
1262 The :keepla argument to USES=libtool is no longer special. It is now
1263 only needed if a port uses *.la files at run time and no longer to fix
1264 link problems in other ports.
1265
1266 20140901:
1267 AUTHOR: bapt@FreeBSD.org
1268
1269 Support for pkg_install has been removed.
1270 Note that WITH_PKGNG is now called WITH_PKG (still used to define 'devel')
1271 WITH_PKGNG remains for compatibility
1272 @stopdaemon support has gone, pkg(8) has a generic mechanism to
1273 provide the same function, see HANDLE_RC_SCRIPTS in pkg.conf(5).
1274
1275 20140901:
1276 AUTHOR: bapt@FreeBSD.org
1277
1278 Support for NO_STAGE has been removed.
1279
1280 20140825:
1281 AUTHOR: antoine@FreeBSD.org
1282
1283 Support for NOPORTDATA has been removed.
1284
1285 20140809:
1286 AUTHOR: mva@FreeBSD.org
1287
1288 The Python language bits of the ports framework have been converted
1289 to USES. Instead of USE_PYTHON, please use USES=python instead.
1290
1291 USE_PYTHON=yes becomes USES=python
1292 USE_PYTHON=2.7+ becomes USES=python:2.7+
1293 USE_PYTHON_BUILD=3.3 becomes USES=python:3.3,build
1294 ...
1295
1296 Additionally, several Python specific features have been converted
1297 to USES-inspired USE_PYTHON=<featureA>,<featureB>.
1298
1299 USE_PYDISTUTILS becomes USE_PYTHON=distutils
1300 PYDISTUTILS_AUTOPLIST becomes USE_PYTHON=autoplist
1301 ...
1302
1303 Please read the header comments of Uses/python.mk for more details
1304 about the new and changed bits and pieces. You will find a list of
1305 deprecated variables and how to replace them in your own ports at
1306 the end of the header comment.
1307
1308 20140715:
1309 AUTHOR: bapt@FreeBSD.org
1310
1311 LIB_DEPENDS only supports one form: lib*.so
1312
1313 20140708:
1314 AUTHOR: mva@FreeBSD.org
1315
1316 Support for installations based on the easy_install setup.py target has
1317 been removed from the Ports framework for Python software. The
1318 PYEASYINSTALL_* knobs and support for USE_PYDISTUTILS=easy_install have
1319 been removed.
1320
1321 20140623:
1322 AUTHOR: bapt@FreeBSD.org
1323
1324 IGNOREFILES is not supported anymore, it was an unsafe feature allowing to
1325 use unchecked files downloaded from untrusted places to be used in the ports
1326 tree.
1327
1328 20140607:
1329 AUTHOR: mva@FreeBSD.org
1330
1331 New PYTHON_CONCURRENT_INSTALL knob to support the parallel installation
1332 of ports for different python versions.
1333
1334 If set to yes, the knob indicates that the port can be installed for
1335 different python versions at the same time. The port will use a unique
1336 prefix for certain directories using USES=uniquefiles:dirs (see the
1337 uniquefiles.mk Uses for details about the directories). Binaries
1338 receive an additional suffix, based on ${PYTHON_VER}.
1339
1340 The values for the uniquefiles USES are set as follows:
1341
1342 UNIQUE_PREFIX= ${PYTHON_PKGNAMEPREFIX}
1343 UNIQUE_SUFFIX= -${PYTHON_VER}
1344
1345 If the port is installed for the current default python version, scripts and
1346 binaries in
1347
1348 ${PREFIX}/bin
1349 ${PREFIX}/sbin
1350 ${PREFIX}/libexec
1351
1352 are linked from the prefixed version to the prefix-less original name,
1353 e.g. bin/foo-2.7 --> bin/foo.
1354
1355 20140529:
1356 AUTHOR: miwi@FreeBSD.org
1357
1358 USE_GMAKE is no longer supported, please use USES=gmake instead
1359
1360 20140526:
1361 AUTHOR: bapt@FreeBSD.org
1362
1363 USE_DOS2UNIX is no longer supported, USES=dos2unix should be used instead
1364
1365 20140525:
1366 AUTHOR: mat@FreeBSD.org
1367
1368 Add a USE_PERL5=fixpacklist to account for ports creating a .packlist file
1369 referencing ${STAGEDIR} when not using USE_PERL5=configure or
1370 USE_PERL5=modbuildtiny.
1371
1372 20140505:
1373 AUTHOR: bapt@FreeBSD.org
1374
1375 :U and :L syntax is not supported anymore in the ports tree, :tu and :tl
1376 should be used instead
1377
1378 This makes the ports tree incompatible with make(1) version that does not
1379 support :tu and :tl (aka FreeBSD 8.3 and earlier)
1380
1381 20140428:
1382 AUTHOR: bapt@FreeBSD.org
1383
1384 EXTRA_PATCHES has been extended to support a new syntax:
1385
1386 EXTRA_PATCHES= file:-pX
1387
1388 Where X is the pathname strip count passed to patch(1)
1389
1390 20140423:
1391 AUTHOR: tijl@FreeBSD.org
1392
1393 The semantics of USES=libtool have changed. It now deletes .la libraries
1394 from the staging area to reduce overlinking. USES=libtool:keepla can be
1395 used in case they need to be kept. This form still modifies .la libraries
1396 to remove references to other libraries to reduce overlinking.
1397
1398 Note that .la libraries have to kept around as long as there are .la
1399 libraries from other ports that refer to them. Those ports need to use
1400 some form of USES=libtool first such that those references are removed.
1401
1402 20140419:
1403 AUTHOR: bdrewery@FreeBSD.org
1404
1405 check-orphans has been renamed to check-plist. It now checks:
1406 A. Files in STAGEDIR that are missing from plist.
1407 To make check-plist ignore a file *as an orphan* do one of the
1408 following:
1409 1. Install it
1410 2. post-install: ${RM} ${STAGEDIR}file
1411 3. Put the file behind an OPTION with a PLIST_SUB: %%OPTION%%file
1412 4. Add to plist as a @comment
1413 @comment file
1414 @comment @dirrmtry dir
1415 B. Files in plist missing from STAGEDIR
1416 C. Files in plist which are owned by dependencies/MTREEs
1417
1418 20140416:
1419 AUTHOR: bdrewery@FreeBSD.org
1420
1421 The default target for 'make' now runs 'make stage' if the port supports
1422 it, otherwise 'make build' as before.
1423
1424 20140411:
1425 AUTHOR: bdrewery@FreeBSD.org
1426
1427 A new plist keyword has been added, @sample. It accepts a file (must end in
1428 .sample):
1429
1430 @sample file.conf.sample
1431
1432 This will install file.conf.sample and copy it to file.conf. The file.conf
1433 will be removed if it matches file.conf.sample on deinstall.
1434
1435 This replaces older patterns of:
1436
1437 @unexec if cmp -s %D/etc/pkgtools.conf %D/etc/pkgtools.conf.sample; then rm -f %D/etc/pkgtools.conf; fi
1438 etc/pkgtools.conf.sample
1439 @exec [ -f %B/pkgtools.conf ] || cp %B/%f %B/pkgtools.conf
1440
1441 20140312:
1442 AUTHOR: bapt@FreeBSD.org
1443
1444 Two new USES were added to finish handling distfiles formats a consistent way:
1445
1446 USES=tar[:[xz|bzip2|Z|tgz]] handles distributions files in format:
1447 - plain tar
1448 - tar.xz
1449 - tar.bz2
1450 - tar.Z
1451 - tgz
1452
1453 USES=lha handles distributions files info LHA format
1454
1455 20140307:
1456 AUTHOR: rene@FreeBSD.org
1457
1458 Two new USES were added by bapt@FreeBSD.org :
1459
1460 USES=zip handles distribution files in Zip format. InfoZip files
1461 need USES=zip:infozip
1462
1463 USES=makeself handles distribution files in makeself format.
1464
1465 20140303:
1466 AUTHOR: kde@FreeBSD.org
1467
1468 Add support for Qt 5 via USE_QT5. USE_QT5 is analogous to USE_QT4,
1469 the only difference is the list of available components
1470 (see Mk/bsd.qt.mk for details). USES=qmake supports Qt 5 as well.
1471
1472 20140224:
1473 AUTHOR: bapt@FreeBSD.org
1474
1475 Deprecate support for KNOBS, the new option framework allows to express a
1476 more consistent, user friendly and visible way the same feature.
1477
1478 20140127:
1479 AUTHOR: mat@FreeBSD.org
1480
1481 Add two new options helpers:
1482
1483 ${OPT}_${TYPE}_DEPENDS_OFF=<something> will automatically add:
1484 ${TYPE_DEPENDS}+=<something> in case OPT is 'off'
1485
1486 ${OPT}_${FLAG}_OFF=<something> will automatically add:
1487 ${FLAG}+=<something> in case OPT is 'off'
1488
1489 20140111:
1490 AUTHOR: mva@FreeBSD.org
1491
1492 New USES=uniquefiles to make files or directories unique
1493 by adding a prefix or suffix to them.
1494
1495 Files listed in UNIQUE_PREFIX_FILES will receive the prefix
1496 set via UNIQUE_PREFIX. The same applies to UNIQUE_SUFFIX_FILES,
1497 but with the chosen UNIQUE_SUFFIX. UNIQUE_PREFIX and
1498 UNIQUE_SUFFIX are set to PKGNAMEPREFIX and PKGNAMESUFFIX by
1499 default.
1500 The uniquefiles USES enables ports to name files in special
1501 ways, e.g. by outlining that the port does not support X11
1502 (-nox11). A binary named bin/foo thus can be easily renamed
1503 to bin/foo-featureA via
1504
1505 USES= uniquefiles
1506 UNIQUE_SUFFIX= -featureA
1507 UNIQUE_SUFFIX_FILES= bin/foo
1508
1509 The uniquefiles USES automatically adjusts the plist at
1510 installation time. There is no need to consider the prefix
1511 or suffix in the pkg-plist file itself. If the original name
1512 of the renamed file is bin/foo, this exact name should be put
1513 into pkg-plist.
1514
1515 The dirs argument to USES=uniquefiles will cause certain
1516 standard directories, such as DOCSDIR or EXAMPLESDIR to be
1517 prepended with the UNIQUE_PREFIX. The change to the directories
1518 will hapen prior to configuring or building the port, so that
1519 the port Makefile as well as the port's build logic are aware
1520 of the changed name.
1521
1522 Since the uniquefiles USES effectively manipulates the port's
1523 installation and file layout, it will only be available for
1524 stagedir-aware ports. Ports with NO_STAGE=yes will be unable
1525 to use the uniquefiles USES.
1526
1527 20131218:
1528 AUTHOR: mva@FreeBSD.org
1529
1530 lang/python (and as such the 'python' binary and accomplices)
1531 has been removed as default dependency for the USE_PYTHON,
1532 USE_PYTHON_BUILD and USE_PYTHON_RUN knobs.
1533
1534 Ports need to use a designated (default) python interpreter
1535 to build and install and in most cases for execution in the user
1536 environment. Ports that install python scripts, which are not
1537 limited to a certain python version (or version range), can
1538 include lang/python as build and/or run dependency.
1539
1540 USE_PYTHON=yes and similar knobs will only pull in the
1541 default python version (e.g. lang/python27), but none
1542 of the meta ports or lang/python itself.
1543
1544 Please use lang/python as build or run-time dependency only,
1545 if there is no other way to get a port working properly, since
1546 the usage of lang/python complicates package builds for different
1547 python versions.
1548
1549 20131213:
1550 AUTHOR: tijl@FreeBSD.org
1551
1552 New USES=fortran to replace USE_FORTRAN.
1553
1554 USE_FORTRAN=yes can be replaced with USES=fortran or USES=fortran:gcc.
1555 USE_FORTRAN=ifort can be replaced with USES=fortran:ifort.
1556 USE_FORTRAN=f77 is deprecated and the version of gcc it depends
1557 on (lang/gcc34) is scheduled to be removed.
1558
1559 Note that USE_FORTRAN=yes also makes GCC the C/C++ compiler while
1560 USES=fortran only sets the Fortran compiler and can be used together
1561 with Clang as C/C++ compiler.
1562
1563 20131208:
1564 AUTHOR: mva@FreeBSD.org
1565
1566 New USES=twisted, to replace the old USE_TWISTED knob.
1567
1568 twisted can be configured with the arguments run or build to replace
1569 the previous USE_TWISTED_RUN and USE_TWISTED_BUILD knobs. The twisted
1570 components can be added as comma-separated arguments. If you previously
1571 wrote
1572 USE_TWISTED= yes
1573 USE_TWISTED= conch names
1574 USE_TWISTED_RUN= yes
1575 you now would write
1576 USES= twisted
1577 USES= twisted:conch,names
1578 USES= twisted:run
1579
1580 20131119:
1581 AUTHOR: kwm@FreeBSD.org
1582
1583 The USE_GNOME component ltverhack no longer has a hard dependancy on
1584 libtool.
1585
1586 If USE_AUTOTOOLS=libtool isn't defined it will try to patch ltmain.sh
1587 and or libtool in ${WRKSRC}. If those files are located somewhere else
1588 in ${WRKSRC} then it is possible to overwrite ltverhack_PATCH_FILES
1589 with there new locations. configure script --distable-static will work also
1590 after using the "new" ltverhack.
1591
1592 Please keep in mind that USE_AUTOTOOLS implies GNU_CONFIGURE so you might
1593 need to add that back for the port to work.
1594
1595 20131031:
1596 AUTHOR: rene@FreeBSD.org
1597
1598 Add a new USES for kernel module ports.
1599
1600 USES=kmod takes no arguments and:
1601 - adds kld to CATEGORIES
1602 - sets SSP_UNSAFE
1603 - sets IGNORE if the kernel sources are not found
1604 - defines KMODDIR to /boot/modules by default, add it to
1605 PLIST_SUB and MAKE_ENV, and create it upon installation
1606 - handles cross-referencing kernel modules upon installation and
1607 deinstallation
1608
1609 20131021:
1610 AUTHOR: amdmi3@FreeBSD.org
1611
1612 share/applications directory was added to the mtree, meaning that
1613 you no longer need to create or remove it in your ports.
1614
1615 20131008:
1616 AUTHOR: bapt@FreeBSD.org
1617
1618 New "compiler" USES to be able to select the compiler based on the
1619 features it provides.
1620 Supported arguments are:
1621 - c++11-lang: the port needs a c++11 aware compiler what ever standard
1622 library it uses, implies features
1623 - c++11-lib: the port needs a c++11 standard library, implies features
1624 - c11: the ports needs a c11 aware compiler implies features
1625 - features: this will create a COMPILER_FEATURES variable which contains
1626 the list of features ${CC} do support, implies env.
1627 - env: the COMPILER_TYPE will be set to either gcc or clang.
1628
1629 By default the uses will try to use clang33 from ports when nothing in
1630 base is relevant except if the user explicitly defines
1631 FAVORITE_COMPILER=gcc in his make.conf
1632
1633 20131008:
1634 AUTHOR: makc@FreeBSD.org
1635
1636 New USES: qmake, configure tool widely used among Qt based projects.
1637 New framework is stage-friendly. To convert existing ports remove
1638 custom configure target, adjust QMAKE_ENV, QMAKE_ARGS, QMAKE_PRO if
1639 required (see Mk/Uses/qmake.mk for details).
1640
1641 20131005:
1642 AUTHOR: bdrewery@FreeBSD.org
1643
1644 PATCHFILES now support an optional :-pX flag that notes which patch strip
1645 level to use. This allows multiple patches in 1 port to use different
1646 PATCH_DIST_STRIP values without changing PATCH_DIST_STRIP.
1647
1648 Syntax: PATCHFILES= patch[:-pX][:distgroup]
1649
1650 20131003:
1651 AUTHOR: bapt@FreeBSD.org
1652
1653 New USES: scons, to handle properly the scons building system, this
1654 this also gives the scons packages user the ability to respect MAKE_JOBS.
1655
1656 20130924:
1657 AUTHOR: bapt@FreeBSD.org
1658
1659 Stage aware ports can now create package without the requirement from
1660 being root.
1661 If a port really needs root anyway it should add NEED_ROOT in its
1662 Makefile.
1663
1664 For a port that needs special credential on files DO NOT RELY on
1665 chown in post-install section but rely on @own, @group in pkg-plist
1666 Be careful about rights on directories as pkg_install cannot store them
1667 they needs to be done via @exec chown.
1668
1669 20130923:
1670 AUTHOR: bapt@FreeBSD.org
1671
1672 The ports tree is now staged by default. With pkgng the sequence hasn't
1673 changed, the main difference is that creating package is now independent
1674 from installing it. With pkg_install, the package is now created first
1675 and make install, do install the package.
1676
1677 New macros:
1678 - STAGEDIR: PATH to the directory where the port will be staged.
1679 - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area)
1680
1681 Unsupported macro if NO_STAGE is not set:
1682 - MAN* with staging man page compression and handling of hardlinks and
1683 symlinks is automatically done in the stage. the manpages becomes then a
1684 "normal" plist files and should be tracked in pkg-plist.
1685 - MANCOMPRESSED the compress-man target is able to only compress when it
1686 needed.
1687
1688 New target:
1689 - stage: this installs everything into the stage directory
1690 - makeplist: this will create a pkg-plist and print it to stdout. This is
1691 a sample plist and it should always be _reviewed_ not directly used.
1692
1693 NOTE: with staging only what is in the plist will be installed, nothing more,
1694 meaning a port staged cannot have leftovers except directories left. It is
1695 really important to double check the pkg-plist to make sure all the files
1696 the maintainer wants to package are in! make makeplist can help in that area.
1697
1698 20130923:
1699 AUTHOR: mva@FreeBSD.org
1700
1701 * New USES: zope
1702
1703 This replaces the previous USE_ZOPE knob. All other zope related knobs
1704 for port Makefiles still exist. See Mk/Uses/zope.mk for details.
1705
1706 20130920:
1707 AUTHOR: bdrewery@FreeBSD.org
1708
1709 SSP support has been added to ports with WITH_SSP_PORTS for i386 and amd64
1710 on FreeBSD 10, and amd64 on earlier versions.
1711
1712 SSP_UNSAFE is added to disable in a port if it fails to build, but
1713 this should only be used in rare circumstances such as kernel modules.
1714 Otherwise, the port may just be failing due to lack of respecting
1715 LDFLAGS.
1716
1717 On FreeBSD 10, this uses an ldscript in /usr/lib/libc.so to pull in
1718 libssp_nonshared.a to address issues linking on i386 [1].
1719
1720 On earlier FreeBSD versions the WITH_SSP_PORTS knob will add -lssp_nonshared
1721 to LDFLAGS on i386. This is not needed on amd64. However, several hundred
1722 ports do not currently respect LDFLAGS, so this support is disabled currently
1723 as it causes build failures if a dependency is looking for the stack_chk
1724 symbols.
1725
1726 [1] http://svnweb.freebsd.org/base/head/lib/libc/libc.ldscript?revision=251668&view=markup
1727
1728 20130919:
1729 AUTHOR: gahr@FreeBSD.org
1730
1731 * New USES: tcl, tk
1732
1733 This uses replaces all the previous USE_TCL, USE_TCL_BUILD, USE_TCL_RUN,
1734 USE_TCL_WRAPPER, USE_TK, USE_TK_BUILD, USE_TK_RUN and USE_TK_WRAPPER macros.
1735
1736 See the Mk/Uses/tcl.mk and the commit message of r327607 for details.
1737
1738 Moreover, the default Tcl/Tk version is now specified in terms of
1739 bsd.default-versions.mk. It is now possible to specify one's preferred Tcl/Tk
1740 version using DEFAULT_VERSIONS+= tcltk=x.y in make.conf.
1741
1742 20130918:
1743 AUTHOR: bapt@FreeBSD.org
1744
1745 The perl framework is not included unconditionally and the old framework
1746 is not recognized anymore, the following MACROS has been removed:
1747
1748 * PERL_CONFIGURE
1749 * USE_PERL5_RUN
1750 * USE_PERL5_BUILD
1751 * PERL_MODBUILD
1752
1753 20130904:
1754 AUTHOR: madpilot@FreeBSD.org
1755
1756 To allow ports to work with the iconv implementation in 10-CURRENT after
1757 commit r254273 the USES=iconv options now conditionally adds a dependency
1758 depending on the FreeBSD version. It also defines a few utility variables
1759 which can be used in the ports:
1760
1761 ICONV_CMD: location of the iconv binary.
1762 after r254273: /usr/bin/iconv
1763 before: ${LOCALBASE}/bin/iconv
1764
1765 ICONV_LIB: ld(1) flags to get the iconv DSO.
1766 after r254273: empty
1767 before: -liconv
1768
1769 ICONV_CONFIGURE_ARG: String that can be passed to configure
1770 scripts to hint the location of the libiconv library.
1771 after r254273: empty
1772 before: --with-libiconv-prefix=${LOCALBASE}
1773
1774 20130902:
1775 AUTHOR: bapt@FreeBSD.org
1776
1777 USE_GNOME=pkgconfig is not supported anymore by the ports tree, please
1778 uses: USES=pkgconfig
1779
1780 20130831:
1781 AUTHOR: bdrewery@FreeBSD.org
1782
1783 crees has added USE_PACKAGE_DEPENDS_ONLY which works like
1784 USE_PACKAGE_DEPENDS but will not fallback on source if a
1785 package is missing.
1786
1787 20130731:
1788 AUTHOR: bapt@FreeBSD.org
1789
1790 * New USES: perl5
1791
1792 This uses replaces all the previous perl macros. Here is how to migrate:
1793
1794 Always include perl5:
1795 USES= perl5
1796
1797 If USE_PERL5 is undefined then perl5 will be a build and run dependency
1798 Migrating to new USE_PERL5:
1799
1800 =======================================================
1801 | BEFORE | AFTER |
1802 =======================================================
1803 | PERL_CONFIGURE=yes | USE_PERL5= configure |
1804 -------------------------------------------------------
1805 | USE_PERL5_RUN=yes | USE_PERL5=run |
1806 -------------------------------------------------------
1807 | USE_PERL5_BUILD=yes | USE_PERL5=build |
1808 -------------------------------------------------------
1809 | PERL_MODBUILD=yes | USE_PERL5=modbuild |
1810 -------------------------------------------------------
1811 | USE_PERL5=yes | |
1812 -------------------------------------------------------
1813 | USE_PERL5=5.14+ | USE_PERL5= 5.14+ |
1814 -------------------------------------------------------
1815 | PERL_CONFIGURE= 5.14+ | USE_PERL5=5.14+ configure |
1816 -------------------------------------------------------
1817 | PERL_MODBUILD= 5.14+ | USE_PERL5=5.14+ modbuild |
1818 -------------------------------------------------------
1819
1820 20130726:
1821 AUTHOR: rene@FreeBSD.org
1822
1823 * With the removal of QT 3/KDE 3, the following are no longer recognized:
1824 - USE_KDEBASE_VER
1825 - USE_KDELIBS_VER
1826 - USE_QT_VER
1827
1828 Mk/bsd.kde.mk has been removed, it was only used for QT 3/KDE 3.
1829
1830 20130628:
1831 AUTHOR: bapt@FreeBSD.org
1832
1833 * New USES: imake
1834
1835 This uses replaces USE_IMAKE, it handles dependency on imake. Its only argument
1836 is 'env', which prevent from defining the do-configure target.
1837
1838 * New LATE_INSTALL_TARGET
1839
1840 This content of this new macro is appended to INSTALL_TARGET
1841
1842 20130620:
1843 AUTHOR: bapt@FreeBSD.org
1844
1845 * New USES: fmake
1846
1847 This uses will allow to build ports using the legacy FreeBSD make, for ports
1848 not compatible with bmake
1849
1850 20130614:
1851 AUTHOR: bapt@FreeBSD.org
1852
1853 * New macros to help dealing with ports that have options:
1854
1855 OPTIONS_SUB=yes when set in a port, all the option names are automatically
1856 added to the PLIST_SUB with "@comment " value in case the option is off and
1857 empty value in case the options is on.
1858
1859 ${OPT}_CONFIGURE_ENABLE=<aname> will automatically add:
1860 CONFIGURE_ARGS+=--enable-<aname> in case OPT is activated
1861 CONFIGURE_ARGS+=--disable-<aname> in case OPT is deactivated
1862
1863 ${OPT}_CONFIGURE_ON=<something> will automatically add:
1864 CONFIGURE_ARGS+=<something> in case OPT is activated
1865
1866 ${OPT}_CONFIGURE_OFF=<something> will automatically add:
1867 CONFIGURE_ARGS+=<something> in case OPT is deactivated
1868
1869 ${OPT}_CFLAGS will append the specified new flags to CFLAGS if OPT is 'on'
1870 ${OPT}_CXXFLAGS will append the specified new flags to CXXFLAGS if OPT is 'on'
1871 ${OPT}_LDFLAGS will append the specified new flags to LDFLAGS if OPT is 'on'
1872
1873 ${OPT}_CONFIGURE_ENV will append the specified variables to CONFIGURE_ENV if
1874 OPT is 'on'
1875 ${OPT}_MAKE_ENV will append the specified variables to MAKE_ENV if OPT is 'on'
1876
1877 ${OPT}_USES will append the speficied uses to USES if OPT is 'on'
1878
1879 ${OPT}_DISTFILES will append the specified distiles to DISTFILES if OPT in 'on'
1880
1881 ${OPT}_CMAKE_ON=<something> will automatically add:
1882 CMAKE_ARGS+=<something> in case OPT is activated
1883
1884 ${OPT}_CMAKE_OFF=<something> will automatically add:
1885 CMAKE_ARGS+=<something> in case OPT is deactivated
1886
1887 ${OPT}_${TYPE}_DEPENDS=<something> will automatically add:
1888 ${TYPE_DEPENDS}+=<something> in case OPT is 'on'
1889
1890 20130614:
1891 AUTHOR: bapt@FreeBSD.org
1892
1893 * New 'display' USES macro to handle building ports that may require a
1894 a display to build.
1895
1896 USES= display[:install] will start Xvfb and set the DISPLAY environment
1897 variable before the installation phase and stop it at the end. (install is
1898 the implicit value)
1899
1900 USES= display:build will start Xvfb and set the DISPLAY environment variable
1901 before the build phase and stop it at the end.
1902
1903 20130607:
1904 AUTHOR: bdrewery@FreeBSD.org
1905
1906 * Checks were added to block GH_TAGNAME=master as this is not a valid
1907 setup. A known hash or tag should be used for GH_TAGNAME instead of
1908 a branch name. As soon as a branch is updated, the known checksum
1909 in the distinfo would then be invalid.
1910
1911 20130606:
1912 AUTHOR: bdrewery@FreeBSD.org
1913
1914 * WRKSRC_SUBDIR has been added to simplify overriding WRKSRC
1915 to use a subdirectory:
1916
1917 WRKSRC= ${WRKDIR}/${DISTNAME}/src
1918
1919 Becomes:
1920
1921 WRKSRC_SUBDIR= src
1922
1923 20130606:
1924 AUTHOR: bapt@FreeBSD.org
1925
1926 The OPTIONS macro is no longer recognized, please use the new options
1927 framework.
1928
1929 20130509:
1930 AUTHOR: kwm@FreeBSD.org
1931
1932 * Two new USES macros to handle mime data of ports.
1933
1934 USES= desktop-file-utils
1935 Handles MimeType in .desktop files that are installed in
1936 share/applications.
1937 USES= shared-mime-info
1938 For supporting mime xml files installed in
1939 share/mime/packages.
1940
1941 The desktop-file-utils USES is only needed if the .desktop files
1942 installed by the port has a MimeType field.
1943 USE_GNOME=desktopfileutils is deprecated.
1944
1945 The shared-mime-info USES handles mime types xml files.
1946 Please note that only the packages/${NAME}.xml file should be listed in
1947 the plist. The shared-mime-info port will clean up the share/mime/*
1948 directories and generated files.
1949
1950 Both USES have there own post-install and code that adds @exec/@unexec
1951 lines to the pkg-plist. This means that when a port switches to the
1952 USES macro, the related post-install command and @exec/@unexec
1953 lines can be removed from the prot.
1954
1955 20130507:
1956 AUTHOR: bapt@FreeBSD.org
1957
1958 * New USES macro to handle setting correct shebang to scripts
1959
1960 By default it will fix bash, perl, php, ruby and python on all files specified
1961 in the SHEBANG_FILES macro (glob pattern relative to ${WRKSRC})
1962
1963 Paths can be customized, and number of languages supported can be extended.
1964
1965 * USE_GETTEXT, USE_NCURSES, USE_READLINE are no longer recognized
1966
1967 20130506:
1968 AUTHOR: bapt@FreeBSD.org
1969
1970 * New USES macro to handle linking on ncurses and on readline
1971
1972 USES= ncurses will set env and make the port link to base version of ncurses
1973 if no port version is installed otherwise it will link against port version
1974 USES= ncurses:port will for the port to link against the ports version of
1975 ncurses
1976 USES= ncurses:base will force to link against base version of ncurses.
1977
1978 USES= readline will make the port link against base version of readline except
1979 on 10+ where it will force dependency on the port version of readline
1980 USES= readline:port will anyway force dependency on the port version of
1981 readline.
1982
1983 20130426:
1984 AUTHOR: mva@FreeBSD.org
1985
1986 * USE_ICONV has been deprecated and converted into the iconv USE
1987 feature
1988
1989 USES= iconv
1990
1991 20130425:
1992 AUTHOR: bapt@FreeBSD.org
1993
1994 * USE_CDRTOOLS is no longer recognized
1995 * USE_FREETYPE is no longer recognized
1996
1997 20130423:
1998 AUTHOR: jgh@FreeBSD.org
1999
2000 * New USES macro to handle support for gettext dependency:
2001
2002 USES= gettext:build will add gettext into BUILD_DEPENDS
2003 USES= gettext:run will add gettext into RUN_DEPENDS
2004 USES= gettext:lib will add gettext into LIB_DEPENDS
2005
2006 It deprecates USE_GETTEXT which will be removed as soon as it is not
2007 used anymore
2008
2009 20130422:
2010 AUTHOR: bdrewery@FreeBSD.org
2011
2012 * The entry for 20120830 to change CCACHE_DIR was not fully supported
2013 by all ports. There is now a CCACHE_DIR variable that can be used
2014 in /etc/make.conf for more complete coverage:
2015
2016 CCACHE_DIR=/var/cache/ccache
2017
2018 20130422:
2019 AUTHOR: bapt@FreeBSD.org
2020
2021 * New USES macro to handle support for pkgconf (pkg-config) dependency:
2022
2023 USES= pkgconfig[:build] will add pkgconf into BUILD_DEPENDS
2024 USES= pkgconfig:run will add pkgconf into RUN_DEPENDS
2025 USES= pkgconfig:both will add pkgconf into both RUN and BUILD DEPENDS
2026
2027 It deprecates USE_PKGCONFIG which will be removed as soon as it is not
2028 used anymore
2029
2030 20130320:
2031 AUTHOR: jgh@FreeBSD.org
2032
2033 * New USES macro to handle support for Zenoss ports and Zenpacks:
2034
2035 USES= zenoss
2036
2037 20130319:
2038 AUTHOR: makc@FreeBSD.org
2039
2040 * New USES macro should be used instead of deprecated USE_CMAKE and
2041 CMAKE_OUTSOURCE:
2042
2043 USES= cmake:outsource
2044 to perform out-of-source build (equivalent to former pair usage of
2045 USE_CMAKE/CMAKE_OUTSOURCE)
2046
2047 USES= cmake
2048 In-source build (equivalent to plain USE_CMAKE=yes) can be used if
2049 project doesn't support out-of-source build.
2050
2051 20130319:
2052 AUTHOR: bapt@FreeBSD.org
2053
2054 * The options framework now uses ports-mgmt/dialog4ports contributed by
2055 Ilya A. Arkhipov. It boostraps it if not present when one calls
2056 make config.
2057
2058 dialog4ports provides a new UI able to represent all the features
2059 provided by the new options framework.
2060
2061 20130315:
2062 AUTHOR: bdrewery@FreeBSD.org
2063
2064 * USE_QMAIL_RUN, USE_QMAIL_BUILD and WANT_QMAIL have been removed
2065 and converted into the qmail USE feature
2066
2067 USES= qmail:run will add qmail into RUN_DEPENDS
2068 USES= qmail:build will add qmail into BUILD_DEPENDS
2069 USES= qmail[:both] will add qmail into both RUN and BUILD DEPENDS
2070 USES= qmail:vars will set QMAIL_PREFIX
2071
2072 20130315:
2073 AUTHOR: bapt@FreeBSD.org
2074
2075 * Add new Keywords directory and first info.yaml keyword (@info).
2076 Keywords directory will contain all the custom plist keywords allowing to
2077 extend pkg-plist with new keywords. Only works with pkgng.
2078
2079 20130307:
2080 AUTHOR: bapt@FreeBSD.org
2081
2082 * New USES macro to handle on demand features, 2 examples has been added to
2083 the ports tree:
2084
2085 pathfix: to replace USE_GNOME= gnomehack
2086 fuse: to replace USE_FUSE= yes
2087
2088 20130207:
2089 AUTHOR: gahr@FreeBSD.org
2090
2091 * Use of PTHREAD_CFLAGS and PTHREAD_LIBS is unsupported. The former
2092 expands to the empty string, while the second is simply -pthread.
2093 Please use -pthread directly in your LDFLAGS, if needed.
2094
2095 20121214:
2096 AUTHOR: flo@FreeBSD.org
2097
2098 * Add a USE_FUSE macro to handle fuse dependencies. It makes
2099 sure sysutils/fusefs-libs gets installed and depending on
2100 fuse being in base or not it installs sysutils/fusefs-kmod.
2101
2102 20121210:
2103 AUTHOR: bapt@FreeBSD.org
2104 * OPTIONS has been extended 2 new macros are available:
2105
2106 OPTIONS_RADIO - allows only 0 or 1 options to be selected
2107 OPTIONS_GROUP - allows 0 or N options among to be selected
2108
2109 20121010:
2110 AUTHOR: bapt@FreeBSD.org
2111
2112 * IPV6 option is now activated by default for the whole ports tree
2113
2114 20121010:
2115 AUTHOR: bapt@FreeBSD.org
2116
2117 * The ports tree is now using pkgng as the default package manager
2118 for HEAD. This only affects users of CURRENT -- users of other
2119 branches need not take any action.
2120
2121 To keep pkg_install as the default package manager, use the new
2122 WITHOUT_PKGNG knob in make.conf
2123
2124 20120830:
2125 AUTHOR: beat@FreeBSD.org
2126
2127 * CCACHE support for building ports has been added (depends on
2128 devel/ccache). Therefore new user settable variables are available:
2129
2130 WITH_CCACHE_BUILD - Enable CCACHE support (Default off)
2131
2132 NO_CCACHE - Disable CCACHE support for example for certain
2133 ports if CCACHE is enabled.
2134
2135 By default CCACHE uses $HOME/.ccache as cache directory. To use
2136 a non-default cache directory this could be overwritten like:
2137
2138 MAKE_ENV+= CCACHE_DIR=/var/cache/ccache
2139
2140 20120820:
2141 AUTHOR: gahr@FreeBSD.org
2142
2143 * GitHub support has been integrated into bsd.sites.mk. In order to
2144 fetch distfiles from GitHub, a port must define USE_GITHUB along
2145 with the following variables:
2146
2147 GH_ACCOUNT - account name of the GitHub user hosting the project
2148 default: not set, mandatory
2149
2150 GH_PROJECT - name of the project on GitHub
2151 default: ${PORTNAME}
2152
2153 GH_TAGNAME - name of the tag to download (master, 2.0.1, ...)
2154 default: ${DISTVERSION}
2155
2156 GH_COMMIT - first 7 digits of the commit that generated GH_TAGNAME
2157 (man git-describe(1))
2158 default: not set, mandatory
2159
2160 The port www/tivoka is an example how to use this mechanism.
2161
2162 20120726:
2163 AUTHOR: bapt@FreeBSD.org
2164
2165 * new macro USE_PKGCONFIG has been introduce in place of
2166 USE_GNOME= pkgconfig
2167
2168 USE_PKGCONFIG= yes and USE_PKGCONFIG= build
2169 for build only dependency
2170
2171 USE_PKGCONFIG= run
2172 for run only dependency
2173
2174 USE_PKGCONFIG= both
2175 for both build and run dependency
2176
2177 20120715:
2178 AUTHOR: beat@FreeBSD.org
2179
2180 * The ports tree moved from CVS to Subversion. A Subversion to
2181 CVS exporter is in place to continue the support of CVSup but
2182 do not commit to pcvs directly.
2183
2184 All commits have to be done in the new port Subversion repository
2185 on svn.FreeBSD.org. You will find more information about
2186 Subversion in the Ports Subversion Primer in the FreeBSD wiki,
2187 in the "Committer's Guide" and the "Porter's Handbook".
2188
2189 If you are in doubt or unsure about a Subversion operation
2190 please contact ports@FreeBSD.org.
2191
2192 20120529:
2193 AUTHOR: crees@FreeBSD.org
2194
2195 * OPTIONS has been updated with many changes and improvements.
2196
2197 Old-style OPTIONS declarations will continue to work for a while,
2198 but do not introduce any into existing or new ports.
2199
2200 For further information, see the Porter's Handbook section on
2201 Makefile Options.
2202
2203 20110923:
2204 AUTHOR: amdmi3@FreeBSD.org
2205
2206 * LDFLAGS is now passed to both the configure and make environments,
2207 and should be handled just like CPPFLAGS (see previous entry).
2208
2209 Summarizing both LDFLAGS and CPPFLAGS changes, where you would
2210 have used
2211 CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
2212 LDFLAGS="-L${LOCALBASE}/lib"
2213 MAKE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
2214 LDFLAGS="-L${LOCALBASE}/lib"
2215 now just use
2216 CPPFLAGS+= "-I${LOCALBASE}/include"
2217 LDFLAGS+= "-L${LOCALBASE}/lib"
2218
2219 Note that it's advised to append these variables (+=) instead
2220 of overriding (=) to allow customization by user.
2221
2222 20110320:
2223 AUTHOR: gerald@FreeBSD.org
2224
2225 * CPPFLAGS is now passed to both the configure and make environments,
2226 so this no longer needs to happen in individual ports by adding this
2227 to CONFIGURE_ENV or MAKE_ENV. Rather, just set CPPFLAGS in the port
2228 Makefile (if necessary).
2229
2230 For example, where you would have used
2231 CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include"
2232 MAKE_ENV= SOMETHING=foo CPPFLAGS="-I${LOCALBASE}/include"
2233 now just use
2234 CPPFLAGS= "-I${LOCALBASE}/include"
2235 MAKE_ENV SOMETHING=foo
2236
2237 20100831:
2238 AUTHOR: autotools@FreeBSD.org
2239
2240 * USE_GETTEXT has been cleaned up.
2241 'build' BUILD time dependency only
2242 'run' RUN time dependency only
2243 'yes' LIBRARY dependency
2244
2245 20100606:
2246 AUTHOR: gerald@FreeBSD.org
2247
2248 * USE_GCC=4.3 is deprecated (and no port uses it anymore). USE_GCC=4.3+
2249 is transparently rewritten to USE_GCC=4.4+ and lang/gcc43 will be
2250 disconnected from the USE_GCC infrastructure soon.
2251
2252 20100524:
2253 AUTHOR: alepulver@FreeBSD.org
2254
2255 * The license support files (bsd.licenses.mk and bsd.licenses.db.mk) from
2256 GSoc 2008/2009 have been committed. A new PH entry will be available
2257 soon, but for the moment look at:
2258 http://wiki.freebsd.org/PortsLicenseInfrastructure
2259 Or, alternatively, the comments at the beginning of the mentioned files.
2260
2261 20090906:
2262 AUTHOR: flz@FreeBSD.org
2263
2264 * There is now a unified way to create users and groups
2265 in your ports. First, make sure they are added to both
2266 ports/GIDs and ports/UIDs, then add the following in
2267 your port:
2268
2269 USERS= foo
2270 GROUPS= foo
2271
2272 ... if you want your port to create the foo user and
2273 group.
2274
2275 20090812:
2276 AUTHOR: portmgr@FreeBSD.org
2277
2278 * sourceforge.net has changed their URL layout to be more
2279 flexible for their users. A new bsd.sites.mk macro SFP
2280 has been added for projects that moved from
2281 http://${mirror}/sourceforge/%SUBDIR%/
2282 to
2283 http://${mirror}/project/%SUBDIR%/
2284 Note that %SUBDIR% is now highly individual for each
2285 project and might need changing as well.
2286
2287 20090521:
2288 AUTHOR: portmgr@FreeBSD.org
2289
2290 * bsd.port.options.mk is now clear to be widely used.
2291
2292 20090516:
2293 AUTHOR: pgollucci@FreeBSD.org
2294
2295 * APACHE_COMPAT is dead!
2296
2297 * USE_APACHE=yes is dead!
2298
2299 * WITH_APACHE13, WITH_APACHE2, WITH_APACHE20, and WITH_APACHE22 are dead
2300
2301 You should set USE_APACHE=13|20|22+. WITH_APACHE option can
2302 be used to conditional include support for ANY version of
2303 Apache based on APACHE_PORT. Currently www/apache13
2304
2305 20090207:
2306 AUTHOR: pgollucci@FreeBSD.org
2307
2308 * devel/libslang dropped in favor of devel/libslang2
2309
2310 * WITH_SLANG2 has been removed. WITH_SLANG now implies
2311 devel/libslang2.
2312
2313 20080905:
2314 AUTHOR: hrs@FreeBSD.org
2315
2316 * print/ghostscript-* and related ports have been renamed in the
2317 following way:
2318
2319 print/ghostscript-gnu -> print/ghostscript7
2320 print/ghostscript-gnu-nox11 -> print/ghostscript7-nox11
2321 print/ghostscript-gnu-commfont -> print/ghostscript7-commfont
2322 print/ghostscript-gpl -> print/ghostscript8
2323 print/ghostscript-gpl-nox11 -> print/ghostscript8-nox11
2324 japanese/ghostscript-gnu-jpnfont -> print/ghostscript7-jpnfont
2325 korean/ghostscript-gnu-korfont -> print/ghostscript7-korfont
2326
2327 * USE_GHOSTSCRIPT now supports a version number which the port
2328 requires. The valid value is "7" or "8". If other value is
2329 specified, value of WITH_GHOSTSCRIPT_VER is used.
2330
2331 * WITH_GHOSTSCRIPT_GNU has been removed in favor of
2332 WITH_GHOSTSCRIPT_VER. The valid value of WITH_GHOSTSCRIPT_VER is
2333 "7" or "8", and the default value is "8".
2334
2335 20080821:
2336 AUTHOR: rafan@FreeBSD.org
2337
2338 * CONFIGURE_ARGS is updated to use correct syntax for newer autoconf
2339 on the configure target. Individual ports no longer need to change
2340 CONFIGURE_TARGET to have the '--build=' prefix.
2341
2342 20080721:
2343 AUTHOR: pav@FreeBSD.org
2344
2345 * Default OpenLDAP version was changed from 2.3 to 2.4.
2346
2347 * USE_GTK and USE_XPM variables are no longer recognized.
2348
2349 20080523:
2350 AUTHOR: flz@FreeBSD.org
2351
2352 * By default, ports-mgmt/pkg_install now sets up a wrapper to use ports
2353 pkg_install (when installed) instead of base when the former is more
2354 recent. This can be disabled in the options menu, or with the
2355 WITHOUT_WRAPPER knob.
2356
2357 20080414:
2358 AUTHOR: pav@FreeBSD.org
2359
2360 * @rmtry is now supported in pkg-plist.
2361
2362 * USE_DISPLAY made more powerful, see comments in bsd.port.mk for details.
2363
2364 * ${PW} is now defined.
2365
2366 * LIB_DEPENDS can now be used with libraries with + sign in their name
2367 without the need for escaping.
2368
2369 20080312:
2370 AUTHOR: pav@FreeBSD.org
2371
2372 * USE_XPM no longer implies USE_XLIB.
2373
2374 * USE_LDCONFIG can now be used to Linux binary ports that install shared
2375 libraries instead of INSTALLS_SHLIB.
2376
2377 20070908:
2378 AUTHOR: gabor@FreeBSD.org, linimon@FreeBSD.org
2379
2380 * The Perl-related code parts have been extracted from bsd.port.mk to
2381 bsd.perl.mk. This includes the user-settable knobs (e.g. USE_PERL5)
2382 and infrastructure parts of the code, like default targets. The new
2383 code is designed to be conditionally included based on either
2384 USE_PERL5_*, PERL_CONFIGURE, or PERL_MODBUILD being set. However,
2385 some of the default settings remain in bsd.port.mk while we make
2386 sure that all ports comply with this.
2387
2388 * A convenient version handling has been implemented for Perl-related
2389 knobs. With this new feature one can require a minimal, a maximal or an
2390 exact version, that the given port needs. For the full description and
2391 some examples, please see the documentation in bsd.perl.mk.
2392
2393 20070804:
2394 AUTHOR: gabor@FreeBSD.org
2395 The following functional changes were made to bsd.*.mk and to
2396 Tools/scripts/security-check.awk:
2397
2398 * The variable definitions that cover command line tools, e.g. MKDIR, were
2399 extracted from bsd.port.mk into bsd.commands.mk, so that we can
2400 reuse them within the infrastructure later.
2401
2402 * The old DESTDIR implementation was removed both from the infrastructure,
2403 and from the individual ports. Variables like TARGETDIR should not longer
2404 be used.
2405
2406 * A new DESTDIR implementation has been added, implemented in bsd.destdir.mk.
2407 The new implementation puts no requirements on the individual ports.
2408
2409 20070730:
2410 AUTHOR: python@FreeBSD.org
2411
2412 * The default Python version has been changed from 2.4.x to 2.5.x.
2413
2414 * A number of variables have been added to bsd.python.mk to support
2415 the more integrated support for Python eggs, including:
2416 PYDISTUTILS_PKGNAME, PYDISTUTILS_PKGVERSION, PYEASYINSTALL_EGG,
2417 PYDISTUTILS_NOEGGINFO, PYDISTUTILS_EGGINFO, PYEASYINSTALL_ARCHDEP
2418
2419 * More detailed descriptions of the variables can be found in the comments
2420 in bsd.python.mk.
2421
2422 20070723:
2423 AUTHOR: rafan@FreeBSD.org
2424
2425 * The default CONFIGURE_ARGS when GNU_CONFIGURE is set now contains
2426 --mandir and --infodir if configure script supports them.
2427
2428 20070712:
2429 AUTHOR: maho@FreeBSD.org
2430
2431 * Add knob USE_FORTRAN for ports which uses FORTRAN. All ports uses
2432 FORTRAN compiler should use this knob. Usages are: USE_FORTRAN=yes
2433 (default;gfortran42), USE_FORTRAN=ifc (Intel FORTRAN compiler)
2434 and USE_FORTRAN=g77 (/usr/bin/f77 or g77-34).
2435
2436 20070701:
2437 AUTHOR: portmgr@FreeBSD.org
2438 The following change was made to the ports infrastructure:
2439
2440 * Virtual category 'kld' was added. If the port installs kernel loadable
2441 modules, it should be included in this category.
2442
2443 20070524:
2444 AUTHOR: portmgr@FreeBSD.org
2445 The following changes were made to the ports infrastructure:
2446
2447 * The 'make-deinstall-all' target now checks for moved ports.
2448
2449 * The installation directories PORTEXAMPLES and PORTDATA are now defined.
2450
2451 * The USE_MAKESELF knob is added for ports that use the makeself archiver.
2452
2453 * The description of fetch-list was updated. The targets fetch-required-list,
2454 fetch-url-list, and fetch-urlall-list were added.
2455
2456 * 'make search' will also now search in ports/MOVED.
2457
2458 * The default method for 'make update' is now portsnap. Previously,
2459 you had to manually select one of 3 methods: SUP_UPDATE, CVS_UPDATE,
2460 or PORTSNAP_UPDATE. The latter is now obsolete.
2461
2462 * Several Makevar definitions have been moved to the pre-makefile section:
2463 DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR.
2464
2465 20070403:
2466 AUTHOR: portmgr@FreeBSD.org
2467 The following changes were made to the ports infrastructure:
2468
2469 * The default dependency of USE_GHOSTSCRIPT has been changed from
2470 ghostscript-gnu to ghostscript-gpl. The WITH_GHOSTSCRIPT_GPL variable is
2471 now no-op. New WITH_GHOSTSCRIPT_GNU variable was added.
2472
2473 * bsd.tcl.mk was overhauled. Most importantly, the semantics of USE_TCL* and
2474 USE_TK* variables was changed. USE_TCL and USE_TK now implies both build
2475 and run dependencies, USE_TCL_RUN and USE_TK_BUILD variables were
2476 introduced. Existing ports in the tree were modified.
2477
2478 * Unused category 'tcl81' was removed, and new categories 'tcl' and 'tk'
2479 were added.
2480
2481 20070324:
2482 AUTHOR: portmgr@FreeBSD.org
2483 The following changes were made to the ports infrastructure:
2484
2485 * Default LIBTOOLFILES value was changed from literal `configure'
2486 to ${CONFIGURE_SCRIPT}.
2487
2488 * bsd.efl.mk was moved to ports/Mk. USE_EFL family of macros is now
2489 generally available to all ports.
2490
2491 * New macros COPYTREE_BIN and COPYTREE_SHARE were added, to allow
2492 for easy installation of a tree hierarchy, either with executable (bin)
2493 or read-only (share) permissions on files.
2494
2495 * A new variable WWWDIR was added, with default value of
2496 ${PREFIX}/www/${PORTNAME}.
2497
2498 * Variables DOCSDIR_REL, DATADIR_REL, EXAMPLESDIR_REL and WWWDIR_REL were
2499 added for porter's convenience. They contain the values of their
2500 respective non-REL variables, except relative to installation PREFIX.
2501
2502 20070313:
2503 AUTHOR: portmgr@FreeBSD.org
2504 The following changes were made to the ports infrastructure:
2505
2506 * bsd.ocaml.mk and bsd.xfce.mk were added.
2507
2508 * The FETCH_CMD was refactored so that ports can override the command,
2509 the arguments, or both.
2510
2511 20070306:
2512 AUTHOR: portmgr@FreeBSD.org
2513 The following changes were made to the ports infrastructure:
2514
2515 * The remaining vestiges of FreeBSD 4.X support were removed. Any
2516 remaining users of 4.X should have stayed with the RELEASE_4_EOL tag.
2517
2518 * It is now possible to include USE_PHP after bsd.port.pre.mk.
2519
2520 * 'make search' should now work with non-default ${PORTSDIR}.
2521
2522 20070130:
2523 AUTHOR: portmgr@FreeBSD.org
2524 The following changes were made to the ports infrastructure:
2525
2526 * DEPENDS variable was removed, please use other *_DEPENDS variables instead.
2527
2528 * A new pkg-plist keyword is available, @stopdaemon. It will call forcestop
2529 on all rc.subr scripts installed by the port on deinstall, effectively
2530 stopping services on deinstall/upgrade.
2531
2532 * rc.subr script suffix is now available in Makefile as RC_SUBR_SUFFIX.
2533
2534 * New variable USE_CDRTOOLS was introduced. It replaced direct dependencies
2535 on sysutils/cdrtools port. It now automatically support switching to
2536 cdrtools-cjk port when user specified WITH_CJK. All ports were converted.
2537
2538 * USE_DOS2UNIX, infrastructure for converting DOS to UNIX line feeds, was
2539 enhanced by a new variable DOS2UNIX_REGEX. It allows to specify a find
2540 -iregex parameter to limit touched files by file extensions.
2541
2542 * Support for partially translated manpages was added. For examples of
2543 usage, please refer to Porter's Handbook.
2544
2545 * USE_TCL/USE_TK variables were changed to provide runtime dependency. New
2546 variables USE_TCL_BUILD and USE_TK_BUILD were added. All unintuitive
2547 quirks of these variables were fixed.
2548
2549 * USE_LDCONFIG was fixed to work properly for ports, that specify @cwd in the
2550 pkg-plists.
2551
2552 * Old bsd.java.mk version 1.0 macros were removed.
2553
2554 * New category: ports-mgmt
2555
2556 * New virtual category: gnustep
2557
2558 * Unused 'picobsd' category was removed.
2559
2560 20070118:
2561 AUTHOR: maho@FreeBSD.org
2562 We'd like to ask all ports maintainers, who are using Fortran77 (f77 in base),
2563 to switch to Fortran90/95 (gfortran42, lang/gcc42). Please refer to
2564 http://people.freebsd.org/~maho/gfortran/gfortran.html
2565 for details.
2566
2567 20061014:
2568 AUTHOR: gnome@FreeBSD.org
2569 The following changes have been introduced to the GNOME porting process
2570 during the GNOME 2.16 update:
2571
2572 * GNOME is now installed into LOCALBASE. Any port which makes use of the
2573 gnomeprefix component will have its PREFIX forced to LOCALBASE
2574
2575 20060930:
2576 AUTHOR: portmgr@FreeBSD.org
2577 The following functional changes were made to bsd.port.mk:
2578
2579 * The bsd.port.mk pre and post includes have been split into 3 pieces
2580 instead of 2, to allow OPTIONS to be able to influence dependencies.
2581 This is still experimental and not yet enabled by any port. This adds
2582 the file 'bsd.port.options.mk'.
2583
2584 * bsd.gcc.mk has been updated to understand gfortran.
2585
2586 * emulators/linux_base is now removed. linux_base-fc4 has been the default
2587 for some time.
2588
2589 * The USE_FIREBIRD macro was added to bsd.database.mk.
2590
2591 20060914:
2592 AUTHOR: portmgr@FreeBSD.org
2593 The following functional changes were made to bsd.port.mk:
2594
2595 * PKGVERSION was introduced as an intermediate variable refactored out of
2596 PKGNAME.
2597
2598 * bsd.lua.mk was added to support lua-related ports.
2599
2600 * DESTDIR was removed from bsd.scons.mk because it was problematic.
2601
2602 * Some quotes were added to the 'missing' target to improve handling of
2603 duplicate origins.
2604
2605 20060903:
2606 AUTHOR: sat@FreeBSD.org
2607 The following functional changes were made to bsd.sites.mk:
2608
2609 * MASTER_SITES variable can now look like MACRO1/subdir1 MACRO2/subdir2, and
2610 be expanded in a way that you expect it to, that is apply different subdirs
2611 to different sites. You can safely replace ${M_S_FOO:S/%SUBDIR%/bar/} with
2612 FOO/bar.
2613
2614 * If M_S_SUBDIR is unset, a macro in M_S won't set it anymore, but rather
2615 substitute %SUBDIR% all by itself. Now it's possible to use macros with
2616 different default subdirs and they will expand in a proper way.
2617
2618 20060805:
2619 AUTHOR: sat@FreeBSD.org
2620 The following functional changes were made to bsd.sites.mk:
2621
2622 * MASTER_SITES variable can now contain special macros which are expanded into
2623 traditional URL[:group] syntax and cause some convenient effects, e.g. set a
2624 default M_S_SUBDIR.
2625
2626 * A macro is any space-delimited word in MASTER_SITES without a forward slash.
2627
2628 * If MASTER_SITE_<macro> is defined, then the macro is expanded to its value.
2629
2630 * Abbreviated macros are provided for extremely popular locations, e.g. CPAN
2631 and SF. To avoid further obfuscation their unabbreviated equivalents should
2632 be avoided.
2633
2634 * Popular macros can trigger M_S_SUBDIR to default to a predefined value, e.g.
2635 ${PORTNAME:L} for SF and ${PORTNAME:C/-.*//} for CPAN.
2636
2637 * Abbreviations and M_S_SUBDIR defaults are defined by MASTER_SITES_ABBREVS
2638 and MASTER_SITES_SUBDIRS, both set in bsd.sites.mk.
2639
2640 * If a macro belongs to a group (e.g. SF:source1), all the sites it expands
2641 into also belong to the same group.
2642
2643 * Macros and traditional URL's can be mixed safely, their order stays intact.
2644
2645 20060804:
2646 AUTHOR: gabor@FreeBSD.org
2647 The following functional changes were made to bsd.*.mk and to
2648 Tools/scripts/security-check.awk:
2649
2650 * Add DESTDIR support to let one install ports into a jail from outside.
2651 A package is installed under ${DESTDIR}${PREFIX} now and registered under
2652 ${DESTDIR}/var/db/pkg.
2653
2654 * TARGETDIR variable has been added for referencing ${DESTDIR}${PREFIX}.
2655
2656 * LOCALBASE, LINUXBASE and X11BASE variables point to the final destination
2657 now, LOCALBASE_REL, LINUXBASE_REL and X11BASE_REL can be used for the
2658 old behavior. The behavior has not been changed in PLIST_SUB.
2659 Note, that the three variables are still overridable with a hack, so this
2660 change doesn't affect POLA, but necessary for DESTDIR support.
2661
2662 * OSVERSION is now determined from the userland, not from the kernel.
2663 Cross-compiling between releases is still not supported, but this
2664 behavior is more correct for jails with differing userland from
2665 the kernel version.
2666
2667 * Add some sanity check for PREFIX and DESTDIR. This can be skipped by
2668 defining IGNORE_PATH_CHECKS, but very discouraged.
2669
2670 * Deinstalling from DESTDIR, determining if a port is already installed in
2671 DESTDIR, etc. are implemented by chrooting those specific commands.
2672
2673 * Text changes to reflect that we are installing to DESTDIR, removing from
2674 DESTDIR, etc.
2675
2676 Note, that this change implements only the infrastructure support. Ports should
2677 also be implemented to respect DESTDIR.
2678
2679 20060717:
2680 AUTHOR: portmgr@FreeBSD.org
2681 The following functional changes were made to bsd.port.mk:
2682
2683 * Introduces IA32_BINARY_PORT for certain cases where a given port fetches
2684 and installs compiled i386 binaries.
2685
2686 * Adds some infrastructure for support of 32-bit i386 apps on amd64.
2687
2688 * Again fix USE_LDCONFIG logic to make it work with non-default PREFIX to
2689 fix bug introduced in previous revision.
2690
2691 20060705:
2692 AUTHOR: portmgr@FreeBSD.org
2693 The following functional changes were made to bsd.port.mk:
2694
2695 * Change all bogus uses of BROKEN to IGNORE. (Note: the BROKEN_WITH_*
2696 forms are retained for compatibility but deprecated.) Internally,
2697 these variables all had already set IGNORE, not BROKEN, so they
2698 were really misnomers.
2699
2700 * Fix USE_LDCONFIG with non-default PREFIX.
2701
2702 * Fix DESKTOP_ENTRIES processing on 4.x.
2703
2704 * Add 'make missing' to show missing dependencies.
2705
2706 * Add bsd.scons.mk and bsd.wx.mk.
2707
2708 20060616:
2709 AUTHOR: portmgr@FreeBSD.org
2710 The patch in ports/95841 to get rid of remnants of FORCE_PKG_REGISTER
2711 was backed out because it broke kdelibs3*.
2712
2713 20060616:
2714 AUTHOR: portmgr@FreeBSD.org
2715 The following functional changes were made to bsd.port.mk:
2716
2717 * Update default MySQL version from 4.1 to 5.0 [1]
2718
2719 * Update default PHP version from 4 to 5 [2]
2720
2721 * Update default LDAP version from 2.2 to 2.3 [3]
2722
2723 * Add support for LDAP version 2.4 [4]
2724
2725 * Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
2726
2727 * Switch default Linux X implementation from XFree86 to X.org to track the
2728 above [5]
2729
2730 * Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
2731 the old behavior is preserved. Otherwise, it can be set to a list of
2732 directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
2733 Note that this directory is used by ldconfig startup script, it is meant
2734 to replace ldconfig scripts installed by some ports as (sometimes
2735 000.${UNQUENAME}.sh) [6]
2736
2737 * Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
2738 ${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
2739 only be used on 64-bit architectures) [6]
2740
2741 * Set the default LANG for tr to be C to avoid some build problems [7]
2742
2743 * Include bsd.java.mk in both pre and post sections [8]
2744
2745 * Get rid of remnants of FORCE_PKG_REGISTER [9]
2746
2747 * Always print options with make showconfig [10]
2748
2749 PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
2750 91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
2751
2752 20060523:
2753 AUTHOR: portmgr@FreeBSD.org
2754 The following functional changes were made to bsd.port.mk:
2755
2756 * include bsd.emacs.mk only when USE_EMACS is set [5]
2757
2758 * Correct the implementation of pretty-print-run-depends-list [8]
2759
2760 * Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
2761 are set after bsd.port.pre.mk. [9]
2762
2763 * Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
2764
2765 * Set PERL_MM_USE_DEFAULT in BATCH mode [11]
2766
2767 * Add the {ONLY,NOT}_FOR_ARCH_REASON and
2768 {ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
2769 customization of the error string reported to users when they
2770 attempt a build on an unsupported architecture. [12]
2771
2772 * Avoid errors from duplicated targets when parsing MLINKS on ports
2773 without a default value set. [13]
2774
2775 * Fix handling of MLINKS when invalid entries are listed [14]
2776
2777 * Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
2778 omitted, try to map ports categories to their freedesktop.org
2779 counterpart [15]
2780
2781 PR: 95238 [5], 94164 [8], 94219 [9], 92355 [10],
2782 95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
2783
2784 20060121:
2785 AUTHOR: portmgr@FreeBSD.org
2786 The following changes affecting ports developers were introduced:
2787
2788 * Gamin is a default FAM system
2789
2790 * New virtual categories: hamradio and rubygems
2791
2792 * Virtual category 'offix' was removed
2793
2794 * New USE_DOS2UNIX variable for converting DOS linefeeds to UNIX
2795
2796 * Variables like BROKEN and FORBIDDEN should no longer be quoted
2797
2798 * New NOFETCHFILES variable to prevent downloading from MASTER_SITES
2799 while still allowing MASTER_SITE_OVERRIDE
2800
2801 * New plist macro @dirrmtry with functionality of @unexec rmdir || true
2802
2803 * USE_REINPLACE no longer needs to be defined, REINPLACE_CMD is always
2804 available
2805
2806 Detailed documentation of new features is available in Porter's Handbook.
2807
2808 20051108:
2809 AUTHOR: portmgr@FreeBSD.org
2810 The following changes were introduced:
2811 * Add bsd.database.mk
2812 - move out from bsd.port.mk USE_MYSQL and USE_PGSQL.
2813 - add support for Berkeley DB and SQLite (via USE_BDB and USE_SQLITE
2814 knobs).
2815
2816 * Escape '+' in make search
2817
2818 * Add "makepatch" target to simplify creation of patches during porting
2819
2820 * Replace deprecated MACHINE_ARCH with ARCH
2821
2822 * Remove support of OpenLDAP 2.1
2823
2824 * Add bsd.tcl.mk
2825 It introduces USE_TCL/USE_TCL_BUILD knobs to support various
2826 version of tcl (8.0 -> 8.4)
2827
2828 * Fix cosmetic bugs in security-check target
2829
2830 * Add support for INDEX-7 and above (up to INDEX-9 actually)
2831
2832 * Add "package-recursive" to bsd.port.subdir.mk
2833
2834 * Remove check for FreeBSD version < 460101
2835
2836 * New category: net-im
2837
2838 * Add .desktop file facilities
2839 It introduces DESKTOPDIR and DESKTOP_ENTRIES knobs
2840
2841 * Add SHA256 support to "*checksum" targets
2842
2843 * Fix USE_PYTHON with OPTIONS
2844
2845 * Force NO_LINT to MAKE_ENV to avoid library breaks
2846
2847 * Fix typo: s/RC_ORDER/USE_RCORDER/g
2848
2849 * Add support for PostgreSQL 8.1
2850
2851 * Add bsd.apache.mk
2852 USE_APACHE knob enhancements
2853
2854 20051105:
2855 AUTHOR: gnome@FreeBSD.org
2856 GNOME has been upgraded from 2.10.2 to 2.12.1. This update brings with
2857 it many important porting changes:
2858
2859 - gtk20's pkg-config file no longer contains the X11 pango modules.
2860 Therefore, if your port requires these modules, you may have to
2861 manually patch them in to your port's Makefiles. Contact
2862 gnome@FreeBSD.org if you have questions on this.
2863
2864 - A new USE_GNOME component, ltverhack, has been added. This
2865 pseudo-component hacks libtool so that shared library versions are
2866 more consistent with other operating systems. Using this component
2867 can prevent unnecessary shared library version changes.
2868
2869 - A new macro, INSTALLS_ICONS, has been added. If your port installs
2870 Freedesktop-style icons to ${LOCALBASE}/share/icons or
2871 ${X11BASE}/share/icons, then you should use this macro. NOTE:
2872 use of this macro requires your port to set either USE_GNOME or
2873 WANT_GNOME.
2874
2875 20050618:
2876 AUTHOR: netchild@FreeBSD.org
2877 - USE_LINUX now implies NO_FILTER_SHLIBS=yes. It also doesn't use FreeBSD
2878 tools to strip binaries anymore, so it's not necessary anymore to override
2879 STRIP and STRIP_CMD.
2880 - USE_LINUX_PREFIX implies NO_MTREE now.
2881 - In the USE_LINUX case, USE_XLIB now depends upon the Linux X11 libraries
2882 instead upon the native FreeBSD libraries.
2883 - The variable LINUX_BASE_PORT contains a string which is suitable as an
2884 item in *_DEPENDS, so if a port BATCH_DEPENDS or FETCH_DEPENDS upon the
2885 default (or overridden) Linux base, ${LINUX_BASE_PORT} should be used
2886 instead of a hardcoded reference.
2887 - If USE_LINUX or OVERRIDE_LINUX_BASE doesn't point to an existing linux_base
2888 port and if USE_LINUX isn't set to "yes" (case insensitive), the port will
2889 be marked as IGNORE.
2890
2891 20050609:
2892 AUTHOR: portmgr@FreeBSD.org
2893 The following changes were introduced:
2894
2895 * Improve documentation of CONFLICTS.
2896
2897 * Fix add-plist-docs target to work correctly with wildcards.
2898
2899 * Fix USE_MYSQL and USE_PGSQL knobs to work in partial ports
2900 tree.
2901
2902 * Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM.
2903
2904 * Suppress "Vulnerability check disabled" message if
2905 DISABLE_VULNERABILITIES is defined.
2906
2907 * Switch default MySQL version to 4.1
2908
2909 * Add support for OpenLDAP v.23
2910
2911 * Fix add-plist-info and add-plist-post targets to avoid warnings
2912 from ports which redefine them.
2913
2914 * Fix add-plist-docs target to handle NOPORTDOCS knob properly.
2915
2916 * Use INSTALLDIRS="site" in configure for perl ports.
2917
2918 * Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
2919 defined.
2920
2921 * Add an ability to depend on versioned installed package.
2922 Example:
2923
2924 BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
2925
2926 Please note, it's experimental feature, work is currently in
2927 progress.
2928
2929 20050325:
2930 AUTHOR: jdp@FreeBSD.org
2931 The CVSup port has been upgraded with a patch to correct the
2932 handling of the "refuse" file for files that are in the CVS Attic.
2933 This solves a problem some people were having, where CVSup would
2934 delete their ports/INDEX* files even though the files were listed
2935 in the "refuse" file. The bug fix is in the cvsupd server, so
2936 mirror sites must upgrade their servers in order for this fix to
2937 help. Meanwhile, adding "ports/Attic/INDEX*" to the refuse file
2938 serves as a work-around.
2939
2940 20050321:
2941 AUTHOR: kwm@FreeBSD.org
2942 The gstreamer-plugins gconf dependency moved to its own port in devel.
2943 When your application needs gstreamer-plug-gconf, just add
2944 USE_GSTREAMER=gconf to you Makefile
2945
2946 20050319:
2947 AUTHOR: gnome@FreeBSD.org
2948 New GNOME components have been added to bsd.gnome.mk. See
2949 http://www.FreeBSD.org/gnome/docs/gnome2_porting.html for the complete
2950 list of available GNOME 2 components.
2951
2952 Py-gnome2 lost many of its GNOME dependencies to a new port,
2953 py-gnome-extras. Therefore, ports that used to depend on
2954 the pygnome2 component for modules such as gtkhtml2, gnomepanel, etc.
2955 should replace the pygnome2 dependency with pygnomeextras.
2956
2957 20050314:
2958 AUTHOR: edwin@FreeBSD.org
2959 New variable for in /etc/make.conf: IGNORE_MASTER_SITE_xxx
2960
2961 If you prefer a certain mastersite for a collection of master-sites,
2962 set this in your /etc/make.conf:
2963
2964 MASTER_SITE_xxx=http://z.x.y/%SUBDIR%/
2965
2966 If you insist on only using the ones you specify, set this in
2967 your /etc/make.conf:
2968
2969 IGNORE_MASTER_SITE_xxx=yes
2970 MASTER_SITE_xxx=http://z.x.y/%SUBDIR%/
2971
2972 Use "make -V MASTER_SITES" to see the differences.
2973
2974 20050313:
2975 AUTHOR: ahze@FreeBSD.org, kwm@FreeBSD.org
2976 The following changes were committed:
2977
2978 * USE_GNOME=gstreamerplugins has been deprecated.
2979 The new method which uses bsd.gstreamer.mk is:
2980 USE_GSTREAMER=plugin-name
2981
2982 Example:
2983 USE_GSTREAMER= dvd
2984
2985 or
2986
2987 WANT_GSTREAMER= yes
2988 .include <bsd.port.pre.mk>
2989 .if defined(WITH_DVD)
2990 USE_GSTREAMER= dvd
2991 .endif
2992
2993 * misc/gnomehier now creates a mtree file and each port
2994 using USE_GNOME=gnomehier or gnomeprefix now use the
2995 BSD.gnome-x11.dist mtree file to help "keep" directories
2996 and not accidentally add gnome directories to a port.
2997
2998 20050207:
2999 AUTHOR: portmgr@FreeBSD.org
3000 The following changes were committed:
3001
3002 * Change bento to pointyhat names in comments.
3003
3004 * Document DISABLE_VULNERABILITIES variable.
3005
3006 * Add WWW: line for 'search' target.
3007
3008 * Speedup check-vulnerable invocation, if portaudit is installed.
3009
3010 * Run install-info for all .info files.
3011
3012 * Run add-plist-docs more strictly and prevent some situations
3013 with leftover files in the future.
3014
3015 * Introduce two new variables: MASTER_PORT and SLAVE_PORT.
3016 The results from these variables is only used as information for
3017 users.
3018
3019 * Honor OPTIONS if PACKAGE_BUILDING or BATCH are defined.
3020
3021 * Move all USE_GCC entries to new file - bsd.gcc.mk. 'test-gcc'
3022 target allows users to check gcc version if USE_GCC is used.
3023 Give maintainers opportunity to add '+' character to USE_GCC version
3024 for using specified and higher versions.
3025
3026 Example:
3027
3028 USE_GCC=3.3+
3029
3030 builds ports with gcc version 3.3 and higher (3.4, 4.0).
3031
3032 * Install startup scripts with the help of USE_RC_SUBR variable.
3033
3034 * Add three new targets: config-recursive, rmconfig-recursive and
3035 config-conditional. You can set or delete OPTIONS for all
3036 dependencies before every build. config-conditional target is
3037 used to skip configuring ports which have already been
3038 configured.
3039
3040 * Fix using of WANT_PGSQL_VER variable if PostgreSQL is already
3041 installed.
3042
3043 20041231:
3044 AUTHOR: netchild@FreeBSD.org
3045 USE_LINUX_PREFIX doesn't implies USE_LINUX anymore.
3046
3047 20041209:
3048 AUTHOR: portmgr@FreeBSD.org
3049 The following changes were committed:
3050
3051 * Define new macros: DATE, FMT, MKTEMP, OBJDUMP, and use
3052 command macro SORT.
3053
3054 * Change layout of comments to 4 column tabs, remove lots
3055 of spaces and eight-column-tabs.
3056
3057 * Introduce 2 new variables: SUB_FILES and SUB_LIST:
3058
3059 Example:
3060
3061 SUB_FILES= pkg-message pkg-install
3062 SUB_LIST+= "VERSION=${VERSION}"
3063
3064 This looks for ${FILESDIR}/pkg-message.in and ${FILESDIR}/pkg-install.in
3065 Substitutions in SUB_LIST are applied to these files and the
3066 output is redirected to ${WRKDIR}.
3067
3068 PKGMESSAGE will be set to ${WRKDIR}/pkg-message.
3069 PKGINSTALL will be set to ${WRKDIR}/pkg-install.
3070
3071 * Document DEPRECATED and EXPIRATION_DATE variables.
3072
3073 * Sanitize the intermittent output by the build infrastructure
3074 so that cutting and pasting from it no longer interferes
3075 with GNATS-tags.
3076
3077 * Honor configure arguments for USE_XLIB if USE/WITH_LIBTOOL_ is
3078 used.
3079
3080 * Properly document 'describe' target.
3081
3082 * Properly remove directories at deinstallation time if ports sets
3083 a non-standard PREFIX.
3084
3085 * Defaults INDEXFILE to INDEX-6 on 6-CURRENT.
3086
3087 20041119:
3088 AUTHOR: portmgr@FreeBSD.org
3089 The following changes were committed:
3090
3091 * Fix INDEX build if MAINTAINER is not defined.
3092
3093 * Remove USE_QT2 option, since qt2 is obsolete.
3094
3095 * Better define and explain ARCH option.
3096
3097 * Add new script Tools/make_readmes, to speedup 'readmes'
3098 target. Avoid recursing into individual port directories and run
3099 it at top level, after the category README.html files have been
3100 created.
3101
3102 * Fix 'search' target and enable a case-insensitive search on 5-x.
3103
3104 * Extend 'search' target and enable search by categories.
3105
3106 * Remove 'tk42' and 'tcl76' categories since they're obsolete.
3107
3108 * Introduce DISTVERSION variable, that can be set instead of
3109 PORTVERSION and is automatically converted in a conforming PORTVERSION.
3110
3111 Example:
3112
3113 DISTVERSION= 10Alpha3
3114
3115 extends 10Alpha3 to 10.a3
3116
3117 DISTVERSION= 3Beta7-pre2
3118
3119 extends 3Beta7-pre2 to 3.b7.p2
3120
3121 * Use --suffix option instead of -b for patch(1), to make it
3122 compatible with BSD patch(1).
3123
3124 * Fix {WANT,WITH}_MYSQL_VER behavior, to deal with conflicting
3125 versions.
3126
3127 20041116:
3128 AUTHOR: gnome@FreeBSD.org
3129 The way OMF files are handled has been changed to use the new INSTALLS_OMF
3130 macro (similar to INSTALLS_SHLIB). Details about the new macro can be found
3131 at http://www.FreeBSD.org/gnome/docs/porting.html and bsd.gnome.mk.
3132
3133 20041113:
3134 AUTHOR: portmgr@FreeBSD.org
3135 Since INDEX version in CVS is always too old, portmgr decided to
3136 remove it. You will still be able to build your own INDEX or use
3137 'fetchindex' target in /usr/ports/.
3138
3139 20041109:
3140 AUTHOR: gnome@FreeBSD.org
3141 The way GConf schema files are handled has been changed to use the new
3142 GCONF_SCHEMAS macro (similar to MAN). Details about the new macro can be
3143 found at http://www.FreeBSD.org/gnome/docs/porting.html and bsd.gnome.mk.
3144
3145 20040803:
3146 AUTHOR: ade@FreeBSD.org
3147 As part of the ongoing autotools cleanup, devel/autoconf has been
3148 replaced with devel/autoconf253, and devel/automake with devel/automake15.
3149 Consumers of the various autotools knobs from bsd.autotools.mk should not
3150 notice any differences. This update completes the transition of autotools
3151 to true versioned packages (cf: tcl/tk)
3152
3153 20040723:
3154 AUTHOR: anholt@FreeBSD.org
3155 The XFREE86_VERSION variable is replaced by the X_WINDOW_SYSTEM variable.
3156 XFREE86_VERSION may no longer be used by ports Makefiles. X_WINDOW_SYSTEM may
3157 currently be set to xorg, xfree86-4, and xfree86-3 (please use :L in checking
3158 it). Several X_*_PORT variables are provided by bsd.port.mk which map to the
3159 appropriate port for the X_WINDOW_SYSTEM chosen.
3160
3161 20040719:
3162 AUTHOR: ale@FreeBSD.org
3163 There has been a big update to PHP ports and bsd.php.mk to add more
3164 flexibility and new features.
3165 Now a port may depend on a specific set of PHP extensions. To do so,
3166 simply replace:
3167
3168 USE_PHP= yes
3169
3170 with:
3171
3172 USE_PHP= ext1 ext2 ext3 ...
3173
3174 in the port Makefile. A list of all PHP extensions is included in bsd.php.mk.
3175 If the requirement is a build dependency too, the port should also define:
3176
3177 USE_PHP_BUILD=yes
3178
3179 Moreover, the new knob WANT_PHP_SCR has been added to indicate that the port
3180 requires the 'php' binary to run.
3181 Last but not least, many common operations to build/install/register a
3182 PHP extension can now be omitted from the port Makefile if it defines:
3183
3184 USE_PHPEXT= yes
3185
3186 For more information on this point and on additional variables, see
3187 bsd.php.mk.
3188
3189 20040717:
3190 AUTHOR: eik@FreeBSD.org
3191 OpenLDAP version 2.2 is now the default.
3192 When your port links against the openldap client libraries use
3193 USE_OPENLDAP= yes
3194 and do not depend on a particular version. A user (or package
3195 building cluster) can select the desired flavor with
3196 WANT_OPENLDAP_VER and WANT_OPENLDAP_SASL, but these must not
3197 be used in ports Makefiles.
3198
3199 20040709:
3200 AUTHOR: portmgr@FreeBSD.org
3201 USE_LIBTOOL_VER now configures a port to use the ports version of libtool
3202 instead of its included version. This was put in place to reduce the
3203 number of ad hoc patches to individual ports' libtools to prevent .la
3204 file installation as well as fix various threading problems.
3205
3206 To restore the previous libtool behavior, use the new macro,
3207 USE_INC_LIBTOOL_VER. It works the exact same way as USE_LIBTOOL_VER
3208 in that it takes a libtool version as its argument.
3209
3210 For example, to use the included version of libtool with extra hacks
3211 provided by libtool-1.5, add the following to your Makefile:
3212
3213 USE_INC_LIBTOOL_VER= 15
3214
3215 To use the ports version of libtool-1.5, add the following to
3216 your Makefile:
3217
3218 USE_LIBTOOL_VER= 15
3219
3220 Note: these macros are mutually exclusive. Your port should only include
3221 one or the other if it needs to make use of libtool.
3222
3223 20040707:
3224 AUTHOR: gnome@FreeBSD.org
3225 The way GConf schema files are installed has changed to support the upcoming
3226 GNOME 2.8 GConf. Details about the change can be found at
3227 http://www.FreeBSD.org/gnome/docs/porting.html. All existing ports have
3228 been converted to the new style, and portlint has been updated to flag
3229 old-style GConf schema installation.
3230
3231 20040610:
3232 AUTHOR: portmgr@FreeBSD.org
3233 The following behavioral or feature changes were committed:
3234
3235 * Support verbose index builds with INDEX_VERBOSE
3236
3237 * Support glob expressions in USE_GETTEXT to allow more flexibility
3238 in the face of future gratuitous library version bumps by the gettext
3239 developers:
3240
3241 USE_GETTEXT=yEs # Works as before (case-insensitive)
3242 USE_GETTEXT=[5-7] # Accepts any of those libintl.so.x versions
3243 # in the LIB_DEPENDS
3244
3245 * Extend 'make search' support to allow much more flexible searching
3246 From the PR:
3247
3248 Besides the good old key and name variables, this patch adds
3249 support for path, info, maint, cat, bdeps, and rdeps, which match
3250 on the appropriate fields, plus their exclusion counterparts: xkey,
3251 xname, etc.
3252
3253 Examples:
3254
3255 Find all ports whose names contain "pear-" but not "html" or "http":
3256
3257 make search name=pear- xname='ht(tp|ml)'
3258
3259 Find ports whose names contain "pear-" and which don't have apache
3260 listed in build-time dependencies:
3261
3262 make search name=pear- xbdeps=apache
3263
3264 The positive variables (name, key, maint, etc) are AND-ed, their
3265 negative versions are OR-ed; in other words, matching any x-
3266 variable will cause the port to be skipped, mismatch on any non-x-
3267 variable will cause it to be skipped.
3268
3269 Examples:
3270
3271 Find ports that are both in the 'www' category and maintained by
3272 Thierry Thomas:
3273
3274 make search maint=thierry@ path=/www/
3275
3276 Find ports in the 'archivers' category that are either not orphaned
3277 or don't have "zip" in their names (contrived):
3278
3279 make search cat=archivers xmaint=ports@freebsd xname=zip
3280
3281 It is possible to select fields to display.
3282
3283 Example:
3284
3285 Find PEAR ports that don't build-depend on apache, displaying only
3286 Port:, Path:, and Info: lines:
3287
3288 make search name=pear- xbdeps=apache display=name,path,info
3289
3290 Case-sensitivity can now be turned of with icase=1.
3291
3292 Example:
3293
3294 Find ports with @freebsd.org maintainer addresses without the
3295 "proper" capitalization (@FreeBSD.org), display their paths and
3296 maintainer addresses:
3297
3298 make search maint=@freebsd\\.org icase=0 display=maint,path
3299
3300 The key and xkey variables can be limited in scope to displayed fields
3301 by setting keylim to 1.
3302
3303 Example:
3304
3305 Find ports that contain "apache" in either of the name, path, info
3306 fields, ignore the rest of the record (dependencies, maintainer
3307 address, etc):
3308
3309 make search key=apache display=name,path,info keylim=1
3310
3311 The following variables can be set e.g. in /etc/make.conf to
3312 control default search behavior:
3313
3314 PORTSEARCH_DISPLAY_FIELDS?=name,path,info,maint,index,bdeps,rdeps
3315 PORTSEARCH_KEYLIM?=0
3316 PORTSEARCH_XKEYLIM?=0
3317 PORTSEARCH_IGNORECASE?=1
3318
3319 * Extend USE_PERL5_BUILD and USE_PERL5 to add EXTRACT and PATCH
3320 dependencies
3321
3322 * While building index, treat non-existent dependencies as fatal.
3323 Previously the error was being hidden by the stderr
3324 redirection.
3325
3326 * Don't always retry BROKEN ports when package building (it is taking
3327 too much time to continually rebuild ports that are usually going
3328 to really be broken). Set TRYBROKEN if you want to attempt a
3329 build of a BROKEN port.
3330
3331 20040604:
3332 AUTHOR: ade@FreeBSD.org
3333 Over the past few weeks, we have been testing the next
3334 incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
3335 at least some semblance of sanity back to this corner of the
3336 ports collection.
3337
3338 By far and away the easiest way to see the changes will be to
3339 view the new file once committed, but here is a summary of the
3340 changes:
3341
3342 1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
3343 been fully deprecated. Ports attempting to use these variables
3344 after the commit will error out, and most obviously break INDEX
3345 generation, with a helpful error message. Instead, ports must
3346 now specifically choose the version of any of these tools that
3347 they need with the corresponding USE_*_VER variables. Note that
3348 these variables understand any and all versions of autotools ports
3349 in the tree, there is no longer a need to have specific version
3350 numbers hardcoded in the infrastructure of bsd.autotools.mk
3351 (as there is now). In particular, this will immediately open up
3352 automake18 and autoconf259 for general use and beating.
3353
3354 2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
3355 Again, these have been fully deprecated, and the equivalent
3356 WANT_*_VER versions should be used.
3357
3358 In order to preserve existing behavior for these variables, please
3359 note the 20040314 entry in ports/CHANGES for the appropriate
3360 version numbers to use for any ports in the GNATS queue.
3361
3362 Both WANT_* and USE_* bring in the relevant tool as a build
3363 dependency, and set up a reasonably large number of variables
3364 pointing to the right programs to be using in the port. The
3365 only difference at the moment, is that USE_* will run an extra
3366 autotools-related configuration step, whereas WANT_* merely
3367 requests the environment.
3368
3369 3. The helper knob USE_LIBLTDL has been added which currently
3370 simply adds a LIB dependency on the libltdl port.
3371
3372 4. Three new variables have been introduced,
3373 WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
3374 do nothing by themselves (a Work-In-Progress), but if the
3375 appropriate autotool version is defined (either through
3376 WANT_*_VER or USE_*_VER), this will add the relevant dependency
3377 to RUN_DEPENDS.
3378
3379 Steps 3 and 4 now essentially negate the need for any kind of
3380 direct dependency within a non-autotools port Makefile on
3381 devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
3382
3383 20040416:
3384 AUTHOR: java@FreeBSD.org
3385 There has been a couple of bsd.java.mk tweaks and fixes.
3386
3387 . Features from Stage 2 has been removed. A port can no
3388 longer use the JDK dependency features by setting JAVA_HOME.
3389 Use JAVA_PREFERRED_PORT instead (see below).
3390
3391 . The default JDK port now depends on OS version:
3392 java/diablo-jdk13 for 4.x, and java/jdk14 for 5.x
3393
3394 . It is now possible for the user (and the porters) to
3395 define a list of preferred JDK ports to build and run ports.
3396 The port will use the first JDK port from the list that
3397 matches the requirements specified in the Makefile.
3398 JAVA_PREFERRED_PORT contains a list of suitable JDK ports
3399 (sorted by preference). Names for JDKs may be found in
3400 bsd.java.mk, listed in ${_JAVA_PORTS_ALL} (e.g.
3401 "JAVA_PORT_NATIVE_BSDJAVA_1_4").
3402
3403 . JAVA_PORT_VERSION is now set to the full version number
3404 of the chosen JDK (e.g. "1.4.2"). Porters will find hints
3405 regarding how to obtain the same behavior as before in the
3406 header of bsd.java.mk.
3407
3408 20040414:
3409 AUTHOR: gnome@FreeBSD.org
3410 When writing a port that uses GTK+ 2.X, you can now list the dependency
3411 with "USE_GNOME=gtk20" which is preferable to LIB_DEPENDS because the
3412 GTK+ library version only needs to be changed in bsd.gnome.mk.
3413
3414 Please see http://www.FreeBSD.org/gnome/docs/porting.html for all
3415 the available GNOME components as well as detailed instructions on
3416 creating ports that use the GNOME infrastructure.
3417
3418 20040404:
3419 AUTHOR: gnome@FreeBSD.org
3420 The glib20 and gtk20 ports were updated to 2.4.0. This new version
3421 is completely source and binary compatible with the previous 2.2.x
3422 series. However, certain API calls have been deprecated. If your
3423 port defines the following macros, they may refuse to build with
3424 the new versions of glib20 and gtk20:
3425
3426 GTK_DISABLE_DEPRECATED
3427 GDK_DISABLE_DEPRECATED
3428 G_DISABLE_DEPRECATED
3429
3430 The temporary solution is to either patch your port's Makefiles to,
3431 or use an in-place regular expression to remove these macros. The
3432 more permanent solution is to wait until the port's authors update
3433 their code to use current API calls.
3434
3435 20040402:
3436 AUTHOR: java@FreeBSD.org
3437 There has been a big update to bsd.java.mk. However, this update
3438 is mostly backwards compatible, so it shouldn't affect most java
3439 port maintainers. There is some new functionality and minor
3440 changes worth documenting here though.
3441
3442 bsd.java.mk now provides a new set of macros to be used by ports that
3443 require a JDK. When USE_JAVA is set, the following variables may be set
3444 in order to give to precision regarding the requirements of the port:
3445
3446 . JAVA_VERSION
3447 A list of space-separated suitable java versions for the
3448 port. An optional "+" allows you to specify a range of versions.
3449 (allowed values: 1.1[+] 1.2[+] 1.3[+] 1.4[+])
3450 (NOTE: Used to be set by bsd.java.mk)
3451 . JAVA_OS
3452 A list of space-separated suitable JDK port operating systems
3453 for the port. (allowed values: native linux)
3454 (NOTE: Used to be set by bsd.java.mk)
3455 . JAVA_VENDOR
3456 A list of space-separated suitable JDK port vendors for
3457 the port. (allowed values: freebsd bsdjava sun ibm blackdown)
3458 (NOTE: Used to be set by bsd.java.mk)
3459 . JAVA_BUILD
3460 When set, it means that the selected JDK port should be
3461 added to build dependencies for the port.
3462 . JAVA_RUN
3463 This variable works exactly the same as JAVA_BUILD but
3464 regarding run dependencies.
3465
3466 Here are some of the macros defined after setting USE_JAVA:
3467
3468 . JAVA_PORT
3469 The name of the JDK port (e.g. java/jdk14)
3470 . JAVA_HOME
3471 The home of the JDK port in the local base
3472 . JAVA_PORT_VERSION
3473 The version of the JDK port.
3474 (NOTE: Used to be JAVA_VERSION, see above)
3475 . JAVA_PORT_OS
3476 The operating system used by the JDK port.
3477 (NOTE: Used to be JAVA_OS, see above)
3478 . JAVA_PORT_VENDOR
3479 The vendor of the JDK port.
3480 (NOTE: Used to be JAVA_VENDOR, see above)
3481
3482 Plus many macros for the commonly used java executables:
3483
3484 APPLETVIEWER, JAR, JAVA, JAVAC, JAVADOC, JAVAH,
3485 JAVAP, JAVA_KEYTOOL, JAVA_N2A, JAVA_POLICYTOOL,
3486 JAVA_SERIALVER, RMIC, RMID and RMIREGISTRY.
3487
3488 bsd.java.mk 2.0 is mostly backward compatible with the previous
3489 version, save for the notes above and changed internal variables.
3490 Using the new features is strongly encouraged, since the old
3491 bsd.java.mk 1.0 features will be deprecated and may be removed in
3492 the future.
3493
3494 You will find more detailed info (as well as a quick tutorial) at:
3495 http://www.esil.univ-mrs.fr/~hquiroz/freebsd/bsd.java.mk-2.0.html
3496
3497 20040316:
3498 AUTHOR: gnome@FreeBSD.org
3499 The print/freetype2 port has been updated to 2.1.7. This update
3500 changes some of the internal FreeType API. Applications may need
3501 to be patched to support this new API. If a source files includes
3502 freetype/freetype.h, make sure ft2build.h is included before
3503 freetype/freetype.h. The proper way to do this is:
3504
3505 #include <ft2build.h>
3506 #include FT_FREETYPE_H
3507
3508 However, the following will work as well, but is deprecated:
3509
3510 #include <ft2build.h>
3511 #include <freetype/freetype.h>
3512
3513 20040314:
3514 AUTHOR: ade@FreeBSD.org
3515 USE_LIBTOOL, USE_AUTOCONF, and USE_AUTOMAKE are now considered
3516 deprecated, and will be removed on or around June 1st 2004.
3517 All ports should now choose the specific version of the tool,
3518 using USE_LIBTOOL_VER, USE_AUTOCONF_VER, and USE_AUTOMAKE_VER.
3519 The old "system default" behavior can be written as follows:
3520
3521 Old New
3522 USE_LIBTOOL=yes USE_LIBTOOL_VER=13
3523 USE_AUTOCONF=yes USE_AUTOCONF_VER=213
3524 USE_AUTOMAKE=yes USE_AUTOMAKE_VER=14
3525
3526 20040304:
3527 AUTHOR: eik@FreeBSD.org
3528 New variable MASTER_SITE_SOURCEFORGE_EXTENDED. It has the
3529 ten official sourceforge.net download mirrors, whereas
3530 MASTER_SITE_SOURCEFORGE only has five. To check if your
3531 port is mirrored there, go to
3532 <http://prdownloads.sourceforge.net/${MASTER_SITE_SUBDIR}/>
3533 click on ${DISTFILES} and you'll see five or ten mirrors,
3534 corresponding to the variables above.
3535
3536 20040226:
3537 AUTHOR: knu@FreeBSD.org
3538 The default version of Ruby is now 1.8 on all platforms
3539 including the i386.
3540
3541 Users on the i386 platform need to follow the instructions
3542 described in the UPDATING file to cope with this upgrade.
3543
3544 Next time ruby is major upgraded, you won't need to do this
3545 kind of messy work because some subtle changes have been made
3546 to the ruby port infrastructure to make it easier to handle
3547 multiple versions of ruby.
3548
3549 20040217:
3550 AUTHOR: gnome@FreeBSD.org
3551 Mozilla will now default to using GTK2, and will only compile
3552 against Gtk+-1.2 if explicitly requested. This is in exact
3553 opposite to the old behavior.
3554
3555 The valid values of WITH_MOZILLA are now:
3556 mozilla (www/mozilla, GTK2)
3557 mozilla-devel (www/mozilla-devel, GTK2)
3558 mozilla-gtk1 (www/mozilla-gtk1, GTK1)
3559 mozilla-devel-gtk1 (www/mozilla-devel-gtk1, GTK1)
3560
3561 As before, WITH_MOZILLA can be set in /etc/make.conf, but doing
3562 so is not advised unless you desire the development versions.
3563 GTK2 browsers will automatically compile against GTK2 mozilla,
3564 and GTK1 browsers (galeon1, galeon1, and galeon1) will
3565 automatically compile against GTK1.
3566
3567 Again, the only people who will need to take action are those
3568 who desire development versions (which are inactive at this time
3569 anyway). Those who want GTK1 mozilla-devel must set
3570 WITH_MOZILLA=mozilla-devel-gtk1 or they will be pleasantly
3571 surprised with their very own GTK2 installation on the next
3572 update.
3573
3574 WITH_MOZILLA=mozilla-gtk2 and WITH_MOZILLA=mozilla-devel-gtk2
3575 are still honored for the time being, but their use is
3576 now deprecated. Any new ports are not required to consider
3577 their values, and so eventually WITH_MOZILLA _will_ have to
3578 be changed.
3579
3580 Hopefully galeon2 can catch up to peoples' expectations from
3581 galeon1 soon, and we can remove the GTK1 ports altogether.
3582
3583 20040204:
3584 AUTHOR: portmgr@FreeBSD.org
3585 The bsd.php.mk file has been moved out of the lang/php4 port
3586 into the Mk directory. This will make it much easier to include
3587 PHP support in PHP-dependent ports. Instead of including
3588 bsd.php.mk directly, a port can simply set USE_PHP=yes, and the
3589 ports system with Do the Right Thing.
3590
3591 All trailing whitespace has been removed from bsd.port.mk.
3592
3593 Enhance the new OPTIONS code by only including saved options if
3594 the port defines OPTIONS, attempt to use LATEST_LINK as the
3595 unique name for a port (fall back to ${PKGNAMEPREFIX}${PORTNAME}
3596 otherwise), bring the ===> messages in line with the existing
3597 ones by using PKGNAME instead of PORTNAME, use PKGNAME in the
3598 dialog, use ECHO_CMD instead of ECHO_MSG to write the
3599 OPTIONSFILE, display a message during compilation indicating
3600 that user-specified options have been found, and make the output
3601 of the showconfig target a little more user-friendly.
3602
3603 A new USE_ICONV macro has been added that takes the place of an
3604 explicit LIB_DEPENDS on converters/libiconv. This will help
3605 with future shared lib version bumps.
3606
3607 A new USE_GETTEXT macro has been added that takes the place of
3608 an explicit LIB_DEPENDS on devel/gettext. This will help with
3609 future shared lib version bumps.
3610
3611 Module::Build is a system for building, testing, and installing
3612 Perl modules. It will eventually replace the obsoleted
3613 ExtUtils::MakeMaker. Many new Perl modules have already
3614 switched to using Build.PL instead of Makefile.PL. To
3615 facilitate building those modules, a new PERL_MODBUILD macro has
3616 been added. Use that in place of PERL_CONFIGURE when porting
3617 Perl modules that make use of the Module::Build framework.
3618
3619 Certain ports want to check for the availability of SDL
3620 libraries before including them. This change adds a new
3621 WANT_SDL macro similar to WANT_GNOME. By setting this, the
3622 porter indicates that her port can optional use SDL if present
3623 on the system. WANT_SDL should be defined _before_
3624 bsd.port.pre.mk is included. After including bsd.port.pre.mk,
3625 the list of available SDL components will be returned in the
3626 HAVE_SDL macro. For details on how to process this component
3627 list, refer to bsd.sdl.mk.
3628
3629 The OpenBSD and NetBSD projects diverged from the FreeBSD ports
3630 tree years ago, and it no longer make sense to include obsolete
3631 references to incorrect paths in the FreeBSD ports system. This
3632 change removes the NetBSD and OpenBSD PORTSDIR compatibility
3633 bits from bsd.port.mk.
3634
3635 The comment for PKGDIR read, ``A direction containing any
3636 package creating file.'' The word ``direction'' should be
3637 ``directory.'' This has been fixed.
3638
3639 A new DIRNAME macro has been added that points to
3640 /usr/bin/dirname. All direct use of dirname in ports can be
3641 switched to this macro.
3642
3643 Direct use of commands dirname, id, and rm have been corrected
3644 to use their macro equivalents instead. Some useless ${HEAD}
3645 -n 1 statements have been removed. A strange comment in the
3646 do-install target and an out of place ``fi'' have been fixed as
3647 well.
3648
3649 On 5-CURRENT after the 5.2-RELEASE split, the default Perl
3650 version has been updated from 5.6.1 to 5.8.2. As well, some
3651 Perl definitions in bsd.port.mk have been moved to their correct
3652 locations which corrects the PERL_LEVEL definition.
3653
3654 The following optimizations have been added to the ports system
3655 to speed up recursive operations such as make describe, make
3656 index, make ignorelist, etc. bsd.gnome.mk is now only included
3657 if a port defines USE_GNOME, WANT_GNOME, and/or USE_GTK. More
3658 variables are cached and passed down through bsd.port.subdir.mk.
3659 Perl is no longer invoked when a simple ``echo'' will do. More
3660 subshell variable assignments have been hidden behind
3661 conditionals so that the commands are not spawned every time.
3662 Finally, dependency lists are only constructed if ports actually
3663 declare dependencies. These optimizations give make index
3664 approximately a 43% speedup.
3665
3666 If CPUFLAGS is not defined (this _CPUCFLAGS is empty), trying
3667 to remove _CPUCFLAGS from CFLAGS will result in an error. This
3668 change fixes that.
3669
3670 On recent versions of 5.X, /etc/rc.subr exists, and there is no
3671 reason to install another copy in ${LOCALBASE}/etc. The reason
3672 this was ever done was to workaround some build issues on bento.
3673 However, testing OSVERSION seems to work in spite of those build
3674 issues.
3675
3676 The ports system now supports MySQL 3.23, 4.0, 4.1, and 5.0.
3677 Also, the ability to scale to newer versions was also but in
3678 place.
3679
3680 An .endif comment indicated that the .if block checked
3681 WANT_MYSQL when, in fact, it was checking WANT_MYSQL_VER. This
3682 has been corrected.
3683
3684 The PTHREAD{CFLAGS,LIBS} macros have been made overridable on
3685 all versions of FreeBSD to allow for alternate threading
3686 implementations (e.g. -lc_r, -lthr, -mt, etc.). The default
3687 threading library has been changed to -lpthread from -lc_r on
3688 -CURRENT.
3689
3690 The new SIZE support broke distfiles fetching on FreeBSD < 4.8.
3691 On those versions of FreeBSD, the SIZE distfile attribute is now
3692 ignored. Also, defining DISABLE_SIZE in, for example,
3693 /etc/make.conf, will ignore the SIZE attribute on all versions
3694 of FreeBSD. This is useful with alternate values for FETCH_CMD.
3695
3696 A new vulnerabilities database has been added to the ports
3697 system in order to keep more accurate, up-to-date, track of
3698 security vulnerabilities. The ports system now knows how to
3699 query that database and dynamically prevents the installation
3700 of vulnerable ports.
3701
3702 In order to allow for more rapid development of the package
3703 tools, the ports system will prefer to use pkg_* tools found in
3704 ${LOCALBASE} over those in the base system. However, all PKG_*
3705 macros are still overridable.
3706
3707 A new physical category, net-mgmt, has been created to house
3708 network management ports.
3709
3710 The /var/db/port.mkversion file never really took off, and is
3711 now very obsolete. Replace the code used to generate and check
3712 this file with a simple OSVERSION check. The ports system now
3713 requires FreeBSD 4.3 or higher.
3714
3715 The last round of bsd.*.mk changes broke ports that had
3716 duplicate distinfo entries (e.g. linux_base). This is now
3717 fixed. Along with this fix, only distfiles with a bad checksum
3718 will be refetched, where as distfiles missing from distinfo will
3719 not be refetched.
3720
3721 The PLIST_{DIRS,FILES} macros were passed to the final package
3722 list unchanged by PLIST_SUB. This is not always desirable.
3723 Now, those macros are passed through PLIST_SUB.
3724
3725 The previous OPTIONS code assumed users would be running port
3726 build as root. If this was not the case, OPTIONS configuration
3727 would fail. Now, the bits of the config and rmconfig targets
3728 that require write access to system directories are run under
3729 SU_CMD.
3730
3731 The makesum target will now add a SIZE attribute for each
3732 distfile by default. This can be overridden by defining NO_SIZE
3733 in a port's Makefile. Note: this could probably be expanded to
3734 omit SIZE attributes for specific distfiles in the future.
3735
3736 20040129:
3737 AUTHOR: trevor@FreeBSD.org
3738 SIZE lines in distinfo files: if you set USE_SIZE when you do "make
3739 makesum", the byte sizes of the distfiles will be listed in the
3740 distinfo file. Then, if a distfile is replaced on its master site with
3741 one of a different size than that listed, "make fetch" will fail with a
3742 "size mismatch" error before downloading the file and the user will be
3743 asked to fetch the file by hand. Also, a user will know the size of
3744 the distfiles before fetching and decide to fetch later.
3745
3746 20040129:
3747 AUTHOR: erwin@FreeBSD.org
3748 Start of CHANGES file.
3749
3750 FORMAT:
3751
3752 This file contains a list, in reverse chronological order, of major
3753 breakages or added features in tracking ports. Not all things will be
3754 listed here, and it only starts on January 29, 2004.
3755
3756 Copyright information:
3757
3758 Copyright 2004-2020 FreeBSD Foundation All Rights Reserved.
3759
3760 Redistribution, publication, translation and use, with or without
3761 modification, in full or in part, in any form or format of this
3762 document are permitted without further permission from the author.
3763
3764 THIS DOCUMENT IS PROVIDED BY FREEBSD FOUNDATION ``AS IS'' AND ANY EXPRESS OR
3765 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
3766 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
3767 DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
3768 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
3769 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
3770 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
3771 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
3772 STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
3773 IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
3774 POSSIBILITY OF SUCH DAMAGE.
3775
3776 Contact portmgr@FreeBSD.org if you have any questions about your use of
3777 this document.
3778
3779 $FreeBSD$

Properties

Name Value
svn:eol-style native
svn:keywords FreeBSD=%H
svn:mime-type text/plain

  ViewVC Help
Powered by ViewVC 1.1.27