summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman)2020-05-09 11:35:45 +0100
committerCarsten Haitzler (Rasterman)2020-05-09 11:35:45 +0100
commit74672d47bea466856906f0cbba1ce7de143a736e (patch)
tree48ac607cbc06dec7380b002a2fa901be4e4d87b2
downloadaur-74672d47bea466856906f0cbba1ce7de143a736e.tar.gz
enlightenment-git asan build with full debug
this is a special build of enlightenment-git but with all asan and debug on and built in ready for debugging.
-rw-r--r--.SRCINFO44
-rw-r--r--PKGBUILD72
-rwxr-xr-xenlightenment_start9
3 files changed, 125 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 00000000000..534ef199ae3
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,44 @@
+pkgbase = enlightenment-git
+ pkgdesc = Enlightenment window manager - Development version
+ pkgver = 0.22.99.23505.gd68cb82a3
+ pkgrel = 1
+ url = http://www.enlightenment.org
+ arch = i686
+ arch = x86_64
+ arch = arm
+ arch = armv6h
+ arch = armv7h
+ arch = aarch64
+ license = BSD
+ makedepends = git
+ makedepends = meson
+ makedepends = ninja
+ makedepends = pkgconf
+ makedepends = gcc
+ makedepends = binutils
+ makedepends = fakeroot
+ depends = efl-git
+ depends = udisks2
+ depends = wayland
+ depends = bluez-libs
+ depends = xorg-server-xwayland
+ depends = bluez
+ depends = pulseaudio
+ depends = connman
+ depends = bc
+ optdepends = acpid: power events on laptop lid close - almost essential for any ACPI based system like intel
+ optdepends = gdb: create backtraces on crash - needed for getting backtraces at crash time in ~/.e-crashdump.txt
+ optdepends = geoclue2: needed for geolocation module
+ optdepends = packagekit: needed for packagekit module
+ optdepends = ddcutil: from AUR needed for desktop monitor backlight etc. controls
+ provides = enlightenment=0.22.99.23505.gd68cb82a3
+ provides = notification-daemon
+ conflicts = enlightenment
+ options = debug
+ backup = etc/enlightenment/sysactions.conf
+ backup = etc/xdg/menus/e-applications.menu
+ source = git+https://git.enlightenment.org/core/enlightenment.git
+ sha256sums = SKIP
+
+pkgname = enlightenment-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 00000000000..75c71a98e28
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,72 @@
+# Maintainer: Carsten Haitzler <raster@rasterman.com>
+
+# Performance note: If you want to run on Nvidia closed drivers in X11
+# only then please remove the -Dwl=true line below in build().
+# You will lose wayland support but it's not going to work well (with
+# acceleration) on proprietary nvidia drivers anyway. If you don't
+# disable this line and option then you'll find performance degreads in
+# enlightenment.
+
+_pkgname=enlightenment
+pkgname=$_pkgname-git-asan
+pkgver=0.24.0.beta1.24079.gd63f4a53e
+pkgrel=1
+pkgdesc="Enlightenment window manager - Development version - Asan debug build"
+arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
+url="http://www.enlightenment.org"
+license=('BSD')
+depends=('efl-git' 'udisks2' 'wayland' 'bluez-libs'
+ 'xorg-server-xwayland' 'bluez' 'pulseaudio' 'connman' 'bc')
+makedepends=('git' 'meson' 'ninja' 'pkgconf' 'gcc' 'binutils' 'fakeroot')
+optdepends=('acpid: power events on laptop lid close - almost essential for any ACPI based system like intel'
+ 'gdb: create backtraces on crash - needed for getting backtraces at crash time in ~/.e-crashdump.txt'
+ 'geoclue2: needed for geolocation module'
+ 'packagekit: needed for packagekit module'
+ 'ddcutil: from AUR needed for desktop monitor backlight etc. controls')
+provides=("$_pkgname=$pkgver" $_pkgname-git=$pkgver 'notification-daemon')
+conflicts=("$_pkgname" $_pkgname-git=$pkgver)
+backup=('etc/enlightenment/sysactions.conf'
+ 'etc/xdg/menus/e-applications.menu')
+options=('!strip' 'ccache')
+source=("git+https://git.enlightenment.org/core/$_pkgname.git"
+ "enlightenment_start")
+sha256sums=('SKIP'
+ 'SKIP')
+
+pkgver() {
+ cd $_pkgname
+
+ local v_ver=$(grep version meson.build | head -1 | sed s/version//g | tr ":'," " " | awk '{print $1}' | tr "-" ".")
+
+ printf "%s.%s.g%s" "$v_ver" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+build() {
+ cd $_pkgname
+
+ export ASAN_OPTIONS="detect_leaks=0:abort_on_error=1::new_delete_type_mismatch=0"
+
+ unset CPPFLAGS
+ export CFLAGS="-O0 -g3"
+ export CXXFLAGS="-O0 -g3"
+ rm -rf build
+ meson --prefix=/usr \
+ -Db_sanitize=address \
+ -Dwl=true \
+ . build
+ ninja -C build
+}
+
+package() {
+ cd $_pkgname
+
+ DESTDIR="$pkgdir" ninja -C build install
+
+ install -Dm644 -t "$pkgdir/usr/share/doc/$_pkgname/" README
+ install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname/" AUTHORS COPYING
+
+ mv "$pkgdir/usr/bin/enlightenment_start" "$pkgdir/usr/bin/enlightenment_start_real"
+ install -Dm755 -t "$pkgdir/usr/bin/" "$srcdir/enlightenment_start"
+}
+
+backup=(etc/enlightenment/{sysactions.conf,system.conf})
diff --git a/enlightenment_start b/enlightenment_start
new file mode 100755
index 00000000000..75f524dda4f
--- /dev/null
+++ b/enlightenment_start
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+export EINA_LOG_BACKTRACE=999
+export EINA_FREEQ_TOTAL_MAX=0
+export EINA_FREEQ_MEM_MAX=0
+export EINA_FREEQ_FILL_MAX=0
+export E_DONT_ABORT=1
+export ASAN_OPTIONS="detect_leaks=0:abort_on_error=1:new_delete_type_mismatch=0"
+exec /usr/bin/enlightenment_start_real >& ~/.e-log