diff --git a/devel/cvise/Makefile b/devel/cvise/Makefile index f8ffea061445..fba9ee204968 100644 --- a/devel/cvise/Makefile +++ b/devel/cvise/Makefile @@ -1,39 +1,48 @@ PORTNAME= cvise DISTVERSIONPREFIX= v DISTVERSION= 2.12.0 +PORTREVISION= 1 CATEGORIES= devel python +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES+= 68262f7d6de584b6474801827cb7dfc68011de25.patch:-p1 # Add support for LLVM 21 as of 2025.06.24 (#183) +PATCHFILES+= 42da06fd108c351c5f4a42657c16208300121545.patch:-p1 # clang_delta: Add tests for replace-dependent-typedef (#275) +PATCHFILES+= 59e9058c43b12b802893bde668113c8b3b3525b7.patch:-p1 # clang_delta: Skip non-dep typedefs in replace-dependent-typedef (#276) +PATCHFILES+= fa1be9523d569adfe207c85a1e44f074172bc305.patch:-p1 # Support for LLVM 22 (#373) +PATCHFILES+= b17bbacdb279babd87dc9ef24756f3003746717c.patch:-p1 # clang_delta: Support for LLVM 22 20251014 (#430) +PATCHFILES+= c7f9642340eb61c09a05c96498fd21c9b7293770.patch:-p1 # Support for LLVM 22 updated, as of 2025-10-25 (#439) + MAINTAINER= bofh@FreeBSD.org COMMENT= C-Vise is a super-parallel Python port of the C-Reduce WWW= https://github.com/marxin/cvise LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pebble>0:devel/py-pebble@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}chardet>0:textproc/py-chardet@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR} RUN_DEPENDS= bash:shells/bash \ ${PYTHON_PKGNAMEPREFIX}pebble>0:devel/py-pebble@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}chardet>0:textproc/py-chardet@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-flake8>=0:devel/py-pytest-flake8@${PY_FLAVOR} # gcc:lang/gcc # gcc required for tests to pass. framework errors: # Error: lang/gcc should not be depended upon. Instead, use USE_GCC. # but doesn't support gcc as a test only depends # once this is installed, all tests pass for me: # 260 passed, 1 skipped in 64.82 seconds USES= cmake compiler llvm:min=16,build,run python shebangfix USE_GITHUB= yes GH_ACCOUNT= marxin USE_PYTHON= pytest SHEBANG_FILES= cvise-delta.py cvise.py CMAKE_ARGS+= -DLLVM_DIR:PATH=${LLVM_PREFIX}/lib/cmake/llvm CMAKE_ARGS+= -DClang_DIR:PATH=${LLVM_PREFIX}/lib/cmake/clang .include diff --git a/devel/cvise/distinfo b/devel/cvise/distinfo index 9fb50593eb4a..514c984d20a4 100644 --- a/devel/cvise/distinfo +++ b/devel/cvise/distinfo @@ -1,3 +1,15 @@ -TIMESTAMP = 1758790001 +TIMESTAMP = 1782737253 SHA256 (marxin-cvise-v2.12.0_GH0.tar.gz) = 7eb3b2ec4e64e3033cb47e35363336f50b1313a34a106609ad1110c532389779 SIZE (marxin-cvise-v2.12.0_GH0.tar.gz) = 274458 +SHA256 (68262f7d6de584b6474801827cb7dfc68011de25.patch) = 0a690589ec49fdd2bf714f456313919409ceb84635e0129b816ba4432b5ae4aa +SIZE (68262f7d6de584b6474801827cb7dfc68011de25.patch) = 7238 +SHA256 (42da06fd108c351c5f4a42657c16208300121545.patch) = 3660a6024637eb33a07d170ddc6f704098de49de91c4a942145e86265f683581 +SIZE (42da06fd108c351c5f4a42657c16208300121545.patch) = 5376 +SHA256 (59e9058c43b12b802893bde668113c8b3b3525b7.patch) = b912849fa3fb9528af11c4949aaecd818762950c9203a922857845cd8d9488ba +SIZE (59e9058c43b12b802893bde668113c8b3b3525b7.patch) = 6884 +SHA256 (fa1be9523d569adfe207c85a1e44f074172bc305.patch) = b5a2d033c3fbd9b995a4bdb04334569ddd8284bfe9fa1c17d7f9e5ce5d5ba838 +SIZE (fa1be9523d569adfe207c85a1e44f074172bc305.patch) = 49886 +SHA256 (b17bbacdb279babd87dc9ef24756f3003746717c.patch) = b6ee407c2018aca52f68525c17925b9bb2493ea584602b601ac75029a8fc375c +SIZE (b17bbacdb279babd87dc9ef24756f3003746717c.patch) = 2144 +SHA256 (c7f9642340eb61c09a05c96498fd21c9b7293770.patch) = 18574c5a73f214c2e1b8c429e9c6ace2e3872907f6db8ea6007ff794b930d6d0 +SIZE (c7f9642340eb61c09a05c96498fd21c9b7293770.patch) = 17093 diff --git a/devel/cvise/files/patch-llvm21 b/devel/cvise/files/patch-llvm21 deleted file mode 100644 index 750ff4d1da11..000000000000 --- a/devel/cvise/files/patch-llvm21 +++ /dev/null @@ -1,152 +0,0 @@ -commit 68262f7d6de584b6474801827cb7dfc68011de25 -Author: Maksim Ivanov -Date: 2025-06-24T22:14:34+02:00 - - Add support for LLVM 21 as of 2025.06.24 (#183) - - Adjust the C++ code according to backwards-incompatible changes - that are being made in the tip-of-the-tree LLVM sources (for the upcoming - 21 release). - - Switch the CI-LLVM-nightly job to using LLVM version 21. - - This fixes #171. - ---- .github/workflows/build-llvm-nightly.yml.orig 2025-09-23 20:51:29 UTC -+++ .github/workflows/build-llvm-nightly.yml -@@ -27,10 +27,10 @@ jobs: - - run: nproc - - run: wget https://apt.llvm.org/llvm.sh - - run: chmod +x llvm.sh -- - run: ./llvm.sh 20 -- - run: apt-get install -y bolt-20 clang-20 libclang-common-20-dev libclang-20-dev mlir-20-tools llvm-20-tools libclang-common-20-dev libclang-20-dev libclang1-20 clang-format-20 python3-clang-20 clangd-20 clang-tidy-20 libomp-20-dev -+ - run: ./llvm.sh 21 -+ - run: apt-get install -y bolt-21 clang-21 libclang-common-21-dev libclang-21-dev mlir-21-tools llvm-21-tools libclang-common-21-dev libclang-21-dev libclang1-21 clang-format-21 python3-clang-21 clangd-21 clang-tidy-21 libomp-21-dev - # TODO: remove in the future -- - run: touch /usr/lib/llvm-20/lib/libLibcTableGenUtil.a -+ - run: touch /usr/lib/llvm-21/lib/libLibcTableGenUtil.a - - uses: actions/checkout@v4 - - run: mkdir objdir - - run: cmake .. ---- clang_delta/CommonRenameClassRewriteVisitor.h.orig 2025-09-23 20:51:29 UTC -+++ clang_delta/CommonRenameClassRewriteVisitor.h -@@ -368,7 +368,12 @@ template bool CommonRenameClassRewriteVisi - dyn_cast(Ty); - TransAssert(DTST && "Bad DependentTemplateSpecializationType!"); - -- const IdentifierInfo *IdInfo = DTST->getIdentifier(); -+ const IdentifierInfo *IdInfo = -+#if LLVM_VERSION_MAJOR > 20 -+ DTST->getDependentTemplateName().getName().getIdentifier(); -+#else -+ DTST->getIdentifier(); -+#endif - std::string IdName = IdInfo->getName().str(); - std::string Name; - if (getNewNameByName(IdName, Name)) { ---- clang_delta/RemoveNamespace.cpp.orig 2025-09-23 20:51:29 UTC -+++ clang_delta/RemoveNamespace.cpp -@@ -440,7 +440,12 @@ bool RemoveNamespaceRewriteVisitor::VisitDependentTemp - dyn_cast(Ty); - TransAssert(DTST && "Bad DependentTemplateSpecializationType!"); - -- const IdentifierInfo *IdInfo = DTST->getIdentifier(); -+ const IdentifierInfo *IdInfo = -+#if LLVM_VERSION_MAJOR > 20 -+ DTST->getDependentTemplateName().getName().getIdentifier(); -+#else -+ DTST->getIdentifier(); -+#endif - std::string IdName = IdInfo->getName().str(); - std::string Name; - -@@ -563,7 +568,9 @@ bool RemoveNamespaceRewriteVisitor::TraverseNestedName - break; - } - case NestedNameSpecifier::TypeSpec: // Fall-through -+#if LLVM_VERSION_MAJOR <= 20 - case NestedNameSpecifier::TypeSpecWithTemplate: -+#endif - TraverseTypeLoc(Loc.getTypeLoc()); - break; - default: ---- clang_delta/RemoveUnusedFunction.cpp.orig 2025-09-23 20:51:29 UTC -+++ clang_delta/RemoveUnusedFunction.cpp -@@ -254,7 +254,11 @@ bool RUFAnalysisVisitor::VisitFunctionDecl(FunctionDec - - if (FD->isReferenced() || - FD->isMain() || -+#if LLVM_VERSION_MAJOR > 20 -+ FD->hasAttr() || -+#else - FD->hasAttr() || -+#endif - ConsumerInstance->hasReferencedSpecialization(CanonicalFD) || - ConsumerInstance->isInlinedSystemFunction(CanonicalFD) || - ConsumerInstance->isInReferencedSet(CanonicalFD) || ---- clang_delta/RenameFun.cpp.orig 2025-09-23 20:51:29 UTC -+++ clang_delta/RenameFun.cpp -@@ -261,7 +261,13 @@ void RenameFun::addFun(const FunctionDecl *FD) - { - std::string Name = FD->getNameAsString(); - // Skip special functions -- if (isSpecialFun(Name) || FD->hasAttr()) -+ if (isSpecialFun(Name) || -+#if LLVM_VERSION_MAJOR > 20 -+ FD->hasAttr() -+#else -+ FD->hasAttr() -+#endif -+ ) - FunToNameMap[FD] = Name; - - if (FunToNameMap.find(FD) != FunToNameMap.end()) ---- clang_delta/Transformation.cpp.orig 2025-09-23 20:51:29 UTC -+++ clang_delta/Transformation.cpp -@@ -675,7 +675,10 @@ const DeclContext *Transformation::getDeclContextFromS - return NAD->getNamespace()->getCanonicalDecl(); - } - case NestedNameSpecifier::TypeSpec: // Fall-through -- case NestedNameSpecifier::TypeSpecWithTemplate: { -+#if LLVM_VERSION_MAJOR <= 20 -+ case NestedNameSpecifier::TypeSpecWithTemplate: -+#endif -+ { - const Type *Ty = NNS->getAsType(); - if (const RecordType *RT = Ty->getAs()) - return RT->getDecl(); -@@ -1163,4 +1166,3 @@ Transformation::~Transformation(void) - { - RewriteUtils::Finalize(); - } -- ---- clang_delta/TransformationManager.cpp.orig 2025-09-23 20:51:29 UTC -+++ clang_delta/TransformationManager.cpp -@@ -163,7 +163,12 @@ bool TransformationManager::initializeCompilerInstance - ClangInstance->createFileManager(); - - if(CLCPath != NULL && ClangInstance->hasFileManager() && -- ClangInstance->getFileManager().getDirectory(CLCPath, false)) { -+#if LLVM_VERSION_MAJOR > 20 -+ ClangInstance->getFileManager().getDirectoryRef(CLCPath, false) -+#else -+ ClangInstance->getFileManager().getDirectory(CLCPath, false) -+#endif -+ ) { - Args.push_back("-I"); - Args.push_back(CLCPath); - } -@@ -186,7 +191,12 @@ bool TransformationManager::initializeCompilerInstance - - TargetInfo *Target = - TargetInfo::CreateTargetInfo(ClangInstance->getDiagnostics(), -- ClangInstance->getInvocation().TargetOpts); -+#if LLVM_VERSION_MAJOR > 20 -+ ClangInstance->getInvocation().getTargetOpts() -+#else -+ ClangInstance->getInvocation().TargetOpts -+#endif -+ ); - ClangInstance->setTarget(Target); - - if (const char *env = getenv("CVISE_INCLUDE_PATH")) {