gpo.zugaina.org

Search Portage & Overlays:

sci-physics/mantid

Tools to support the processing of materials-science data

Screenshots

  • mantid-9999
    doc python test python_targets_python3_12 python_targets_python3_13 python_targets_python3_14

    View      Download      Browse     License: GPL-3   
    Overlay: stuff
  • mantid-6.15.0.4_rc1
    doc python test python_targets_python3_12 python_targets_python3_13 python_targets_python3_14

    View      Download      Browse     License: GPL-3   
    Overlay: stuff

ChangeLog

commit b3f9b271add758ccbde51bab98a36bc1e8e6697f
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Apr 30 14:02:40 2026 +0200

sci-physics/mantid: bump 6.15.0.3 -> 6.15.0.4rc1

Drops 6.15.0.3 for v6.15.0.4rc1 — the older tag hard-imports
QtWebEngineWidgets at workbench startup, which ::gentoo no longer
satisfies (PyQtWebEngine and dev-qt/qtwebengine:5 are both gone with
the Qt5 deprecation). v6.15.0.4rc1 is the first tagged release with
WebEngine fully removed from workbench/mantidqt.

EGIT_COMMIT now strips Gentoo's prerelease underscore so PV
`6.15.0.4_rc1` resolves to the upstream tag `v6.15.0.4rc1`.

Verified end-to-end: full rebuild + qmerge at MAKEOPTS="-j20",
/opt/mantid 225 MiB, `QT_API=pyqt5 /opt/mantid/bin/workbench` reaches
the Qt event loop with welcome banner.

commit 2da73524f354c1e2905c0579f52fb6422d5f8e00
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Apr 30 13:36:01 2026 +0200

sci-physics/mantid: document QT_API=pyqt5 + invocation in pkg_postinst

The merged install needs three pieces of env state to launch:
* QT_API=pyqt5 (forces qtpy to use PyQt5; default routes to PyQt6
which lacks Qt5-era widgets mantid imports)
* LD_PRELOAD=libtbbmalloc_proxy.so.2 (perf-only TBB allocator)
* PYTHONPATH covering site-packages + bin + plugins (env.d-wired)

Spell out both the full env-prefix form and the post-source-profile
short form, and point at launch_mantidworkbench.standalone as the
recommended wrapper that handles the LD_PRELOAD piece automatically.

commit 07e39f688c5f9109d859fffcfc3039dc00ee170a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Apr 30 13:29:23 2026 +0200

sci-physics/mantid: use [pyqt5(-)] default on qtpy dep

Quiets pkgcheck MissingUseDepDefault. The semantics are unchanged:
match qtpy with USE=pyqt5 enabled, treat the flag as absent (=fail)
on any qtpy version that doesn't carry it. ::gentoo's qtpy-2.4.3-r2
correctly fails to satisfy; this overlay's qtpy-2.4.3-r99 (USE=pyqt5)
does.

commit 54ff11cc811602ee6e5d6d4d91de1f4681f20857
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Apr 30 13:28:41 2026 +0200

sci-physics/mantid: add pyvista/pyvistaqt/superqt/orsopy to RDEPEND

Mantid 9999's workbench imports pyvista (3D plotting), pyvistaqt
(its Qt glue), superqt (extra widgets) and orsopy (ORSO reflectometry
file format) at runtime. Without them, workbench setup() bombs at
`from instrumentview.FullInstrumentViewWindow import ...`.

Also pin qtpy[pyqt5] so emerge picks the overlay's qtpy-2.4.3-r99
fork (USE=pyqt5) automatically — without that, emerge would resolve
to ::gentoo's qtpy which forces PyQt6 and fails on QDesktopWidget.

The same RDEPEND update is applied to 6.15.0.3 even though that
version is currently un-launchable (Qt5 WebEngine wall) — keeps the
two ebuilds aligned for when upstream ports any further dropped deps
back, and the deps are correct as a static description regardless.

