summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/rapidjson/package.py
blob: 8ea6a3f850a1944a9df8156ad65ab69a5cf677a7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 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 Rapidjson(CMakePackage):
    """A fast JSON parser/generator for C++ with both SAX/DOM style API"""

    homepage = "https://rapidjson.org"
    url = "https://github.com/Tencent/rapidjson/archive/v1.1.0.tar.gz"
    git = "https://github.com/Tencent/rapidjson.git"

    license("MIT")

    version("1.2.0-2022-03-09", commit="8261c1ddf43f10de00fd8c9a67811d1486b2c784")
    version("1.2.0-2021-08-13", commit="00dbcf2c6e03c47d6c399338b6de060c71356464")
    version("1.1.0", sha256="bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e")
    version("1.0.2", sha256="c3711ed2b3c76a5565ee9f0128bb4ec6753dbcc23450b713842df8f236d08666")
    version("1.0.1", sha256="a9003ad5c6384896ed4fd1f4a42af108e88e1b582261766df32d717ba744ee73")
    version("1.0.0", sha256="4189b32b9c285f34b37ffe4c0fd5627c1e59c2444daacffe5a96fdfbf08d139b")

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

    depends_on("doxygen+graphviz", when="+doc")

    # -march=native causes issues on ARM, with older GCC, and with Fujitsu
    # Spack injects the appropriate optimization flags anyway
    # https://github.com/Tencent/rapidjson/issues/1816
    patch("no_march-1.2.patch", when="@1.2")
    patch("no_march-1.1.patch", when="@1.1")
    patch("no_march-1.0.patch", when="@1.0")

    def cmake_args(self):
        args = []
        args.append(self.define_from_variant("RAPIDJSON_BUILD_DOC", "doc"))
        return args