Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 138 additions & 0 deletions SPECS/openmpi/openmpi.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS)
# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors
# SPDX-FileContributor: panglars <panghao.riscv@isrc.iscas.ac.cn>
#
# SPDX-License-Identifier: MulanPSL-2.0

Name: openmpi
Version: 5.0.10
Release: %autorelease
Summary: Open Message Passing Interface implementation
License: BSD-3-Clause-Open-MPI AND mpich2 AND BSD-3-Clause AND BSD-4-Clause-UC
URL: https://www.open-mpi.org/
VCS: git:https://github.com/open-mpi/ompi.git
#!RemoteAsset: sha256:0acecc4fc218e5debdbcb8a41d182c6b0f1d29393015ed763b2a91d5d7374cc6
Source0: https://download.open-mpi.org/release/open-mpi/v5.0/openmpi-%{version}.tar.bz2
BuildSystem: autotools

BuildOption(conf): --disable-static
BuildOption(conf): --disable-oshmem
BuildOption(conf): --with-libevent=external
BuildOption(conf): --with-hwloc=external
BuildOption(conf): --with-pmix=external
BuildOption(conf): --with-prrte=external
BuildOption(conf): --without-ucx
BuildOption(conf): --without-ofi
BuildOption(conf): --without-slurm
BuildOption(conf): --without-pbs
BuildOption(conf): --without-lsf
BuildOption(conf): --without-sge
BuildOption(conf): --without-tm
# GCC 16 rejects Open MPI's always_inline part/persist code.
BuildOption(conf): opal_cv_cc_finline_functions=0
BuildOption(conf): opal_cv___attribute__always_inline=0

BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: libtool
BuildRequires: make
BuildRequires: perl
BuildRequires: pkg-config
BuildRequires: pkgconfig(hwloc) >= 1.11.0
BuildRequires: pkgconfig(libevent) >= 2.0.21
BuildRequires: pkgconfig(pmix) >= 5.0.0
BuildRequires: prrte-devel
BuildRequires: pkgconfig(zlib)

Requires: prrte%{?_isa}

%description
Open MPI is an open source implementation of the Message Passing
Interface specification. It provides MPI runtime libraries, command
line launchers, and compiler wrappers for building MPI applications.

%package devel
Summary: Development files for Open MPI
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: gcc
Requires: gcc-c++
Requires: gcc-fortran
Requires: pkgconfig(hwloc) >= 1.11.0
Requires: pkgconfig(libevent) >= 2.0.21
Requires: pkgconfig(pmix) >= 5.0.0
Requires: prrte-devel

%description devel
This package contains Open MPI headers, pkg-config metadata, shared
object symbolic links, and compiler wrapper tools used to build MPI
applications.

%package doc
Summary: Documentation for Open MPI
BuildArch: noarch

%description doc
HTML documentation for Open MPI.

%install -a
# not installs an oshrun alias through mpirun
rm -f %{buildroot}%{_bindir}/oshrun
find %{buildroot}%{_libdir} -name '*.la' -delete

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no need


