Comment by ~eschwartz on ~lattis/muon
So in the broken environment it isn't chdir'ing as instructed to with the workdir argument from meson.build?
Comment by ~eschwartz on ~lattis/muon
There should not be anything wrong with the portability of meson.current_source_dir() and in comparison global_build_root definitely doesn't have a testbed subdirectory.
Specifically, it works fine for me with muon.
Comment by ~eschwartz on ~lattis/muon
That subproject is vendored from https://github.com/jart/bestline so probably it's best to make the fix there and then import a new version into muon.
Comment by ~eschwartz on ~lattis/muon
The general solution here to ensure that file paths are correctly handled is to pass a files() object to run_command, but in this specific case, lz4 upstream no longer has this issue anyway. No idea when 1.9.5 is scheduled for release.
Comment by ~eschwartz on ~lattis/muon
This is not a bug, but undefined behavior: https://git.sr.ht/~lattis/muon/tree/master/item/doc/differences.md#run_command-cwd
Ticket created by ~eschwartz on ~emersion/hottub
dispatch.sr.ht used to have this.
It's useful to avoid spamming sourcehut with many submitted builds every time a PR is opened or updated (and github encourages rapid force-pushing, sadly), in situations where you're okay with just testing whatever is being integrated.
It's also useful in cases where github is a mirror for sr.ht, and patches submitted as github PRs are going to be pushed to sr.ht. In this case, you want to run builds on the PR, but the git.sr.ht integration is going to handle pushes and you don't want the same jobs duplicated for both github and sr.ht
Comment by ~eschwartz on ~lattis/muon
Actually in autotools you need to single-quote and pass arguments like this:
./configure --prefix=/usr --libdir='${prefix}/lib64' --includedir='${prefix}/include'
That then gets eval'ed as shell code in some contexts, and replaced as-is in Makefile.in or other *.in files (such as libfoo.pc.in). And pkg-config files are (intentionally, IIRC) compatible with the limited subset of shell code that is commonly used for passing two-pass "delayed evaluation" directory options to autoconf.
Comment by ~eschwartz on ~lattis/muon
Meson apparently evaluates each dir and replaces strings.
Setting
meson setup -Dprefix=/usr -Dlibdir=/usr/lib64
will determine that libdir is a subdirectory of prefix and trim this during option processing.The value of
get_option('libdir')
is'lib64'
, so, much later on, when meson.build is evaluated and the pkgconfig module is imported and used, it just sees that.
Comment by ~eschwartz on ~lattis/muon
Well, uname is a program for reporting the running kernel information. Containers are really no different from installing an i386 package on an x86_64 OS, and only running that i386 package -- files you're not using really don't matter, whether you choose to not use them or a sandbox forbids you from using them.