Blame setup.py.enable-python3

Packit 5164a5
#!/usr/bin/env python
Packit 5164a5
# -*- coding: ISO-8859-1 -*-
Packit 5164a5
#
Packit 5164a5
# dblatex python setup script - See the COPYRIGHT
Packit 5164a5
#
Packit 5164a5
import os
Packit 5164a5
import sys
Packit 5164a5
import re
Packit 5164a5
import glob
Packit 5164a5
import subprocess
Packit 5164a5
Packit 5164a5
try:
Packit 5164a5
    from setuptools import setup
Packit 5164a5
    from setuptools.command.install import install
Packit 5164a5
except ImportError:
Packit 5164a5
    from distutils.core import setup
Packit 5164a5
    from distutils.command.install import install
Packit 5164a5
Packit 5164a5
from distutils.command.build import build
Packit 5164a5
from distutils.command.build_scripts import build_scripts
Packit 5164a5
from distutils.command.install_data import install_data
Packit 5164a5
from distutils.command.sdist import sdist
Packit 5164a5
from distutils import log
Packit 5164a5
from subprocess import Popen, PIPE
Packit 5164a5
sys.path.append("lib")
Packit 5164a5
from contrib.debian.installer import DebianInstaller
Packit 5164a5
Packit 5164a5
#
Packit 5164a5
# Build the command line script
Packit 5164a5
#
Packit 5164a5
class BuildScripts(build_scripts):
Packit 5164a5
Packit 5164a5
    SHELL_SCRIPT = """#!%(env_executable)s%(env_args)s%(py_executable)s
Packit 5164a5
import sys
Packit 5164a5
import os
Packit 5164a5
Packit 5164a5
package_base = %(package_base)s
Packit 5164a5
Packit 5164a5
%(lib_path)s
Packit 5164a5
%(catalogs)s
Packit 5164a5
%(style_set)s
Packit 5164a5
from %(package_path)s import %(package)s
Packit 5164a5
%(package)s.main(base=package_base)
Packit 5164a5
"""
Packit 5164a5
Packit 5164a5
    CATALOGS = """cat = os.environ.get("SGML_CATALOG_FILES")
Packit 5164a5
if cat:
Packit 5164a5
    cat += ":%s"
Packit 5164a5
else:
Packit 5164a5
    cat = "%s"
Packit 5164a5
os.environ["SGML_CATALOG_FILES"] = cat
Packit 5164a5
"""
Packit 5164a5
Packit 5164a5
    def run(self):
Packit 5164a5
        """
Packit 5164a5
        Create the proper script for the current platform.
Packit 5164a5
        """
Packit 5164a5
        if not self.scripts:
Packit 5164a5
            return
Packit 5164a5
Packit 5164a5
        # The script can only work with package data
Packit 5164a5
        self.data_files = self.distribution.data_files
Packit 5164a5
        if not(self.data_files):
Packit 5164a5
            return
Packit 5164a5
Packit 5164a5
        if self.dry_run:
Packit 5164a5
            return
Packit 5164a5
Packit 5164a5
        # Ensure the destination directory exists
Packit 5164a5
        self.mkpath(self.build_dir)
Packit 5164a5
Packit 5164a5
        # Data useful for building the script
Packit 5164a5
        install = self.distribution.get_command_obj("install")
Packit 5164a5
        if not(install.install_data):
Packit 5164a5
            return
Packit 5164a5
Packit 5164a5
        self._install_lib = os.path.normpath(install.install_lib)
Packit 5164a5
        self._root = install.root
Packit 5164a5
        if self._root:
Packit 5164a5
            self._root = os.path.normpath(self._root)
Packit 5164a5
        self._package_base = os.path.join(install.install_data,
Packit 5164a5
                                          self.data_files[0][0])
Packit 5164a5
        self._catalogs = install.catalogs
Packit 5164a5
        self._style = install.style
