Bug 289296 - [NEW PORT] devel/spack: Flexible package manager for HPC
Summary: [NEW PORT] devel/spack: Flexible package manager for HPC
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-09-04 11:04 UTC by Generic Rikka
Modified: 2026-04-08 23:12 UTC (History)
1 user (show)

See Also:


Attachments
Adds new port devel/spack (68.53 KB, patch)
2025-09-04 11:04 UTC, Generic Rikka
no flags Details | Diff
v2: devel/spack – fix shebangs and pkg-message PREFIX handling (69.64 KB, patch)
2025-12-07 14:44 UTC, Generic Rikka
no flags Details | Diff
v3: devel/spack – update port to version 1.1.0 (72.21 KB, patch)
2026-01-11 02:45 UTC, Generic Rikka
no flags Details | Diff
[NEW PORT] devel/spack: Flexible package manager for HPC (71.06 KB, patch)
2026-01-30 00:46 UTC, Generic Rikka
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Generic Rikka 2025-09-04 11:04:48 UTC
Created attachment 263482 [details]
Adds new port devel/spack

This adds a new port: devel/spack

Spack is a flexible package manager for HPC that supports multiple versions,
compilers, architectures, and optional variants. It enables reproducible
environments and scheduler-friendly builds commonly used on clusters.

Rationale:
- Complements the FreeBSD HPC stack. I maintain sysutils/slurm-wlm and have
  submitted sysutils/py-clustershell and benchmarks/py-reframe; Spack fits naturally alongside them for
  building user-space software and CI-style validation.

Port details:
- Version: 1.0.1 (USE_GITHUB=yes: spack/spack, tag v1.0.1)
- LICENSE: dual APACHE20 / MIT
- NO_BUILD=yes, NO_ARCH=yes
- USES= python:run shebangfix
- SHEBANG_FILES= bin/spack bin/sbang bin/spack-python
- Installs under ${DATADIR} (share/spack); provides wrapper at ${PREFIX}/bin/spack
  that sets SPACK_ROOT and execs ${DATADIR}/bin/spack.
- RUN_DEPENDS: bash, git, rsync

QA:
- poudriere testport ok on 14.3-RELEASE/amd64
- portfmt/portclippy clean
- stage-qa / check-plist clean

Runtime smoke test (post-install):
- `spack --version`
- `spack spec zlib` (concretizer works)
- `spack install zlib` (basic build path verified)
Comment 1 Generic Rikka 2025-12-07 14:44:09 UTC
Created attachment 265957 [details]
v2: devel/spack – fix shebangs and pkg-message PREFIX handling

Updated patch attached (v2).

This version addresses issues found by stage-qa and portlint:

- Added share/spack/bin/spack-tmpconfig to SHEBANG_FILES so that USES=shebangfix
  can rewrite its /bin/bash shebang appropriately.
- Converted pkg-message to use PREFIX substitution via SUB_FILES=pkg-message and
  %%PREFIX%% tokens instead of hardcoding /usr/local.
- Cleaned up pkg-descr and pkg-message to remove trailing blank lines, matching
  portlint’s recommendations.

No functional changes to the installed Spack layout or wrapper logic; this is
purely QA/ports framework polish on top of the original submission.

Re-ran QA after these adjustments:

 - make stage-qa [ok]
 - make check-plist [ok]
 - portfmt -D Makefile [ok]
 - portlint -AC [ok]
 - portclippy Makefile [ok]
 - poudriere testport [ok]

Spack still builds, packages, and passes the runtime smoke tests described in
the original comment (`spack --version`, `spack spec zlib`, `spack install zlib`).
Comment 2 Generic Rikka 2026-01-11 02:45:52 UTC
Created attachment 267024 [details]
v3: devel/spack – update port to version 1.1.0
Comment 3 Generic Rikka 2026-01-30 00:46:55 UTC
Created attachment 267608 [details]
[NEW PORT] devel/spack: Flexible package manager for HPC

Updated patch to target spack version 1.1.1 instead of the former version 1.1.0
Comment 4 Vladimir Druzenko freebsd_committer freebsd_triage 2026-04-08 23:12:30 UTC
Replace USE_GITHUB=yes with MASTER_SITES here too.