summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authordobo902015-06-08 19:30:45 +0200
committerdobo902015-06-08 19:30:45 +0200
commite94a3a2b2ec58a5e0f96e7d6dd59b974bed4cdba (patch)
tree8c629f106e3ef757851019889fe89a5394741d95
downloadaur-e94a3a2b2ec58a5e0f96e7d6dd59b974bed4cdba.tar.gz
Initial import
-rw-r--r--.SRCINFO17
-rw-r--r--PKGBUILD84
-rw-r--r--edb.install32
-rw-r--r--edb32.desktop16
4 files changed, 149 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..e71e22c8a778
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,17 @@
+pkgbase = bin32-edb-debugger
+ pkgdesc = EDB (Evan's Debugger) is a QT4 based binary mode debugger with the goal of having usability on par with OllyDbg - 32 bit version (used to debug 32-bit applications on x86_64 architecture).
+ pkgver = 0.9.20
+ pkgrel = 1
+ url = http://www.codef00.com/projects.php#Debugger
+ install = edb.install
+ arch = x86_64
+ license = GPL2
+ makedepends = boost>=1.35.0
+ depends = lib32-qt4>=4.5
+ source = http://www.codef00.com/projects/debugger-0.9.20.tgz
+ source = edb32.desktop
+ md5sums = 5916d415f598fae8632dd763f58e11d1
+ md5sums = 4df05c4a3e3ee228510b46076f12e7d3
+
+pkgname = bin32-edb-debugger
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..be20bb7e79cf
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,84 @@
+# Maintainer : Dobroslaw Kijowski [dobo] <dobo90_at_gmail.com>
+# Contributor: revel <revelΘmuub·net>
+# Contributor: shild <sxp@bk.ru>
+
+pkgname=bin32-edb-debugger
+pkgver=0.9.20
+pkgrel=1
+pkgdesc="EDB (Evan's Debugger) is a QT4 based binary mode debugger with the goal of having usability on par with OllyDbg - 32 bit version (used to debug 32-bit applications on x86_64 architecture)."
+arch=('x86_64')
+url="http://www.codef00.com/projects.php#Debugger"
+license=('GPL2')
+depends=('lib32-qt4>=4.5')
+makedepends=('boost>=1.35.0')
+install=edb.install
+source=(http://www.codef00.com/projects/debugger-${pkgver}.tgz
+ edb32.desktop)
+md5sums=(5916d415f598fae8632dd763f58e11d1
+ 4df05c4a3e3ee228510b46076f12e7d3)
+
+# WARNING: this PKGBUILD contains few nasty hacks because of qmake's stubbornness
+# and qtconfig.h "bug" in Arch Linux (https://bbs.archlinux.org/viewtopic.php?id=133403)
+
+prepare() {
+ cd ${srcdir}/debugger
+
+ # add qmake flags in project files
+ for file in src/src.pro plugins/{plugins.pri,plugins-x86_64.pri}
+ do
+ sed -i '1s/^/QMAKE_CXXFLAGS += -m32\n/' ${file}
+ sed -i '1s/^/QMAKE_LFLAGS += -m32\n/' ${file}
+ sed -i '1s/^/QT_ARCH = i386\n/' ${file}
+ # needed in versions 0.9.20+
+ sed -i 's#VPATH += arch/x86_64 $$LEVEL/include/arch/x86_64#VPATH += arch/x86 $$LEVEL/include/arch/x86#g' ${file}
+ sed -i 's#INCLUDEPATH += arch/x86_64 $$LEVEL/include/arch/x86_64#INCLUDEPATH += arch/x86 $$LEVEL/include/arch/x86#g' ${file}
+ sed -i 's#INCLUDEPATH += $$LEVEL/include/arch/x86_64#INCLUDEPATH += $$LEVEL/include/arch/x86#g' ${file}
+ done
+
+ # hardcode library path because it would intefere with 64-bit edb
+ sed -i 's#load_plugins(edb::v1::config().plugin_path);#load_plugins("/usr/lib32/edb");#' src/main.cpp
+}
+
+build() {
+ cd ${srcdir}/debugger
+
+ # generate all Makefiles...
+ qmake-qt4 -makefile
+ make qmake
+
+ for dir in src plugins
+ do
+ cd ${dir} && make qmake && cd ..
+ done
+
+ # ...and fix march in them
+ for file in $(find src plugins -name Makefile)
+ do
+ sed -i 's/-march=x86-64/-march=i686/g' ${file}
+ done
+
+ make
+
+ # that's rediculous, see https://bbs.archlinux.org/viewtopic.php?id=133403
+ # yup, we're patchin binary files... but i think it's still more simple way
+ # than patching system header or defining macro in all source code files
+ for file in $(find -name \*.so)
+ do
+ sed -i 's/buildkey=x86_64 linux g++-4 full-config/buildkey=i386 linux g++-4 full-config\o00\o00/' ${file}
+ done
+}
+
+package() {
+ cd ${srcdir}/debugger
+
+ make INSTALL_ROOT=${pkgdir}/usr install
+
+ mv ${pkgdir}/usr/lib64 ${pkgdir}/usr/lib32
+ mv ${pkgdir}/usr/bin/edb ${pkgdir}/usr/bin/edb32
+
+ install -D -m 644 src/images/edb48-logo.png ${pkgdir}/usr/share/pixmaps/edb32.png
+ install -D -m 644 src/images/edb48-logo.png ${pkgdir}/usr/share/icons/hicolor/48x48/apps/edb32.png
+
+ cd ..
+ install -D -m 644 edb32.desktop ${pkgdir}/usr/share/applications/edb32.desktop
+}
diff --git a/edb.install b/edb.install
new file mode 100644
index 000000000000..2c587702bc4c
--- /dev/null
+++ b/edb.install
@@ -0,0 +1,32 @@
+post_install() {
+ echo "===="
+ echo "NOTE"
+ echo "===="
+ echo "* Since the tools that ./edb_make_symbolmap is dependant on are not uniform"
+ echo " across all the platforms that I intend to support. I have built symbol"
+ echo " file generation into edb directly. Running './edb --symbols <filename>' will"
+ echo " create a symbol file in the same format as the old script. For now, ELF is the"
+ echo " only supported format but more will be added as needed. This also means"
+ echo " that future versions of edb will be able to generate symbols as needed"
+ echo " if no symbol file is provided, making things \"just work\" more often."
+ echo "==="
+ echo " EBD's plugins are installed by default into /usr/lib/edb."
+ echo " If you have previously used EDB and have it set to look in a"
+ echo " different directory, then you will need to adjust this. Also"
+ echo " EDB looks for plugins in the current working directory as well"
+ echo " as the directory specified in the options, so that unpriviledged"
+ echo " users can use plugins not installed system wide."
+ echo ""
+
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
diff --git a/edb32.desktop b/edb32.desktop
new file mode 100644
index 000000000000..d1a01d7a4c26
--- /dev/null
+++ b/edb32.desktop
@@ -0,0 +1,16 @@
+[Desktop Entry]
+Name=Evan's Debugger (32-bit version)
+GenericName=Debugger
+Comment=QT4 based binary mode debugger
+TryExec=edb32
+Exec=edb32
+Terminal=false
+Type=Application
+Icon=edb32
+Categories=Application;Development;
+Actions=Debug
+MimeType=application/x-executable
+
+[Desktop Action Debug]
+Exec=edb32 --run %f
+Name=Evan's Debugger 32-bit (debug with)