forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Jeroen Roovers <[email protected]>
- Loading branch information
Jeroen Roovers
committed
Nov 25, 2018
1 parent
cdff73c
commit 22d1318
Showing
5 changed files
with
168 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST cppcheck-1.81.tar.bz2 1514741 BLAKE2B 2f23dfe4bdb26e203411f0bf9bc569303a4d59f96911b32a8a5f9cc9a6a7fa75e5d87c328cb0bf8cc46bd8f38747a4663c33243b8385355cc5630e1fcf6c891f SHA512 22e7b63c35e71b2784065faca06aec8c286e3173f182ac10995073cc3d61fd0bfaf353c51ad9207d3bd2c6134ab1a3990a37668709505b657c2816d561f8af92 | ||
DIST cppcheck-1.84.tar.gz 2051244 BLAKE2B 8e4b4c71da969addec6d1cb2919c39625054797ae730c85555695e872f87295c20e4564db2eadf536a762ca018882285d5d329f9a5789608e14ef17f1069753d SHA512 7f971f9097db6d2fee7483634afc697bddff499a7b09c4be0bfdc3f8e502d47202a8d4f4fc1a330d0fb1d34a7772065b96419b4b4f4f1467b997e62459304526 | ||
DIST cppcheck-1.85.tar.gz 2150637 BLAKE2B 73a1d4e1fb0770103c8163f35b9e710a5863561df66e46e319b9246ed14e3c5d4d73511db6e70275de4f4510866d7e1888b0fd6b49e5b01fc4f08d081119b36c SHA512 cc984c751d87150839782e96b3762dbf918d9e3687562eabaff6473e48e3254995dd3bffe8605842f867d7ad76845ca2248a53bbd54b5c367281db8a1c1c7fad |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
# Copyright 1999-2018 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) | ||
inherit distutils-r1 qmake-utils toolchain-funcs | ||
|
||
DESCRIPTION="Static analyzer of C/C++ code" | ||
HOMEPAGE="http://cppcheck.sourceforge.net" | ||
SRC_URI="https://github.com/danmar/cppcheck/archive/${PV}.tar.gz -> ${P}.tar.gz" | ||
|
||
LICENSE="GPL-3+" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~sparc ~x86" | ||
IUSE="htmlreport pcre qt5" | ||
|
||
RDEPEND=" | ||
dev-libs/tinyxml2:= | ||
htmlreport? ( dev-python/pygments[${PYTHON_USEDEP}] ) | ||
pcre? ( dev-libs/libpcre ) | ||
qt5? ( | ||
dev-qt/qtcore:5 | ||
dev-qt/qtgui:5 | ||
dev-qt/qtprintsupport:5 | ||
) | ||
" | ||
DEPEND="${RDEPEND} | ||
app-text/docbook-xsl-stylesheets | ||
dev-libs/libxslt | ||
virtual/pkgconfig | ||
" | ||
PATCHES=( | ||
"${FILESDIR}"/${PN}-1.75-tinyxml2.patch | ||
"${FILESDIR}"/${PN}-1.85-ldflags.patch | ||
) | ||
|
||
src_prepare() { | ||
default | ||
|
||
rm -r externals/tinyxml || die | ||
} | ||
|
||
src_configure() { | ||
tc-export CXX PKG_CONFIG | ||
export LIBS="$(${PKG_CONFIG} --libs tinyxml2)" | ||
|
||
emake dmake | ||
./dmake || die | ||
|
||
if use pcre ; then | ||
sed -e '/HAVE_RULES=/s:=no:=yes:' \ | ||
-i Makefile || die | ||
fi | ||
|
||
if use qt5 ; then | ||
pushd gui || die | ||
eqmake5 | ||
popd || die | ||
fi | ||
} | ||
|
||
src_compile() { | ||
emake ${PN} man \ | ||
CFGDIR="${EROOT}/usr/share/${PN}/cfg" \ | ||
DB2MAN="${EROOT}/usr/share/sgml/docbook/xsl-stylesheets/manpages/docbook.xsl" | ||
|
||
if use qt5 ; then | ||
pushd gui || die | ||
emake | ||
popd || die | ||
fi | ||
|
||
if use htmlreport ; then | ||
pushd htmlreport || die | ||
distutils-r1_src_compile | ||
popd || die | ||
fi | ||
} | ||
|
||
src_test() { | ||
# safe final version | ||
mv -v ${PN}{,.final} || die | ||
mv -v lib/library.o{,.final} || die | ||
mv -v cli/cppcheckexecutor.o{,.final} || die | ||
#trigger recompile with CFGDIR inside ${S} | ||
emake check CFGDIR="${S}/cfg" | ||
# restore | ||
mv -v ${PN}{.final,} || die | ||
mv -v lib/library.o{.final,} || die | ||
mv -v cli/cppcheckexecutor.o{.final,} || die | ||
} | ||
|
||
src_install() { | ||
# it's not autotools-based, so "${ED}" here, not "${D}", bug 531760 | ||
emake install DESTDIR="${ED}" | ||
|
||
insinto "/usr/share/${PN}/cfg" | ||
doins cfg/*.cfg | ||
if use qt5 ; then | ||
dobin gui/${PN}-gui | ||
dodoc gui/{projectfile.txt,gui.${PN}} | ||
fi | ||
if use htmlreport ; then | ||
pushd htmlreport || die | ||
distutils-r1_src_install | ||
popd || die | ||
find "${D}" -name "*.egg-info" -delete | ||
else | ||
rm "${ED}/usr/bin/cppcheck-htmlreport" || die | ||
fi | ||
doman ${PN}.1 | ||
dodoc -r triage | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
--- a/tools/dmake.cpp | ||
+++ b/tools/dmake.cpp | ||
@@ -363,10 +363,10 @@ | ||
fout << ".PHONY: run-dmake tags\n\n"; | ||
fout << "\n###### Targets\n\n"; | ||
fout << "cppcheck: $(LIBOBJ) $(CLIOBJ) $(EXTOBJ)\n"; | ||
- fout << "\t$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS) $(LDFLAGS) $(RDYNAMIC)\n\n"; | ||
+ fout << "\t$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) $(RDYNAMIC) $(LIBS)\n\n"; | ||
fout << "all:\tcppcheck testrunner\n\n"; | ||
fout << "testrunner: $(TESTOBJ) $(LIBOBJ) $(EXTOBJ) cli/threadexecutor.o cli/cmdlineparser.o cli/cppcheckexecutor.o cli/filelister.o\n"; | ||
- fout << "\t$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS) $(LDFLAGS) $(RDYNAMIC)\n\n"; | ||
+ fout << "\t$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) $(RDYNAMIC) $(LIBS)\n\n"; | ||
fout << "test:\tall\n"; | ||
fout << "\t./testrunner\n\n"; | ||
fout << "check:\tall\n"; | ||
@@ -380,7 +380,7 @@ | ||
fout << "generate_cfg_tests: tools/generate_cfg_tests.o $(EXTOBJ)\n"; | ||
fout << "\tg++ -Iexternals/tinyxml -o generate_cfg_tests tools/generate_cfg_tests.o $(EXTOBJ)\n"; | ||
fout << "reduce:\ttools/reduce.o $(LIBOBJ) $(EXTOBJ)\n"; | ||
- fout << "\t$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ $(LIBS) $(LDFLAGS) $(RDYNAMIC)\n\n"; | ||
+ fout << "\t$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) $(RDYNAMIC) $(LIBS)\n\n"; | ||
fout << "clean:\n"; | ||
fout << "\trm -f build/*.o lib/*.o cli/*.o test/*.o tools/*.o externals/*/*.o testrunner reduce dmake cppcheck cppcheck.1\n\n"; | ||
fout << "man:\tman/cppcheck.1\n\n"; |