summaryrefslogtreecommitdiff
path: root/mk/tools
AgeCommit message (Collapse)AuthorFilesLines
2022-01-09SunOS: add native tool paths for xz & xzcattnn1-1/+7
Spotted on OpenIndiana, provided by compress/xz pkg
2022-01-06Extract .zst distfiles using archivers/zstd.schmonz2-2/+13
2021-11-29mk: Use OPSYS_VERSION where appropriate.jperkin1-2/+2
Should improve readability and in some cases avoid potential failure due to string comparisons being used. No other functional change intended.
2021-10-26mk: Bump DIGEST_RQED. Needed for blake2s. Pointed out by agc, thanksnia1-2/+2
2021-10-22mk: Use native bsdtar on NetBSD 9.0 onwards.jperkin1-2/+2
Relying on native variables like MKBSDTAR only works when using the native make, and should be avoided as they are not set when using a bootstrap. Should fix build of lang/go117 with bootstrapped NetBSD, as bsdtar from pkgsrc is unable to handle the distfile due to locale errors.
2021-07-19mk: Fix PR pkg/56299triaxx1-1/+15
Add a test to check that an xbase set is installed when a tool depends on X11 and X11_TYPE=native. Thanks to Greg and Edgar for their comments and suggestions!
2021-05-02mk/tools: gdbus-codegen is in devel categoryryoon1-2/+2
2021-05-02*: Use the tools framework for gdbus-codegennia2-1/+19
2021-05-02*: Use the tools framework for itstoolnia2-1/+19
Now it should be more obvious when a package needs it as a dependency, as it will fail loudly if it isn't declared as a tool. While here, some duplicate dependencies on itstool were removed from the MATE packages
2021-03-15mk: Add preliminary support for MidnightBSDryoon1-0/+103
It is almost as same as FreeBSD.
2021-01-19mk/tools: Avoid native GNU make/m4 on all Darwin systems.jperkin1-7/+13
Previously this was only done on Big Sur to work around the issue where XCode does not support running these programs via a symlink, breaking .tools/bin. However, with the update to autoconf 2.70, the native GNU m4 from 2006 on all Darwin systems is too old and breaks the build on Catalina and older, causing massive dependency failures. Avoiding them both completely at this time is the simplest way forward.
2020-12-09Reflect GNU grep locations on some SunOS variantsgutteridge1-1/+3
2020-12-05tools.Linux.mk: Consider /bin/find as welljs1-1/+5
2020-10-10mk: Stop using XCode binaries on Big Sur.jperkin1-2/+6
These no longer support being executed via a symlink, failing with errors such as: xcode-select: Failed to locate 'gmake', and no install could be requested This breaks the entire .tools/bin directory, so we just have to avoid them and use tools from pkgsrc instead. It's likely a lot more will need to be added to this list, but this is enough to get devel/cmake building at least.
2020-10-06mk: fix undefined variables for current make running in -dL moderillig1-2/+2
In lint mode, NetBSD's make is stricter about undefined variables. In conditions, the function arguments must be fully defined.
2020-05-28mk/tools: not all linuxes have bash (e.g. alpine)nia1-1/+3
2020-05-13mk/tools/bsd.tools.mk: list _USE_TOOLS in show-all-toolsrillig1-2/+3
This variable is used in quite a few places, which makes it interesting enough, even though it is an implementation detail.
2020-05-10mk/tools: don't create empty symlink for wrong tool definitionrillig1-4/+4
This case can only happen in the following special case: TOOLS_CREATE+= asdf TOOLS_PATH.asdf= # empty If there is a lonely TOOLS_CREATE without a corresponding TOOLS_PATH, it defaults to ${FALSE} and thus doesn't trigger this code.
2020-05-10mk/tools/perl.mk: allow to silence the USE_TOOLS+=perl warningrillig1-4/+11
Packages that don't declare USE_TOOLS+=perl and whose configure script invokes perl produce a warning. Usually warnings are ignored, but they can also be configured as errors, for example during a strict bulk build. In this situation it is necessary to override the default behavior of the perl tool to fail silently. Up to now, defining both TOOLS_BROKEN+=perl and TOOLS_FAIL+=perl produced a duplicate make target. To handle this situation, let TOOLS_BROKEN+=perl take precedence over TOOLS_FAIL+=perl. This is much easier than finding out in each case how to disable the perl check in the configure script, which is most often done by adding any of the following to CONFIGURE_ENV: PERL=#none, ac_cv_prog_PERL=#none, ac_cv_path_PERL=#none.
2020-05-09mk/tools/create.mk: make tool wrappers smallerrillig1-2/+2
There is no need to include the comments from the shquote function.
2020-05-09mk/tools/bsd.tools.mk: include _TOOLS_VARNAME in show-all-toolsrillig1-1/+2
This information is useful for getting the variable name that corresponds to a tool. In most cases this is just the uppercase name of the tool, but there are exceptions like ${SETENV} for env, ${HOSTNAME_CMD} for hostname.
2020-05-09mk/tools/create.mk: add new variable TOOLS_ALWAYS_WRAP for debuggingrillig1-2/+10
2020-03-13mk/tools: in show-all-tools, sort tool variables by relevancerillig1-7/+7
Before, these variables were sorted alphabetically, which made the output more difficult to read.
2020-02-25put back bsdtar as host tool, conditional on MKBSDTARtnn1-1/+4
http://mail-index.netbsd.org/source-changes/2020/01/17/msg112935.html
2020-02-13tools/tools.NetBSD.mk: Register TOOLS_PLATFORM.realpathkamil1-1/+4
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.