# Copyright 2013-2024 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 Muparser(Package): """C++ math expression parser library.""" homepage = "https://beltoforion.de/en/muparser/" url = "https://github.com/beltoforion/muparser/archive/v2.2.5.tar.gz" license("BSD-2-Clause") version("2.3.4", sha256="0c3fa54a3ebf36dda0ed3e7cd5451c964afbb15102bdbcba08aafb359a290121") version("2.2.6.1", sha256="d2562853d972b6ddb07af47ce8a1cdeeb8bb3fa9e8da308746de391db67897b3") version("2.2.5", sha256="0666ef55da72c3e356ca85b6a0084d56b05dd740c3c21d26d372085aa2c6e708") # Replace std::auto_ptr by std::unique_ptr # https://github.com/beltoforion/muparser/pull/46 patch("auto_ptr.patch", when="@2.2.5") depends_on("cmake@3.1.0:", when="@2.2.6:", type="build") # Cmake build since 2.2.6 @when("@2.2.6:") def install(self, spec, prefix): cmake_args = ["-DENABLE_SAMPLES=OFF", "-DENABLE_OPENMP=OFF", "-DBUILD_SHARED_LIBS=ON"] cmake_args.extend(std_cmake_args) with working_dir("spack-build", create=True): cmake("..", *cmake_args) make() make("install") @when("@2.2.5") def install(self, spec, prefix): options = [ "--disable-debug", "--disable-samples", "--disable-dependency-tracking", "CXXFLAGS={0}".format(self.compiler.cxx11_flag), "--prefix=%s" % prefix, ] configure(*options) make(parallel=False) make("install")