summaryrefslogtreecommitdiff
path: root/mk/tools
AgeCommit message (Collapse)AuthorFilesLines
2019-11-21remove bsdtar as tool because it was reverted in src for some reason ...tnn1-4/+1
2019-09-06NetBSD 9 or later has bsdtar as /bin/tarryoon1-1/+4
2019-06-06mk/tools: Ensure GNU grep is used when requested.jperkin1-1/+2
Previously a "grep" tool was created, but GREP still pointed at the platform grep, breaking any package that used the environment variables rather than PATH when the native platform grep does not have GNU features.
2019-05-22mk/tools: in the wrapper log, quote arguments containing = naturallyrillig1-3/+17
2019-05-15mk/tools: Add support for autoconf*:test and automake*:testleot2-2/+10
Thanks to <martin> for catching the unintended autoconf tool dependency!
2019-05-07mk: allow "bmake clean depends" as shortcutrillig1-3/+3
When "bmake clean depends" was called for a package where the various cookie files already existed, these would enable different rules than a clean package directory. Since "bmake clean" deletes all the cookie files before "bmake depends" starts, in these combined command lines the cookie files must be treated as absent.
2019-04-03mk/tools/replace.mk: take versions of FLEX_REQD into accountrillig1-2/+2
If a package had said FLEX_REQD=1000.0, the actual dependency had still been flex>=2.5.4. Now all version numbers from FLEX_REQD are taken into account, too.
2019-03-24mk/tools: correctly quote arguments in the tool wrapper logrillig2-8/+38
Before, the tool arguments were written to the log as plain strings. Now the arguments are properly quoted, which makes it possible to replay the commands by copying them from the .work.log file. This only affects tools that are shell builtins (echo, true, false), get additional arguments (mkdir -p) or define a custom TOOLS_SCRIPT (pkg-config, to set an environment variable; or autotools). Tools that are symlinked to the real tool are not affected. The calls to the compiler are already properly logged since cwrappers takes care of that. This commit therefore makes the log entries for the compilers and the other tools more similar.
2019-03-24mk/tools: fix quoting when logging tool invocationsrillig1-7/+13
When a package or the infrastructure defined a tool with custom TOOLS_ARGS or TOOLS_SCRIPT containing special characters, these could lead to unintuitive interactions at the time when that tool invocation was logged in the tool wrapper log. Some of the logging output ended up on stdout, while some of the normal output ended up in the log, and parts of the quoted arguments were even evaluated as shell commands. The logging of the wrapped tool commands is not perfect yet, but at least it's much more predictable now.
2019-03-22mk/tools: fix unintended filename expansion in the tool wrapper log filerillig1-3/+8
2019-03-22mk/tools: sort tools by name when calling "make show-all-tools"rillig1-2/+2
2019-03-21mk/tools: fix BISON_REQD handling for lists of multiple Bison versionsrillig1-3/+3
2019-03-10ghostscript-esp is long gone.joerg1-3/+2
2019-03-04mk/: let fonts/mkfontscale provide mkfontdirwiz1-3/+3
2019-02-12tools.FreeBSD.mk: make groff conditionaltriaxx1-1/+3
FreeBSD 12 removes groff: test its existence before using it.
2019-01-29mk/tools/replace.mk: Update the check to devel/nbpatchleot1-2/+2
The check to avoid possible dependency loop was not updated to check devel/nbpatch (instead of devel/patch). Fix PR pkg/53920 reported by Dean Matzkov.
2018-12-01mk/tools/automake.mk: support automake-1.16wiz1-3/+5
2018-11-30mk/misc: make configuration for show-all targets more configurablerillig1-1/+2
Up to now, there was a central list of variable name patterns that defined whether a variable was printed as a sorted list, as a list or as a single value. Now each variable group decides on its own which of the variables are printed in which way, using the usual glob patterns. This is more flexible since different files sometimes differ in their naming conventions. Two variable groups are added: license (for everything related to LICENSE) and go (for lang/go).
2018-11-12mk: Add CTF infrastructure support.jperkin1-1/+2
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-12mk/tools: Create a strip-dbg tool.jperkin1-2/+15
On platform where strip supports -g it is used, otherwise this is a no-op.
2018-11-12mk/tools: Add a gstrip tool on platforms where it exists.jperkin9-9/+18
This will be used in places where GNU strip (or equivalent) is required, specifically for the "-g" flag.
2018-11-05Add unzip. From Minix 3.4RC6sevan1-1/+2
2018-11-05Reduce whitespace noise when compared to NetBSD config. NFCsevan1-11/+11
2018-11-05Add gsoelim, readlink, sdiff, shlock, soelim. From Minix 3.4RC6sevan1-1/+6
2018-11-05Add the relevant parts for cross compilation on Minix. - untested but thesevan1-1/+37
relevant paths are set as expected.
2018-11-05provide paths for byacc, gegrep, gfgrep, ggrep, install-info, makeinfo, openssl,sevan1-1/+10
xz, xzcat on Minix. From Minix 3.4RC6
2018-10-29Update some more paths from Minix 3.4RC6sevan1-4/+4
2018-10-29Update path to chown(8) as found on Minix 3.4RC6sevan1-2/+2
2018-10-28Update location for true(1), taken from 3.4RC6 build.sevan1-2/+2
2018-10-17mk: Add native GNU/BSD grep where they are known to exist.jperkin4-4/+19
2018-10-17mk: Add support for a ggrep tool.jperkin1-8/+22
This is for when GNU features are required that aren't available in some other greps, for example -o or --color. If ggrep is requested then it takes precedence over grep/egrep/fgrep and the GNU versions are used for all three. BSD grep aims for GNU compatibility so it is anticipated that it can be used as a native tool to avoid a dependency on textproc/grep on platforms that provide it.
2018-08-22Remove clauses 3,4 from TNF-only copyright blocks.maya21-168/+21
This is based on the decision The NetBSD Foundation made in 2008 to do so, which was already applied to src. This change has been applied to code which is likely not in other repositories. ok board@, reviewed by riastradh@
2018-08-19pkglint fixadam1-2/+2
2018-04-27mk/tools/create.mk: revert filtering duplicate tool namesrillig1-2/+5
The "split" program is not managed by the tools framework. It just has a wrapper that is placed into the same directory. This is confusing since intuitively, "split" is a tool like many others. The "duplicate script for target" warning from Make is therefore correct, albeit obscure. Currently, neither the pkgsrc infrastructure nor pkglint check for allowed tool names.
2018-04-27mk/tools/create.mk: sort tools before creating the wrapper targetsrillig1-2/+2
The TOOLS_CREATE variable is only ever appended to, without checking for duplicates. In some rare cases, this produces warnings about doubly-defined make targets. An example is adding USE_TOOLS+=strip to pkgtools/pkglint: ".../mk/tools/create.mk" line 149: warning: duplicate script for target ".../work/.tools/bin/strip" ignored The above line number 149 is zero-based, which in reality means the duplicate definition is in line 150.
2018-03-09mk/tools/autoconf.mk: improve documentation for autoreconfrillig1-2/+8
2018-01-24mk/tools/replace.mk: Add support for `:test' to add tools to TEST_DEPENDSleot1-1/+5
With this change is now possible to mark tools only needed for testing via: USE_TOOLS+= <tool>:test Discussed with <joerg>
2018-01-07Improved documentation for "make help".rillig1-1/+2
The check for target(help) prevents a warning when "make help" is run from a category directory.
2017-08-01Switch from mdocml to mandoc; remove obsolete references.wiz1-6/+6
2017-07-22freebsd 12 doesn't have /usr/bin/tbl, so check for its existence beforemaya1-1/+3
deciding to use it.
2017-07-10Deal with wc in /bin. From Thomas Orgis.joerg1-1/+5
2017-06-19Use the fgrep binary explicitly on OSF1maya1-2/+2
Fixes PR pkg/52312: "Checking for fgrep" causes Fork bomb From Naruaki Etomi
2017-06-12Whilst the version of find in Darwin 8 & prior is insufficient for ↵sevan1-3/+1
installing Python modules, there are further issues with circular dependencies which need to be resolved before the change to using find from coreutils can be made. Revert previous change for now.
2017-05-06The version of find(1) included in Darwin did not support {} + being passed tosevan1-1/+3
the exec option up until version 9 (Leopard). sysutils/findutils should be used on prior releases. This resolves packaging Python modules which utilise lang/python/egg.mk. find(1) is called here with '{}' +; passed to exec option.
2017-04-23Remove reference to misc/rubygems and RUBY_VER is "18".taca1-8/+2
2017-04-21Check for paxctl's existence rather than version+arch check.maya1-3/+2
It likely only matched amd64 before (looks like i386 had a typo), but it's necessary on most netbsd archs since netbsd-7.99.x.
2017-04-21Workaround for make(1) from recent NetBSD-current to detect paxctlryoon1-3/+3
2017-01-21Always take the flex version from the second word of the version string.brook1-2/+2
When necessary, the flex version is obtained from the version string reported by running flex. Generally, the first word of the version string is flex and and the second is a version number. At least for MacOS, there is a third vendor-specific word. The sed command previously used to capture the flex version captured the last word, not the second one, because the first capture group was too greedy and could capture more than a single word. Instead, force the capture groups to capture only words, i.e., no blanks, and use the second word for the version.
2016-11-10Handle optional ctfmerge/ctfconvert presence on NetBSD by explicitlyjoerg1-1/+7
passing down NOCTF when they don't exist.
2016-05-26Import mini-framework for paxctl(8) on NetBSD/{amd64,i386}khorben1-1/+5
This allows setting flags for PaX on select binaries. Two new variables are introduced for packages: NOT_PAX_ASLR_SAFE and NOT_PAX_MPROTECT_SAFE. They both expect a list of binaries are known to not support PaX ASLR and/or PaX MPROTECT, respectively. "Please commit" wiz@