mirror of
https://github.com/kk7ds/chirp.git
synced 2024-09-21 02:27:21 +00:00
Start fresh with setup.py
This commit is contained in:
parent
7286a14c9e
commit
d246d705aa
@ -17,7 +17,7 @@ import os
|
||||
import sys
|
||||
from glob import glob
|
||||
|
||||
CHIRP_VERSION = "0.3.0dev"
|
||||
CHIRP_VERSION = "py3dev"
|
||||
|
||||
module_dir = os.path.dirname(sys.modules["chirp"].__file__)
|
||||
__all__ = []
|
||||
|
@ -0,0 +1,59 @@
|
||||
import argparse
|
||||
import gettext
|
||||
import os
|
||||
import sys
|
||||
|
||||
from chirp import directory
|
||||
from chirp import logger
|
||||
|
||||
|
||||
def chirpmain():
|
||||
import wx
|
||||
from chirp.ui import config
|
||||
from chirp.wxui import main
|
||||
|
||||
directory.import_drivers()
|
||||
gettext.install('CHIRP')
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("files", metavar="file", nargs='*',
|
||||
help="File to open")
|
||||
parser.add_argument("--module", metavar="module",
|
||||
help="Load module on startup")
|
||||
logger.add_version_argument(parser)
|
||||
parser.add_argument("--profile", action="store_true",
|
||||
help="Enable profiling")
|
||||
parser.add_argument("--onlydriver", nargs="+",
|
||||
help="Include this driver while loading")
|
||||
parser.add_argument("--inspect", action="store_true",
|
||||
help="Show wxPython inspector")
|
||||
if sys.platform == 'linux':
|
||||
parser.add_argument('--no-linux-gdk-backend', action='store_true',
|
||||
help='Do not force GDK_BACKEND=x11')
|
||||
logger.add_arguments(parser)
|
||||
args = parser.parse_args()
|
||||
|
||||
logger.handle_options(args)
|
||||
|
||||
directory.import_drivers(limit=args.onlydriver)
|
||||
|
||||
CONF = config.get()
|
||||
if CONF.get('developer', 'state'):
|
||||
from chirp.drivers import fake
|
||||
fake.register_fakes()
|
||||
|
||||
# wxGTK on Wayland seems to have problems. Override GDK_BACKEND to
|
||||
# use X11, unless we were asked not to
|
||||
if sys.platform == 'linux' and not args.no_linux_gdk_backend:
|
||||
os.putenv('GDK_BACKEND', 'x11')
|
||||
|
||||
app = wx.App()
|
||||
mainwindow = main.ChirpMain(None, title='CHIRP')
|
||||
mainwindow.Show()
|
||||
for fn in args.files:
|
||||
mainwindow.open_file(fn, select=False)
|
||||
|
||||
if args.inspect:
|
||||
from wx.lib import inspection
|
||||
inspection.InspectionTool().Show()
|
||||
|
||||
app.MainLoop()
|
63
chirpwx.py
63
chirpwx.py
@ -1,67 +1,8 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
import gettext
|
||||
import os
|
||||
import sys
|
||||
|
||||
import wx
|
||||
import wx.aui
|
||||
import wx.grid
|
||||
import wx.lib.newevent
|
||||
|
||||
# Import the drivers module before directory for frozen builds
|
||||
from chirp import drivers
|
||||
|
||||
from chirp import directory
|
||||
from chirp import logger
|
||||
|
||||
from chirp.ui import config
|
||||
from chirp.wxui import main
|
||||
|
||||
from chirp.wxui import chirpmain
|
||||
|
||||
if __name__ == '__main__':
|
||||
gettext.install('CHIRP')
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("files", metavar="file", nargs='*',
|
||||
help="File to open")
|
||||
parser.add_argument("--module", metavar="module",
|
||||
help="Load module on startup")
|
||||
logger.add_version_argument(parser)
|
||||
parser.add_argument("--profile", action="store_true",
|
||||
help="Enable profiling")
|
||||
parser.add_argument("--onlydriver", nargs="+",
|
||||
help="Include this driver while loading")
|
||||
parser.add_argument("--inspect", action="store_true",
|
||||
help="Show wxPython inspector")
|
||||
if sys.platform == 'linux':
|
||||
parser.add_argument('--no-linux-gdk-backend', action='store_true',
|
||||
help='Do not force GDK_BACKEND=x11')
|
||||
logger.add_arguments(parser)
|
||||
args = parser.parse_args()
|
||||
|
||||
logger.handle_options(args)
|
||||
|
||||
directory.safe_import_drivers(limit=args.onlydriver)
|
||||
|
||||
CONF = config.get()
|
||||
if CONF.get('developer', 'state'):
|
||||
from chirp.drivers import fake
|
||||
fake.register_fakes()
|
||||
|
||||
# wxGTK on Wayland seems to have problems. Override GDK_BACKEND to
|
||||
# use X11, unless we were asked not to
|
||||
if sys.platform == 'linux' and not args.no_linux_gdk_backend:
|
||||
os.putenv('GDK_BACKEND', 'x11')
|
||||
|
||||
app = wx.App()
|
||||
mainwindow = main.ChirpMain(None, title='CHIRP')
|
||||
mainwindow.Show()
|
||||
for fn in args.files:
|
||||
mainwindow.open_file(fn, select=False)
|
||||
|
||||
if args.inspect:
|
||||
import wx.lib.inspection
|
||||
wx.lib.inspection.InspectionTool().Show()
|
||||
|
||||
app.MainLoop()
|
||||
sys.exit(chirpmain())
|
||||
|
@ -1,5 +1,5 @@
|
||||
six
|
||||
wxPython==4.2.0
|
||||
wxPython>=4.0,<4.2.0 # See https://github.com/wxWidgets/Phoenix/issues/2225
|
||||
pyserial
|
||||
future
|
||||
requests
|
||||
|
163
setup.py
163
setup.py
@ -1,166 +1,27 @@
|
||||
from __future__ import print_function
|
||||
|
||||
import sys
|
||||
import glob
|
||||
import os
|
||||
|
||||
from chirp import CHIRP_VERSION
|
||||
import chirp
|
||||
from chirp import directory
|
||||
|
||||
directory.safe_import_drivers()
|
||||
|
||||
|
||||
def staticify_chirp_module():
|
||||
import chirp
|
||||
|
||||
with open("chirp/__init__.py", "w") as init:
|
||||
print("CHIRP_VERSION = \"%s\"" % CHIRP_VERSION, file=init)
|
||||
print("__all__ = %s\n" % str(chirp.__all__), file=init)
|
||||
|
||||
print("Set chirp/__init__.py::__all__ = %s" % str(chirp.__all__))
|
||||
|
||||
|
||||
def staticify_drivers_module():
|
||||
import chirp.drivers
|
||||
|
||||
with file("chirp/drivers/__init__.py", "w") as init:
|
||||
print("__all__ = %s\n" % str(chirp.drivers.__all__), file=init)
|
||||
|
||||
print("Set chirp/drivers/__init__.py::__all__ = %s" % str(
|
||||
chirp.drivers.__all__))
|
||||
|
||||
|
||||
def win32_build():
|
||||
from distutils.core import setup
|
||||
import py2exe
|
||||
|
||||
try:
|
||||
# if this doesn't work, try import modulefinder
|
||||
import py2exe.mf as modulefinder
|
||||
import win32com
|
||||
for p in win32com.__path__[1:]:
|
||||
modulefinder.AddPackagePath("win32com", p)
|
||||
for extra in ["win32com.shell"]: # ,"win32com.mapi"
|
||||
__import__(extra)
|
||||
m = sys.modules[extra]
|
||||
for p in m.__path__[1:]:
|
||||
modulefinder.AddPackagePath(extra, p)
|
||||
except ImportError:
|
||||
# no build path setup, no worries.
|
||||
pass
|
||||
|
||||
staticify_chirp_module()
|
||||
staticify_drivers_module()
|
||||
|
||||
opts = {
|
||||
"py2exe": {
|
||||
"includes": "pango,atk,gobject,cairo,pangocairo," +
|
||||
"win32gui,win32com,win32com.shell," +
|
||||
"email.iterators,email.generator,gio",
|
||||
|
||||
"compressed": 1,
|
||||
"optimize": 2,
|
||||
"bundle_files": 3,
|
||||
# "packages": ""
|
||||
}
|
||||
}
|
||||
|
||||
mods = []
|
||||
for mod in chirp.__all__:
|
||||
mods.append("chirp.%s" % mod)
|
||||
for mod in chirp.drivers.__all__:
|
||||
mods.append("chirp.drivers.%s" % mod)
|
||||
opts["py2exe"]["includes"] += ("," + ",".join(mods))
|
||||
|
||||
setup(
|
||||
zipfile=None,
|
||||
windows=[{'script': "chirpw",
|
||||
'icon_resources': [(0x0004, 'share/chirp.ico')],
|
||||
}],
|
||||
options=opts)
|
||||
|
||||
|
||||
def macos_build():
|
||||
from setuptools import setup
|
||||
import shutil
|
||||
|
||||
APP = ['chirp-%s.py' % CHIRP_VERSION]
|
||||
shutil.copy("chirpw", APP[0])
|
||||
DATA_FILES = [('../Frameworks', ['/opt/local/lib/libpangox-1.0.dylib']),
|
||||
('../Resources/', ['/opt/local/lib/pango']),
|
||||
]
|
||||
OPTIONS = {'argv_emulation': True, "includes": "gtk,atk,pangocairo,cairo"}
|
||||
|
||||
setup(
|
||||
app=APP,
|
||||
data_files=DATA_FILES,
|
||||
options={'py2app': OPTIONS},
|
||||
setup_requires=['py2app'],
|
||||
)
|
||||
|
||||
EXEC = 'bash ./build/macos/make_pango.sh ' + \
|
||||
'/opt/local dist/chirp-%s.app' % CHIRP_VERSION
|
||||
# print "exec string: %s" % EXEC
|
||||
os.system(EXEC)
|
||||
|
||||
|
||||
def default_build():
|
||||
try:
|
||||
from setuptools import setup
|
||||
except ImportError:
|
||||
from distutils.core import setup
|
||||
from glob import glob
|
||||
from setuptools import find_packages
|
||||
|
||||
os.system("make -C locale clean all")
|
||||
from chirp import CHIRP_VERSION
|
||||
|
||||
desktop_files = glob("share/*.desktop")
|
||||
# form_files = glob("forms/*.x?l")
|
||||
image_files = glob("images/*")
|
||||
_locale_files = glob("locale/*/LC_MESSAGES/CHIRP.mo")
|
||||
stock_configs = glob("stock_configs/*")
|
||||
|
||||
locale_files = []
|
||||
for f in _locale_files:
|
||||
locale_files.append(("share/chirp/%s" % os.path.dirname(f), [f]))
|
||||
|
||||
print("LOC: %s" % str(locale_files))
|
||||
|
||||
xsd_files = glob("chirp*.xsd")
|
||||
|
||||
setup(
|
||||
name="chirp",
|
||||
packages=["chirp", "chirp.drivers", "chirp.ui", "tests", "tests.unit",
|
||||
"chirp.wxui"],
|
||||
setup(name='chirp',
|
||||
descrption='A cross-platform cross-radio programming tool',
|
||||
packages=find_packages(),
|
||||
version=CHIRP_VERSION,
|
||||
scripts=["chirpw", "rpttool", "chirpwx.py"],
|
||||
url='https://chirp.danplanet.com',
|
||||
python_requires=">=3.3,<4",
|
||||
install_required=['wxPython', 'serial'],
|
||||
entry_points={
|
||||
'console_scripts': ["chirp=chirp.wxui:chirpmain"],
|
||||
},
|
||||
data_files=[('share/applications', desktop_files),
|
||||
('share/chirp/images', image_files),
|
||||
('share/chirp', xsd_files),
|
||||
('share/doc/chirp', ['COPYING']),
|
||||
('share/pixmaps', ['share/chirp.png']),
|
||||
('share/man/man1', ["share/chirpw.1"]),
|
||||
('share/chirp/stock_configs', stock_configs),
|
||||
] + locale_files)
|
||||
|
||||
|
||||
def nuke_manifest(*files):
|
||||
for i in ["MANIFEST", "MANIFEST.in"]:
|
||||
if os.path.exists(i):
|
||||
os.remove(i)
|
||||
|
||||
if not files:
|
||||
return
|
||||
|
||||
f = file("MANIFEST.in", "w")
|
||||
for fn in files:
|
||||
print(fn, file=f)
|
||||
f.close()
|
||||
|
||||
|
||||
if sys.platform == "darwin":
|
||||
macos_build()
|
||||
elif sys.platform == "win32":
|
||||
win32_build()
|
||||
else:
|
||||
default_build()
|
||||
])
|
||||
|
Loading…
Reference in New Issue
Block a user