From fdf8a01044b7ee1696b47230b1829c6f11f95131 Mon Sep 17 00:00:00 2001 From: Stefan-Olt Date: Thu, 10 Oct 2024 00:40:54 +0200 Subject: [PATCH] 3 new plugins --- plugins/dfttest.json | 187 +++++++++++++++++++++++++++++++++++++++++++ plugins/misc.json | 131 ++++++++++++++++++++++++++++++ plugins/rgvs.json | 126 +++++++++++++++++++++++++++++ vsp-build-update.py | 6 +- 4 files changed, 448 insertions(+), 2 deletions(-) create mode 100644 plugins/dfttest.json create mode 100644 plugins/misc.json create mode 100644 plugins/rgvs.json diff --git a/plugins/dfttest.json b/plugins/dfttest.json new file mode 100644 index 0000000..8052a66 --- /dev/null +++ b/plugins/dfttest.json @@ -0,0 +1,187 @@ +{ + "name": "DFTTest", + "type": "VSPlugin", + "description": "", + "identifier": "com.holywu.dfttest", + "github": "https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DFTTest", + "runtime_dependencies": { + "fftw3": { + "versions": { + "3.3.10": { + "source": "https://www.fftw.org/fftw-3.3.10.tar.gz", + "hash": "56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467", + "build": { + ".*": { + "commands": [ + { + "cmd": [ + "tar", + "xzf", + "{DL_FILENAME}" + ] + }, + { + "env": { + "CFLAGS": "-fPIC" + }, + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "./configure", + "--prefix={WORKSPACEDIR}", + "--enable-static", + "--disable-shared", + "--enable-single" + ] + }, + { + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "make", + "-j{NPROC}" + ] + }, + { + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "make", + "install" + ] + } + ] + } + } + } + } + } + }, + "file_definitions": { + "test-filter-0.vpy": { + "path": "{TESTDIR}", + "encoding": "text/utf-8", + "data": "import vapoursynth as vs\ncore = vs.core\ncore.std.LoadPlugin('{TESTDIR}/{PLUGIN_FILENAME}')\nc = core.std.BlankClip(format=vs.YUV420P8,width=320,height=240,length=10)\nc = core.dfttest.DFTTest(c)\nc.set_output(0)\n" + } + }, + "tests": [ + { + "name": "test-filter-0", + "create_files": [ + "test-filter-0.vpy" + ], + "commands": [ + { + "cwd": "{TESTDIR}", + "cmd": [ + "{VSPIPE}", + "test-filter-0.vpy", + "--" + ] + } + ] + } + ], + "releases": [ + { + "version": "git:89034df", + "published": "2020-07-11T00:42:58Z", + "source": "https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DFTTest/archive/89034df.tar.gz", + "hash": "f9c45840c4ea6ec40da4a780a01d7859df3ab155956e0f327bc23df05c1fe382", + "filename": "VapourSynth-DFTTest-89034df3fa630cbc9d73fd3ed9bcc222468f3fee.tar.gz", + "additional_files": { + ".*": [ + "{BUILDDIR}/{DL_DIRECTORY}/LICENSE", + "{BUILDDIR}/{DL_DIRECTORY}/README.md" + ] + }, + "build": { + ".*": { + "commands": [ + { + "cmd": [ + "tar", + "xzf", + "{DL_FILENAME}" + ] + }, + { + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "meson", + "rewrite", + "kwargs", + "delete", + "target", + "dfttest", + "install_dir", + "foobar" + ] + }, + { + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "meson", + "setup", + "--prefix={WORKSPACEDIR}", + "--libdir={WORKSPACEDIR}/lib", + "build" + ] + }, + { + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "ninja", + "-C", + "build" + ] + }, + { + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "ninja", + "-C", + "build", + "install" + ] + } + ], + "dependencies": [ + { + "name": "fftw3", + "version": "3.3.10" + } + ] + } + }, + "buildtools_dependencies": { + ".*": [ + { + "name": "meson", + "version": [ + ">=", + "0.60.0" + ] + }, + { + "name": "ninja", + "version": [ + ">=", + "1.10.0" + ] + } + ] + }, + "release_files": { + "linux-.*": [ + "{WORKSPACEDIR}/lib/libdfttest.so" + ], + "darwin-.*": [ + "{WORKSPACEDIR}/lib/libdfttest.dylib" + ] + }, + "tests": { + ".*": [ + "test-filter-0" + ] + } + } + ] +} \ No newline at end of file diff --git a/plugins/misc.json b/plugins/misc.json new file mode 100644 index 0000000..566090a --- /dev/null +++ b/plugins/misc.json @@ -0,0 +1,131 @@ +{ + "name": "Miscfilters (obsolete)", + "type": "VSPlugin", + "description": "Miscellaneous Filters is a random collection of filters that mostly are useful for Avisynth compatibility.", + "identifier": "com.vapoursynth.misc", + "github": "https://github.com/vapoursynth/vs-miscfilters-obsolete", + "file_definitions": { + "test-filter-0.vpy": { + "path": "{TESTDIR}", + "encoding": "text/utf-8", + "data": "import vapoursynth as vs\ncore = vs.core\ncore.std.LoadPlugin('{TESTDIR}/{PLUGIN_FILENAME}')\nc = core.std.BlankClip(format=vs.YUV420P8,width=320,height=240,length=10)\nc = core.misc.SCDetect(c)\nc.set_output(0)\n" + } + }, + "tests": [ + { + "name": "test-filter-0", + "create_files": [ + "test-filter-0.vpy" + ], + "commands": [ + { + "cwd": "{TESTDIR}", + "cmd": [ + "{VSPIPE}", + "test-filter-0.vpy", + "--" + ] + } + ] + } + ], + "releases": [ + { + "version": "git:07e0589", + "published": "2022-01-24T09:30:40Z", + "source": "https://github.com/vapoursynth/vs-miscfilters-obsolete/archive/07e0589.tar.gz", + "hash": "6ed883f1ea04e5b79fb9a3200724d025f85795d7266e1756d7d0bf4e538e58d9", + "filename": "vs-miscfilters-obsolete-07e0589a381f7deb3bf533bb459a94482bccc5c7.tar.gz", + "additional_files": { + ".*": [ + "{BUILDDIR}/{DL_DIRECTORY}/LICENSE" + ] + }, + "build": { + ".*": { + "commands": [ + { + "cmd": [ + "tar", + "xzf", + "{DL_FILENAME}" + ] + }, + { + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "meson", + "rewrite", + "kwargs", + "delete", + "target", + "miscfilters", + "install_dir", + "foobar" + ] + }, + { + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "meson", + "setup", + "--prefix={WORKSPACEDIR}", + "--libdir={WORKSPACEDIR}/lib", + "build" + ] + }, + { + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "ninja", + "-C", + "build" + ] + }, + { + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "ninja", + "-C", + "build", + "install" + ] + } + ], + "dependencies": [] + } + }, + "buildtools_dependencies": { + ".*": [ + { + "name": "meson", + "version": [ + ">=", + "0.60.0" + ] + }, + { + "name": "ninja", + "version": [ + ">=", + "1.10.0" + ] + } + ] + }, + "release_files": { + "linux-.*": [ + "{WORKSPACEDIR}/lib/libmiscfilters.so" + ], + "darwin-.*": [ + "{WORKSPACEDIR}/lib/libmiscfilters.dylib" + ] + }, + "tests": { + ".*": [ + "test-filter-0" + ] + } + } + ] +} \ No newline at end of file diff --git a/plugins/rgvs.json b/plugins/rgvs.json new file mode 100644 index 0000000..573d4b8 --- /dev/null +++ b/plugins/rgvs.json @@ -0,0 +1,126 @@ +{ + "name": "RemoveGrain", + "type": "VSPlugin", + "description": "RemoveGrain is a spatial denoising filter with various filtering modes.", + "identifier": "com.vapoursynth.removegrainvs", + "github": "https://github.com/vapoursynth/vs-removegrain", + "file_definitions": { + "test-filter-0.vpy": { + "path": "{TESTDIR}", + "encoding": "text/utf-8", + "data": "import vapoursynth as vs\ncore = vs.core\ncore.std.LoadPlugin('{TESTDIR}/{PLUGIN_FILENAME}')\nc = core.std.BlankClip(format=vs.YUV420P8,width=320,height=240,length=10)\nc = core.rgvs.RemoveGrain(c,1)\nc.set_output(0)\n" + } + }, + "tests": [ + { + "name": "test-filter-0", + "create_files": [ + "test-filter-0.vpy" + ], + "commands": [ + { + "cwd": "{TESTDIR}", + "cmd": [ + "{VSPIPE}", + "test-filter-0.vpy", + "--" + ] + } + ] + } + ], + "releases": [ + { + "version": "git:89ca38a", + "published": "2022-10-28T15:31:38Z", + "source": "https://github.com/vapoursynth/vs-removegrain/archive/89ca38a.tar.gz", + "hash": "79b8a291fa0c449dd4b742deca91b03fa609e81e19332e1c9bb092864fbfa968", + "filename": "vs-removegrain-89ca38a6971e371bdce2778291393258daa5f03b.tar.gz", + "build": { + ".*": { + "commands": [ + { + "cmd": [ + "tar", + "xzf", + "{DL_FILENAME}" + ] + }, + { + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "meson", + "rewrite", + "kwargs", + "delete", + "target", + "removegrain", + "install_dir", + "foobar" + ] + }, + { + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "meson", + "setup", + "--prefix={WORKSPACEDIR}", + "--libdir={WORKSPACEDIR}/lib", + "build" + ] + }, + { + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "ninja", + "-C", + "build" + ] + }, + { + "cwd": "{DL_DIRECTORY}", + "cmd": [ + "ninja", + "-C", + "build", + "install" + ] + } + ], + "dependencies": [] + } + }, + "buildtools_dependencies": { + ".*": [ + { + "name": "meson", + "version": [ + ">=", + "0.60.0" + ] + }, + { + "name": "ninja", + "version": [ + ">=", + "1.10.0" + ] + } + ] + }, + "release_files": { + "linux-.*": [ + "{WORKSPACEDIR}/lib/libremovegrain.so" + ], + "darwin-.*": [ + "{WORKSPACEDIR}/lib/libremovegrain.dylib" + ] + }, + "tests": { + ".*": [ + "test-filter-0" + ] + } + } + ] +} \ No newline at end of file diff --git a/vsp-build-update.py b/vsp-build-update.py index 6c7e69e..9a97c03 100755 --- a/vsp-build-update.py +++ b/vsp-build-update.py @@ -454,7 +454,8 @@ def new_dependency(dependencies: dict, new_dependencies: list = []) -> list: del v['buildsystem'] del v['additional_files'] - del v['targetname'] + if 'targetname' in list(v.keys()): + del v['targetname'] return out def new_plugin(vsrepofile: str, dependencies: list = [], tests: list = [], version: Optional[str] = None, git_upd: Optional[str] = None, gh_source: Optional[str] = None, gl_source: Optional[str] = None, url_source: Optional[str] = None) -> bool: @@ -529,7 +530,8 @@ def new_plugin(vsrepofile: str, dependencies: list = [], tests: list = [], versi del v['additional_files'] build_def["releases"][0]["tests"] = { '.*': [ 'test-'+t['type']+'-'+str(i) for i,t in enumerate(tests) ] } del v['buildsystem'] - del v['targetname'] + if 'targetname' in list(v.keys()): + del v['targetname'] with open(os.path.join(os.path.dirname(os.path.realpath(__file__)),"plugins",os.path.splitext(os.path.basename(vsrepofile))[0]+'.json'),"w") as json_file: json_file.write(json.dumps(build_def, indent='\t')) json_file.close()