At least since 0.53, the meson buildsystem checks whether the
"date" command's file is outdated and if it is, it'll trigger
regeneration of the build files.
Since the wrappers are reinstalled from scratch on every build step,
this would result in meson being re-run on each of those steps.
Which resulted in broken builds in some projects (e.g. efl) since
our meson build-style by default uses LTO and that requires the AR
environment variable being exported in a specific way, which was
only being done for the do_configure step but not build/install,
which resulted in meson being run with one env for configure and
another env for build, which broke everything.
- mutter generates shared-object with both API version, and SONAME
version.
- We declared unversioned SONAME (with API version in template)
- gnome-shell requires versioned SONAME when packaging.
- Fix this problem by adding both versioned and unversioned SONAME to
shlibs list
- caribou can run with python 3 just fine.
- cinnamon doesn't need all files from caribou for On Screen Keyboard.
Split them out to drop unnecessary python dependencies.
- Fix broken stylesheet for antler-keyboard
We're using Ethereal chroot style on Travis CI.
In that chroot style, `uname -m` reports x86_64 even if we're
bootstrapped with i686 systems.
Some i686 build that employ `uname -m` is failing on Travis CI,
e.g: https://travis-ci.org/void-linux/void-packages/jobs/648010517#L5787
Change `uname` output to make Travis Output meaningful for i686.
The new behavior is basically this:
1) Local repos are installed same as before.
2) Multilib configs are now handled only if they exist. They follow
a naming system repos-{local,remote}-ARCH-multilib.conf.
3) Remote repo files follow naming repos-remote-ARCH.conf. If that
does not exist, repos-remote.conf or repos-remote-musl.conf is
used instead (fallback).
4) Cross follows the same behavior, just without multilib.
[ci skip]
That means instead of having a single hostdir/repocache, there
is now hostdir/repocache-$XBPS_TARGET_MACHINE.
This solves multiple problems:
1) When cross-compiling for different architectures and the repos
for host and target differ, you will not get signature/checksum
conflicts for noarch packages.
2) The clean-repocache command will not delete noarch packages that
don't belong to that architecture.
3) Clean mixing of glibc and musl masterdirs with the same hostdir
is now possible; even when building natively, the musl masterdir
will use its repocache-foo-musl, while the glibc masterdir will
use repocache-foo.
[ci skip]
The problem here is that newly introduced behavior in commit
b2b0409be4 resulted in builddir and
destdir *always* being removed when starting a build, as a part of
masterdir auto-update. We don't want this as we may want to resume
a previous build (e.g. by running stages individually or by resuming
a failed build from where it stopped).
Therefore, explicitly override the removal to restore previous behavior.
If `etc/xbps.d/custom` exists (directory) and contains
xbps.d(5) .conf files, those will be copied verbatim
to `masterdir/etc/xbps.d`.
This allows you to set your custom xbps.d(5) settings
without having to modify any other file.
This is also useful for testing xbps.d(5) noextract feature.
Reason: https://gitlab.kitware.com/cmake/cmake/issues/19590
Our workaround within cmake is not sufficient as it does not
address the issue fully and things still break sometimes. So
work around this in the build-style for the time being (and
drop the cmake patch).
Once this is fixed upstream (probably needs special casing
for the -pipe flag and strip it during compile tests) we
can drop this.