Packit 5164a5
        self._use_py_path = install.use_python_path
Packit 5164a5
        print self._package_base
Packit 5164a5
Packit 5164a5
        # Build the command line script
Packit 5164a5
        self.build_script()
Packit 5164a5
Packit 5164a5
    def _strip_root(self, *paths):
Packit 5164a5
        if not(self._root):
Packit 5164a5
            return paths
Packit 5164a5
Packit 5164a5
        newpaths = []
Packit 5164a5
        for path in paths:
Packit 5164a5
            if path.startswith(self._root):
Packit 5164a5
                newpaths.append(path[len(self._root):])
Packit 5164a5
            else:
Packit 5164a5
                newpaths.append(path)
Packit 5164a5
        return newpaths
Packit 5164a5
Packit 5164a5
    def build_script(self):
Packit 5164a5
        script_name = self.scripts[0]
Packit 5164a5
Packit 5164a5
        # prepare args for the bang path at the top of the script
Packit 5164a5
        ENV_BIN = '/usr/bin/env'
Packit 5164a5
        env_args = ''
Packit 5164a5
        if self._use_py_path:
Packit 5164a5
            env_exec = ''
Packit 5164a5
            py_exec = sys.executable
Packit 5164a5
        elif os.name == 'posix':
Packit 5164a5
            # Some Solaris platforms may not have an 'env' binary.
Packit 5164a5
            # If /usr/bin/env exists, use '#!/usr/bin/env python'
Packit 5164a5
            # otherwise, use '#!' + sys.executable
Packit 5164a5
            env_exec = os.path.isfile(ENV_BIN) and \
Packit 5164a5
                os.access(ENV_BIN, os.X_OK) and ENV_BIN or ''
Packit 5164a5
            py_exec = env_exec and 'python' or sys.executable
Packit 5164a5
        else:
Packit 5164a5
            # shouldn't matter on non-POSIX; we'll just use defaults
Packit 5164a5
            env_exec = ENV_BIN
Packit 5164a5
            py_exec = 'python'
Packit 5164a5
Packit 5164a5
        # Retrieve actual installation paths
Packit 5164a5
        lib_path, package_base = self._strip_root(self._install_lib,
Packit 5164a5
                                                  self._package_base)
Packit 5164a5
Packit 5164a5
        # Just help for non standard installation paths
Packit 5164a5
        if lib_path in sys.path:
Packit 5164a5
            lib_path = ""
Packit 5164a5
        else:
Packit 5164a5
            lib_path = "sys.path.append(r\"%s\")" % lib_path
Packit 5164a5
Packit 5164a5
        # Things to adapt when building an egg
Packit 5164a5
        if "/egg" in lib_path:
Packit 5164a5
            lib_path = ""
Packit 5164a5
            package_base = 'os.path.abspath(os.path.join(os.path.dirname('\
Packit 5164a5
                           '__file__), "..", "..", "share", "dblatex"))'
Packit 5164a5
        else:
Packit 5164a5
            package_base = 'r"%s"' % (package_base)
Packit 5164a5
Packit 5164a5
        if self._catalogs:
Packit 5164a5
            catalogs = self.CATALOGS % (self._catalogs, self._catalogs)
Packit 5164a5
        else:
Packit 5164a5
            catalogs = ""
Packit 5164a5
Packit 5164a5
        if self._style:
Packit 5164a5
            style_set = "sys.argv.insert(1, '-T%s')" % self._style
Packit 5164a5
        else:
Packit 5164a5
            style_set = ""
Packit 5164a5
Packit 5164a5
        script_args = { 'env_executable': env_exec,
Packit 5164a5
                        'env_args': env_exec and (' %s' % env_args) or '',
Packit 5164a5
                        'py_executable': py_exec,
Packit 5164a5
                        'lib_path': lib_path,
Packit 5164a5
                        'style_set': style_set,
Packit 5164a5
                        'package': "dblatex",
Packit 5164a5
                        'package_path': "dbtexmf.dblatex",
Packit 5164a5
                        'catalogs': catalogs,
Packit 5164a5
                        'package_base': package_base }
