From c348776096c80de5b869dd75dcfcc52bd7c950c7 Mon Sep 17 00:00:00 2001 From: RĂ©mi Lacroix Date: Fri, 21 Apr 2023 01:28:07 +0200 Subject: Add new package MozJPEG (#37052) * Add new package MozJPEG MozJPEG is a patched version of libjpeg-turbo which improves JPEG compression efficiency achieving higher visual quality and smaller file sizes at the same time. * MozJPEG: Add myself as a maintainer and fix style --- .../repos/builtin/packages/mozjpeg/package.py | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 var/spack/repos/builtin/packages/mozjpeg/package.py (limited to 'var') diff --git a/var/spack/repos/builtin/packages/mozjpeg/package.py b/var/spack/repos/builtin/packages/mozjpeg/package.py new file mode 100644 index 0000000000..bc3e64d85b --- /dev/null +++ b/var/spack/repos/builtin/packages/mozjpeg/package.py @@ -0,0 +1,48 @@ +# Copyright 2013-2023 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.package import * + + +class Mozjpeg(CMakePackage): + """MozJPEG is a patched version of libjpeg-turbo which improves + JPEG compression efficiency achieving higher visual quality and + smaller file sizes at the same time""" + + homepage = "https://github.com/mozilla/mozjpeg" + url = "https://github.com/mozilla/mozjpeg/archive/refs/tags/v4.1.1.tar.gz" + + maintainers("RemiLacroix-IDRIS") + + version("4.1.1", sha256="66b1b8d6b55d263f35f27f55acaaa3234df2a401232de99b6d099e2bb0a9d196") + + provides("jpeg") + + variant("shared", default=True, description="Build shared libs") + variant("static", default=True, description="Build static libs") + variant("jpeg8", default=False, description="Emulate libjpeg v8 API/ABI") + variant("png", default=False, description="Enable PNG support") + + # Can use either of these. But in the current version of the package + # only nasm is used. In order to use yasm an environmental variable + # NASM must be set. + # TODO: Implement the selection between two supported assemblers. + # depends_on("yasm", type="build") + depends_on("nasm", type="build") + depends_on("libpng@1.6:", when="+png") + + @property + def libs(self): + return find_libraries("libjpeg*", root=self.prefix, recursive=True) + + def cmake_args(self): + args = [ + self.define_from_variant("ENABLE_SHARED", "shared"), + self.define_from_variant("ENABLE_STATIC", "static"), + self.define_from_variant("WITH_JPEG8", "jpeg8"), + self.define_from_variant("PNG_SUPPORTED", "png"), + ] + + return args -- cgit v1.2.3-60-g2f50