Commit graph

171 commits

Author SHA1 Message Date
jlam
bb74d3bb13 Teach the tools framework about the following new tools:
itools, intltool, diff3, sdiff, msgmerge

* Adding USE_TOOLS+=itools to a package Makefile will cause the
  tool-directory versions of imake, makedepend, mkdirhier and xmkmf
  to point to the ones from the devel/nbitools package.

  This change will remove the need for nbitools/buildlink3.mk, which
  currently does a bit of hackery to force the "right" imake tools to
  be used by packages that need it.

* Adding USE_TOOLS+=intltool to a package Makefile will cause the
  local versions of intltool-* inside ${WRKSRC} to be replaced by
  copies from the textproc/intltool package.  If "intltool" is not
  specified as a tool, then we create "broken" intltool-* tools in
  the tools directory to help highlight hidden dependencies on the
  intltool package.

  In addition, modify the tools framework so that if "perl" is not
  specified as a tool, then we create a "broken" perl tool in the
  tools directory for the same reason as for "intltool".

  These two changes together will remove the need for
  intltools/buildlink3.mk and should also catch all cases where the
  sources' intltools may have been silently used because perl was
  found on the system.

* Adding USE_TOOLS+=diff3, USE_TOOLS+=sdiff, or USE_TOOLS+=msgmerge
  to a package Makefile will cause the corresponding tool to be pulled
  into the tools directory.

  These are convenience tools to help simplify dependencies for some
  packages.
2006-07-05 04:32:10 +00:00
jlam
29133ee234 Teach the tools framework about "openssl". 2006-06-14 16:57:07 +00:00
jlam
1b717c210d Stop supporting user-specified definition for IMAKE in /etc/mk.conf --
it's now all handled exclusively by the tools framework.
2006-06-06 19:25:59 +00:00
jlam
cd1230e8e3 Separate out the part of bsd.tools.mk that actually created the tools
into a new file pkgsrc/mk/tools/create.mk.  This leaves bsd.tools.mk
as a file that pulls in all of the other ones.  Also move the
tools-related targets from bsd.pkg.mk into bsd.tools.mk.

The tools cookie file has been removed, as well as hooks for
{pre,do,post}-tools.  Instead, there is now only a single public target
"tools" which may be invoked.  Invoking "tools" will always cause all
of the tools in ${TOOLS_DIR} to be created.

The "tools" step has been moved and is now just after the "depends"
step and before sources are extracted.  This is the earliest place
where the "tools" step can be taken, and it allows the created tools
to be used in all steps/phases after it, starting with "extract".  As
a consequence, we should just invoke tools by their bare names in
targets, e.g. awk, sed, patch, etc., instead of with the ${VARIABLE}
names, e.g. ${AWK}, ${SED}, ${PATCH}, etc.
2006-06-06 06:30:29 +00:00
jlam
872507ebf5 Teach the tools framework about "groff" as a tool. 2006-05-21 16:55:21 +00:00
jlam
d0f812f4cb Move the gettext tools handling to mk/tools/gettext.mk. We ensure
that we use the pkgsrc versions of xgettext and gettext if we're also
using the pkgsrc version of msgfmt.
2006-04-13 19:24:29 +00:00
jlam
0f4967eb59 Overhaul the way packages can ask for "msgfmt". If a package needs
msgfmt, then it should set the following in the package Makefile:

	USE_TOOLS+=	msgfmt

To deal with message files that use the "msgid_plural" statement,
which isn't supported in NetBSD<=3.x and also in gettext<=0.10.35, we
determine if the built-in "msgfmt" is sufficiently new enough to
understand "msgid_plural".  If it isn't, then we use the msgfmt.sh
script to transform the msgid_plural statements to an equivalent
construct that's understood by older msgfmt tools.

The msgfmt.sh script is a straightforward translation of the original
perl script msgfmt.pl script by Julio M. Merino Vidal into shell and
awk, which are more lightweight dependencies than perl.

We remove the USE_MSGFMT_PLURALS bits in gettext-lib/builtin.mk as they
are made obsolete by the new code in mk/tools/msgfmt.mk.

BUILD_USE_MSGFMT is still supported but will be removed in a separate
commit.
2006-04-13 16:35:57 +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
jlam
766f664aef Teach the tools framework about "texi2html". 2006-03-19 23:40:07 +00:00
jlam
ac1b7b84dd Teach the tools framework about "makedepend", supplied by the imake
packages.
2006-03-16 22:31:59 +00:00
jlam
2d8270de7f Teach the tools framework how to supply a pkgsrc version of install-info
if a native one isn't available.  We ensure that the "install-info"
tool in the tools directory is a no-op since the real info file
registration is handled by the INSTALL/DEINSTALL script in
pkgsrc/mk/pkginstall/install-info.
2006-03-06 05:25:45 +00:00
jlam
6e0c050321 * Teach the tools framework how to supply the pkgsrc version of
makeinfo if no native makeinfo executable exists.  Honor TEXINFO_REQD
  when determining whether the native makeinfo can be used.

