aboutsummaryrefslogtreecommitdiff
path: root/circuitpython/lib/nrfutil/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'circuitpython/lib/nrfutil/setup.py')
-rw-r--r--circuitpython/lib/nrfutil/setup.py133
1 files changed, 133 insertions, 0 deletions
diff --git a/circuitpython/lib/nrfutil/setup.py b/circuitpython/lib/nrfutil/setup.py
new file mode 100644
index 0000000..1b577d2
--- /dev/null
+++ b/circuitpython/lib/nrfutil/setup.py
@@ -0,0 +1,133 @@
+#!/usr/bin/env python
+#
+# Copyright (c) 2015, Nordic Semiconductor
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# * Neither the name of Nordic Semiconductor ASA nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+"""
+Setup script for nrfutil.
+
+USAGE:
+ python setup.py install
+ python setup.py py2exe
+
+"""
+import os
+import platform
+
+from setuptools import setup, find_packages
+from setuptools.command.test import test as TestCommand
+#from setuptools_behave import behave_test
+
+from nordicsemi import version
+
+if platform.system() == 'Windows':
+ import py2exe # Required even if it is not used in this file. This import adds py2exe to distutils.
+
+excludes = ["Tkconstants",
+ "Tkinter",
+ "tcl",
+ "pickle",
+ "unittest",
+ "pyreadline"]
+
+# DFU component cli interface
+includes = ["nordicsemi.dfu.dfu"]
+
+packages = []
+
+dll_excludes = [
+ "w9xpopen.exe",
+ "OLEAUT32.DLL",
+ "OLE32.DLL",
+ "USER32.DLL",
+ "SHELL32.DLL",
+ "ADVAPI32.DLL",
+ "KERNEL32.DLL",
+ "WS2_32.DLL",
+ "GDI32.DLL"]
+
+build_dir = os.environ.get("NRFUTIL_BUILD_DIR", "./{}".format(version.NRFUTIL_VERSION))
+description = """A Python package that includes the nrfutil utility and the nordicsemi library"""
+
+
+class NoseTestCommand(TestCommand):
+ def finalize_options(self):
+ TestCommand.finalize_options(self)
+ self.test_args = []
+ self.test_suite = True
+
+ def run_tests(self):
+ import nose
+ nose.run_exit(argv=['nosetests', '--with-xunit', '--xunit-file=test-reports/unittests.xml'])
+
+common_requirements=[]
+
+setup(
+ name="nrfutil",
+ version=version.NRFUTIL_VERSION,
+ license="Nordic Semicondictor proprietary license",
+ url="https://github.com/NordicSemiconductor/pc-nrfutil",
+ description="Nordic Semiconductor nrfutil utility and Python library",
+ long_description=description,
+ packages=find_packages(exclude=["tests.*", "tests"]),
+ include_package_data=False,
+ install_requires=common_requirements,
+ setup_requires=common_requirements,
+ zipfile=None,
+ tests_require=[
+ "nose >= 1.3.4",
+ "behave"
+ ],
+ zip_safe=False,
+ classifiers=[
+ "Programming Language :: Python :: 2.7",
+ ],
+ cmdclass={
+ 'test': NoseTestCommand
+ # 'bdd_test': behave_test
+ },
+ entry_points='''
+ [console_scripts]
+ nrfutil = nordicsemi.__main__:cli
+ ''',
+ console=[{
+ "script": "./nordicsemi/__main__.py",
+ "dest_base": "nrfutil"
+ }],
+ options={
+ "py2exe": {
+ "includes": includes,
+ "excludes": excludes,
+ "ascii": False,
+ "bundle_files": 1, # 1 for bunding into exe, 3 for to distdir
+ "dist_dir": build_dir,
+ "verbose": True,
+ "dll_excludes": dll_excludes
+ }
+ }
+)