Commit graph

10283 commits

Author SHA1 Message Date
gutteridge
20925d76f6 bsd.options.mk: fix typo in comment 2021-06-11 20:21:01 +00:00
abs
fbbb78be14 Mention consolekit 2021-06-11 10:37:27 +00:00
bouyer
6cd1caeb32 Explicitely include lib/cmake/ and share/cmake/ in the
BUILDLINK_CONTENTS_FILTER, as discussed on tech-pkg on may 26 and 27.
Fix an issue with www/libwebsockets/buildink3.mk where some cmake files
are missing from the .buildlink dir, causing config failure in consumer
packages.
2021-06-08 10:10:02 +00:00
adam
bcb476ecc0 fuse.buildlink3.mk: on macOS, allow to use macFUSE (formerly OSXFUSE) 2021-06-04 18:59:18 +00:00
khorben
727ba708e4 Introduce a new SYSCONFBASE variable (defaults to /etc)
This is part 1 to support additional platforms with the RC scripts provided in
pkgsrc, in privileged as well as in unprivileged mode, including on NetBSD
(with part 2 in pkgtools/rc.subr).

This variable is meant to point to the configuration directory of the base
system (as opposed to pkgsrc's own prefix) when it should be used by pkgsrc in
special cases (e.g. installing RC scripts), or to point to the existing
PKG_SYSCONFBASE directory otherwise (e.g. for any unprivileged bootstrap).
This teaches pkgsrc where the RC scripts should be installed, and more
importantly, where the local copy of rc.subr can be expected. Part 3 will
progressively update each and every RC script to substitute this path as
expected.

No functional changes are intended in privileged mode without a bootstrap. The
only variable affected by this change directly is RCD_SCRIPTS_DIR, which
currently remains with the same default of /etc/rc.d, and can be overridden as
before.

When bootstrapping, SYSCONFBASE also remains with the existing default when no
prefix is set or is "/usr/pkg" or "/usr"; it is set to $prefix/etc otherwise. It
can be specified specifically with --sysconfbase if necessary.

Existing installations or bootstraps are not affected, as this change needs
setting SYSCONFBASE in the corresponding $sysconfdir/mk.conf to have an impact.

Tested in privileged and unprivileged modes on NetBSD/amd64, and unprivileged
mode on Darwin/amd64; submitted for review on tech-pkg@.
2021-05-30 23:41:05 +00:00
jperkin
33d4ec633c mk: Map macOS 11.4 to the 11.3 SDK. 2021-05-27 18:16:26 +00:00
nia
3baa7b12d3 +columnstore 2021-05-25 12:09:19 +00:00
nia
fb50d48b44 +oqgraph 2021-05-25 10:18:37 +00:00
nia
bb964c332f +rocksdb 2021-05-25 10:11:33 +00:00
nia
23fbbfabda improve option descriptions 2021-05-25 10:10:10 +00:00
adam
91ff7902ca postgresql95: removed; EOL 2021-05-24 07:42:01 +00:00
nia
073326436c mk: add mariadb105 2021-05-23 15:36:45 +00:00
wiz
7861b08583 mk: document zstd option 2021-05-23 11:13:51 +00:00
jperkin
25f53256d2 mk: Overhaul mysql.buildlink3.mk.
- Avoid shouting in version names.  Users may still set MYSQL_VERSION_DEFAULT
  to "MARIADB104", but it is preferred to switch to "mariadb104".

- Set the correct variables in BUILD_DEFS_EFFECTS and _SYS_VARS.

- Instead of hardcoding library names with per-OPSYS logic and testing for
  their existence to see if the package is installed, do it the correct way
  using pkg_info(1).

- Make it easier to add new MySQL versions.

- Avoid unnecesary variables.  Use bmake(1) slices to select the first item
  in a list rather than a temporary variable.

- Improve documentation.

Based on a patch I've had sitting in the joyent/pkgsrc tree for far too many
years.  No functional change other than the switch to lowercase package names
by default.  Tested in a bulk build with additional Percona packages.
2021-05-21 13:20:43 +00:00
triaxx
e1eb9d8602 subst.mk: Fix mk/scrips/subst-identity.awk for FreeBSD
At least on FreeBSD 13.0, awk '/^[\t -~]/' does not match alphabetical
characters with some utf-8 locales (e.g. neither en_US.UTF-8 nor
fr_FR.UTF-8 works but C.UTF-8 does).
2021-05-19 14:44:22 +00:00
nia
8a845b5c99 more generic description for simd 2021-05-15 11:18:12 +00:00
nia
be29d2f130 add avx option description 2021-05-15 10:55:28 +00:00
jdolecek
21651ccf21 support MySQL 8.0
80 is accepted by default, but 57 remains the default to install if none available
2021-05-13 15:29:04 +00:00
nia
64b9c9e9e3 Remove mariadb55, EOL since April 2020. 2021-05-13 11:04:43 +00:00
hauke
b8ce4a2039 Set SUSE_PREFER explicitly for recent FreeBSD releases.
Otherwise, we end up with 10.0, which does not support FreeBSD, even
in the presence of newer suse_ packages installed -- so much for *_PREFER.
2021-05-12 10:14:24 +00:00
thor
c13d43b0d1 mk/mpi.buildlink3.mk: Add MPI_TYPE=native and diagnostics
This enables use of MPI compiler wrappers present in the host
system via MPI_TYPE=native. Also, it checks for conflicts with
a preintalled different MPI choice from pkgsrc and.
2021-05-11 21:30:57 +00:00
hauke
d50171c1c7 Add freebsd-{i386,x86_64} to _EMUL_PREFER.
No preference, no emulation...
2021-05-11 14:56:47 +00:00
thor
5f089f5a15 options: add vtk 2021-05-08 22:05:53 +00:00
jdolecek
4088bdb93b recognize MariaDB 10.4 as another accepted MySQL version 2021-05-08 19:53:28 +00:00
jdolecek
e076927e3a merge the version check for Darwin and !Darwin
mariadb55-client is now detected and used if available on macOS
2021-05-08 15:51:28 +00:00
thor
521c50ceec options.description: add some from math/fftw 2021-05-07 12:31:04 +00:00
rin
ab4b83a2f9 64-bit atomic ops are lacking for m68k.
Part of PR pkg/56119 from nia.

XXX
We need this for other architectures also...
2021-05-07 11:32:01 +00:00
pho
3c537cb057 Support PKGSRC_USE_RELRO 2021-05-04 15:44:33 +00:00
gutteridge
6c9c8026c7 options.description: add webcollage option 2021-05-03 23:32:19 +00:00
ryoon
2cfbc4d2bb mk/tools: gdbus-codegen is in devel category 2021-05-02 14:11:40 +00:00
pho
453fae4479 Switch the default compiler to lang/ghc90 2021-05-02 13:39:25 +00:00
nia
ab8a1fb4af *: Use the tools framework for gdbus-codegen 2021-05-02 11:06:12 +00:00
nia
773cde7da8 *: Use the tools framework for itstool
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-05-02 10:24:47 +00:00
pho
443566c5fb Use tools framework for Haskell source preprocessors 2021-05-01 16:14:19 +00:00
pho
5fba640853 Move lengthy awk and shell scripts out of haskell.mk 2021-05-01 15:06:26 +00:00
pho
56b10e6f5c Fix a bug in my previous commit 2021-05-01 14:24:21 +00:00
pho
aaed0e0c91 Support Cabal packages that lack Setup.?hs
They currently have Setup.hs in ${FILESDIR} with almost always the same
content. We can do better than that.
2021-05-01 14:10:55 +00:00
wiz
b0ee303e9c mk: master site xorg now prefers https 2021-04-28 09:54:24 +00:00
mrg
0a843265c7 various fixes for arm64 big endian support.
most of these simply extend matching from "aarch64" to "aarch64eb"
in various forms of code.  most remaining uses in pkgsrc of
"MACHINE_ARCH == aarch64" are because of missing aarch64eb support,
such as most of the binary-bootstrap requiring languages like rust,
go, and java.

no pkg-bump because this shouldn't change packages on systems that
could already build all of these.
2021-04-25 07:51:24 +00:00
pho
187301d3fc Rework the PLIST handling to support executable-only packages
It was a long-standing issue that Haskell packages which didn't contain a
library could not be correctly handled.

There are fewer substitutions in PLIST_SUBST now. As a result existing
PLIST files will all be considered as outdated and should be updated
either by setting HS_UPDATE_PLIST=yes or by manually running print-PLIST.
They will be ignored until that.
2021-04-23 03:57:16 +00:00
wiz
9945ccab7a mk: remove dead download site 2021-04-21 15:38:17 +00:00
nia
9c68a24386 correct documentation 2021-04-10 09:03:13 +00:00
nia
d3b700d42d mk: use http. 2021-04-09 20:15:16 +00:00
tnn
df25059544 mk/java-vm.mk: switch NetBSD-*-aarch64 to openjdk11 2021-04-09 12:47:24 +00:00
joerg
e58a801ede Preserve stdin for the bootstrap and dependency handling like done for
normal dependencies.
2021-04-06 18:46:06 +00:00
nia
9876104df1 mk: Remove lingering gcc5 reference 2021-04-06 12:07:57 +00:00
nia
94a4d76a74 mkreadme: Rename generated files to index.html
This should make web servers happier, as discusesd on tech-pkg.
2021-04-05 10:32:38 +00:00
gdt
d7355c1c8a license.mk: Minor changes in comments
Capitalize Free and Open Source more consistently.

Use "approved" rather than "accepted" when discussing Debian, to
avoid confusion between their rules and processes and ours.

(This is not a substantive change.)
2021-04-03 15:30:39 +00:00
nia
5cae70c75a mk: Remove gcc44 bits 2021-04-02 17:04:17 +00:00
nia
54b7655c2e mk: use gcc6-aux for ada 2021-04-02 16:54:48 +00:00
nia
51a9ce2ba7 mk: Remove references to gcc48/gcc49, as done elsewhere here 2021-04-02 11:48:16 +00:00
ryoon
e8aa763230 mk: Introduce GITHUB_SUBMODULES to get and place Git submodules for GitHub 2021-03-30 16:47:03 +00:00
wiz
15a32f324f mk/jpeg.buildlink3.mk: document allowed values 2021-03-21 08:02:27 +00:00
ryoon
483412fe32 mk: Add preliminary support for MidnightBSD
It is almost as same as FreeBSD.
2021-03-15 16:21:02 +00:00
ryoon
a1214d5fb6 mk/platform: Add -s to ln always, because Haiku does not support hardlink
Supplied by jperkin@. Thak you.
2021-03-15 16:17:59 +00:00
ryoon
6d10a91d74 mk/platform: Enable cwrappers for Haiku
Confirmed under Haiku/x86_64 R1/beta2.
2021-03-15 14:20:01 +00:00
pho
f369c8d13b mk/haskell.mk: Ignore per-user package environment file while building 'Setup'
Turned out this was necessary when using `cabal-install v2-install` outside of pkgsrc, because the command creates a per-user package environment and in turn makes Cabal hidden.
2021-03-14 08:19:24 +00:00
nia
d9c5242166 genreadme: Reorganize information for clarity.
Move the navigation to the top and reword it slightly. This makes it
more immediately visible. I'm not sure if this justifies a "Skip to content"
button yet.

Give the binary package table headers.
2021-03-08 16:37:59 +00:00
ryoon
04573692dd Add odbl-v1 to default acceptable license list 2021-03-06 04:36:21 +00:00
nia
2e89be79b6 genreadme: Reduce size of generated README.all 2021-02-24 08:16:32 +00:00
nia
f289564dbe genreadme: Improve generated HTML markup
Don't use tables for everything, it's not 1999 any more.

Remove another hack for Solaris 9.
2021-02-22 09:32:55 +00:00
nia
035e9a0738 genreadme: Add DESCR to output. Make history useful for not-CVS-fans. 2021-02-22 05:32:02 +00:00
nia
41b5fb25ec genreadme: Re-order package summary and attempt to present it better.
- Add a maintainer field.
- Use lists and sections to separate information.
- Make license information a hyperlink.
- Move available build options and vulnerabilities listings to the bottom,
  as they tend to use up a lot of space and create reader fatigue.
- Correct stylesheet paths.
2021-02-22 05:10:18 +00:00
nia
2193010d1b genreadme: Include TOOL_DEPENDS in build-time dependencies list 2021-02-22 04:24:12 +00:00
nia
ce19922334 genreadme: Fix printing of package options where there's more than one 2021-02-22 04:19:00 +00:00
nia
e8a3ab815f mk: Add tool_depends to print-summary-data target 2021-02-21 10:23:40 +00:00
nia
3b161fc24f genreadme: Simplify dependency list generation.
- Only bother with top-level dependencies and don't attempt to recurse
  the tree, this creates very messy output for modern packages.
- Normalize output for both build-time and runtime dependencies.
- Remove slow workarounds for Solaris 9 awk limitations.
2021-02-21 09:45:01 +00:00
nia
d947084b38 mkreadme: Do not generate an index of packages with IPv6 support
It is Current Year and most things have IPv6 support, whether there's
an "ipv6" PKG_OPTION is no longer a good indicator.
2021-02-19 17:49:06 +00:00
nia
c80e90b037 genreadme: Skip printing fixed vulnerabilities to the html output 2021-02-18 10:39:50 +00:00
wiz
7c4e93e02a mk: remove ftp.dante.de, it does not offer FTP any longer 2021-02-14 11:46:13 +00:00
gdt
4f45f1c3c4 mk/compiler/gcc.mk: Remove stray mid-line \
(Apparently left over from reducing the vast number of gcc versions.)
2021-02-04 21:45:13 +00:00
jperkin
c2346e575e mk/platform: Support known macOS SDK skew mapping.
For example, the recently release macOS 11.2 does not ship a 11.2 SDK, but
continues to use the compatible 11.1 SDK.  This now works correctly without
having to enable OSX_TOLERATE_SDK_SKEW.

These should only be added for releases within the same major version where we
can guarantee compatibility.
2021-02-02 15:47:54 +00:00
tpaul
e452b20105 mk: Use "_PKGSRC_USE_RELRO" instead of "PKGSRC_USE_RELRO"
This variable appears to be incorrect as "_PKGSRC_USE_RELRO" is set in
bsd.prefs.mk. This was causing RELRO_SUPPORTED=no to not function as intended
in lang/go/go-vars.mk

ok'd by jperkin
2021-02-01 16:03:49 +00:00
jperkin
bd2dceaefb mk: Document disable-ld option. 2021-01-29 13:12:28 +00:00
gutteridge
3fa020f93b developer.mk: improve a comment 2021-01-20 01:35:33 +00:00
jperkin
978ec6c985 mk/tools: Avoid native GNU make/m4 on all Darwin systems.
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.
2021-01-19 11:42:18 +00:00
rhialto
702896ca95 Remove "mismatch" flag also in the other place.
Also, remove check for empty +INSTALLED_INFO which seems no longer needed.
2021-01-17 20:18:42 +00:00
maya
23ad232dfc g/c gcc48, gcc49, gcc5 logic 2021-01-17 16:05:48 +00:00
maya
9c62045f83 If the base GCC isn't enough, and GCC_REQD=4.5 to 6, use gcc6.
gcc4.8,4.9,5 have bugs preventing them from being useful within pkgsrc
for the primary use case that finds them handy:
glibc + FORTIFY + those GCC versions = build failures.

Additionally, requiring fewer versions of GCC is an improvement for
the vast majority of use-cases considered.

We might want to bump this further than gcc6 later on, but this is a
big improvement for CentOS builds.
2021-01-17 15:32:00 +00:00
schmonz
2d46db5b75 Provide defaults for BINCIMAP_{USER,GROUP}. Note that s6-networking also
makes use of UCSPI_SSL_USER.
2021-01-15 19:47:33 +00:00
wiz
a8b7b3d265 mk: describe most icinga2 options 2021-01-15 11:46:01 +00:00
gdt
6006036ac8 mk/misc/show.mk: Only advise changing user-settable variables
Before, it was easy for a user to misinterpret the message as
e.g. setting PYPACKAGE for gnome-doc-utils.
2021-01-13 18:01:49 +00:00
schmonz
6f81dbb2d3 Describe 'execline' option. 2021-01-11 18:25:36 +00:00
rhialto
51c58acbfc make replace' now also unsets the mismatch' variable.
This is for the benefit of pkg_rolling-replace 0.24.9.
ok gdt@.
2021-01-09 19:10:05 +00:00
fcambus
7c23c72a84 Switch to HTTP for cpan.pair.com, the FTP service has been discontinued. 2021-01-07 09:18:31 +00:00
rillig
3e52f68ccc check-portability: always skip files whose name ends with tilde
Suggested by wiz.
2021-01-04 21:10:01 +00:00
js
770104c037 Revert mk/gnu-config/missing
This broke various things.

Also remove the comment in devel/autoconf/Makefile that says to update it, so
that the next person does not fall into the same pitfall again.
2021-01-03 11:15:21 +00:00
js
0baf2e447d Update devel/autoconf to 2.70
2.70 deprecates a lot of stuff, so expect more warnings, but generally things
seem to work fine, so updating to 2.70 shouldn't break much.

Also update mk/gnu-config/*, as per the comment in devel/autoconf/Makefile.
mk/gnu-config/missing is not actually part of autoconf, but of automake, which
I did not update - however, the file was quite out of date, so I took the
liberty to update that one with the latest automake.

The change log is too long to include in this commit, given how many years
there were between 2.69 and 2.70. Check the file ChangeLog after `make
extract`.
2021-01-02 20:38:56 +00:00
mef
402b5f1778 (buildlink3/find-headers.mk) correct typo 2021-01-02 12:08:03 +00:00
he
ddfc5de010 Document the to-be-committed rust-cargo-static option. 2021-01-01 17:03:04 +00:00
rhialto
39e2eebada Add option vice-headless. 2021-01-01 12:30:29 +00:00
gutteridge
a8ab4910a2 atomic64.mk: fix path to bsd.fast.prefs.mk 2021-01-01 00:06:29 +00:00
nia
2c8d590893 Normalize handling packages that require 64-bit atomic ops. 2020-12-31 20:04:11 +00:00
gdt
c37dbc0d7f pkgformat-vars.mk: Revert requirement for new PKGTOOLS
As part of the pkgdb migration (NetBSD only), PGKTOOLS_REQD was set to
a recent value (20200828).  However, that results in a cyclic
dependency of pkg_install on cwrappers on pkg_install.  Once people
set PKG_DBDIR in pkg_install.conf and mk.conf to match their setup,
there is no need -- because of the migration -- to force newer tools.

Testing on TNF's pkgbuild machine indicates this revert works well,
and I received two positive comments and none against.
2020-12-24 01:31:19 +00:00
taca
7480f9f8fd mk/defaults/options.description: add blocklist 2020-12-22 14:49:57 +00:00
maya
6a70db41c3 Fix error, pointed out by jperkin, thanks 2020-12-20 20:22:17 +00:00
gutteridge
5d6b96b9ed check-files.mk: fix typo in comment 2020-12-20 19:49:25 +00:00
maya
a237f479e4 Simplify check, trust the user's PKGDB_DIR instead of second guessing it.
Fixes bootstrapping a second prefix with /var/db/pkg existing.

In a bootstrap scenario, PKGDB_DIR is defined, so this should just work.
2020-12-20 19:44:16 +00:00
maya
c7638cd9c1 Move the pkgdb compatibility error to a NetBSD-specific file to avoid
breakage for users who have other package managers that use /var/db/pkg
(Reported by Frederic Cambus on FreeBSD, OpenBSD)

Adjust warning: specifying PKGDB_DIR in mk.conf should be sufficient
for building packages for the compatibility pkgdb location.

This is still an error message, because:
- While we can handle the existing references of PKGDB_DIR, new ones
might be created.
- It is a minor inconvenience to people building packages from source.
2020-12-18 17:14:58 +00:00
ryoon
24d993aff2 mk: Use .elif instead of .else if
Found under NetBSD/amd64 9.99.77 of 2020-12-16.
2020-12-17 09:44:24 +00:00
js
ad080fda0f Allow PIE and RELRO on aarch64
I already compiled plenty of packages on my Pinebook Pro with both PIE and
RELRO enabled and have yet to see a build failure.
2020-12-14 21:45:43 +00:00
abs
8fe458fc03 Prefer openjdk11 to adoptopenjdk11-bin for NetBSD
(In the _PKG_JVMS.9 case)
2020-12-14 16:51:16 +00:00
rillig
cb1ef433f4 show-all: explain how to show the values of tricky variables
In most cases, the output of "bmake show-all" is reliable, but in a few
edge cases there may still be surprises.
2020-12-14 00:14:48 +00:00
nia
0b35064193 platform/Linux: always prefer native pthread/libdl 2020-12-13 16:26:12 +00:00
gutteridge
03278bccfb Reflect GNU grep locations on some SunOS variants 2020-12-09 01:24:24 +00:00
js
3a435e0e01 tools.Linux.mk: Consider /bin/find as well 2020-12-05 13:15:58 +00:00
wiz
6ea199b786 mk: fix a duplicate GCC9 variable to refer to GCC10 instead
Noted by Jackson Bryn in PR 55842.
2020-12-05 09:24:00 +00:00
wiz
02e6ee5666 mk: use LOCALBASE instead of PREFIX
I don't understand why this fixes problems, but it does fix the build
of mail/neomutt for me.

From ryoon.
2020-12-03 10:04:48 +00:00
wiz
c85d83c09c *: move default database directory from /var/db/pkg to ${PREFIX}/pkgdb
As discussed in August 2020 and previously on pkgsrcCon 2019.

Ok pkgsrc-pmc@
2020-12-02 10:22:39 +00:00
schmonz
5218c399e1 Run without errors when LICENSE is undefined. 2020-11-19 09:16:38 +00:00
schmonz
727903bd93 Only a few djb-nonlicense packages remain. Retire DJB_RESTRICTED,
instead setting LICENSE directly in those packages. Remove outdated
djbware.mk TODO items.
2020-11-19 08:11:18 +00:00
wiz
70c09ff6fa mk: describe opentracker options 2020-11-16 08:41:41 +00:00
nia
0d650e3ac1 ftp.gnu.org redirects to https. 2020-11-11 09:26:32 +00:00
maya
b602899540 mk/fonts.mk: don't add NO_CONFIGURE and NO_BUILD, have packages set it.
This makes it easier to use the mk fragment with fonts that need a build
step, like new liberation-ttf.

While here switch some fonts using post-install unnecessarily to do-install
(Committed at the same time as it wasn't tested separately)

No PLIST changes to the packages/build breakage, so no changes expected
to the packages.
2020-11-06 18:04:24 +00:00
bacon
9d631121d9 math/openblas: Add to math/Makefile, add options description 2020-11-05 16:35:29 +00:00
nia
d1eb683552 sites: add some working GNOME mirrors 2020-11-05 09:16:00 +00:00
nia
96bc199167 sites: remove GNOME master sites that now either fail or redirect 2020-11-05 09:07:24 +00:00
khorben
3d2c919723 Support PKGPATH with "make package-name"
Now dependencies can be listed either by package name, or path to the
package (eg with "make PACKAGE_NAME_TYPE=path build-depends-list").
Users of PACKAGE_NAME_TYPE=html could use a combination of
PACKAGE_NAME_TYPE=name and PACKAGE_NAME_TYPE=path instead now.

No objection from tech-pkg@
2020-11-04 16:38:59 +00:00
triaxx
8f1b88d20b options.description: fix invalid tabulations 2020-11-01 16:02:09 +00:00
triaxx
00b6bc3cd3 options.description: add description for mpcenc
Used by at least audio/asunder
2020-11-01 15:59:52 +00:00
jperkin
aa75f83214 mk/platform: Use string comparison for Darwin version.
Fixes SDK detection on 11.0.1, where 11 = 11.0 when compared numerically,
leading to the SDK path for "macos11.0.1" not being found.
2020-10-30 17:28:25 +00:00
wiz
8bb51a1d49 mk: expand _USE_GCC_SHLIB section to gcc9/gcc10 2020-10-28 13:19:25 +00:00
tnn
495a9f0355 mk: describe the termion and rodio PKG_OPTIONs 2020-10-26 10:39:23 +00:00
otis
730ac283b1 Set MYSQL_VERSION from within mysql.buildlink3.mk simialrly
to what pgsql.buildlink3.mk does for PostgreSQL.

And while here, document PGSQL_VERSION as variable set by
pgsql.buildlink3.mk
2020-10-20 21:53:31 +00:00
tnn
2f1875f990 mk/compiler/gfortran.mk: bump default from gcc9 to gcc10 on current aarch64
lang/gcc8 has patches for NetBSD/aarch64 and lang/gcc10 has support mostly
upstreamed. Nobody seems interested in fixing gcc9, but the pkgsrc
logic defaults to it when the system compiler is GCC 9 which leads to
broken fortran packages. Let's just skip forward to gcc10.
2020-10-20 19:35:07 +00:00
rin
842c504e92 Add NetBSD/aarch64eb support.
Patch provided by ryo@.
No objections when proposed on tech-pkg@.
2020-10-20 10:40:19 +00:00
schmonz
bfd3541400 Belatedly add default TINYDYN_USER. 2020-10-19 07:10:30 +00:00
adam
8ecbf81f41 postgresql13: added version 13.0
PostgreSQL 13 contains many new features and enhancements, including:
* Space savings and performance gains from de-duplication of B-tree index entries
* Improved performance for queries that use aggregates or partitioned tables
* Better query planning when using extended statistics
* Parallelized vacuuming of indexes
* Incremental sorting
2020-10-18 09:24:02 +00:00
bacon
87edcb24b1 math/blas, math/lapack: Install interchangeable BLAS system
Install the new interchangeable BLAS system created by Thomas Orgis,
currently supporting Netlib BLAS/LAPACK, OpenBLAS, cblas, lapacke, and
Apple's Accelerate.framework.  This system allows the user to select any
BLAS implementation without modifying packages or using package options, by
setting PKGSRC_BLAS_TYPES in mk.conf. See mk/blas.buildlink3.mk for details.

This commit should not alter behavior of existing packages as the system
defaults to Netlib BLAS/LAPACK, which until now has been the only supported
implementation.

Details:

Add new mk/blas.buildlink3.mk for inclusion in dependent packages
Install compatible Netlib math/blas and math/lapack packages
Update math/blas and math/lapack MAINTAINER approved by adam@
OpenBLAS, cblas, and lapacke will follow in separate commits
Update direct dependents to use mk/blas.buildlink3.mk
Perform recursive revbump
2020-10-12 21:51:57 +00:00
triaxx
6ce8724faa libusb1: Fix PR pkg/54903
pkgsrc changes:
---------------
  * Remove the pkgconfig file generation since the version of libusb1 cannot
    be obtained by parsing LIBUSB_API_VERSION from libusb.h (e.g. FreeBSD
    provides 0x01000102 for 1.0.13 and Arch provides 0x01000107 for 1.0.23).
  * At least FreeBSD, Debian and Arch provides a libusb-1.0.pc file for
    their native implementation. Link this file to ${BUILDLINK_DIR}.
  * Add logic in mk/buildlink3 to find pkgconfig files in common pkgconfig
    directories (for at least FreeBSD, Debian and Arch).
2020-10-10 14:17:02 +00:00
jperkin
381af86204 mk: Stop using XCode binaries on Big Sur.
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-10 09:31:50 +00:00
jperkin
7fca306169 mk: Exclude /System/Library on Big Sur too.
As expected this is necessary, as early as requring the CoreFoundation
framework for devel/gettext-lib.
2020-10-09 20:18:30 +00:00
jperkin
cc608c9260 mk: Set _OPSYS_LIB_DIRS to the SDK directory on Big Sur.
This is required for find-libs.mk to continue detecting the presence of
libraries supported by the system.  It's definitely not ideal, and only
still works because Apple happens to ship .tdb files for each library, and
these are found via the current "lib${_lib_}.*" glob.

Patch taken from sjmulder@, I only limited it to Big Sur for now in case
there are issues using the SDK directory on older releases.
2020-10-09 17:43:48 +00:00
jperkin
4d7409c2ae mk: Handle missing system libraries on Big Sur.
The new release of macOS removes system libraries from the file system, only
providing access to them via a linker cache and dlopen().  This obviously
breaks many assumptions about how libraries work on Unix systems, and so we
unfortunately need to cripple various checks when running on those systems.

Introduce DARWIN_NO_SYSTEM_LIBS which, when defined, will trigger alternate
behaviour in the infrastructure.  Currently this is in two places:

  * In CHECK_SHLIBS, skip any path beginning with /usr/lib.

  * In registered package metadata, any path beginning with /usr/lib is
    removed from REQUIRES.

The former fixes all package builds, while the second will be necessary for
package managers such as pkgin, as they will no longer be able to verify that
those files are available on the target system.

This is obviously a gross hack, and removes our ability to ensure that the
target system is suitable for the packages we are attempting to install, but
Apple have left us with no alternative, and users will unfortunately be left
to find out at runtime instead.

It's likely this will need to be extended to /System/Library paths too, but
this is required first to actually get packages building before we can start
running bulk builds.
2020-10-09 16:00:16 +00:00
nia
a6c232727e Add OpenAL to the SUSE 13.1 Linux emulation subsystem 2020-10-08 10:42:48 +00:00
he
cac2aab044 Describe new(ish) options:
doh		-- Enable DNS-over-HTTPS support.
softhsm2	-- Enable SoftHSM version 2 for key management.
2020-10-08 07:29:59 +00:00
jperkin
bd6a60f14a checksum.awk: Avoid warnings with newer gawk.
Reported by Jörn Clausen in PR#55581.
2020-10-07 18:09:52 +00:00
rillig
28065d1fcb mk/subst.mk: remove SUBST_NOOP_OK
This means that from now on, there is no global setting to switch off
this redundancy check.  Individual SUBST classes can still set their own
SUBST_NOOP_OK.<id> in order to ignore no-op filename patterns.

The current bulk builds do not show any build failures that are caused
by this, which means that really almost all packages have been migrated.
2020-10-06 17:48:02 +00:00
rillig
c44518e90f mk: fix undefined variables for current make running in -dL mode
In lint mode, NetBSD's make is stricter about undefined variables.  In
conditions, the function arguments must be fully defined.
2020-10-06 17:36:50 +00:00
schmonz
870ab75c2b Describe 'djbdns-listenmultiple' and define default DJBDNS_IP_SEPARATOR. 2020-10-03 13:02:36 +00:00
schmonz
36b0b26e17 Xcode 12 (or its associated Command Line Tools) ships with default-on
-Werror=implicit-function-declaration, which will be great someday when
we're ready for it. Until then, on macOS, detect this situation and tell
the cc wrapper to prepend -Wno-error=implicit-function-declaration.

Taking mail/qmail as our example, this fixes the build on Catalina
with "Apple clang version 12.0.0 (clang-1200.0.32.2)". Adding
-Werror=implicit-function-declaration to CPPFLAGS or CFLAGS (in
mk.conf or on the command line) re-fails the build, as expected, with
a pile of "error: implicit declaration of function". Also as expected,
a full -Werror fails earlier on one of the many other problems with
qmail's code.

For clang on non-macOS platforms, no change.

clang-and-wrapper-ok: joerg@
during-the-freeze-ok: gdt@
2020-09-21 13:09:21 +00:00
rillig
fb1dd6fb9d show-all: use descriptive variable names
The show-all code is mostly line noise, therefore it is all the more
important to provide at least a few hints to a potential reader, by
using descriptive variable names for the iteration variables:

	g => grp
	c => cat
	v => var
	w => width
	x => word
2020-09-12 21:27:15 +00:00
rillig
40c4b60f02 show-all: use separator for long rows of backslashes
I had been confused by the printf commands since some of them used '\n'
and some used '\\\n', which seemed as if there were some quoting issue
that would make it necessary to double the backslashes.

This assumption was wrong though.  The printf commands for the
single-valued variables use the normal '\n', while the lines for the
multi-valued variables end with a real backslash in the output, to
mimick the continuation lines in makefiles.

As a hint that the '\\\n' means backslash + newline, add single quotes
between the two characters.
2020-09-12 21:00:10 +00:00
rillig
b234c33c38 show-all: fix escaping of '$' in variable modifiers
The previous code relied on the exact implementation of Var_Parse in
bmake, and that it does not issue any error messages in case of $$ in
variable modifiers.

In variable modifiers, a $ is escaped using \$, not $$, as documented in
the manual page.

At the time when I wrote the previous version with the _SHOW_ALL.d4 and
_SHOW_ALL.d8 hacks, I did not know about the backslash escaping rule,
and I just added dollar signs until everything seemed to work.  I
couldn't explain why it worked though, which is not surprising since the
code was using an undocumented implementation flaw of bmake.
2020-09-12 20:48:13 +00:00
rillig
245e6ba7ed mk/plist: fail fast on programming mistake 2020-09-12 06:55:08 +00:00
rillig
7ee8a6b95a bsd.build-vars.mk: describe MAKE_FLAGS in details, rewrite and reformat 2020-09-12 06:51:15 +00:00
gutteridge
17ea8d78c2 options.description: add several options offered by ffmpeg4 2020-09-12 03:18:30 +00:00
js
8f9699c585 mk/platform/QNX.mk: Add ACCEPT_INFERIOR_RM_PROGRAM=yes 2020-09-04 19:44:24 +00:00
js
32196b411d mk/platform/QNX.mk: Add /usr/qnx650 to _OPSYS_LIB_DIRS 2020-09-04 19:36:30 +00:00
gutteridge
cca85ce220 options.description: fix a couple of typos 2020-09-04 01:15:42 +00:00
gutteridge
fed75cdfa9 options.description: addition of py-game 2020-09-04 01:14:24 +00:00
kim
b3f2f0abe1 Use http with ftp.funet.fi 2020-09-02 22:16:48 +00:00
kim
c4c3218df0 Refresh the "Finland" section 2020-09-02 20:32:37 +00:00
ryoon
e00f3c4739 mk/compiler: Support GCC_REQD=9 or 10
A pert of PR pkg/55637.
2020-09-02 16:16:43 +00:00
ryoon
aebad2b83b mk/defaults: Add heif option description 2020-09-01 12:21:28 +00:00
jperkin
d26e851380 mk: Remove an unwanted NetBSD RCS tag. 2020-08-27 11:56:38 +00:00
jperkin
dc189ce30d mk: Rewrite the checksum script in awk.
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-27 11:45:45 +00:00
sjmulder
55958d5bab mk/platform: Update Darwin version list 2020-08-21 21:29:16 +00:00
wiz
c2bc74e978 mk: describe notmuch option. 2020-08-21 14:55:37 +00:00
riastradh
aaabb1ab41 Add description for `fido' option. 2020-08-21 01:51:16 +00:00
riastradh
6ad068fca8 Add 0-clause-bsd to DEFAULT_ACCEPTABLE_LICENSES.
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-18 20:18:32 +00:00
schmonz
0b38123be9 Add CMAKE_INSTALL_NAME_DIR, a package-settable variable containing the
destination directory to install shlibs. It's used on macOS by
install_name_tool(1). The default is ${PREFIX}/lib.
2020-08-12 14:10:11 +00:00
hauke
b9d2c53c56 Up to 10.12.6 at least, the Mac OS X linker, does not support "-no_warn_inits". 2020-08-11 12:45:54 +00:00
brook
fb1eef408e Add URLs to the MASTER_SITE_R_CRAN list
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-09 16:50:13 +00:00
rillig
6fb4f703ff mk/fetch/fetch.mk: add keywords for "bmake help" 2020-08-04 21:54:46 +00:00
rillig
10ce0dbeb1 mk/help: fix help parser for variable names followed by comma
Seen in mk/fetch/fetch.mk for FETCH_USE_IPV4_ONLY.
2020-08-04 21:46:44 +00:00
rjs
6e897e40af Allow use of openjdk11 on NetBSD/aarch64. 2020-07-29 21:42:30 +00:00
kardel
e285ded710 Complete import of bareos - a fork of bacula 5.2 around 2010 providing
LTO hardware encrytion, bandwidth limitation, data replication across
sites and more.
2020-07-28 06:42:44 +00:00
gdt
c05ad132ea mk/pgsql: Change default to 12
As discussed on foo-pkg at some length, with no significant
objections.
2020-07-27 00:17:12 +00:00
wiz
e92116bd91 mk: remove backwards compatibility for pkg_install from before 2010 2020-07-13 20:25:57 +00:00
jperkin
7880b72e99 mk: Skip unnecessary dirs for CTF/debug conversion.
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-08 12:37:13 +00:00
maya
a53780f17e revert metadata.mk:1.24, keep passing useless flag -U.
It wasn't useless in older pkg_create, as used by netbsd-7.
Reported by sborrill.
2020-07-06 18:29:11 +00:00
rillig
e806a92e54 mk/misc/show.mk: fix reference to further documentation 2020-07-04 18:08:35 +00:00
rillig
7c3702e7d7 mk/haskell.mk: clean up _VARGROUPS section and unused variables 2020-07-01 15:07:25 +00:00
rillig
207c2f13df mk/haskell.mk: remove variable HASKELL_COMPILER, clean up documentation
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-01 14:58:43 +00:00
adam
a7f1f67f9e remove clang-static-analyzer option 2020-07-01 14:48:04 +00:00
rillig
488f9fbd90 show-all: fix typo in variable name
The width only applies to a single group, not to several or even all
groups.
2020-07-01 09:13:12 +00:00
rillig
d10b39c41d mk/buildlink3: increase width of varnames in show-all-bl3
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-07-01 07:39:52 +00:00
rillig
ab8c506b0b mk/haskell.mk: regenerate PLIST if it is outdated
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-29 22:00:58 +00:00
rillig
c8f6fed1ea mk/haskell.mk: fix PLIST status detection
As seen in devel/hs-hashable/PLIST r1.1, which listed only the
package-description but not the package-id.
2020-06-29 20:51:24 +00:00
rillig
a5039d7c3c mk/haskell.mk: only add PLIST_SUBST and PRINT_PLIST_AWK if useful
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-29 20:30:13 +00:00
rillig
aeff688767 mk/haskell.mk: fix PLIST status detection
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-29 18:07:45 +00:00
rillig
c55271b9e5 mk/subst.mk: activate the SUBST no-op check again by default
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-29 18:04:13 +00:00
ryoon
41860cdb52 mk/defaults: Add option for apache24's mod_md 2020-06-29 13:59:29 +00:00
ryoon
24a47a57af mk: Add db18 to Berkeley DB framework 2020-06-29 13:36:50 +00:00
jperkin
167401291e mk: Handle pdksh issue with "set -e" in for loop.
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-25 08:45:00 +00:00
schmonz
3948870bde Retire 'djbware-errno-hack' and associated options.mk cleverness.
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-25 05:42:36 +00:00
nia
4b4cfb3fac mk: Add luajit option description 2020-06-24 13:29:23 +00:00
rillig
c842ae6257 mk/haskell.mk: fix PLIST generation for Haskell packages
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-21 22:21:02 +00:00
taca
fe782b891f mk/defaults/options.description: rename two options
Rename ecap and esi to squid-ecap and squid-esi.
2020-06-21 16:07:06 +00:00
wiz
e597787c88 mk: do not check vulnerability when just fetching distfiles
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-18 17:05:55 +00:00
rillig
548e02a834 mk/subst.mk: SUBST_NOOP_OK defaults to yes again
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-16 18:13:54 +00:00
ryoon
c963102a49 mk/configure: Replace SET(CMAKE_MODULE_PATH... like 'set' too.
This will break print/scribus-qt4.
It uses CMAKE_MODULE_PATH as not a directory list.
It is wrong assumption.
2020-06-13 15:11:11 +00:00
rillig
82d30f4f85 mk/build/build.mk: use SH for the shell in build-env
Providing a realistic build environment has priority over having a
convenient shell with auto-completion and all the likes.
2020-06-12 17:33:23 +00:00
rillig
94077fc887 mk/subst.mk: remove unnecessary SUBST_VARS definition
This is a package-settable variable, and if a package leaves it
undefined, "bmake show-all-subst" should show exactly this.
2020-06-11 20:13:22 +00:00
rillig
97dcdb49ce mk/subst.mk: document the unspecified application order
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-11 19:38:40 +00:00
rillig
86d21b53d7 mk/subst.mk: fix local variable names
These variables don't record whether a file is changed but instead
whether a pattern was found.
2020-06-11 19:27:56 +00:00
rillig
1fb832cc6e mk/subst.mk: always remove temporary file
Fixes PR pkg/55364.
2020-06-11 18:04:41 +00:00
leot
fa8cb992c2 mk/plist: Add EARLY_PRINT_PLIST_AWK
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-10 16:06:09 +00:00
rillig
12d982ecf7 bsd.buildlink3.mk: add ABI_DEPENDS and API_DEPENDS to show-all-bl3 2020-06-07 17:56:13 +00:00
rillig
e6b0d53b3d mk/check/check-portability.mk: remove leaked debug code
Thanks jperkin@.
2020-06-07 10:42:04 +00:00
rillig
2539de7edb mk/configure/replace-interpreter.mk: clean up show-all-interp variables 2020-06-07 06:10:36 +00:00
rillig
ffb8ba6d5f mk/check/check-portability.mk: use predefined tools
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-07 06:05:35 +00:00
rillig
d2050ec11e mk/bsd.prefs.mk: add PKG_DBDIR to show-all-dirs 2020-06-07 05:59:30 +00:00
rillig
c7940cfb7f mk/.../metadata.mk: properly clean up loops after removing ""
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.
2020-06-07 04:41:58 +00:00
rillig
b2a99dcb17 mk/bsd.options.mk: remove redundant assignment to PKG_OPTIONS
This assignment has popped up various times in the pkglint output, even
though it is defined in the infrastructure and not in a specific package.
Since there is no need to have this duplicate assignment, it is removed.
2020-06-06 19:09:37 +00:00
rillig
ff1cb47d6f mk/bsd.options.mk: document variables in the canonical order 2020-06-06 19:02:55 +00:00
rillig
16e188625b mk/subst.mk: fix wrong SUBST failure in mail/policyd-weight
The general rule is that a SUBST_SED that contains _any_ identity
substitution may leave files unmodified, no matter if there are other
substitutions as well.
2020-06-06 13:17:34 +00:00
rillig
cd76433a09 mk/.../metadata.mk: fix reference to undefined shell variable
When RUN includes the -u shell option (see the pkgsrc guide, section
bulk.var.shvar), there is a stray "requires: parameter not set" error.

This error doesn't make the build fail immediately since it is on the
left-hand side of a pipe, where the exit status is ignored.  It would
fail if the shell for bmake were set to bash and its option "pipefail"
were enabled.
2020-06-06 09:33:56 +00:00
rillig
f374c71565 mk, doc: remove obsolete bulk-install and bulk-package targets 2020-06-05 17:05:22 +00:00
gdt
dba3f3a134 subst.mk: Move hint about find to package-settable section 2020-06-03 10:56:46 +00:00
gdt
dc7a002470 subst.mk: Give hint abotu SUBST_NOOP_OK
Note that a typical reason to need this is using find to generate a
list of files.
2020-06-02 23:37:25 +00:00
jperkin
25bb928af5 mk: bmake cannot compare non-integers numerically.
Just use an empty() match instead.
2020-06-02 16:22:40 +00:00
sjmulder
46895896ea mk/defaults: Add 'mouse' option
Used already in sysutils/nnn but forgot to commit options.description.
2020-06-02 10:38:26 +00:00
rillig
c42fb662dc mk/compiler.mk: check for too late GCC_REQD and USE_LANGUAGES
For USE_LANGUAGES there is already a pkglint warning, but for GCC_REQD it
is missing.  It's better to have this check directly in the
infrastructure since it is more reliable.

This check is disabled by default, to not cause any new breakage.
It should be enabled in bulk builds.
2020-06-02 06:58:13 +00:00
gutteridge
79f41f7786 options.description: add "keyring" option 2020-05-31 23:48:00 +00:00
sjmulder
a376838f3a mk/compiler: Set -fcommon for GCC 10
As with clang. Default got flipped with v10.
2020-05-31 00:00:13 +00:00
sjmulder
9014f3f496 mk/compiler: Fix version check for GCC 10
Caused SSP flags to be omitted in GCC 10. Check flipped because all new
GCC versions can be expected to support it.
2020-05-30 22:45:36 +00:00
rillig
b964aa2b2f mk/defaults/options.description: remove trailing whitespace 2020-05-30 19:57:23 +00:00
khorben
94c385420d Typo 2020-05-30 03:36:45 +00:00
maya
f1308fb6bd Flip the switch on ALLOW_VULNERABLE_PACKAGES to allow them by default.
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-28 16:22:58 +00:00
nia
bee9205d2d mk/tools: not all linuxes have bash (e.g. alpine) 2020-05-28 14:47:36 +00:00
gutteridge
212fb2eb3a options.description: "firefox" is also no longer an option 2020-05-25 00:15:14 +00:00
gutteridge
1bf8f4e1c2 options.description: +2 missing entries, -1 no longer used 2020-05-25 00:07:52 +00:00
rillig
11dbf836d6 mk/configure: fix configure options check for custom CONFIGURE_SCRIPT
Seen in cross/arm-none-eabi-gdb.
2020-05-23 12:11:33 +00:00
adam
f616f8bf6d MySQL 5.5 and PostgreSQL 9.4 are no longer with us 2020-05-23 07:35:56 +00:00
rillig
4c58410ecc mk/configure: fix check for unknown configure options 2020-05-22 15:21:15 +00:00
joerg
84342eb5e0 Add a missing redirect to ensure that all files are picked up for
hashing.
2020-05-22 01:24:05 +00:00
rillig
dde6099996 mk/configure: remove outdated documentation 2020-05-21 21:05:51 +00:00
rillig
ecee64e6c9 mk/configure: add variable GNU_CONFIGURE_QUIET
This allows bulk builds or other setups to see interesting error
messages, without them being hidden in the noise of "checking ...".
2020-05-21 20:50:54 +00:00
rillig
e45d2e3458 mk/pkgformat/metadata.mk: fix relative paths in PATCHDIR and FILESDIR
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-21 18:48:43 +00:00
rillig
6c80597618 mk/configure/gnu-configure.mk: disable built-in option check
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-21 15:29:25 +00:00
rillig
cc8614f669 mk/configure: completely rewrite check for unknown configure options
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-21 13:42:10 +00:00
rillig
1126482bd5 mk/configure/replace-interpreter.mk: silently skip broken symlinks
Like directories, they probably come from shell globs.

Seen in misc/byobu.
2020-05-18 06:06:34 +00:00
tnn
32e2e5830f g/c references to openjdk7 2020-05-17 00:54:00 +00:00
rillig
67d8ae7d2b mk/subst.mk: change default value for SUBST_NOOP_OK from yes to no
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-16 19:02:32 +00:00
rillig
f0feafbfc1 mk/subst.mk: properly detect s,a,a,1 as identity substitution
Seen in games/bastet.  The 1 is not necessary though since it only
repeats the default behavior of sed.
2020-05-16 12:43:10 +00:00
maya
309a5cc299 pkg_create -U doesn't do anything, don't pass the flag. 2020-05-15 22:13:39 +00:00
nia
24f16fcee8 mk/defaults: Revert PKG_DEVELOPER default change for now 2020-05-15 10:22:42 +00:00
nia
161d25a3e5 mk/defaults: Switch PKG_DEVELOPER on by default.
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-15 10:10:04 +00:00
rillig
b634189104 mk/tools/bsd.tools.mk: list _USE_TOOLS in show-all-tools
This variable is used in quite a few places, which makes it interesting
enough, even though it is an implementation detail.
2020-05-13 04:24:17 +00:00
rillig
bd18226445 mk/configure/cmake.mk: allow no-op SUBST block
For example, graphics/openjpeg on SunOS doesn't need it.
2020-05-12 17:36:20 +00:00
kleink
856b634d30 options.description: Add pygments. 2020-05-12 10:33:49 +00:00
rillig
21aab909de mk/subst.mk: fix edge case in detection of identity substitutions
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-11 19:52:13 +00:00
rillig
3c7198b683 mk/haskell.mk: allow to generate PLIST files
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-10 17:46:59 +00:00
rillig
7f4b055291 mk/tools: don't create empty symlink for wrong tool definition
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-10 14:36:18 +00:00
rillig
2b1a9a3af0 mk/scripts: fix a few of the HTML injections in README generation
These are needed for the djb-errno-hack option, which includes the <>
characters.
2020-05-10 07:48:10 +00:00
rillig
026854da4d mk: move locking.mk from internal to misc
Locking is not really internal since it has user-settable variables.
2020-05-10 06:52:49 +00:00
rillig
10f1774814 mk/tools/perl.mk: allow to silence the USE_TOOLS+=perl warning
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-10 06:05:35 +00:00
rillig
3ab427f38a mk/tools/create.mk: make tool wrappers smaller
There is no need to include the comments from the shquote function.
2020-05-09 21:08:05 +00:00