diff options
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/ffmpeg/package.py | 122 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/py-youtube-dl/package.py | 19 |
2 files changed, 130 insertions, 11 deletions
diff --git a/var/spack/repos/builtin/packages/ffmpeg/package.py b/var/spack/repos/builtin/packages/ffmpeg/package.py index b4ef8cc790..eda88445ee 100644 --- a/var/spack/repos/builtin/packages/ffmpeg/package.py +++ b/var/spack/repos/builtin/packages/ffmpeg/package.py @@ -13,29 +13,129 @@ class Ffmpeg(AutotoolsPackage): homepage = "https://ffmpeg.org" url = "http://ffmpeg.org/releases/ffmpeg-4.1.1.tar.bz2" - version('4.1.1', sha256='0cb40e3b8acaccd0ecb38aa863f66f0c6e02406246556c2992f67bf650fab058') + version('4.2.2', sha256='b620d187c26f76ca19e74210a0336c3b8380b97730df5cdf45f3e69e89000e5c') + version('4.1.1', sha256='0cb40e3b8acaccd0ecb38aa863f66f0c6e02406246556c2992f67bf650fab058') version('4.1', sha256='b684fb43244a5c4caae652af9022ed5d85ce15210835bce054a33fb26033a1a5') version('3.2.4', sha256='c0fa3593a2e9e96ace3c1757900094437ad96d1d6ca19f057c378b5f394496a4') - variant('shared', default=True, - description='build shared libraries') + # Licensing + variant('gpl', default=True, + description='allow use of GPL code, the resulting libs ' + 'and binaries will be under GPL') + variant('version3', default=True, + description='upgrade (L)GPL to version 3') + variant('nonfree', default=False, + description='allow use of nonfree code, the resulting libs ' + 'and binaries will be unredistributable') - variant('aom', default=False, - description='build Alliance for Open Media libraries') + # NOTE: The libopencv option creates a circular dependency. + # NOTE: There are more possible variants that would require additional + # spack packages. + # meta variants: These will toggle several settings + variant('X', default=False, description='X11 support') + variant('drawtext', default=False, description='drawtext filter') + + # options + variant('bzlib', default=True, description='bzip2 support') + variant('libaom', default=False, description='AV1 video encoding/decoding') + variant('libmp3lame', default=False, description='MP3 encoding') + variant('libopenjpeg', default=False, description='JPEG 2000 de/encoding') + variant('libopus', default=False, description='Opus de/encoding') + variant('libsnappy', default=False, + description='Snappy compression, needed for hap encoding') + variant('libspeex', default=False, description='Speex de/encoding') + variant('libssh', default=False, description='SFTP protocol') + variant('libvorbis', default=False, description='Vorbis en/decoding') + variant('libwebp', default=False, description='WebP encoding via libwebp') + # TODO: There is an issue with the spack headers property in the libxml2 + # package recipe. Comment out the libxml2 variant until that is resolved. + # variant('libxml2', default=False, + # description='XML parsing, needed for dash demuxing support') + variant('libzmq', default=False, description='message passing via libzmq') + variant('lzma', default=True, description='lzma support') + variant('openssl', default=False, description='needed for https support') + variant('sdl2', default=True, description='sdl2 support') + variant('shared', default=True, description='build shared libraries') + + depends_on('alsa-lib') + depends_on('libiconv') depends_on('yasm@1.2.0:') - depends_on('aom', when='+aom') + depends_on('zlib') + + depends_on('aom', when='+libaom') + depends_on('bzip2', when='+bzlib') + depends_on('fontconfig', when='+drawtext') + depends_on('freetype', when='+drawtext') + depends_on('fribidi', when='+drawtext') + depends_on('lame', when='+libmp3lame') + depends_on('libssh', when='+libssh') + depends_on('libvorbis', when='+libvorbis') + depends_on('libwebp', when='+libwebp') + # TODO: enable libxml2 when libxml2 header issue is resolved + # depends_on('libxml2', when='+libxml2') + depends_on('libxv', when='+X') + depends_on('libzmq', when='+libzmq') + depends_on('openjpeg', when='+libopenjpeg') + depends_on('openssl', when='+openssl') + depends_on('opus', when='+libopus') + depends_on('sdl2', when='+sdl2') + depends_on('snappy', when='+libsnappy') + depends_on('speex', when='+libspeex') + depends_on('xz', when='+lzma') def configure_args(self): spec = self.spec config_args = ['--enable-pic'] - if '+shared' in spec: - config_args.append('--enable-shared') + if '+X' in spec: + config_args.extend([ + '--enable-libxcb', + '--enable-libxcb-shape', + '--enable-libxcb-shm', + '--enable-libxcb-xfixes', + '--enable-xlib', + ]) + else: + config_args.extend([ + '--disable-libxcb', + '--disable-libxcb-shape', + '--disable-libxcb-shm', + '--disable-libxcb-xfixes', + '--disable-xlib', + ]) - if '+aom' in spec: - config_args.append('--enable-libaom') + if '+drawtext' in spec: + config_args.extend([ + '--enable-libfontconfig', + '--enable-libfreetype', + '--enable-libfribidi', + ]) else: - config_args.append('--disable-libaom') + config_args.extend([ + '--disable-libfontconfig', + '--disable-libfreetype', + '--disable-libfribidi', + ]) + for variant in [ + 'bzlib', + 'libaom', + 'libmp3lame', + 'libopenjpeg', + 'libopus', + 'libsnappy', + 'libspeex', + 'libssh', + 'libvorbis', + 'libwebp', + # TODO: enable when libxml2 header issue is resolved + # 'libxml2', + 'libzmq', + 'lzma', + 'openssl', + 'sdl2', + 'shared', + ]: + config_args += self.enable_or_disable(variant) return config_args diff --git a/var/spack/repos/builtin/packages/py-youtube-dl/package.py b/var/spack/repos/builtin/packages/py-youtube-dl/package.py new file mode 100644 index 0000000000..48fdf7dea7 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-youtube-dl/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyYoutubeDl(PythonPackage): + """Command-line program to download videos from YouTube.com and other video + sites.""" + + homepage = "https://github.com/ytdl-org/youtube-dl" + url = "https://pypi.io/packages/source/y/youtube_dl/youtube_dl-2020.3.24.tar.gz" + + version('2020.3.24', sha256='4b03efe439f7cae26eba909821d1df00a9a4eb82741cb2e8b78fe29702bd4633') + + depends_on('py-setuptools', type=('build', 'run')) + depends_on('ffmpeg+openssl', type='run') |