diff options
author | John Parent <john.parent@kitware.com> | 2021-10-22 14:00:02 -0400 |
---|---|---|
committer | Peter Scheibel <scheibel1@llnl.gov> | 2022-03-17 09:01:01 -0700 |
commit | 3a994032f8143a2bdbfe5c61baeb12b1bd2fed60 (patch) | |
tree | 6d4e357f96f071bb50c62cb7238bb85f0431c6b7 /var/spack/repos/builtin/packages/nasm/package.py | |
parent | 90c773488c59e57c19ecca5635c1ae7f70e56076 (diff) | |
download | spack-3a994032f8143a2bdbfe5c61baeb12b1bd2fed60.tar.gz spack-3a994032f8143a2bdbfe5c61baeb12b1bd2fed60.tar.bz2 spack-3a994032f8143a2bdbfe5c61baeb12b1bd2fed60.tar.xz spack-3a994032f8143a2bdbfe5c61baeb12b1bd2fed60.zip |
Spack on Windows package ports
CMake - Windows Bootstrap (#25825)
Remove hardcoded cmake compiler (#26410)
Revert breaking cmake changes
Ensure no autotools on Windows
Perl on Windows (#26612)
Python source build windows (#26313)
Reconfigure sysconf for Windows
Python2.6 compatibility
Fxixup new sbang tests for windows
Ruby support (#28287)
Add NASM support (#28319)
Add mock Ninja package for testing
Diffstat (limited to 'var/spack/repos/builtin/packages/nasm/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/nasm/package.py | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/nasm/package.py b/var/spack/repos/builtin/packages/nasm/package.py index 2f0c747a52..6bfa36a660 100644 --- a/var/spack/repos/builtin/packages/nasm/package.py +++ b/var/spack/repos/builtin/packages/nasm/package.py @@ -5,17 +5,20 @@ from spack import * +is_windows = str(spack.platforms.host()) == 'windows' -class Nasm(AutotoolsPackage): + +class Nasm(Package): """NASM (Netwide Assembler) is an 80x86 assembler designed for portability and modularity. It includes a disassembler as well.""" homepage = "https://www.nasm.us" - url = "https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.xz" + url = "https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.gz" list_url = "https://www.nasm.us/pub/nasm/releasebuilds" list_depth = 1 + a = '3caf6729c1073bf96629b57cee31eeb54f4f8129b01902c73428836550b30a3f' - version('2.15.05', sha256='3caf6729c1073bf96629b57cee31eeb54f4f8129b01902c73428836550b30a3f') + version('2.15.05', sha256='9182a118244b058651c576baa9d0366ee05983c4d4ae1d9ddd3236a9f2304997') version('2.14.02', sha256='e24ade3e928f7253aa8c14aa44726d1edf3f98643f87c9d72ec1df44b26be8f5') version('2.13.03', sha256='812ecfb0dcbc5bd409aaa8f61c7de94c5b8752a7b00c632883d15b2ed6452573') version('2.11.06', sha256='90f60d95a15b8a54bf34d87b9be53da89ee3d6213ea739fb2305846f4585868a') @@ -24,9 +27,13 @@ class Nasm(AutotoolsPackage): # 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:') + patch('msvc.mak.patch', when='platform=windows') + conflicts('%intel@:14', when='@2.14:', msg="Intel 14 has immature C11 support") + phases = ['configure', 'build', 'install'] + def patch(self): # Remove flags not recognized by the NVIDIA compiler if self.spec.satisfies('%nvhpc@:20.11'): @@ -34,3 +41,23 @@ class Nasm(AutotoolsPackage): 'CFLAGS="$pa_add_cflags__old_cflags"', 'configure') filter_file(r'CFLAGS="\$pa_add_flags__old_flags -Werror=.*"', 'CFLAGS="$pa_add_flags__old_flags"', 'configure') + + def configure(self, spec, prefix): + with working_dir(self.stage.source_path, create=True): + if not is_windows: + configure(['--prefix={0}'.format(self.prefix)]) + + def build(self, spec, prefix): + with working_dir(self.stage.source_path): + if is_windows: + touch('asm\\warnings.time') + nmake('/f', 'Mkfiles\\msvc.mak') + else: + make(['V=1']) + + def install(self, spec, prefix): + with working_dir(self.stage.source_path): + if is_windows: + pass + else: + make(['install']) |