Commit graph

32 commits

Author SHA1 Message Date
wiz
272d51cc21 Recursive ABI depends update and PKGREVISION bump for readline-6.0 shlib
major change.

Reported by Robert Elz in PR 41345.
2009-05-20 00:58:05 +00:00
joerg
2d1ba244e9 Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
2009-03-20 19:23:50 +00:00
jlam
9d8755394f Rename termlib.* to termcap.* to better document exactly what packages
are trying to use (the termcap t*() API).
2008-02-29 22:41:13 +00:00
jlam
b3e8682deb + Teach the readline buildlink3.mk and builtin.mk files to determine
the correct terminal library that must be linked along with -lreadline.
  On NetBSD, this is -ltermcap.  On Linux, this should be either -ltinfo
  or -lcurses.  On Solaris, this should be -lcurses.

+ Add a "termlib" dependency to the devel/readline package that allows
  for linking against -lcurses.  Bump the PKGREVISON to 1.
2008-02-27 18:16:37 +00:00
rillig
5acfb0b6ca Renamed BUILDLINK_TRANSFORM.* to BUILDLINK_FNAME_TRANSFORM.*, to make
clear that these variables are completely unrelated to
BUILDLINK_TRANSFORM.

Added a legacy check that catches appearances of BUILDLINK_TRANSFORM.*.

XXX: Where should incompatible changes in pkgsrc be documented?
2007-01-17 03:11:18 +00:00
joerg
5e43280b23 Replace mk/bsd.prefs.mk includes with bsd.fast.prefs.mk includes.
The redundant parsing of bsd.prefs.mk is mostly avoided now and
parse time e.g. for x11/kdebase3 gets reduced by up to 10%.
2006-12-12 21:52:34 +00:00
rillig
857d3b1ac1 Don't include bsd.prefs.mk more often than necessary. 2006-10-01 14:23:20 +00:00
jlam
c16221a4db Change the format of BUILDLINK_ORDER to contain depth information as well,
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.

For example, "make show-buildlink3" in fonts/Xft2 displays:

	zlib
	fontconfig
	    iconv
	    zlib
	    freetype2
	    expat
	freetype2
	Xrender
	    renderproto
2006-07-08 23:10:35 +00:00
jlam
9430e49307 Track information in a new variable BUILDLINK_ORDER that informs us
of the order in which buildlink3.mk files are (recursively) included
by a package Makefile.
2006-07-08 22:38:58 +00:00
rillig
96fc47c14f Aligned the last line of the buildlink3.mk files with the first line, so
that they look nicer.
2006-04-12 10:26:59 +00:00
reed
5abef9be14 Over 1200 files touched but no revisions bumped :)
RECOMMENDED is removed. It becomes ABI_DEPENDS.

BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.

BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.

BUILDLINK_DEPENDS does not change.

IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".

Added to obsolete.mk checking for IGNORE_RECOMMENDED.

I did not manually go through and fix any aesthetic tab/spacing issues.

I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.

I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.

As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.

As discussed on tech-pkg.

I will commit to revbump, pkglint, pkg_install, createbuildlink separately.

Note that if you use wip, it will fail!  I will commit to pkgsrc-wip
later (within day).
2006-04-06 06:21:32 +00:00
rillig
4e9b468952 Use "+=" for BUILDLINK_TRANSFORM.readline, as suggested by pkglint. 2005-11-04 16:53:24 +00:00
jlam
1085bc0ee0 Add a new variable BROKEN_READLINE_DETECTION which should be set to
yes/no by a package Makefile, depending on whether the configure
process properly detects the additional libraries needed to link
against -lreadline (typically, you need either "-lreadline -ltermcap",
or "-lreadline -lcurses" to properly link against -lreadline).  If this
variable is set to "yes", then we automatically expand "-lreadline" into
"-lreadline -l<termcap functions library>".  BROKEN_READLINE_DETECTION
defaults to "no".

Set BROKEN_READLINE_DETECTION to "yes" in security/heimdal and remove
the custom logic that did the same work.
2004-11-15 14:56:36 +00:00
jlam
4272ac65d6 Update devel/readline to 5.0. Changes from version 4.3 include:
* Improved compatibility with BSD csh modifiers.
* Improved vi editing mode.
* History files include timestamp information.
2004-11-14 06:16:49 +00:00
tv
c487cb967a Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10
in the process.  (More information on tech-pkg.)

Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.

Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
2004-10-03 00:12:51 +00:00
jlam
d0b4c54eb6 Split out the code that deals with checking whether the software is
built-in or not into a separate builtin.mk file.  The code to deal
checking for built-in software is much simpler to deal with in pkgsrc.