Packit 5164a5
Packit 5164a5
        script = self.SHELL_SCRIPT % script_args
Packit 5164a5
        script_name = os.path.basename(script_name)
Packit 5164a5
        outfile = os.path.join(self.build_dir, script_name)
Packit 5164a5
        fd = os.open(outfile, os.O_WRONLY|os.O_CREAT|os.O_TRUNC, 0755)
Packit 5164a5
        os.write(fd, script)
Packit 5164a5
        os.close(fd)
Packit 5164a5
Packit 5164a5
Packit 5164a5
class Build(build):
Packit 5164a5
    """
Packit 5164a5
    Build the documentation if missing or required to rebuild
Packit 5164a5
    """
Packit 5164a5
    user_options = build.user_options + \
Packit 5164a5
                 [('docbook-xsl=', None,
Packit 5164a5
                   'DocBook Project Stylesheet base directory (build_doc)')]
Packit 5164a5
Packit 5164a5
    def initialize_options(self):
Packit 5164a5
        build.initialize_options(self)
Packit 5164a5
        self.docbook_xsl = None
Packit 5164a5
Packit 5164a5
    def run(self):
Packit 5164a5
        # Do the default tasks
Packit 5164a5
        build.run(self)
Packit 5164a5
        # And build the doc
Packit 5164a5
        self.build_doc()
Packit 5164a5
Packit 5164a5
    def build_doc(self):
Packit 5164a5
        log.info("running build_doc")
Packit 5164a5
        htmldir = os.path.join("docs", "xhtml")
Packit 5164a5
        pdfdocs = glob.glob(os.path.join("docs", "[mr]*.pdf"))
Packit 5164a5
        manpage = os.path.join("docs", "manpage", "dblatex.1.gz")
Packit 5164a5
Packit 5164a5
        # Lazy check to avoid a rebuild for nothing
Packit 5164a5
        if (not(self.force) and os.path.exists(htmldir) and len(pdfdocs) >= 2
Packit 5164a5
            and os.path.exists(manpage)):
Packit 5164a5
            return
Packit 5164a5
Packit 5164a5
        # Assumes that make is the GNU make
Packit 5164a5
        cmd = ["make", "-C", "docs", "VERSION=%s" % (get_version())]
Packit 5164a5
        if self.docbook_xsl:
Packit 5164a5
            cmd.append("XSLDBK=%s" % os.path.abspath(self.docbook_xsl))
Packit 5164a5
Packit 5164a5
        subprocess.call(cmd)
Packit 5164a5
Packit 5164a5
Packit 5164a5
def find_programs(utils):
Packit 5164a5
    sys.path.append("lib")
Packit 5164a5
    from contrib.which import which
Packit 5164a5
    util_paths = {}
Packit 5164a5
    missed = []
Packit 5164a5
    for util in utils:
Packit 5164a5
        try:
Packit 5164a5
            path = which.which(util)
Packit 5164a5
            util_paths[util] = path
Packit 5164a5
        except which.WhichError:
Packit 5164a5
            missed.append(util)
Packit 5164a5
    sys.path.remove("lib")
Packit 5164a5
    return (util_paths, missed)
Packit 5164a5
Packit 5164a5
def kpsewhich(tex_file):
Packit 5164a5
    if os.name == "nt":
Packit 5164a5
        close_fds = False
Packit 5164a5
    else:
Packit 5164a5
        close_fds = True
Packit 5164a5
    p = Popen("kpsewhich %s" % tex_file, shell=True,
Packit 5164a5
              stdin=PIPE, stdout=PIPE, close_fds=close_fds)
Packit 5164a5
    out = "".join(p.stdout.readlines()).strip()
Packit 5164a5
    return out
