1 |
%global debug_package %{nil} |
2 |
%global __requires_exclude_from ^.*\.fish$ |
3 |
|
4 |
Name: spack |
5 |
Summary: A flexible package manager |
6 |
Version: 0.15.4 |
7 |
Release: %mkrel 4 |
8 |
|
9 |
License: MIT |
10 |
URL: https://spack.io/ |
11 |
Source0: https://github.com/spack/spack/releases/download/v%{version}/spack-%{version}.tar.gz |
12 |
Patch0: find-path-prefix.patch |
13 |
Group: System/Packaging |
14 |
|
15 |
BuildRequires: python3 |
16 |
Requires(pre): shadow-utils |
17 |
Requires: curl |
18 |
Requires: tar |
19 |
Requires: make |
20 |
Requires: glibc-static-devel |
21 |
Requires: glibc-devel |
22 |
Requires: fish |
23 |
Requires: patch |
24 |
Requires: zip |
25 |
Requires: gcc-gfortran |
26 |
Requires: gcc-c++ |
27 |
Requires: libstdc++-static-devel |
28 |
BuildArch: noarch |
29 |
Recommends: spack-repos |
30 |
|
31 |
%description |
32 |
Spack is a package manager for supercomputers, Linux, and macOS. |
33 |
It makes installing scientific software easy. Spack isn’t tied to |
34 |
a particular language; you can build a software stack in Python |
35 |
or R, link to libraries written in C, C++, or Fortran, and easily |
36 |
swap compilers or target specific microarchitectures. |
37 |
|
38 |
%package docs |
39 |
Summary: A flexible package manager |
40 |
Group: Documentation |
41 |
|
42 |
%description docs |
43 |
Documentation for spack. |
44 |
|
45 |
%package repos |
46 |
Summary: A flexible package manager |
47 |
Group: System/Packaging |
48 |
|
49 |
%description repos |
50 |
Repository for spack. |
51 |
|
52 |
|
53 |
%prep |
54 |
%autosetup -p1 spack-%{version} |
55 |
|
56 |
%build |
57 |
|
58 |
%install |
59 |
mkdir -p %{buildroot}%{_prefix} |
60 |
cp -r lib %{buildroot}%{_prefix}/lib |
61 |
mkdir -p %{buildroot}%{_bindir} |
62 |
cp -r bin/* %{buildroot}%{_bindir} |
63 |
mkdir -p %{buildroot}%{_datadir} |
64 |
cp -r share/* %{buildroot}%{_datadir} |
65 |
cp -r etc %{buildroot} |
66 |
cp -r var %{buildroot} |
67 |
mkdir -p %{buildroot}/opt/spack |
68 |
mkdir -p %{buildroot}/%{_var}/spack/cache |
69 |
|
70 |
%pre |
71 |
getent group spack >/dev/null || groupadd -r spack |
72 |
getent passwd spack >/dev/null || \ |
73 |
useradd -c "Spack package manager" -g spack -d %{_localstatedir}/lib/spack -M -r -s /sbin/nologin spack |
74 |
mkdir -p /opt/spack |
75 |
chown spack:spack /opt/spack |
76 |
chmod ug+rwx /opt/spack |
77 |
exit 0 |
78 |
|
79 |
%files |
80 |
%attr(0775,spack,spack) %{_prefix}/lib/spack |
81 |
%attr(0775,spack,spack) %{_datadir}/spack |
82 |
%{_sysconfdir}/spack |
83 |
%{_bindir}/sbang |
84 |
%{_bindir}/spack |
85 |
%{_bindir}/spack-python |
86 |
%attr(0775,spack,spack) %{_var}/spack |
87 |
%dir %attr(0775,spack,spack) %{_var}/spack/cache |
88 |
%exclude %{_prefix}/lib/spack/docs |
89 |
%exclude %{_prefix}/lib/spack/spack/test |
90 |
%dir %{_var}/spack/repos |
91 |
%exclude %{_var}/spack/repos/* |
92 |
|
93 |
%files docs |
94 |
%{_prefix}/lib/spack/docs |
95 |
%{_prefix}/lib/spack/spack/test |
96 |
|
97 |
%files repos |
98 |
%{_var}/spack/repos/* |