podcasts/README.md
2017-11-10 12:54:09 +02:00

2.8 KiB

Hammond

Multithreaded, safe, and reliable Gtk+ Podcast client.

This is a prototype of a podcast client written in Rust.

pipeline status

podcasts_view podcast_widget

The following steps assume you have a working installation of rustc and cargo. If you dont take a look at rustup.rs

Quick start:

git clone https://gitlab.gnome.org/alatiera/hammond.git
cd Hammond/
cargo run -p hammond-gtk --release

Install from soure:

git clone https://gitlab.gnome.org/alatiera/hammond.git
cd Hammond/
make
sudo make install

Additionall:

You can run sudo make uninstall for removal

And make clean to clean up the enviroment after instalation.

Flatpak:

Flatpak instructions... Soon™.

Dependancies:

  • Rust stable 1.21 or later.
  • Gtk+ 3.22 or later

Debian/Ubuntu:

apt-get update -yqq
apt-get install -yqq --no-install-recommends build-essential
apt-get install -yqq --no-install-recommends libgtk-3-dev

Fedora:

dnf install -y gtk3-devel glib2-devel openssl-devel sqlite-devel

If you happen to build it on other distributions please let me know the names of the corresponding libraries. Feel free to open a PR or an Issue to note it.

Building:

git clone https://gitlab.gnome.org/alatiera/Hammond.git
cd Hammond/
cargo build --all

Overview:

$ tree -d
├── assets              # png's used in the README.md
├── hammond-data        # Storate related stuff, Sqlite db, XDG setup.
│   ├── migrations      # Diesel migrations.
│   │   └── ... 
│   ├── src
│   └── tests
│       └── feeds       # Raw RSS Feeds used for tests.
├── hammond-downloader  # Really basic, Really crappy downloader.
│   └── src
├── hammond-gtk         # The Gtk+ Client                            
│   ├── resources       # GResources folder                                                                                         
│   │   └── gtk         # Contains the glade.ui files.
│   └── src
│       ├── views       # Currently only contains the Podcasts_view.
│       └── widgets     # Contains custom widgets such as Podcast and Episode.

Contributing:

There alot of thins to be done, take a look at TODO.md or grep for TODO: and FIXME:.

to be added: CONTRIBUTING.md

A note about the project's name:

The project was named after Allan Moore's character Evey Hammond from the graphic novel V for Vendetta.

It has nothing to do with the horrible headlines on the news.