commit ce1b0faafea60dfafd606fd4fc3e09bed1df7621
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Apr 30 12:06:29 2026 +0200

sci-physics/mantid: fix Python wrapper + workbench install

Until now the merged install was unusable: only the C extension
.so files (installed via cmake's TARGETS rules) made it into
/opt/mantid/lib/python3.13/site-packages, while every Python wrapper
(mantid/__init__.py, mantid.simpleapi, the entire workbench/ package,
etc.) silently disappeared. Three issues were stacked:

1. The src_prepare sed only patched the build-time
`pip install --editable .` line in PythonPackageTargetFunctions
.cmake. The same file has a second pip call inside install(CODE
...) that runs at `cmake --install` time and is what actually
places wrappers into the image dir. That call had no --prefix /
--root, so under portage's install phase it tried to write to the
live host's site-packages and PEP 668 silently rejected it.

2. dev-python/vcs-versioning is installed system-wide and auto-hooks
every setuptools build via an entry-point. mantid's pyproject.toml
has no [tool.setuptools_scm] / [tool.vcs-versioning] section, so
the file finder fell back to running git inside the source tree.
Because pip in the install phase runs as root while $ is owned
by the portage build user, git refused with "dubious ownership"
and metadata generation died.

3. Upstream's two launchers (launch_mantidworkbench, .standalone) are
shaped for a conda layout: one checks $CONDA_PREFIX, the other
hardcodes $/bin/python. Both fail under the Gentoo
/opt install.

Fixes:

- Extend the src_prepare sed to also rewrite the install-time pip
command with --break-system-packages --no-build-isolation
--prefix=$ --root=\$ENV. The
literal \$ENV is preserved so cmake evaluates it at
install time, which is when DESTDIR is meaningful.
- Inject SETUPTOOLS_SCM_PRETEND_VERSION and
SETUPTOOLS_SCM_IGNORE_DUBIOUS_OWNER=1 into the cmake -E env
wrapping. The latter is what the vcs-versioning git file finder
explicitly checks; with it set the finder gracefully returns None
instead of raising SystemExit, and setuptools' default file
discovery takes over.
- src_install: drop launch_mantidworkbench (conda-only) and rewrite
launch_mantidworkbench.standalone to use the system Python with a
PYTHONPATH that includes site-packages.
- env.d PYTHONPATH now covers site-packages + bin (Mantid.properties
is bin-relative and resolved via _bin_dirs() walking sys.path) +
plugins (algorithm/qt5 .so loaders).

Verified: full clean rebuild + qmerge of mantid-6.15.0.3 lands
~225 MiB under /opt/mantid, with mantid/mantidqt/workbench/
instrumentview/mantidqtinterfaces all importable. The framework
loads ("Welcome to Mantid 6.15.0.2rc4+uncommitted"), kernel
.version_str() returns the correct version, and workbench.app.main
.main is callable. KEYWORDS still empty: mantid.simpleapi has a
separate Python 3.13 compat bug in funcinspect.lhs_info (CALL
bytecode layout change), unrelated to packaging.

commit e9ba4a5f99fcb635e46e45c7735029434ffcfa5d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Apr 30 00:52:35 2026 +0200

sci-physics/mantid: bring 9999 to parity with 6.15.0.3 build logic

The 9999 ebuild was effectively a stub — declared deps but missing
the cmake inherit, src_prepare/configure/install overrides, the
/opt/mantid prefix, the no-qt5-webwidgets PATCHES entry, and the
[cxx] USE on sci-libs/nexus. Without those it couldn't even reach
src_configure.

Make 9999 a verbatim copy of 6.15.0.3 — the inline `if [[ $ =
*9999* ]]` already picks EGIT_COMMIT=HEAD vs v$, so the same
file works for both PVs.

Three further changes shared between both ebuilds:

- Rename files/mantid-6.15.0.3-no-qt5-webwidgets.patch ->
files/mantid-no-qt5-webwidgets.patch (drop the PV from the
filename so the same patch can be referenced by both ebuilds via
$ instead of $).
- Replace the static PATCHES array with a conditional eapply in
src_prepare. The patch removes a "Prefer WebEngineWidgets over
WebKitWidgets" block that fatal-errors when neither qtwebengine:5
nor qtwebkit is installed; both are last-rited in ::gentoo.
Upstream main has already deleted the block (mantid-9999 fetches
HEAD which is ~25k lines past v6.15.0.3), so we grep for the
block before applying.
- KEYWORDS comment refreshed to record what 9999 also passes:
unpack/prepare/configure/compile/install all clean against
gcc-15 + Boost-1.90 + Qt-5.15.18 + Python-3.13 (~179 MiB
installed under /opt/mantid). Runtime behaviour still untested.

mantid HEAD is still Qt5-only — 0 find_package(Qt6...) calls,
0 Qt6:: link target references; the Qt5 deprecation pressure from
::gentoo is the same as 6.15.0.3.

commit 5b4d3277667e746178f4236025415a02bb409c4e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Apr 29 23:54:00 2026 +0200

sci-physics/mantid: full build verified, slot all Qt deps to :5

Successful run of doas ebuild ... clean unpack/prepare/configure/
compile/install on a gcc-15 + Boost-1.90 + Qt-5.15.18 + Python-3.13
host: configure passes after adding dev-qt/qthelp:5 (the previously-
implicit dependency that mantid's qt/widgets/common/CMakeLists.txt
hard-requires for Qt5Help), compile finishes through 3015 ninja
targets without errors, and install lands ~178 MiB cleanly under
/opt/mantid/.

Replace the unslotted dev-qt/qtbase with the explicit Qt5 module
list mantid actually links against (qtconcurrent, qtgui, qthelp,
qtnetwork, qtprintsupport, qtsql, qtwidgets, qtxml — all :5). qtbase
unslotted would have resolved to qtbase:6, which doesn't help us
since the whole codebase is QT_DISABLE_DEPRECATED_UP_TO=0x050F00 and
links _Qt5 suffixed targets throughout.

Pkgcheck now reports DeprecatedDep on the new explicit qt:5 deps
plus the long-standing pyqt5 + versioningit warnings; all four are
the same upstream policy item (Qt5 / pyqt5 / versioningit are
masked-for-removal in ::gentoo). Real fix is upstream Qt6 port,
tracked in earlier memory; no overlay action.

Apply the same Qt5 slot list to mantid-9999 and refresh the
maintainer comment to record what's now verified vs still untested
(runtime behaviour past install).

commit 946b3d5e6f85aa6d17632eb69d8c14152e056548
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Apr 29 23:16:52 2026 +0200

*/*: normalize metadata.xml DTD URL and indent

Repo-wide sweep: 144 metadata.xml files updated to use the
https://www.gentoo.org/dtd/metadata.dtd DTD URL (was http://) and
2-space indentation (was tabs). Maintainer blocks left untouched —
the 2026-04-22 normalization sweep added <name> alongside <email>
where the maintainer was Ivan, but third-party maintainer entries
(lebedev.vasya@gmail.com, megagreener@gmail.com, brothermechanic@gmail.com,
etc.) keep their email-only blocks since we can't safely guess the
corresponding <name>.

pkgcheck stays silent on all metadata-* and maintainer-* checks.

commit 44010bc63e45657d06fa47cfa4c5a63b701f1cf2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Apr 29 18:30:22 2026 +0200

sci-physics/mantid: refresh maintainer note (HDF4 blocker, no GPU)

Two updates to the comment block under KEYWORDS: * The earlier 'blocked at the HDF4
probe by Gentoo bug 942866' line is stale: this overlay's sci-libs/hdf-4.2.16
builds clean against gcc-15. Confirmed by emerging it on a CUDA 13.2.1 + gcc-15
host; no patch needed beyond what's already in the stuff ebuild. * Add a 'no GPU
offload' note. The brother-machine briefing flagged mantid as 'does GPU compute via
cuda-toolkit when present'. A source-tree audit of v6.15.0.3 finds no .cu/.cuh
files, no find_package(CUDA) / enable_language(CUDA) calls, no nvcc/cuFFT/
cuBLAS/OpenCL/SYCL/HIP/Kokkos references in any CMake; only TBB and OpenMP for CPU
parallelism. So there's no `cuda` IUSE to expose here even with nvidia-cuda-toolkit
installed. KEYWORDS stays empty — mantid still hasn't been verified through a full
build on this host, just unblocked at configure.

commit 53dcdfe41ba0102af49518c636e61d6e1390a87d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Apr 22 16:59:49 2026 +0200

sci-physics/mantid: install under /opt/mantid instead of /usr

Upstream's CMake install spews data into top-level /usr children
(instrument/, plugins/, scripts/) rather than FHS-compliant
/usr/{lib64,share}/mantid/..., and the project ships as a monolithic
bundle. A single /opt/mantid prefix matches that shape better than
trying to split files across /usr subdirectories via a large patch set.

- CMAKE_INSTALL_PREFIX=/opt/mantid
- Drop the LIB_DIR=lib->lib64 sed (multilib-strict doesn't reach
/opt paths; upstream's default lib/ works inside the /opt prefix).
- Change the qt.conf sed to use an absolute /usr/lib64/qt5 path
rather than a relative ../lib64/qt5, since under /opt the relative
path points at the wrong tree.
- Install /etc/env.d/99mantid wiring PATH, ROOTPATH, LDPATH, and
PYTHONPATH into /opt/mantid/.
- Add pkg_postinst elog explaining the /opt decision and prompting
env-update + shell reload.

Install tree verified: ~180 MiB under /opt/mantid/{bin,include,instrument,
lib,lib64,plugins,scripts}, only README.md lands in /usr/share/doc
(standard cmake.eclass einstalldocs).

commit 5a201bcef8fdb4f297cdd996d8f1536bd536da84
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Apr 22 16:33:53 2026 +0200

sci-physics/mantid: make 6.15.0.3 actually build on current ::gentoo

Build-verified through src_install. The fallout from ::gentoo's Qt5
deprecation schedule plus a few upstream quirks required:

- Local patch mantid-6.15.0.3-no-qt5-webwidgets.patch: mantid's
qt/widgets/common/CMakeLists.txt hard-requires either
Qt5::WebEngineWidgets or Qt5::WebKitWidgets; both are gone from
::gentoo (qtwebengine:5 last-rited 2025-04-28, qtwebkit long
before). The C++ side never calls QWebEngine*; only the Python
help-browser imports QtWebEngineWidgets via qtpy and handles its
absence at runtime. Replace the detect block with empty stubs.

- src_prepare sed for LIB_DIR: upstream hardcodes LIB_DIR=lib in
buildconfig/CMake/LinuxPackageScripts.cmake, which installs shared
libs to /usr/lib on amd64 and trips multilib-strict. Patch to
lib64.

- src_prepare sed for pip flags: PythonPackageTargetFunctions.cmake
invokes `pip install --editable . --ignore-installed --no-deps`
via `cmake -E env`. Two Gentoo-specific flags are needed but the
PIP_* env-var equivalents don't survive portage's ninja/cmake-E-env
wrapping (verified: same env vars work through cmake -E env
*outside* the sandbox). Bake the flags into the command line:
--break-system-packages: defeat PEP 668 refusal (the install
only writes an .egg-link into the build dir, doesn't touch /usr).
--no-build-isolation: use system dev-python/setuptools instead
of pip trying to fetch its own from pypi under network sandbox.

- src_configure mycmakeargs: gate ENABLE_DOCS on USE=doc so the
configure step doesn't fail looking for mantid_sphinx_theme (not
packaged in ::gentoo) when the user didn't ask for docs.

Also add pyqt5/pyqt5-sip to profiles/package.unmask: ::gentoo
last-rited both on 2026-04-21 (removal 2026-05-21); mantid still
hard-requires them.

Still installs to /usr/{instrument,plugins,scripts} (FHS violations);
that's an upstream layout issue, addressable separately.

commit d15f67656cf28bf1e0f48c22678ba35ac8953de8
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Apr 22 13:15:16 2026 +0200

sci-physics/mantid: add 6.15.0.3

Upstream v6.15 rewrote the build system to drop the CMake-side
external-source fetchers for Span, PyStoG, mslice, and googletest.
The 6.12-era src_unpack (which cloned those 4 auxiliary repos into
local paths) plus the matching src_prepare seds that rewrote fetch
URLs are all dead code now:

- Span is vendored directly at Framework/Kernel/inc/MantidKernel/span.hpp
- GoogleTest uses find_package(GTest CONFIG REQUIRED) against the
system dev-cpp/gtest (added to RDEPEND)
- Span.cmake, PyStoG.cmake, scripts/ExternalInterfaces/CMakeLists.txt
are entirely gone from the tree
- Framework/Parallel/src/IO/Chunker.cpp was refactored out, retiring
the gcc:13 stdint.h include hack
- Framework/CMakeLists.txt now includes CMakePackageConfigHelpers on
its own, retiring that sed too

Kept the seds that are still load-bearing:
- FindOpenCascade.cmake path remaps for /usr/{include,lib64}/opencascade
- PreviewManager.h stdexcept include (still missing upstream)
- workbench CMakeLists.txt lib/qt5 -> lib64/qt5

Added a sed to drop 'system' from the Boost required-components list:
dev-libs/boost-1.90 made boost_system header-only and no longer ships
a cmake config for it, so find_package otherwise fails.

Also dropped the EGIT_CLONE_TYPE='single' override (user variable,
and 'single' is already the git-r3 default -- pkgcheck flagged it as
EclassUserVariableUsage).

Build-verify progressed through src_configure past the Python / gtest /
Poco / Boost probes; blocked afterwards on sci-libs/hdf failing to
compile on gcc 15 -- Gentoo bug 942866, ecosystem-level, unrelated
to mantid or this bump. KEYWORDS stays empty with an inline comment
pointing at the bug as a breadcrumb.

commit 2edd0d8b1fc9cdcc8c4011d772c1ab618020b1c2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Apr 22 13:15:05 2026 +0200

sci-physics/mantid: drop 6.12.0.2

commit b91cd93a12cb39be1b4976cdc1af27ca13ce34e5
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Apr 21 15:16:42 2026 +0200

*/*: bump PYTHON_COMPAT from python3_ to python3_

::gentoo has dropped python3.11 from most of the scientific Python
stack - scipy, pandas, ipython, sphinx, sympy, etc. all target
python3_ now. Overlay ebuilds still claiming python3_11
support therefore fail to resolve their PYTHON_USEDEP=[...,
python_targets_python3_11(-),...] clauses against those upstream
packages, which is the bulk of pkgcheck's NonsolvableDeps noise.

Sweep PYTHON_COMPAT across the overlay accordingly. Files touched
include 193 pure-python3 ebuilds plus 4 sci-libs/pycifrw ebuilds that
retain the python2_7 target. Commented-out COMPAT lines and one
ebuild using a custom $ array are left alone.

pkgcheck dropped from 710 to 475 lines after this change; specifically
NonsolvableDepsIn{Dev,Stable} fell from 391 to 182 combined.

Users on a python3.11 profile lose access to the updated versions in
this overlay, mirroring what ::gentoo already did to the rest of the
scientific stack.

Signed-off-by: Raukaan Cogbrother <cogbrother@raukaan.local>

commit 333a849082e704941d018a7f0b99678eda18904f
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Apr 21 01:07:29 2026 +0200

*/*: bump PYTHON_COMPAT to python3_

Match the ::gentoo convention (main tree dropped 3.9 / 3.10 support
a while ago). Three mechanical substitutions:

- python3_ -> python3_ (189 ebuilds)
- python3_ -> python3_ (llvmlite)
- python2_7 python3_ -> python2_7 python3_ (pycifrw)

Leaves the legacy python2_7-only ebuilds and dev-python/cython
(special PYTHON_TESTED pattern on the 0.29 series) untouched.

commit d29f54b2641e1f1010bf6f27547a9a271cbadb9d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Apr 19 14:10:41 2026 +0200

sci-physics/mantid: use canonical LICENSE name

commit 8c16b18cc0a75f06aa4c07d74e0306d0050c4fab
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Apr 19 13:49:14 2026 +0200

sci-physics/mantid: add RESTRICT="!test? ( test )"

commit cdc76cfe24624a9ccd5d7516241062cb5dfdada4
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Apr 19 12:44:02 2026 +0200

sci-physics/mantid: drop unused inherits

commit 3cb67ddf94c50f5ac1c3cfebac42be60cc1b475d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Apr 19 12:33:09 2026 +0200

sci-physics/mantid: wrap long lines

commit f23ece73c4451e2377c17d8b90acb53bee608563
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jan 15 21:28:34 2026 +0100

*/*: UPD header, Happy New Year

Signed-off-by: Ivan S. Titov <iohann.s.titov@gmail.com>

commit faa1a6bd0ab2591e7f00f30c0e9a6e14a81f56b3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Dec 11 12:32:55 2025 +0100

Corrected missing blank line after EAPI warning

Signed-off-by: Ivan S. Titov <iohann.s.titov@gmail.com>

commit bd56ad8c4cfa96514317be4d851cb4fcbd6b8802
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Dec 11 10:40:56 2025 +0100

*/*: adjusting python compat to 3.9 to 3.14

Signed-off-by: Ivan S. Titov <iohann.s.titov@gmail.com>

commit 02fee3b133501e13cd97dc4acb029379621c8d56
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Dec 11 01:05:20 2025 +0100

multiple styling corrections to make pkgscan happy

Signed-off-by: Ivan S. Titov <iohann.s.titov@gmail.com>

commit 75d55441dbb2e55a7102e44b643e2e17cdfbc05d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 17 21:58:20 2025 +0200

finally upd year to 2025 :)

commit 859f8a58dd0e6cf3750b13784667522fbdc2be18
Author: VasilyLebedev <lebedevv@tcd.ie>
Date: Sun Sep 21 19:54:01 2025 +0100

mantid

does not compile

commit aa18e1f8a435e20b3bf6a4404603c5d93eae5681
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jun 10 12:00:57 2025 +0200

upd pf-sources

commit b451ac3b81ed540a5ce0bbef96d542cd2a2a0dcd
Author: istitov <istitov@github>
Date: Mon Feb 12 10:45:30 2024 +0100

upd copyright to 2024

commit b97ecc81fea274df6cfa7851b81e35dd8c00480c
Author: istitov <istitov@github>
Date: Mon Feb 12 10:44:23 2024 +0100

dev-utils/cmake -> dev-build/cmake

commit e97580dbdd3ac03321a41aff0c27766006ec9dbf
Author: VasilyLebedev <vasily.lebedev@ul.ie>
Date: Wed Nov 29 14:49:38 2023 +0000

Mantid compiles, but not installs

commit 03b95040c1be798060c6b2407b1eb716d52e8d6b
Author: VasilyLebedev <vasily.lebedev@ul.ie>
Date: Mon Nov 27 23:56:08 2023 +0000

Mantid amended

commit 838c9565907d0e0ff66bc02794fcc0425061fda6
Author: VasilyLebedev <vasily.lebedev@ul.ie>
Date: Mon Nov 27 15:19:57 2023 +0000

Draft of mantid added; not compiling yet