Blame build-aux/gen-resources.py

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)