= FediPotato :showtitle: :toc: preamble :project: FediPotato :uri-base: https://schlomp.space/{project}/{project} :uri-branch-main: {uri-base}/src/branch/main :uri-wp-fediverse: https://en.wikipedia.org/wiki/Fediverse :uri-wp-mastodon: https://en.wikipedia.org/wiki/Mastodon_(software) :uri-pleroma: https://pleroma.social/ :uri-gcc: https://gcc.gnu.org/ :uri-clang: https://clang.llvm.org/ :uri-cmake: https://cmake.org/ :uri-mastodonpp: https://schlomp.space/tastytea/mastodonpp :uri-nlohmann-json: https://github.com/nlohmann/json :uri-doxygen: http://www.doxygen.nl/ :uri-catch: https://github.com/catchorg/Catch2 :uri-dpkg: https://packages.qa.debian.org/dpkg :uri-rpm-build: http://www.rpm.org :uri-clang-tidy: https://clang.llvm.org/extra/clang-tidy/ :uri-qt: https://doc.qt.io/qt-5/gettingstarted.html :uri-boost: https://www.boost.org/ *{project}* is a client for link:{uri-wp-fediverse}[Fediverse] servers. // It currently supports link:{uri-wp-mastodon}[Mastodon] and // link:{uri-pleroma}[Pleroma]. == Planned features * [ ] Get posts from: ** [ ] Mastodon & Pleroma ** [ ] Parastat ** [ ] Maybe others * [ ] Show posts in a threaded view. * [ ] Subscribing to hashtags. * [ ] Separate filtered views (timelines filtered with regular expressions). * [ ] Post posts. == Install // === Gentoo // [source,shell] // -------------------------------------------------------------------------------- // eselect repository enable tastytea // echo 'net-misc/fedipotato' >> /etc/portage/package.accept_keywords/fedipotato // emaint sync -r tastytea // emerge -a net-misc/fedipotato // -------------------------------------------------------------------------------- // === Debian and Ubuntu // We automatically generate packages for Debian buster (10) and Ubuntu bionic // (18.04), but only for x86_64 (amd64). Download them at // link:{uri-base}/releases[schlomp.space]. // [source,shell] // -------------------------------------------------------------------------------- // apt install ./fedipotato*.deb // -------------------------------------------------------------------------------- // === CentOS // We automatically generate packages for CentOS 8, but only for x86_64 // (amd64). Download them at link:{uri-base}/releases[schlomp.space]. // [source,shell] // -------------------------------------------------------------------------------- // yum install ./fedipotato*.rpm // -------------------------------------------------------------------------------- === From source ==== Dependencies * Tested OS: Linux * C\++ compiler with C++17 support (tested: link:{uri-gcc}[GCC] 7/8/9, link:{uri-clang}[clang] 6/7) * link:{uri-cmake}[CMake] (at least: 3.9) * link:{uri-mastodonpp}[mastodonpp] (at least: 0.5.4) * link:{uri-nlohmann-json}[nlohmann-json] (tested: 3.6) * link:{uri-boost}[Boost] (at least: 1.62) * link:{uri-qt}[Qt] (tested: 5.13) * Optional ** Library documentation: link:{uri-doxygen}[Doxygen] (tested: 1.8) ** Tests: link:{uri-catch}[Catch] (tested: 2.5 / 1.2) ** DEB package: link:{uri-dpkg}[dpkg] (tested: 1.19) ** RPM package: link:{uri-rpm-build}[rpm-build] (tested: 4.11) ==== Get sourcecode // ===== Release // Download the current release at link:{uri-base}/releases[schlomp.space]. ===== Development version [source,shell] -------------------------------------------------------------------------------- git clone https://schlomp.space/FediPotato/FediPotato.git -------------------------------------------------------------------------------- ==== Compile [source,shell] -------------------------------------------------------------------------------- mkdir -p build && cd build cmake .. cmake --build . -- -j$(nproc --ignore=1) -------------------------------------------------------------------------------- .CMake options: * `-DCMAKE_BUILD_TYPE=Debug` for a debug build. * `-DWITH_TESTS=YES` if you want to compile the tests. * `-DWITH_GUI=NO` to only compile and install the library. * `-DWITH_CLANG-TIDY=YES` to check the sourcecode with link:{uri-clang-tidy}[clang-tidy] while compiling. * `-WITH_DOC=YES` to generate the API documentation. * One of: ** `-DWITH_DEB=YES` if you want to be able to generate a deb-package. ** `-DWITH_RPM=YES` if you want to be able to generate an rpm-package. To create a deb or rpm package, run `make package` after compiling. include::{uri-base}/raw/branch/main/CONTRIBUTING.adoc[]