Commit 31aa6f1f authored by Ramon Nou's avatar Ramon Nou
Browse files

Merge branch 'rnou/365-spack-update-0-9-5' into 'master'

Resolve "spack update 0.9.5"

Closes #365

Closes #365

See merge request !260
parents 7dcdce40 51bf6630
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
  - Updated Docker images for 0.9.5 ([!238](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/238))
  - Logging uses a higher FD limit ([!259](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/259))
    - Avoid throwing runtime error if the fd is invalid (may happen on destruction)
  - Updated spack for 0.9.4 ([!260](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/260))
  
### Fixed
  - Dup3 is supported if O_CLOEXEC is not used (i.e. hexdump) ([!228](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/228))
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack import *
from spack.package import *


class Agios(CMakePackage):
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack import *
from spack.package import *


class Bmi(AutotoolsPackage):
+34 −0
Original line number Diff line number Diff line
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack_repo.builtin.build_systems.cmake import CMakePackage

from spack.package import *


class Capstone(CMakePackage):
    """Capstone is a lightweight multi-platform,
    multi-architecture disassembly framework."""

    homepage = "https://www.capstone-engine.org/"
    url = "https://github.com/capstone-engine/capstone/archive/4.0.1.tar.gz"
    git = "https://github.com/capstone-engine/capstone.git"

    license("BSD-3-Clause-Clear")

    version("6.0.0-Alpha1", sha256="6d617aa91818b7eece0f2bea59b93b1f87dda2f65c60fdb429b9811d8cd04b52")
    version("5.0.1", sha256="2b9c66915923fdc42e0e32e2a9d7d83d3534a45bb235e163a70047951890c01a")
    version("4.0.2", sha256="7c81d798022f81e7507f1a60d6817f63aa76e489aa4e7055255f21a22f5e526a")
    version("4.0.1", sha256="79bbea8dbe466bd7d051e037db5961fdb34f67c9fac5c3471dd105cfb1e05dc7")

    depends_on("c", type="build")
    depends_on("cxx", type="build")

    def cmake_args(self):
        """Set up syscall intercept CMake arguments"""
        args = [
            self.define('BUILD_SHARED_LIBS', 'ON'),
            self.define('CMAKE_POSITION_INDEPENDENT_CODE', 'ON'),
        ]
        return args
 No newline at end of file
+37 −16
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack import *
from spack.package import *


