load("//toolchains:i386_qemu.bzl", qemu_i386 = "qemu_wrapper") def qemu(**kwargs): _qemu( wrapper_content = select({ "@platforms//cpu:i386": qemu_i386(), "//conditions:default": "/bin/false", }), **kwargs ) def _qemu_impl(ctx): print(ctx) print(ctx.attr) wrapper = ctx.actions.declare_file("%s_wrapper" % ctx.label.name) wrapper_content = ctx.attr.wrapper_content.format( cdrom = ctx.file.cdrom.basename, ) ctx.actions.write(wrapper, wrapper_content, is_executable = True) runfiles = ctx.runfiles(files = [ctx.file.cdrom]) return [DefaultInfo(executable = wrapper, runfiles = runfiles)] _qemu = rule( implementation = _qemu_impl, attrs = { "cdrom": attr.label(allow_single_file = True), "wrapper_content": attr.string(), }, executable = True, )