/newsboat

An RSS/Atom feed reader for text terminals

Primary LanguageC++MIT LicenseMIT

Newsboat Travis CI Build Status Cirrus CI Build Status Coverage Status CII Best Practices

Newsboat logo

Newsboat is an RSS/Atom feed reader for the text console. It's an actively maintained fork of Newsbeuter.

Logo by noobilanderi, licensed under CC BY 4.0.

Downloading

You can download the latest version of Newsboat from the official site: https://newsboat.org/

Alternatively, you can check out the latest version from the Git repository:

$ git clone git://github.com/newsboat/newsboat.git

Dependencies

Newsboat depends on a number of libraries, which need to be installed before Newsboat can be compiled.

Developers will also need:

Installation

There are numerous ways:

  • install from your distribution's repository (a lot of distros have a package);

  • install via Snap:

    $ sudo snap install newsboat
    
  • build from source with Docker. Note that the resulting binary might not run outside of that same Docker container if your system doesn't have all the necessary libraries, or if their versions are too old;

  • build from source in a chroot: to avoid polluting your system with developer packages, or to avoid upgrading, you might use a tool like debootstrap to create an isolated environment. Once that's done, just build from source as outlined in the next item;

  • build from source.

    Install everything that's listed in the "Dependencies" section above. Make sure to install the header files as well (on Debian and derivatives, headers are in -dev packages, e.g. libsqlite3-dev.)

    Then compile and install with:

    $ make                   #  pass -jN to use N CPU cores, e.g. -j8
    $ sudo make install      #  install everything under /usr/local
    

    To install to a different directory, pass prefix like so: sudo make prefix=/opt/newsboat install.

    To uninstall, run sudo make uninstall.

Cross-compilers need to set CARGO_BUILD_TARGET; see cargo documentation.

Support

Development

Decided to work on an issue, fix a bug or add a feature? Great! Be sure to check out our style guide.

You'll probably want to run the tests; here's how:

$ make -j5 PROFILE=1 all test  # 5 is CPU cores + 1, to parallelize the build
$ (cd test && TMPDIR=/dev/shm ./test --order rand) && cargo test

Note the use of ramdisk as TMPDIR: some tests create temporary files, which slows them down if TMPDIR is on HDD or even SSD.

Newsboat can also be built in Docker.

License

Newsboat is licensed under the MIT license; see the LICENSE file.