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:
parent
cbcee08650
commit
2451680603
@ -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"
|
||||
'';
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user