# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Setup script to distribute and install Chameleond library and scripts."""

# Needs to import setup from setuptools instead of distutils.core
# in order to use the install_requires argument.
from setuptools import setup

setup(
    name='chameleond',
    version='0.0.2',
    packages=['chameleond', 'chameleond.devices', 'chameleond.drivers',
              'chameleond.utils'],
    package_data={'chameleond': ['data/*.bin', 'data/*.bitmap', 'utils/*.xml',
                                 'utils/*.conf', 'utils/data/*/*']},
    url='http://www.chromium.org',
    maintainer='chromium os',
    maintainer_email='chromium-os-dev@chromium.org',
    license='Chromium',
    description='Server to communicate and control Chameleon board.',
    long_description='Server to communicate and control Chameleon board.',
    install_requires=['schedule', 'future'],
    scripts=['utils/lock_u_boot_console', 'utils/run_chameleond',
             'utils/run_displayd', 'utils/run_stream_server',
             'chameleond/utils/server_time', 'utils/run_scheduler',
             'utils/run_chameleon_updater']
)
