Merge pull request #115121 from mitchmindtree/ardour-video

ardour: add a videoSupport option, harvid: init at 0.8.3, xjadeo: init at 0.8.10
This commit is contained in:
Sandro 2021-03-19 18:28:12 +01:00 committed by GitHub
commit 8fe245607d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 112 additions and 3 deletions

View File

@ -6325,6 +6325,12 @@
githubId = 1776903; githubId = 1776903;
name = "Andrew Abbott"; name = "Andrew Abbott";
}; };
mitchmindtree = {
email = "mail@mitchellnordine.com";
github = "mitchmindtree";
githubId = 4587373;
name = "Mitchell Nordine";
};
mjanczyk = { mjanczyk = {
email = "m@dragonvr.pl"; email = "m@dragonvr.pl";
github = "mjanczyk"; github = "mjanczyk";

View File

@ -16,6 +16,7 @@
, glibmm , glibmm
, graphviz , graphviz
, gtkmm2 , gtkmm2
, harvid
, itstool , itstool
, libarchive , libarchive
, libjack2 , libjack2
@ -35,6 +36,7 @@
, lilv , lilv
, lrdf , lrdf
, lv2 , lv2
, makeWrapper
, pango , pango
, perl , perl
, pkg-config , pkg-config
@ -49,6 +51,8 @@
, taglib , taglib
, vamp-plugin-sdk , vamp-plugin-sdk
, wafHook , wafHook
, xjadeo
, videoSupport ? false
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ardour"; pname = "ardour";
@ -70,6 +74,7 @@ stdenv.mkDerivation rec {
doxygen doxygen
graphviz # for dot graphviz # for dot
itstool itstool
makeWrapper
perl perl
pkg-config pkg-config
python3 python3
@ -121,7 +126,7 @@ stdenv.mkDerivation rec {
suil suil
taglib taglib
vamp-plugin-sdk vamp-plugin-sdk
]; ] ++ lib.optionals videoSupport [ harvid xjadeo ];
wafConfigureFlags = [ wafConfigureFlags = [
"--cxx11" "--cxx11"
@ -158,6 +163,10 @@ stdenv.mkDerivation rec {
"$out/share/icons/hicolor/''${size}x''${size}/apps/ardour6.png" "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour6.png"
done done
install -vDm 644 "ardour.1"* -t "$out/share/man/man1" install -vDm 644 "ardour.1"* -t "$out/share/man/man1"
'' + lib.optionalString videoSupport ''
# `harvid` and `xjadeo` must be accessible in `PATH` for video to work.
wrapProgram "$out/bin/ardour6" \
--prefix PATH : "${lib.makeBinPath [ harvid xjadeo ]}"
''; '';
LINKFLAGS = "-lpthread"; LINKFLAGS = "-lpthread";
@ -174,8 +183,8 @@ stdenv.mkDerivation rec {
https://community.ardour.org/donate https://community.ardour.org/donate
''; '';
homepage = "https://ardour.org/"; homepage = "https://ardour.org/";
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ goibhniu magnetophon ]; maintainers = with maintainers; [ goibhniu magnetophon mitchmindtree ];
}; };
} }

View File

@ -0,0 +1,42 @@
{ lib, stdenv, fetchFromGitHub, ffmpeg, libjpeg, libpng, pkg-config }:
stdenv.mkDerivation rec {
pname = "harvid";
version = "0.8.3";
src = fetchFromGitHub {
owner = "x42";
repo = "harvid";
rev = "v${version}";
sha256 = "0l1plfsfh2ixhlzg3hqqvjj42z7g422718a9kgbh7b4p882n71x7";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ ffmpeg libjpeg libpng ];
makeFlags = [ "DESTDIR=$(out)" "libdir=\"/lib\"" ];
postInstall = ''
mkdir -p $out/bin
mv $out/usr/local/bin/* $out/bin
mv $out/usr/local/share $out/
rm -r $out/usr
'';
meta = with lib; {
description =
"Decodes still images from movie files and serves them via HTTP";
longDescription = ''
harvid's intended use-case is to efficiently provide frame-accurate data
and act as second level cache for rendering the video-timeline in Ardour,
but it is not limited to that: it has applications for any task that
requires a high-performance frame-accurate online image extraction
processor.
'';
homepage = "http://x42.github.io/harvid";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ mitchmindtree ];
};
}

View File

@ -0,0 +1,48 @@
{ lib, stdenv, autoreconfHook, fetchFromGitHub, ffmpeg, freetype, libGLU
, libjack2, liblo, libX11, libXv, pkg-config, portmidi, xorg }:
stdenv.mkDerivation rec {
pname = "xjadeo";
version = "0.8.10";
src = fetchFromGitHub {
owner = "x42";
repo = "xjadeo";
rev = "v${version}";
sha256 = "0dma4cjgbrpy16x63zvfr0xss4lryl0zw7nvixvhq2f6z8day1ds";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [
ffmpeg
libjack2
libX11
xorg.libXext
xorg.libXpm
# The following are recommended in the README, but are seemingly
# unnecessary for a successful build. That said, the result of including
# these in the build process is possibly required at runtime in some cases,
# but I've not the time to test thoroughly for these cases. Should
# consider investigating and splitting these into options in the future.
freetype
libGLU
liblo
libXv
portmidi
];
meta = with lib; {
description = "The X Jack Video Monitor";
longDescription = ''
Xjadeo is a software video player that displays a video-clip in sync with
an external time source (MTC, LTC, JACK-transport). Xjadeo is useful in
soundtrack composition, video monitoring or any task that requires to
synchronizing movie frames with external events.
'';
homepage = "http://xjadeo.sourceforge.net";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ mitchmindtree ];
};
}

View File

@ -1381,6 +1381,8 @@ in
hakrawler = callPackage ../tools/security/hakrawler { }; hakrawler = callPackage ../tools/security/hakrawler { };
harvid = callPackage ../tools/video/harvid { };
hime = callPackage ../tools/inputmethods/hime {}; hime = callPackage ../tools/inputmethods/hime {};
hinit = haskell.lib.justStaticExecutables haskellPackages.hinit; hinit = haskell.lib.justStaticExecutables haskellPackages.hinit;
@ -1427,6 +1429,8 @@ in
passExtensions = recurseIntoAttrs pass.extensions; passExtensions = recurseIntoAttrs pass.extensions;
xjadeo = callPackage ../tools/video/xjadeo { };
asc-key-to-qr-code-gif = callPackage ../tools/security/asc-key-to-qr-code-gif { }; asc-key-to-qr-code-gif = callPackage ../tools/security/asc-key-to-qr-code-gif { };
go-audit = callPackage ../tools/system/go-audit { }; go-audit = callPackage ../tools/system/go-audit { };