podcasts/README.md
2018-01-10 09:04:24 +02:00

3.8 KiB

Hammond

Multithreaded and reliable Gtk+ Podcast client.

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

pipeline status

podcasts_view podcast_widget

Getting in Touch

If you have any questions regarding the use or development of Hammond, want to discuss design or simply hang out, please join us in #hammond on irc.gnome.org.

Sidenote:

There isn't much documentation yet, so you will probably have question about parts of the Code.

Quick start

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

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/
./configure --prefix=/usr/local
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™.

Building

Dependancies

  • Rust stable 1.22 or later.
  • Gtk+ 3.22 or later
  • Meson

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 meson

Fedora

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

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.

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

Contributing

There alot of thins yet to be done.

If you want to contribute, please check the Contributions Guidelines.

You can start by taking a look at Issues or by opening a New issue.

There are also some minor tasks tagged with TODO: and FIXME: in the source code.

Overview

$ tree -d
├── assets              # png's used in the README.md
├── hammond-data        # Storate related stuff, SQLite, XDG setup, RSS Parser.
│   ├── migrations      # Diesel SQL 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       # Contains the Empty, Episodes and Shows view.
│       └── widgets     # Contains custom widgets such as Show and Episode.

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.

Acknowledgments

Hammond's design is heavily insired by Gnome-Music and Vocal.

We also copied some elements from Gnome-news.

And almost the entirety of the build system is copied from the Fractal project.