Packit 5164a5
Packit 5164a5
Packit 5164a5
class Sdist(sdist):
Packit 5164a5
    """
Packit 5164a5
    Make the source package, and remove the .pyc files
Packit 5164a5
    """
Packit 5164a5
    def prune_file_list(self):
Packit 5164a5
        sdist.prune_file_list(self)
Packit 5164a5
        self.filelist.exclude_pattern(r'.*.pyc', is_regex=1)
Packit 5164a5
Packit 5164a5
Packit 5164a5
class Install(install):
Packit 5164a5
Packit 5164a5
    user_options = install.user_options + \
Packit 5164a5
                   [('catalogs=', None, 'default SGML catalogs'),
Packit 5164a5
                    ('nodeps', None, 'don\'t check the dependencies'),
Packit 5164a5
                    ('style=', None, 'default style to use'),
Packit 5164a5
                    ('use-python-path', None, 'don\'t use env to locate python')]
Packit 5164a5
Packit 5164a5
    def initialize_options(self):
Packit 5164a5
        install.initialize_options(self)
Packit 5164a5
        self.catalogs = None
Packit 5164a5
        self.nodeps = None
Packit 5164a5
        self.style = None
Packit 5164a5
        self.use_python_path = None
Packit 5164a5
        # Prevents from undefined 'install_layout' attribute
Packit 5164a5
        if not(getattr(self, "install_layout", None)):
Packit 5164a5
            self.install_layout = None
Packit 5164a5
Packit 5164a5
    def check_util_dependencies(self):
Packit 5164a5
        # First, check non critical graphic tools
Packit 5164a5
        found, missed = find_programs(("epstopdf", "convert", "fig2dev"))
Packit 5164a5
        for util in found:
Packit 5164a5
            print "+checking %s... yes" % util
Packit 5164a5
        for util in missed:
Packit 5164a5
            print "+checking %s... no" % util
Packit 5164a5
        if missed:
Packit 5164a5
            print("warning: not found: %s" % ", ".join(missed))
Packit 5164a5
Packit 5164a5
        # Now, be serious
Packit 5164a5
        found, missed = find_programs(("latex", "makeindex",
Packit 5164a5
                                       "pdflatex", "kpsewhich"))
Packit 5164a5
        for util in found:
Packit 5164a5
            print "+checking %s... yes" % util
Packit 5164a5
        for util in missed:
Packit 5164a5
            print "+checking %s... no" % util
Packit 5164a5
        if missed:
Packit 5164a5
            raise OSError("not found: %s" % ", ".join(missed))
Packit 5164a5
Packit 5164a5
    def check_xslt_dependencies(self):
Packit 5164a5
        sys.path.insert(0, "lib")
Packit 5164a5
        from dbtexmf.xslt import xslt
Packit 5164a5
        sys.path.remove("lib")
Packit 5164a5
Packit 5164a5
        # At least one XSLT must be available
Packit 5164a5
        deplists = xslt.get_deplists()
Packit 5164a5
        if not(deplists):
Packit 5164a5
            raise OSError("no XSLT available")
Packit 5164a5
Packit 5164a5
        # For each XSLT check the programs they depend on
Packit 5164a5
        xslt_found = []
Packit 5164a5
        xslt_missed = []
Packit 5164a5
        for (mod, deplist) in deplists:
Packit 5164a5
            if not(deplist):
Packit 5164a5
                xslt_found.append(mod)
Packit 5164a5
                print "+checking XSLT %s... yes" % mod
Packit 5164a5
                continue
Packit 5164a5
            found, missed = find_programs(deplist)
Packit 5164a5
            if missed:
Packit 5164a5
                xslt_missed.append(mod)
Packit 5164a5
                print "+checking XSLT %s... no (missing %s)" % \
Packit 5164a5
                      (mod, ", ".join(missed))
Packit 5164a5
            else:
Packit 5164a5
                xslt_found.append(mod)
