Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{cae}[foss/2022a] PALM v22.04.1 #19014

Conversation

VRehnberg
Copy link
Contributor

@VRehnberg VRehnberg commented Oct 13, 2023

(created using eb --new-pr)
requires:

@VRehnberg VRehnberg marked this pull request as draft October 13, 2023 09:49
@VRehnberg
Copy link
Contributor Author

This should basically be working, but I made this a long time ago and am not planning to fix anything that doesn't work anytime soon.

However, figured that I'd make life easier for anyone else (or me) wanting to build PALM in the future.

@VRehnberg
Copy link
Contributor Author

Oh, and this needs the palm.py easyblock, here based on STAR-CCM+:

##
# Copyright 2018-2019 Ghent University
#
# This file is part of EasyBuild,
# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
# with support of Ghent University (http://ugent.be/hpc),
# the Flemish Supercomputer Centre (VSC) (https://www.vscentrum.be),
# Flemish Research Foundation (FWO) (http://www.fwo.be/en)
# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en).
#
# https://github.com/easybuilders/easybuild
#
# EasyBuild is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation v2.
#
# EasyBuild is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with EasyBuild.  If not, see <http://www.gnu.org/licenses/>.
##
"""
EasyBuild support for building and installing PALM, implemented as an easyblock

@author: Viktor Rehnberg (Chalmers University of Technology)
"""
import os
import tempfile

import easybuild.tools.environment as env
from easybuild.framework.easyblock import EasyBlock
from easybuild.tools.config import build_option
from easybuild.tools.filetools import find_glob_pattern
from easybuild.tools.run import run_cmd


class EB_PALM(EasyBlock):
    """Support for building/installing PALM."""

    def __init__(self, *args, **kwargs):
        """Initialise PALM easyblock."""
        super().__init__(*args, **kwargs)

    def configure_step(self):
        """No configuration procedure for PALM."""
        pass

    def build_step(self):
        """No build procedure for PALM."""
        pass

    def install_step(self):
        """Custom install procedure for PALM."""

        install_script_pattern = "install"
        if self.dry_run:
            install_script = install_script_pattern
        else:
            install_script = find_glob_pattern(install_script_pattern)

        cmd = ' '.join([
            self.cfg['preinstallopts'],
            "bash",
            install_script,
            "-p %s" % self.installdir,
            self.cfg['installopts'],
        ])
        run_cmd(cmd, log_all=True, simple=True)

    def sanity_check_step(self):
        """Custom sanity check for PALM."""
        custom_paths = {
            'files': [os.path.join(self.installdir, 'bin', 'palmrun')],
            'dirs': [],
        }
        super().sanity_check_step(custom_paths=custom_paths)

    def make_module_extra(self):
        """Extra statements specific to PALM to include in generated module file."""
        txt = super().make_module_extra()

        bin_dirs = [
            os.path.join(self.installdir, 'bin'),
        ]
        txt += self.module_generator.prepend_paths('PATH', bin_dirs)

        return txt

@migueldiascosta
Copy link
Member

@VRehnberg can you open a PR for the easyblock in the easybuild-easyblocks repo?

@VRehnberg
Copy link
Contributor Author

@VRehnberg can you open a PR for the easyblock in the easybuild-easyblocks repo?

Done easybuilders/easybuild-easyblocks#3020

@akesandgren
Copy link
Contributor

Test report by @akesandgren
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3020
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
b-an02.hpc2n.umu.se - Linux Ubuntu 20.04, x86_64, Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz, Python 3.8.10
See https://gist.github.com/akesandgren/f86aa2c0fb05adfe4d26e231f4ac8aa5 for a full test report.

@akesandgren
Copy link
Contributor

Test report by @akesandgren
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3020
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
b-an02.hpc2n.umu.se - Linux Ubuntu 20.04, x86_64, Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz, Python 3.8.10
See https://gist.github.com/akesandgren/f12876b20bbf90bb78dccdbe3d24fbfc for a full test report.

@boegel boegel added the new label Nov 8, 2023
@boegel boegel added this to the 4.x milestone Nov 8, 2023
@boegel
Copy link
Member

boegel commented Nov 8, 2023

@VRehnberg Is there a particular reason why this is still a draft PR?

Looks good to go to me, since the easyblock PR easybuilders/easybuild-easyblocks#3020 is already merged?

@VRehnberg VRehnberg marked this pull request as ready for review November 8, 2023 08:28
@VRehnberg
Copy link
Contributor Author

@VRehnberg Is there a particular reason why this is still a draft PR?

Looks good to go to me, since the easyblock PR easybuilders/easybuild-easyblocks#3020 is already merged?

The reason is that I forgot about it ^^'

@easybuilders easybuilders deleted a comment from boegelbot Nov 8, 2023
@boegel
Copy link
Member

boegel commented Jun 4, 2024

@VRehnberg I propose we close this in favor of:

That easyconfig doesn't use the custom easyblock for PALM that was introduced in easybuilders/easybuild-easyblocks#3020, so we should remove it imho...

@VRehnberg VRehnberg closed this Jun 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants