python/scripts/aubio: simple script to replace examples/ in the python world
[aubio.git] / setup.py
index 8c9552b..0c93bb9 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -6,24 +6,11 @@ from python.lib.moresetuptools import *
 # function to generate gen/*.{c,h}
 from python.lib.gen_external import generate_external, header, output_path
 
-# read from VERSION
-for l in open('VERSION').readlines(): exec (l.strip())
-
-if AUBIO_MAJOR_VERSION is None or AUBIO_MINOR_VERSION is None \
-        or AUBIO_PATCH_VERSION is None:
-    raise SystemError("Failed parsing VERSION file.")
-
-__version__ = '.'.join(map(str, [AUBIO_MAJOR_VERSION,
-                                 AUBIO_MINOR_VERSION,
-                                 AUBIO_PATCH_VERSION]))
-if AUBIO_VERSION_STATUS is not None:
-    if AUBIO_VERSION_STATUS.startswith('~'):
-        AUBIO_VERSION_STATUS = AUBIO_VERSION_STATUS[1:]
-    __version__ += AUBIO_VERSION_STATUS
+__version__ = get_aubio_pyversion()
 
 include_dirs = []
 library_dirs = []
-define_macros = []
+define_macros = [('AUBIO_VERSION', '%s' % __version__)]
 extra_link_args = []
 
 include_dirs += [ 'python/ext' ]
@@ -37,7 +24,7 @@ except ImportError:
 if sys.platform.startswith('darwin'):
     extra_link_args += ['-framework','CoreFoundation', '-framework','AudioToolbox']
 
-sources = glob.glob(os.path.join('python', 'ext', '*.c'))
+sources = sorted(glob.glob(os.path.join('python', 'ext', '*.c')))
 
 aubio_extension = Extension("aubio._aubio",
     sources,
@@ -47,20 +34,9 @@ aubio_extension = Extension("aubio._aubio",
     define_macros = define_macros)
 
 if os.path.isfile('src/aubio.h'):
-    # if aubio headers are found in this directory
-    add_local_aubio_header(aubio_extension)
-    # was waf used to build the shared lib?
-    if os.path.isdir(os.path.join('build','src')):
-        # link against build/src/libaubio, built with waf
-        add_local_aubio_lib(aubio_extension)
-    else:
-        # add libaubio sources and look for optional deps with pkg-config
-        add_local_aubio_sources(aubio_extension)
-        __version__ += '_libaubio'
-else:
-    # look for aubio headers and lib using pkg-config
-    add_system_aubio(aubio_extension)
-
+    if not os.path.isdir(os.path.join('build','src')):
+        pass
+        #__version__ += 'a2' # python only version
 
 classifiers = [
     'Development Status :: 4 - Beta',
@@ -77,35 +53,30 @@ classifiers = [
     'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
     ]
 
-from distutils.command.build_ext import build_ext as _build_ext
-class build_ext(_build_ext):
-
-    def build_extension(self, extension):
-        # generate files python/gen/*.c, python/gen/aubio-generated.h
-        extension.sources += generate_external(header, output_path, overwrite = False)
-        return _build_ext.build_extension(self, extension)
-
 distrib = setup(name='aubio',
     version = __version__,
     packages = ['aubio'],
     package_dir = {'aubio':'python/lib/aubio'},
-    scripts = ['python/scripts/aubiocut'],
+    scripts = ['python/scripts/aubiocut', 'python/scripts/aubio'],
     ext_modules = [aubio_extension],
-    description = 'interface to the aubio library',
-    long_description = 'interface to the aubio library',
+    description = 'a collection of tools for music analysis',
+    long_description = 'a collection of tools for music analysis',
     license = 'GNU/GPL version 3',
     author = 'Paul Brossier',
     author_email = 'piem@aubio.org',
     maintainer = 'Paul Brossier',
     maintainer_email = 'piem@aubio.org',
-    url = 'http://aubio.org/',
+    url = 'https://aubio.org/',
     platforms = 'any',
     classifiers = classifiers,
     install_requires = ['numpy'],
+    setup_requires = ['numpy'],
     cmdclass = {
         'clean': CleanGenerated,
-        'generate': GenerateCommand,
         'build_ext': build_ext,
         },
     test_suite = 'nose2.collector.collector',
+    extras_require = {
+        'tests': ['numpy'],
+        },
     )