Unverified Commit a431fc0e authored by aucub's avatar aucub Committed by GitHub
Browse files

gyroflow: 1.5.4-2024-09-05 -> 1.6.0 (#362262)

parent bbc7df36
Loading
Loading
Loading
Loading
+0 −4742

File deleted.

Preview size limit exceeded, changes collapsed.

+71 −45
Original line number Diff line number Diff line
{ lib, rustPlatform, fetchFromGitHub, callPackage, makeDesktopItem
, clang, copyDesktopItems, patchelf, pkg-config, wrapQtAppsHook
, alsa-lib, bash, ffmpeg, mdk-sdk, ocl-icd, opencv, qtbase, qtdeclarative, qtsvg
{
  lib,
  rustPlatform,
  fetchFromGitHub,
  makeDesktopItem,
  clang,
  copyDesktopItems,
  patchelf,
  pkg-config,
  qt6,
  alsa-lib,
  bash,
  ffmpeg,
  mdk-sdk,
  ocl-icd,
  opencv,
}:

let
  lens-profiles = fetchFromGitHub {
    owner = "gyroflow";
    repo = "lens_profiles";
    tag = "v19";
    hash = "sha256-8R2mMqKxzoa5Sfqxs8pcfwUfo1PQKSrnM+60Ri3wiXY=";
  };
in
rustPlatform.buildRustPackage rec {
  pname = "gyroflow";
  version = "1.5.4-2024-09-05";
  version = "1.6.0";

  src = fetchFromGitHub {
    owner = "gyroflow";
    repo = "gyroflow";
    rev = "52038dedad0bd14d6af68db36a09da0243ad5455";
    hash = "sha256-EuhUF2b8YWv2eN2pcoHA0SlnyeQ8gJ5eHbXi6G4GIzk=";
    tag = "v${version}";
    hash = "sha256-Ib9GnHN23eTbd3nEwvZf3+CBSkUHycN77o3ura0Ze/0=";
  };

  cargoLock = {
    lockFile = ./Cargo.lock;
    outputHashes = {
      "ahrs-0.6.0" = "sha256-CxWyX8t+BjqIyNj1p1LdkCmNrtJkudmKgZPv0MVcghY=";
      "akaze-0.7.0" = "sha256-KkGXKoVRZZ7HUTtWYBerrN36a7RqsHjYQb+bwG1JagY=";
      "app_dirs2-2.5.5" = "sha256-nQ5Cs9r1k/3zjqXJ18Oilk8ErLKim7bGwCXDlQW4GRQ=";
      "fc-blackbox-0.2.0" = "sha256-82DuI0KuHhDVhCMUsnDqk6Fk774VpvoJ1qYFLO+n1X4=";
      "ffmpeg-next-7.0.4" = "sha256-F1N70tSxdC36uS9Bh7X2S9Wspd7bcCbGPmoMRs1cm8Y=";
      "ffmpeg-sys-next-7.0.2" = "sha256-7C46WJseKIhqXW0cQGaF8Q/xQi7sX+e8fKVrhBMVwZE=";
      "keep-awake-0.1.0" = "sha256-iZuntDkAhDZBojRgNEupAExtqOhiw4mf6XK0N6ff2Oc=";
      "mp4parse-0.17.0" = "sha256-DktX6zmQsHBlo7uLgLXcXWxKq9uisnX0R16lftWRLZY=";
      "naga-22.0.0" = "sha256-+ngomv0VyWKNDkSGVI/f5wtDyLs79qiXxtj3qNOsbFc=";
      "nshare-0.9.0" = "sha256-PAV41mMLDmhkAz4+qyf+MZnYTAdMwjk83+f+RdaJji8=";
      "qmetaobject-0.2.10" = "sha256-kEwFjDe1tYTLQ8XdjrPyYEYnjVFyYeaWUPCj5D8mg7A=";
      "qml-video-rs-0.1.0" = "sha256-8RYB+numVy7u29EYtSSdf/+cTsUMVjrcw4u5mqB7KbE=";
      "rs-sync-0.1.0" = "sha256-6xQb0CUlBDx7S7zsqNL9zfZZtkmw0cbUUXd6pOYIrXI=";
      "spirv-std-0.9.0" = "sha256-uZn1p2pM5UYQKlY9u16aafPH7dfQcSG7PaFDd1sT4Qc=";
      "system_shutdown-4.0.1" = "sha256-YypNnZzTxkmUgIxaP4jOpFBje/fEzI5L1g+3pJgMd0w=";
      "telemetry-parser-0.3.0" = "sha256-U26cWC7pSw4NFiu43BZf+KlLy9NU61iRpFx3Btse1aY=";
     };
  };
  useFetchCargoVendor = true;

  lens-profiles = callPackage ./lens-profiles.nix { };
  cargoHash = "sha256-bqBFAobXwPC4V0OYHbwmkk7shfiFt3YMGAf7F5ybLAQ=";

  nativeBuildInputs = [
    clang copyDesktopItems patchelf pkg-config rustPlatform.bindgenHook wrapQtAppsHook
    clang
    copyDesktopItems
    patchelf
    pkg-config
    rustPlatform.bindgenHook
    qt6.wrapQtAppsHook
  ];

  buildInputs = [ alsa-lib bash ffmpeg mdk-sdk ocl-icd opencv qtbase qtdeclarative qtsvg ];
  buildInputs = [
    alsa-lib
    bash
    ffmpeg
    mdk-sdk
    ocl-icd
    opencv
    qt6.qtbase
    qt6.qtdeclarative
    qt6.qtsvg
  ];

  patches = [ ./no-static-zlib.patch ];
  postPatch = ''
    substituteInPlace build.rs \
      --replace-fail 'println!("cargo:rustc-link-lib=static:+whole-archive=z")' ""
  '';

  # qml-video-rs and gyroflow assume that all Qt headers are installed
  # in a single (qtbase) directory.  Apart form QtCore and QtGui from
@@ -55,13 +73,13 @@ rustPlatform.buildRustPackage rec {
  # Additionally gyroflow needs QtQuickControls2:
  # https://github.com/gyroflow/gyroflow/blob/v1.5.4/build.rs#L173
  env.NIX_CFLAGS_COMPILE = toString [
    "-I${qtdeclarative}/include/QtQuick"
    "-I${qtdeclarative}/include/QtQuick/${qtdeclarative.version}"
    "-I${qtdeclarative}/include/QtQuick/${qtdeclarative.version}/QtQuick"
    "-I${qtdeclarative}/include/QtQml"
    "-I${qtdeclarative}/include/QtQml/${qtdeclarative.version}"
    "-I${qtdeclarative}/include/QtQml/${qtdeclarative.version}/QtQml"
    "-I${qtdeclarative}/include/QtQuickControls2"
    "-I${qt6.qtdeclarative}/include/QtQuick"
    "-I${qt6.qtdeclarative}/include/QtQuick/${qt6.qtdeclarative.version}"
    "-I${qt6.qtdeclarative}/include/QtQuick/${qt6.qtdeclarative.version}/QtQuick"
    "-I${qt6.qtdeclarative}/include/QtQml"
    "-I${qt6.qtdeclarative}/include/QtQml/${qt6.qtdeclarative.version}"
    "-I${qt6.qtdeclarative}/include/QtQml/${qt6.qtdeclarative.version}/QtQml"
    "-I${qt6.qtdeclarative}/include/QtQuickControls2"
  ];

  # FFMPEG_DIR is used by ffmpeg-sys-next/build.rs and
@@ -103,7 +121,7 @@ rustPlatform.buildRustPackage rec {
  '';

  desktopItems = [
    (makeDesktopItem (rec {
    (makeDesktopItem ({
      name = "gyroflow";
      desktopName = "Gyroflow";
      genericName = "Video stabilization using gyroscope data";
@@ -112,18 +130,26 @@ rustPlatform.buildRustPackage rec {
      exec = "gyroflow-open %u";
      terminal = false;
      mimeTypes = [ "application/x-gyroflow" ];
      categories = [ "AudioVideo" "Video" "AudioVideoEditing" "Qt" ];
      categories = [
        "AudioVideo"
        "Video"
        "AudioVideoEditing"
        "Qt"
      ];
      startupNotify = true;
      startupWMClass = "gyroflow";
      prefersNonDefaultGPU = true;
    }))
  ];

  meta = with lib; {
  meta = {
    description = "Advanced gyro-based video stabilization tool";
    homepage = "https://gyroflow.xyz/";
    license = licenses.gpl3Plus;
    maintainers = with maintainers; [ orivej ];
    homepage = "https://gyroflow.xyz";
    license = with lib.licenses; [
      gpl3Plus
      cc0
    ];
    maintainers = with lib.maintainers; [ orivej ];
    platforms = [ "x86_64-linux" ];
  };
}
+0 −19
Original line number Diff line number Diff line
{ lib, fetchFromGitHub }:

fetchFromGitHub {
  pname = "gyroflow-lens-profiles";
  version = "2024-09-08";

  owner = "gyroflow";
  repo = "lens_profiles";
  rev = "a100b233a1df242d5bf1be06df2888a5852febf3";
  hash = "sha256-z994k2lozakaKNKcdrJKzTiMGeL9oJ70jFnEYgbutq4=";

  meta = with lib; {
    description = "Lens profile database for Gyroflow";
    homepage = "https://github.com/gyroflow/lens_profiles";
    license = licenses.cc0;
    maintainers = with maintainers; [ orivej ];
    platforms = lib.platforms.all;
  };
}
+0 −6
Original line number Diff line number Diff line
diff --git a/build.rs b/build.rs
index 8ba86bf..f6f00a0 100644
--- a/build.rs
+++ b/build.rs
@@ -203 +202,0 @@ fn main() {
-            println!("cargo:rustc-link-lib=static:+whole-archive=z");
+1 −1
Original line number Diff line number Diff line
@@ -3697,7 +3697,7 @@ with pkgs;
  gvm-tools = with python3.pkgs; toPythonApplication gvm-tools;
  gyroflow = qt6Packages.callPackage ../applications/video/gyroflow { };
  gyroflow = callPackage ../applications/video/gyroflow { };
  gzip = callPackage ../tools/compression/gzip { };