diff --git a/.gitignore b/.gitignore index 433acf2..c1c1a4e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,8 @@ +# distutils build output *.pyc -/nbproject/private/ \ No newline at end of file +build/ +dist/ +gerbmerge-*.*/ +MANIFEST + +/nbproject/private/ diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..e69de29 diff --git a/gerbmerge/__init__.py b/gerbmerge/__init__.py index 9097b9a..8a25c3d 100644 --- a/gerbmerge/__init__.py +++ b/gerbmerge/__init__.py @@ -1 +1,4 @@ # Placeholder for GerbMerge package + +# make version info available at top level +from __version_info__ import __version__ diff --git a/gerbmerge/__main__.py b/gerbmerge/__main__.py new file mode 100644 index 0000000..4eef894 --- /dev/null +++ b/gerbmerge/__main__.py @@ -0,0 +1,5 @@ +import gerbmerge + +# Hook to call the self standing program when used with `python -m gerbmerge` +if __name__ == "__main__": + gerbmerge.main() diff --git a/gerbmerge/__version_info__.py b/gerbmerge/__version_info__.py new file mode 100644 index 0000000..bdc0f16 --- /dev/null +++ b/gerbmerge/__version_info__.py @@ -0,0 +1 @@ +__version__ = "1.9.3" diff --git a/gerbmerge/gerbmerge.py b/gerbmerge/gerbmerge.py index 99db63e..3af08a6 100755 --- a/gerbmerge/gerbmerge.py +++ b/gerbmerge/gerbmerge.py @@ -43,8 +43,8 @@ import util import scoring import drillcluster -VERSION_MAJOR=1 -VERSION_MINOR='9b' +# make version info available when running as script +from __version_info__ import __version__ RANDOM_SEARCH = 1 EXHAUSTIVE_SEARCH = 2 @@ -804,7 +804,7 @@ def updateGUI(text = None): if GUI != None: GUI.updateProgress(text) -if __name__=="__main__": +def main(): try: opts, args = getopt.getopt(sys.argv[1:], 'hvs', ['help', 'version', 'octagons=', 'random-search', 'full-search', 'rs-fsjobs=', 'search-timeout=', 'place-file=', 'no-trim-gerber', 'no-trim-excellon', 'skipdisclaimer']) except getopt.GetoptError: @@ -815,13 +815,13 @@ if __name__=="__main__": usage() elif opt in ('-v', '--version'): print """ -GerbMerge Version %d.%s -- Combine multiple Gerber/Excellon files +GerbMerge Version %s -- Combine multiple Gerber/Excellon files This program is licensed under the GNU General Public License (GPL) Version 3. See LICENSE file or http://www.fsf.org for details of this license. ProvideYourOwn - http://provideyourown.com -""" % (VERSION_MAJOR, VERSION_MINOR) +""" % (__version__) sys.exit(0) elif opt in ('--octagons', '--random-search','--full-search','--rs-fsjobs','--place-file','--no-trim-gerber','--no-trim-excellon', '--search-timeout', '-s', '--skipdisclaimer'): pass ## arguments are valid @@ -832,4 +832,8 @@ ProvideYourOwn - http://provideyourown.com usage() sys.exit(merge(opts, args)) ## run germberge + +if __name__=="__main__": + main() + # vim: expandtab ts=2 sw=2 ai syntax=python diff --git a/setup.py b/setup.py index ea39091..12c0188 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ import os from distutils.core import setup, Extension import distutils.sysconfig -from gerbmerge.gerbmerge import VERSION_MAJOR, VERSION_MINOR +from gerbmerge.__version_info__ import __version__ if sys.version_info < (2,4,0): print '*'*73 @@ -37,7 +37,10 @@ if sys.platform == 'win32' or ('bdist_wininst' in sys.argv): BinFiles = ['misc/gerbmerge.bat'] BinDir = '.' else: - DestLib = distutils.sysconfig.get_config_var('LIBPYTHON') + # try to find the library location on this platform + DestLib = None + if DestLib == None: DestLib = distutils.sysconfig.get_config_var('LIBPYTHON') + if DestLib == None: DestLib = distutils.sysconfig.get_config_var('LIBDEST') DestDir = os.path.join(DestLib, 'gerbmerge') BinFiles = ['misc/gerbmerge'] BinDir = distutils.sysconfig.get_config_var('BINDIR') @@ -52,7 +55,7 @@ python %s/site-packages/gerbmerge/gerbmerge.py $* dist=setup (name = "gerbmerge", license = "GPL", - version = "%d.%d" % (VERSION_MAJOR, VERSION_MINOR), + version = __version__, long_description=\ r"""GerbMerge is a program that combines several Gerber (i.e., RS274-X) and Excellon files into a single set @@ -69,15 +72,16 @@ For more details on installation or running GerbMerge, see the URL below. """, description = "Merge multiple Gerber/Excellon files", - author = "Rugged Circuits LLC", - author_email = "support@ruggedcircuits.com", - url = "http://ruggedcircuits.com/gerbmerge", + author = "ProvideYourOwn.com", + author_email = "", + url = "https://github.com/provideyourown/gerbmerge", packages = ['gerbmerge'], platforms = ['all'], data_files = [ (DestDir, AuxFiles), (os.path.join(DestDir,'testdata'), SampleFiles), (os.path.join(DestDir,'doc'), DocFiles), - (BinDir, BinFiles) ] + (BinDir, BinFiles) ], + install_requires = ['simpleparse'] ) do_fix_perms = 0