Initial commit uwu
This commit is contained in:
commit
caff4544d5
21 changed files with 1054 additions and 0 deletions
27
flake.lock
Normal file
27
flake.lock
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1730531603,
|
||||
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
38
flake.nix
Normal file
38
flake.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
description = "vapoursynth-nix";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
};
|
||||
|
||||
nixConfig = {
|
||||
allow-import-form-derivation = true;
|
||||
extra-substituters = [
|
||||
"https://cache.kyouma.net"
|
||||
];
|
||||
extra-trusted-public-keys = [
|
||||
"cache.kyouma.net:Frjwu4q1rnwE/MnSTmX9yx86GNA/z3p/oElGvucLiZg="
|
||||
];
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, ... }@inputs: let
|
||||
inherit (nixpkgs) lib;
|
||||
buildPlatforms = import ./lib/platforms.nix inputs;
|
||||
eachSystem = uwu: lib.mapAttrs uwu buildPlatforms;
|
||||
in {
|
||||
packages = eachSystem (system: platform: let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnsupportedSystem = true;
|
||||
allowBroken = true;
|
||||
};
|
||||
};
|
||||
in lib.filterAttrs (_: pkg: lib.meta.availableOn platform pkg) (
|
||||
import ./pkgs/default.nix { inherit pkgs lib; })
|
||||
);
|
||||
|
||||
hydraJobs = { inherit (self) packages; };
|
||||
};
|
||||
}
|
15
lib/platforms.nix
Normal file
15
lib/platforms.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ nixpkgs, ... }: let
|
||||
inherit (nixpkgs) lib;
|
||||
in lib.mapAttrs (system: platform: lib.systems.elaborate platform) {
|
||||
"x86_64-linux" = {
|
||||
system = "x86_64-linux";
|
||||
};
|
||||
|
||||
"aarch64-linux" = {
|
||||
system = "aarch64-linux";
|
||||
};
|
||||
|
||||
"riscv64-linux" = {
|
||||
system = "riscv64-linux";
|
||||
};
|
||||
}
|
24
pkgs/default.nix
Normal file
24
pkgs/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{ lib, pkgs, }: let
|
||||
inherit (pkgs) callPackage;
|
||||
load = baseDir: lib.mapAttrs (name: _: callPackage "${baseDir}/${name}/package.nix" {}) (
|
||||
lib.filterAttrs (_: type: type == "directory") (builtins.readDir baseDir)
|
||||
);
|
||||
in (load ./.) // {
|
||||
|
||||
vapoursynth-bm3dcpu = callPackage ./vapoursynth-bm3dcuda/package.nix {
|
||||
cudaSupport = false;
|
||||
cpuSupport = true;
|
||||
};
|
||||
|
||||
vs-dfttest2cuda = callPackage ./vs-dfttest2/package.nix {
|
||||
cudaSupport = true;
|
||||
};
|
||||
|
||||
vs-dfttest2gcc = callPackage ./vs-dfttest2/package.nix {
|
||||
genericVector = true;
|
||||
};
|
||||
|
||||
vs-dfttest2hip = callPackage ./vs-dfttest2/package.nix {
|
||||
rocmSupport = true;
|
||||
};
|
||||
}
|
60
pkgs/neo_dfttest/package.nix
Normal file
60
pkgs/neo_dfttest/package.nix
Normal file
|
@ -0,0 +1,60 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
hostPlatform,
|
||||
cmake,
|
||||
pkg-config,
|
||||
vapoursynth,
|
||||
tbb,
|
||||
zimg,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "neo_dfttest";
|
||||
version = "8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "HomeOfAviSynthPlusEvolution";
|
||||
repo = "neo_dfttest";
|
||||
rev = "refs/tags/r${finalAttrs.version}";
|
||||
hash = "sha256-qlgg57Ysr/iwZz6RjJcLEYN/eRaG/LB3dIExY9FyXls=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
vapoursynth
|
||||
tbb
|
||||
zimg
|
||||
];
|
||||
|
||||
cmakeFlags = [ (lib.cmakeFeature "VERSION" "r${finalAttrs.version}") ];
|
||||
|
||||
postPatch = ''
|
||||
sed -E -i '/^find_package\(Git /,+2d' CMakeLists.txt
|
||||
rm -rf include/vapoursynth
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -D -t "$out/lib/vapoursynth" libneo-dfttest${hostPlatform.extensions.sharedLibrary}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Plugin for VapourSynth: neo_dfttest";
|
||||
homepage = "https://github.com/HomeOfAviSynthPlusEvolution/neo_dfttest";
|
||||
license = with lib.licenses; [
|
||||
gpl3Plus
|
||||
gpl2Plus
|
||||
];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
platforms = lib.platforms.x86_64;
|
||||
};
|
||||
})
|
60
pkgs/neo_f3kdb/package.nix
Normal file
60
pkgs/neo_f3kdb/package.nix
Normal file
|
@ -0,0 +1,60 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
hostPlatform,
|
||||
cmake,
|
||||
pkg-config,
|
||||
vapoursynth,
|
||||
tbb,
|
||||
zimg,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "neo_f3kdb";
|
||||
version = "9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "HomeOfAviSynthPlusEvolution";
|
||||
repo = "neo_f3kdb";
|
||||
rev = "refs/tags/r${finalAttrs.version}";
|
||||
hash = "sha256-MIvKjsemDeyv9qonuJbns0Dau8BjFQ1REppccs7s9JU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
vapoursynth
|
||||
tbb
|
||||
zimg
|
||||
];
|
||||
|
||||
cmakeFlags = [ (lib.cmakeFeature "VERSION" "r${finalAttrs.version}") ];
|
||||
|
||||
postPatch = ''
|
||||
sed -E -i '/^find_package\(Git /,+2d' CMakeLists.txt
|
||||
rm -rf include/vapoursynth
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -D -t "$out/lib/vapoursynth" libneo-f3kdb${hostPlatform.extensions.sharedLibrary}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Plugin for VapourSynth: neo_f3kdb";
|
||||
homepage = "https://github.com/HomeOfAviSynthPlusEvolution/neo_f3kdb";
|
||||
license = with lib.licenses; [
|
||||
gpl3Plus
|
||||
gpl2Plus
|
||||
];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
platforms = lib.platforms.x86_64;
|
||||
};
|
||||
})
|
60
pkgs/vapoursynth-bestsource/package.nix
Normal file
60
pkgs/vapoursynth-bestsource/package.nix
Normal file
|
@ -0,0 +1,60 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
meson,
|
||||
ninja,
|
||||
cmake,
|
||||
pkg-config,
|
||||
vapoursynth,
|
||||
ffmpeg,
|
||||
xxHash,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "vapoursynth-bestsource";
|
||||
version = "6";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
fetchSubmodules = true;
|
||||
owner = "vapoursynth";
|
||||
repo = "bestsource";
|
||||
rev = "refs/tags/R${finalAttrs.version}";
|
||||
hash = "sha256-ICkdIomlkHUdK6kMeui45fvUn4OMxSrP8svB2IN+GCg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
vapoursynth
|
||||
ffmpeg
|
||||
xxHash
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace meson.build \
|
||||
--replace-fail "vapoursynth_dep.get_variable(pkgconfig: 'libdir')" "get_option('libdir')"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Wrapper library around FFmpeg that ensures sample and frame accurate access to audio and video";
|
||||
homepage = "https://github.com/vapoursynth/bestsource";
|
||||
license = with lib.licenses; [
|
||||
mit
|
||||
wtfpl
|
||||
gpl2Plus
|
||||
];
|
||||
platforms = lib.platforms.x86_64;
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
};
|
||||
})
|
46
pkgs/vapoursynth-bm3d/package.nix
Normal file
46
pkgs/vapoursynth-bm3d/package.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
vapoursynth,
|
||||
fftwSinglePrec,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "vapoursynth-bm3d";
|
||||
version = "9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "HomeOfVapourSynthEvolution";
|
||||
repo = "VapourSynth-BM3D";
|
||||
rev = "refs/tags/r${finalAttrs.version}";
|
||||
hash = "sha256-i7Kk7uFt2Wo/EWpVkGyuYgGZxBuQgOT3JM+WCFPHVrc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
vapoursynth
|
||||
fftwSinglePrec
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace meson.build \
|
||||
--replace-fail "vapoursynth_dep.get_pkgconfig_variable('libdir')" "get_option('libdir')"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
inherit (vapoursynth.meta) platforms;
|
||||
description = "Plugin for VapourSynth: bm3d";
|
||||
homepage = "https://github.com/HomeOfVapourSynthEvolution/VapourSynth-BM3D";
|
||||
license = with lib.licenses; [ mit ];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
};
|
||||
})
|
56
pkgs/vapoursynth-bm3dcuda/package.nix
Normal file
56
pkgs/vapoursynth-bm3dcuda/package.nix
Normal file
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
lib,
|
||||
gcc12Stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
cudaPackages_12_3,
|
||||
vapoursynth,
|
||||
cudaSupport ? true,
|
||||
cpuSupport ? false,
|
||||
}:
|
||||
|
||||
# gcc13 producdes weird artifacts
|
||||
gcc12Stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "vapoursynth-bm3dcuda";
|
||||
version = "2.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "WolframRhodium";
|
||||
repo = "VapourSynth-BM3DCUDA";
|
||||
rev = "refs/tags/R${finalAttrs.version}";
|
||||
hash = "sha256-Vcg1RaV0lOMAK0LCAJBMMeeSC0HoKigHwebzH/AcH2g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
[ cmake ]
|
||||
++ lib.optionals cudaSupport [
|
||||
cudaPackages_12_3.cuda_nvcc
|
||||
cudaPackages_12_3.cuda_nvrtc
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals cudaSupport [ cudaPackages_12_3.cuda_cudart ];
|
||||
|
||||
# Taken from https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/blob/main/.github/workflows/linux.yml
|
||||
preConfigure =
|
||||
''
|
||||
cmakeFlagsArray+=(${lib.escapeShellArg (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-ffast-math${lib.optionalString cpuSupport " -march=x86-64-v3"}")})
|
||||
''
|
||||
+ lib.optionalString cudaSupport ''
|
||||
cmakeFlagsArray+=(${lib.escapeShellArg (lib.cmakeFeature "CMAKE_CUDA_FLAGS" "--use_fast_math -Wno-deprecated-gpu-targets")})
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "VAPOURSYNTH_INCLUDE_DIRECTORY" "${vapoursynth}/include/vapoursynth")
|
||||
(lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib/vapoursynth")
|
||||
(lib.cmakeBool "ENABLE_CUDA" cudaSupport)
|
||||
(lib.cmakeBool "ENABLE_CPU" cpuSupport)
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Plugin for VapourSynth: bm3dcuda bm3dcpu";
|
||||
homepage = "https://github.com/WolframRhodium/VapourSynth-BM3DCUDA";
|
||||
license = with lib.licenses; [ gpl2Plus ];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
platforms = with lib.platforms; if cpuSupport then x86_64 else all;
|
||||
};
|
||||
})
|
68
pkgs/vapoursynth-bm3dhip/package.nix
Normal file
68
pkgs/vapoursynth-bm3dhip/package.nix
Normal file
|
@ -0,0 +1,68 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
rocmPackages,
|
||||
vapoursynth,
|
||||
gpuTargets ? [
|
||||
"gfx1010"
|
||||
"gfx1011"
|
||||
"gfx1012"
|
||||
"gfx1030"
|
||||
"gfx1031"
|
||||
"gfx1032"
|
||||
"gfx1033"
|
||||
"gfx1034"
|
||||
"gfx1035"
|
||||
"gfx1036"
|
||||
"gfx1100"
|
||||
"gfx1101"
|
||||
"gfx1102"
|
||||
"gfx1103"
|
||||
],
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "vapoursynth-bm3dhip";
|
||||
version = "2.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "WolframRhodium";
|
||||
repo = "VapourSynth-BM3DCUDA";
|
||||
rev = "refs/tags/R${finalAttrs.version}";
|
||||
hash = "sha256-Vcg1RaV0lOMAK0LCAJBMMeeSC0HoKigHwebzH/AcH2g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
rocmPackages.clr
|
||||
];
|
||||
|
||||
buildInputs = [ rocmPackages.clr ];
|
||||
|
||||
# Taken from https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/blob/main/.github/workflows/linux.yml
|
||||
preConfigure = ''
|
||||
cmakeFlagsArray=(
|
||||
${lib.escapeShellArg (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-ffast-math -munsafe-fp-atomics")}
|
||||
)
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "VAPOURSYNTH_INCLUDE_DIRECTORY" "${vapoursynth}/include/vapoursynth")
|
||||
(lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib/vapoursynth")
|
||||
(lib.cmakeFeature "CMAKE_CXX_COMPILER" "hipcc")
|
||||
(lib.cmakeFeature "GPU_TARGETS" (lib.concatStringsSep ";" gpuTargets))
|
||||
(lib.cmakeBool "ENABLE_CUDA" false)
|
||||
(lib.cmakeBool "ENABLE_CPU" false)
|
||||
(lib.cmakeBool "ENABLE_HIP" true)
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Plugin for VapourSynth: bm3dhip";
|
||||
homepage = "https://github.com/WolframRhodium/VapourSynth-BM3DCUDA";
|
||||
license = with lib.licenses; [ gpl2Plus ];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
platforms = with lib.platforms; aarch64 ++ x86_64;
|
||||
};
|
||||
})
|
49
pkgs/vapoursynth-dfttest/package.nix
Normal file
49
pkgs/vapoursynth-dfttest/package.nix
Normal file
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
vapoursynth,
|
||||
fftwSinglePrec,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "vapoursynth-dfttest";
|
||||
version = "unstable-2022-04-15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "HomeOfVapourSynthEvolution";
|
||||
repo = "VapourSynth-DFTTest";
|
||||
rev = "bc5e0186a7f309556f20a8e9502f2238e39179b8";
|
||||
hash = "sha256-HGk9yrs6T3LAP0I5GPt9b4LwldXtQDG277ffX6xMr/4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
vapoursynth
|
||||
fftwSinglePrec
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace meson.build \
|
||||
--replace-fail "vapoursynth_dep.get_pkgconfig_variable('libdir')" "get_option('libdir')"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Plugin for VapourSynth: dfttest";
|
||||
homepage = "https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DFTTest";
|
||||
license = with lib.licenses; [
|
||||
gpl3Plus
|
||||
asl20
|
||||
];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
platforms = lib.platforms.x86_64;
|
||||
};
|
||||
}
|
56
pkgs/vapoursynth-eedi3/package.nix
Normal file
56
pkgs/vapoursynth-eedi3/package.nix
Normal file
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
boost,
|
||||
vapoursynth,
|
||||
opencl-headers,
|
||||
ocl-icd,
|
||||
openclSupport ? true,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "vapoursynth-eedi3";
|
||||
version = "unstable-2019-09-30";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "HomeOfVapourSynthEvolution";
|
||||
repo = "VapourSynth-EEDI3";
|
||||
rev = "d11bdb37c7a7118cd095b53d9f8fbbac02a06ac0";
|
||||
hash = "sha256-MIUf6sOnJ2uqGw3ixEHy1ijzlLFkQauwtm1vfgmYmcg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
boost
|
||||
vapoursynth
|
||||
]
|
||||
++ lib.optionals openclSupport [
|
||||
ocl-icd
|
||||
opencl-headers
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace meson.build \
|
||||
--replace-fail "vapoursynth_dep.get_pkgconfig_variable('libdir')" "get_option('libdir')"
|
||||
'';
|
||||
|
||||
mesonFlags = [ (lib.mesonBool "opencl" openclSupport) ];
|
||||
|
||||
meta = {
|
||||
description = "Filter for VapourSynth";
|
||||
homepage = "https://github.com/HomeOfVapourSynthEvolution/VapourSynth-EEDI3";
|
||||
license = with lib.licenses; [ gpl2Plus ];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
platforms = lib.platforms.x86_64;
|
||||
};
|
||||
}
|
41
pkgs/vapoursynth-hqdn3d/package.nix
Normal file
41
pkgs/vapoursynth-hqdn3d/package.nix
Normal file
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
autoreconfHook,
|
||||
pkg-config,
|
||||
vapoursynth,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "vapoursynth-hqdn3d";
|
||||
version = "unstable-2023-07-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Hinterwaeldlers";
|
||||
repo = "vapoursynth-hqdn3d";
|
||||
rev = "eb820cb23f7dc47eb67ea95def8a09ab69251d30";
|
||||
hash = "sha256-BObHZs7GQW6UFUwohII1MXHtk5ooGh/LfZ3ZsqoPQBU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [ vapoursynth ];
|
||||
|
||||
configureFlags = [ "--libdir=$(out)/lib/vapoursynth" ];
|
||||
|
||||
postInstall = ''
|
||||
rm -f $out/lib/vapoursynth/*.la
|
||||
'';
|
||||
|
||||
meta = {
|
||||
inherit (vapoursynth.meta) platforms;
|
||||
description = "Plugin for VapourSynth: hqdn3d";
|
||||
homepage = "https://github.com/Hinterwaeldlers/vapoursynth-hqdn3d";
|
||||
license = with lib.licenses; [ gpl2Plus ];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
};
|
||||
}
|
50
pkgs/vapoursynth-knlmeanscl/package.nix
Normal file
50
pkgs/vapoursynth-knlmeanscl/package.nix
Normal file
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
boost,
|
||||
vapoursynth,
|
||||
opencl-headers,
|
||||
ocl-icd,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "vapoursynth-knlmeanscl";
|
||||
version = "unstable-2023-06-05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Khanattila";
|
||||
repo = "KNLMeansCL";
|
||||
rev = "ca424fa91d1e16ec011f7db9c3ba0d1e76ed7850";
|
||||
hash = "sha256-co8Jaup3bvvJaKw830CqCkAKHRsT5rx/xAYMbGhrMRk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
vapoursynth
|
||||
ocl-icd
|
||||
opencl-headers
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
rm -rf KNLMeansCL/{avi,vapour}synth
|
||||
sed -E -i '/NLMAvisynth\.(h|cpp)/d' meson.build
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Plugin for VapourSynth: knlmeanscl";
|
||||
homepage = "https://github.com/Khanattila/KNLMeansCL";
|
||||
license = with lib.licenses; [ gpl3Plus ];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
platforms = lib.platforms.x86_64;
|
||||
};
|
||||
}
|
45
pkgs/vapoursynth-nnedi3/package.nix
Normal file
45
pkgs/vapoursynth-nnedi3/package.nix
Normal file
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
autoreconfHook,
|
||||
pkg-config,
|
||||
vapoursynth,
|
||||
yasm,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "vapoursynth-nnedi3";
|
||||
version = "12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dubhater";
|
||||
repo = "vapoursynth-nnedi3";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-jd/PCXhbCZGMsoXjekbeqMSRVBJAy4INdpkTbZFjVO0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
vapoursynth
|
||||
yasm
|
||||
];
|
||||
|
||||
configureFlags = [ "--libdir=$(out)/lib/vapoursynth" ];
|
||||
|
||||
postInstall = ''
|
||||
rm -f $out/lib/vapoursynth/*.la
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Filter for VapourSynth";
|
||||
homepage = "https://github.com/dubhater/vapoursynth-nnedi3";
|
||||
license = with lib.licenses; [ gpl2Plus ];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
platforms = with lib.platforms; x86_64 ++ aarch64;
|
||||
};
|
||||
})
|
50
pkgs/vapoursynth-nnedi3cl/package.nix
Normal file
50
pkgs/vapoursynth-nnedi3cl/package.nix
Normal file
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
boost,
|
||||
vapoursynth,
|
||||
opencl-headers,
|
||||
ocl-icd,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "vapoursynth-nnedi3cl";
|
||||
version = "8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "HomeOfVapourSynthEvolution";
|
||||
repo = "VapourSynth-NNEDI3CL";
|
||||
rev = "refs/tags/r${finalAttrs.version}";
|
||||
hash = "sha256-zW/qEtZTDJOTarXbXhv+nks25eePutLDpLck4TuMKUk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
vapoursynth
|
||||
ocl-icd
|
||||
opencl-headers
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace meson.build \
|
||||
--replace-fail "vapoursynth_dep.get_pkgconfig_variable('libdir')" "get_option('libdir')"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Filter for VapourSynth";
|
||||
homepage = "https://github.com/HomeOfVapourSynthEvolution/VapourSynth-NNEDI3CL";
|
||||
license = with lib.licenses; [ gpl2Plus ];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
platforms = lib.platforms.x86_64;
|
||||
};
|
||||
})
|
72
pkgs/vapoursynth-wnnm/package.nix
Normal file
72
pkgs/vapoursynth-wnnm/package.nix
Normal file
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
pkg-config,
|
||||
mkl,
|
||||
vapoursynth,
|
||||
zimg,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "vapoursynth-wnnm";
|
||||
version = "unstable-2023-07-07";
|
||||
|
||||
srcs = [
|
||||
(fetchFromGitHub {
|
||||
owner = "WolframRhodium";
|
||||
repo = "VapourSynth-WNNM";
|
||||
rev = "a8977b4365841bb27c232383cd9a306f70ef9f99";
|
||||
name = "${finalAttrs.pname}-source";
|
||||
hash = "sha256-B4jvl+Lu724QofDbKQObdcpQdlb8KQ2szAp780J9SUY=";
|
||||
})
|
||||
(fetchFromGitHub {
|
||||
owner = "vectorclass";
|
||||
repo = "version2";
|
||||
rev = "refs/tags/v2.02.01";
|
||||
name = "vectorclass";
|
||||
hash = "sha256-45qt0vGz6ibEmcoPZDOeroSivoVnFkvMEihjXJXa8lU=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
(mkl.override { enableStatic = true; })
|
||||
vapoursynth
|
||||
zimg
|
||||
];
|
||||
|
||||
sourceRoot = "${finalAttrs.pname}-source";
|
||||
|
||||
preConfigure = ''
|
||||
cmakeFlagsArray=(${lib.escapeShellArg (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-ffast-math -mavx2 -mfma")})
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "VCL_HOME" (toString (lib.last finalAttrs.srcs)))
|
||||
(lib.cmakeFeature "MKL_LINK" "static")
|
||||
(lib.cmakeFeature "MKL_INTERFACE" "lp64")
|
||||
(lib.cmakeFeature "MKL_THREADING" "sequential")
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail "\''${VS_LIBDIR}" "lib"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Plugin for VapourSynth: wnnm";
|
||||
homepage = "https://github.com/WolframRhodium/VapourSynth-WNNM";
|
||||
license = with lib.licenses; [
|
||||
mit
|
||||
asl20
|
||||
];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
platforms = lib.platforms.x86_64;
|
||||
};
|
||||
})
|
54
pkgs/vapoursynth-znedi3/package.nix
Normal file
54
pkgs/vapoursynth-znedi3/package.nix
Normal file
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
vapoursynth,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "vapoursynth-znedi3";
|
||||
version = "unstable-2023-07-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
fetchSubmodules = true;
|
||||
owner = "sekrit-twc";
|
||||
repo = "znedi3";
|
||||
rev = "68dc130bc37615fd912d1dc1068261f00f54b146";
|
||||
hash = "sha256-QC+hMMfp6XwW4PqsN6sip1Y7ttiYn/xuxq/pUg/trog=";
|
||||
};
|
||||
|
||||
buildInputs = [ vapoursynth ];
|
||||
|
||||
postPatch = ''
|
||||
rm -rf vsxx/vapoursynth
|
||||
ln -s ${vapoursynth}/include/vapoursynth vsxx/vapoursynth
|
||||
'';
|
||||
|
||||
makeFlags =
|
||||
[ "CPPFLAGS=-DNNEDI3_WEIGHTS_PATH='\"$(out)/share/nnedi3/nnedi3_weights.bin\"'" ]
|
||||
++ lib.optionals stdenv.hostPlatform.isx86 [
|
||||
"X86=1"
|
||||
"X86_AVX512=1"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -D -t $out/lib/vapoursynth vsznedi3${stdenv.hostPlatform.extensions.sharedLibrary}
|
||||
install -D -m644 -t $out/share/nnedi3 nnedi3_weights.bin
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
inherit (vapoursynth.meta) platforms;
|
||||
description = "Filter for VapourSynth";
|
||||
homepage = "https://github.com/sekrit-twc/znedi3";
|
||||
license = with lib.licenses; [
|
||||
gpl2Plus
|
||||
wtfpl
|
||||
lgpl21
|
||||
];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
};
|
||||
}
|
77
pkgs/vs-dfttest2/package.nix
Normal file
77
pkgs/vs-dfttest2/package.nix
Normal file
|
@ -0,0 +1,77 @@
|
|||
{
|
||||
lib,
|
||||
gcc12Stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
pkg-config,
|
||||
cudaPackages_11_8,
|
||||
rocmPackages,
|
||||
vapoursynth,
|
||||
zimg,
|
||||
cudaSupport ? false,
|
||||
rocmSupport ? false,
|
||||
genericVector ? false,
|
||||
}:
|
||||
|
||||
# Based on project's CI
|
||||
gcc12Stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "vs-dfttest2";
|
||||
version = "7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
fetchSubmodules = true;
|
||||
owner = "AmusementClub";
|
||||
repo = "vs-dfttest2";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-6VFUVdCKSbdhjKBUacQXEN5IyB4crngglAM99h+hGxU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
[
|
||||
cmake
|
||||
pkg-config
|
||||
]
|
||||
++ lib.optionals cudaSupport [
|
||||
cudaPackages_11_8.cuda_nvcc
|
||||
cudaPackages_11_8.cuda_nvrtc
|
||||
]
|
||||
++ lib.optionals rocmSupport [ rocmPackages.clr ];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
vapoursynth
|
||||
zimg
|
||||
]
|
||||
++ lib.optionals cudaSupport [
|
||||
cudaPackages_11_8.cuda_cudart
|
||||
cudaPackages_11_8.libcufft
|
||||
]
|
||||
++ lib.optionals rocmSupport [
|
||||
rocmPackages.clr
|
||||
rocmPackages.hipfft
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "CMAKE_CXX_FLAGS" "-ffast-math")
|
||||
(lib.cmakeBool "ENABLE_CUDA" cudaSupport)
|
||||
(lib.cmakeBool "ENABLE_HIP" rocmSupport)
|
||||
(lib.cmakeBool "ENABLE_CPU" (!genericVector))
|
||||
(lib.cmakeBool "ENABLE_GCC" genericVector)
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail "\''${VS_LIBDIR}" "lib"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Plugin for VapourSynth: dfttest2";
|
||||
homepage = "https://github.com/AmusementClub/vs-dfttest2";
|
||||
license = with lib.licenses; [
|
||||
gpl3
|
||||
asl20
|
||||
];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
platforms = with lib.platforms; if genericVector then all else x86_64;
|
||||
};
|
||||
})
|
52
pkgs/vs-nlm-cuda/package.nix
Normal file
52
pkgs/vs-nlm-cuda/package.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
lib,
|
||||
gcc12Stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
pkg-config,
|
||||
cudaPackages_11_8,
|
||||
vapoursynth,
|
||||
zimg,
|
||||
}:
|
||||
|
||||
gcc12Stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "vs-nlm-cuda";
|
||||
version = "1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AmusementClub";
|
||||
repo = "vs-nlm-cuda";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-VxIe3ec0Hxgcd6HTDbZ9zx6Ss0H2eOtRVLq1ftIwRPY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
cudaPackages_11_8.cuda_nvcc
|
||||
cudaPackages_11_8.cuda_nvrtc
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cudaPackages_11_8.cuda_cudart
|
||||
vapoursynth
|
||||
zimg
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
cmakeFlagsArray=(${lib.escapeShellArg (lib.cmakeFeature "CMAKE_CUDA_FLAGS" "--use_fast_math -Wno-deprecated-gpu-targets")})
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail "\''${VS_LIBDIR}" "lib"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Plugin for VapourSynth: vs-nlm-cuda";
|
||||
homepage = "https://github.com/AmusementClub/vs-nlm-cuda";
|
||||
license = with lib.licenses; [ gpl3 ];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
})
|
54
pkgs/vs-nlm-ispc/package.nix
Normal file
54
pkgs/vs-nlm-ispc/package.nix
Normal file
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
hostPlatform,
|
||||
cmake,
|
||||
pkg-config,
|
||||
ispc,
|
||||
vapoursynth,
|
||||
zimg,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "vs-nlm-ispc";
|
||||
version = "2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AmusementClub";
|
||||
repo = "vs-nlm-ispc";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-lP/6a83Sy+R4umt2GiZnB/to/x6jjGOChgUFQZQUwz4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
ispc
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
vapoursynth
|
||||
zimg
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "CMAKE_ISPC_INSTRUCTION_SETS" (
|
||||
if hostPlatform.isx86_64 then "sse2-i32x4;avx1-i32x4;avx2-i32x8" else "neon-i32x4"
|
||||
))
|
||||
(lib.cmakeFeature "CMAKE_ISPC_FLAGS" "--opt=fast-math")
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail "\''${VS_LIBDIR}" "lib"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Plugin for VapourSynth: vs-nlm-ispc";
|
||||
homepage = "https://github.com/AmusementClub/vs-nlm-ispc";
|
||||
license = with lib.licenses; [ gpl3 ];
|
||||
maintainers = with lib.maintainers; [ snaki ];
|
||||
platforms = with lib.platforms; x86_64 ++ aarch64;
|
||||
};
|
||||
})
|
Loading…
Reference in a new issue