Go to file
2017-11-26 00:13:51 +02:00
.gitlab/issue_templates Copied the boards layout and issue temlates from GNOME TODO 2017-11-13 17:37:44 +02:00
assets Added appdata.xml and moved .desktop into hammond-gtk/resources. 2017-11-13 17:34:16 +02:00
hammond-data Update episode rows instead of replacing them. 2017-11-26 00:13:51 +02:00
hammond-downloader Replaced pool.get().unwrap() statements with get()?. 2017-11-25 03:29:06 +02:00
hammond-gtk Fix podcast flowbox_child title label. 2017-11-25 02:00:37 +02:00
scripts Added make release option. 2017-11-11 14:30:29 +02:00
.gitignore In place update a podcast row instead of replace. 2017-11-25 18:22:56 +02:00
.gitlab-ci.yml Change the ci config. 2017-11-25 18:50:32 +02:00
Cargo.lock Added a url cleanr. Closes #4. 2017-11-20 22:06:29 +02:00
Cargo.toml Update dependancies. 2017-11-19 18:14:56 +02:00
configure Updated .gitlab-ci.yml 2017-11-12 14:35:29 +02:00
CONTRIBUTING.md Update episode rows instead of replacing them. 2017-11-26 00:13:51 +02:00
Hammond.doap Ui minor polish. 2017-10-23 04:00:32 +03:00
LICENSE Added License. 2017-09-30 22:39:31 +03:00
meson.build Kinda have copied the whole Contributing file from gnome-TODO. 2017-11-13 19:28:22 +02:00
org.gnome.Hammond.json Update dependancies. 2017-11-14 13:06:09 +02:00
README.md Move XDG global variables into their own module. 2017-11-22 21:07:21 +02:00
rustfmt.toml Added a truncate_db helper function. 2017-11-25 03:01:21 +02:00
TODO.md Updated Readme and TODO. 2017-11-16 00:40:59 +02:00

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

Call for designers

Currently there no design plans or mockups. They are highly needed in order to advance the Gtk Client.

There is the will for a complete client re-write if a someone contributes the mockups.

If you happen to be a designer and want to contribute please hope on #hammond and get in touch with us.

Contributing

There alot of thins yet to be done.

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

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

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

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.