PolyMC
PolyMC copied to clipboard
Clean up libraries
Currently we have a number of libraries under libraries/
. Maybe we can get rid of some or use alternatives. This issue tracks progress on this.
Things to figure out
- [ ] LocalPeer (BSD, derived from QtSingleApplication)
- [ ] classparser (Apache 2.0 Copyright Petr Mrázek)
- [ ] hoedown (ISC, why do we need this?)
- [x] iconfix (LGPL 2.1, maybe not needed once we bump Qt versions, See #127 or #90)
- [x] javacheck (this code is so trivial, I think we can keep it :D)
- [ ] Katabasis (MIT, fork of https://github.com/pipacs/o2)
- [x] launcher (MMC/PMC specific, might need some refactoring still)
- [ ] libnbtplusplus (LGPL 3.0, why was this forked by MMC?)
- [x] optional-bare (Boost 1.0, Maybe we can just move to C++17?)
- [x] QuaZip (already dealt with see #92)
- [ ] rainbow (LGPL 2.1, extracted from KGUIAddonns)
- [ ] systeminfo (Apache 2.0 Copyright Petr Mrázek, maybe we can use Qt for this?)
- [x] tomlc99 (MIT, We could use https://github.com/marzer/tomlplusplus, but need to bump to C++17)
- [ ] xz-embedded (Public domain)
https://github.com/itay-grudev/SingleApplication may be a possible replacement for LocalPeer, but I'm not sure how much LocalPeer modifies from QtSingleapplication. If PloyMC just uses it to implement singleton pattern or instance management, it will be a good choice.
I think this is where hoedown is used, the license screen parses COPYING.md
That's ...it? We can probably include that manually. It's not like that file changes much.
Maybe somewhere else, but I only found this
HoeDown seems to also be used in the FTB modpack selection for displaying the description (not on the legacy one though), as well as in the launcher update dialog (for parsing the changelog). Neither of these i think strictly require having a full-blown markdown parser though, the update dialog we're not using currently, and the FTB one I think we can just make it like the other modpack providers and just display raw text
Maybe we don't need to throw out this functionality, but rather just switch to an alternative that we can dynamically link against. Like discount which seems to be widely available (various Linux distros, Homebrew and MSYS2 MinGW)
Iconfix was removed, but gamemode and murmur2 were added btw
Maybe we don't need to throw out this functionality, but rather just switch to an alternative that we can dynamically link against. Like discount which seems to be widely available (various Linux distros, Homebrew and MSYS2 MinGW)
Btw we won't need any markdown parser if we bump to Qt 5.14/5.15 since https://doc.qt.io/qt-6/qtextdocument.html#setMarkdown
optional-bare has been yeeted btw