I know that cmake has some built-in commands including tar. These would be cross platform: https://cmake.org/cmake/help/v3.2/manual/cmake.1.html
I use the tar command within cmake to download and unzip yaehmop on all platforms. The problem, though, is that it looks like you may have to add cmake as a runtime dependency with this setup, and I know you may not want to do that... Patrick On Wednesday, November 16, 2016, Geoffrey Hutchison < geoff.hutchi...@gmail.com> wrote: > Hi Marcus, > > We have considerable progress on an enhanced plugin system for Avo2. This > would potentially include the input generators and format scripts as well. > > Here's the question for debate. I have Ethan starting to work on the > plugin manager. More details are below for those interested. > > *Option 1:* He can either make a call to GitHub API to get a zip of the > release: > https://developer.github.com/v3/repos/releases/#get-the-latest-release > > Now he needs to decompress everything recursively into a user directory. > This needs code (e.g., LibArchive) as another dependency. > (Maybe Kitware already has code that handles tars or zips cross-platform?) > > *Option 2:* He writes code to recursively download all the files in a > repository directory using the GitHub API. > > *Option 3:* We add a dependency on LibGit2 > > Thoughts? Should we just add LibArchive as a third party dependency? > -Geoff > > > More Details: > People will be able to open up a "Plugin Manager" feature in Avogadro and > find new types of scripts and/or updates to their installed scripts. Each > plugin would then live in its own repository, and we can use GitHub API (or > other web API) to poll for releases. > > Plugin Repository > (example https://github.com/paulboone/avogadro-plugin- > examples/tree/scikit-nano/scikit-nano) > - plugin.json - metadata about the plugin, including user description and > list of command files > - requirements.txt - required packages (e.g., numpy for python) > .. possibly multiple commands > > This makes it fairly easy to have a plugin that uses a larger Python > package (e.g., cclib, ASE, RDKit, etc.) and offer multiple commands. > > It also means plugin authors have freedom to package extra files and dirs > in whatever layout they want. But we need to download a whole subdirectory. > > >
------------------------------------------------------------------------------
_______________________________________________ Avogadro-devel mailing list Avogadro-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/avogadro-devel