diff --git a/setup.py b/setup.py index bffe8b6..617c07d 100644 --- a/setup.py +++ b/setup.py @@ -1,122 +1,122 @@ -#!/usr/bin/env python -# -# Copyright (c) 2015, SmartFile -# 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 the organization 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 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. - -from os import environ - -try: - from setuptools import setup, Extension - from setuptools.command.build_ext import build_ext -except ImportError: - from distutils.core import setup, Extension - from distutils.command.build_ext import build_ext - - - -# Use a provided libarchive else default to hard-coded path. -libarchivePrefix = environ.get('LIBARCHIVE_PREFIX') - -if libarchivePrefix: - includePath = libarchivePrefix + '/include' -else: - includePath = '/usr/local/include' - - - - -name = 'python-libarchive' -version = '4.2.0' -readme = 'README.rst' -repourl = 'https://github.com/smartfile/python-libarchive' -long_description = open(readme).read() - - -class build_ext_extra(build_ext, object): - """ - Extend build_ext allowing extra_compile_args and extra_link_args to be set - on the command-line. - """ - - user_options = build_ext.user_options - user_options.append(('extra-compile-args=', None, 'Extra arguments passed directly to the compiler')) - user_options.append(('extra-link-args=', None, 'Extra arguments passed directly to the linker')) - - def initialize_options(self): - build_ext.initialize_options(self) - self.extra_compile_args = None - self.extra_link_args = None - - def build_extension(self, ext): - if self.extra_compile_args: - ext.extra_compile_args.append(self.extra_compile_args) - if self.extra_link_args: - ext.extra_link_args.append(self.extra_link_args) - super(build_ext_extra, self).build_extension(ext) - - -if libarchivePrefix: - extra_compile_args = ['-I{0}/include'.format(libarchivePrefix)] - extra_link_args = ['-Wl,-rpath,{0}/lib'.format(libarchivePrefix)] - environ['LDFLAGS'] = '-L{0}/lib {1}'.format(libarchivePrefix, environ.get('LDFLAGS', '')) -else: - extra_compile_args = [] - extra_link_args = ['-l:libarchive.so'] - -__libarchive = Extension( - name='libarchive.__libarchive', - sources=['libarchive/_libarchive_wrap.c'], - libraries=['archive'], - extra_compile_args=extra_compile_args, - extra_link_args=extra_link_args, - include_dirs=[includePath, 'libarchive'], -) - - -setup( - name=name, - version=version, - description='A libarchive wrapper for Python supporting password protection.', - long_description=long_description, - license='BSD-style license', - platforms=['any'], - author='Vadim Lebedev, Ben Timby, Travis Cunningham, Ryan Johnston, SmartFile', - author_email='tech@smartfile.com', - url=repourl, - packages=['libarchive'], - classifiers=[ - 'Development Status :: 5 - Production/Stable', - 'Intended Audience :: Developers', - 'Operating System :: OS Independent', - 'Programming Language :: C', - 'Programming Language :: Python', - 'Topic :: System :: Archiving :: Compression', - 'Topic :: Software Development :: Libraries :: Python Modules', - ], - cmdclass={ - 'build_ext': build_ext_extra, - }, - ext_modules=[__libarchive], -) +#!/usr/bin/env python +# +# Copyright (c) 2015, SmartFile +# 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 the organization 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 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. + +from os import environ + +try: + from setuptools import setup, Extension + from setuptools.command.build_ext import build_ext +except ImportError: + from distutils.core import setup, Extension + from distutils.command.build_ext import build_ext + + + +# Use a provided libarchive else default to hard-coded path. +libarchivePrefix = environ.get('LIBARCHIVE_PREFIX') + +if libarchivePrefix: + includePath = libarchivePrefix + '/include' +else: + includePath = '/usr/local/include' + + + + +name = 'python-libarchive' +version = '4.2.0' +readme = 'README.rst' +repourl = 'https://github.com/smartfile/python-libarchive' +long_description = open(readme).read() + + +class build_ext_extra(build_ext, object): + """ + Extend build_ext allowing extra_compile_args and extra_link_args to be set + on the command-line. + """ + + user_options = build_ext.user_options + user_options.append(('extra-compile-args=', None, 'Extra arguments passed directly to the compiler')) + user_options.append(('extra-link-args=', None, 'Extra arguments passed directly to the linker')) + + def initialize_options(self): + build_ext.initialize_options(self) + self.extra_compile_args = None + self.extra_link_args = None + + def build_extension(self, ext): + if self.extra_compile_args: + ext.extra_compile_args.append(self.extra_compile_args) + if self.extra_link_args: + ext.extra_link_args.append(self.extra_link_args) + super(build_ext_extra, self).build_extension(ext) + + +if libarchivePrefix: + extra_compile_args = ['-I{0}/include'.format(libarchivePrefix)] + extra_link_args = ['-Wl,-rpath,{0}/lib'.format(libarchivePrefix)] + environ['LDFLAGS'] = '-L{0}/lib {1}'.format(libarchivePrefix, environ.get('LDFLAGS', '')) +else: + extra_compile_args = [] + extra_link_args = ['-l:libarchive.so'] + +__libarchive = Extension( + name='libarchive.__libarchive', + sources=['libarchive/_libarchive_wrap.c'], + libraries=['archive'], + extra_compile_args=extra_compile_args, + extra_link_args=extra_link_args, + include_dirs=[includePath, 'libarchive'], +) + + +setup( + name=name, + version=version, + description='A libarchive wrapper for Python supporting password protection.', + long_description=long_description, + license='BSD-style license', + platforms=['any'], + author='Vadim Lebedev, Ben Timby, Travis Cunningham, Ryan Johnston, SmartFile', + author_email='tech@smartfile.com', + url=repourl, + packages=['libarchive'], + classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'Intended Audience :: Developers', + 'Operating System :: OS Independent', + 'Programming Language :: C', + 'Programming Language :: Python', + 'Topic :: System :: Archiving :: Compression', + 'Topic :: Software Development :: Libraries :: Python Modules', + ], + cmdclass={ + 'build_ext': build_ext_extra, + }, + ext_modules=[__libarchive], +)