diff --git a/pkgs/applications/audio/gnome-podcasts/default.nix b/pkgs/applications/audio/gnome-podcasts/default.nix index eeafdc80344d..080debd74541 100644 --- a/pkgs/applications/audio/gnome-podcasts/default.nix +++ b/pkgs/applications/audio/gnome-podcasts/default.nix @@ -1,45 +1,74 @@ -{ stdenv, fetchurl, fetchpatch, meson, ninja, gettext, cargo, rustc, python3, pkgconfig, gnome3 -, glib, libhandy, gtk3, dbus, openssl, sqlite, gst_all_1, wrapGAppsHook }: +{ stdenv +, rustPlatform +, fetchFromGitLab +, fetchpatch +, meson +, ninja +, gettext +, cargo +, rustc +, python3 +, pkgconfig +, gnome3 +, glib +, libhandy +, gtk3 +, dbus +, openssl +, sqlite +, gst_all_1 +, wrapGAppsHook +}: -# TODO: build from git for easier updates -# rustPlatform.buildRustPackage rec { -stdenv.mkDerivation { - version = "0.4.6"; +rustPlatform.buildRustPackage rec { + version = "0.4.7"; pname = "gnome-podcasts"; - src = fetchurl { - url = https://gitlab.gnome.org/World/podcasts/uploads/e59ac5d618d7daf4c7f33ba72957c466/gnome-podcasts-0.4.6.tar.xz; - sha256 = "0g2rk3w251fp5jwbxs5ya1adv8nsgdqjy1vmfg8qqab6qyndhbrc"; + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "World"; + repo = "podcasts"; + rev = version; + sha256 = "0vy5i77bv8c22ldhrnr4z6kx22zqnb1lg3s7y8673bqjgd7dppi0"; }; - patches = [ - # podcasts-data would fail to build because it errors on warnings - (fetchpatch { - url = "https://gitlab.gnome.org/World/podcasts/commit/7dc1b25ee7fc59a188312d31b1fa00c3110ae63e.patch"; - sha256 = "03ibbh1snk1391vnni529agqs14lzg5g0axjgpf3gn8dwwh1yvd5"; - }) - ]; - - # src = fetchFromGitLab { - # domain = "gitlab.gnome.org"; - # owner = "World"; - # repo = "podcasts"; - # rev = version; - # sha256 = "15xj98dhxvys0cnya9488qsfsm0ys1wy69wkc39z8j6hwdm7byq2"; - # }; + cargoSha256 = "1h0n8zclb8a1b1ri83viiwwzlj3anm38m4cp38aqyf6q40qga35q"; nativeBuildInputs = [ - meson ninja pkgconfig gettext cargo rustc python3 wrapGAppsHook - ]; - buildInputs = [ - glib gtk3 libhandy dbus openssl sqlite gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-bad + meson + ninja + pkgconfig + gettext + cargo + rustc + python3 + wrapGAppsHook ]; - # cargoSha256 = "0721b5f700vvvzvmdl8nfjaa6j412q1fjssgrjv8n6rmn9z13d2v"; + buildInputs = [ + glib + gtk3 + libhandy + dbus + openssl + sqlite + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-bad + ]; + + # use Meson/Ninja phases + configurePhase = null; + buildPhase = null; + checkPhase = null; + installPhase = null; + + # tests require network + doCheck = false; postPatch = '' chmod +x scripts/compile-gschema.py # patchShebangs requires executable file - patchShebangs scripts/compile-gschema.py + patchShebangs scripts/compile-gschema.py scripts/cargo.sh ''; meta = with stdenv.lib; {