Go to file
2018-02-04 01:34:34 +02:00
.gitlab/issue_templates Update Contributing.md 2018-01-10 09:04:24 +02:00
hammond-data Add batch indexing fallback. 2018-02-03 16:02:42 +02:00
hammond-downloader Added Some to attempt.url() and removed unwrap 2018-02-02 15:41:00 +00:00
hammond-gtk Rename assets folder to screenshots, and improve the build system. 2018-02-04 01:34:34 +02:00
screenshots Rename assets folder to screenshots, and improve the build system. 2018-02-04 01:34:34 +02:00
scripts Rename assets folder to screenshots, and improve the build system. 2018-02-04 01:34:34 +02:00
.gitignore hammond-data: Rework the modules privacy. 2018-01-20 07:28:30 +02:00
.gitlab-ci.yml gitlab-ci: Disable nightly builds and clippy. 2018-01-12 00:33:58 +02:00
Cargo.lock Headerbar: Do not allow insertion of invalid urls. 2018-01-27 14:11:02 +02:00
Cargo.toml Upgraded diesel to 0.99 and switched from the git master into crated.io. 2017-12-02 01:39:28 +02:00
CHANGELOG.md Update CHANGELOG.md 2018-01-12 03:36:09 +02:00
configure Rename assets folder to screenshots, and improve the build system. 2018-02-04 01:34:34 +02:00
CONTRIBUTING.md NewEpisode: Move the parsing tests, delete old xml files. 2018-01-21 13:35:35 +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 Rename assets folder to screenshots, and improve the build system. 2018-02-04 01:34:34 +02:00
org.gnome.Hammond.json Rename assets folder to screenshots, and improve the build system. 2018-02-04 01:34:34 +02:00
README.md Rename assets folder to screenshots, and improve the build system. 2018-02-04 01:34:34 +02:00
rustfmt.toml rustfmt: enable reorder imports. 2018-01-17 08:57:02 +02:00
TODO.md hammond_data::Feed: Remove unused parts. 2018-01-16 12:35:08 +02:00

Hammond

A Podcast Client for the GNOME Desktop written in Rust.

pipeline status

Features

  • TBA

episdes_view shows_view show_widget

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

Broken Feeds

Found a feed that does not work in Hammond? Please open an issue and choose the BrokenFeed template so we will know and fix it!

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.

Note:

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

Install from soure

git clone https://gitlab.gnome.org/alatiera/hammond.git
cd Hammond/
./configure --prefix=/usr/local
make && sudo make install

Additional:

You can run sudo make uninstall for removal

And make clean to clean up the enviroment after instalation.

Flatpak

Building a Flatpak

Download the org.gnome.Hammond.json flatpak manifest from this repo.

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo # Add flathub repo
flatpak --user install flathub org.freedesktop.Sdk.Extension.rust-stable # Install the required rust-stable extension from flathub
flatpak-builder --repo=repo hammond org.gnome.Hammond.json --force-clean
flatpak build-bundle repo hammond org.gnome.Hammond

Building

Dependencies

  • 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
├── screenshots         # 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.