gyroflow: 1.5.4-2024-09-05 -> 1.6.0 (#362262)
This commit is contained in:
-4742
File diff suppressed because it is too large
Load Diff
@@ -1,50 +1,68 @@
|
||||
{ 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" ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
{ 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;
|
||||
};
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
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");
|
||||
@@ -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 { };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user