From 0166b103951beffe95adb992b5d9c4c8f376da65 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Mon, 6 Jan 2025 16:11:41 +0100 Subject: [PATCH] adding easyconfigs: whisper-ctranslate2-0.5.2-foss-2023a-CUDA-12.1.1.eb, PortAudio-19.7.0-foss-2023a.eb, PyAV-11.0.0-GCCcore-12.3.0.eb --- .../PortAudio/PortAudio-19.7.0-foss-2023a.eb | 51 ++++++++++++++++++ .../p/PyAV/PyAV-11.0.0-GCCcore-12.3.0.eb | 32 +++++++++++ ...translate2-0.5.2-foss-2023a-CUDA-12.1.1.eb | 54 +++++++++++++++++++ 3 files changed, 137 insertions(+) create mode 100644 easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2023a.eb create mode 100644 easybuild/easyconfigs/p/PyAV/PyAV-11.0.0-GCCcore-12.3.0.eb create mode 100644 easybuild/easyconfigs/w/whisper-ctranslate2/whisper-ctranslate2-0.5.2-foss-2023a-CUDA-12.1.1.eb diff --git a/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2023a.eb b/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2023a.eb new file mode 100644 index 00000000000..15d7ae00a51 --- /dev/null +++ b/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2023a.eb @@ -0,0 +1,51 @@ +easyblock = 'ConfigureMake' + +name = 'PortAudio' +version = '19.7.0' + +homepage = 'https://www.portaudio.com/' +description = """PortAudio is a free, cross-platform, open-source, audio I/O library. + It lets you write simple audio programs in 'C' or C++ that will compile and run on many platforms including Windows, + Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between + developers on different platforms. Many applications use PortAudio for Audio I/O.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ["https://github.com/PortAudio/portaudio/archive"] +sources = ["v%(version)s.tar.gz"] +checksums = ['5af29ba58bbdbb7bbcefaaecc77ec8fc413f0db6f4c4e286c40c3e1b83174fa0'] + +dependencies = [ + ('Python', '3.11.3'), + ('alsa-lib', '1.2.9'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, + 'installopts': '', +} + +exts_list = [ + ('PyAudio', '0.2.14', { + 'checksums': ['78dfff3879b4994d1f4fc6485646a57755c6ee3c19647a491f790a0895bd2f87'], + }), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ["include/portaudio.h", "lib/libportaudio.a", "lib/libportaudio.so"], + 'dirs': ['include', 'lib', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'python -c "import pyaudio; pyaudio.get_portaudio_version_text(); pyaudio.__version__"' +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PyAV/PyAV-11.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyAV/PyAV-11.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..529b6bfdc45 --- /dev/null +++ b/easybuild/easyconfigs/p/PyAV/PyAV-11.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'PyAV' +version = '11.0.0' + +homepage = 'https://pyav.org' +description = """PyAV is a Pythonic binding for FFmpeg. We aim to provide all of the power and +control of the underlying library, but manage the gritty details as much as possible.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Cython', '3.0.7'), + ('FFmpeg', '6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('av', version, { + 'installopts': "--no-binary av", + 'checksums': ['48223f000a252070f8e700ff634bb7fb3aa1b7bc7e450373029fbdd6f369ac31'], + }), +] + +moduleclass = "vis" diff --git a/easybuild/easyconfigs/w/whisper-ctranslate2/whisper-ctranslate2-0.5.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/w/whisper-ctranslate2/whisper-ctranslate2-0.5.2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..8d87a797962 --- /dev/null +++ b/easybuild/easyconfigs/w/whisper-ctranslate2/whisper-ctranslate2-0.5.2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'whisper-ctranslate2' +version = '0.5.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/Softcatala/whisper-ctranslate2/' +description = "Whisper command line client compatible with original OpenAI client based on CTranslate2." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('tqdm', '4.66.1'), + ('tokenizers', '0.15.2'), + ('CTranslate2', '4.5.0', versionsuffix), + ('PyAV', '11.0.0'), + ('ONNX-Runtime', '1.19.2', versionsuffix), + ('cffi', '1.15.1'), + ('PortAudio', '19.7.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('huggingface-hub', '0.26.5', { + 'sources': ['huggingface_hub-%(version)s.tar.gz'], + 'checksums': ['1008bd18f60bfb65e8dbc0a97249beeeaa8c99d3c2fa649354df9fa5a13ed83b'], + }), + ('sounddevice', '0.5.1', { + 'checksums': ['09ca991daeda8ce4be9ac91e15a9a81c8f81efa6b695a348c9171ea0c16cb041'], + }), + ('faster-whisper', '1.1.1', { + 'checksums': ['50d27571970c1be0c2b2680a2593d5d12f9f5d2f10484f242a1afbe7cb946604'], + }), + (name, version, { + 'modulename': False, + 'source_urls': ['https://github.com/Softcatala/whisper-ctranslate2/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['8a7c7b232086b8bfa7022f3a3b3f95c8c5175c33663cf8d3fd840539f2be9a49'], + }), +] + +sanity_check_paths = { + 'files': [f'bin/{name}'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [f"{name} --help"] + +moduleclass = 'ai'