# Copyright 2013-2022 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 Libtheora(AutotoolsPackage):
    """Theora Video Compression."""

    homepage = "https://www.theora.org"
    url      = "http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.xz"

    version('1.1.1',       sha256='f36da409947aa2b3dcc6af0a8c2e3144bc19db2ed547d64e9171c59c66561c61')
    version('1.1.0',       sha256='3d7b4fb1c115f1a530afd430eed2e8861fa57c8b179ec2d5a5d8f1cd0c7a4268')

    variant('doc', default=False, description="Build documentation")

    depends_on('autoconf', type='build')
    depends_on('automake', type='build')
    depends_on('libtool',  type='build')
    depends_on('m4',       type='build')
    depends_on('doxygen', when='+doc', type='build')
    depends_on('libogg')
    depends_on('libpng')

    patch('exit-prior-to-running-configure.patch', when='@1.1.1')
    patch('fix_encoding.patch', when='@1.1:')
    patch('https://gitlab.xiph.org/xiph/theora/-/commit/7288b539c52e99168488dc3a343845c9365617c8.patch',
          sha256='8b1f256fa6bfb4ce1355c5be1104e8cfe695c8484d8ea19db06c006880a02298', when='^libpng@1.6:')

    def autoreconf(self, spec, prefix):
        sh = which('sh')
        if self.spec.satisfies('target=aarch64:'):
            sh('./autogen.sh', 'prefix={0}'.format(prefix),
               '--build=arm-linux')
        else:
            sh('./autogen.sh', 'prefix={0}'.format(prefix))

    def configure_args(self):
        args = []
        args += self.enable_or_disable('doc')
        return args
