diff --git a/science/iboview/Makefile b/science/iboview/Makefile index 40e314724be0..7f62dc2c91b6 100644 --- a/science/iboview/Makefile +++ b/science/iboview/Makefile @@ -1,30 +1,33 @@ PORTNAME= iboview -PORTVERSION= 20150427 -PORTREVISION= 29 +PORTVERSION= 20211019a CATEGORIES= science MASTER_SITES= http://www.iboview.org/bin/ -DISTNAME= ibo-view.20150427 +DISTNAME= ibo-view.20211019-RevA MAINTAINER= ports@FreeBSD.org COMMENT= Program for analyzing molecular electronic structure WWW= http://www.iboview.org/ LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE +ONLY_FOR_ARCHS= amd64 powerpc64 powerpc64le + BUILD_DEPENDS= boost-libs>=0:devel/boost-libs RUN_DEPENDS= boost-libs>=0:devel/boost-libs -ONLY_FOR_ARCHS= amd64 - -USES= blaslapack:openblas fortran gl qmake:outsource qt:5 tar:bz2 +USES= blaslapack:openblas fortran gl qmake:outsource qt:5 zip USE_CXXSTD= c++14 -USE_GL= gl glu +USE_GL= gl USE_QT= buildtools:build core gui widgets opengl script svg +CONFIGURE_ENV= BLASLIB="${BLASLIB}" \ + BOOST_ROOT=${LOCALBASE}/include +QMAKE_ARGS= DEFINES+=_I4_ DEFINES+=GLEW_NO_GLU + PLIST_FILES= bin/iboview do-install: ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/iboview ${STAGEDIR}${PREFIX}/bin .include diff --git a/science/iboview/distinfo b/science/iboview/distinfo index 68ccf528844f..ce1099776add 100644 --- a/science/iboview/distinfo +++ b/science/iboview/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1493172588 -SHA256 (ibo-view.20150427.tar.bz2) = 2a67b7c82ba957d016eef202453bdfc2278d5752dc7000b4b809812bd7945aed -SIZE (ibo-view.20150427.tar.bz2) = 5169203 +TIMESTAMP = 1788430623 +SHA256 (ibo-view.20211019-RevA.zip) = 48aea36f89996631b621c571ec56a73ef1b9bd70018f113685bd461eb1c79105 +SIZE (ibo-view.20211019-RevA.zip) = 34343464 diff --git a/science/iboview/files/patch-main.pro b/science/iboview/files/patch-main.pro index 1de961e80b42..b950cc6caf10 100644 --- a/science/iboview/files/patch-main.pro +++ b/science/iboview/files/patch-main.pro @@ -1,43 +1,13 @@ ---- main.pro.orig 2015-04-27 21:30:39 UTC +--- main.pro.orig 2026-09-03 10:18:30 UTC +++ main.pro -@@ -1,5 +1,5 @@ - # /usr/bin/qmake-qt4 -o Makefile main.pro && make -j 4 --MKLDIR = $$(MKLROOT) -+#MKLDIR = $$(MKLROOT) - # MKLDIR = /opt/intel/composerxe/mkl - # ^- FIXME: adjust path of MKL here if MKLROOT environment variable is not set. - # (e.g., -@@ -8,8 +8,9 @@ MKLDIR = $$(MKLROOT) - - # LIBS += -L$$MKLDIR/lib/em64t -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lmkl_lapack -Wl,-rpath,$$MKLDIR/lib/em64t - # LIBS += -L$$MKLDIR/lib/intel64 -lmkl_gf_ilp64 -lmkl_sequential -lmkl_core -Wl,-rpath,$$MKLDIR/lib/intel64 --LIBS += -L$$MKLDIR/lib/intel64 -fopenmp -lmkl_gf_ilp64 -lmkl_gnu_thread -lmkl_core -Wl,-rpath,$$MKLDIR/lib/intel64 -+#LIBS += -L$$MKLDIR/lib/intel64 -fopenmp -lmkl_gf_ilp64 -lmkl_gnu_thread -lmkl_core -Wl,-rpath,$$MKLDIR/lib/intel64 - # LIBS += -LC:\Users\cgk\Develop\Libraries\OpenBLAS\bin -lopenblas -+LIBS += -lopenblas - - # MICROSCF = ../wmme - -@@ -52,14 +53,14 @@ HEADERS += $$GL/glew.h $$GL/glxew.h $$GL/wglew.h - # from.) - - # OpenMP --msvc { -- QMAKE_CXXFLAGS += /openmp -- QMAKE_LFLAGS += /openmp --} --!msvc { -- QMAKE_CXXFLAGS += -fopenmp -- QMAKE_LFLAGS += -fopenmp --} -+#msvc { -+# QMAKE_CXXFLAGS += /openmp -+# QMAKE_LFLAGS += /openmp -+#} -+#!msvc { -+# QMAKE_CXXFLAGS += -fopenmp -+# QMAKE_LFLAGS += -fopenmp -+#} - # ^- warning: need to replace all OpenMP loop variables by "int". Otherwise won't work - # in vc or gcc <= 4.4 (unsigned integral types only allowed since OpenMP 3.0... wtf - # were they thinking?!) +@@ -183,8 +183,8 @@ win32 { + !win32 { + # Flags for g++ or clang (in g++ emulation mode on linux) + OPTFLAGS_OFF = -O2 +- OPTFLAGS_ON = -Ofast -ffast-math -march=native +- QMAKE_CXXFLAGS += -Wno-deprecated-copy -Wno-class-memaccess -Wno-implicit-fallthrough -Wno-unknown-pragmas -fmax-errors=10 ++ OPTFLAGS_ON = -Ofast -ffast-math ++ QMAKE_CXXFLAGS += -Wno-deprecated-copy -Wno-class-memaccess -Wno-implicit-fallthrough -Wno-unknown-pragmas + # DEFINES += _GLIBCXX_PARALLEL + # ^-- Interesting, see: https://gcc.gnu.org/onlinedocs/libstdc++/manual/parallel_mode_using.html + # But still not sure what to think about this. In any case, we diff --git a/science/iboview/files/patch-src_Common_CxDefs.h b/science/iboview/files/patch-src_Common_CxDefs.h new file mode 100644 index 000000000000..fbfeed6a5dbe --- /dev/null +++ b/science/iboview/files/patch-src_Common_CxDefs.h @@ -0,0 +1,11 @@ +--- src/Common/CxDefs.h.orig 2026-09-03 10:18:30 UTC ++++ src/Common/CxDefs.h +@@ -138,7 +138,7 @@ + #endif + #endif + +-#if (defined __GNUC__ || defined __INTEL_COMPILER) ++#if (defined __GNUC__ || defined __INTEL_COMPILER) && (defined __i386__ || defined __x86_64__) + // 'insert software breakpoint here'. + #define DEBUG_BREAK __asm__("int $0x03"); + #elif defined(_MSC_VER) && !defined(__PGI) // microsoft c++ (other win32 compilers might emulate this syntax) diff --git a/science/iboview/files/patch-src_Common_CxNumpyArray.cpp b/science/iboview/files/patch-src_Common_CxNumpyArray.cpp deleted file mode 100644 index 02498540c50c..000000000000 --- a/science/iboview/files/patch-src_Common_CxNumpyArray.cpp +++ /dev/null @@ -1,10 +0,0 @@ ---- src/Common/CxNumpyArray.cpp.orig 2015-04-27 21:30:38 UTC -+++ src/Common/CxNumpyArray.cpp -@@ -22,6 +22,7 @@ - */ - - #include -+#include - #include "CxNumpyArray.h" - - #ifdef _MSC_VER diff --git a/science/iboview/files/patch-src_Common_CxPrintLevel.h b/science/iboview/files/patch-src_Common_CxPrintLevel.h new file mode 100644 index 000000000000..aefa0cba3753 --- /dev/null +++ b/science/iboview/files/patch-src_Common_CxPrintLevel.h @@ -0,0 +1,10 @@ +--- src/Common/CxPrintLevel.h.orig 2026-09-03 10:59:33 UTC ++++ src/Common/CxPrintLevel.h +@@ -26,6 +26,7 @@ + + #include + #include ++#include "CxParse1.h" + // #include + + namespace ct { diff --git a/science/iboview/files/patch-src_Common_CxStorageDevice.h b/science/iboview/files/patch-src_Common_CxStorageDevice.h deleted file mode 100644 index 7f8ad8e0488e..000000000000 --- a/science/iboview/files/patch-src_Common_CxStorageDevice.h +++ /dev/null @@ -1,10 +0,0 @@ ---- src/Common/CxStorageDevice.h.orig 2017-04-30 20:26:11 UTC -+++ src/Common/CxStorageDevice.h -@@ -26,6 +26,7 @@ - - #include - #include -+#include - #include "CxTypes.h" - - namespace ct { diff --git a/science/iboview/files/patch-src_Common_CxTiming.cpp b/science/iboview/files/patch-src_Common_CxTiming.cpp new file mode 100644 index 000000000000..88eab18ecfa3 --- /dev/null +++ b/science/iboview/files/patch-src_Common_CxTiming.cpp @@ -0,0 +1,19 @@ +--- src/Common/CxTiming.cpp.orig 2026-09-03 10:26:42 UTC ++++ src/Common/CxTiming.cpp +@@ -67,10 +67,16 @@ unsigned long long dbgGetTimeStampCounter() + // Use only for debugging, if at all! + unsigned long long dbgGetTimeStampCounter() + { ++#if defined(__powerpc64__) ++ unsigned long long tb; ++ asm volatile("mfspr %0, 268" : "=r" (tb)); ++ return tb; ++#else + unsigned a, d; + asm volatile("rdtsc" : "=a" (a), "=d" (d)); + + return (((unsigned long long)a) | (((unsigned long long)d) << 32)); ++#endif + } + + } // namespace ct diff --git a/science/iboview/files/patch-src_MicroScf_CtDftGrid.cpp b/science/iboview/files/patch-src_MicroScf_CtDftGrid.cpp new file mode 100644 index 000000000000..beac14008f7d --- /dev/null +++ b/science/iboview/files/patch-src_MicroScf_CtDftGrid.cpp @@ -0,0 +1,11 @@ +--- src/MicroScf/CtDftGrid.cpp.orig 2026-09-03 10:55:14 UTC ++++ src/MicroScf/CtDftGrid.cpp +@@ -974,7 +974,7 @@ void FDftGridGenerator::Create() + { + ct::FMemoryStackArray MemStacks(Mem); + #pragma omp parallel for schedule(dynamic) +- for (int iAtom = 0; size_t(iAtom) < Atoms.size(); ++ iAtom) { ++ for (int iAtom = 0; iAtom < int(Atoms.size()); ++ iAtom) { + FMemoryStack &Mem_ = MemStacks.GetStackOfThread(); + Mem_.Align(32); + FPointList diff --git a/science/iboview/files/patch-src_MicroScf_CtFockBuild.cpp b/science/iboview/files/patch-src_MicroScf_CtFockBuild.cpp new file mode 100644 index 000000000000..6d137e0368f7 --- /dev/null +++ b/science/iboview/files/patch-src_MicroScf_CtFockBuild.cpp @@ -0,0 +1,11 @@ +--- src/MicroScf/CtFockBuild.cpp.orig 2026-09-03 10:55:14 UTC ++++ src/MicroScf/CtFockBuild.cpp +@@ -762,7 +762,7 @@ void FormIntMNF_ContractF(FMatrixView Out, ir::FIntegr + + FMemoryStackArray MemStacks(Mem_); + #pragma omp parallel for schedule(dynamic) +- for (int iShB__ = 0; size_t(iShB__) < pOrbBasis->Shells.size(); ++ iShB__ ){ ++ for (int iShB__ = 0; iShB__ < int(pOrbBasis->Shells.size()); ++ iShB__ ){ + size_t iShB = size_t(iShB__); + FMemoryStack &Mem = MemStacks.GetStackOfThread(); +