Commit graph

4650 commits

Author SHA1 Message Date
wiz
359d40ead8 Remove obsolete W3M* variables. 2005-06-02 18:24:56 +00:00
wiz
e8b75f2a7d Document w3m options. 2005-06-02 18:24:29 +00:00
wiz
5c086d4305 Remove obsolete GOLEM_WITH_SOUND variable. 2005-06-02 18:10:48 +00:00
wiz
bcc7ade370 Add an article. 2005-06-02 18:10:13 +00:00
wiz
e36bf04565 Remove obsoleted MPLAYER_* variables. 2005-06-02 16:10:53 +00:00
wiz
7f0aa6e905 Remove obsolete blender options. 2005-06-02 14:16:02 +00:00
wiz
5f6c56480d Describe blender options, and sort. 2005-06-02 14:15:19 +00:00
abs
4c051b2ece Allow USE_JAVA2 to (optionally) be set to 1.4 or 1.5, and use in tomcat55 2005-06-02 10:07:48 +00:00
tron
286d96e77f Test whether "_TOOLS_USE_PKGSRC.perl" is defined before checking its value.
This makes "make fetch-list" in "pkgsrc/meta-pkgs/kde3" work again.
2005-06-02 09:31:25 +00:00
dillo
496c3feff5 remove obsolete variable BATTLEBALL_USE_MESA 2005-06-01 21:30:18 +00:00
wiz
29e4dbe4d2 Remove two obsolete QPOPPER variables. 2005-06-01 21:14:46 +00:00
wiz
74bb463639 Document some more options. 2005-06-01 21:13:24 +00:00
wiz
7454574067 Remove USE_MMX section; all USE_MMX users have been converted
to the mmx option.
2005-06-01 20:19:21 +00:00
jlam
fcb7da800b Remove mk/autoconf.mk and mk/automake.mk and replace their usage with
USE_TOOLS and any of "autoconf", "autoconf213", "automake" or
"automake14".  Also, we don't need to call the auto* tools via
${ACLOCAL}, ${AUTOCONF}, etc., since the tools framework takes care
to symlink the correct tool to the correct name, so we can just use
aclocal, autoconf, etc.
2005-06-01 20:07:59 +00:00
wiz
339d39213e Document mmx. 2005-06-01 19:43:29 +00:00
wiz
cdf354a376 Remove obsolete ATERM variables. 2005-06-01 19:40:22 +00:00
wiz
d4eccad746 Document aterm options. 2005-06-01 19:39:58 +00:00
wiz
8aaaeb0bb0 Describe lprng-* options. 2005-06-01 18:54:20 +00:00
wiz
5b1d5367f3 Remove obsolete LPRNG* options. 2005-06-01 18:52:32 +00:00
jmmv
cbe4100202 Convert the mplayer* and mencoder* packages to the options framework.
This means that the MPLAYER_ENABLE_RUNTIME_CPU_DETECTION,
MPLAYER_DISABLE_DRIVERS and MPLAYER_USE_MEDIALIB become deprecated
(although still recognized).

Visible changes in the resulting binary packages should be minimum by
default (everything that was enabled before still is, and the same
dependencies are kept).  A notable addition, though, is the support for
user-defined menus, closing PR pkg/29784.

Also note that (almost) all dependencies have now a corresponding option
to disable them in case you want to get a minimalist mplayer package.
'make show-options' is your friend ;)

With thanks to wiz@ and dillo@ for their comments and help.
2005-06-01 18:45:45 +00:00
wiz
596cf2a5ae Remove ipv6 -- use inet6 instead. 2005-06-01 18:23:57 +00:00
wiz
96a7a5307e Recognize inet6 in PKG_SUPPORTED_OPTIONS as an indicator
that a package support IPv6 (for the README-IPv6.html generation).
2005-06-01 18:16:20 +00:00
jlam
05db0b4f12 Turn IMAKE_MAKE into a public variable that may be set via /etc/mk.conf. 2005-06-01 18:14:23 +00:00
jlam
95fd1f6ec9 Massive cleanup of buildlink3.mk and builtin.mk files in pkgsrc.
Several changes are involved since they are all interrelated.  These
changes affect about 1000 files.

The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk.  bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files.  Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred.  This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.

The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages.  Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc.  This modification is a nod toward LOCALBASE=/usr.  The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.

The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc.  The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.

The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files.  Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories.  These files are used as input
to imake since imake can't use stdin for that purpose.