# for Clion. Comment out when using spack
@@ -20,15 +20,16 @@ class Gekkofs(CMakePackage):
    isolation from each other with regards to I/O, which reduces interferences and improves performance."""
    homepage = "https://storage.bsc.es/gitlab/hpc/gekkofs"
    git = "https://storage.bsc.es/gitlab/hpc/gekkofs.git"
    url = "https://storage.bsc.es/projects/gekkofs/releases/gekkofs-v0.9.3.tar.gz"
    url = "https://storage.bsc.es/projects/gekkofs/releases/gekkofs-v0.9.4.tar.gz"

    maintainers = ['marc_vef', 'ramon_nou']
    # set various versions
    version('latest', branch='master', submodules=True)
    version('latest', branch='rnou/365-spack-update-0-9-5', submodules=True)
    version('0.9.0', sha256='f6f7ec9735417d71d68553b6a4832e2c23f3e406d8d14ffb293855b8aeec4c3a', deprecated=True)
    version('0.9.1', sha256='1772b8a9d4777eca895f88cea6a1b4db2fda62e382ec9f73508e38e9d205d5f7', deprecated=True)
    version('0.9.2', sha256='30e0fb225e890b89eaddd930a10845d549c8f5be7aa4670e2cb97d4aaa3eb459', deprecated=True)
    version('0.9.3', sha256='3ebc62eccbcf91e9077f6c76ed06e76eb1b5c67ae1d0a43cd36300c0b52b4844')
    version('0.9.3', sha256='3ebc62eccbcf91e9077f6c76ed06e76eb1b5c67ae1d0a43cd36300c0b52b4844', deprecated=True)
    version('0.9.4', sha256='e45a50b158736888192c0cd4c58ecbf7c0392eb0532ea8f84b0745b1ae45db5a')
    # apply patches
    patch('date-tz.patch', when='@0.9.0,0.9.2')
    # set arguments
@@ -43,17 +44,19 @@ class Gekkofs(CMakePackage):
    variant('guided_distributor', default=False, description='Enables the guided distributor.')
    variant('prometheus', default=False, description='Enables Prometheus support for statistics.')
    variant('parallax', default=False, description='Enables Parallax key-value database.', when='@latest')
    variant('rename', default=False, description='Enables experimental rename support.', when='@latest')
    variant('rename', default=True, description='Enables experimental rename support.', when='@0.9.4,latest')
    variant('symlinks', default=True, description='Enables experimental symlink support.', when='@0.9.4,latest')
    variant('dedicated_psm2', default=False, description='Use dedicated _non-system_ opa-psm2 version 11.2.185.')
    variant('compile', default='x86', multi=False, values=('x86', 'powerpc', 'arm'),
    variant('compile', default='x86', multi=False, values=('x86', 'powerpc', 'arm', 'riscv'),
            description='Architecture to compile syscall intercept.')
    # general dependencies
    depends_on('cmake@3.6.0:', type='build')
    depends_on('cmake@3.15: -doc -ncurses -qtgui', type='build')
    depends_on('lz4')
    depends_on('argobots')
    depends_on('syscall-intercept@arm', when='compile=arm')
    depends_on('syscall-intercept@powerpc', when='compile=powerpc')
    depends_on('syscall-intercept@x86', when='compile=x86')
    depends_on('argobots@1.1:', type='link')
    depends_on('syscall-intercept@arm', when='compile=arm', type='link')
    depends_on('syscall-intercept@powerpc', when='compile=powerpc', type='link')
    depends_on('syscall-intercept@x86', when='compile=x86', type='link')
    depends_on('syscall-intercept@riscv', when='compile=riscv', type='link')
    depends_on('opa-psm2@11.2.185', when='+dedicated_psm2')
    # 0.9.0 specific
    depends_on('date cxxstd=14 +shared +tz tzdb=system', when='@0.9.0,0.9.1,0.9.2')
@@ -64,12 +67,16 @@ class Gekkofs(CMakePackage):
    # 0.9.1 specific
    depends_on('rocksdb@6.26.1 -shared +static +lz4 -snappy -zlib -zstd -bz2 +rtti', when='@0.9.1')
    # 0.9.2 specific
    depends_on('rocksdb@8.10.2 -shared +static +lz4 -snappy -zlib -zstd -bz2 +rtti', when='@0.9.2,0.9.3,latest')
    depends_on('rocksdb@8.10.2 -shared +static +lz4 -snappy -zlib -zstd -bz2 +rtti', when='@0.9.2,0.9.3')
    # 0.9.3 specific
    depends_on('libfabric@1.20.1', when='@0.9.3,latest')
    depends_on('mercury@2.3.1 -debug +ofi -mpi -bmi +sm +shared +boostsys -checksum', when='@0.9.3,latest')
    depends_on('mochi-margo@0.15.0', when='@0.9.3,latest')

    depends_on('libfabric@1.20.1 fabrics=sockets,tcp,udp', when='@0.9.3,0.9.4,latest')
    depends_on('mercury@2.3.1 -debug +ofi -mpi -bmi +sm +shared +boostsys -checksum', when='@0.9.3')
    depends_on('mochi-margo@0.15.0', when='@0.9.3')
    #0.9.4 specific
    depends_on('mercury@2.4.0 -debug +ofi -mpi -bmi +sm +shared +boostsys -checksum', when='@0.9.4,latest')
    depends_on('mochi-margo@0.18.3', when='@0.9.4,latest', type='link')
    depends_on('gcc@14.3.1', when='@0.9.4,latest')
    depends_on('rocksdb@9.4.0 -shared +static +lz4 -snappy -zlib -zstd -bz2 +rtti', when='@0.9.4,latest')

    # Additional features
    # Agios I/O forwarding
@@ -86,6 +93,8 @@ class Gekkofs(CMakePackage):
        """Set up GekkoFS CMake arguments"""
        args = [
            self.define('CMAKE_INSTALL_LIBDIR', self.prefix.lib),
            self.define('CMAKE_PREFIX_PATH', self.prefix),
            self.define('CMAKE_INSTALL_PREFIX', self.prefix),
            self.define('GKFS_BUILD_TESTS', self.run_tests),
            self.define_from_variant('GKFS_ENABLE_FORWARDING', 'forwarding'),
            self.define_from_variant('GKFS_ENABLE_AGIOS', 'agios'),
@@ -93,9 +102,21 @@ class Gekkofs(CMakePackage):
            self.define_from_variant('GKFS_ENABLE_PROMETHEUS', 'prometheus'),
            self.define_from_variant('GKFS_USE_PARALLAX', 'parallax'),
            self.define_from_variant('GKFS_RENAME_SUPPORT', 'rename'),
            self.define_from_variant('GKFS_SYMLINK_SUPPORT', 'symlinks'),

        ]
        return args
    
    def patch(self):
        # For gekkofs, add the missing Argobots::Argobots.
        if self.spec.version == Version("0.9.4"):
            filter_file(
                r"PUBLIC dl",
                "PUBLIC dl Argobots::Argobots",
                "src/client/CMakeLists.txt"
            )
           

    def check(self):
        """Run tests"""
        with working_dir(self.build_directory):
Loading