forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
* devel/libtool13 is no more (requiem mors pacem)
* devel/libtool15 now installs as ${LOCALBASE}/bin/libtool etc.
(ie: no versioning on the binaries and scripts)
* USE_AUTOTOOLS= libtool:XX:inc has been deprecated
Where possible, ports should simply set GNU_CONFIGURE=yes and use the pre-packaged version of libtool that comes as part of the source distribution
* all the legacy hacks to libtool that we have been saddled with over the years have been removed. (eg: .la files are now installed) This brings us in line not only with Linux distributions, but also pkgsrc.
* libtool now understands, and correctly handles, "nonstandard" compilers
such as g++34, gcc295, etc. etc.
This could not have happened without the truly outstanding work from kris,
not only putting up with me, but also running countless builds, both on
dosirak and pointyhat. I am truly indebted to him.
Sponsored by: Theakston Old Peculier, Marlboro Red, Cafe de Colombia
Approved by: portmgr (kris)
very long and if some dependencies can't be added into the list.
[1]
- Fix FAM support. Make gamin the default FAM system. [2]
- Introduce new 'quicksearch' target to show only port, path and
info section of the matching ports. [3]
- Introduce new category - rubygems. [4]
- Fix stale dependencies while installing qmail slaveport and
another port that depends on qmail. [5]
- Add commentary for describes target in bsd.port.mk. [6]
- Fix warning issued during make index on archs !368. [7]
- Add USE_DOS2UNIX variable. If set to "YES", remove the ^M from
all files under ${WRKSRC}. If set to a string, remove in all files
under ${WRKSRC} with one of these names the ^Ms. [8]
- Add new variables PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS by
checking the existance of the Perl modules with the "perl -e 'use
module;'" command. [9]
- Fix bsd.port.mk variable quoting issues. No quoting is necessary
anymore either in the Makefile or on the command line. Affected
variables include:
BROKEN
FORBIDDEN
IGNORE
MANUAL_PACKAGE_BUILD
NO_CDROM
NO_PACKAGE
RESTRICTED
[10]
- Add NOFETCHFILES variable. If set, don't download these files
from the ${MASTER_SITES} or ${MASTER_SITE_BACKUP} (but do from
${MASTER_SITE_OVERRIDE}). [11]
- Improve 'search' target output. [12]
- Add a new virtual category for Amateur Radio - hamradio. [13]
- Cleanup some old/unused pathes in bsd.port.mk. [14]
- Add @dirrmtry for plists which does the same as:
"@unexec rmdir %D/foo 2>/dev/null || true" [15]
- Remove virtual category - offix. [16]
- Use portsnap instead of cvsup or cvs on "make update" in
/usr/ports. [17]
- Move location of bsd.autotools.mk within bsd.port.mk [18]
- Add bsd.linux-rpm.mk, fix INSTALLS_SHLIB for Linux ports [19]
- Use new USE_RC_SUBR format for FreeBSD version >= 700007 [20]
- Replace the string "FreeBSD" by "The FreeBSD Project" in the
security warning [21]
- Add bsd.local.mk for local modification to ports framework. [22]
- Replace rcNG spelling by rc.d [23]
- Remove superfluous USE_REINPLACE. [24]
Special thanks to: linimon for spending hours with all these patches
clement for fixes
kris for help with pointyhat
PR: ports/86310 [1], ports/89498 [2], ports/83530 [3],
ports/83789 [4], ports/84053 [5], ports/86281 [6],
ports/87214 [7], ports/87234 [8], ports/87318 [9],
ports/87396 [10], ports/87605 [11], ports/87840 [12],
ports/88230 [13], ports/88493 [14], ports/88711 [15],
ports/88751 [16], ports/89281 [17], ports/89999 [18],
ports/90031 [19], ports/90150 [20], ports/90668 [21],
ports/91433 [23], ports/88754 [24]
Submitted by: mi [1], marcus [2], Lars Engels <lars.engels@0x20.net> [3],
pav [4, 16, 20, 24], garga [5], cperciva [6], vd [7],
edwin [8, 9, 11, 15, 21],
fenner [10], Arseny Nasokin <tarc.po.cs.msu.su@tarc.po.cs.msu.su> [12],
Carl Makin <carl@stagecraft.cx> [13], arved [14],
NIIMI Satoshi <sa2c@sa2c.net> [17], thierry [18],
jylefort [19], linimon [22], dougb [23]
if a port is still using the old autotools Makefile constructs.
For example:
*** AUTOTOOLS WARNING for x11/electricsheep
This port is using old autotools constructs which wil be
disappearing on 1st January 2006
In most cases, this warning can be fixed by removing
all the old constructs and replacing them with:
USE_AUTOTOOLS= libtool:13
The first line should be easily parseable by portbuild and tinderbox
clusters to flag such ports.
I'll be doing a few more sweeps of the ports tree to pick up on any
such ports over the coming weeks, before turning off the old system
and marking the port BROKEN in such cases.
(via .warning) for pending ports etc. that use the Old World Order
for autotools.
This will turn into a BROKEN message, along with removal of the old
shims, on January 1st 2006, or after 5.5-RELEASE, whichever comes first.
it is empty. USE_AUTOTOOLS_COMPAT will always be defined, but we don't
want to assume that we're using autotools compatibility unless its value
is non-null. Previously, the defined check would cause ports using the new
USE_AUTOTOOLS scheme to fail.
Approved by: ade
USE_AUTOTOOLS stanza. Full backwards compatibility with the current
USE/WANT variables has been maintained via a number of shims which
are set to expire on January 1st, 2006.
Please do *not* start using USE_AUTOTOOLS in port Makefiles until
after 6.0-RELEASE has gone out the door. Once that has happened,
I will implement a tree-wide conversion process before 5.5-RELEASE,
at which points ports will be free to use the new mechanisms.
This change has been extensively locally tested with various large
consumers of autotools building with no ill-effects notice. However,
there may well be edge cases that need to be taken care of. After
discussion with various members of portmgr, it was agreed that this
commit could go ahead without an -exp run, but that does not, in
my mind, constitute full approval. The responsibility for any breakages
caused by this commit are mine, and mine alone. Please do file PRs,
or mail me directly, if breakage is noticed, and I will endeavor to
fix immediately.
PR: 82462
flagged a port as BROKEN. Since INDEX builds just fine, it's pretty
obvious that all ports have been converted over to the current world
order, and this has been the case through at least the lifetime of 5.x,
so it's time they went away.
using the various GNU autotools, running "aclocal" at configuration
time, prior to any other tools.
This should allow a number of ports Makefiles to be cleaned up with
respect to their explicit calling of ${ACLOCAL}
PR: 41945 (reworked for current reality)
Submitted by: Bruce M Simpson <bms@spc.org>
The versioned autotools are now strictly for building other ports in the tree.
Likewise, the gnu- autotools are for runtime dependencies for IDEs, and others,
where unmodified cross-platform capabilities are desired.
the libtoolX ports instead of the one included with each port. Ports that
set USE_LIBTOOL_VER=X will now use the ports version of libtool instead of
the included version. To restore previous behavior, use the new macro,
USE_INC_LIBTOOL_VER. Both macros accept the same argument: a libtool version.
For example, to use the ports version of libtool-1.5, add the following to
your Makefile:
USE_LIBTOOL_VER= 15
To use the included version of libtool with extra hacks provided by
libtool-1.5, add the following to your Makefile:
USE_INC_LIBTOOL_VER= 15
With this change, ports that had to add additional libtool hacks to prevent
.la files from being installed or to fix certain threading issues can now
delete those hacks (after appropriate testing, of course).
PR: 63944
Based on work by:eik and marcus
Approved by: ade (autotools maintainer)
Tested by: kris on pointyhat
Bound to be hidden problems: You bet
incarnation of ports/Mk/bsd.autotools.mk on the road to bringing
at least some semblance of sanity back to this corner of the
ports collection.
By far and away the easiest way to see the changes will be to
view the new file once committed, but here is a summary of the
changes:
1. USE_LIBTOOL, USE_AUTOCONF, USE_AUTOHEADER, USE_AUTOMAKE have
been fully deprecated. Ports attempting to use these variables
after the commit will error out, and most obviously break INDEX
generation, with a helpful error message. Instead, ports must
now specifically choose the version of any of these tools that
they need with the corresponding USE_*_VER variables. Note that
these variables understand any and all versions of autotools ports
in the tree, there is no longer a need to have specific version
numbers hardcoded in the infrastructure of bsd.autotools.mk
(as there is now). In particular, this will immediately open up
automake18 and autoconf259 for general use and beating.
2. Similarly for WANT_LIBTOOL, WANT_AUTOCONF, and WANT_AUTOMAKE.
Again, these have been fully deprecated, and the equivalent
WANT_*_VER versions should be used.
In order to preserve existing behavior for these variables, please
note the 20040314 entry in ports/CHANGES for the appropriate
version numbers to use for any ports in the GNATS queue.
Both WANT_* and USE_* bring in the relevant tool as a build
dependency, and set up a reasonably large number of variables
pointing to the right programs to be using in the port. The
only difference at the moment, is that USE_* will run an extra
autotools-related configuration step, whereas WANT_* merely
requests the environment.
3. The helper knob USE_LIBLTDL has been added which currently
simply adds a LIB dependency on the libltdl port.
4. Three new variables have been introduced,
WANT_{LIBTOOL,AUTOCONF,AUTOMAKE}_RUN=yes. These variables will
do nothing by themselves (a Work-In-Progress), but if the
appropriate autotool version is defined (either through
WANT_*_VER or USE_*_VER), this will add the relevant dependency
to RUN_DEPENDS.
Steps 3 and 4 now essentially negate the need for any kind of
direct dependency within a non-autotools port Makefile on
devel/autoconf*, devel/automake*, devel/libtool*, and devel/libltdl.
PR: 66037
Reviewed by: 4-exp bento cluster
This is essentially a null-commit, with the one exception that
the "patch-libtool" target is now called "patch-autotools" for
consistency with "run-autotools".
Many thanks to kris for testing on the 4-exp bento cluster
Approved by: portmgr (kris)
Verified by: bento 4-exp