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 |
Requires: cmake |
29 |
Requires: tar |
30 |
Requires: gzip |
31 |
Requires: bzip2 |
32 |
BuildArch: noarch |
33 |
Recommends: spack-repos |
34 |
|
35 |
%description |
36 |
Spack is a package manager for supercomputers, Linux, and macOS. |
37 |
It makes installing scientific software easy. Spack isn’t tied to |
38 |
a particular language; you can build a software stack in Python |
39 |
or R, link to libraries written in C, C++, or Fortran, and easily |
40 |
swap compilers or target specific microarchitectures. |
41 |
|
42 |
%package docs |
43 |
Summary: A flexible package manager |
44 |
Group: Documentation |
45 |
|
46 |
%description docs |
47 |
Documentation for spack. |
48 |
|
49 |
%package repos |
50 |
Summary: A flexible package manager |
51 |
Group: System/Packaging |
52 |
|
53 |
%description repos |
54 |
Repository for spack. |
55 |
|
56 |
|
57 |
%prep |
58 |
%autosetup -p1 spack-%{version} |
59 |
|
60 |
%build |
61 |
|
62 |
%install |
63 |
mkdir -p %{buildroot}%{_prefix} |
64 |
cp -r lib %{buildroot}%{_prefix}/lib |
65 |
mkdir -p %{buildroot}%{_bindir} |
66 |
cp -r bin/* %{buildroot}%{_bindir} |
67 |
mkdir -p %{buildroot}%{_datadir} |
68 |
cp -r share/* %{buildroot}%{_datadir} |
69 |
cp -r etc %{buildroot} |
70 |
cp -r var %{buildroot} |
71 |
mkdir -p %{buildroot}/opt/spack |
72 |
mkdir -p %{buildroot}/%{_var}/spack/cache |
73 |
|
74 |
%pre |
75 |
getent group spack >/dev/null || groupadd -r spack |
76 |
getent passwd spack >/dev/null || \ |
77 |
useradd -c "Spack package manager" -g spack -d %{_localstatedir}/lib/spack -M -r -s /sbin/nologin spack |
78 |
mkdir -p /opt/spack |
79 |
chown spack:spack /opt/spack |
80 |
chmod ug+rwx /opt/spack |
81 |
exit 0 |
82 |
|
83 |
%files |
84 |
%attr(0775,spack,spack) %{_prefix}/lib/spack |
85 |
%attr(0775,spack,spack) %{_datadir}/spack |
86 |
%{_sysconfdir}/spack |
87 |
%{_bindir}/sbang |
88 |
%{_bindir}/spack |
89 |
%{_bindir}/spack-python |
90 |
%attr(0775,spack,spack) %{_var}/spack |
91 |
%dir %attr(0775,spack,spack) %{_var}/spack/cache |
92 |
%exclude %{_prefix}/lib/spack/docs |
93 |
%exclude %{_prefix}/lib/spack/spack/test |
94 |
%dir %{_var}/spack/repos |
95 |
%exclude %{_var}/spack/repos/* |
96 |
|
97 |
%files docs |
98 |
%{_prefix}/lib/spack/docs |
99 |
%{_prefix}/lib/spack/spack/test |
100 |
|
101 |
%files repos |
102 |
%{_var}/spack/repos/* |