We can use the bash feature ${!prefix@}/${!prefix*} which expands to
all variables with the prefix.
This avoids leaking build_options between sourced templates.
When building dependencies of packages this has to be unset to avoid
using e.g. CMAKE_GENERATOR="Unix Makefiles" for a package which expected
to build with the default of make_cmd=ninja, and would subsequently fail
with "ninja: error: loading 'build.ninja': No such file or directory"
during do_build() if do_configure() generated a Makefile instead of a
build.ninja file.
$make_check_pre can be used for wrapper commands like xvfb-run or
dbus-run-session which are common ways to make tests work. This way many
templates can avoid defining their own do_check function.
Packages with debug symbols do invalidate their cache with every version
change since $wrksrc does contain the version number and is getting cached
Closes: #33002 [via git-merge-pr]
Hasn't been necessary in Go for a long time [1], so we should take
advantage of that. For an example of the advantages, the 'micro' editor
went from 15MB to 11MB on disk.
[1] https://honnef.co/posts/2016/10/go-and-strip/
This commit is only to unlock builders.
Builds error out with:
=> debug-me-1.20200820_2: running do_build ...
=> Using stack config in stack.yaml.
Cabal file info not found for posix-pty-0.2.1.1, updating
Selected mirror https://hackage.haskell.org/
Downloading root
Waiting to acquire cache lock on /builddir/debug-me-1.20200820/.stack/pantry/hackage/hackage-security-lock
fdLock: invalid argument (Invalid argument)
Tracked in: #32221
Historically, PKGDESTDIR was only set during pkg_install, and
XBPS_PKGDESTDIR was set to indicate that we're in subpkg's
pkg_install.
However, from 0b95cb8f5d, (Merge xbps-src code to make it usable in
a standalone mode., 2014-03-22), PKGDESTDIR is always set,
regardless of states.
Let's drop all usages of XBPS_PKGDESTDIR.
While we're at it, error out of vmove is used outside of subpkg.
this introduces a new build-style void-cross, which can be used
to write system crosstoolchain templates; this is to reduce the
amount of maintenance, resolve existing problems with the cross
toolchain templates and remove repeated code