diff options
author | Jan Tojnar <jtojnar@gmail.com> | 2020-09-02 07:23:21 +0200 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2020-09-02 07:25:19 +0200 |
commit | 2c152eed4cb3f2493c87f773e9115c2a49470d6e (patch) | |
tree | 4d42812609829144c6d5f78d41a647701df5606b /pkgs/applications/video/pitivi | |
parent | 34c2ad14745e98bf49d178eff21832a0c51fbda8 (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.nix | 49 |
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 = { |