Commit graph

48 commits

Author SHA1 Message Date
triaxx
43226095e2 tools.FreeBSD.mk: make groff conditional
FreeBSD 12 removes groff: test its existence before using it.
2019-02-12 18:40:16 +00:00
jperkin
71e098497c mk: Add CTF infrastructure support.
Platform support is determined by _OPSYS_SUPPORTS_CTF from mk/platform, the
user enables support by setting PKGSRC_USE_CTF=yes, and packages can
explicitly disable support with CTF_SUPPORTED=no or skip certain files with
CTF_FILES_SKIP.

The path to ctfconvert is configured via TOOLS_PLATFORM.ctfconvert.

If all of the requisite variables are enabled, a compiler-specific debug flag
is passed via the wrappers to ensure we have DWARF information to convert,
_INSTALL_UNSTRIPPED is explicitly defined to avoid binaries being stripped
prior to conversion, and the conversion is performed during the install stage.

It is recommended that users who enable the feature also set STRIP_DEBUG=yes
to reduce the final binary size once the conversion has been performed.

This has been used for the past year in Joyent SmartOS builds.  FreeBSD is
marked as supported but is untested.
2018-11-12 14:22:58 +00:00
jperkin
3bf4c3441e mk/tools: Add a gstrip tool on platforms where it exists.
This will be used in places where GNU strip (or equivalent) is required,
specifically for the "-g" flag.
2018-11-12 13:34:39 +00:00
jperkin
2aa8c6b07e mk: Add native GNU/BSD grep where they are known to exist. 2018-10-17 08:30:43 +00:00
maya
17b7efc0d1 freebsd 12 doesn't have /usr/bin/tbl, so check for its existence before
deciding to use it.
2017-07-22 18:10:25 +00:00
obache
c403435b4e revert "Add unlink as a tool.", I cannot describe why is it on the Earth.
proposed/discussed is required for such changes, from PMC gdt@.
2015-02-01 08:48:56 +00:00
obache
0d7d34e0e8 Add unlink as a tool. 2015-01-30 11:06:36 +00:00
obache
5fb18410e4 tar(1) in FreeBSD 5.4 and later are based on libarchive(3) library. 2014-04-03 07:12:01 +00:00
uebayasi
2e61c603ea Provide uniq(1) as a TOOLS. 2014-03-06 07:34:20 +00:00
obache
d8793bfae8 The unzip utility apprared in FreeBSD 8.0. 2013-12-13 07:04:09 +00:00
obache
97c833001d Add `xz' command as a TOOL. 2013-11-06 13:12:50 +00:00
obache
46fcbb4ee2 Tell "readlink" location for Cygwin, DragonFly, FreeBSD and Haiku. 2013-08-24 11:30:44 +00:00
obache
d4ac7d63a1 FreeBSD has pax as /bin/pax. 2012-04-20 08:47:01 +00:00
ryoon
a87f055102 Set TOOLS_PLATFORM.xzcat.
On FreeBSD 9.0, there is /usr/bin/xzcat.
2012-04-08 20:56:23 +00:00
joerg
76d4ca42e5 Also disable native patch on FreeBSD 2011-12-14 03:28:54 +00:00
obache
29dd11cdf2 Add fetch tool. 2010-11-22 12:37:05 +00:00
joerg
8c10375337 Remove tool definition for native pax as it is not fully compatible with
the expected pax use and has some bad behavior making it undesirable to
work around. Discussed with hasso@ and on tech-pkg.
2009-04-01 12:07:08 +00:00
joerg
4e5efdff41 Add readelf as tool, for only only the BSDs get it. 2007-08-20 11:00:33 +00:00
joerg
93bf771184 Add bzip2 as tool. All platforms that had code to deal with bzcat
also get bzip2, the rest falls back to archivers/bzip2.

OK jlam.
2007-06-19 17:01:12 +00:00
joerg
f4ecc6bd31 Add ident as tool and use /usr/bin/ident on those platforms I know to
have it. Fallback to devel/rcs otherwise.

Commited during freeze as it is a dependency of pbulk.
2007-06-19 14:21:18 +00:00
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
872507ebf5 Teach the tools framework about "groff" as a tool. 2006-05-21 16:55:21 +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
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
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
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
3bb5f20078 No version of FreeBSD has /usr/bin/shlock. 2005-08-10 02:57:32 +00:00
xtraeme
a386e5f916 Set TOOLS_PLATFORM.shlock only if exists the binary on /usr/bin,
reported by Lars Nordlund via tech-pkg@.
2005-08-08 21:43:35 +00:00
jlam
73e8531006 Teach the tools framework about csh, and replace with tcsh if necessary. 2005-06-24 20:59:59 +00:00
jlam
df8c47b2f2 Note locations for native diff tools. 2005-06-23 20:45:34 +00:00
jlam
c55f2fb319 Teach the tools framework about mktemp. Replace explicit tests for
mktemp with USE_TOOLS+=mktemp in the samba packages.
2005-06-03 22:54:44 +00:00
jlam
72f6164581 Teach the tools framework about nroff. 2005-05-26 21:46:13 +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
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
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
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
91092c5789 Teach the new tools framework about ${STRIP}, which is used in some
packages to strip installed executables.  If INSTALL_UNSTRIPPED ==
"yes", then we create a "strip" wrapper in ${TOOLS_DIR} that just
calls ${TRUE} by considering ${TRUE} the system-supplied strip command.
2005-05-04 06:42:43 +00:00
jlam
3f770348b7 Teach the new tools framework about INSTALL and set the appropriate
default value for each platform.  Currently, the replacement tools
comes from sysutils/coreutils, but where there is no native BSD install
program, bootstrap-pkgsrc should probably be made to provide an install
shell script as an alternative, and mk/tools/bootstrap.mk should be
amended accordingly.

Also remove one use of ${TYPE} in pkgsrc (bsd.pkg.mk) under the new tools
framework.
2005-05-03 20:41:53 +00:00
jlam
8861b6ba02 Teach the new tools framework about MAIL_CMD. We use mail/nail as a
"mail" replacement in case TOOLS_PLATFORM.mail is empty.
2005-05-03 16:30:34 +00:00
jlam
37d5689ed6 Teach the new tools framework about ldconfig. This must be provided by
tools.${OPSYS}.mk, so at the very worst, it must be set to "true".
2005-05-02 04:42:08 +00:00
jlam
96c5deea72 Teach the new tools framework about USE_TOOLS+=bzcat. 2005-05-02 02:50:33 +00:00
jlam
f0f9780186 Note the "[" is natively available everywhere (usually as a shell builtin). 2005-04-28 17:30:24 +00:00
jlam
1f5fbfd47d Rename PLATFORM_TOOLS.* to TOOLS_PLATFORM.* to bring the variable names
under the same namespace as the other parts of the new tools framework.
2005-04-27 16:52:28 +00:00
jlam
5ac75286c8 The BSDs all have lex, tbl, and yacc in the base system. 2005-04-27 15:59:25 +00:00
jlam
ad38b77969 Initial stab at creating lists of system-supplied tools for each platform.
These were culled from pkgsrc/mk/${OPSYS}.mk.  These files should only be
listing utilities that aren't installed by pkgsrc.
2005-04-27 15:28:16 +00:00