diff options
-rw-r--r-- | .SRCINFO | 33 | ||||
-rw-r--r-- | PKGBUILD | 67 | ||||
-rw-r--r-- | arch-llvm.patch | 80 | ||||
-rw-r--r-- | oclint-llvm-link.patch | 17 | ||||
-rw-r--r-- | openssl.patch | 21 |
5 files changed, 142 insertions, 76 deletions
@@ -1,21 +1,34 @@ pkgbase = oclint pkgdesc = A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C - pkgver = 0.15 - pkgrel = 1 + pkgver = 20.11 + pkgrel = 0 url = http://oclint.org/ - arch = i686 arch = x86_64 license = BSD - makedepends = clang + makedepends = gcc + makedepends = binutils + makedepends = make makedepends = cmake makedepends = ninja - makedepends = subversion + makedepends = git makedepends = python - makedepends = llvm - source = https://github.com/oclint/oclint/archive/v0.15.tar.gz - source = oclint-llvm-link.patch - sha1sums = 0951193cb2e594ac212fea05e51355be8f9b0172 - sha1sums = 73d13cad422f5bf5e8383376182ca8addbc586de + depends = clang + depends = llvm-libs + depends = gcc-libs + depends = glibc + depends = xz + depends = libffi + depends = libedit + depends = libxml2 + depends = icu + depends = zlib + provides = oclint + conflicts = oclint-git + options = !ccache + source = oclint::git+https://github.com/oclint/oclint#tag=v20.11 + source = arch-llvm.patch + sha256sums = SKIP + sha256sums = 764f44e5af361b851938a733bd6d06d5b1e8badbd622f5c58cd249a1d02613ca pkgname = oclint @@ -1,45 +1,56 @@ # Maintainer: Moritz Lipp <mlq@pwmt.org> +# Maintainer: Tymofii Khodniev <thodnev@xinity.devd> -pkgname=oclint -pkgver=0.15 -pkgrel=1 +pkgbase='oclint' +pkgname=("${pkgbase}") +pkgver=20.11 +pkgrel=0 pkgdesc="A static source code analysis tool to improve quality and reduce -defects for C, C++ and Objective-C" -arch=('i686' 'x86_64') + defects for C, C++ and Objective-C" +arch=('x86_64') url="http://oclint.org/" license=('BSD') -dependencies=('clang' 'clang-analyzer' 'llvm' 'llvm-libs' 'openssl') -makedepends=('clang' 'cmake' 'ninja' 'subversion' 'python' 'llvm') -source=("https://github.com/oclint/oclint/archive/v${pkgver}.tar.gz" - "oclint-llvm-link.patch") -sha1sums=('0951193cb2e594ac212fea05e51355be8f9b0172' - '73d13cad422f5bf5e8383376182ca8addbc586de') +provides=("${pkgbase}") +conflicts=("${pkgbase}-git") +depends=('clang' 'llvm-libs' 'gcc-libs' 'glibc' 'xz' 'libffi' 'libedit' 'libxml2' 'icu' 'zlib') +makedepends=('gcc' 'binutils' 'make' 'cmake' 'ninja' 'git' 'python') +options=(!ccache) +source=( + "${pkgbase}::git+https://github.com/oclint/oclint#tag=v${pkgver}" + "arch-llvm.patch" +) +sha256sums=( + "SKIP" + "764f44e5af361b851938a733bd6d06d5b1e8badbd622f5c58cd249a1d02613ca" +) prepare() { - cd "$srcdir/$pkgname-$pkgver" - patch -p1 < $srcdir/oclint-llvm-link.patch + cd "${srcdir}/${pkgname}" + patch --strip=1 -i "${srcdir}/arch-llvm.patch" } build() { - cd "$srcdir/$pkgname-$pkgver/oclint-scripts" - ./makeWithSystemLLVM /usr + cd "${srcdir}/${pkgbase}" + jflag=`python -c "from multiprocessing import cpu_count; \ + from os import environ; \ + m=environ.get('MAKEFLAGS', f'-j{cpu_count() + 1}'); \ + m=[v for v in m.split(' ') if v.startswith('-j')]; \ + print(m[-1])"` + # run build script (with system llvm) + # providing parallelism as set in MAKEFLAGS in makepkg.conf + ./oclint-scripts/build ${jflag} --llvm-root=$(llvm-config --prefix) --clean --release } -package() { - cd "$srcdir/$pkgname-$pkgver" - - # FIX: Copy llvm LICENSE file for bundle script - # mkdir -p llvm - # cp /usr/include/llvm/Support/LICENSE.TXT llvm +package_oclint() { + cd "${srcdir}/${pkgbase}" # Run bundle scripts - cd oclint-scripts - ./bundle -llvm-root=/usr -release - cd .. + ./oclint-scripts/bundle --llvm-root=$(llvm-config --prefix) --release - mkdir -p $pkgdir/usr/bin - cp ./build/oclint-release/bin/oclint-$pkgver $pkgdir/usr/bin/oclint + cd ./build/oclint-release - mkdir -p $pkgdir/usr/lib/oclint - cp -r ./build/oclint-release/lib/oclint/* $pkgdir/usr/lib/oclint/ + install -Dm644 ./LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -Dm755 ./lib/oclint/rules/* -t "${pkgdir}/usr/lib/oclint/rules" + install -Dm755 ./lib/oclint/reporters/* -t "${pkgdir}/usr/lib/oclint/reporters" + install -Dm755 ./bin/oclint-* "${pkgdir}/usr/bin/oclint" } diff --git a/arch-llvm.patch b/arch-llvm.patch new file mode 100644 index 000000000000..508b431c447c --- /dev/null +++ b/arch-llvm.patch @@ -0,0 +1,80 @@ +diff --git a/oclint-core/cmake/OCLintConfig.cmake b/oclint-core/cmake/OCLintConfig.cmake +index 01a3d3e..3160707 100644 +--- a/oclint-core/cmake/OCLintConfig.cmake ++++ b/oclint-core/cmake/OCLintConfig.cmake +@@ -62,19 +62,7 @@ MESSAGE(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}") + LLVM_MAP_COMPONENTS_TO_LIBNAMES(REQ_LLVM_LIBRARIES asmparser bitreader instrumentation mcparser option support frontendopenmp) + + SET(CLANG_LIBRARIES +- clangToolingCore +- clangTooling +- clangFrontend +- clangDriver +- clangSerialization +- clangParse +- clangSema +- clangAnalysis +- clangEdit +- clangASTMatchers +- clangAST +- clangLex +- clangBasic) ++ clang-cpp) + + IF(TEST_BUILD) + ENABLE_TESTING() +diff --git a/oclint-driver/CMakeLists.txt b/oclint-driver/CMakeLists.txt +index bf6578b..fe8bffc 100644 +--- a/oclint-driver/CMakeLists.txt ++++ b/oclint-driver/CMakeLists.txt +@@ -33,17 +33,17 @@ ELSE() + ) + ENDIF() + ++IF(LLVM_LINK_LLVM_DYLIB) ++ set(USE_SHARED USE_SHARED) ++ENDIF() ++ ++LLVM_CONFIG(oclint-${OCLINT_VERSION_RELEASE} ${USE_SHARED} ${REQ_LLVM_LIBRARIES}) ++ + TARGET_LINK_LIBRARIES(oclint-${OCLINT_VERSION_RELEASE} + OCLintDriver + OCLintRuleSet + OCLintCore +- clangStaticAnalyzerFrontend +- clangStaticAnalyzerCheckers +- clangStaticAnalyzerCore +- clangRewriteFrontend +- clangRewrite +- clangCrossTU +- clangIndex ++ clang-cpp + ${CLANG_LIBRARIES} + ${REQ_LLVM_LIBRARIES} + ${CMAKE_DL_LIBS} +@@ -65,11 +65,7 @@ IF(DOC_GEN_BUILD) + OCLintDriver + OCLintRuleSet + OCLintCore +- clangStaticAnalyzerFrontend +- clangStaticAnalyzerCheckers +- clangStaticAnalyzerCore +- clangRewriteFrontend +- clangRewrite ++ clang-cpp + ${CLANG_LIBRARIES} + ${REQ_LLVM_LIBRARIES} + ${CMAKE_DL_LIBS} +diff --git a/oclint-rules/rules/CMakeLists.txt b/oclint-rules/rules/CMakeLists.txt +index 2e33597..9918ab0 100644 +--- a/oclint-rules/rules/CMakeLists.txt ++++ b/oclint-rules/rules/CMakeLists.txt +@@ -19,7 +19,7 @@ MACRO(build_dynamic_rule name) + TARGET_LINK_LIBRARIES(${name}Rule OCLintAbstractRule) + + TARGET_LINK_LIBRARIES(${name}Rule +- clangASTMatchers ++ clang-cpp + ) # TODO: might be redundant + + TARGET_LINK_LIBRARIES(${name}Rule diff --git a/oclint-llvm-link.patch b/oclint-llvm-link.patch deleted file mode 100644 index 86ea4c8309fc..000000000000 --- a/oclint-llvm-link.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/oclint-driver/CMakeLists.txt b/oclint-driver/CMakeLists.txt -index bf6578b..0385536 100644 ---- a/oclint-driver/CMakeLists.txt -+++ b/oclint-driver/CMakeLists.txt -@@ -33,6 +33,12 @@ ELSE() - ) - ENDIF() - -+IF(LLVM_LINK_LLVM_DYLIB) -+ set(USE_SHARED USE_SHARED) -+ENDIF() -+ -+LLVM_CONFIG(oclint-${OCLINT_VERSION_RELEASE} ${USE_SHARED} ${REQ_LLVM_LIBRARIES}) -+ - TARGET_LINK_LIBRARIES(oclint-${OCLINT_VERSION_RELEASE} - OCLintDriver - OCLintRuleSet diff --git a/openssl.patch b/openssl.patch deleted file mode 100644 index c6746b7b4e1b..000000000000 --- a/openssl.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/oclint-driver/CMakeLists.txt b/oclint-driver/CMakeLists.txt -index d1826f1..39b697f 100644 ---- a/oclint-driver/CMakeLists.txt -+++ b/oclint-driver/CMakeLists.txt -@@ -67,12 +67,12 @@ IF((NOT NO_ANALYTICS) AND (NOT MINGW) AND (NOT DOC_GEN_BUILD) AND (NOT TEST_BUIL - /usr/local/opt/openssl/lib/libcrypto.a - ) - ELSE() -- FIND_LIBRARY(SSL_STATIC_LIB NAMES libssl.a) -- FIND_LIBRARY(CRYPTO_STATIC_LIB NAMES libcrypto.a) -+ FIND_LIBRARY(SSL_SHARED_LIB NAMES libssl.so) -+ FIND_LIBRARY(CRYPTO_SHARED_LIB NAMES libcrypto.so) - TARGET_LINK_LIBRARIES(oclint-${OCLINT_VERSION_RELEASE} - Countly -- ${SSL_STATIC_LIB} -- ${CRYPTO_STATIC_LIB} -+ ${SSL_SHARED_LIB} -+ ${CRYPTO_SHARED_LIB} - ) - ENDIF() - ENDIF() |