* Remove USE_MAKEINFO and replace it with USE_TOOLS+=makeinfo.

* Get rid of all the "split" argument deduction for makeinfo since
  the PLIST module already handles varying numbers of split info files
  correctly.

NOTE: Platforms that have "makeinfo" in the base system should check
      that the makeinfo entries of pkgsrc/mk/tools.${OPSYS}.mk are
      correct.
2006-03-05 16:27:22 +00:00
rillig
c68eda5945 Instead of passing only the path to the tools to CONFIGURE_ARGS, pass
the complete command. This fixes problems when EGREP is defined as "grep
-E" instead of "egrep".
2006-02-21 17:39:32 +00:00
wiz
177382d089 Fix typo in type1inst depends line. 2006-02-17 19:31:33 +00:00
jlam
aba46732d5 Teach the tools framework about various gettext-tools: gettext, msgfmt,
and xgettext.  These are supplied by devel/gettext-tools if not present
in the base system.
2006-02-11 00:23:24 +00:00
jlam
63b6d811e1 Actually heed the value of IMAKE if it is set by the user. 2006-01-28 00:32:31 +00:00
jlam
7a25bc452c Fix a typo that was causing imake, mkdirhier and xmkmf to not be created
as tools in the tools directory.
2006-01-12 19:26:02 +00:00
jlam
3c30c2b533 Re-implement some code that was lost in revision 1.144 so that IMAKE may
be overridden to point to the path of the imake binary to use.
2006-01-12 18:29:03 +00:00
jlam
228eeacad9 Teach the tools framework about the ``ksh'' tool, provided by the
shells/pdksh package if it doesn't exist on the base system.
2006-01-09 18:32:52 +00:00
jlam
4593519ecc Teach the tools framework about "gsoelim", which is the soelim tool from
a groff distribution.
2006-01-08 23:00:00 +00:00
jlam
ff83ba02a2 Consolidate groff-supplied tools into one section. 2006-01-08 22:09:05 +00:00
jlam
91abe4f16b Teach the tools framework about ttmkfdir and type1inst. 2005-12-28 22:41:27 +00:00
jlam
3608385513 Whitespace changes to align with other sections. 2005-12-28 22:26:50 +00:00
jlam
f4717afe89 Consolidate xmkmf with the other "imake" tools. 2005-12-28 22:21:19 +00:00
reed
7c96304247 For the x11-clients section, use "XFree86-clients" instead of
"imake" for the TOOLS_PREFIX (for the XFree86-clients provided tool).

(Asked about on tech-pkg and jlam said to commit.)
2005-12-28 16:46:38 +00:00
reed
bbb8d7bfe7 Add makepsres to _TOOLS.x11-clients.
(makepsres used for lyx install for example.)
2005-12-28 04:24:37 +00:00
jlam
6156dddfc7 If bison is used, always pass YACC="bison -y". This should fix
PR pkg/31493, where YACC="bison" was wrongly being passed to the
configure script.
2005-12-22 18:55:41 +00:00
joerg
479de5b14d Add mkdirhier to the tools provided by an imake package.
Move the code down to the X11 clients handling as suggested by jlam@.
2005-12-22 14:49:10 +00:00
wiz
40b2ba02ff Desupport the various ghostscript*x11* packages (replaced by x11 option). 2005-12-09 20:32:22 +00:00
joerg
d9c8d8f5ad xmessage is another X11 client used by other programs. 2005-12-03 21:03:47 +00:00
wiz
1189c2f0ed Remove NO_X11 handling completely -- it is not referenced anywhere
else in pkgsrc.
2005-12-01 18:38:45 +00:00
wiz
0f14d10fce Remove support for obsolete USE_CUPS variable.
Fix NO_X11 handling according to my guess how it should behave
(instead of being a clause with no effect).
2005-12-01 18:25:27 +00:00
joerg
a68b97b857 Add iceauth as x11-client tool, used by x11/xfce4-session. 2005-12-01 15:02:22 +00:00
rillig
86d2fdd58a The make(1) of NetBSD 1.6.2 gets confused by complicated conditionals
involving undefined variables. Added a work-around by splitting up the
conditionals.

