This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[ITA] cppcheck-1.66-1


# 32-bit:
BASEURL=https://dl.dropboxusercontent.com/u/119453582/Cygwin/32bit/release
wget --no-check-certificate --no-host-directories --force-directories --cut-dirs=5 \
${BASEURL}/cppcheck/cppcheck-1.66-1-src.tar.xz \
${BASEURL}/cppcheck/cppcheck-1.66-1.tar.xz \
${BASEURL}/cppcheck/cppcheck-debuginfo/cppcheck-debuginfo-1.66-1.tar.xz \
${BASEURL}/cppcheck/cppcheck-debuginfo/setup.hint \
${BASEURL}/cppcheck/cppcheck-gui/cppcheck-gui-1.66-1.tar.xz \
${BASEURL}/cppcheck/cppcheck-gui/setup.hint \
${BASEURL}/cppcheck/setup.hint



# 64-bit:
BASEURL=https://dl.dropboxusercontent.com/u/119453582/Cygwin/64bit/release
wget --no-check-certificate --no-host-directories --force-directories --cut-dirs=5 \
${BASEURL}/cppcheck/cppcheck-1.66-1-src.tar.xz \
${BASEURL}/cppcheck/cppcheck-1.66-1.tar.xz \
${BASEURL}/cppcheck/cppcheck-debuginfo/cppcheck-debuginfo-1.66-1.tar.xz \
${BASEURL}/cppcheck/cppcheck-debuginfo/setup.hint \
${BASEURL}/cppcheck/cppcheck-gui/cppcheck-gui-1.66-1.tar.xz \
${BASEURL}/cppcheck/cppcheck-gui/setup.hint \
${BASEURL}/cppcheck/setup.hint


I would like to adopt cppcheck, which was orphaned by Chris Sutcliffe last week [1]. The following notes may be of use when reviewing this package:

I have enabled custom rules for cppcheck, which gives the user the scope to create custom checks. This introduces a dependency on libpcre1.

I have built the Qt GUI for cppcheck, which is available as a sub-package. cppcheck-gui is available in openSUSE [2] and ArchLinux [3].

cppcheck-gui contains a number of language translations, which are included. However, the way that the GUI locates these translations is a little bizarre. The user is expected to call 'cppcheck-gui --data-dir=/path/to/translations' before using cppcheck-gui for the first time. This would be an ideal candidate for a post-install step, except that it has to be done by each user (not just the user performing the install), and an X server needs to be running (even though no window is opened). So for both of these reasons I consider that a post-install step is not the way forward.

Instead, I have patched the GUI to always look for the translation files in a set directory. This seems sensible, as you should just have one set of translation files that are shared between all users. This works, but the GUI gives a harmless warning the first time it is invoked. This is probably a bug in the cppcheck-gui code, as the native Windows version does the same. Otherwise, the GUI works well.

The cppcheck build scripts from openSUSE [4] and ArchLinux [5] don't offer much inspiration - neither ship with the translation files at all, which will just give an error when the user tries to switch languages. So I would be very interested if anyone could find a more elegant solution to this problem.

Finally, cppcheck contains a version of tinyxml2, which it statically links against. Fedora has libtinyxml2 as a separate package, and their version of cppcheck is dependant upon that. This build of cppcheck for Cygwin contains the statically linked tinyxml2. However, it is my intention to ITP libtinyxml2 as a separate package for future builds of cppcheck to use.

Many thanks in advance for looking at this package,

Dave.

[1] - https://cygwin.com/ml/cygwin/2014-09/msg00289.html
[2] - http://www.rpmseek.com/rpm/cppcheck-gui-1.63-2.4.x86_64.html?hl=com&cs=cpp:PN:0:0:1:0:0:13516864
[3] - https://www.archlinux.org/packages/community/i686/cppcheck/
[4] - https://build.opensuse.org/package/view_file/devel:tools/cppcheck/cppcheck.spec [5] - https://projects.archlinux.org/svntogit/community.git/plain/trunk/PKGBUILD?h=packages/cppcheck



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]