Something went wrong. Try again.
🎥 Command line media player
Something went wrong. Try again.
2.5 kB · 77 lines
Python
at mruby
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778from waflib.Build import BuildContextfrom waflib import TaskGenfrom io import StringIOfrom TOOLS.matroska import generate_C_header, generate_C_definitionsfrom TOOLS.file2string import file2stringimport os
def __zshcomp_cmd__(ctx, argument): return '"${{BIN_PERL}}" "{0}/TOOLS/zsh.pl" "{1}" > "${{TGT}}"' \ .format(ctx.srcnode.abspath(), argument)
def __wayland_scanner_cmd__(ctx, mode, dir, src): return "${{WAYSCAN}} {0} < {1}/{2} > ${{TGT}}".format(mode, dir, src)
def __file2string__(ctx, **kwargs): ctx( rule = __file2string_cmd__(ctx), before = ("c",), name = os.path.basename(kwargs['target']), **kwargs )
def execf(self, fn): setattr(self, 'before', ['c']) setattr(self, 'rule', ' ') # waf doesn't print the task with no rule target = getattr(self, 'target', None) out = self.path.find_or_declare(target) tmp = StringIO() fn(tmp) out.write(tmp.getvalue()) tmp.close()
@TaskGen.feature('file2string')def f2s(self): def fn(out): source = getattr(self, 'source', None) src = self.path.find_resource(source) file2string(source, iter(src.read().splitlines(True)), out) execf(self, fn)
@TaskGen.feature('ebml_header')def ebml_header(self): execf(self, generate_C_header)
@TaskGen.feature('ebml_definitions')def ebml_definitions(self): execf(self, generate_C_definitions)
def __zshcomp__(ctx, **kwargs): ctx( rule = __zshcomp_cmd__(ctx, ctx.bldnode.abspath() + '/mpv'), after = ("c", "cprogram",), name = os.path.basename(kwargs['target']), **kwargs )
def __wayland_protocol_code__(ctx, **kwargs): ctx( rule = __wayland_scanner_cmd__(ctx, 'code', kwargs['proto_dir'], kwargs['protocol'] + '.xml'), name = os.path.basename(kwargs['target']), **kwargs )
def __wayland_protocol_header__(ctx, **kwargs): ctx( rule = __wayland_scanner_cmd__(ctx, 'client-header', kwargs['proto_dir'], kwargs['protocol'] + '.xml'), before = ('c',), name = os.path.basename(kwargs['target']), **kwargs )
BuildContext.file2string = __file2string__BuildContext.wayland_protocol_code = __wayland_protocol_code__BuildContext.wayland_protocol_header = __wayland_protocol_header__BuildContext.zshcomp = __zshcomp__