Packit 5164a5
                print "+checking XSLT %s... yes" % mod
Packit 5164a5
Packit 5164a5
        if not(xslt_found):
Packit 5164a5
            raise OSError("XSLT not installed: %s" % ", ".join(xslt_missed))
Packit 5164a5
        elif xslt_missed:
Packit 5164a5
            print "warning: XSLT not found: %s" % ", ".join(xslt_missed)
Packit 5164a5
Packit 5164a5
    def check_latex_dependencies(self):
Packit 5164a5
        # Find the Latex files from the package
Packit 5164a5
        stys = []
Packit 5164a5
        for root, dirs, files in os.walk('latex/'):
Packit 5164a5
            stys += glob.glob(os.path.join(root, "*.sty"))
Packit 5164a5
        if stys:
Packit 5164a5
            own_stys = [os.path.basename(s)[:-4] for s in stys]
Packit 5164a5
        else:
Packit 5164a5
            own_stys = []
Packit 5164a5
Packit 5164a5
        # Find the used packages
Packit 5164a5
        used_stys = []
Packit 5164a5
        re_sty = re.compile(r"\\usepackage\s*\[?.*\]?{(\w+)}")
Packit 5164a5
        for sty in stys:
Packit 5164a5
            f = open(sty)
Packit 5164a5
            for line in f:
Packit 5164a5
                line = line.split("%")[0]
Packit 5164a5
                m = re_sty.search(line)
Packit 5164a5
                if m:
Packit 5164a5
                    p = m.group(1)
Packit 5164a5
                    try:
Packit 5164a5
                        used_stys.index(p)
Packit 5164a5
                    except:
Packit 5164a5
                        used_stys.append(p)
Packit 5164a5
            f.close()
Packit 5164a5
Packit 5164a5
        # Now look if they are found
Packit 5164a5
        found_stys = []
Packit 5164a5
        mis_stys = []
Packit 5164a5
        used_stys.sort()
Packit 5164a5
Packit 5164a5
        # Dirty...
Packit 5164a5
        for f in ("truncate", "elfonts", "CJKutf8", "pinyin", "ifxetex"):
Packit 5164a5
            try:
Packit 5164a5
                used_stys.remove(f)
Packit 5164a5
            except:
Packit 5164a5
                pass
Packit 5164a5
Packit 5164a5
        for sty in used_stys:
Packit 5164a5
            if sty in found_stys:
Packit 5164a5
                continue
Packit 5164a5
            status = "+checking %s... " % sty
Packit 5164a5
            if sty in own_stys:
Packit 5164a5
                status += "found in package"
Packit 5164a5
                found_stys.append(sty)
Packit 5164a5
                print status
Packit 5164a5
                continue
Packit 5164a5
            stypath = kpsewhich("%s.sty" % sty)
Packit 5164a5
            if stypath:
Packit 5164a5
                status += "yes"
Packit 5164a5
                found_stys.append(sty)
Packit 5164a5
            else:
Packit 5164a5
                status += "no"
Packit 5164a5
                mis_stys.append(sty)
Packit 5164a5
            print status
Packit 5164a5
            
Packit 5164a5
        if mis_stys:
Packit 5164a5
            raise OSError("not found: %s" % ", ".join(mis_stys))
Packit 5164a5
Packit 5164a5
    def run(self):
Packit 5164a5
        if self.install_layout == "deb":
Packit 5164a5
            db = DebianInstaller(self)
Packit 5164a5
        else:
Packit 5164a5
            db = None
Packit 5164a5
Packit 5164a5
        if not(db) and not(self.nodeps):
Packit 5164a5
            try:
Packit 5164a5
                self.check_xslt_dependencies()
Packit 5164a5
                self.check_util_dependencies()
Packit 5164a5
                self.check_latex_dependencies()
Packit 5164a5
            except Exception, e:
Packit 5164a5
                print >>sys.stderr, "Error: %s" % e