Fixes PR 32206.
2005-12-01 09:24:09 +00:00
jlam
ec87e5b5a9 Teach the tools framework about gs, pdftops and pstopdf, which can be
supplied by one of several Ghostscript packages.  The minimum required
version of Ghostscript can be specified in GHOSTSCRIPT_REQD, which
defaults to "6.01".
2005-11-28 06:06:16 +00:00
jlam
43471231f2 Fix a copy-and-paste bug that probably caused some tools to not be
created on platforms lacking "coreutils", "grep", or "diffutils".
2005-11-28 05:39:20 +00:00
jlam
b49397bb19 Teach the tools framework about wish and tclsh, and set WISH and TCLSH
accordingly for packages that need it.
2005-11-08 23:06:38 +00:00
jlam
0b3f4b2593 Teach the tools framework how to replace mkfontdir and mkfontscale
using an X11 clients package.
2005-11-08 17:41:26 +00:00
jlam
f00b513900 Consolidate blocks for tools that were supplied by the same package into
a loop so that it's easier to maintain and add new tools.
2005-11-08 17:38:52 +00:00
tv
312e7c87c7 Add "soelim", also part of groff if replacement is needed. 2005-11-08 03:36:13 +00:00
jlam
72750fdc87 Teach the tools framework about "sleep" which can be provided by the
sysutils/coreutils package.
2005-11-04 20:02:01 +00:00
jschauma
92854abe05 If we're using devel/patch, then we know that we can create backup files
and how, so set this.
Fixes problems observed under (at least) IRIX, where otherwise a call to

gpatch ${_PATCH_BACKUP_ARG} .orig <patch

would fail, as ${_PATCH_BACKUP_ARG} would be the empty string.
2005-10-30 17:32:07 +00:00
schwarz
a0fe98b535 modification to increase imake handling flexibility for IRIX (in particular
with respect to IRIX 5).
Changes approved by jschauma and recht.
2005-10-16 19:38:05 +00:00
jlam
2f774b2802 Teach the tools framework about ``printf'', which can be replaced by the
printf in sysutils/coreutils.
2005-10-12 16:28:29 +00:00
reed
1200615919 x11/imake was changed to x11/XFree86-imake. Also package name
changed to XFree86-imake.
2005-10-10 17:22:05 +00:00
jlam
1403b1ed13 Teach the tools framework about "byacc", which is a Berkeley-compatible
YACC.  This should be used by packages that require NOT using bison
(maybe because bison can't handle the .y file) but still need a yacc.
2005-09-20 03:50:18 +00:00
jlam
7820875fff Remove the abuse of buildlink that was pkg-config/buildlink3.mk. That
file's sole purpose was to provide a dependency on pkg-config and set
some environment variables.  Instead, turn pkg-config into a "tool"
in the tools framework, where the pkg-config wrapper automatically
adds PKG_CONFIG_LIBDIR to the environment before invoking the real
pkg-config.

For all package Makefiles that included pkg-config/buildlink3.mk, remove
that inclusion and replace it with USE_TOOLS+=pkg-config.
2005-08-10 20:56:10 +00:00
jlam
1a4f92a3d5 Fix a cut-and-paste bug. 2005-08-10 06:08:48 +00:00
jlam
86f9268481 Update lang/perl5 to 5.8.7. Changes from version 5.8.6 include updates
for many "core" modules, UTF-8 and Unicode bugfixes, and ithreads
bugfixes.

The major changes are in the pkgsrc infrastructure to handle Perl and
Perl modules.  All pkgsrc-installed Perl modules are now installed in
"vendor" directories, and the perl interpreter has been modifed to
search for libraries in the following order: site, vendor, perl.  The
Perl library is stored in a directory that is named for the Perl ABI
version associated with the Perl release, so any updates of Perl to
newer versions can be done "in-place" as long as Perl ABI version
remains the same.  All Perl scripts and man pages are stored in
locations that won't conflict between site, vendor, and perl modules,
and a new utility perllink(1) now manages symlinks to those scripts
and man pages under the usual ${LOCALBASE}/bin and ${LOCALBASE}/man/man1.

PERL5_SITEPREFIX may be set to the prefix where local, site-specific
modules will be installed, e.g. PERL5_SITEPREFIX=/usr/local.  Note
that modules installed here are completely unmanaged by pkgsrc.

Update the buildlink and tool dependencies on perl to require perl>=5.8.7
to reflect the new locations for Perl modules and the Perl shared
library.
2005-08-06 06:18:44 +00:00
jlam
4e9386339e Provide a "pod2man" tool used by some packages to build man pages.
Based on suggestion by Matthias Drochner.
2005-07-26 20:00:50 +00:00