summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO33
-rw-r--r--PKGBUILD67
-rw-r--r--arch-llvm.patch80
-rw-r--r--oclint-llvm-link.patch17
-rw-r--r--openssl.patch21
5 files changed, 142 insertions, 76 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ae7a34b0a1a9..4c7c1833ecf8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 41d1253cc2da..6a63ea180f58 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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()