git: f9074f881e73 - main - science/{,py-}ncrystal: update 3.9.7 → 4.0.2

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 24 Feb 2025 10:14:37 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f9074f881e73f0bc7a54f4b186480f0cb0c7acde

commit f9074f881e73f0bc7a54f4b186480f0cb0c7acde
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-02-24 10:13:18 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-02-24 10:14:32 +0000

    science/{,py-}ncrystal: update 3.9.7 → 4.0.2
    
    Reported by:    portscout
---
 science/ncrystal/Makefile                          |  13 +-
 science/ncrystal/distinfo                          |   6 +-
 .../patch-ncrystal__core_src_utils_NCCFileUtils.cc |  15 +
 science/ncrystal/pkg-plist                         | 401 ++++++---------------
 science/py-ncrystal/Makefile                       |   6 +-
 science/py-ncrystal/distinfo                       |   6 +-
 .../patch-ncrystal__core_src_utils_NCCFileUtils.cc |  15 +
 science/py-ncrystal/files/patch-pyproject.toml     |  10 -
 8 files changed, 162 insertions(+), 310 deletions(-)

diff --git a/science/ncrystal/Makefile b/science/ncrystal/Makefile
index 264354ead5f8..384fc157daea 100644
--- a/science/ncrystal/Makefile
+++ b/science/ncrystal/Makefile
@@ -1,25 +1,28 @@
 PORTNAME=	ncrystal
 DISTVERSIONPREFIX=	v
-DISTVERSION=	3.9.7
+DISTVERSION=	4.0.2
 CATEGORIES=	science # physics
 
 MAINTAINER=	yuri@FreeBSD.org
 COMMENT=	Library for thermal neutron transport in crystals and other materials
-WWW=		https://mctools.github.io/ncrystal/
+WWW=		https://github.com/mctools/ncrystal
 
 LICENSE=	APACHE20
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-USES=		cmake python shebangfix
+USES=		cmake:testing python shebangfix
 USE_LDCONFIG=	yes
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	mctools
 
