summaryrefslogtreecommitdiff
path: root/mk
AgeCommit message (Collapse)AuthorFilesLines
2020-08-27mk: Remove an unwanted NetBSD RCS tag.jperkin1-2/+2
2020-08-27mk: Rewrite the checksum script in awk.jperkin4-198/+315
The previous shell script version's runtime was quadratic against the number of distfiles to verify. Historically this has not been an issue, with usually only a handful of files per package. However, with the introduction of Go modules the number of distfiles used by a single package can be very high. For example, in an upcoming update of www/grafana to version 7.1.5, the number of GO_MODULE_FILES is 821. Running 'bmake checksum' takes: real 18m20.743s user 17m27.975s sys 0m49.239s With the awk code, this is reduced to a far more sensible: real 0m4.330s user 0m3.241s sys 0m0.875s The script has been written to emulate the previous version precisely, preserving the same output and error messages and supporting all of its behaviour, with the one exception that previous exit values of 128 have been changed to 3, in order to avoid any potential signed 8-bit issues. The one change in the pkgsrc infrastructure is that the mk/fetch/fetch script no longer sets a working default value for ${CHECKSUM}. This is not a problem in a pkgsrc environment as all of the required variables are set correctly, but if there happen to be any users who are using this script in a standalone environment, they will need to set it accordingly. This was probably required in many situations previously anyway, as none of the script's environment variables were set, and trying to support this would be fragile at best.
2020-08-21mk/platform: Update Darwin version listsjmulder1-10/+13
2020-08-21mk: describe notmuch option.wiz1-0/+1
2020-08-21Add description for `fido' option.riastradh1-0/+1
2020-08-18Add 0-clause-bsd to DEFAULT_ACCEPTABLE_LICENSES.riastradh1-2/+2
This is OSI-approved open source: https://opensource.org/licenses/0BSD Omitted from license.mk when introduced only because a freeze was on: https://mail-index.netbsd.org/tech-pkg/2019/12/22/msg022374.html
2020-08-12Add CMAKE_INSTALL_NAME_DIR, a package-settable variable containing theschmonz1-2/+7
destination directory to install shlibs. It's used on macOS by install_name_tool(1). The default is ${PREFIX}/lib.
2020-08-11Up to 10.12.6 at least, the Mac OS X linker, does not support "-no_warn_inits".hauke1-1/+2
2020-08-09Add URLs to the MASTER_SITE_R_CRAN listbrook1-1/+7
At some point CRAN added the https protocol to its repositories, but this was never reflected in MASTER_SITE_R_CRAN. Add analogues for all the http sites with responsive https servers.
2020-08-04mk/fetch/fetch.mk: add keywords for "bmake help"rillig1-1/+2
2020-08-04mk/help: fix help parser for variable names followed by commarillig1-4/+4
Seen in mk/fetch/fetch.mk for FETCH_USE_IPV4_ONLY.
2020-07-29Allow use of openjdk11 on NetBSD/aarch64.rjs1-2/+3
2020-07-28Complete import of bareos - a fork of bacula 5.2 around 2010 providingkardel1-0/+1
LTO hardware encrytion, bandwidth limitation, data replication across sites and more.
2020-07-27mk/pgsql: Change default to 12gdt1-2/+2
As discussed on foo-pkg at some length, with no significant objections.
2020-07-13mk: remove backwards compatibility for pkg_install from before 2010wiz1-8/+3
2020-07-08mk: Skip unnecessary dirs for CTF/debug conversion.jperkin2-5/+6
There won't (or at least should never!) be any files under share/ or man/ that require conversion for CTF or debug support, so set sensible defaults for both CTF_FILES_SKIP and STRIP_FILES_SKIP. Further additions are welcome. While here rearrange the ordering of the debug skips to match CTF and deliver a small performance improvement by avoiding unnecessary file tests. Combined, these reduce the runtime for "make install-ctf install-strip-debug" in lang/rust down from wall/user/sys 10m33s/2m34s/9m30s to 1m13s/0m46s/1m4s.
2020-07-06revert metadata.mk:1.24, keep passing useless flag -U.maya1-2/+2
It wasn't useless in older pkg_create, as used by netbsd-7. Reported by sborrill.
2020-07-04mk/misc/show.mk: fix reference to further documentationrillig1-3/+3
2020-07-01mk/haskell.mk: clean up _VARGROUPS section and unused variablesrillig1-10/+22
2020-07-01mk/haskell.mk: remove variable HASKELL_COMPILER, clean up documentationrillig2-133/+38
There was only a single valid value for HASKELL_COMPILER, therefore the variable was useless. It only made the implementation more complicated than necessary.
2020-07-01remove clang-static-analyzer optionadam1-1/+0
2020-07-01show-all: fix typo in variable namerillig2-4/+4
The width only applies to a single group, not to several or even all groups.
2020-07-01mk/buildlink3: increase width of varnames in show-all-bl3rillig2-22/+25
The buildlink3 variable names are quite long. So long that using the default column width of 24 characters, most of the variable values are not aligned. In this case, it makes sense to shift them all to the right a bit.
2020-06-29mk/haskell.mk: regenerate PLIST if it is outdatedrillig1-9/+9
Now that haskell.mk distinguishes between plain and outdated PLIST files, this is possible again. When haskell.mk knew only missing and outdated, this was still ambiguous and therefore skipped.
2020-06-29mk/haskell.mk: fix PLIST status detectionrillig1-4/+3
As seen in devel/hs-hashable/PLIST r1.1, which listed only the package-description but not the package-id.
2020-06-29mk/haskell.mk: only add PLIST_SUBST and PRINT_PLIST_AWK if usefulrillig1-13/+15
The PLIST_SUBST and PLIST_PRINT_AWK definitions for Haskell library packages are only useful if the package-description file exists. If that file is absent though, these are skipped. The test whether the file exists is made as late as possible since that file does not yet exist at the point where the package Makefile is parsed. This also affects the show-all-haskell target, which only shows these values after the install phase. This is not perfect but good enough for practical cases.
2020-06-29mk/haskell.mk: fix PLIST status detectionrillig1-1/+3
Before, running "HS_UPDATE_PLIST=yes bmake update" in wm/xmonad did not apply the proper substitutions to the generated PLIST file since the PLIST file was created empty during the GENERATE_PLIST command, and that empty PLIST file changed the status to "plain" instead of "missing". Because of that, the HS_INTF and related placeholders were not defined. The 2 conditions for the status "missing" had to be written in separate .if clauses because of a bug in bmake that was introduced in 2015 and will be fixed with the next bmake update. For further details, see src/usr.bin/make/unit-tests/cond-short.mk.
2020-06-29mk/subst.mk: activate the SUBST no-op check again by defaultrillig1-2/+2
It had been switched off to not affect packages in the stable branch 2020Q2. Now starts the last round where it is possible to disable this check. After 2020Q3, all SUBST blocks must either find their patterns or be explicitly marked as potential no-ops. This will help to find outdated SUBST blocks.
2020-06-29mk/defaults: Add option for apache24's mod_mdryoon1-0/+1
2020-06-29mk: Add db18 to Berkeley DB frameworkryoon1-4/+4
2020-06-25mk: Handle pdksh issue with "set -e" in for loop.jperkin1-2/+2
With our current version of pdksh, a "false && something" construct under "set -e" conditions will continue as it does with other shells, but if the construct is within a for loop then it exits, causing failures in the substitution code. An explicit "|| true" is necessary to avoid this. Approved during the freeze by wiz.
2020-06-25Retire 'djbware-errno-hack' and associated options.mk cleverness.schmonz2-28/+6
Instead: 1. Package makefiles including their own options.mk 2. Packages say "SUBST_CLASSES+=djberrno" to get the hack, if needed 3. Packages adjust SUBST_FILES.djberrno, if needed Should fix bulk build failures due to multiple inclusions of options.mk and/or incorrect definitions of DJB_ERRNO_HACK. Approved during the freeze by wiz@.
2020-06-24mk: Add luajit option descriptionnia1-0/+1
2020-06-21mk/haskell.mk: fix PLIST generation for Haskell packagesrillig1-20/+30
The package textproc/hs-cgrep does not install a Haskell library. This was unexpected to mk/haskell.mk, which generated an obviously wrong PLIST file for that package, and for 3 other packages. Noticed by wiz.
2020-06-21mk/defaults/options.description: rename two optionstaca1-2/+2
Rename ecap and esi to squid-ecap and squid-esi.
2020-06-18mk: do not check vulnerability when just fetching distfileswiz1-2/+2
This is intended to reduce the log output on ftp.NetBSD.org when fetching all distfiles. Also, we call the target in basically every step of package creation (extract, patch, configure, build, install, package) - perhaps we should trim this down some more.
2020-06-16mk/subst.mk: SUBST_NOOP_OK defaults to yes againrillig1-2/+2
There are still some packages that fail the strict SUBST check. These packages should nevertheless be built using the default pkgsrc configuration, at least in the stable 2020Q2 branch. After 2020Q2 has been switched, the strict SUBST checks will be activated again in the default configuration.
2020-06-13mk/configure: Replace SET(CMAKE_MODULE_PATH... like 'set' too.ryoon1-2/+4
This will break print/scribus-qt4. It uses CMAKE_MODULE_PATH as not a directory list. It is wrong assumption.
2020-06-12mk/build/build.mk: use SH for the shell in build-envrillig1-3/+3
Providing a realistic build environment has priority over having a convenient shell with auto-completion and all the likes.
2020-06-11mk/subst.mk: remove unnecessary SUBST_VARS definitionrillig1-2/+1
This is a package-settable variable, and if a package leaves it undefined, "bmake show-all-subst" should show exactly this.
2020-06-11mk/subst.mk: document the unspecified application orderrillig1-1/+2
To avoid bmake warnings because of duplicate class names, the :O:u modifier had been added in r1.66 on 2020-03-21. This had the side effect that the subst classes are now applied in alphabetical order instead of declaration order. For this to actually matter, there must be a file that is affected by two different subst classes and in which the substitutions depend on each other or prevent each other. Chances for that are pretty low. The order is intentionally documented as being unspecified, to allow for future modifications, just in case that a bmake variable modifier is invented that filters for duplicates without requiring the duplicates to be adjacent to each other. In that situation, it would be nicer to switch back to declaration order instead of alphabetical.
2020-06-11mk/subst.mk: fix local variable namesrillig1-8/+8
These variables don't record whether a file is changed but instead whether a pattern was found.
2020-06-11mk/subst.mk: always remove temporary filerillig1-6/+4
Fixes PR pkg/55364.
2020-06-10mk/plist: Add EARLY_PRINT_PLIST_AWKleot2-4/+11
EARLY_PRINT_PLIST_AWK is like PRINT_PLIST_AWK but operates before the file/directory lists are sorted. Discussed on tech-pkg@ mainly to address `print-PLIST' order problems for Python 3 packages: <https://mail-index.NetBSD.org/tech-pkg/2020/05/27/msg023249.html>
2020-06-07bsd.buildlink3.mk: add ABI_DEPENDS and API_DEPENDS to show-all-bl3rillig1-3/+17
2020-06-07mk/check/check-portability.mk: remove leaked debug coderillig1-2/+1
Thanks jperkin@.
2020-06-07mk/configure/replace-interpreter.mk: clean up show-all-interp variablesrillig1-4/+3
2020-06-07mk/check/check-portability.mk: use predefined toolsrillig1-3/+5
Just in case any of these tools defines some command line arguments. The correct path had already been used before since both env and sh are added to USE_TOOLS in bsd.pkg.mk.
2020-06-07mk/bsd.prefs.mk: add PKG_DBDIR to show-all-dirsrillig1-1/+2
2020-06-07mk/.../metadata.mk: properly clean up loops after removing ""rillig1-3/+1
There is no evidence that any shell needs the empty string literal in 'for i in "" $var' to loop over a simple variable. This would only be necessary if the shell code were generated by a preprocessor such as bmake or autoconf, and the list of items might end up empty. In such a case, the empty string literal prevents to generate 'for i in ; do', which would produce a syntax error.