The buildlink3.mk file for a package will be of the usual format
regardless of the package, which makes it simpler for packagers to
update a package.

The builtin.mk file for a package must define a single yes/no variable
USE_BUILTIN.<pkg> that is used by bsd.buildlink3.mk to decide whether
to use the built-in software or to use the pkgsrc software.
2004-03-10 17:57:14 +00:00
jlam
f1a928f873 If USE_GNU_READLINE is set, then actually use the builtin readline if it's
GNU and satisfies the dependency requirements.
2004-02-20 06:51:16 +00:00
jlam
bf6e059da4 Reorder some lines so that BUILDLINK_USE_BUILTIN.<pkg> set in the
environment overrides all other settings.
2004-02-18 16:35:27 +00:00
jlam
6b1c1ab605 Deal with built-in readline actually being GNU readline. 2004-02-17 15:57:55 +00:00
jlam
d2b62c66fb Create a new variable PREFER_NATIVE that has the opposite semantics
as PREFER_PKGSRC.  Preferences are determined by the most specific
instance of the package in either PREFER_PKGSRC or PREFER_NATIVE.  If
a package is specified in neither or in both variables, then PREFER_PKGSRC
has precedence over PREFER_NATIVE.
2004-02-12 02:35:06 +00:00
jlam
1edfa505ed Reorganize code so that any dependencies are checked as part of deciding
whether the software is built-in or not.  This facilitates implementing
the forthcoming PKGSRC_NATIVE variable.
2004-02-12 01:59:37 +00:00
jlam
7c68eb548f Move the INCOMPAT_FOO checks to a more natural location within the
block that decides whether package FOO is built-in or not.  If the
platform is listed in IMCOMPAT_FOO, then treat FOO as being not
built-in.
2004-02-11 11:30:49 +00:00
jlam
7699290f10 If we're passing through MAKEFLAGS variables whose values may contain
spaces, use the :Q modifier instead of double-quoting the value.  This
avoids breakage when executing the just-in-time su targets.
2004-02-06 19:04:24 +00:00
jlam
317cc72791 Make PREFER_PKGSRC just yes/no or a list of packages. This makes it
simpler to understand.
2004-02-05 07:17:14 +00:00
jlam
e7133cac25 Rename BUILDLINK_PREFER_PKGSRC to PREFER_PKGSRC so that we can use its
value outside of buildlink-related files.
2004-02-05 07:06:15 +00:00
jlam
07a9d8dfb2 Support a new global variable:
BUILDLINK_PREFER_PKGSRC
	This variable determines whether or not to prefer the pkgsrc
	versions of software that is also present in the base system.

	This variable is multi-state:
		defined, or "yes"	always prefer the pkgsrc versions
		not defined, or "no"	only use the pkgsrc versions if
					needed by dependency requirements

	This can also take a list of packages for which to prefer the
	pkgsrc-installed software.  The package names may be found by
	consulting the value added to BUILDLINK_PACKAGES in the
	buildlink[23].mk files for that package.
2004-02-05 06:58:02 +00:00
jlam
01a5abff01 Support BUILDLINK_DEPENDS.<pkg> being a list of values. 2004-01-24 03:12:31 +00:00
jlam
1e60f2af54 Be a bit more accurate: we want to match a ".", not any character. 2004-01-10 08:40:07 +00:00
jlam
d279e6f535 Use S/+$// instead of C/\+$// to save a backslash. Very highly
recommended by seb :)
2004-01-05 11:05:44 +00:00
jlam
a0cec7cb59 Check variable values for "no" as well as "NO". Also sprinkle some
double quotes.
2004-01-05 09:44:44 +00:00
jlam
47bb2aae5f Re-arrange to match example buildlink3.mk file in bsd.buildlink3.mk. 2004-01-04 23:34:04 +00:00
jlam
339cd13cb2 Initial sprinkling of work-in-progress buildlink3.mk files for using the
buildlink3 framework.
2004-01-03 23:06:43 +00:00