The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead.  This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed.  Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries.  Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
2005-06-01 18:02:37 +00:00
jlam
d811860c7b *.makevars.mk doesn't exist until after ${WRKDIR} is created, which
doesn't happen until after the package is extracted.  Prior to
extraction, cache the variables named in MAKEVARS using MAKEFLAGS
instead.  This avoids invoking each expensive computation up to four
times before it gets cached.  For packages that include lots of
buildlink3.mk files, this saves a lot of CPU time.
2005-06-01 17:27:22 +00:00
jlam
a72cd1c453 Include bsd.makevars.mk in bsd.prefs.mk instead of bsd.pkg.mk. This
allows the saved make variables to be re-set whenever bsd.prefs.mk is
included, and is a shortcut for the common case where a Makefile
includes both.
2005-06-01 17:05:19 +00:00
wiz
fdfab0ae03 Remove obsolete DELIVER_SUID. 2005-06-01 14:45:35 +00:00
wiz
eaf372f7d1 Document deliver-suid. 2005-06-01 14:45:25 +00:00
markd
81c0cfd0d0 OpenWindows imake installs manual pages to different locations than
where the XFree86/xorg ones do.
2005-06-01 14:27:12 +00:00
markd
8ddab030e4 On NetBSD, OpenBSD and BSDOS imake always installs man/catN pages with
a "0" suffix.
2005-06-01 14:23:07 +00:00
dillo
b05a793493 fix bug in legacy vars handling for option names containing `-',
found by jmmv.
2005-06-01 13:40:14 +00:00
jlam
4631a73a95 Separate out the logic to include the correct <phase>.makevars.mk file
into a new file bsd.makevars.mk that can be included by other Makefiles.
2005-06-01 03:04:16 +00:00
wiz
baee768fc0 Remove obsolete GIMP_HELPBROWSER option. 2005-05-31 22:26:45 +00:00
wiz
85b5f6a9e1 Describe gimp1-helpbrowser 2005-05-31 22:26:28 +00:00
wiz
ec9d5ddd47 Document irssi-perl. 2005-05-31 21:58:45 +00:00
jlam
54de37e60e Convert USE_GNU_TOOLS into USE_TOOLS as the former is no longer supported
in pkgsrc.
2005-05-31 21:53:26 +00:00
wiz
76c821aa28 Suggest pam instead of PAM as USE_PAM replacement. 2005-05-31 21:50:56 +00:00
wiz
dcdac2f761 Remove some obsolete variables. 2005-05-31 20:01:00 +00:00
jmmv
33a592167e PKG_FAIL_REASON must be (double-)quoted to achieve the correct output. 2005-05-31 18:25:37 +00:00
wiz
9091e5cb6a Remove obsolete BITCHX_WITH_GTK variable. 2005-05-31 16:37:30 +00:00
wiz
ea4137d54e Describe inet6 option, and standardize oss description a bit. 2005-05-31 16:28:29 +00:00
wiz
cf1cb4f409 Add oss and its description. 2005-05-31 16:13:04 +00:00
wiz
e313f31d70 Remove legacy lame option. 2005-05-31 16:05:09 +00:00
wiz
985d98eb1c Describe gtk option. End gqmpeg options with a dot,
like the others.
2005-05-31 16:04:20 +00:00
wiz
8dfa9a3aa9 Show a deprecated warning even if the deprecated variable is set to
something other than [yY][eE][sS].
If a deprecated warning is defined, interpret it as YES (because some
variables in defaults/mk.conf have defined/not defined as yes/no).

Reviewed by dillo.
2005-05-31 16:03:41 +00:00
drochner
c443a4ee63 add a variable "GECKO_PROVIDER" which tells whether firefox or mozilla
is to be preferred when a pkg wants to embed the browser
defaults to "firefox" because this is smaller and better maintained
per jmmv's recommendation
2005-05-31 15:42:04 +00:00
wiz
4bc0019fe0 Add option descriptions for gqmpeg-* 2005-05-31 15:11:48 +00:00
wiz
bd14bb74a1 Remove obsolete GQMPEG_NO_* variables. 2005-05-31 15:11:40 +00:00
rillig
66c9dd0de7 The available options are shown before the dependencies are installed.
Many package options influence the dependencies, so this order is more
likely to be useful.
2005-05-31 15:05:13 +00:00
salo
38a9c4ca3f DragonFly patch(1) can do backups, using -z flag:
-z, --suffix
      Causes the next argument to be interpreted as the backup extension,
      to be used in place of ".orig".

From Joerg Sonnenberger via private mail.
2005-05-31 12:31:21 +00:00
dillo
8cda012601 Rename describe-options to show-options, replacing the old show-options
target.
2005-05-31 12:10:07 +00:00
dillo
d6bfbe8582 Rename option PAM to pam (so all options are lower case). Backwards
compatibility provided via PKG_OPTIONS_LEGACY_OPTS.
2005-05-31 11:24:32 +00:00
dillo
42816a484c To ease cleanup of the options namespace, add code to support legacy
option names:

PKG_OPTIONS_LEGACY_OPTS+=	old:new

If PKG_DEFAULT_OPTIONS or PKG_OPTIONS.foo contains option old (or
-old) it is rewritten to new (or -new) and a warning is issued by
the supported-options-message target.
2005-05-31 11:05:31 +00:00
shannonjr
671529f3f6 Updated _GCC_DIST_VERSION from 3.4.3 to 3.4.4 to reflect recent update
to lang/gcc34.
2005-05-31 10:51:36 +00:00
dillo
f81ae835ad Packages have no business modifying PKG_DEFAULT_OPTIONS -- it's a
user settable variable.  Set PKG_SUGGESTED_OPTIONS instead.  Also,
make use of PKG_OPTIONS_LEGACY_VARS.

Reviewed by wiz.
2005-05-31 10:01:36 +00:00
jmmv
d5789c138e Simplify unprivileged builds by adding a new variable, UNPRIVILEGED, that,
when set to YES, changes multiple defaults to let this work properly.
2005-05-29 17:12:15 +00:00
dillo
7940fef51d set PKG_FAIL_REASON if any unsupported option is listed in PKG_OPTIONS.xxx 2005-05-28 12:14:34 +00:00
jlam
21f60837bd Don't use buildlink framework just to do a conditional dependency for a
binary tool.  We can now use the tools framework for this.  Remove the
various nroff/groff buildlink3.mk/builtin.mk files as editors/jove was
their only user in pkgsrc.
2005-05-26 21:49:39 +00:00
jlam
72f6164581 Teach the tools framework about nroff. 2005-05-26 21:46:13 +00:00
rillig
c7b8094edd Fixed the output of show-tools. 2005-05-26 11:15:30 +00:00
dillo
a60e646ed0 fix typo in documentation
add support for negative options in PKG_OPTIONS_LEGACY_VARS (NO_FOO:-foo)
undef temporary variables after for loop
2005-05-25 11:18:35 +00:00
dmcmahill
93521480a1 Add more error checking. PACKAGES must exist. No extra command line args taken. 2005-05-24 21:48:22 +00:00
dmcmahill
2d0657da0e improve the message when an invalid cache file version is found 2005-05-24 20:56:47 +00:00
dmcmahill
8512f22e60 Improve error checking. Specifically, after a new cache file is
created in a temp directory, issue a warning if we fail to install
it in the package directory.  If the error happens on the top
level (master) cache file, then error out.  For a subdirectory,
issue a warning and drop that directory from the master cache.
2005-05-24 20:49:41 +00:00
xtraeme
b433ad3e49 Add BUILTIN_PACKAGES, this will contain all builtin dependencies used
in packages, e.g on my NetBSD system:

$ cd pkgsrc/graphics/gimp && make show-var VARNAME=BUILTIN_PACKAGES
bzip2 heimdal openssl db1 gettext iconv zlib pthread
$

Ok'ed by jlam.
2005-05-24 15:41:05 +00:00
rillig
f5fcc97bca Added a variable PGSQL_VERSION that identifies the PostgreSQL version used. 2005-05-24 10:01:25 +00:00
jlam
80f5031e99 Add a new file find-libs.mk that can be included by builtin.mk files
to detect the presence of libraries in the base system.

The input variable is BUILDLINK_FIND_LIBS, which is a list of library
names, e.g. ncurses, iconv, etc., that will be sought in the base
system.  BUILDLINK_LIB_FOUND.<lib> is set to "yes" or "no" depending
on the result of the search.

An example use is:

BUILDLINK_FIND_LIBS:= intl iconv
.include "../../mk/buildlink3/find-libs.mk"
# ${BUILDLINK_LIB_FOUND.intl} and ${BUILDLINK_LIB_FOUND.iconv} are now
# either "yes" or "no".
2005-05-24 03:44:04 +00:00
jlam
780794d4c1 Work around brokenness in GNU configure scripts generated by autoconf-2.59a
-- the checks for grep and egrep are broken because when passed GREP
and EGREP in the environment, the script causes GREP and EGREP to be
set to empty strings, which causes GNU configure scripts to hang or
break.  Pass the real paths to grep and egrep through using ac_cv_path_GREP
and ac_cv_path_EGREP as well to avoid the brokenness.  This fixes the
build of textproc/gsed.
2005-05-23 17:07:22 +00:00
rillig
1809039339 Fixed the bug that I introduced with the last commit. I confused -n and -z. 2005-05-23 10:24:35 +00:00
rillig
c549cfb7a8 Fixed quoting in show-comment. 2005-05-23 07:57:02 +00:00
jlam
19ef841612 Teach the tools framework about "flex" so that packages can specify
that they require flex instead of any old lex.
2005-05-23 01:20:50 +00:00
rillig
04222ada9c Replaced three instances of $s with ${s} to make it consistent with the
three instances that were already ${s}.
2005-05-22 21:52:49 +00:00
rillig
17dffae007 USE_X11=yes instead of USE_X11=#defined. 2005-05-22 21:44:07 +00:00
jlam
163b6e6c2b Remove USE_TBL from pkgsrc and replace with USE_TOOLS+=tbl. 2005-05-22 21:04:41 +00:00
jlam
ea6e7a716b Don't add "INSTALL" to CONFIGURE_ENV as bsd.pkg.mk adds special values
for INSTALL by itself during the configure stage.  This fixes problems
with GNU configure scripts using the wrong value of INSTALL.
2005-05-22 20:58:27 +00:00
jlam
6a44e12a0b Finish removing instances of _USE_NEW_TOOLS from pkgsrc. 2005-05-22 20:15:40 +00:00
jlam
585534220c Remove USE_GNU_TOOLS and replace with the correct USE_TOOLS definitions:
USE_GNU_TOOLS	-> USE_TOOLS
	awk		-> gawk
	m4		-> gm4
	make		-> gmake
	sed		-> gsed
	yacc		-> bison
2005-05-22 20:07:36 +00:00
jlam
9f94b112f0 Remove the old tools framework and references to _USE_NEW_TOOLS. 2005-05-22 19:11:12 +00:00
rillig
aeb4d04119 Fixed some quoting issues. 2005-05-22 15:31:03 +00:00
minskim
9e8f5af260 Do not enable _IMAKE_TOOLS unless imake is used. Otherwise, packages
would always be built with gmake on Linux.
2005-05-22 05:21:15 +00:00
jlam
63e891437c Some packages want to embed the path to the perl tool in scripts but
don't want to depend on perl, e.g. devel/cvs.  Provide values for
TOOLS_PERL5 and PERL5 even if the package doesn't ask for the perl
tool.
2005-05-22 02:30:53 +00:00
jlam
ce40410af8 The path to perl is now passed via CONFIGURE_ENV as of revision 1.9 of
mk/tools/replace.mk.
2005-05-22 02:05:24 +00:00
jlam
b3ff0bed40 Allow a tool to be passed to GNU configure scripts under more than
one name.
2005-05-22 01:56:27 +00:00
jlam
edef76fb93 Add a few more tools for GNU configure scripts: grep, env, xmkmf. 2005-05-22 01:53:55 +00:00
dmcmahill
78adb68b24 pass down FIND to genreadme.awk and binpkg-cache 2005-05-22 01:37:31 +00:00
dmcmahill
6806d580c9 use find ${DIR}/ -name \*${SUFX} instead of ls ${DIR}/*${SUFX} when
generating a list of possibles packages.  Avoids proglems with too long
of a command line for ls.  While here change find to ${FIND}.
2005-05-22 01:36:49 +00:00
jlam
5792714269 For packages that use GNU configure scripts, pass the real command
paths for the tools that the package uses through the shell environment.
We do this since these paths may be hardcoded into package scripts,
and if they're not pre-specified, then they'll be searched for in the
PATH, which would find the ones in ${TOOLS_DIR}.

The variable names that GNU configure scripts expect are named in
_TOOLS_VARNAME_GNU.* for the various tools.
2005-05-21 23:09:36 +00:00
jlam
2fdd3b1275 Make a bad patch cause a fatal error again. This fixes a bug introduced
in revision 1.5 and fixes PR pkg/30297.
2005-05-21 21:40:45 +00:00
jlam
3b3b871622 Grammar 101 -- sentences should end in a period. 2005-05-21 04:53:17 +00:00
jlam
6cb4436e71 Add TNF copyright to the new tools framework makefiles. 2005-05-21 04:46:52 +00:00
jlam
1cfa811f1b In computing _REPLACE_LOCALEDIR_PATTERNS_FIND_cmd, make sure the :sh
operator does not result in an empty string as make(1) doesn't like
them.  Also, rewrite the variable substitution for the find(1) command
to be more readable, and get rid of the extra grep(1) in favor of
using :N.
2005-05-21 01:55:53 +00:00
rillig
50085b3e47 Made sure the :sh operator does not result in an empty string. Rewrote the
variable substitution for the find(1) command to be more readable.
2005-05-20 22:40:36 +00:00
dmcmahill
84ada91a3b get rid of a spurious %%SUBDIR%% which found its way into the generated category README.html 2005-05-20 21:48:45 +00:00
jlam
262ed77f43 Change instances where we stored shell command in a make variable into
variables that use the :sh modifier.  This still causes expansion to only
happen when referenced, and has the advantage of being :Q-safe.

Bring back the changes from revision 1.19 of mk/subst.mk now that the
problem noted above has been fixed.  This passes the buildlink-unwrap
regression test.
2005-05-20 21:36:05 +00:00
jlam
a95ee34254 Revert part of revision 1.18. The new quoting was breaking some
assumptions being made by the USE_PKGLOCALEDIR code and the wrapper
framework since it added backtick expressions to the SUBST_FILES.*
variables, which were being mangled by the :Q modifier.  This is
evident when running "make regress" in regress/buildlink-unwrap.

Mea culpa.
2005-05-20 18:40:42 +00:00
dmcmahill
69dfa5b1c2 Rework how the lookup of binary packages in the cache is performed.
As data for a given binary package is loaded, increment a count
stored with PKGPATH as the index.  Then use a psuedo-multidimensional
array with PKGPATH and the # as the index.  This allows for much
faster lookups and scales linearly with the number of packages.
The old way scaled as the product of the number of pkgsrc entries
and the total number of binary packages.  Not a pretty value.

This makes the actual README.html generation part run about 3x faster.

Approach suggested by soda.
2005-05-20 04:39:44 +00:00
jlam
62acf70ba6 Only add the autoconf tool if the user also requested automake. This
avoids making autoconf required by every package in pkgsrc.
2005-05-20 03:08:45 +00:00
jlam
5a4310c9a2 Move the PLIST_SUBST lines that substitute for PERL5_* variables from
perl5/module.mk into tools/perl.mk so that the substitution occurs for
all packages that use perl.
2005-05-20 03:00:16 +00:00
jlam
169a6feefa Properly quote dependency to avoid creating garbage files in the pkgsrc
tree.
2005-05-20 02:57:23 +00:00
jlam
53e42fcf42 Based on the value of ${AUTOCONF_REQD}, choose the right autoconf tool
to use.  This fixes packages that want automake-1.4, but autoconf-2.50.
2005-05-20 02:40:23 +00:00
dillo
00369f3c0a list all the extracted variables, not just some of them 2005-05-19 22:58:21 +00:00
dmcmahill
49e27f3b48 make local variables in a few functions be local 2005-05-19 21:11:24 +00:00
kristerw
9fbb603b11 Use MACHINE_ARCH instead of arch to be consistent with things like the
subject line in the bulk mail.  This also prevents the quoting problem
on Darwin, where arch contains a space.
2005-05-19 20:56:36 +00:00
jlam
28e2995cd1 We can only use the subst.mk framework if the files are relative to
${WRKSRC}.  Just directly create the msgfmt wrapper in the proper
target.  Also, note that the msgfmt handling should eventually migrate
to the tools framework so that build dependencies and binary paths are
correct.
2005-05-19 20:08:44 +00:00
kristerw
ec780b54f1 Convert the last remaining usage of GTAR to use PAX instead. 2005-05-19 19:50:25 +00:00
jlam
a743d24806 Use PAX instead of GTAR since pax is provided on all systems while gtar
isn't.
2005-05-19 19:24:59 +00:00
dillo
7ca1903079 wiz says ``avifile is dead; i killed it'' 2005-05-19 19:20:29 +00:00
jmmv
f3d2e84d49 Add ku locale, used by gnome-backgrounds-2.10.1. 2005-05-19 16:45:33 +00:00
jlam
87110dbd7b PERL5_PKGSRCDIR is no more. Explicitly use "lang/perl58" for the
location of the perl package to install for bulk builds.
2005-05-19 15:18:13 +00:00
dmcmahill
e6574d0456 allow spaces after the "=" in the .pkgcache files. This was noted with
some of the older packages on ftp.netbsd.org.  For example,
pkg_info -B ftp://ftp.netbsd.org/pub/NetBSD/packages/1.5.2/vax/All/cascade-1.4.tgz
will give

OPSYS= NetBSD

instead of

OPSYS=NetBSD
2005-05-19 11:46:40 +00:00
jlam
10b0f8d012 Merge most of imake.mk into replace.mk and leave imake.mk to contain
the extra bits required by packages that use imake/xmkmf.  This
consolidates most of the replacement tools handling into replace.mk.
2005-05-19 05:27:25 +00:00
dmcmahill
82b5d7feb9 - if the mv of the temporary cache file to the real one fails, usually
due to a directory permissions error, then error out.

- when the master cache has just been newly created, don't also report
  that the master cache is up to date.

Both were suggested by Christian Hattemer.
2005-05-19 03:58:40 +00:00
jlam
0e05f46639 Merge most of perl.mk into replace.mk and leave perl.mk to contain
the extra bits required by packages that use perl.  This causes
PKGSRC_USE_TOOLS+=perl to work properly.
2005-05-19 03:52:23 +00:00
dmcmahill
6d38639554 if the top level package cache file does not exist then exit with
a fatal error.  Noted by Christian Hattemer.
2005-05-19 03:50:39 +00:00
jlam
2046497558 Properly deal with case where TOOL_DEPENDS.* is a list of values by
iterating over each dependency in the list.
2005-05-19 02:27:38 +00:00
jlam
15cc40e17f The example is missing a definition for PKG_OPTIONS_VAR. 2005-05-19 01:15:57 +00:00
rillig
296e86963f Replaced the NO_WRKDIR_SYMLINK variable with CREATE_WRKDIR_SYMLINK, as
suggested by Alistair. If you don't want the symlinks, set the variable
to "no".
2005-05-18 23:59:44 +00:00
jlam
d6f6120540 Goal: Remove USE_PERL5 from pkgsrc.
Plan:
	(1) Change USE_PERL5=build into USE_TOOLS+=perl.
	(2) Change all other USE_PERL5 into including perl5/buildlink3.mk.

Possibly, for packages that don't actually build anything with perl,
but merely require it for the perl interpreter, we can instead do:

	USE_TOOLS+=		perl
	TOOLS_DEPMETHOD.perl=	DEPENDS

but this is more verbose than simply including the perl5/buildlink3.mk
file.

Move the PERL5_REQD computation into a lang/perl5/version.mk file,
and only do the USE_PERL5 logic in bsd.pkg.use.mk if we're not using
the new tools framework.  This consolidates all of the perl-handling
into two places -- lang/perl5 and mk/tools/perl.mk.
2005-05-18 22:42:07 +00:00
sketch
7cdf1cbaf4 Reinstall BULK_PREREQ before running the post-build script as there may be
dependancies required for that script, an smtpd for example, as well.
2005-05-18 20:12:49 +00:00
rillig
e6648d55fb If NO_WRKDIR_SYMLINK is defined, no symlink to ${WRKSRC} is created when
the WRKOBJDIR is set explicitly. This allows for having pkgsrc mounted
r/w without actually modifying it.
2005-05-18 19:42:01 +00:00
tv
6dd847be9f Since there may have been merge errors in libtool-base 1.5.18, force
LIBTOOL_REQD to 1.5.18nb1.
2005-05-18 14:41:50 +00:00
jlam
5a008c838b Use nawk as the default "awk" replacement since it has no dependencies
and is still strong enough for pkgsrc use.
2005-05-18 05:31:55 +00:00
dmcmahill
afce691e43 make use of the new tools framework via the prereq-readme package to
extract tools needed for the README.html generation.  Suggested by
Johnny Lam and Rolland Illig.
2005-05-18 04:51:35 +00:00
rillig
eba78b2381 Removed the quoting for SUBST_MESSAGE.<class>. Most packages unnecessarily
define that inside double quotes.
2005-05-18 03:33:51 +00:00
jlam
d17d2e4a4f perl.mk was moved from being included by bsd.tools.mk to replace.mk.
Since replace.mk has its own loop to add dependencies, we can remove
the one from perl.mk.
2005-05-18 03:14:01 +00:00
rillig
8a83e6b802 Added the show-tools target, which emits a shell code fragment defining all
tools known to the pkgsrc infrastructure.
2005-05-18 02:52:38 +00:00
jlam
3823422ca7 If USE_TOOLS has "perl" then also define PERL5_PKGSRCDIR for use by
mk/tools/perl.mk.  This fixes broken dependencies on perl where the
path to the package wasn't defined.
2005-05-17 22:49:55 +00:00
jlam
39cbd126b0 Make USE_TOOLS+=imake imply USE_X11BASE=yes, along with the other
variable definitions that apply when USE_IMAKE is defined.
2005-05-17 22:22:52 +00:00
jlam
26e97aafd5 _tar.gz is a recognized suffix, so recognize that we need the right tool
to untar the archive.
2005-05-17 22:11:14 +00:00
jlam
876fcd9d31 Turn _MANCOMPRESSED into a strictly "yes" and "no" variable
(case-sensitive) to simplify writing the do-install target code that
automatically compresses or decompresses man pages after installation.
2005-05-17 22:07:56 +00:00
dmcmahill
832614bc4c Rework the README.html generation code. Major changes are:
- completely redo the code which decides on the machine architecture,
  operating system, and operating system version for the binary packages.
  The old way just used to directory names to take a guess.  The new
  way creates a cache file containing meta-data for all the binary packages
  in each "All" directory.  This cache file is consulted when generating
  the lists of available binary packages.  The meta-data is obtained with
  pkg_info so it should always be correct even if you do something silly
  like mix OS_VERSION or MACHINE_ARCH packages up in the same directory.

  Among the benefits are:  works when PACKAGES is not $PKGSRC/packages,
  works with a more or less arbitrary subdirectory structure, works
  when there are subdirectories for multiple operating systems.

  This portion of the fix should address PR25390.

  The cache files are only updated when the contents of an "All" directory
  changes or if the cache file format changes.  There is some room for
  improving the updating of the cache files, but its not too bad the way
  it is.

- fix up some of the awk code so that generadme.awk works with Solaris
  nawk as well as NetBSD's nawk and gawk (for pre-2.0 systems).

- remove some "if ! foo" shell constructs to increase portability.

- be more consistent with what variables get passed to mkreadme from
  make and which ones are determined automatically.  Mostly this meant
  moving stuff into mkreadme to make it easier to run it standalone.
2005-05-17 21:46:59 +00:00
jlam
0f437f77f6 Allow tweaking of options to pax/tar via EXTRACT_CMD_OPTS.*. 2005-05-17 21:34:29 +00:00
jlam
d3bca7af85 Missed (harmless) rename of "fuzz" to "fuzz_flags". 2005-05-17 19:11:02 +00:00
jlam
9513935c48 Simplify by using a for loop instead of "set -- ...; while ... done".
Also, rename "fuzz" to "fuzz_flags" to clarify that it's a set of flags
and should be used unquoted.  Output from rilligd :)
2005-05-17 19:08:30 +00:00
rillig
e251db98e2 The sunpro wrapper now creates aliases for gcc and g++, too. This is needed
because the <sys.mk> Makefile fragment sets CC?=gcc.
2005-05-17 19:06:21 +00:00
rillig
feabae83e2 Fixed shell quoting. Reviewed by jlam. 2005-05-17 19:01:36 +00:00
jlam
8c1f92916b Move perl handling into replace.mk. We now can specify USE_TOOLS+=perl
to note that we need the perl binary and the associated PERL5 and
TOOLS_PERL5 variable definitions.
2005-05-17 18:34:45 +00:00
schmonz
fa12e66df0 Excise DJB_CONFIG_DIR. 2005-05-17 08:42:24 +00:00
jlam
62c3dfb798 Save the names of the patches applied during the patch phase into the
patch cookie file, one per line.  A package with no patches applied
will have a patch cookie file with no lines (zero bytes).
2005-05-17 06:31:00 +00:00
jlam
25dcb2dc7a We only need to run the apply-pkgsrc-patches target if the patches
directory or the local patches directory exist.  Also, emit the message
informing the user that pkgsrc patches are being applied that was lost
in the previous commit.
2005-05-17 05:00:06 +00:00
jlam
a546eb83fd Split up the do-patch target into two distinct targets --
apply-distribution-patches and apply-pkgsrc-patches.  Rewrite the
latter code to be more "whitespace-friendly" and to not need to invoke
${AWK} as many times.  Drop support for PKGSRC_SHOW_PATCH_ERRORMSG
and simply always show the error message.
2005-05-17 04:45:53 +00:00
jschauma
a3fb779cec When generating the report, add a list of top ten offenders at the top.
This makes it easy for people to track down which packages should receive
immediate attention.
2005-05-16 19:11:19 +00:00
jlam
f009001837 In the autoconf213 case, the AUTO* variables should point to the
TOOLS_CMD.* variables for the -2.13 variants.  Otherwise, they're
empty, which causes errors for packages that use ${AUTOCONF}.
2005-05-16 18:54:06 +00:00
jlam
482689cdaa NetBSD's (and bootstrap's) pax-as-tar is GNUish enough to extract most
GNU tar archives.  Create a new EXTRACT_USING value "nbtar" that causes
tar/ustar archives to be extracted using pax-as-tar, which understands
most GNU tar extensions.  Default to EXTRACT_USING=nbtar, as quite a
few packages are distributed in GNU tar archives.
2005-05-16 18:43:20 +00:00
jlam
a77257ee11 USE_GNU_TOOLS+=m4 should translate to USE_TOOLS+=gm4 to get the same
meaning.
2005-05-16 18:35:30 +00:00
jlam
e87497f3c3 Don't have USE_TOOLS+=imake replace USE_IMAKE. Rather let the former
specify that imake is used by the package, while the latter triggers
the special do-configure process.
2005-05-16 18:01:12 +00:00
jlam
06697c97a8 Add missing required argument to msg_log. 2005-05-16 17:54:51 +00:00
jlam
3966d98d38 Treat USE_GNU_TOOLS+=yacc the same as USE_TOOLS+=bison, since there is
the implication that the system yacc(1) is not good enough anyway.
2005-05-16 16:28:54 +00:00
jlam
d48540d243 Fix mistake in previous commit -- expr is required by the wrapper
framework.  Problem & fix from tron@.
2005-05-16 15:20:15 +00:00
rillig
7168c9aa72 Changed option processing to evaluate the options strictly from left to
right in each variable, starting with the most generic one. Later
definitions override earlier ones. This makes the ``order'' testcase in
regress/pkg-options succeed.
2005-05-16 09:08:29 +00:00
jlam
4a3b99d323 No package seems to be using ${NICE} so don't require it. 2005-05-16 05:11:51 +00:00
jlam
1b0d713866 Don't require m4 for all packages, only for packages that use it. 2005-05-16 05:09:21 +00:00
jlam
e3326eaf55 tee is only used by bsd.bulk-pkg.mk. 2005-05-16 04:54:11 +00:00
jlam
86c375af36 We only need "date" to write the date into the +PRESERVE file. 2005-05-16 04:48:05 +00:00
jlam
6d30b7cae1 expr is only used by bsd.bulk-pkg.mk. 2005-05-16 04:39:04 +00:00
jlam
242f38689e tsort is only used by bsd.bulk-pkg.mk. 2005-05-16 04:30:41 +00:00
jlam
ed2ba77faa Document EXTRACT_USING in bsd.pkg.extract.mk where it is used. 2005-05-16 04:22:40 +00:00
jlam
2338cbae27 Change the EXTRACT_USING_PAX defined/undefined option into a EXTRACT_USING
which can take multiple values -- "pax" or "gtar".  The default value
of EXTRACT_USING is "pax", which more closely matches reality since
before, we were using bootstrap "tar" for ${GTAR} and it was actually
pax-as-tar.  Also, stop pretending pax-as-tar from the bootstrap kit
or on NetBSD is GNU tar.  Lastly, in bsd.pkg.extract.mk, note whether
we need "pax" or "gtar" depending on what we need to extract the
distfiles.
2005-05-16 03:04:44 +00:00
jlam
e61f25dea9 We only need mtree if NO_MTREE isn't defined. 2005-05-16 00:11:50 +00:00
jlam
71215ccade Consolidate the bits that add to PKGSRC_USE_TOOLS, and improve the
comment for shlock.
2005-05-16 00:00:35 +00:00
jlam
bff1867aa9 Don't forcibly set XMKMF -- allow the package to override it if necessary. 2005-05-15 23:27:44 +00:00
jlam
0582157fdb Asking the tools framework for "bison" now provides two distinct tools:
"bison" and "bison-yacc".  bison is just a symlink to the real bison,
but "bison-yacc" provides a "yacc" in ${TOOLS_DIR} that does "bison
-y".  This allows the tools framework to provide everything that a
package might look for when asking for "bison" and avoids relying on
the bison being available in the PATH.
2005-05-15 23:20:38 +00:00
jlam
94ed41f339 In the tools framework, check that the directory doesn't exist before
creating it in case ${MKDIR} can't handle that situation.
2005-05-15 22:53:57 +00:00
jlam
f6bb82897e MAKE_PROGRAM:T isn't necessary... we can just call "make", and the PATH
is already properly constructed to call the one in ${TOOLS_DIR}, which
symlinks to the correct make tools.  From rillig@ in private mail.
2005-05-15 22:50:53 +00:00
jlam
2205e39726 Linux xargs is probably GNU xargs, so we need to invoke it with "-r".
From schwarz@ in private mail.
2005-05-15 22:37:46 +00:00
jlam
2e18822098 gzip-base installs "zcat" not "gzcat". 2005-05-15 22:34:43 +00:00
jlam
f680604f3c We want to check if we're in gzip-base to avoid circular dependencies on
gzip.
2005-05-15 22:33:08 +00:00
jlam
4298b295a5 gzip and gunzip don't exist on IRIX 5 so wrap then in existence checks.
Ditto for mailx.  Lastly, /usr/bsd/zcat isn't gzcat (doesn't understand
gzipped files), so don't use it as a gzcat replacement.  Changes from
Georg Schwarz in private email.
2005-05-15 22:31:50 +00:00
jlam
f1c74f3251 Fix the MANZ handling in bsd.pkg.mk. If MANZ is defined, then we want
the final man pages to be compressed.  If MANZ is not defined, then
we want the final man pages to be uncompressed.

We need to figure out if during installation, we need either gunzip
or gzip to decompress or compress the installed man pages.  If a
package sets MANCOMPRESSED to "yes" or "no", then it's an indication
to the install code that the package itself installed the man pages
either compressed or uncompressed.  If a package sets
MANCOMPRESSED_IF_MANZ, then the package uses BSD-style makefiles, so
we need to determine if the BSD-style makefile causes the man pages
to be compressed or not.  In this case, we need to check in PKGMAKECONF
whether MANZ is set or not.

XXX Perhaps we should also check for MKMANZ if a package uses BSD-style
XXX makefiles?
2005-05-15 21:32:42 +00:00
jlam
75b0b9c5cc If we're using xpkgwedge, we need to force using pkgxmkmf so that we
pick up the xpkgwedge imake config files.
2005-05-15 18:37:44 +00:00
jlam
3ffba337c3 We only need gzcat when requested by the extract and patch phases, or
if the package itself requests it.
2005-05-15 05:05:47 +00:00
jlam
e0fd563afe distfiles that end in .Z require gzcat as part of the extraction process. 2005-05-15 03:57:21 +00:00
jlam
2adc6c7d19 Old versions of pax-as-tar don't do the right thing when invoked as
"gtar".  Force the gtar in the tools directory to be a wrapper script
so that we invoke the (possibly) pax-as-tar as "tar".
2005-05-15 03:27:20 +00:00
jlam
29988e2252 Make TOOLS_REAL_CMDLINE_DFLT.<tool> into a publicly-readable value. 2005-05-15 03:09:52 +00:00
jlam
2f3b9ec6f2 Make implementation match documentation for when a wrapper is created and
when a symlink is created.
2005-05-15 01:17:05 +00:00
jlam
380f32d155 We also need a patch tool if there are patches for the package in
${LOCALPATCHES}.
2005-05-14 22:32:59 +00:00
jlam
3d3f88a72e Add the *cat tools needed by the patch phase to output the contents of
distribution patches to stdout.
2005-05-14 22:31:04 +00:00
rillig
af901ae040 Rewrote the show-depends-dirs target: fixed shell quoting, omitted
duplicates in the output, output warnings if necessary. The $$dlist at
the end is unquoted intentionally to omit spaces in the output.
Approved by jlam.
2005-05-14 22:19:07 +00:00
jlam
72de3f921e Document the variables and targets defined by bsd.pkg.patch.mk. 2005-05-14 22:12:01 +00:00
jlam
e78c6207f3 BUILDLINK_DEPENDS.* can be lists, so iterate over the lists when creating
a proper BUILD_DEPENDS or DEPENDS list.
2005-05-14 21:38:18 +00:00
jlam
8dba6226e7 Consider ${TAR} differently from ${GTAR}. Currently, mark pkgsrc down
as needing both (no impact since they're both satisfied by the tar
binary installed by the bootstrap kit).  There's some funniness in
the extraction code where we check for pax or GNU tar that needs to
be resolved.  Remove the TAR=${GTAR} hack since it's no longer needed
after these changes.

XXX Later, a sweep needs to be made to see where we actually need GTAR
XXX and where we only need TAR, probably triggered by whether we call it
XXX with the "z" option or not.  Packages that need GTAR should explicitly
XXX add USE_TOOLS+=gtar to the package Makefile.
2005-05-14 21:15:07 +00:00
jlam
42d411e6b9 Temporarily define TAR here until I figure out a better way to deal
with TAR vs. GTAR.  This fixes pkg_install not being created with a
tar command.
2005-05-14 20:05:05 +00:00
jlam
45e08b1210 Separate out the variables and targets for the "patch" phase into a
separate file pkgsrc/mk/bsd.pkg.patch.mk.  Also, include this file
ahead of the inclusion of bsd.tools.mk so that tools required to
patch are created by the tools framework.
2005-05-14 19:37:53 +00:00
jlam
e692366547 The mk/tools/defaults.mk is included by bsd.prefs.mk, so it must include
other files without making assumptions about the location of the top of
the pkgsrc tree.  This fixes problems with running "make bulk-cache"
in /usr/pkgsrc (PR pkg/30288).
2005-05-14 19:01:14 +00:00
rillig
31952ae630 Typo: if exists /bin/gzip, use /bin/gzip (not /usr/bin/gzip). 2005-05-14 10:19:36 +00:00
rillig
064ca17fa9 Fixed a typo: now using /usr/sbin/gzcat, like in platform/IRIX.mk. 2005-05-14 10:17:10 +00:00
rillig
1eddab530b Fixed a typo when looking for /usr/bin/cmp. 2005-05-14 10:14:29 +00:00
jlam
335f53d761 If we use the new tools framework, the _USE_GMAKE is unnecessary as we
simply check for whether "gmake" is in USE_TOOLS.
2005-05-14 07:15:29 +00:00
jlam
2cc6e59e11 compiler.mk uses the following tools to compute the values of variables
at the time that they're defined: ${AWK}, ${GREP}, ${SED}, ${TRUE}.
Move the inclusion of compiler.mk below the inclusion of bsd.tools.mk
so that these variables are properly defined by the time they are
used.  This should fix problems where pkgsrc gcc was not being properly
detected when using the new tools framework.

This change has the side effect of changing the relative order of the
compiler directories and the tool directory in the PATH, but this has
no impact on existing packages, and actually makes more sense anyway.
2005-05-14 06:04:44 +00:00
jlam
214611316d Compute the installation prefix for every tool specified so that the
"TOOL" variables defined by replace.mk, e.g. AWK, GREP, SED, TRUE,
etc., can be used immediately after bsd.tools.mk is included.
2005-05-14 05:57:43 +00:00
jlam
676abf4b91 Simplify the check for whether we need a patch tool or not -- we simply
check for whether ${PATCHDIR} exists or not, or whether PATCHFILES is
defined or not.  This avoids the use of != in a variable definition
just to find out if we need patch or not.
2005-05-14 04:26:15 +00:00
rillig
fc4a97a8d8 Don't process the file if either of PKG_SUPPORTED_OPTIONS or PKG_OPTIONS_VAR
is undefined. This avoids many unnecessary make(1) warnings. As this file
is only intended to be used from packages, don't look for obsolete.mk in
other directories than ../../mk/defaults/.
2005-05-14 02:17:43 +00:00
rillig
eef497fdb0 Found another two uses of .ifndef and .ifdef.
Converted them to .if [!]defined().
2005-05-14 02:03:00 +00:00
rillig
d278d86d01 Replaced .ifdef with .if defined() and .ifnded with .if !defined(). This
will allow better error checking.
2005-05-14 01:51:52 +00:00
rillig
b82fa5067b Replaced .ifdef with .if defined() and .ifndef with .if !defined(). This
will allow better error checking in Makefiles.
2005-05-14 01:50:38 +00:00
rillig
6c2804ebbe Fixed typo in finding grep(1). 2005-05-14 01:25:19 +00:00
rillig
fb358b0e89 Fixed two obvious typos that leaded to syntax errors. 2005-05-14 01:04:37 +00:00
jlam
a568e01cf3 Rewrite command to compute the installation prefix of a package to not
use awk -- a simple shell statement list suffices.
2005-05-13 23:37:54 +00:00
rillig
ca548bf623 Moved checking if ${SHLOCK} exists into the shell code fragment that
acquires the lock. This had to be done for the new tools framework and
because of the weird order of things in bsd.pkg.mk. Approved by jlam.
2005-05-13 22:22:44 +00:00
jlam
ec7c68e97c Teach the new tools framework about lha, unrar, unzip, and unzoo and
modify bsd.pkg.extract.mk to use them.  As a side-effect, we stop
hardcoding ${LOCALBASE} as the install prefix for these tools so this
becomes more pkgviews-friendly.
2005-05-13 22:08:20 +00:00
jlam
b17ddaa794 Don't condtionally set the "TOOL" variables... set them explicitly. Also
fix variable name in the case where we're using the pkgsrc tool, since
we were referencing the wrong variable.
2005-05-13 21:57:13 +00:00
jlam
1fdc85c394 Don't check for ${SHLOCK}, which isn't defined yet that early in
bsd.pkg.mk under the new tools framework.  Instead, just note that if
we set PKGSRC_LOCKTYPE, that pkgsrc will require shlock.  Remove
"shlock" from the large PKGSRC_USE_TOOLS list since we don't need it
all of the time.  This fixes PKGSRC_LOCKTYPE != none when using the
new tools framework.
2005-05-13 21:13:01 +00:00
rillig
ca96c47d1e Fixed a typo in the comment. 2005-05-13 21:00:12 +00:00
minskim
a96a4d2bc8 if-if-endif -> if-elif-endif 2005-05-13 19:53:08 +00:00
jlam
1c0da3d742 Make _USE_NEW_TOOLS default to "yes" to turn on using the new tools
framework.  This has been tested by successfully building a meta-package
that pulled in 81 dependencies during the installation.
2005-05-13 17:22:43 +00:00
jlam
cd4f3767d3 Change references to M4 & YACC into TOOLS_M4 & TOOLS_YACC to simplify
transition to new tools framework.
2005-05-13 16:54:12 +00:00
jlam
564a72cde1 postgresql80-client is the correct BUILDLINK_PACKAGE word to use when
referring to BUILDLINK_* variables.
2005-05-12 22:19:16 +00:00
jlam
bdde62cc40 Adding "${GREP} ." into pipeline that I inadvertently left out when
moving the EVAL_PREFIX code from bsd.pkg.mk to find-prefix.mk.
2005-05-12 21:56:11 +00:00
jlam
1ee9760a81 Teach the new tools framework more about perl. We include perl5/vars.mk
in mk/tools/perl.mk since many packages expect to be able to use the
variables defined in vars.mk, but those variables can only be defined
if PERL5 is correctly defined, and that is only true after it is set
here.
2005-05-12 21:03:46 +00:00
jlam
436d9bbbd5 Instead of structuring code so that variables defined by the EVAL_PREFIX
loop are only used afterwards, split out the EVAL_PREFIX code into a
separate file find-prefix.mk that can be included at any point to
generate a prefix-computation for the variables specified by FIND_PREFIX
at the inclusion point.
2005-05-12 20:41:10 +00:00
jlam
69406c81f0 Don't check for whether variables are defined or not before adding
them to PLIST_SUBST.  They may simply be defined later on in the
Makefile processing.  Instead check whether USE_PERL5 was specified
to determine whether to pass along PERL5_{SITEARCH,SITELIB,ARCHLIB}
to PLIST_SUBST.
2005-05-12 20:31:56 +00:00
jlam
78bb5672f0 Only cache the variable if it's been defined. 2005-05-12 18:07:30 +00:00
jlam
a136d7cc68 Observe the following:
VAR=	a
	PTR=	VAR
	${PTR}?= b

Given these definitions, ${VAR} == "b" (unintuitively).  We can work
around this by doing:

	VAR=	a
	PTR=	VAR
	.for _v_ in ${PTR}
	${_v_}?= b
	.endfor

In this case, ${VAR} == "a" (as expected).

Use the second form of assignment in this changeset so that the expected
behavior happens for the "TOOL" name variables.  This fixes "recursively
defined" errors for some of the "TOOL" variables when the pkgsrc tool
replaces the system-supplied one.
2005-05-12 03:57:40 +00:00
jlam
714ab3325d There's no need to check for EXTRACT_SUFX when figuring out whether we
need to use bzcat for patches.  bsd.pkg.extract.mk can figure out
independently whether bzcat is needed for distfiles.  This fixes
PR pkg/30206.
2005-05-12 01:14:05 +00:00
jlam
f08ed08387 Under the new tools framework, we use TOOLS_AWK to represent the awk
program that the software itself uses.  Duplicate that using the old
framework to ease integration.
2005-05-11 22:19:00 +00:00
jlam
34ecbb9d9b Make these two files aware of the new tools framework to ease integration.
These files would normally go away after packages have been taught to
replace including autoconf.mk with "USE_TOOLS+= autoconf", and similarly
for automake.mk.
2005-05-11 22:17:26 +00:00
jlam
0dbd0c0762 Rename MAKE_VARS to MAKEVARS so that it more closely resembles
"MAKEFLAGS".  Both "MAKEVARS" and "MAKEFLAGS" affect the package-level
make process, not the software's own make process.
2005-05-11 22:08:18 +00:00
jlam
5e67c262e4 Needing automake implies needing autoconf. Match the version requirements
outlined in mk/automake.mk.
2005-05-11 20:21:32 +00:00
jlam
840f6f2978 Rewrite so that we avoid needing to check the value of TOOLS_REAL_CMD.*
within make.  This allows us to use EVAL_PREFIX to locate the installation
prefix for autoconf and automake, which is more pkgviews-friendly.  In any
case, this implementation is a lot simpler anyway.
2005-05-11 20:09:44 +00:00
jlam
bb022af73a Use EVAL_PREFIX to be pkgviews-friendly. 2005-05-11 19:42:17 +00:00
tv
c5d2c9dd6a Ditto citkit.dl.sourceforge.net. 2005-05-11 15:52:14 +00:00
tv
a00ed630f7 Remove belnet.dl.sourceforge.net; it may as well be completely dead. 2005-05-11 15:51:09 +00:00
jlam
0536415df7 Rewrite logic that defines the targets that create the tools under
${TOOLS_DIR} so that we avoid inspecting various variables during the
top-level make invocation -- rather, we defer inspection until the
target is actually made.  This allows TOOLS_REAL_CMDLINE.*,
TOOLS_REAL_CMD.*, and TOOLS_REAL_ARGS.* to be defined after bsd.tools.mk
is included and still affect the creation of the tools under ${TOOLS_DIR}.
2005-05-11 08:41:50 +00:00
jlam
62c0222458 Don't forget to pass the rest of the command-line arguments "$@" to
the command, or else the wrapper will ignore all of its arguments.
This fixes the rpcgen script to actually work.
2005-05-11 05:44:58 +00:00
jlam
52a8db644e Fix the makeinfo wrapper to actually accept arguments by fixing the
value of TOOLS_REAL_CMDLINE.makeinfo.  In this case, we split MAKEINFO
into the command and the arguments, and allow the default command line
to be constructed.
2005-05-11 05:43:48 +00:00
jlam
a03def662e Define the "TOOL" names for the tools to be the same as the "TOOLS_TOOL"
names if the former are undefined.  This allows the "TOOL" names, e.g.
GMAKE, YACC, etc., to be used by package Makefiles for simplicity.
2005-05-11 05:05:03 +00:00
jlam
0e589ad8af Separate out the variables and targets for the "extract" phase into a
separate file pkgsrc/mk/bsd.pkg.extract.mk.  Also, include this file
ahead of the inclusion of bsd.tools.mk so that tools required to
extract are created by the tools framework.
2005-05-11 04:01:49 +00:00
jlam
962622ba7d Rename mk/bsd.pkg.install.mk to mk/install/bsd.pkginstall.mk to
consolidate the files for that framework in one directory.
2005-05-11 02:07:37 +00:00
jlam
029735c838 It's actually /usr/contrib/bin/gawk. 2005-05-10 21:15:22 +00:00
jlam
fb1593ba8b Split out ldconfig handling from the USE_TOOLS processing in replace.mk.
This makes more sense since there is never going to be a pkgsrc
replacement for ldconfig.  We now always create an ldconfig tool in
${TOOLS_DIR} that either calls the system-supplied one if it exists,
or is a no-op.
2005-05-10 20:14:27 +00:00
jlam
ef1665c54f Remove conditional expression from tools.*.mk files. Strip handling has
moved to its own file, and we only need to define TOOLS_PLATFORM.strip
if it actually exists on the system.
2005-05-10 19:56:51 +00:00
jlam
137ec423f9 Split out "strip" from the USE_TOOLS processing in replace.mk. Instead,
we create a "strip" tool unconditionally, and make it either a no-op or
the real thing depending on the whether we want unstripped files or not.
2005-05-10 19:52:30 +00:00
jlam
f97b83c30b TOOLS_CREATE has replaced TOOLS_{SYMLINK,WRAP}. 2005-05-10 19:34:02 +00:00
jlam
e8fbc39538 Fix typo in comment. 2005-05-10 19:25:06 +00:00
jlam
dfb5ed0037 Make a distinction between the tools that pkgsrc needs and the tools
that a package needs.  Tools that pkgsrc needs are listed in
PKGSRC_USE_TOOLS, and tools that a package needs on top of that are
listed in USE_TOOLS.

Define "TOOL" variables, e.g. SED, AWK, MKDIR, etc.  for each of the
tools that pkgsrc needs, and "TOOLS_TOOL" variables, e.g.  TOOLS_SED,
TOOLS_AWK, TOOLS_MKDIR, etc. for each of the tools that a package
needs.  These variables contain the full command line to the real
command and arguments needed to invoke the tool.
2005-05-10 19:06:58 +00:00
jlam
7aa40022bd TOOLS_ALIASES.<tool> can be set to the list of names that should also be
created under ${TOOLS_DIR} that invoke <tool>, e.g.

	TOOLS_ALIASES.gawk=	awk

The example above causes the "gawk" tool to be added to ${TOOLS_DIR} as
both "gawk" and "awk".
2005-05-10 18:42:59 +00:00
jlam
06b6c2b595 In make variables, quotes protect embedded whitespace in words, so we
can replace :C/^ *//:C/ *$// with :M* to get the same effect -- removing
leading and trailing whitespace and extra spaces between words.
2005-05-10 01:34:04 +00:00
kristerw
1400eaeabd Do not add the things in pkgsrc/regress to the bulk build since they
are not meant to be built -- regress testing is done using the
pkgtools/pkg_regress tool.
2005-05-09 16:03:58 +00:00
xtraeme
7b05cc47b6 Add a small Makefile fragment for packages requiring X11 clients
apps. Used at the moment for X11_TYPE=[xorg|XFree86] to fix
the build/installation of some packages, see
http://mail-index.netbsd.org/tech-pkg/2005/05/05/0024.html
for more information.

To switch between 'build' or 'full' dependency method use:

X11CLIENTS_DEPMETHOD=[full|build]
2005-05-09 13:01:29 +00:00
jlam
03e9337879 Teach bsd.pkg.mk to create a phase-specific "makevars.mk" file that
caches variable definitions that were computed by make.  These variables
are specified by listing them in MAKE_VARS, e.g.,

	.if !defined(FOO)
	FOO!=	very_time_consuming_command
	.endif
	MAKE_VARS+=	FOO

bsd.pkg.mk will include only the one generated during the most recent
phase.  A particular phase's makevars.mk file consists of variable
definitions that are a superset of all of the ones produced in previous
phases of the build.

The caching is useful because bsd.pkg.mk invokes make recursively,
which in the example above has the potential to run the very time-consuming
command each time unless we cause FOO to be defined for the sub-make
processes.  We don't cache via MAKE_FLAGS because MAKE_FLAGS isn't
consistently applied to every invocation of make, and also because
MAKE_FLAGS can overflow the maximum length of a make variable very
quickly if we add many values to it.

One important and desirable property of variables cached via MAKE_VARS
is that they only apply to the current package, and not to any
dependencies whose builds may have been triggered by the current
package.

The makevars.mk files are generated by new targets fetch-vars,
extract-vars, patch-vars, etc., and these targets are built during
the corresponding real-* target to ensure that they are being invoked
with PKG_PHASE set to the proper value.

Also, remove the variables cache file that bsd.wrapper.mk was generating
since the new makevars.mk files provide the same functionality at a
higher level.  Change all WRAPPER_VARS definitions that were used by
the old wrapper-phase cache file into MAKE_VARS definitions.
2005-05-09 05:06:55 +00:00
jlam
1e0343b80b Remove redundant variable definitions that simply match their defaults. 2005-05-09 02:43:06 +00:00
jlam
525b3f42ce Replace TOOLS_WRAP and TOOLS_SYMLINK with TOOLS_CREATE, and let the tools
framework figure out by itself whether a wrapper or a symlink should be
created based on the real command and any arguments that may need to be
invoked.
2005-05-09 01:11:58 +00:00
jlam
61da5414f3 Rename TOOLS_ARGS.* to TOOLS_REAL_ARGS.* to follow naming convention for
other TOOLS_* variables relating to the real command executed.
2005-05-09 00:13:03 +00:00
dillo
a05c767c7c Add a dummy describe-options target for package not using the
options framework.
2005-05-08 13:52:25 +00:00
dillo
56dffda7c7 Rewrite how PKG_OPTIONS is computed:
- PKG_SUGGESTED_OPTIONS (set by pkg maintainer in pkg Makefile)
	lists options enabled by default.
- PKG_DEFAULT_OPTIONS (set by user in /etc/mk.conf)
	enables or disables (when prefixed with `-') options for
	all packages, takes precedence over PKG_SUGGESTED_OPTIONS
