I have no idea why the python community is so obsessed over breaking
things with version numbers they don't like, especially for things
that have no public interface and never need to be depended on.
Regardless, setuptools 67 breaks our test environment setup because
we don't have a compliant version number in our unreleased source
tree. So, just break setup.py's version apart from our actual version
and set it to zero. The build system stamps this to the right thing
in the distributions anyway.
This moves chirpc into a package called chirp.cli and makes setup.py
install it as a binary. This will make it available to people that
install the package and also makes it possible to add tests.
Tangentially related to #10263
This removes the legacy GTK GUI from the tree. This is not being
maintained, doesn't work very well, and I'm tired of accidentally
editing files here when I mean to edit wxui/*. When we announce the
chirp-next stuff to the users, I don't want packagers to be confused
about which version to use, what the required dependencies are, etc.
This is not something I have ever wanted, but it has been requested
plenty of times. Since wx makes this easy, this adds a super bare-
bones implementation that seems to work for me, which I think is
probably worthwhile. It doesn't handle multiple pages super elegantly,
and probably needs to have a "print selection" option, but it works.
Related to one of chirp's oldest bugs: #249
This moves the old gtk-based chirpw script into the ui module so
it is all contained. I've explained to three people in the last two
weeks why this doesn't work, so I think it's best to reduce its
visibility. I don't (even have a system to) test the gtk stuff on
and I'm pretty sure we've broken it several times lately. Until
we go for actual removal of the subdir, this will help avoid
confusion.
Data files outside the package are not installed in binary distributions, so move them inside. Use importlib_resources to load icon and stock configs.
- use only the newer files(), as_files() and namespace APIs introduced in Python 3.10
- use the importlib_resources package if Python < 3.10
- remove obviated pkg_path()
- bump minimum Python version to 3.7
Fix test paths to account for the move
We have always had this odd arrangement where we force copy stock
config files into the user's own directory and then need to be
careful to never overwrite them (but then we can't update them).
This changes our behavior to load from both locations, prioritizing
the user's configs if they exist with the same name.
This just makes setup.py more complicated and there's no reason to build
this as a separate package. Just build it as an additional script on the
main default build.
Needed for #5237
CHIRP now supports enough devices that the chirp/ directory has become
cluttered. This creates unnecessary coupling when importing all of
these modules. This patch moves all of the drivers to their own
directory and then chases down all of the stale import references.
This patch brings setup.py into conformance with PEP8 rules and removes
it from the blacklist. It also rewrites the staticify_chirp_module
routine to be more idiomatic.