Go to file
2017-11-13 17:37:44 +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 Changed the XDG folder from Hammond to hammond, Added make tar. 2017-11-10 14:09:05 +02:00
hammond-downloader Improved the match of mime-types to file-extensions. 2017-11-13 13:02:50 +02:00
hammond-gtk Added appdata.xml and moved .desktop into hammond-gtk/resources. 2017-11-13 17:34:16 +02:00
scripts Added make release option. 2017-11-11 14:30:29 +02:00
.gitignore NOT WORKING. Intial flatpak manifest. 2017-11-13 10:23:05 +02:00
.gitlab-ci.yml Updated .gitlab-ci.yml 2017-11-12 14:35:29 +02:00
Cargo.lock Updated rayon. 2017-11-10 11:42:11 +02:00
Cargo.toml Closed #5. Proper guessing of the file extension from the mime-type. 2017-11-10 11:35:58 +02:00
configure Updated .gitlab-ci.yml 2017-11-12 14:35:29 +02:00
CONTRIBUTING.md Updated Contributing.md and Added an achnoledment section to the Readme. 2017-11-13 11:53:38 +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 Added appdata.xml and moved .desktop into hammond-gtk/resources. 2017-11-13 17:34:16 +02:00
org.gnome.Hammond.json NOT WORKING. Intial flatpak manifest. 2017-11-13 10:23:05 +02:00
README.md README: Fix small typo 2017-11-13 11:38:10 +00:00
rustfmt.toml Completed functionality of the delete buttons. 2017-10-27 04:31:39 +03:00
TODO.md Copied the boards layout and issue temlates from GNOME TODO 2017-11-13 17:37:44 +02:00

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.

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.