Packit 5164a5
                sys.exit(1)
Packit 5164a5
Packit 5164a5
        if db: db.adapt_paths()
Packit 5164a5
Packit 5164a5
        # If no build is required, at least build the script
Packit 5164a5
        if self.skip_build:
Packit 5164a5
            self.run_command('build_scripts')
Packit 5164a5
Packit 5164a5
        install.run(self)
Packit 5164a5
Packit 5164a5
        if db: db.finalize()
Packit 5164a5
Packit 5164a5
Packit 5164a5
class InstallData(install_data):
Packit 5164a5
Packit 5164a5
    def run(self):
Packit 5164a5
        ignore_pattern = os.path.sep + r"(CVS|RCS)" + os.path.sep
Packit 5164a5
        # literal backslash must be doubled in regular expressions
Packit 5164a5
        ignore_pattern = ignore_pattern.replace('\\', r'\\')
Packit 5164a5
Packit 5164a5
        # Walk through sub-dirs, specified in data_files and build the
Packit 5164a5
        # full data files list accordingly
Packit 5164a5
        full_data_files = []
Packit 5164a5
        for install_base, paths in self.data_files:
Packit 5164a5
            base_files = []
Packit 5164a5
            for path in paths:
Packit 5164a5
                if os.path.isdir(path):
Packit 5164a5
                    pref = os.path.dirname(path)
Packit 5164a5
                    for root, dirs, files in os.walk(path):
Packit 5164a5
                        if re.search(ignore_pattern, root + os.sep):
Packit 5164a5
                            continue
Packit 5164a5
                        # Only the last directory is copied, not the full path
Packit 5164a5
                        if not(pref):
Packit 5164a5
                            iroot = root
Packit 5164a5
                        else:
Packit 5164a5
                            iroot = root.split(pref + os.path.sep, 1)[1]
Packit 5164a5
                        idir = os.path.join(install_base, iroot)
Packit 5164a5
                        files = [os.path.join(root, i) for i in files]
Packit 5164a5
                        if files:
Packit 5164a5
                            full_data_files += [(idir, files)]
Packit 5164a5
                else:
Packit 5164a5
                    base_files.append(path)
Packit 5164a5
Packit 5164a5
            if base_files:
Packit 5164a5
                full_data_files += [(install_base, base_files)]
Packit 5164a5
Packit 5164a5
        # Replace synthetic data_files by the full one, and do the actual job
Packit 5164a5
        self.data_files = full_data_files
Packit 5164a5
        rc = install_data.run(self)
Packit 5164a5
Packit 5164a5
        if self.distribution.get_command_obj("install").install_layout != "deb":
Packit 5164a5
            self.adapt_installed_data()
Packit 5164a5
        return rc
Packit 5164a5
Packit 5164a5
    def adapt_installed_data(self):
Packit 5164a5
        installed = self.get_outputs()
Packit 5164a5
        for data_file in installed:
Packit 5164a5
            if os.path.basename(data_file) == "param.xsl":
Packit 5164a5
                self._set_texlive_version(data_file)
Packit 5164a5
                break
Packit 5164a5
Packit 5164a5
    def _set_texlive_version(self, param_file):
Packit 5164a5
        """Detect the installed Texlive version from hyperref.sty version, and
Packit 5164a5
        override the texlive.version param accordingly."""
Packit 5164a5
        hyper_sty = kpsewhich("hyperref.sty")
Packit 5164a5
        if not(hyper_sty):
Packit 5164a5
            # Cannot do anything, give up
Packit 5164a5
            return
Packit 5164a5
Packit 5164a5
        # Grab the value from package version
Packit 5164a5
        d = open(hyper_sty).read()
Packit 5164a5
        m = re.search("\\ProvidesPackage{hyperref}\s+\[(\d+)", d, re.M)
Packit 5164a5
        if not(m):
Packit 5164a5
            return
