initial commit

vapoursynthPlugins.addgrain: init at r7
vapoursynthPlugins.autocrop: init at 0.1
vapoursynthPlugins.beziercurve: init at r2
vapoursynthPlugins.bifrost: init at 2.2
vapoursynthPlugins.bilateral: init at r3
vapoursynthPlugins.bm3d: init at r8
vapoursynthPlugins.continuityfixer: init at 6.1
vapoursynthPlugins.descale: init at r2
vapoursynthPlugins.eedi2: init at r7.1
vapoursynthPlugins.eedi3m: init at r4
vapoursynthPlugins.f3kdb: init at 2.0.0-1
vapoursynthPlugins.ffms2: init as alias
vapoursynthPlugins.fmtconv: init at r20
vapoursynthPlugins.knlmeanscl: init at 1.1.1
vapoursynthPlugins.lsmashsource: init at unstable-2017-08-12
vapoursynthPlugins.nnedi3: init at 11
vapoursynthPlugins.retinex: init at r4
vapoursynthPlugins.sangnom: init at r41
vapoursynthPlugins.tcanny: init at r12
vapoursynthPlugins.tnlmeans: init at unstable-2015-02-25
vapoursynthPlugins.wwxd: init at 1.0
This commit is contained in:
Tadeo Kondrak 2019-06-25 17:40:02 -06:00
commit e94a197efe
No known key found for this signature in database
GPG key ID: C4654C621CD5277C
23 changed files with 665 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
result*

26
default.nix Normal file
View file

@ -0,0 +1,26 @@
self: super: {
vapoursynthPlugins = super.recurseIntoAttrs {
addgrain = super.callPackage ./plugins/addgrain { };
autocrop = super.callPackage ./plugins/autocrop { };
beziercurve = super.callPackage ./plugins/beziercurve { };
bifrost = super.callPackage ./plugins/bifrost { };
bilateral = super.callPackage ./plugins/bilateral { };
bm3d = super.callPackage ./plugins/bm3d { };
continuityfixer = super.callPackage ./plugins/continuityfixer { };
descale = super.callPackage ./plugins/descale { };
fmtconv = super.callPackage ./plugins/fmtconv { };
eedi2 = super.callPackage ./plugins/eedi2 { };
eedi3m = super.callPackage ./plugins/eedi3m { };
f3kdb = super.callPackage ./plugins/f3kdb { };
ffms2 = super.ffms;
knlmeanscl = super.callPackage ./plugins/knlmeanscl { };
retinex = super.callPackage ./plugins/retinex { };
lsmashsource = super.callPackage ./plugins/lsmashsource { };
mvtools = super.callPackage ./plugins/mvtools;
nnedi3 = super.callPackage ./plugins/nnedi3 { };
sangnom = super.callPackage ./plugins/sangnom { };
tcanny = super.callPackage ./plugins/tcanny { };
tnlmeans = super.callPackage ./plugins/tnlmeans { };
wwxd = super.callPackage ./plugins/wwxd { };
};
}