-SHEBANG_FILES=	scripts/* \
-		cmake/ncrystal-config.in
+SHEBANG_FILES=	tests/scripts/*
+
+CMAKE_TESTING_ON=	NCRYSTAL_ENABLE_TESTING
 
 post-install: # workaround for https://github.com/mctools/ncrystal/issues/150
 	@${RM} ${STAGEDIR}${PREFIX}/*.sh
 
+# tests as of 4.0.2: 50% tests passed, 41 tests failed out of 82, see https://github.com/mctools/ncrystal/issues/231
+
 .include <bsd.port.mk>
diff --git a/science/ncrystal/distinfo b/science/ncrystal/distinfo
index 9c654d83f48b..9e5196f88787 100644
--- a/science/ncrystal/distinfo
+++ b/science/ncrystal/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1727241315
-SHA256 (mctools-ncrystal-v3.9.7_GH0.tar.gz) = 7b9ed5ae26d7971c1f4014b62c139631231450f3de32154626b38ea9c56f035f
-SIZE (mctools-ncrystal-v3.9.7_GH0.tar.gz) = 1902205
+TIMESTAMP = 1740386898
+SHA256 (mctools-ncrystal-v4.0.2_GH0.tar.gz) = ed12b23c30858a5b7c2f1b9eb9a928242c3e36fb73286aa437f5c89b562dfad8
+SIZE (mctools-ncrystal-v4.0.2_GH0.tar.gz) = 2708641
diff --git a/science/ncrystal/files/patch-ncrystal__core_src_utils_NCCFileUtils.cc b/science/ncrystal/files/patch-ncrystal__core_src_utils_NCCFileUtils.cc
new file mode 100644
index 000000000000..1f7198b30626
--- /dev/null
+++ b/science/ncrystal/files/patch-ncrystal__core_src_utils_NCCFileUtils.cc
@@ -0,0 +1,15 @@
+--- ncrystal_core/src/utils/NCCFileUtils.cc.orig	2025-02-24 09:02:29 UTC
++++ ncrystal_core/src/utils/NCCFileUtils.cc
+@@ -24,12 +24,6 @@
+ #  define MC_IS_WINDOWS
+ #endif
+ #ifndef MC_IS_WINDOWS
+-#  ifndef _POSIX_C_SOURCE
+-#    define _POSIX_C_SOURCE 200809L
+-#  endif
+-#  ifndef _XOPEN_SOURCE
+-#    define _XOPEN_SOURCE 500
+-#  endif
+ #  include <unistd.h>
+ #  include <limits.h>
+ #  include <errno.h>
diff --git a/science/ncrystal/pkg-plist b/science/ncrystal/pkg-plist
index 339379bdefbd..618b002ecc51 100644
--- a/science/ncrystal/pkg-plist
+++ b/science/ncrystal/pkg-plist
@@ -1,297 +1,126 @@
 bin/ncrystal-config
-bin/ncrystal_cif2ncmat
-bin/ncrystal_endf2ncmat
-bin/ncrystal_hfg2ncmat
-bin/ncrystal_inspectfile
-bin/ncrystal_ncmat2cpp
-bin/ncrystal_ncmat2hkl
-bin/ncrystal_onlinedb2ncmat
-bin/ncrystal_vdos2ncmat
-bin/ncrystal_verifyatompos
-bin/nctool
-include/NCrystal/NCAtomData.hh
-include/NCrystal/NCCompositionUtils.hh
-include/NCrystal/NCDataSources.hh
-include/NCrystal/NCDefs.hh
-include/NCrystal/NCDump.hh
-include/NCrystal/NCException.hh
-include/NCrystal/NCFact.hh
-include/NCrystal/NCFactImpl.hh
-include/NCrystal/NCFactRequests.hh
-include/NCrystal/NCFactThreads.hh
-include/NCrystal/NCFactTypes.hh
-include/NCrystal/NCFmt.hh
-include/NCrystal/NCImmutBuf.hh
-include/NCrystal/NCInfo.hh
-include/NCrystal/NCInfoBuilder.hh
-include/NCrystal/NCInfoTypes.hh
-include/NCrystal/NCLoadNCMAT.hh
-include/NCrystal/NCMatCfg.hh
-include/NCrystal/NCMem.hh
-include/NCrystal/NCMsgCtrl.hh
-include/NCrystal/NCNCMATData.hh
-include/NCrystal/NCParseNCMAT.hh
 include/NCrystal/NCPluginBoilerplate.hh
-include/NCrystal/NCPluginMgmt.hh
-include/NCrystal/NCProc.hh
-include/NCrystal/NCProcImpl.hh
 include/NCrystal/NCRNG.hh
-include/NCrystal/NCSABData.hh
-include/NCrystal/NCSCOrientation.hh
-include/NCrystal/NCSmallVector.hh
-include/NCrystal/NCTextData.hh
-include/NCrystal/NCTypes.hh
-include/NCrystal/NCVariant.hh
-include/NCrystal/NCVersion.hh
 include/NCrystal/NCrystal.hh
-include/NCrystal/internal/NCABIUtils.hh
-include/NCrystal/internal/NCAbsOOV.hh
-include/NCrystal/internal/NCAtomDB.hh
-include/NCrystal/internal/NCAtomDBExtender.hh
-include/NCrystal/internal/NCAtomUtils.hh
-include/NCrystal/internal/NCBkgdExtCurve.hh
-include/NCrystal/internal/NCCfgManip.hh
-include/NCrystal/internal/NCCfgTypes.hh
-include/NCrystal/internal/NCCfgVars.hh
-include/NCrystal/internal/NCDebyeMSD.hh
-include/NCrystal/internal/NCDynInfoUtils.hh
-include/NCrystal/internal/NCDynLoader.hh
-include/NCrystal/internal/NCElIncScatter.hh
-include/NCrystal/internal/NCElIncXS.hh
-include/NCrystal/internal/NCEqRefl.hh
-include/NCrystal/internal/NCFactoryJobs.hh
-include/NCrystal/internal/NCFactoryUtils.hh
-include/NCrystal/internal/NCFastConvolve.hh
-include/NCrystal/internal/NCFileUtils.hh
-include/NCrystal/internal/NCFillHKL.hh
-include/NCrystal/internal/NCFreeGas.hh
-include/NCrystal/internal/NCFreeGasUtils.hh
-include/NCrystal/internal/NCGasMixUtils.hh
-include/NCrystal/internal/NCGaussMos.hh
-include/NCrystal/internal/NCGaussOnSphere.hh
-include/NCrystal/internal/NCHists.hh
-include/NCrystal/internal/NCIofQHelper.hh
-include/NCrystal/internal/NCIter.hh
-include/NCrystal/internal/NCKinUtils.hh
-include/NCrystal/internal/NCLCBragg.hh
-include/NCrystal/internal/NCLCRefModels.hh
-include/NCrystal/internal/NCLCUtils.hh
-include/NCrystal/internal/NCLatticeUtils.hh
-include/NCrystal/internal/NCMMC_Basket.hh
-include/NCrystal/internal/NCMMC_BasketMgr.hh
-include/NCrystal/internal/NCMMC_BasketSrcFiller.hh
-include/NCrystal/internal/NCMMC_Defs.hh
-include/NCrystal/internal/NCMMC_Geom.hh
-include/NCrystal/internal/NCMMC_RunSim.hh
-include/NCrystal/internal/NCMMC_SimMgrMT.hh
-include/NCrystal/internal/NCMMC_Source.hh
-include/NCrystal/internal/NCMMC_StdEngine.hh
-include/NCrystal/internal/NCMMC_StdTallies.hh
-include/NCrystal/internal/NCMMC_Tally.hh
-include/NCrystal/internal/NCMMC_Utils.hh
-include/NCrystal/internal/NCMath.hh
-include/NCrystal/internal/NCMatrix.hh
-include/NCrystal/internal/NCMsg.hh
-include/NCrystal/internal/NCOrientUtils.hh
-include/NCrystal/internal/NCPCBragg.hh
-include/NCrystal/internal/NCPlaneProvider.hh
-include/NCrystal/internal/NCPointwiseDist.hh
-include/NCrystal/internal/NCProcCompBldr.hh
-include/NCrystal/internal/NCRandUtils.hh
-include/NCrystal/internal/NCRomberg.hh
-include/NCrystal/internal/NCRotMatrix.hh
-include/NCrystal/internal/NCSABEval.hh
-include/NCrystal/internal/NCSABExtender.hh
-include/NCrystal/internal/NCSABFactory.hh
-include/NCrystal/internal/NCSABIntegrator.hh
-include/NCrystal/internal/NCSABSampler.hh
-include/NCrystal/internal/NCSABSamplerModels.hh
-include/NCrystal/internal/NCSABScatter.hh
-include/NCrystal/internal/NCSABScatterHelper.hh
-include/NCrystal/internal/NCSABUCN.hh
-include/NCrystal/internal/NCSABUtils.hh
-include/NCrystal/internal/NCSABXSProvider.hh
-include/NCrystal/internal/NCSANSSphScat.hh
-include/NCrystal/internal/NCSANSUtils.hh
-include/NCrystal/internal/NCSCBragg.hh
-include/NCrystal/internal/NCScatKnlData.hh
-include/NCrystal/internal/NCSpan.hh
-include/NCrystal/internal/NCSpline.hh
-include/NCrystal/internal/NCStrView.hh
-include/NCrystal/internal/NCString.hh
-include/NCrystal/internal/NCVDOSEval.hh
-include/NCrystal/internal/NCVDOSGn.hh
-include/NCrystal/internal/NCVDOSToScatKnl.hh
-include/NCrystal/internal/NCVector.hh
+include/NCrystal/cinterface/ncrystal.h
+include/NCrystal/core/NCDefs.hh
+include/NCrystal/core/NCException.hh
+include/NCrystal/core/NCFmt.hh
+include/NCrystal/core/NCImmutBuf.hh
+include/NCrystal/core/NCMem.hh
+include/NCrystal/core/NCSmallVector.hh
+include/NCrystal/core/NCTypes.hh
+include/NCrystal/core/NCVariant.hh
+include/NCrystal/dump/NCDump.hh
+include/NCrystal/factories/NCDataSources.hh
+include/NCrystal/factories/NCFact.hh
+include/NCrystal/factories/NCFactImpl.hh
+include/NCrystal/factories/NCFactRequests.hh
+include/NCrystal/factories/NCFactRequestsImpl.hh
+include/NCrystal/factories/NCFactTypes.hh
+include/NCrystal/factories/NCMatCfg.hh
+include/NCrystal/interfaces/NCAtomData.hh
+include/NCrystal/interfaces/NCInfo.hh
+include/NCrystal/interfaces/NCInfoTypes.hh
+include/NCrystal/interfaces/NCProc.hh
+include/NCrystal/interfaces/NCProcImpl.hh
+include/NCrystal/interfaces/NCRNG.hh
+include/NCrystal/interfaces/NCSABData.hh
+include/NCrystal/interfaces/NCSCOrientation.hh
+include/NCrystal/interfaces/NCVersion.hh
+include/NCrystal/internal/absoov/NCAbsOOV.hh
+include/NCrystal/internal/atomdb/NCAtomDB.hh
+include/NCrystal/internal/atomdb/NCAtomDBExtender.hh
+include/NCrystal/internal/bkgdextcurve/NCBkgdExtCurve.hh
+include/NCrystal/internal/cfgutils/NCCfgManip.hh
+include/NCrystal/internal/cfgutils/NCCfgTypes.hh
+include/NCrystal/internal/cfgutils/NCCfgVars.hh
+include/NCrystal/internal/dyninfoutils/NCDynInfoUtils.hh
+include/NCrystal/internal/elincscatter/NCElIncScatter.hh
+include/NCrystal/internal/extd_utils/NCABIUtils.hh
+include/NCrystal/internal/extd_utils/NCFillHKL.hh
+include/NCrystal/internal/extd_utils/NCLCRefModels.hh
+include/NCrystal/internal/extd_utils/NCLCUtils.hh
+include/NCrystal/internal/extd_utils/NCOrientUtils.hh
+include/NCrystal/internal/extd_utils/NCPlaneProvider.hh
+include/NCrystal/internal/extd_utils/NCProcCompBldr.hh
+include/NCrystal/internal/extd_utils/NCSANSUtils.hh
+include/NCrystal/internal/fact_utils/NCFactoryJobs.hh
+include/NCrystal/internal/fact_utils/NCFactoryUtils.hh
+include/NCrystal/internal/freegas/NCFreeGas.hh
+include/NCrystal/internal/gasmix/NCGasMixUtils.hh
+include/NCrystal/internal/infobld/NCInfoBuilder.hh
+include/NCrystal/internal/lcbragg/NCLCBragg.hh
+include/NCrystal/internal/minimc/NCMMC_Basket.hh
+include/NCrystal/internal/minimc/NCMMC_BasketMgr.hh
+include/NCrystal/internal/minimc/NCMMC_BasketSrcFiller.hh
+include/NCrystal/internal/minimc/NCMMC_Defs.hh
+include/NCrystal/internal/minimc/NCMMC_Geom.hh
+include/NCrystal/internal/minimc/NCMMC_RunSim.hh
+include/NCrystal/internal/minimc/NCMMC_SimMgrMT.hh
+include/NCrystal/internal/minimc/NCMMC_Source.hh
+include/NCrystal/internal/minimc/NCMMC_StdEngine.hh
+include/NCrystal/internal/minimc/NCMMC_StdTallies.hh
+include/NCrystal/internal/minimc/NCMMC_Tally.hh
+include/NCrystal/internal/minimc/NCMMC_Utils.hh
+include/NCrystal/internal/ncmat/NCLoadNCMAT.hh
+include/NCrystal/internal/ncmat/NCNCMATData.hh
+include/NCrystal/internal/ncmat/NCParseNCMAT.hh
+include/NCrystal/internal/phys_utils/NCDebyeMSD.hh
+include/NCrystal/internal/phys_utils/NCElIncXS.hh
+include/NCrystal/internal/phys_utils/NCEqRefl.hh
+include/NCrystal/internal/phys_utils/NCFreeGasUtils.hh
+include/NCrystal/internal/phys_utils/NCGaussMos.hh
+include/NCrystal/internal/phys_utils/NCGaussOnSphere.hh
+include/NCrystal/internal/phys_utils/NCIofQHelper.hh
+include/NCrystal/internal/phys_utils/NCKinUtils.hh
+include/NCrystal/internal/powderbragg/NCPowderBragg.hh
+include/NCrystal/internal/sab/NCSABEval.hh
+include/NCrystal/internal/sab/NCSABExtender.hh
+include/NCrystal/internal/sab/NCSABFactory.hh
+include/NCrystal/internal/sab/NCSABIntegrator.hh
+include/NCrystal/internal/sab/NCSABSampler.hh
+include/NCrystal/internal/sab/NCSABSamplerModels.hh
+include/NCrystal/internal/sab/NCSABScatterHelper.hh
+include/NCrystal/internal/sab/NCSABUCN.hh
+include/NCrystal/internal/sab/NCSABUtils.hh
+include/NCrystal/internal/sab/NCSABXSProvider.hh
+include/NCrystal/internal/sab/NCScatKnlData.hh
+include/NCrystal/internal/sabscatter/NCSABScatter.hh
+include/NCrystal/internal/sanshardsphere/NCSANSSphScat.hh
+include/NCrystal/internal/scbragg/NCSCBragg.hh
+include/NCrystal/internal/utils/NCAtomUtils.hh
+include/NCrystal/internal/utils/NCCFileUtils.hh
+include/NCrystal/internal/utils/NCDynLoader.hh
+include/NCrystal/internal/utils/NCFastConvolve.hh
+include/NCrystal/internal/utils/NCFileUtils.hh
+include/NCrystal/internal/utils/NCHists.hh
+include/NCrystal/internal/utils/NCIter.hh
+include/NCrystal/internal/utils/NCLatticeUtils.hh
+include/NCrystal/internal/utils/NCMath.hh
+include/NCrystal/internal/utils/NCMatrix.hh
+include/NCrystal/internal/utils/NCMsg.hh
+include/NCrystal/internal/utils/NCPointwiseDist.hh
+include/NCrystal/internal/utils/NCRandUtils.hh
+include/NCrystal/internal/utils/NCRomberg.hh
+include/NCrystal/internal/utils/NCRotMatrix.hh
+include/NCrystal/internal/utils/NCSpan.hh
+include/NCrystal/internal/utils/NCSpline.hh
+include/NCrystal/internal/utils/NCStrView.hh
+include/NCrystal/internal/utils/NCString.hh
+include/NCrystal/internal/utils/NCVector.hh
+include/NCrystal/internal/vdos/NCVDOSEval.hh
+include/NCrystal/internal/vdos/NCVDOSGn.hh
+include/NCrystal/internal/vdos/NCVDOSToScatKnl.hh
+include/NCrystal/misc/NCCompositionUtils.hh
+include/NCrystal/misc/NCMsgCtrl.hh
 include/NCrystal/ncapi.h
 include/NCrystal/ncrystal.h
+include/NCrystal/plugins/NCPluginMgmt.hh
+include/NCrystal/text/NCTextData.hh
+include/NCrystal/threads/NCFactThreads.hh
 lib/cmake/NCrystal/NCrystalConfig.cmake
 lib/cmake/NCrystal/NCrystalConfigVersion.cmake
 lib/cmake/NCrystal/NCrystalTargets-%%CMAKE_BUILD_TYPE%%.cmake
 lib/cmake/NCrystal/NCrystalTargets.cmake
 lib/libNCrystal.so
-lib/libNCrystal.so.3
-lib/libNCrystal.so.3.9.7
-share/NCrystal/data/AcrylicGlass_C5O2H8.ncmat
-share/NCrystal/data/AgBr_sg225_SilverBromide.ncmat
-share/NCrystal/data/Ag_sg225.ncmat
-share/NCrystal/data/Al2O3_sg167_Corundum.ncmat
-share/NCrystal/data/Al4C3_sg166_AluminiumCarbide.ncmat
-share/NCrystal/data/AlN_sg186_AluminumNitride.ncmat
-share/NCrystal/data/Al_sg225.ncmat
-share/NCrystal/data/Ar_Gas_STP.ncmat
-share/NCrystal/data/Au_sg225.ncmat
-share/NCrystal/data/BaF2_sg225_BariumFluoride.ncmat
-share/NCrystal/data/BaO_sg225_BariumOxide.ncmat
-share/NCrystal/data/Ba_sg229.ncmat
-share/NCrystal/data/Be3N2_sg206_BerylliumNitride.ncmat
-share/NCrystal/data/BeF2_sg152_Beryllium_Fluoride.ncmat
-share/NCrystal/data/BeO_sg186.ncmat
-share/NCrystal/data/Be_sg194.ncmat
-share/NCrystal/data/Bi_sg166.ncmat
-share/NCrystal/data/C_sg194_pyrolytic_graphite.ncmat
-share/NCrystal/data/C_sg227_Diamond.ncmat
-share/NCrystal/data/CaCO3_sg62_Aragonite.ncmat
-share/NCrystal/data/CaF2_sg225_CalciumFlouride.ncmat
-share/NCrystal/data/CaH2_sg62_CalciumHydride.ncmat
-share/NCrystal/data/CaO2H2_sg164_CalciumHydroxide.ncmat
-share/NCrystal/data/CaO_sg225_CalciumOxide.ncmat
-share/NCrystal/data/CaSiO3_sg2_Wollastonite.ncmat
-share/NCrystal/data/Ca_sg225.ncmat
-share/NCrystal/data/Ca_sg229_Calcium-gamma.ncmat
-share/NCrystal/data/CeO2_sg225_CeriumOxide.ncmat
-share/NCrystal/data/Cr_sg229.ncmat
-share/NCrystal/data/Cu2O_sg224_Cuprite.ncmat
-share/NCrystal/data/Cu_sg225.ncmat
-share/NCrystal/data/Dy2O3_sg206_DysprosiumOxide.ncmat
-share/NCrystal/data/Epoxy_Araldite506_C18H20O3.ncmat
-share/NCrystal/data/Fe_sg225_Iron-gamma.ncmat
-share/NCrystal/data/Fe_sg229_Iron-alpha.ncmat
-share/NCrystal/data/GaN_sg186_GalliumNitride.ncmat
-share/NCrystal/data/GaSe_sg194_GalliumSelenide.ncmat
-share/NCrystal/data/Ge3Bi4O12_sg220_BismuthGermanate.ncmat
-share/NCrystal/data/Ge_sg227.ncmat
-share/NCrystal/data/He_Gas_STP.ncmat
-share/NCrystal/data/HfO2_sg14_HafniumOxide.ncmat
-share/NCrystal/data/Ho2O3_sg206_HolmiumOxide.ncmat
-share/NCrystal/data/KBr_sg225_PotassiumBromide.ncmat
-share/NCrystal/data/KF_sg225_PotassiumFlouride.ncmat
-share/NCrystal/data/KOH_sg4_PotassiumHydroxide.ncmat
-share/NCrystal/data/K_sg229.ncmat
-share/NCrystal/data/Kapton_C22H10N2O5.ncmat
-share/NCrystal/data/Kr_Gas_STP.ncmat
-share/NCrystal/data/LaBr3_sg176_LanthanumBromide.ncmat
-share/NCrystal/data/Li2O_sg225_LithiumOxide.ncmat
-share/NCrystal/data/Li3N_sg191_LithiumNitride.ncmat
-share/NCrystal/data/LiF_sg225_LithiumFlouride.ncmat
-share/NCrystal/data/LiH_sg225_LithiumHydride.ncmat
-share/NCrystal/data/LiquidHeavyWaterD2O_T293.6K.ncmat
-share/NCrystal/data/LiquidWaterH2O_T293.6K.ncmat
-share/NCrystal/data/Lu2O3_sg206_LutetiumOxide.ncmat
-share/NCrystal/data/Lu2SiO5_sg15.ncmat
-share/NCrystal/data/Mg2SiO4_sg62_MagnesiumSilicate.ncmat
-share/NCrystal/data/MgAl2O4_sg227_MAS.ncmat
-share/NCrystal/data/MgCO3_sg167_MagnesiumCarbonate.ncmat
-share/NCrystal/data/MgD2_sg136_MagnesiumDeuteride.ncmat
-share/NCrystal/data/MgF2_sg136_MagnesiumFlouride.ncmat
-share/NCrystal/data/MgH2_sg136_MagnesiumHydride.ncmat
-share/NCrystal/data/MgO2H2_sg164_MagnesiumHydroxide.ncmat
-share/NCrystal/data/MgO_sg225_Periclase.ncmat
-share/NCrystal/data/Mg_sg194.ncmat
-share/NCrystal/data/Mo_sg229.ncmat
-share/NCrystal/data/Na4Si3Al3O12Cl_sg218_Sodalite.ncmat
-share/NCrystal/data/NaBr_sg225_SodiumBromide.ncmat
-share/NCrystal/data/NaCl_sg225_SodiumChloride.ncmat
-share/NCrystal/data/NaF_sg225_SodiumFlouride.ncmat
-share/NCrystal/data/NaI_sg225_SodiumIodide.ncmat
-share/NCrystal/data/Na_sg229.ncmat
-share/NCrystal/data/Nb_sg229.ncmat
-share/NCrystal/data/Ne_Gas_STP.ncmat
-share/NCrystal/data/Ni_sg225.ncmat
-share/NCrystal/data/Nylon11_C11H21NO.ncmat
-share/NCrystal/data/Nylon12_C12H23NO.ncmat
-share/NCrystal/data/Nylon610_C16H30N2O2.ncmat
-share/NCrystal/data/Nylon66or6_C12H22N2O2.ncmat
-share/NCrystal/data/PEEK_C19H12O3.ncmat
-share/NCrystal/data/PVC_C2H3Cl.ncmat
-share/NCrystal/data/PbF2-beta_sg225_BetaLeadFlouride.ncmat
-share/NCrystal/data/PbO-alpha_sg129_Litharge.ncmat
-share/NCrystal/data/PbO-beta_sg57_Massicot.ncmat
-share/NCrystal/data/PbS_sg225_LeadSulfide.ncmat
-share/NCrystal/data/Pb_sg225.ncmat
-share/NCrystal/data/Pd_sg225.ncmat
-share/NCrystal/data/Polycarbonate_C16O3H14.ncmat
-share/NCrystal/data/Polyester_C10H8O4.ncmat
-share/NCrystal/data/Polyethylene_CH2.ncmat
-share/NCrystal/data/Polylactide_C3H4O2.ncmat
-share/NCrystal/data/Polypropylene_C3H6.ncmat
-share/NCrystal/data/Polystyrene_C8H8.ncmat
-share/NCrystal/data/Pt_sg225.ncmat
-share/NCrystal/data/Rb_sg229.ncmat
-share/NCrystal/data/Rubber_C5H8.ncmat
-share/NCrystal/data/Sc_sg194.ncmat
-share/NCrystal/data/SiC-beta_sg216_BetaSiliconCarbide.ncmat
-share/NCrystal/data/SiO2-alpha_sg154_AlphaQuartz.ncmat
-share/NCrystal/data/SiO2-beta_sg180_BetaQuartz.ncmat
-share/NCrystal/data/Si_sg227.ncmat
-share/NCrystal/data/Sn_sg141.ncmat
-share/NCrystal/data/SrF2_sg225_StrontiumFluoride.ncmat
-share/NCrystal/data/SrH2_sg62_StrontiumHydride.ncmat
-share/NCrystal/data/Sr_sg225.ncmat
-share/NCrystal/data/Th3N4_sg166_ThoriumNitride.ncmat
-share/NCrystal/data/ThO2_sg225_ThoriumDioxide.ncmat
-share/NCrystal/data/Th_sg225.ncmat
-share/NCrystal/data/TiO2_sg136_Rutile.ncmat
-share/NCrystal/data/TiO2_sg141_Anatase.ncmat
-share/NCrystal/data/Ti_sg194.ncmat
-share/NCrystal/data/TlBr_sg221_ThaliumBromide.ncmat
-share/NCrystal/data/Tm2O3_sg206_ThuliumOxide.ncmat
-share/NCrystal/data/UF6_sg62_UraniumHexaflouride.ncmat
-share/NCrystal/data/UO2_sg225_UraniumDioxide.ncmat
-share/NCrystal/data/V_sg229.ncmat
-share/NCrystal/data/W_sg229.ncmat
-share/NCrystal/data/Xe_Gas_STP.ncmat
-share/NCrystal/data/Y2O3_sg206_Yttrium_Oxide.ncmat
-share/NCrystal/data/Y2SiO5_sg15_YSO.ncmat
-share/NCrystal/data/Y3Al5O12_sg230_YAG.ncmat
-share/NCrystal/data/Y_sg194.ncmat
-share/NCrystal/data/ZnF2_sg136_ZincFlouride.ncmat
-share/NCrystal/data/ZnO_sg186_ZincOxide.ncmat
-share/NCrystal/data/ZnS_sg216_Sphalerite.ncmat
-share/NCrystal/data/Zn_sg194.ncmat
-share/NCrystal/data/ZrF4-beta_sg84.ncmat
-share/NCrystal/data/ZrO2_sg137_Zirconia.ncmat
-share/NCrystal/data/ZrO2_sg14_Zirconia.ncmat
-share/NCrystal/data/Zr_sg194.ncmat
-share/NCrystal/data/void.ncmat
-share/NCrystal/python/NCrystal/__init__.py
-share/NCrystal/python/NCrystal/_chooks.py
-share/NCrystal/python/NCrystal/_cli_hfg2ncmat.py
-share/NCrystal/python/NCrystal/_common.py
-share/NCrystal/python/NCrystal/_coreimpl.py
-share/NCrystal/python/NCrystal/_hfgdata.py
-share/NCrystal/python/NCrystal/_hklobjects.py
-share/NCrystal/python/NCrystal/_miscimpl.py
-share/NCrystal/python/NCrystal/_mmc.py
-share/NCrystal/python/NCrystal/_msg.py
-share/NCrystal/python/NCrystal/_nclibpath.py
-share/NCrystal/python/NCrystal/_ncmatimpl.py
-share/NCrystal/python/NCrystal/_numpy.py
-share/NCrystal/python/NCrystal/_testimpl.py
-share/NCrystal/python/NCrystal/api.py
-share/NCrystal/python/NCrystal/atomdata.py
-share/NCrystal/python/NCrystal/cfgstr.py
-share/NCrystal/python/NCrystal/cifutils.py
-share/NCrystal/python/NCrystal/constants.py
-share/NCrystal/python/NCrystal/core.py
-share/NCrystal/python/NCrystal/datasrc.py
-share/NCrystal/python/NCrystal/exceptions.py
-share/NCrystal/python/NCrystal/hfg2ncmat.py
-share/NCrystal/python/NCrystal/mcstasutils.py
-share/NCrystal/python/NCrystal/misc.py
-share/NCrystal/python/NCrystal/ncmat.py
-share/NCrystal/python/NCrystal/obsolete.py
-share/NCrystal/python/NCrystal/plot.py
-share/NCrystal/python/NCrystal/plugins.py
-share/NCrystal/python/NCrystal/test.py
-share/NCrystal/python/NCrystal/vdos.py
diff --git a/science/py-ncrystal/Makefile b/science/py-ncrystal/Makefile
index 0e4d5249e059..b46f8667eca2 100644
--- a/science/py-ncrystal/Makefile
+++ b/science/py-ncrystal/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	ncrystal
 DISTVERSIONPREFIX=	v
-DISTVERSION=	3.9.7
+DISTVERSION=	4.0.2
 CATEGORIES=	science # physics
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 
@@ -13,7 +13,7 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 
 BUILD_DEPENDS=	${PY_SETUPTOOLS} \
 		${PYNUMPY} \
-		${PYTHON_PKGNAMEPREFIX}scikit-build>=0.13:devel/py-scikit-build@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}scikit-build-core>0:devel/py-scikit-build-core@${PY_FLAVOR} \
 		cmake:devel/cmake-core
 RUN_DEPENDS=	${PYNUMPY}
 
@@ -29,7 +29,7 @@ post-install:
 	# delete scripts (they are installed by science/ncrystal)
 	@${RM} ${STAGEDIR}${PREFIX}/bin/*
 	# strip binary
-	@${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/NCrystal/ncrystal_pyinst_data/lib/libNCrystal.so
+	#@${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/NCrystal/ncrystal_pyinst_data/lib/libNCrystal.so
 
 fix-plist: # see post-install
 	@${REINPLACE_CMD} -e "s|^bin/.*$$||" ${TMPPLIST}
diff --git a/science/py-ncrystal/distinfo b/science/py-ncrystal/distinfo
index cd30f50837a7..b6a3566f68be 100644
--- a/science/py-ncrystal/distinfo
+++ b/science/py-ncrystal/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1727243188
-SHA256 (mctools-ncrystal-v3.9.7_GH0.tar.gz) = 7b9ed5ae26d7971c1f4014b62c139631231450f3de32154626b38ea9c56f035f
-SIZE (mctools-ncrystal-v3.9.7_GH0.tar.gz) = 1902205
+TIMESTAMP = 1740389786
+SHA256 (mctools-ncrystal-v4.0.2_GH0.tar.gz) = ed12b23c30858a5b7c2f1b9eb9a928242c3e36fb73286aa437f5c89b562dfad8
+SIZE (mctools-ncrystal-v4.0.2_GH0.tar.gz) = 2708641
diff --git a/science/py-ncrystal/files/patch-ncrystal__core_src_utils_NCCFileUtils.cc b/science/py-ncrystal/files/patch-ncrystal__core_src_utils_NCCFileUtils.cc
new file mode 100644
index 000000000000..1f7198b30626
--- /dev/null
+++ b/science/py-ncrystal/files/patch-ncrystal__core_src_utils_NCCFileUtils.cc
@@ -0,0 +1,15 @@
+--- ncrystal_core/src/utils/NCCFileUtils.cc.orig	2025-02-24 09:02:29 UTC
++++ ncrystal_core/src/utils/NCCFileUtils.cc
+@@ -24,12 +24,6 @@
+ #  define MC_IS_WINDOWS
+ #endif
+ #ifndef MC_IS_WINDOWS
+-#  ifndef _POSIX_C_SOURCE
+-#    define _POSIX_C_SOURCE 200809L
+-#  endif
+-#  ifndef _XOPEN_SOURCE
+-#    define _XOPEN_SOURCE 500
+-#  endif
+ #  include <unistd.h>
+ #  include <limits.h>
+ #  include <errno.h>
diff --git a/science/py-ncrystal/files/patch-pyproject.toml b/science/py-ncrystal/files/patch-pyproject.toml
deleted file mode 100644
index b2affe463ad7..000000000000
--- a/science/py-ncrystal/files/patch-pyproject.toml
+++ /dev/null
@@ -1,10 +0,0 @@
---- pyproject.toml.orig	2024-08-14 10:12:23 UTC
-+++ pyproject.toml
-@@ -23,7 +23,6 @@ requires = [
- requires = [
-     "setuptools>=42",
-     "scikit-build>=0.13",
--    "cmake>=3.18",
-     "numpy",
-     'importlib_metadata; python_version < "3.8"',
- ]