Packit 5164a5
        year = m.group(1)
Packit 5164a5
Packit 5164a5
        # Patch the parameter with the found value
Packit 5164a5
        p = open(param_file).read()
Packit 5164a5
        p2 = re.sub('name="texlive.version">.*<',
Packit 5164a5
                    'name="texlive.version">%s<' % year, p)
Packit 5164a5
        f = open(param_file, "w")
Packit 5164a5
        f.write(p2)
Packit 5164a5
        f.close()
Packit 5164a5
Packit 5164a5
Packit 5164a5
def get_version():
Packit 5164a5
    sys.path.insert(0, "lib")
Packit 5164a5
    from dbtexmf.dblatex import dblatex
Packit 5164a5
    d = dblatex.DbLatex(base=os.getcwd())
Packit 5164a5
    sys.path.remove("lib")
Packit 5164a5
    return d.get_version()
Packit 5164a5
Packit 5164a5
Packit 5164a5
if __name__ == "__main__":
Packit 5164a5
    pdfdocs = glob.glob(os.path.join("docs", "[mr]*.pdf"))
Packit 5164a5
    htmldoc = [os.path.join("docs", "xhtml")]
Packit 5164a5
    classifiers = [
Packit 5164a5
       "Operating System :: OS Independent",
Packit 5164a5
       "Topic :: Text Processing :: Markup :: XML",
Packit 5164a5
       "License :: OSI Approved :: GNU General Public License (GPL)"
Packit 5164a5
    ]
Packit 5164a5
Packit 5164a5
    description = """
Packit 5164a5
       dblatex is a program that transforms your SGML/XML DocBook documents to
Packit 5164a5
       DVI, PostScript or PDF by translating them into pure LaTeX as a first
Packit 5164a5
       process.  MathML 2.0 markups are supported, too. It started as a clone
Packit 5164a5
       of DB2LaTeX.
Packit 5164a5
       """
Packit 5164a5
Packit 5164a5
    setup(name="dblatex",
Packit 5164a5
        version=get_version(),
Packit 5164a5
        description='DocBook to LaTeX/ConTeXt Publishing',
Packit 5164a5
        author='Benoit Guillon',
Packit 5164a5
        author_email='marsgui@users.sourceforge.net',
Packit 5164a5
        url='http://dblatex.sf.net',
Packit 5164a5
        license='GPL Version 2 or later',
Packit 5164a5
        long_description=description,
Packit 5164a5
        classifiers=classifiers,
Packit 5164a5
        packages=['dbtexmf',
Packit 5164a5
                  'dbtexmf.core',
Packit 5164a5
                  'dbtexmf.xslt',
Packit 5164a5
                  'dbtexmf.dblatex',
Packit 5164a5
                  'dbtexmf.dblatex.xetex',
Packit 5164a5
                  'dbtexmf.dblatex.grubber'],
Packit 5164a5
        package_dir={'dbtexmf':'lib/dbtexmf'},
Packit 5164a5
        package_data={'dbtexmf.core':['sgmlent.txt'],
Packit 5164a5
                      'dbtexmf.dblatex.grubber':['xindylang.xml']},
Packit 5164a5
        data_files=[('share/dblatex', ['xsl', 'latex', 'etc/schema']),
Packit 5164a5
                    ('share/doc/dblatex', pdfdocs),
Packit 5164a5
                    ('share/doc/dblatex', htmldoc),
Packit 5164a5
                    ('share/man/man1', ['docs/manpage/dblatex.1.gz'])],
Packit 5164a5
        scripts=['scripts/dblatex'],
Packit 5164a5
        cmdclass={'build': Build,
Packit 5164a5
                  'build_scripts': BuildScripts,
Packit 5164a5
                  'install': Install,
Packit 5164a5
                  'install_data': InstallData,
Packit 5164a5
                  'sdist': Sdist}
Packit 5164a5
        )
Packit 5164a5