This repository has been archived on 2020-04-18. You can view files and clone it, but cannot push or open issues or pull requests.
FediPotato/README.adoc

126 lines
4.3 KiB
Plaintext

= 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[]