PolyMC icon indicating copy to clipboard operation
PolyMC copied to clipboard

Clean up libraries

Open Scrumplex opened this issue 3 years ago • 9 comments

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)

Scrumplex avatar Feb 06 '22 11:02 Scrumplex

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.

CoelacanthusHex avatar Feb 14 '22 05:02 CoelacanthusHex

image I think this is where hoedown is used, the license screen parses COPYING.md

d-513 avatar Apr 23 '22 15:04 d-513

That's ...it? We can probably include that manually. It's not like that file changes much.

txtsd avatar Apr 23 '22 19:04 txtsd

Maybe somewhere else, but I only found this

d-513 avatar Apr 23 '22 19:04 d-513

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

flowln avatar Apr 23 '22 19:04 flowln

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)

Scrumplex avatar Apr 23 '22 22:04 Scrumplex

Iconfix was removed, but gamemode and murmur2 were added btw

DioEgizio avatar Jul 19 '22 06:07 DioEgizio

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

DioEgizio avatar Jul 21 '22 07:07 DioEgizio

optional-bare has been yeeted btw

DioEgizio avatar Sep 08 '22 12:09 DioEgizio