diff options
author | Troy Engel | 2019-03-31 17:51:34 -0500 |
---|---|---|
committer | Troy Engel | 2019-03-31 17:51:34 -0500 |
commit | f0eb172fdd95dee1893a48d6157ba56c7f573f6f (patch) | |
tree | 4d06faf32a761db1ff885625f0b927ee7d8cda07 | |
parent | 76b5cf1f7df7dbc3a5c0ed9a4049e907b682b7f6 (diff) | |
download | aur-f0eb172fdd95dee1893a48d6157ba56c7f573f6f.tar.gz |
first attempt at new Qt based kernelshark
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | PKGBUILD | 63 |
2 files changed, 71 insertions, 11 deletions
@@ -1,18 +1,27 @@ pkgbase = trace-cmd-git pkgdesc = user-space front-end command-line tool for Ftrace, inclduing the GUI interface application kernelshark as well as trace-graph and trace-view. - pkgver = 2.7.r118.gde3d274 + pkgver = 2.7.r358.g5276e83 pkgrel = 1 url = http://git.kernel.org/?p=linux/kernel/git/rostedt/trace-cmd.git arch = x86_64 arch = aarch64 license = GPL2 + makedepends = python makedepends = git - makedepends = pygtk - makedepends = swig makedepends = docbook-xsl makedepends = asciidoc - depends = python2 - depends = gtk2 + makedepends = extra-cmake-modules + makedepends = doxygen + makedepends = freeglut + makedepends = glu + makedepends = qt5-base + makedepends = json-c + makedepends = libxmu + makedepends = swig + optdepends = python: for the python plugins + optdepends = qt5-base: for the kernelshark GUI + optdepends = freeglut: for the kernelshark GUI + optdepends = glu: for the kernelshark GUI provides = trace-cmd conflicts = trace-cmd source = git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git @@ -3,14 +3,18 @@ # Maintainer: Netanel Shine <netanel at archlinux.org.il> pkgname=trace-cmd-git -pkgver=2.7.r118.gde3d274 +pkgver=2.7.r358.g5276e83 pkgrel=1 pkgdesc="user-space front-end command-line tool for Ftrace, inclduing the GUI interface application kernelshark as well as trace-graph and trace-view." arch=('x86_64' 'aarch64') url="http://git.kernel.org/?p=linux/kernel/git/rostedt/trace-cmd.git" license=('GPL2') -depends=('python2' 'gtk2') -makedepends=('git' 'pygtk' 'swig' 'docbook-xsl' 'asciidoc') +makedepends=('python' 'git' 'docbook-xsl' 'asciidoc' 'extra-cmake-modules' + 'doxygen' 'freeglut' 'glu' 'qt5-base' 'json-c' 'libxmu' 'swig') +optdepends=('python: for the python plugins' + 'qt5-base: for the kernelshark GUI' + 'freeglut: for the kernelshark GUI' + 'glu: for the kernelshark GUI') provides=("trace-cmd") conflicts=("trace-cmd") source=("git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git") @@ -19,21 +23,68 @@ sha1sums=("SKIP") pkgver() { cd "$srcdir/trace-cmd" - git describe --long | sed -r 's/^trace.cmd.v//; s/([^-]*-g)/r\1/;s/-/./g' + # kernelshark tags are internal to the project, skip them + # kernelshark.v0.9.8.r77.g5276e83 -> (trace-cmd) 2.7.r358.g5276e83 + git describe --long --exclude "kernelshark*" | \ + sed -r 's/^trace.cmd.v//; s/([^-]*-g)/r\1/;s/-/./g' } prepare() { cd "$srcdir/trace-cmd" + + ## fixes for getting kernelshark installed correctly to /usr + + # pass down $prefix to cmake + sed -i.cip 's|bin/cmake|bin/cmake -DCMAKE_INSTALL_PREFIX=\$(prefix) -DCMAKE_BUILD_TYPE=Release|g' \ + Makefile + cd kernel-shark + + # replace hard-coded /usr/local with /usr all over the place + for filep in org.freedesktop.kshark-record.policy build/ks.desktop.cmake \ + src/CMakeLists.txt src/plugins/CMakeLists.txt ./CMakeLists.txt; do + sed -i.ul 's|usr/local|usr|g' "${filep}" + done + + # KS_DIR is the random local build directory, relocate it to /usr + sed -i.ks 's|@KS_DIR@|/usr/share/kernelshark|g' build/ks.desktop.cmake + sed -i.ks 's|@KS_DIR@|/usr|g' build/deff.h.cmake + sed -i.tb 's|@TRACECMD_BIN_DIR@|/usr/bin|g' build/deff.h.cmake + + # this ends up hard-coded to the build directory + sed -i.ksc 's|KS_CONF_DIR "\${KS_DIR}|KS_CONF_DIR "/tmp|g' CMakeLists.txt + + # the gcc/g++ debug flag is enabled even when _DEBUG=0 + sed -i.dbg 's/-Wall -g/-Wall/g' CMakeLists.txt + + # this source is hard-coded to KS_DIR/lib/plugin-* + sed -i.plg 's|lib/plugin|lib/kshark/plugin|g' src/KsUtils.cpp + + # these try to use KS_DIR for open/close of files + for kfile in src/KsMainWindow.cpp src/KsCaptureDialog.cpp; do + sed -i.hm 's/KS_DIR/QDir::homePath()/g' "${kfile}" + done + + # KS_CONF_DIR was set above to /tmp for the Makefiles, this is to use + # the user's home directory inside the code itself for saving and + # restoring their "lastsession.json" file + sed -i.ksd 's|KS_CONF_DIR;|QDir::homePath()+"/.ksconf";QDir dir(file);if (!dir.exists()) dir.mkpath(".");|g' src/KsMainWindow.cpp } build() { cd "$srcdir/trace-cmd" - make PYTHON_VERS=python2 all gui doc + # pkg-config --cflags --libs $PYTHON_VERS + make PYTHON_VERS=python3 prefix="/usr" DESTDIR="$pkgdir" all doc gui } package() { cd "${srcdir}/trace-cmd" - make PYTHON_VERS=python2 prefix="/usr" DESTDIR="$pkgdir" install install_gui install_doc + # pkg-config --cflags --libs $PYTHON_VERS + make PYTHON_VERS=python3 prefix="/usr" DESTDIR="$pkgdir" \ + install install_doc install_gui + + # referenced in the .desktop file + install -Dm0644 "${srcdir}/trace-cmd/kernel-shark/icons/ksharkicon.png" \ + "${pkgdir}/usr/share/kernelshark/icons/ksharkicon.png" } |