%files
%doc AUTHORS README.md VERSION
%license LICENSE
%config(noreplace) %{_sysconfdir}/openmpi-mca-params.conf
%config(noreplace) %{_sysconfdir}/openmpi-totalview.tcl
%{_bindir}/mpiexec
%{_bindir}/mpirun
%{_bindir}/ompi_info
%{_libdir}/libmpi*.so.*
%{_libdir}/libopen-pal*.so.*
%dir %{_libdir}/openmpi
%{_libdir}/openmpi/*.so
%dir %{_datadir}/openmpi
%exclude %{_datadir}/openmpi/*-wrapper-data.txt
%{_datadir}/openmpi/*
%{_mandir}/man1/mpisync.1*
%{_mandir}/man1/mpirun.1*
%{_mandir}/man1/ompi_info.1*
%{_mandir}/man7/Open-MPI.7*

%files devel
%{_bindir}/mpiCC
%{_bindir}/mpic++
%{_bindir}/mpicc
%{_bindir}/mpicxx
%{_bindir}/mpif77
%{_bindir}/mpif90
%{_bindir}/mpifort
%{_bindir}/opal_wrapper
%{_includedir}/*.h
%{_includedir}/openmpi/
%{_libdir}/libmpi*.so
%{_libdir}/libopen-pal*.so
%{_libdir}/mpi*.mod
%{_libdir}/pmpi*.mod
%{_libdir}/pkgconfig/ompi*.pc

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't use * here

%{_datadir}/openmpi/*-wrapper-data.txt
%{_mandir}/man1/mpic++.1*
%{_mandir}/man1/mpicc.1*
%{_mandir}/man1/mpicxx.1*
%{_mandir}/man1/mpif77.1*
%{_mandir}/man1/mpif90.1*
%{_mandir}/man1/mpifort.1*
%{_mandir}/man1/ompi-wrapper-compiler.1*
%{_mandir}/man1/opal_wrapper.1*
%{_mandir}/man3/MPI_*.3*
%{_mandir}/man3/MPIX_*.3*
%{_mandir}/man3/OMPI_*.3*

%files doc
%license LICENSE
%doc %{_docdir}/openmpi/html

%changelog
%autochangelog
106 changes: 106 additions & 0 deletions SPECS/pmix/pmix.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS)
# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors
# SPDX-FileContributor: panglars <panghao.riscv@isrc.iscas.ac.cn>
#
# SPDX-License-Identifier: MulanPSL-2.0

Name: pmix
Version: 5.0.10
Release: %autorelease
Summary: Process Management Interface for Exascale reference implementation
License: BSD-3-Clause
URL: https://pmix.org/
VCS: git:https://github.com/openpmix/openpmix.git
#!RemoteAsset: sha256:78663f6b932589d68e24feaf7f8a948d60be68d91965f3effbacb4cd88cf9a95
Source: https://github.com/openpmix/openpmix/releases/download/v%{version}/pmix-%{version}.tar.bz2
BuildSystem: autotools

BuildOption(conf): --disable-static
BuildOption(conf): --disable-wrapper-rpath
BuildOption(conf): --disable-wrapper-runpath
BuildOption(conf): --with-hwloc
BuildOption(conf): --with-libevent
BuildOption(conf): --with-zlib
BuildOption(conf): --without-munge

BuildRequires: autoconf
BuildRequires: automake
BuildRequires: flex
BuildRequires: gcc

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove

BuildRequires: libtool
BuildRequires: make
BuildRequires: pkgconfig(hwloc) >= 1.11.0
BuildRequires: pkgconfig(libevent) >= 2.0.21
BuildRequires: pkgconfig(zlib)

%description
PMIx provides a standard interface that allows applications, tools,
and runtime systems to exchange process management information. It is
used by MPI implementations and resource managers to coordinate job
startup, namespace data, events, and related runtime services.

%package devel
Summary: Development files for PMIx
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove it


%description devel
This package contains headers, the PMIx wrapper compiler, pkgconfig
metadata, and shared object symbolic links for developing applications
against PMIx.

%package doc
Summary: Documentation for PMIx
BuildArch: noarch

%description doc
HTML documentation for PMIx.

%install -a
rm -f %{buildroot}%{_libdir}/libpmix.la
rm -f %{buildroot}%{_libdir}/pmix/*.la

Comment on lines +59 to +62

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove

%files
%license LICENSE
%doc AUTHORS README.md VERSION
%config(noreplace) %{_sysconfdir}/pmix-mca-params.conf
%{_bindir}/palloc
%{_bindir}/pattrs
%{_bindir}/pctrl
%{_bindir}/pevent
%{_bindir}/plookup
%{_bindir}/pmix_info
%{_bindir}/pps
%{_bindir}/pquery
%exclude %{_datadir}/pmix/help-pmixcc.txt
%exclude %{_datadir}/pmix/pmixcc-wrapper-data.txt
%{_datadir}/pmix/
%{_libdir}/libpmix.so.*
%dir %{_libdir}/pmix
%{_libdir}/pmix/*.so
%{_mandir}/man1/pmix_info.1*

%files devel
%{_bindir}/pmixcc
%{_includedir}/pmix.h
%{_includedir}/pmix_common.h
%{_includedir}/pmix_deprecated.h
%{_includedir}/pmix_server.h
%{_includedir}/pmix_tool.h
%{_includedir}/pmix_version.h
%{_includedir}/pmix/
%{_libdir}/libpmix.so
%{_libdir}/pkgconfig/pmix.pc
%{_datadir}/pmix/help-pmixcc.txt
%{_datadir}/pmix/pmixcc-wrapper-data.txt
%{_mandir}/man3/PMIx_Abort.3*
%{_mandir}/man3/PMIx_Finalize.3*
%{_mandir}/man3/PMIx_Init.3*
%{_mandir}/man5/openpmix.5*

%files doc
%license LICENSE
%doc %{_docdir}/pmix/html

%changelog
%autochangelog
85 changes: 85 additions & 0 deletions SPECS/prrte/prrte.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS)
# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors
# SPDX-FileContributor: panglars <panghao.riscv@isrc.iscas.ac.cn>
#
# SPDX-License-Identifier: MulanPSL-2.0

Name: prrte
Version: 3.0.13
Release: %autorelease
Summary: PMIx Reference RunTime Environment
License: BSD-3-Clause
URL: https://docs.prrte.org/
VCS: git:https://github.com/openpmix/prrte.git
#!RemoteAsset: sha256:81c27025182a26e90b0bb6aa67929a9313186fbd43964fc6d8734ce5cecd00ae
Source0: https://github.com/openpmix/prrte/releases/download/v%{version}/prrte-%{version}.tar.gz
BuildSystem: autotools

BuildOption(conf): --disable-static
BuildOption(conf): --disable-silent-rules
BuildOption(conf): --sysconfdir=%{_sysconfdir}/%{name}
BuildOption(conf): --with-pmix
BuildOption(conf): --with-hwloc
BuildOption(conf): --with-libevent

BuildRequires: flex
BuildRequires: make
BuildRequires: perl
BuildRequires: pkgconfig
BuildRequires: pkgconfig(hwloc) >= 1.11.0
BuildRequires: pkgconfig(libevent) >= 2.0.21
BuildRequires: pkgconfig(libevent_pthreads) >= 2.0.21
BuildRequires: pkgconfig(pmix) >= 4.2.4

%description
PRRTE is the PMIx Reference RunTime Environment, a runtime system for
launching, monitoring, and managing parallel applications.

%package devel
Summary: Development files for PRRTE
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig(hwloc) >= 1.11.0
Requires: pkgconfig(hwloc) < 3.0.0
Comment on lines +41 to +42

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(pkgconfig(hwloc) >= 1.11.0 with pkgconfig(hwloc) < 3.0.0)

Requires: pkgconfig(libevent) >= 2.0.21
Requires: pkgconfig(libevent_pthreads) >= 2.0.21
Requires: pkgconfig(pmix) >= 4.2.4
Requires: pkgconfig(pmix) < 6.0.0
Comment on lines +45 to +46

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

try (pkgconfig(pmix) >= 4.2.4 with pkgconfig(pmix) < 6.0.0)


%description devel
This package contains PRRTE headers and the shared library symlink for
developing PRRTE plugins and related software.

%install -a
rm -rf %{buildroot}%{_docdir}/%{name}
find %{buildroot} -name '*.la' -delete

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove


%files
%doc README.md
%license LICENSE
%config(noreplace) %{_sysconfdir}/%{name}/prte-default-hostfile
%config(noreplace) %{_sysconfdir}/%{name}/prte-mca-params.conf
%config(noreplace) %{_sysconfdir}/%{name}/prte.conf
%{_bindir}/prte
%{_bindir}/prte_info
%{_bindir}/prted
%{_bindir}/prterun
%{_bindir}/prun
%{_bindir}/pterm
%{_libdir}/libprrte.so.*
%{_mandir}/man1/prte.1*
%{_mandir}/man1/prte_info.1*
%{_mandir}/man1/prted.1*
%{_mandir}/man1/prterun.1*
%{_mandir}/man1/prun.1*
%{_mandir}/man1/pterm.1*
%{_mandir}/man5/prte.5*
%{_datadir}/prte/

%files devel
%{_includedir}/prte.h
%{_includedir}/prte_version.h
%{_includedir}/prte/
%{_libdir}/libprrte.so

%changelog
%autochangelog
Loading