From 9c45b10005165707a6b7695615c2f02e8548e022 Mon Sep 17 00:00:00 2001 From: PangLARS Date: Sun, 31 May 2026 15:35:37 +0800 Subject: [PATCH 1/3] SPECS: Add pmix Signed-off-by: PangLARS --- SPECS/pmix/pmix.spec | 106 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 SPECS/pmix/pmix.spec diff --git a/SPECS/pmix/pmix.spec b/SPECS/pmix/pmix.spec new file mode 100644 index 0000000000..b8883f9eee --- /dev/null +++ b/SPECS/pmix/pmix.spec @@ -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 +# +# 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 +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 + +%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 + +%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 From bb684f694c5a975db0bbfe8f6dc56ec340f00a96 Mon Sep 17 00:00:00 2001 From: PangLARS Date: Sun, 31 May 2026 15:35:39 +0800 Subject: [PATCH 2/3] SPECS: Add prrte Signed-off-by: PangLARS --- SPECS/prrte/prrte.spec | 85 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 SPECS/prrte/prrte.spec diff --git a/SPECS/prrte/prrte.spec b/SPECS/prrte/prrte.spec new file mode 100644 index 0000000000..5f97eb5efe --- /dev/null +++ b/SPECS/prrte/prrte.spec @@ -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 +# +# 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 +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 + +%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 + +%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 From 07026b88717953b2adf70524bb8ca621ac05c464 Mon Sep 17 00:00:00 2001 From: PangLARS Date: Sun, 31 May 2026 15:35:36 +0800 Subject: [PATCH 3/3] SPECS: Add openmpi Signed-off-by: PangLARS --- SPECS/openmpi/openmpi.spec | 138 +++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 SPECS/openmpi/openmpi.spec diff --git a/SPECS/openmpi/openmpi.spec b/SPECS/openmpi/openmpi.spec new file mode 100644 index 0000000000..8a180b8f70 --- /dev/null +++ b/SPECS/openmpi/openmpi.spec @@ -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 +# +# 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 + +%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 +%{_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