pitivi: 0.95 -> 0.96 (fixes startup error) (#17228)

* pitivi: 0.95 -> 0.96 (fixes startup error)

The upgrade of gtk3 to v3.20 broke pitivi, causing it to segfault after
the user closes the Welcome dialog. This release fixes that.

New dependencies: gst-transcoder and dbus.
(pitivi imports dbus if it finds the GNOME_DESKTOP_SESSION_ID
environment variable. Without dbus there will be some ugly errors for
GNOME desktop users.)

* pitivi: use wrapGAppsHook instead of makeWrapper

Allows us to remove preFixup.

* pitivi: move meta section to the end

Like most Nix package files are written.
This commit is contained in:
Bjørn Forsman 2016-07-25 06:05:55 +02:00 committed by Rok Garbas
parent cbcee08650
commit 2451680603

View File

@ -1,18 +1,51 @@
{ stdenv, fetchurl, pkgconfig, intltool, itstool, makeWrapper
{ stdenv, fetchurl, pkgconfig, intltool, itstool, wrapGAppsHook
, python3Packages, gst, gtk3, hicolor_icon_theme
, gobjectIntrospection, librsvg, gnome3, libnotify
# for gst-transcoder:
, which, meson, ninja
}:
let
version = "0.95";
version = "0.96";
# gst-transcoder will eventually be merged with gstreamer (according to
# gst-transcoder 1.8.0 release notes). For now the only user is pitivi so we
# don't bother exposing the package to all of nixpkgs.
gst-transcoder = stdenv.mkDerivation rec {
name = "gst-transcoder-1.8.0";
src = fetchurl {
name = "${name}.tar.gz";
url = "https://github.com/pitivi/gst-transcoder/archive/1.8.0.tar.gz";
sha256 = "0iggr6idmp7cmfsf6pkhfl3jq1bkga37jl5prbcl1zapkzi26fg6";
};
buildInputs = [ which meson ninja pkgconfig gobjectIntrospection ]
++ (with gst; [ gstreamer gst-plugins-base ]);
};
in stdenv.mkDerivation rec {
name = "pitivi-${version}";
src = fetchurl {
url = "mirror://gnome/sources/pitivi/${version}/${name}.tar.xz";
sha256 = "04ykw619aikhxk5wj7z44pvwl52053d1kamcxpscw0ixrh5j45az";
sha256 = "115d37mvi32yds8gqj2yidkk6pap7szavhjf2hw0388ynydlc2zs";
};
nativeBuildInputs = [ pkgconfig intltool itstool wrapGAppsHook ];
buildInputs = [
gobjectIntrospection gtk3 librsvg gnome3.gnome_desktop
gnome3.defaultIconTheme
gnome3.gsettings_desktop_schemas libnotify
gst-transcoder
] ++ (with gst; [
gstreamer gst-editing-services
gst-plugins-base gst-plugins-good
gst-plugins-bad gst-plugins-ugly gst-libav gst-validate
]) ++ (with python3Packages; [
python pygobject3 gst-python pyxdg numpy pycairo sqlite3 matplotlib
dbus
]);
meta = with stdenv.lib; {
description = "Non-Linear video editor utilizing the power of GStreamer";
homepage = "http://pitivi.org/";
@ -24,26 +57,4 @@ in stdenv.mkDerivation rec {
license = licenses.lgpl21Plus;
platforms = platforms.linux;
};
nativeBuildInputs = [ pkgconfig intltool itstool makeWrapper ];
buildInputs = [
gobjectIntrospection gtk3 librsvg gnome3.gnome_desktop
gnome3.defaultIconTheme
gnome3.gsettings_desktop_schemas libnotify
] ++ (with gst; [
gstreamer gst-editing-services
gst-plugins-base gst-plugins-good
gst-plugins-bad gst-plugins-ugly gst-libav gst-validate
]) ++ (with python3Packages; [
python pygobject3 gst-python pyxdg numpy pycairo sqlite3 matplotlib
]);
preFixup = ''
wrapProgram "$out/bin/pitivi" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share:$GSETTINGS_SCHEMAS_PATH"
'';
}