gpo.zugaina.org

Search Portage & Overlays:

sci-physics/prismatic

Prismatic Software for STEM Simulation

Screenshots

  • prismatic-2.0-r1
    ~amd64
    double-precision gpu gui qt5 +qt6

    View      Download      Browse     License: GPL-3   
    Overlay: stuff

ChangeLog

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 822c3f7007846cb7a3c41685f806db3480f5730e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Apr 29 16:52:11 2026 +0200

sci-physics/prismatic: unbreak gui+gpu+qt6 with gcc-15

Building prismatic-gui with USE="gpu gui qt6" pulls Qt6 headers into nvcc-compiled
.cu files. gcc-15 promotes -Wtemplate-body and -Wchanges-meaning to errors on Qt6's
QHash::TryEmplaceResult constructor (the field 'iterator' shadows the surrounding
type 'iterator'): /usr/include/qt6/QtCore/qhash.h:1273:26: error: expected ')'
before 'it' [-Wtemplate-body] /usr/include/qt6/QtCore/qhash.h:1268:10: error:
declaration of '...::TryEmplaceResult::iterator' changes meaning of 'iterator'
[-Wchanges-meaning] Plain g++ accepts the code (it's well-formed C++17), so this is
purely a gcc-15 + nvcc -Werror chain pinching prismatic. Forward -Wno-template-body
and -Wno-changes-meaning through nvcc's -Xcompiler so the host-compiler frontend
stops bailing. Bisected with a minimal #include <QtCore/QHash> probe: nvcc
-std=c++17 fails by default, succeeds with both suppressions. The extra sed runs
only when both 'gpu' and 'gui' are enabled; older gccs that don't recognise these
warnings ignore -Wno-* silently, so the change is safe across gcc versions. Tested
live: USE="gpu gui qt6" builds, /usr/bin/prismatic-gui links to libcufft.so.12 and
Qt6, and qmerge replaced the previous gui-less install cleanly.

commit 74d697fa425fc29fe1a998054377fc6dd85617d9
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Apr 29 16:34:46 2026 +0200

sci-physics/prismatic: drop 2.0

The 2.0 ebuild is the same upstream v2.0 tarball as 2.0-r1 but with none of the
patches `-r1` carries (cxx17-standard, boost-bessel-qualify, complex-literal,
qt6-port). Modern boost (>=1.84) requires C++17 — it uses `enable_if_t`,
`remove_reference_t`, `is_final_v`, `BOOST_MATH_INLINE_CONSTEXPR`, etc. — which fail
to compile in the 2.0 ebuild's C++11 build:
/usr/include/boost/math/tools/type_traits.hpp:397:70: error: expected
primary-expression before '>' token
/usr/include/boost/math/policies/policy.hpp:945:108: error: expected '>'
before '<' token /usr/include/boost/math/special_functions/math_fwd.hpp:639:61:
error: 'boost::math::enable_if_t' has not been declared So 2.0 has been
broken on any reasonably recent system for a while. The 2.0-r1 ebuild is the
supported variant and uses the same SRC_URI, so dropping 2.0 doesn't lose any
upstream version coverage. No package in ::gentoo, ::stuff, ::guru, ::4nykey, or
::librewolf pins `=sci-physics/prismatic-2.0` specifically.

commit baa8712069f58b61f59ee5bcb00d9fd734b2158a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Apr 29 16:24:16 2026 +0200

sci-physics/prismatic: bump nvcc -arch to sm_75 on CUDA 13

CUDA 13 dropped support for compute capability < 7.5 (Turing). The prismatic
CMakeLists.txt hard-codes `-arch=sm_60` (Pascal), making nvcc bail with: nvcc
fatal : Unsupported gpu architecture 'sm_60' Patch via sed in src_prepare: when the
installed cuda.h reports CUDA_VERSION >= 13000, rewrite the line to `-arch=sm_75`
(the minimum CUDA 13 supports). CUDA 12 systems keep the original sm_60. The same
fix applies to both 2.0 and 2.0-r1; the cxx17-standard patch in -r1 already touches
this line, so a sed replace is more robust than carrying a context-sensitive .patch
file. Tested live with nvidia-cuda-toolkit-13.2.1 against an RTX A4500 (cc=8.6):
prismatic-2.0-r1 USE="gpu -gui" builds and runs; `prismatic --help` enumerates the
GPU-aware flags. Note: the +gui+qt6+gpu combo still fails due to an unrelated
nvcc/qt6-headers incompatibility — orthogonal to this CUDA bump.

commit 3097cc60e11ec9199dfcf9514e026e936521a224
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Apr 24 19:28:13 2026 +0200

sci-physics/prismatic: add 2.0-r1 with Qt6 port and upstream-bitrot fixes

Upstream v2.0 (2021) no longer builds against current Gentoo. Four
patches address the rot:

* cxx17-standard.patch bumps CMAKE_CXX_STANDARD from 11 to 17
(Boost 1.90's math headers require it) and bumps NVCC_FLAGS_EXTRA
to -std=c++17 so the GPU path compiles against gcc-14's libstdc++.
* boost-bessel-qualify.patch disambiguates cyl_bessel_k in
projectedPotential.cpp: with C++17 the bare calls match both
boost::math:: and std:: overloads.
* complex-literal.patch replaces std::complex<float> I = 0.0 + 1.0i
(C++14 literal, std::complex<double>) with a two-arg constructor
(GCC 15 no longer narrows silently).
* qt6-port.patch converts the 5 CMakeLists Qt wiring lines from
Qt5 to Qt6. No source changes needed -- the 7.8k lines under Qt/
only touch Qt5/Qt6-common APIs.

Qt backend is USE-selectable: qt5 or +qt6 under
REQUIRED_USE="gui? ( ^^ ( qt5 qt6 ) )". The qt6 patch is applied
conditionally in src_prepare. Retire qt5 when it leaves ::gentoo.

Other ebuild cleanups vs -2.0:
* Drop dead PYTHON_COMPAT / DISTUTILS_EXT (distutils-r1 never
inherited) and unused debug / python / doc IUSE.
* Drop dev-build/cmake from RDEPEND; added by inherit cmake.
* Move CUDA to BDEPEND (build-time only).
* Add double-precision IUSE (real upstream knob).
* Replace the broken same-direction seds in src_prepare with
-DPRISMATIC_ENABLE_* via mycmakeargs, so USE=-gui actually
disables the GUI build.

Tested: CLI (USE=-gui -gpu), GPU (USE=gpu, CUDA 12.9.1 with
CC/CXX=gcc-14), Qt5 GUI, and Qt6 GUI paths all build and install;
prismatic-gui initialises under QT_QPA_PLATFORM=offscreen.

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 42da721c04c3f4bdc75eb13f9ad76268a538643c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Apr 19 12:44:02 2026 +0200

sci-physics/prismatic: drop unused inherits

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 1d24884146fe60428dbd26939f87d563c3c715af
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Dec 11 13:17:00 2025 +0100

sci-physics/prismatic: styling

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 7f1ff691ec17c0d34a5bdbb83e58688f9e74d355
Author: VasilyLebedev <2115578+LebedevV@users.noreply.github.com>
Date: Tue Nov 25 13:26:20 2025 +0000

Update prismatic-2.0.ebuild

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 b451ac3b81ed540a5ce0bbef96d542cd2a2a0dcd
Author: istitov <istitov@github>
Date: Mon Feb 12 10:45:30 2024 +0100

upd copyright to 2024

commit 86683bde736d0eceda43d2d663eb0496449dc208
Author: VasilyLebedev <lebedevv@tcd.ie>
Date: Sun Feb 11 11:26:15 2024 +0000

Update prismatic-2.0.ebuild

commit 0b7fcf9639be3e82b30db7da1cc4785887b54326
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Nov 25 04:52:49 2023 +0300

mass updated PYTHON_COMPAT for python:3

commit 4c116ae54bd337eff7d1100125a166b37c86fc86
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Nov 24 21:10:43 2023 +0300

make pkg check complain less in sci-physics/prismatic

commit 0e523faf7b184df56a5394f0cbc663cb2b998f44
Author: VasilyLebedev <vasily.lebedev@ul.ie>
Date: Tue Nov 21 18:49:09 2023 +0000

prismatic added (#228)

* Add files via upload

* sk1

* Add files via upload

* alpine

* Add files via upload

* Add files via upload

* Deadbeef

* yd-tools

* gcc-switcher

* portopts

* aptana

* lxpanelx

* py2_eclass

* fontforge py2

* ortp

* sofastat

* Add files via upload

* skb

* Add files via upload

* wmfs

* Update link-traits-1.0.3.ebuild

* Add files via upload

* zarr

* Add files via upload

* Add files via upload

* Add files via upload

* dev-python/monty added

potential issues with pytorch

* Add files via upload

* traitsui

* Add files via upload

* Add files via upload

* Add files via upload

* fabio

* Add files via upload

* pyprismatic added

* prismatic added

* atomap added

* opencv[cuda]