Blame build-aux/gen-resources.py

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