uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
50
pkgs/tools/video/atomicparsley/default.nix
Normal file
50
pkgs/tools/video/atomicparsley/default.nix
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, zlib, Cocoa }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "atomicparsley";
|
||||
version = "20210715.151551.e7ad03a";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wez";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-77yWwfdEul4uLsUNX1dLwj8K0ilcuBaTVKMyXDvKVx4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ zlib ]
|
||||
++ lib.optionals stdenv.isDarwin [ Cocoa ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -D AtomicParsley $out/bin/AtomicParsley
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs tests/test.sh
|
||||
'';
|
||||
|
||||
# copying files so that we dont need to patch the test.sh
|
||||
checkPhase = ''
|
||||
(
|
||||
cp AtomicParsley ../tests
|
||||
cd ../tests
|
||||
mkdir tests
|
||||
mv *.mp4 tests
|
||||
./test.sh
|
||||
)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A CLI program for reading, parsing and setting metadata into MPEG-4 files";
|
||||
homepage = "https://github.com/wez/atomicparsley";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ pjones ];
|
||||
mainProgram = "AtomicParsley";
|
||||
};
|
||||
}
|
||||
39
pkgs/tools/video/bento4/default.nix
Normal file
39
pkgs/tools/video/bento4/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ lib, stdenv, fetchFromGitHub
|
||||
, cmake
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bento4";
|
||||
version = "1.6.0-639";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "axiomatic-systems";
|
||||
repo = "Bento4";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Rfmyjsgn/dcIplRtPFb5AfBxWOKmP6w8IHykgVxVNsQ=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./libap4.patch # include all libraries as shared, not static
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/{lib,bin}
|
||||
find -iname '*.so' -exec mv --target-directory="$out/lib" {} \;
|
||||
find -maxdepth 1 -executable -type f -exec mv --target-directory="$out/bin" {} \;
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Full-featured MP4 format and MPEG DASH library and tools";
|
||||
homepage = "http://bento4.com";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ makefu ];
|
||||
broken = stdenv.isAarch64;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
5
pkgs/tools/video/bento4/libap4.patch
Normal file
5
pkgs/tools/video/bento4/libap4.patch
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -36 +36 @@ endif()
|
||||
-add_library(ap4 STATIC ${AP4_SOURCES})
|
||||
+add_library(ap4 ${AP4_SOURCES})
|
||||
40
pkgs/tools/video/dvgrab/default.nix
Normal file
40
pkgs/tools/video/dvgrab/default.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ fetchFromGitHub, lib, stdenv, libunwind, libraw1394, libjpeg, libiec61883, libdv
|
||||
, libavc1394, pkg-config, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "dvgrab";
|
||||
version = "2016-05-16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
# mirror of original project with some build fixes
|
||||
owner = "ddennedy";
|
||||
repo = "dvgrab";
|
||||
rev = "e46042e0c7b3523b6854ee547b0534e8310b7460";
|
||||
sha256 = "17qy76fjpzrbxm4pj0ljx5lbimxryv24fvr13jwkh24j85dxailn";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
libunwind libraw1394 libjpeg libiec61883 libdv libavc1394
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook pkg-config
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Receive and store audio & video over IEEE1394";
|
||||
|
||||
longDescription = ''
|
||||
dvgrab receives audio and video data from a digital camcorder via an
|
||||
IEEE1394 (widely known as FireWire) or USB link and stores them into
|
||||
one of several file formats. It features autosplit of long video
|
||||
sequences, and supports saving the data as raw frames, AVI type 1,
|
||||
AVI type 2, Quicktime DV, a series of JPEG stills or MPEG2-TS.
|
||||
'';
|
||||
|
||||
homepage = "https://github.com/ddennedy/dvgrab"; # Formerly http://www.kinodv.org/
|
||||
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.gnu ++ platforms.linux;
|
||||
};
|
||||
}
|
||||
38
pkgs/tools/video/gopro/default.nix
Normal file
38
pkgs/tools/video/gopro/default.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{ lib, stdenv, fetchFromGitHub
|
||||
, ffmpeg
|
||||
, imagemagick
|
||||
, makeWrapper
|
||||
, mplayer
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gopro";
|
||||
version = "1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KonradIT";
|
||||
repo = "gopro-linux";
|
||||
rev = version;
|
||||
sha256 = "0sb9vpiadrq8g4ag828h8mvq01fg0306j0wjwkxdmwfqync1128l";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 gopro -t $out/bin
|
||||
wrapProgram $out/bin/gopro \
|
||||
--prefix PATH ":" "${lib.makeBinPath [ ffmpeg imagemagick mplayer ]}"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command line interface for processing media filmed on GoPro HERO 3, 4, 5, 6, and 7 cameras";
|
||||
homepage = "https://github.com/KonradIT/gopro-linux";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ jonringer ];
|
||||
};
|
||||
}
|
||||
42
pkgs/tools/video/harvid/default.nix
Normal file
42
pkgs/tools/video/harvid/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ lib, stdenv, fetchFromGitHub, ffmpeg, libjpeg, libpng, pkg-config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "harvid";
|
||||
version = "0.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "x42";
|
||||
repo = "harvid";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-qt6aep7iMF8/lnlT2wLqu6LkFDqzdfsGLZvrOlXttG8=";
|
||||
};
|
||||
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
42
pkgs/tools/video/mjpegtools/default.nix
Normal file
42
pkgs/tools/video/mjpegtools/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ stdenv, lib, fetchurl, gtk2, libdv, libjpeg, libpng, libX11, pkg-config, SDL, SDL_gfx
|
||||
, withMinimal ? true
|
||||
}:
|
||||
|
||||
# TODO:
|
||||
# - make dependencies optional
|
||||
# - libpng-apng as alternative to libpng?
|
||||
# - libXxf86dga support? checking for XF86DGAQueryExtension in -lXxf86dga... no
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mjpegtools";
|
||||
version = "2.2.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/mjpeg/mjpegtools-${version}.tar.gz";
|
||||
sha256 = "sha256-sYBTbX2ZYLBeACOhl7ANyxAJKaSaq3HRnVX0obIQ9Jo=";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ libdv libjpeg libpng ]
|
||||
++ lib.optionals (!withMinimal) [ gtk2 libX11 SDL SDL_gfx ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString (!withMinimal) "-I${lib.getDev SDL}/include/SDL";
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e '/ARCHFLAGS=/s:=.*:=:' configure
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
outputs = [ "out" "lib" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A suite of programs for processing MPEG or MJPEG video";
|
||||
homepage = "http://mjpeg.sourceforge.net/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
};
|
||||
}
|
||||
35
pkgs/tools/video/play-with-mpv/default.nix
Normal file
35
pkgs/tools/video/play-with-mpv/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ lib, python3Packages, fetchFromGitHub, fetchurl, youtube-dl, git }:
|
||||
|
||||
let
|
||||
install_freedesktop = fetchurl {
|
||||
url = "https://github.com/thann/install_freedesktop/tarball/2673e8da4a67bee0ffc52a0ea381a541b4becdd4";
|
||||
sha256 = "0j8d5jdcyqbl5p6sc1ags86v3hr2sghmqqi99d1mvc064g90ckrv";
|
||||
};
|
||||
in
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "play-with-mpv";
|
||||
version = "unstable-2020-05-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "thann";
|
||||
repo = "play-with-mpv";
|
||||
rev = "656448e03fe9de9e8bd21959f2a3b47c4acb8c3e";
|
||||
sha256 = "1qma8b3lnkdhxdjsnrq7n9zgy53q62j4naaqqs07kjxbn72zb4p4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ git ];
|
||||
propagatedBuildInputs = [ youtube-dl ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py --replace \
|
||||
'"https://github.com/thann/install_freedesktop/tarball/master#egg=install_freedesktop-0.2.0"' \
|
||||
'"file://${install_freedesktop}#egg=install_freedesktop-0.2.0"'
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Chrome extension and python server that allows you to play videos in webpages with MPV instead";
|
||||
homepage = "https://github.com/Thann/play-with-mpv";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ dawidsowa ];
|
||||
};
|
||||
}
|
||||
42
pkgs/tools/video/rav1e/default.nix
Normal file
42
pkgs/tools/video/rav1e/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ lib, rust, stdenv, rustPlatform, fetchCrate, nasm, cargo-c, libiconv }:
|
||||
|
||||
let
|
||||
rustTargetPlatformSpec = rust.toRustTargetSpec stdenv.hostPlatform;
|
||||
in rustPlatform.buildRustPackage rec {
|
||||
pname = "rav1e";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-v2i/dMWos+nB3cRDOkROSOPb1ONRosbmp9RDZI2DLeI=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-V9QbztkFj3t5yBV+yySysDy3Q6IUY4gNzBL8h23aEg4=";
|
||||
|
||||
nativeBuildInputs = [ nasm cargo-c ];
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
|
||||
|
||||
checkType = "debug";
|
||||
|
||||
postBuild = ''
|
||||
cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${rustTargetPlatformSpec}
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${rustTargetPlatformSpec}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "The fastest and safest AV1 encoder";
|
||||
longDescription = ''
|
||||
rav1e is an AV1 video encoder. It is designed to eventually cover all use
|
||||
cases, though in its current form it is most suitable for cases where
|
||||
libaom (the reference encoder) is too slow.
|
||||
Features: https://github.com/xiph/rav1e#features
|
||||
'';
|
||||
homepage = "https://github.com/xiph/rav1e";
|
||||
changelog = "https://github.com/xiph/rav1e/releases/tag/v${version}";
|
||||
license = licenses.bsd2;
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
62
pkgs/tools/video/replay-sorcery/default.nix
Normal file
62
pkgs/tools/video/replay-sorcery/default.nix
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, substituteAll
|
||||
, cmake
|
||||
, pkg-config
|
||||
, ffmpeg
|
||||
, libX11
|
||||
, drmSupport ? true, libdrm
|
||||
, notifySupport ? true, libnotify
|
||||
, pulseaudioSupport ? true, libpulseaudio
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "replay-sorcery";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "matanui159";
|
||||
repo = "ReplaySorcery";
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-HPkSOwfwcg4jLUzKfqdXgLu7mgD5H4wb9d2BrqWQeHc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Use global config generated by NixOS (/etc/replay-sorcery.conf)
|
||||
# instead of $out/etc/replay-sorcery.conf.
|
||||
./fix-global-config.patch
|
||||
] ++ lib.optional notifySupport (substituteAll {
|
||||
# Patch in libnotify if support is enabled. Can't use makeWrapper
|
||||
# since it would break the security wrapper in the NixOS module.
|
||||
src = ./hardcode-libnotify.patch;
|
||||
inherit libnotify;
|
||||
});
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [ ffmpeg libX11 ]
|
||||
++ lib.optional drmSupport libdrm
|
||||
++ lib.optional pulseaudioSupport libpulseaudio;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DRS_SYSTEMD_DIR=${placeholder "out"}/lib/systemd/user"
|
||||
|
||||
# SETUID & SETGID permissions required for hardware accelerated
|
||||
# video capture can't be set during the build. Use the NixOS
|
||||
# module if you want hardware accelerated video capture.
|
||||
"-DRS_SETID=OFF"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "An open-source, instant-replay solution for Linux";
|
||||
homepage = "https://github.com/matanui159/ReplaySorcery";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ kira-bruneau ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
13
pkgs/tools/video/replay-sorcery/fix-global-config.patch
Normal file
13
pkgs/tools/video/replay-sorcery/fix-global-config.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/src/rsbuild.h.in b/src/rsbuild.h.in
|
||||
index ff0a0f6..5529556 100644
|
||||
--- a/src/rsbuild.h.in
|
||||
+++ b/src/rsbuild.h.in
|
||||
@@ -20,7 +20,7 @@
|
||||
#ifndef RS_BUILD_H
|
||||
#define RS_BUILD_H
|
||||
|
||||
-#define RS_BUILD_GLOBAL_CONFIG "@CMAKE_INSTALL_PREFIX@/etc/replay-sorcery.conf"
|
||||
+#define RS_BUILD_GLOBAL_CONFIG "/etc/replay-sorcery.conf"
|
||||
#define RS_BUILD_LOCAL_CONFIG "%s/.config/replay-sorcery.conf"
|
||||
|
||||
#cmakedefine RS_BUILD_PTHREAD_FOUND
|
||||
25
pkgs/tools/video/replay-sorcery/hardcode-libnotify.patch
Normal file
25
pkgs/tools/video/replay-sorcery/hardcode-libnotify.patch
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
diff --git a/src/config.c b/src/config.c
|
||||
index 3af7455..12cb6b5 100644
|
||||
--- a/src/config.c
|
||||
+++ b/src/config.c
|
||||
@@ -129,7 +129,7 @@ static const AVOption configOptions[] = {
|
||||
CONFIG_CONST(alt, RS_CONFIG_KEYMOD_ALT, keyMods),
|
||||
CONFIG_CONST(super, RS_CONFIG_KEYMOD_SUPER, keyMods),
|
||||
CONFIG_STRING(outputFile, "~/Videos/ReplaySorcery_%F_%H-%M-%S.mp4"),
|
||||
- CONFIG_STRING(outputCommand, "notify-send " RS_NAME " \"Saved replay as %s\""),
|
||||
+ CONFIG_STRING(outputCommand, "@libnotify@/bin/notify-send " RS_NAME " \"Saved replay as %s\""),
|
||||
{NULL}};
|
||||
|
||||
static const AVClass configClass = {
|
||||
diff --git a/sys/replay-sorcery.conf b/sys/replay-sorcery.conf
|
||||
index 5cd0aa6..c600e7f 100644
|
||||
--- a/sys/replay-sorcery.conf
|
||||
+++ b/sys/replay-sorcery.conf
|
||||
@@ -123,5 +123,5 @@ outputFile = ~/Videos/ReplaySorcery_%F_%H-%M-%S.mp4
|
||||
|
||||
# A command to run when a video is successfully saved
|
||||
# Possible values: a printf formatted command
|
||||
-# Default value: notify-send ReplaySorcery "Saved replay as %s"
|
||||
-outputCommand = notify-send ReplaySorcery "Saved replay as %s"
|
||||
+# Default value: @libnotify@/bin/notify-send ReplaySorcery "Saved replay as %s"
|
||||
+outputCommand = @libnotify@/bin/notify-send ReplaySorcery "Saved replay as %s"
|
||||
59
pkgs/tools/video/rtmpdump/default.nix
Normal file
59
pkgs/tools/video/rtmpdump/default.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchgit
|
||||
, fetchpatch
|
||||
, zlib
|
||||
, gnutlsSupport ? false
|
||||
, gnutls
|
||||
, nettle
|
||||
, opensslSupport ? true
|
||||
, openssl
|
||||
}:
|
||||
|
||||
assert (gnutlsSupport || opensslSupport);
|
||||
|
||||
with lib;
|
||||
stdenv.mkDerivation {
|
||||
pname = "rtmpdump";
|
||||
version = "unstable-2019-03-30";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://git.ffmpeg.org/rtmpdump";
|
||||
# Currently the latest commit is used (a release has not been made since 2011, i.e. '2.4')
|
||||
rev = "c5f04a58fc2aeea6296ca7c44ee4734c18401aa3";
|
||||
sha256 = "07ias612jgmxpam9h418kvlag32da914jsnjsfyafklpnh8gdzjb";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix build with OpenSSL 1.1
|
||||
(fetchpatch {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-video/rtmpdump/files/rtmpdump-openssl-1.1.patch?id=1e7bef484f96e7647f5f0911d3c8caa48131c33b";
|
||||
sha256 = "1wds98pk8qr7shkfl8k49iirxiwd972h18w84bamiqln29wv6ql1";
|
||||
})
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"prefix=$(out)"
|
||||
"CROSS_COMPILE=${stdenv.cc.targetPrefix}"
|
||||
]
|
||||
++ optional gnutlsSupport "CRYPTO=GNUTLS"
|
||||
++ optional opensslSupport "CRYPTO=OPENSSL"
|
||||
++ optional stdenv.isDarwin "SYS=darwin"
|
||||
++ optional stdenv.cc.isClang "CC=clang";
|
||||
|
||||
propagatedBuildInputs = [ zlib ]
|
||||
++ optionals gnutlsSupport [ gnutls nettle ]
|
||||
++ optional opensslSupport openssl;
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
meta = {
|
||||
description = "Toolkit for RTMP streams";
|
||||
homepage = "https://rtmpdump.mplayerhq.hu/";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ codyopel ];
|
||||
};
|
||||
}
|
||||
36
pkgs/tools/video/svt-av1/default.nix
Normal file
36
pkgs/tools/video/svt-av1/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib, stdenv, fetchFromGitLab, cmake, nasm }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "svt-av1";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "AOMediaCodec";
|
||||
repo = "SVT-AV1";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-M5ErWB/klVijsF+GysR0b3m180h+O+10weKr1pTh8ow=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake nasm ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "AV1-compliant encoder/decoder library core";
|
||||
longDescription = ''
|
||||
The Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder) is an
|
||||
AV1-compliant encoder/decoder library core. The SVT-AV1 encoder
|
||||
development is a work-in-progress targeting performance levels applicable
|
||||
to both VOD and Live encoding / transcoding video applications. The
|
||||
SVT-AV1 decoder implementation is targeting future codec research
|
||||
activities.
|
||||
'';
|
||||
inherit (src.meta) homepage;
|
||||
changelog = "https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/v${version}/CHANGELOG.md";
|
||||
license = with licenses; [
|
||||
aom
|
||||
bsd3
|
||||
];
|
||||
platforms = platforms.unix;
|
||||
broken = stdenv.isAarch64; # undefined reference to `cpuinfo_arm_linux_init'
|
||||
maintainers = with maintainers; [ Madouura ];
|
||||
};
|
||||
}
|
||||
26
pkgs/tools/video/swfmill/default.nix
Normal file
26
pkgs/tools/video/swfmill/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, stdenv, fetchurl
|
||||
, pkg-config, libxslt, freetype, libpng, libxml2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "swfmill";
|
||||
version = "0.3.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://swfmill.org/releases/swfmill-${version}.tar.gz";
|
||||
sha256 = "15mcpql448vvgsbxs7wd0vdk1ln6rdcpnif6i2zjm5l4xng55s7r";
|
||||
};
|
||||
|
||||
# Fixes build with GCC 6
|
||||
NIX_CFLAGS_COMPILE = "-std=c++03";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ libxslt freetype libpng libxml2 ];
|
||||
|
||||
meta = {
|
||||
description = "An xml2swf and swf2xml processor with import functionalities";
|
||||
homepage = "http://swfmill.org";
|
||||
license = lib.licenses.gpl2;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
39
pkgs/tools/video/swftools/default.nix
Normal file
39
pkgs/tools/video/swftools/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ lib, stdenv, fetchurl, freetype, libjpeg, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "swftools";
|
||||
version = "0.9.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.swftools.org/${pname}-${version}.tar.gz";
|
||||
sha256 = "1w81dyi81019a6jmnm5z7fzarswng27lg1d4k4d5llxzqszr2s5z";
|
||||
};
|
||||
|
||||
patches = [ ./swftools.patch ];
|
||||
|
||||
buildInputs = [ freetype libjpeg zlib ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Collection of SWF manipulation and creation utilities";
|
||||
homepage = "http://www.swftools.org/about.html";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = [ maintainers.koral ];
|
||||
platforms = lib.platforms.unix;
|
||||
knownVulnerabilities = [
|
||||
"CVE-2017-10976"
|
||||
"CVE-2017-11096"
|
||||
"CVE-2017-11097"
|
||||
"CVE-2017-11098"
|
||||
"CVE-2017-11099"
|
||||
"CVE-2017-11100"
|
||||
"CVE-2017-11101"
|
||||
"CVE-2017-16711"
|
||||
"CVE-2017-16793"
|
||||
"CVE-2017-16794"
|
||||
"CVE-2017-16796"
|
||||
"CVE-2017-16797"
|
||||
"CVE-2017-16868"
|
||||
"CVE-2017-16890"
|
||||
];
|
||||
};
|
||||
}
|
||||
17
pkgs/tools/video/swftools/swftools.patch
Normal file
17
pkgs/tools/video/swftools/swftools.patch
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
--- a/swfs/Makefile.in.orig
|
||||
+++ b/swfs/Makefile.in
|
||||
@@ -41,10 +41,10 @@ install:
|
||||
$(INSTALL_DATA) ./PreLoaderTemplate.swf $(pkgdatadir)/swfs/PreLoaderTemplate.swf
|
||||
$(INSTALL_DATA) ./tessel_loader.swf $(pkgdatadir)/swfs/tessel_loader.swf
|
||||
$(INSTALL_DATA) ./swft_loader.swf $(pkgdatadir)/swfs/swft_loader.swf
|
||||
- rm -f $(pkgdatadir)/swfs/default_viewer.swf -o -L $(pkgdatadir)/swfs/default_viewer.swf
|
||||
- $(LN_S) $(pkgdatadir)/swfs/simple_viewer.swf $(pkgdatadir)/swfs/default_viewer.swf
|
||||
- rm -f $(pkgdatadir)/swfs/default_loader.swf -o -L $(pkgdatadir)/swfs/default_loader.swf
|
||||
- $(LN_S) $(pkgdatadir)/swfs/tessel_loader.swf $(pkgdatadir)/swfs/default_loader.swf
|
||||
+ rm -f $(pkgdatadir)/swfs/default_viewer.swf # -o -L $(pkgdatadir)/swfs/default_viewer.swf
|
||||
+ $(LN_S) $(pkgdatadir)/swfs/simple_viewer.swf $(pkgdatadir)/swfs/default_viewer.swf
|
||||
+ rm -f $(pkgdatadir)/swfs/default_loader.swf # -o -L $(pkgdatadir)/swfs/default_loader.swf
|
||||
+ $(LN_S) $(pkgdatadir)/swfs/tessel_loader.swf $(pkgdatadir)/swfs/default_loader.swf
|
||||
|
||||
uninstall:
|
||||
$(UNINSTALL_DATA) $(pkgdatadir)/swfs/simple_viewer.swf
|
||||
37
pkgs/tools/video/untrunc-anthwlock/default.nix
Normal file
37
pkgs/tools/video/untrunc-anthwlock/default.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{ lib, stdenv, fetchFromGitHub, ffmpeg, libui }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "untrunc-anthwlock";
|
||||
version = "2020.07.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anthwlock";
|
||||
repo = "untrunc";
|
||||
rev = "a0bf2e8642ecdb7af5897ed9b0dd30a7d03520ae";
|
||||
sha256 = "14i2lq68q990hnm2kkfamlsi67bcml85zl8yjsyxc5h8ncc2f3dp";
|
||||
};
|
||||
|
||||
|
||||
buildInputs = [ ffmpeg libui ];
|
||||
|
||||
postBuild = ''
|
||||
make untrunc-gui
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -D -t $out/bin untrunc untrunc-gui
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
broken = stdenv.isDarwin;
|
||||
description = "Restore a truncated mp4/mov (improved version of ponchio/untrunc)";
|
||||
homepage = "https://github.com/anthwlock/untrunc";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
||||
31
pkgs/tools/video/vcsi/default.nix
Normal file
31
pkgs/tools/video/vcsi/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ lib, python3Packages, ffmpeg }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "vcsi";
|
||||
version = "7.0.13";
|
||||
|
||||
src = python3Packages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "01qwbb2l8gwf622zzhh0kzdzw3njvsdwmndwn01i9bn4qm5cas8r";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
numpy
|
||||
pillow
|
||||
jinja2
|
||||
texttable
|
||||
parsedatetime
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
pythonImportsCheck = [ "vcsi" ];
|
||||
|
||||
makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ ffmpeg ]}" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Create video contact sheets";
|
||||
homepage = "https://github.com/amietn/vcsi";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ dandellion ];
|
||||
};
|
||||
}
|
||||
34
pkgs/tools/video/vncrec/default.nix
Normal file
34
pkgs/tools/video/vncrec/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib, stdenv, fetchurl, libX11, xorgproto, imake, gccmakedep, libXt, libXmu
|
||||
, libXaw, libXext, libSM, libICE, libXpm, libXp
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "vncrec";
|
||||
version = "0.2"; # version taken from Arch AUR
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ronja.twibright.com/utils/vncrec-twibright.tgz";
|
||||
sha256 = "1yp6r55fqpdhc8cgrgh9i0mzxmkls16pgf8vfcpng1axr7cigyhc";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
nativeBuildInputs = [ imake gccmakedep ];
|
||||
buildInputs = [
|
||||
libX11 xorgproto libXt libXmu libXaw
|
||||
libXext libSM libICE libXpm libXp
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"BINDIR=${placeholder "out"}/bin"
|
||||
"MANDIR=${placeholder "out"}/share/man"
|
||||
];
|
||||
installTargets = [ "install" "install.man" ];
|
||||
|
||||
meta = {
|
||||
description = "VNC recorder";
|
||||
homepage = "http://ronja.twibright.com/utils/vncrec/";
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.gpl2;
|
||||
};
|
||||
}
|
||||
48
pkgs/tools/video/xjadeo/default.nix
Normal file
48
pkgs/tools/video/xjadeo/default.nix
Normal 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.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "x42";
|
||||
repo = "xjadeo";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-S8eIkmfjwpcILZc+by0Mk4VPRUlbJT0GBe8NlJ1F9EI=";
|
||||
};
|
||||
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
31
pkgs/tools/video/yamdi/default.nix
Normal file
31
pkgs/tools/video/yamdi/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
lib, stdenv,
|
||||
fetchurl,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "yamdi";
|
||||
version = "1.9";
|
||||
|
||||
# Source repo is also available here:
|
||||
# https://github.com/ioppermann/yamdi
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/yamdi/yamdi-${version}.tar.gz";
|
||||
sha256 = "4a6630f27f6c22bcd95982bf3357747d19f40bd98297a569e9c77468b756f715";
|
||||
};
|
||||
|
||||
buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
|
||||
|
||||
installPhase = ''
|
||||
install -D {,$out/bin/}yamdi
|
||||
install -D {,$out/share/man/}man1/yamdi.1
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Yet Another MetaData Injector for FLV";
|
||||
homepage = "http://yamdi.sourceforge.net/";
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.ryanartecona ];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue