|
Packit |
a4058c |
#!/usr/bin/env python3
|
|
Packit |
a4058c |
|
|
Packit |
a4058c |
# Ancillary wrapper around glib-compile-resources that sets up a
|
|
Packit |
a4058c |
# modified environment in order to use the tools that we just
|
|
Packit |
a4058c |
# built instead of the system ones
|
|
Packit |
a4058c |
|
|
Packit |
a4058c |
import argparse
|
|
Packit |
a4058c |
import os
|
|
Packit |
a4058c |
import subprocess
|
|
Packit |
a4058c |
import sys
|
|
Packit |
a4058c |
|
|
Packit |
a4058c |
argparser = argparse.ArgumentParser(description='Compile resources')
|
|
Packit |
a4058c |
argparser.add_argument('--pixdata', metavar='PATH', help='Path to gdk-pixbuf-pixdata')
|
|
Packit |
a4058c |
argparser.add_argument('--loaders', metavar='PATH', help='Path to the loaders.cache file')
|
|
Packit |
a4058c |
argparser.add_argument('--sourcedir', metavar='PATH', help='Path to the source directory')
|
|
Packit |
a4058c |
argparser.add_argument('resource', help='GResource XML file')
|
|
Packit |
a4058c |
argparser.add_argument('output', help='Output file')
|
|
Packit |
a4058c |
|
|
Packit |
a4058c |
group = argparser.add_mutually_exclusive_group()
|
|
Packit |
a4058c |
group.add_argument('--header', help='Generate header file', action='store_true')
|
|
Packit |
a4058c |
group.add_argument('--source', help='Generate source file', action='store_true')
|
|
Packit |
a4058c |
|
|
Packit |
a4058c |
args = argparser.parse_args()
|
|
Packit |
a4058c |
|
|
Packit |
a4058c |
cmd = ['glib-compile-resources']
|
|
Packit |
a4058c |
if args.header:
|
|
Packit |
a4058c |
cmd += ['--generate-header']
|
|
Packit |
a4058c |
else:
|
|
Packit |
a4058c |
cmd += ['--generate-source']
|
|
Packit |
a4058c |
|
|
Packit |
a4058c |
cmd += ['--sourcedir', args.sourcedir]
|
|
Packit |
a4058c |
cmd += [args.resource]
|
|
Packit |
a4058c |
cmd += ['--target', args.output]
|
|
Packit |
a4058c |
|
|
Packit |
a4058c |
newenv = os.environ.copy()
|
|
Packit |
a4058c |
newenv['GDK_PIXBUF_PIXDATA'] = args.pixdata
|
|
Packit |
a4058c |
newenv['GDK_PIXBUF_MODULE_FILE'] = args.loaders
|
|
Packit |
a4058c |
|
|
Packit |
a4058c |
out, err = subprocess.Popen(cmd, env=newenv).communicate()
|
|
Packit |
a4058c |
if out is None:
|
|
Packit |
a4058c |
sys.exit(0)
|
|
Packit |
a4058c |
else:
|
|
Packit |
a4058c |
print(out)
|
|
Packit |
a4058c |
sys.exit(1)
|