View file

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub, meson, ninja, pkg-config, vapoursynth }:
stdenv.mkDerivation rec {
pname = "vapoursynth-addgrain";
version = "r7";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = "VapourSynth-AddGrain";
rev = version;
sha256 = "1lww67qqss7ixhbdhziw3s79fp837xcp66ddn4ryq3srp7rgimdq";
};
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ vapoursynth ];
installPhase =
let
ext = stdenv.targetPlatform.extensions.sharedLibrary;
in ''
install -D libaddgrain${ext} $out/lib/vapoursynth/libaddgrain${ext}
'';
meta = with stdenv.lib; {
description = "AddGrain filter for VapourSynth";
homepage = https://github.com/HomeOfVapourSynthEvolution/VapourSynth-AddGrain;
license = licenses.gpl2;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,34 @@
{ stdenv, fetchFromGitHub, vapoursynth }:
let
ext = stdenv.targetPlatform.extensions.sharedLibrary;
in stdenv.mkDerivation rec {
pname = "vapoursynth-autocrop";
version = "0.1";
src = fetchFromGitHub {
owner = "Irrational-Encoding-Wizardry";
repo = pname;
rev = version;
sha256 = "15ph5w78d0p56n6x5ys24a1n0xs1bd1fbc783349px1l8606h1ac";
};
buildInputs = [ vapoursynth ];
buildPhase = ''
c++ -std=c++11 -shared -fPIC -O2 -I${vapoursynth.dev}/include/vapoursynth \
autocrop.cpp -o libautocrop${ext}
'';
installPhase = ''
install -D libautocrop${ext} $out/lib/vapoursynth/libautocrop${ext}
'';
meta = with stdenv.lib; {
description = "Autocrop for VapourSynth";
homepage = https://github.com/Irrational-Encoding-Wizardry/vapoursynth-autocrop;
license = licenses.unfree; # no license
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,43 @@
{ stdenv, fetchFromGitHub, vapoursynth }:
let
ext = stdenv.targetPlatform.extensions.sharedLibrary;
in stdenv.mkDerivation rec {
pname = "vapoursynth-beziercurve";
version = "r2";
src = fetchFromGitHub {
owner = "kewenyu";
repo = "VapourSynth-BezierCurve";
rev = version;
sha256 = "0c96gqa3f2wrm2d22q9qwqq3mk8jir7dl4chxqb2kpcjv4wh3xjg";
};
buildInputs = [ vapoursynth ];
patchPhase = ''
substituteInPlace VapourSynth-BezierCurve/BezierCurve.h \
--replace '<vapoursynth\' '<vapoursynth/'
'';
buildPhase = ''
c++ -fPIC -shared -I${vapoursynth.dev}/include/vapoursynth \
-o VapourSynth-BezierCurve${ext} \
VapourSynth-BezierCurve/BezierCurve.cpp \
VapourSynth-BezierCurve/CubicBezierCurve.cpp \
VapourSynth-BezierCurve/QuadraticBezierCurve.cpp \
VapourSynth-BezierCurve/VapourSynth-BezierCurve.cpp
'';
installPhase = ''
install -D VapourSynth-BezierCurve${ext} $out/lib/vapoursynth/VapourSynth-BezierCurve${ext}
'';
meta = with stdenv.lib; {
description = "A bézier curve plugin for VapourSynth";
homepage = https://github.com/kewenyu/VapourSynth-BezierCurve;
license = licenses.mit;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkg-config, vapoursynth }:
stdenv.mkDerivation rec {
pname = "vapoursynth-bifrost";
version = "2.2";
src = fetchFromGitHub {
owner = "dubhater";
repo = pname;
rev = "v${version}";
sha256 = "0ivmxgqfp9d6axvznkjcckv6ajvs0advx6iisvry52pfc8lprbp8";
};
configureFlags = [ "--libdir=$(out)/lib/vapoursynth" ];
nativeBuildInputs = [ pkg-config autoreconfHook ];
buildInputs = [ vapoursynth ];
meta = with stdenv.lib; {
description = "Bifrost (temporal derainbowing) plugin for Vapoursynth";
homepage = https://github.com/dubhater/vapoursynth-bifrost;
license = licenses.unfree; # no license
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, which, vapoursynth }:
stdenv.mkDerivation rec {
pname = "vapoursynth-bilateral";
version = "r3";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = "VapourSynth-Bilateral";
rev = version;
sha256 = "05rhbg84z74rk3jcxa6abgqcqnjzgmjw03wljxa55jc358h9a6f0";
};
preConfigure = "chmod +x configure";
dontAddPrefix = true;
configureFlags = [ "--install=$(out)/lib/vapoursynth" ];
nativeBuildInputs = [ which ];
buildInputs = [ vapoursynth ];
meta = with stdenv.lib; {
description = "Bilateral filter for VapourSynth";
homepage = https://github.com/HomeOfVapourSynthEvolution/VapourSynth-Bilateral;
license = licenses.gpl3;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

33
plugins/bm3d/default.nix Normal file
View file

@ -0,0 +1,33 @@
{ stdenv, fetchFromGitHub, meson, ninja, pkg-config, vapoursynth, fftwSinglePrec }:
stdenv.mkDerivation rec {
pname = "vapoursynth-bm3d";
version = "r8";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = "VapourSynth-BM3D";
rev = version;
sha256 = "0hifiyqr0vp3rkqrjbz2fvka7s8xvcpl58rjf0rvljs64bxia4v7";
};
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ vapoursynth fftwSinglePrec ];
# i could not find a way to override the default meson install dir.
# patching the file didn't work
installPhase =
let
ext = stdenv.targetPlatform.extensions.sharedLibrary;
in ''
install -D libbm3d${ext} $out/lib/vapoursynth/libbm3d${ext}
'';
meta = with stdenv.lib; {
description = "BM3D denoising filter for VapourSynth";
homepage = https://github.com/HomeOfVapourSynthEvolution/VapourSynth-BM3D;
license = licenses.mit;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,34 @@
{ stdenv, fetchFromGitHub, vapoursynth }:
let
ext = stdenv.targetPlatform.extensions.sharedLibrary;
in stdenv.mkDerivation rec {
pname = "vs-continuityfixer";
version = "6.1";
src = fetchFromGitHub {
owner = "MonoS";
repo = "VS-ContinuityFixer";
rev = "V6";
sha256 = "1hkbmfvs4zkr9177qsai012ba4iqj0vb7gw2ngvgcn0px92vclgw";
};
buildInputs = [ vapoursynth ];
buildPhase = ''
c++ -shared -fPIC -O2 -msse2 -mfpmath=sse -I${vapoursynth.dev}/include/vapoursynth \
continuity.cpp -o continuity${ext}
'';
installPhase = ''
install -D continuity${ext} $out/lib/vapoursynth/continuity${ext}
'';
meta = with stdenv.lib; {
description = "Continuity Fixer port for Vapoursynth";
homepage = https://github.com/MonoS/VS-ContinuityFixer;
license = licenses.unfree; # no license
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,37 @@
{ stdenv, fetchFromGitHub, vapoursynth, python }:
let
ext = stdenv.targetPlatform.extensions.sharedLibrary;
in stdenv.mkDerivation rec {
pname = "vapoursynth-descale";
version = "r2";
src = fetchFromGitHub {
owner = "Irrational-Encoding-Wizardry";
repo = pname;
rev = version;
sha256 = "1vsg6iwbm277hsiawfi6n5h9b7n2n6grl5b287rkb5x2qa88zs0k";
};
buildInputs = [ vapoursynth ];
buildPhase = ''
c++ -std=c++11 -shared -fPIC -O2 -I${vapoursynth.dev}/include/vapoursynth \
descale.cpp -o libdescale${ext}
'';
outputs = [ "out" ];
installPhase = ''
install -D libdescale${ext} $out/lib/vapoursynth/libdescale${ext}
install -D descale.py $out/lib/${python.libPrefix}/site-packages/descale.py
'';
meta = with stdenv.lib; {
description = "VapourSynth plugin to undo upscaling";
homepage = https://github.com/Irrational-Encoding-Wizardry/vapoursynth-descale;
license = licenses.wtfpl;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

31
plugins/eedi2/default.nix Normal file
View file

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub, meson, ninja, pkg-config, vapoursynth }:
stdenv.mkDerivation rec {
pname = "vapoursynth-eedi2";
version = "r7.1";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = "VapourSynth-EEDI2";
rev = version;
sha256 = "10yfndb4q5zd450v5di331r3hm1mfikw370jvxydd98b0lbjpp8f";
};
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ vapoursynth ];
installPhase =
let
ext = stdenv.targetPlatform.extensions.sharedLibrary;
in ''
install -D libeedi2${ext} $out/lib/vapoursynth/libeedi2${ext}
'';
meta = with stdenv.lib; {
description = "EEDI2 filter for VapourSynth";
homepage = https://github.com/HomeOfVapourSynthEvolution/VapourSynth-EEDI2;
license = licenses.gpl2;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub, meson, ninja, pkg-config, vapoursynth, boost, opencl-headers, ocl-icd }:
stdenv.mkDerivation rec {
pname = "vapoursynth-eedi3";
version = "r4";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = "VapourSynth-EEDI3";
rev = version;
sha256 = "1q79l27arcfl7k49czsspb4z7zfr616xsxsb04x9b4d9l763716x";
};
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ vapoursynth boost opencl-headers ocl-icd ];
installPhase =
let
ext = stdenv.targetPlatform.extensions.sharedLibrary;
in ''
install -D libeedi3m${ext} $out/lib/vapoursynth/libeedi3m${ext}
'';
meta = with stdenv.lib; {
description = "Renewed EEDI3 filter for VapourSynth";
homepage = https://github.com/HomeOfVapourSynthEvolution/VapourSynth-EEDI3;
license = licenses.gpl2;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

26
plugins/f3kdb/default.nix Normal file
View file

@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub, wafHook, python3, vapoursynth }:
stdenv.mkDerivation rec {
pname = "flash3kyuu_deband";
version = "2.0.0-1";
src = fetchFromGitHub {
owner = "SAPikachu";
repo = pname;
rev = version;
sha256 = "0qfm85z2r9kr56i406bfz04wb92amkrsgbhdrp0dpfp6xvhv72nj";
};
wafConfigureFlags = [ "--libdir=${placeholder "out"}/lib/vapoursynth" ];
nativeBuildInputs = [ wafHook python3 ];
buildInputs = [ vapoursynth ];
meta = with stdenv.lib; {
description = "A deband library and filter for AviSynth/VapourSynth";
homepage = https://github.com/SAPikachu/flash3kyuu_deband;
license = licenses.gpl3;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, autoreconfHook, vapoursynth }:
stdenv.mkDerivation rec {
pname = "fmtconv";
version = "r20";
src = fetchFromGitHub {
owner = "EleonoreMizo";
repo = pname;
rev = version;
sha256 = "0yaxyiljllzrhx5p4pmnj8vp9ywi7mcyn861y1cyawdgkraylcyy";
};
preAutoreconf = "cd build/unix";
configureFlags = [ "--libdir=$(out)/lib/vapoursynth" ];
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ vapoursynth ];
meta = with stdenv.lib; {
description = "Format conversion tools for VapourSynth";
homepage = https://github.com/EleonoreMizo/fmtconv;
license = licenses.wtfpl;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,27 @@
{ stdenv, fetchFromGitHub, which, pkg-config, vapoursynth, boost, opencl-headers, ocl-icd }:
stdenv.mkDerivation rec {
pname = "knlmeanscl";
version = "1.1.1";
src = fetchFromGitHub {
owner = "Khanattila";
repo = "KNLMeansCL";
rev = "v${version}";
sha256 = "035gcd3ppgljinlhh7k1kfr1394isgavwy9h6znshpl9npgi67cd";
};
dontAddPrefix = true;
configureFlags = [ "--install=$(out)/lib/vapoursynth" ];
nativeBuildInputs = [ which pkg-config ];
buildInputs = [ vapoursynth boost opencl-headers ocl-icd ];
meta = with stdenv.lib; {
description = "An optimized OpenCL implementation of the Non-local means de-noising algorithm";
homepage = https://github.com/Khanattila/KNLMeansCL;
license = licenses.gpl3;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,21 @@
{ stdenv, fetchFromGitHub, pkg-config, which, vapoursynth, ffmpeg, l-smash }:
stdenv.mkDerivation {
pname = "lsmashsource";
version = "unstable-2017-08-12"; # last (only) release is from 2013 and there has still been development
src = fetchFromGitHub {
owner = "VFR-maniac";
repo = "L-SMASH-Works";
rev = "3edd194b1d82975cee67c0278556615c7d9ebd36";
sha256 = "0q5xww6rkfi9vqwafpi9cvvywn1hx5fhkhqz0ck7x235cc3lb2qz";
};
preConfigure = ''
patchShebangs .
cd VapourSynth
'';
nativeBuildInputs = [ pkg-config which ];
buildInputs = [ vapoursynth ffmpeg l-smash ];
}

View file

@ -0,0 +1,30 @@
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook,
vapoursynth, nasm, fftwFloat
}:
stdenv.mkDerivation rec {
name = "vapoursynth-mvtools-${version}";
version = "21";
src = fetchFromGitHub {
owner = "dubhater";
repo = "vapoursynth-mvtools";
rev = "v${version}";
sha256 = "0vjxpp4jmmjhcp8z81idsbgq6jyx0l4r4i32b8alnp6c9fahjh6p";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
autoreconfHook
nasm vapoursynth fftwFloat
];
configureFlags = [ "--libdir=$(out)/lib/vapoursynth" ];
meta = with stdenv.lib; {
description = "A set of filters for motion estimation and compensation";
homepage = https://github.com/dubhater/vapoursynth-mvtools;
license = licenses.gpl2;
maintainers = with maintainers; [ rnhmjoj ];
};
}

View file

@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkg-config, vapoursynth, yasm }:
stdenv.mkDerivation rec {
pname = "vapoursynth-nnedi3";
version = "12";
src = fetchFromGitHub {
owner = "dubhater";
repo = pname;
rev = "v${version}";
sha256 = "1valcf8ns4wrfq6q5js029a93i58vr37mqw5na6922avg04wzpwd";
};
configureFlags = [ "--libdir=$(out)/lib/vapoursynth" ];
nativeBuildInputs = [ pkg-config autoreconfHook ];
buildInputs = [ vapoursynth yasm ];
meta = with stdenv.lib; {
description = "nnedi3 filter for VapourSynth";
homepage = https://github.com/dubhater/vapoursynth-nnedi3;
license = licenses.gpl2;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub, meson, ninja, pkg-config, vapoursynth }:
stdenv.mkDerivation rec {
pname = "vapoursynth-retinex";
version = "r4";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = "VapourSynth-Retinex";
rev = version;
sha256 = "108jmawfn87ydabpxkb0srbk2r8vgpfn0kiby4g56msbc0rpvc6g";
};
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ vapoursynth ];
installPhase =
let
ext = stdenv.targetPlatform.extensions.sharedLibrary;
in ''
install -D libretinex${ext} $out/lib/vapoursynth/libretinex${ext}
'';
meta = with stdenv.lib; {
description = "Retinex algorithm for VapourSynth";
homepage = https://github.com/HomeOfVapourSynthEvolution/VapourSynth-Retinex;
license = licenses.gpl3;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub, meson, ninja, pkg-config, vapoursynth }:
stdenv.mkDerivation rec {
pname = "vapoursynth-sangnom";
version = "r41";
src = fetchFromGitHub {
owner = "dubhater";
repo = pname;
rev = version;
sha256 = "1q6iz20sjipfmvn16bjvic25n77crpak2nzcvhrp483n5ccqricw";
};
mesonFlags = [ "--libdir=${placeholder "out"}/lib/vapoursynth" ];
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ vapoursynth ];
meta = with stdenv.lib; {
description = "VapourSynth Single Field Deinterlacer";
homepage = https://github.com/dubhater/vapoursynth-sangnom;
license = licenses.mit;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub, meson, ninja, pkg-config, vapoursynth, boost, opencl-headers, ocl-icd }:
stdenv.mkDerivation rec {
pname = "vapoursynth-tcanny";
version = "r12";
src = fetchFromGitHub {
owner = "HomeOfVapourSynthEvolution";
repo = "VapourSynth-TCanny";
rev = version;
sha256 = "1jsvgxb94klqwh40820zfw8radrnlr3w3lf2kkzjp6r97kgr5i37";
};
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ vapoursynth boost opencl-headers ocl-icd ];
installPhase =
let
ext = stdenv.targetPlatform.extensions.sharedLibrary;
in ''
install -D libtcanny${ext} $out/lib/vapoursynth/libtcanny${ext}
'';
meta = with stdenv.lib; {
description = "TCanny filter for VapourSynth";
homepage = https://github.com/HomeOfVapourSynthEvolution/VapourSynth-TCanny;
license = licenses.gpl2;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, which, vapoursynth }:
stdenv.mkDerivation rec {
pname = "vapoursynth-tnlmeans";
version = "unstable-2015-02-25";
src = fetchFromGitHub {
owner = "VFR-maniac";
repo = "VapourSynth-TNLMeans";
rev = "22a40afaf78b6932800f552c43edc510da2d50a3";
sha256 = "02abjb5dhsvgng7y4ybm96zbls2b4pzjwr6rqkcarx32malqc3jl";
};
preConfigure = ''
patchShebangs .
'';
nativeBuildInputs = [ which ];
buildInputs = [ vapoursynth ];
meta = with stdenv.lib; {
description = "An implementation of the NL-means denoising algorithm";
homepage = https://github.com/VFR-maniac/VapourSynth-TNLMeans;
license = licenses.lgpl2;
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}

36
plugins/wwxd/default.nix Normal file
View file

@ -0,0 +1,36 @@
{ stdenv, fetchFromGitHub, pkg-config, vapoursynth }:
let
ext = stdenv.targetPlatform.extensions.sharedLibrary;
in stdenv.mkDerivation rec {
pname = "vapoursynth-wwxd";
version = "1.0";
src = fetchFromGitHub {
owner = "dubhater";
repo = pname;
rev = "v${version}";
sha256 = "01197hxrmm9az7mbm8jrjslm8pg9pzzvrcz9c5ki8dajgmmz9hym";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ vapoursynth ];
buildPhase = ''
gcc -o libwwxd${ext} -fPIC -shared -O2 -Wall -Wextra -Wno-unused-parameter \
$(pkg-config --cflags vapoursynth) \
src/wwxd.c src/detection.c
'';
installPhase = ''
install -D libwwxd${ext} $out/lib/vapoursynth/libwwxd${ext}
'';
meta = with stdenv.lib; {
description = "Xvid-like scene change detection for VapourSynth";
homepage = https://github.com/dubhater/vapoursynth-wwxd;
license = licenses.unfree; # no license
maintainers = with maintainers; [ tadeokondrak ];
platforms = platforms.all;
};
}