podcasts/README.md
2017-11-13 13:14:35 +02:00

3.9 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

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.](irc://irc.gnome.org/#hammond)

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.21 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

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 yet to be done.

You can find start by taking a look at Issues or Opening a New one.

You may also want to take a look at TODO.md or grep the source code for TODO: and FIXME: tags.

If you want to contribute, please check the [Contributions Guidelines][contribution-guidelines]. [contribution-guidelines]: https://gitlab.gnome.org/GNOME/gnome-todo/blob/master/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.

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.