File perl-NBI-Slurm.spec of Package perl-NBI-Slurm

#
# spec file for package perl-NBI-Slurm
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define cpan_name NBI-Slurm
Name:           perl-NBI-Slurm
Version:        0.15.0
Release:        0
License:        MIT
Summary:        NBI Slurm module
URL:            https://metacpan.org/release/%{cpan_name}
Source0:        https://cpan.metacpan.org/authors/id/P/PR/PROCH/%{cpan_name}-%{version}.tar.gz
BuildArch:      noarch
BuildRequires:  perl
BuildRequires:  perl-macros
BuildRequires:  perl(Capture::Tiny) >= 0.40
BuildRequires:  perl(Carp) >= 1.2
BuildRequires:  perl(JSON::PP)
BuildRequires:  perl(Text::ASCIITable) >= 0.22
Requires:       perl(Capture::Tiny) >= 0.40
Requires:       perl(Carp) >= 1.2
Requires:       perl(JSON::PP)
Requires:       perl(Text::ASCIITable) >= 0.22
Recommends:     perl(File::Which)
%{perl_requires}

%description
The 'NBI::Slurm' package provides a set of classes and methods for
submitting jobs to SLURM, a workload manager for high-performance computing
(HPC) clusters. It includes the NBI::Job and 'NBI::Opts' classes, which
allow you to define and configure jobs to be submitted to SLURM.

The NBI::Job class represents a job to be submitted to SLURM. It provides
methods for setting the job name, defining the commands to be executed,
setting the output and error file paths, and submitting the job to SLURM.

The NBI::Opts class represents the SLURM options for the job, such as the
queue, number of threads, allocated memory, and execution time. It allows
you to configure these options and generate the SLURM header for the job
script.

By combining the NBI::Job and NBI::Opts classes, you can easily create and
submit jobs to SLURM. The 'NBI::Slurm' package provides a convenient
interface for interacting with SLURM and managing HPC jobs.

%prep
%autosetup  -n %{cpan_name}-%{version}

find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -path "*/scripts/*" ! -name "configure" -print0 | xargs -0 chmod 644

%build
perl Makefile.PL INSTALLDIRS=vendor
%make_build

%check
make test

%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist

%files -f %{name}.files
%doc Changes CLAUDE.md docs README README.md
%license LICENSE

%changelog
openSUSE Build Service is sponsored by