summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/video/pitivi
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2020-09-02 07:23:21 +0200
committerJan Tojnar <jtojnar@gmail.com>2020-09-02 07:25:19 +0200
commit2c152eed4cb3f2493c87f773e9115c2a49470d6e (patch)
tree4d42812609829144c6d5f78d41a647701df5606b /pkgs/applications/video/pitivi
parent34c2ad14745e98bf49d178eff21832a0c51fbda8 (diff)
pitivi: Fix build
The latest version is not compatible with Python 3.8, let's cherry-pick some patches from master. Also pre-prepare for incoming release of GStreamer 1.18.
Diffstat (limited to 'pkgs/applications/video/pitivi')
-rw-r--r--pkgs/applications/video/pitivi/default.nix49
1 files changed, 44 insertions, 5 deletions
diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix
index a2b295facad8..b1c1dd285e20 100644
--- a/pkgs/applications/video/pitivi/default.nix
+++ b/pkgs/applications/video/pitivi/default.nix
@@ -1,8 +1,9 @@
{ stdenv
, fetchFromGitHub
, fetchurl
+, fetchpatch
, pkg-config
-, intltool
+, gettext
, itstool
, python3
, wrapGAppsHook
@@ -20,9 +21,8 @@
}:
let
- # 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 was merged with gst-plugins-bad 1.18.
+ # TODO: switch to that once available.
gst-transcoder = stdenv.mkDerivation rec {
version = "1.14.1";
pname = "gst-transcoder";
@@ -61,13 +61,49 @@ in python3Packages.buildPythonApplication rec {
# 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
+
+ # Port from intltool to gettext.
+ # Needed for the following patches to apply.
+ (fetchpatch {
+ url = "https://gitlab.gnome.org/GNOME/pitivi/commit/89b1053f2516c594f414c5c67c835471bce44b67.patch";
+ sha256 = "8yhArzAtZC+WjHftcSDrstBlT8j6WlGHffU9Nj+ny+c=";
+ excludes = [ "po/POTFILES.in" ];
+ })
+
+ # Complete switching to gst-transcoder in gst-plugins-bad.
+ # Otherwise there will likely be conflics.
+ # TODO: Apply this patch once we are using gst-transcoder from gst-plugins-bad.
+ # (fetchpatch {
+ # url = "https://gitlab.gnome.org/GNOME/pitivi/commit/51ae6533ee26ffd47e453eb5f5ad8cd46f57d15e.patch";
+ # sha256 = "zxJm+E5o+oZ3lW6wYNY/ERo2g4NmCjoY8oV+uScq8j8=";
+ # })
+
+ # Generate renderer.so on macOS instead of dylib.
+ # Needed for the following patch to apply.
+ (fetchpatch {
+ url = "https://gitlab.gnome.org/GNOME/pitivi/commit/bcacadcafabf8911efb0fddc8d57329237d08cd1.patch";
+ sha256 = "2BM5acIwOgdr1L9vhtMMN4trrLuqCg/K6v6ZYtD1Fjw=";
+ postFetch = ''
+ sed -i -e "s/1.90.0.1/0.999/g" "$out"
+ '';
+ })
+ (fetchpatch {
+ url = "https://gitlab.gnome.org/GNOME/pitivi/commit/0a3cc054a2c20b59f5aaaaa307de3c9af3c0d270.patch";
+ sha256 = "6DhqRlxFWFFdLwGoFem+vPt8x7v732KMVjMF9fypMK4=";
+ postFetch = ''
+ sed "$out" -i \
+ -e "s/1.90.0.1/0.999/g" \
+ -e "s/\(-python_dep.*\)/\1\n /" \
+ -e "s/-1,9 +1,16/-1,10 +1,17/"
+ '';
+ })
];
nativeBuildInputs = [
meson
ninja
pkg-config
- intltool
+ gettext
itstool
python3
wrapGAppsHook
@@ -106,6 +142,9 @@ in python3Packages.buildPythonApplication rec {
postPatch = ''
patchShebangs ./getenvvar.py
+
+ # fetchpatch does not support renamings
+ mv data/org.pitivi.Pitivi-mime.xml data/org.pitivi.Pitivi-mime.xml.in
'';
passthru = {