summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/video/pitivi
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2018-03-01 05:32:36 +0100
committerJan Tojnar <jtojnar@gmail.com>2018-04-25 15:14:17 +0200
commit4340a1582ffbd90f19e42f1480d36e17c0b515c7 (patch)
treeaa69fe93421eb0cb8fa0a4b09965cbfa179e52f7 /pkgs/applications/video/pitivi
parenta3502ba765ed5634b62d2440d342f81f68a67a8b (diff)
pitivi: 0.96 → 0.99
Diffstat (limited to 'pkgs/applications/video/pitivi')
-rw-r--r--pkgs/applications/video/pitivi/default.nix61
-rw-r--r--pkgs/applications/video/pitivi/prevent-closure-contamination.patch23
2 files changed, 63 insertions, 21 deletions
diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix
index 48074a86b552..6c92b9aeed6b 100644
--- a/pkgs/applications/video/pitivi/default.nix
+++ b/pkgs/applications/video/pitivi/default.nix
@@ -1,61 +1,80 @@
{ stdenv, fetchurl, pkgconfig, intltool, itstool, wrapGAppsHook
, python3Packages, gst, gtk3, hicolor-icon-theme
, gobjectIntrospection, librsvg, gnome3, libnotify
-# for gst-transcoder:
-, which, meson, ninja
+, meson, ninja
}:
let
- version = "0.96";
+ version = "0.99";
# 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";
+ version = "1.12.2";
+ name = "gst-transcoder-${version}";
src = fetchurl {
name = "${name}.tar.gz";
- url = "https://github.com/pitivi/gst-transcoder/archive/1.8.0.tar.gz";
- sha256 = "0iggr6idmp7cmfsf6pkhfl3jq1bkga37jl5prbcl1zapkzi26fg6";
+ url = "https://github.com/pitivi/gst-transcoder/archive/${version}.tar.gz";
+ sha256 = "0cnwmrsd321s02ff91m3j27ydj7f8wks0jvmp5admlhka6z7zxm9";
};
- nativeBuildInputs = [ pkgconfig ];
- buildInputs = [ which meson ninja gobjectIntrospection ]
- ++ (with gst; [ gstreamer gst-plugins-base ]);
+ nativeBuildInputs = [ pkgconfig meson ninja gobjectIntrospection ];
+ buildInputs = with gst; [ gstreamer gst-plugins-base ];
};
-in stdenv.mkDerivation rec {
+in python3Packages.buildPythonApplication rec {
name = "pitivi-${version}";
src = fetchurl {
- url = "mirror://gnome/sources/pitivi/${version}/${name}.tar.xz";
- sha256 = "115d37mvi32yds8gqj2yidkk6pap7szavhjf2hw0388ynydlc2zs";
+ url = "mirror://gnome/sources/pitivi/${gnome3.versionBranch version}/${name}.tar.xz";
+ sha256 = "0z4gvcr0cvyz2by47f36nqf7x2kfv9wn382w9glhs7l0d7b2zl69";
};
- nativeBuildInputs = [ pkgconfig intltool itstool wrapGAppsHook ];
+ format = "other";
+
+ patches = [
+ # By default, the build picks up environment variables like PYTHONPATH
+ # and saves them to the generated binary. This would make the build-time
+ # dependencies part of the closure so we remove it.
+ ./prevent-closure-contamination.patch
+ ];
+
+ postPatch = ''
+ patchShebangs ./getenvvar.py
+ '';
+
+ nativeBuildInputs = [ meson ninja pkgconfig intltool itstool wrapGAppsHook ];
buildInputs = [
- gobjectIntrospection gtk3 librsvg gnome3.gnome-desktop
+ gobjectIntrospection gtk3 librsvg gnome3.gnome-desktop gnome3.gsound
gnome3.defaultIconTheme
gnome3.gsettings-desktop-schemas libnotify
gst-transcoder
] ++ (with gst; [
gstreamer gst-editing-services
- gst-plugins-base gst-plugins-good
+ gst-plugins-base (gst-plugins-good.override { gtkSupport = true; })
gst-plugins-bad gst-plugins-ugly gst-libav gst-validate
- ]) ++ (with python3Packages; [
- python pygobject3 gst-python pyxdg numpy pycairo matplotlib
- dbus-python
]);
+ pythonPath = with python3Packages; [ pygobject3 gst-python pyxdg numpy pycairo matplotlib dbus-python ];
+
+ passthru = {
+ updateScript = gnome3.updateScript {
+ packageName = "pitivi";
+ versionPolicy = "none"; # we are using dev version, since the stable one is too old
+ };
+ };
+
meta = with stdenv.lib; {
description = "Non-Linear video editor utilizing the power of GStreamer";
- homepage = "http://pitivi.org/";
+ homepage = http://pitivi.org/;
longDescription = ''
Pitivi is a video editor built upon the GStreamer Editing Services.
It aims to be an intuitive and flexible application
that can appeal to newbies and professionals alike.
'';
- license = licenses.lgpl21Plus;
- platforms = platforms.linux;
+ license = licenses.lgpl21Plus;
+ maintainers = with maintainers; [];
+ platforms = platforms.linux;
};
}
diff --git a/pkgs/applications/video/pitivi/prevent-closure-contamination.patch b/pkgs/applications/video/pitivi/prevent-closure-contamination.patch
new file mode 100644
index 000000000000..0025ecd0a4cf
--- /dev/null
+++ b/pkgs/applications/video/pitivi/prevent-closure-contamination.patch
@@ -0,0 +1,23 @@
+--- a/meson.build
++++ b/meson.build
+@@ -26,15 +26,15 @@
+ geteenvvar = find_program('getenvvar.py')
+ cdata = configuration_data()
+ cdata.set('CONFIGURED_PYTHONPATH',
+- run_command(geteenvvar, 'PYTHONPATH').stdout().strip())
++ '')
+ cdata.set('CONFIGURED_GI_TYPELIB_PATH',
+- run_command(geteenvvar, 'GI_TYPELIB_PATH').stdout().strip())
++ '')
+ cdata.set('CONFIGURED_LD_LIBRARY_PATH',
+- run_command(geteenvvar, 'LD_LIBRARY_PATH').stdout().strip())
++ '')
+ cdata.set('CONFIGURED_GST_PLUGIN_PATH',
+- run_command(geteenvvar, 'GST_PLUGIN_PATH').stdout().strip())
++ '')
+ cdata.set('CONFIGURED_GST_PLUGIN_SYSTEM_PATH',
+- run_command(geteenvvar, 'GST_PLUGIN_SYSTEM_PATH').stdout().strip())
++ '')
+ cdata.set('LIBDIR', join_paths(get_option('prefix'), get_option('libdir')))
+ cdata.set('DATADIR', join_paths(get_option('prefix'), get_option('datadir')))
+ cdata.set('PACKAGE_NAME', 'Pitivi')