summaryrefslogtreecommitdiff
path: root/mk
AgeCommit message (Collapse)AuthorFilesLines
2020-05-28Flip the switch on ALLOW_VULNERABLE_PACKAGES to allow them by default.maya3-21/+23
Right now, users who install the pkg-vulnerabilities database find that the vast majority of packages fail to build, penalizing them too severely. Package auditing can still be done via "pkg_admin audit". Alternatively, the previous behaviour can be restored with ALLOW_VULNERABLE_PACKAGES=no in mk.conf. Additionally, bmake-ify the check.mk logic. It was easier to do this, as the package relied on a single long ${RUN} command. Proposed on tech-pkg, with no objections to the idea of changing the default, just the method of doing so.
2020-05-28mk/tools: not all linuxes have bash (e.g. alpine)nia1-1/+3
2020-05-25options.description: "firefox" is also no longer an optiongutteridge1-1/+0
2020-05-25options.description: +2 missing entries, -1 no longer usedgutteridge1-1/+2
2020-05-23mk/configure: fix configure options check for custom CONFIGURE_SCRIPTrillig1-3/+6
Seen in cross/arm-none-eabi-gdb.
2020-05-23MySQL 5.5 and PostgreSQL 9.4 are no longer with usadam2-22/+5
2020-05-22mk/configure: fix check for unknown configure optionsrillig1-2/+2
2020-05-22Add a missing redirect to ensure that all files are picked up forjoerg1-1/+2
hashing.
2020-05-21mk/configure: remove outdated documentationrillig1-6/+1
2020-05-21mk/configure: add variable GNU_CONFIGURE_QUIETrillig1-1/+13
This allows bulk builds or other setups to see interesting error messages, without them being hidden in the noise of "checking ...".
2020-05-21mk/pkgformat/metadata.mk: fix relative paths in PATCHDIR and FILESDIRrillig1-4/+4
Before, relative paths had been stored as-is. This affected those packages that defined PATCHDIR or FILESDIR as relative directory instead of prefixing it with ${.CURDIR}. Since there are already several other paths that are interpreted relative to the package directory (CONFLICTS, DEPENDS), allow PATCHDIR and FILESDIR to be specified as relative paths, too. This makes the package Makefiles a bit shorter.
2020-05-21mk/configure/gnu-configure.mk: disable built-in option checkrillig1-4/+2
The rewritten check for unknown configure options already checks for options that are not defined anywhere. After that, the configure scripts don't need to check for these options anymore since all remaining options are known to the package, in at least one of its configure scripts.
2020-05-21mk/configure: completely rewrite check for unknown configure optionsrillig2-95/+42
The previous implementation could not reliably detect outdated configure options. This was apparent in devel/gettext-tools, where the option --with-included-libcroco had become unknown between May 2019 and May 2020, but the check was not run. The behavior is the same in the pkgsrc default configuration. Only if GNU_CONFIGURE_STRICT=yes, the new check is activated and will make packages fail that previously succeeded to build. Since that variable is not widely known, there won't be much sudden breakage, if any.
2020-05-18mk/configure/replace-interpreter.mk: silently skip broken symlinksrillig1-5/+5
Like directories, they probably come from shell globs. Seen in misc/byobu.
2020-05-17g/c references to openjdk7tnn1-23/+4
2020-05-16mk/subst.mk: change default value for SUBST_NOOP_OK from yes to norillig1-20/+23
This makes the SUBST blocks stricter than before, to detect outdated or unnecessary definitions. Filename patterns that are not affected by any of the SUBST_SED expressions make the build fail. It is still ok if only some of the files from a pattern are affected and some aren't. The latest bulk build shows that most of the build failures are fixed. The packages that fail in that build are mostly due to other failures, like missing C headers, wrong PLIST files, unresolved references at link time. There may be a few packages that still fail because of this, but these are near the leaves of the dependency tree. https://mail-index.netbsd.org/pkgsrc-bulk/2020/05/14/msg018919.html
2020-05-16mk/subst.mk: properly detect s,a,a,1 as identity substitutionrillig1-2/+2
Seen in games/bastet. The 1 is not necessary though since it only repeats the default behavior of sed.
2020-05-15pkg_create -U doesn't do anything, don't pass the flag.maya1-2/+2
2020-05-15mk/defaults: Revert PKG_DEVELOPER default change for nownia1-2/+3
2020-05-15mk/defaults: Switch PKG_DEVELOPER on by default.nia1-4/+3
Bulk builds with PKG_DEVELOPER set have been the status quo for a while. Every package in pkgsrc has to be expected to build with this.
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-12mk/configure/cmake.mk: allow no-op SUBST blockrillig1-1/+2
For example, graphics/openjpeg on SunOS doesn't need it.
2020-05-12options.description: Add pygments.kleink1-0/+1
2020-05-11mk/subst.mk: fix edge case in detection of identity substitutionsrillig1-3/+7
In a basic regular expression, a dollar-sign only means end-of-string if it appears at the end of the pattern, or (at the choice of the implementation) at the end of a \(...\) subexpression. This affects the package converters/help2man that uses a regular expression containing a dollar in a non-final position. This regular expression had not been detected as an identity substitution even though it is one.
2020-05-10mk/haskell.mk: allow to generate PLIST filesrillig1-17/+64
Since GHC 7.10 or 7.8, the Haskell packages are installed in directories whose name contains the package hash. This made it harder to predict the exact pathname. Havin the exact pathnames in the PLIST file is the ideal, it also helps to record the general structure of the installed files to see whether some file unexpectedly appear or disappear. To enable this for Haskell packages, the various base directories are replaced with placeholders during print-PLIST. These placeholders are translated back to their respective paths when the +PLIST is generated from the PLIST in the package directory. Except for 2 packages, all Haskell packages in main pkgsrc had their package PLIST file removed. To help in adding them back, the pkgsrc developer can set HS_UPDATE_PLIST=yes in mk.conf, which will generate the PLIST directly into ${PKGDIR}/PLIST upon installation. Most packages in pkgsrc-wip still have their old PLIST, and these are migrated automatically as well.
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/scripts: fix a few of the HTML injections in README generationrillig2-4/+16
These are needed for the djb-errno-hack option, which includes the <> characters.
2020-05-10mk: move locking.mk from internal to miscrillig2-3/+3
Locking is not really internal since it has user-settable variables.
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-05-09mk/check/check-portability.mk: improve documentationrillig1-12/+12
2020-05-09mk/pkginstall: fix output of show-all-pkginstallrillig1-2/+2
2020-05-06mk/subst.mk: allow identity substitutions with escaped dotsrillig1-9/+27
This fixes the build of converters/help2man in SUBST_NOOP_OK=no mode.
2020-05-05mk/check/check-portability: opt-in for newer portability checksrillig2-3/+12
There are a few portability checks that have been existing for years. Later additions need an opt-in phase to avoid breaking existing usages. https://mail-index.netbsd.org/tech-pkg/2020/05/04/msg023084.html
2020-05-04mk/check/check-portability: fix error message when no patches are foundrillig1-2/+11
2020-05-04mk/check/check-portability: skip X.in if X is patchedrillig3-4/+12
A commonly occuring scenario is that a package patches the configure script, but that the corresponding configure.in contains shell code that is not portable. In cases like these, configure.in is typically not used during the build, therefore there is no need to check it for portability. This also applies to all other combinations where a file is patched and the corresponding file.in contains unportable shell code.
2020-05-04mk/configure/pkg-config-override.mk: ignore no-op SUBST blocksrillig1-1/+2
There are many .pc files that don't have a "Libs:" line. That is totally ok, therefore just skip these files.
2020-05-03mk/defaults/options.description: describe a few optionsrillig1-7/+36
2020-05-03mk/bsd.options.mk: make deprecated options more visiblerillig1-5/+5
Up to now, the generated warnings were not prefixed with anything.
2020-05-03mk/help: clean up coderillig1-9/+6
2020-05-03mk/help: remove negation from variable namesrillig1-14/+14
2020-05-03mk/bsd.pkg.mk: improve documentationrillig1-4/+5
2020-05-03mk/bsd.options.mk: fix comment for bmake helprillig1-2/+2
Before, "bmake help" only printed the second section of the help topic.
2020-05-03mk/bdb.buildlink3.mk: fix outdated commentsrillig1-4/+4
2020-05-03mk/help: do not treat continuation lines as textual commentsrillig1-3/+5
2020-05-03mk/help: make variable more preciserillig1-6/+6
The word "ignore" was too unspecific. There are lines that should be printed, and there are lines that should be evaluated.
2020-05-03mk/bsd.pkg.mk: fix typos in documentationrillig1-3/+3
2020-05-03mk/help: clean up code for selecting relevant help topicsrillig1-17/+16