- PKG_OPTIONS.foo (set by user in /etc/mk.conf)
	enables or disables (when prefixed with `-') options for
	a specific package, takes precedence over PKG_DEFAULT_OPTIONS
	and PKG_SUGGESTED_OPTIONS

Also simplify conversion of legacy USE_XXX variables to options
via the new PKG_OPTIONS_LEGACY_VARS variable and emit warnings if
legacy variables are in use.

Add a new target describe-options that lists all supported options
with a one-line description, the options enabled by default and
the currently enabled optoions.

Reviewed by jlam and wiz.

XXX: defaults/options.description has to be filled in
XXX: the pkgsrc guide has to be updated
2005-05-08 13:43:30 +00:00
wiz
e86bd09e3c Changes to the upload script:
vulnerable packages are uploaded directly into the vulnerable subdir.

While here:
quote variables
better handling of the temporary directory
remove some backwards compatibility code that's been here long enough
opsys-specific package handling was doing the same as non-opsys
specific, so fold them together.

Written together with dillo.
2005-05-08 13:29:09 +00:00
wiz
af43f6cfdc Refer doc/pkgsrc.txt instead of Packages.txt. 2005-05-07 22:16:38 +00:00
reed
4c676c29a2 Add PKGBASE to MESSAGE_SUBST for substituting variables in MESSAGEs.
Noticed it was used in multimedia/xine-ui/MESSAGE.NetBSD.

Maybe this is redundant, and in that case, could have just hard-coded
"xine-ui" instead.
2005-05-07 19:32:56 +00:00
rillig
1c499d648b Properly quote the &, <, and > characters when generating BROKENWORKLOG.
Approved by wiz.
2005-05-06 00:52:30 +00:00
jlam
90726c6163 IRIX and Interix use the install-sh script from bootstrap as their install
tool.  This is handled directly within bootstrap.mk, so remove these
unnecessary definitions.
2005-05-05 18:59:25 +00:00