Go to file
Jordan Petridis 5631caad36
Gitlab: Fix the bug issue template
Forgot to change this when it was copied from nautilus.
2018-08-14 14:23:35 +03:00
.gitlab Gitlab: Fix the bug issue template 2018-08-14 14:23:35 +03:00
podcasts-data Fix the test-suite 2018-08-14 13:40:37 +03:00
podcasts-downloader Source: Remove ignore_etags option 2018-08-14 13:40:33 +03:00
podcasts-gtk ShowWidget: Change description wrap mode 2018-08-14 13:59:42 +03:00
screenshots Appdata: Fix screenshots metadata. 2018-07-27 00:42:54 +03:00
scripts Fix the test-suite 2018-08-14 13:40:37 +03:00
.gitignore Translation support and initial spanish translation 2018-08-02 15:24:19 +02:00
.gitlab-ci.yml CI: Do not spin up review enviorment for tags 2018-08-14 14:11:16 +03:00
Cargo.lock ShowWidget: Initial prototype w/ libhandy::Column 2018-08-10 13:47:59 +03:00
Cargo.toml Initial massive renaming. 2018-07-25 03:26:35 +03:00
CHANGELOG.md Version bump. 2018-07-31 00:31:44 +03:00
CONTRIBUTING.md Replace links again 2018-07-26 07:41:43 +03:00
LICENSE Initial massive renaming. 2018-07-25 03:26:35 +03:00
meson.build Translation support and initial spanish translation 2018-08-02 15:24:19 +02:00
org.gnome.Podcasts.json ShowWidget: Initial prototype w/ libhandy::Column 2018-08-10 13:47:59 +03:00
podcasts.doap Update podcasts.doap 2018-07-26 21:13:04 +00:00
README.md Fix some typos in README.md 2018-08-05 11:32:42 +03:00
rustfmt.toml cargo fmt 2018-05-30 16:25:15 +03:00
TODO.md Update the Changelog. 2018-06-05 14:58:29 +03:00

GNOME Podcasts

A Podcast application for GNOME.

Listen to your favorite podcasts, right from your desktop.

episdes_view shows_view show_widget

Available from Flathub

Install by clicking and opening this with GNOME Software

Command line options:

Make sure to follow the setup guide before installing

Install:

flatpak install flathub org.gnome.Podcasts

Run:

flatpak run org.gnome.Podcasts

Quick start

GNOME Podcasts can be built and run with Gnome Builder >= 3.28.

You can get Builder from here.

Broken Feeds

Found a feed that does not work in GNOME Podcasts? 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 GNOME Podcasts, want to discuss design or simply hang out, please join us on our irc or matrix channel.

Building

Flatpak

Flatpak is the recommended way of building and installing GNOME Podcasts.

Building a Flatpak

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

# Add flathub repo
flatpak --user remote-add flathub --if-not-exists https://dl.flathub.org/repo/flathub.flatpakrepo
# Add the gnome-nightly repo
flatpak --user remote-add gnome-nightly --if-not-exists https://sdk.gnome.org/gnome-nightly.flatpakrepo
# Install the gnome-nightly Sdk and Platform runtim
flatpak --user install gnome-nightly org.gnome.Sdk org.gnome.Platform
# Install the required rust-stable extension from flathub
flatpak --user install flathub org.freedesktop.Sdk.Extension.rust-stable
flatpak-builder --user --repo=repo podcasts org.gnome.Podcasts.json --force-clean

To install the resulting flatpak you can do:

flatpak build-bundle repo gnome-podcasts.flatpak org.gnome.Podcasts
flatpak install --user --bundle gnome-podcasts.flatpak

Building from source

git clone https://gitlab.gnome.org/World/podcasts.git
cd gnome-podcasts/
meson --prefix=/usr build
ninja -C build
sudo ninja -C build install

Dependencies

  • Rust stable 1.27 or later along with cargo.
  • Gtk+ 3.22 or later
  • Gstreamer 1.12 or later
  • Meson
  • A network connection

Offline build are possible too, but cargo-vendor would have to be setup first

Debian/Ubuntu

apt-get install -yqq cargo rustc libsqlite3-dev libssl-dev libgtk-3-dev meson \
        libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
        gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
        gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \
        gstreamer1.0-libav libgstrtspserver-1.0-dev ibgstreamer-plugins-bad1.0-dev

Fedora

dnf install -y rust cargo gtk3-devel glib2-devel openssl-devel sqlite-devel meson \
    gstreamer1-devel gstreamer1-plugins-base-tools gstreamer1-devel-docs \
    gstreamer1-plugins-base-devel gstreamer1-plugins-base-devel-docs \
    gstreamer1-plugins-good gstreamer1-plugins-good-extras \
    gstreamer1-plugins-bad-free gstreamer1-plugins-bad-free-devel \
    gstreamer1-plugins-bad-free-extras

If you happen to build it on other distributions please let me know the names of the corresponding libraries. Feel free to open a MR or an Issue to note it.

Contributing

There are a lot of things 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.

Translations

If you want to add a new language you should update the file podcasts-gtk/po/LINUGAS and add the new lang to the list.

To generate .pot files you should run:

ninja -C _build gnome-podcasts-pot

To generate .po files you should run:

ninja -C _build gnome-podcasts-update-po

Overview

$ tree -d
├── screenshots         # png's used in the README.md
├── podcasts-data        # Storate related stuff, SQLite, XDG setup, RSS Parser.
│   ├── migrations      # Diesel SQL migrations.
│   │   └── ...
│   ├── src
│   └── tests
│       └── feeds       # Raw RSS Feeds used for tests.
├── podcasts-downloader  # Really basic, Really crappy downloader.
│   └── src
├── podcasts-gtk         # The Gtk+ Client
│   ├── resources       # GResources folder
│   │   └── gtk         # Contains the glade.ui files.
│   └── src
│       ├── stacks      # Contains the gtk Stacks that hold all the different views.
│       └── widgets     # Contains custom widgets such as Show and Episode.

A note about the project's name

The project used to be called Hammond, after Allan Moore's character Evey Hammond from the graphic novel V for Vendetta. It was renamed to GNOME Podcasts on 2018/07/24 shortly before its first public release.

Acknowledgments

GNOME Podcasts's design is heavily inspired 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.