spack/var/spack/repos/builtin/packages/nasm/package.py

28 lines
1.3 KiB
Python
Raw Normal View History

# Copyright 2013-2019 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 *
2016-08-10 16:50:00 +08:00
class Nasm(AutotoolsPackage):
"""NASM (Netwide Assembler) is an 80x86 assembler designed for
2018-03-19 21:50:02 +08:00
portability and modularity. It includes a disassembler as well."""
2019-06-16 14:50:06 +08:00
homepage = "https://www.nasm.us"
url = "https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.xz"
list_url = "https://www.nasm.us/pub/nasm/releasebuilds"
2018-03-19 21:50:02 +08:00
list_depth = 1
2019-06-16 14:50:06 +08:00
version('2.14.02', sha256='e24ade3e928f7253aa8c14aa44726d1edf3f98643f87c9d72ec1df44b26be8f5')
version('2.13.03', sha256='812ecfb0dcbc5bd409aaa8f61c7de94c5b8752a7b00c632883d15b2ed6452573')
version('2.11.06', sha256='90f60d95a15b8a54bf34d87b9be53da89ee3d6213ea739fb2305846f4585868a')
# Fix compilation with GCC 8
# https://bugzilla.nasm.us/show_bug.cgi?id=3392461
patch('https://src.fedoraproject.org/rpms/nasm/raw/0cc3eb244bd971df81a7f02bc12c5ec259e1a5d6/f/0001-Remove-invalid-pure_func-qualifiers.patch', level=1, sha256='ac9f315d204afa6b99ceefa1fe46d4eed2b8a23c7315d32d33c0f378d930e950', when='@2.13.03 %gcc@8:')
Mark conflicts between newer packages and Intel 14 compilers (#13729) * Mark compiler/version conflict for CMake Intel 14 lacks some C++11 features needed to compile new versions of cmake. ``` /tmp/s3j/spack-stage/spack-stage-cmake-3.15.5-46lgp4ybhopy2p4rr66rxnew5iaddvmg/spack-src/Source/ cm_static_string_view.hxx(28): error: expected an operator friend static_string_view operator"" _s(const char* data, size_t ^ ``` * Mark compiler/version conflict for icu4c With Intel 14.0.4 on Linux for icu4c 60.1 and higher: ``` locid.cpp(1156): error #1140: a using-declaration may not name a constructor or destructor using KeywordEnumeration::KeywordEnumeration; ``` * Mark compiler/version conflict for nasm Error installing `nasm@2.14.02%intel@14.0.4`: ``` In file included from nasmlib/crc64.c(35): ./include/nasmlib.h(116): error: expected a ";" fatal_func nasm_assert_failed(const char *, int, const char *); ``` * Mark compiler/version conflict for bison Installing `bison@3.4.2%intel@14.0.4`: ``` In file included from /tmp/s3j/spack-stage/spack-stage-bison-3.4.2- uzjszv4owvqsymjpxtxvvegfavc6k5my/spack-src/lib/quotearg.c(33): /tmp/s3j/spack-stage/spack-stage-bison-3.4.2-uzjszv4owvqsymjpxtxvvegfavc6k5my/spack-src/lib/ xalloc.h(51): warning #303: explicit type is missing ("int" assumed) extern _Noreturn void xalloc_die (void); ``` * Mark compiler/version conflict for icu4c With `icu4c@60.1%intel@16.0.4` and `icu4c@64.1%intel@16.0.4`: ``` In file included from ucurr.cpp(26): static_unicode_sets.h(130): error #913: invalid multibyte character sequence {POUND_SIGN, u'£'}, ^ ``` * Change conflict comments into messages
2019-11-15 06:27:36 +08:00
conflicts('%intel@:14', when='@2.14:',
msg="Intel 14 has immature C11 support")