summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--~lukeshu/codeanalyst/PKGBUILD67
-rw-r--r--~lukeshu/codeanalyst/codeanalyst.desktop9
-rwxr-xr-x~lukeshu/codeanalyst/codeanalyst.install32
-rw-r--r--~lukeshu/codeanalyst/codeanalyst.sudo1
-rw-r--r--~lukeshu/codeanalyst/codeanalyst.svg59
-rw-r--r--~lukeshu/codeanalyst/gcc47.patch72
-rw-r--r--~lukeshu/codeanalyst/skipSetup.patch68
-rw-r--r--~lukeshu/emacs-lucid/PKGBUILD53
-rw-r--r--~lukeshu/emacs-lucid/emacs.install (renamed from ~lukeshu/emacs24/emacs.install)0
-rw-r--r--~lukeshu/emacs-lucid/gnulib.patch105
-rw-r--r--~lukeshu/emacs24/PKGBUILD85
-rw-r--r--~lukeshu/emacs24/emacs.desktop12
-rw-r--r--~lukeshu/libdwarf/PKGBUILD44
13 files changed, 510 insertions, 97 deletions
diff --git a/~lukeshu/codeanalyst/PKGBUILD b/~lukeshu/codeanalyst/PKGBUILD
new file mode 100644
index 000000000..5cbab45dc
--- /dev/null
+++ b/~lukeshu/codeanalyst/PKGBUILD
@@ -0,0 +1,67 @@
+# Maintainer (Parabola): Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer (AUR): Felipe Bugno <capent@yahoo.com>
+
+# A note about the oprofile fork:
+# The docs claim that the fork is just for adding support for
+# processors that aren't upstream yet (at the time, they are now that
+# 0.9.7 is out). So, shouldn't we just link against 0.9.7? Well:
+# * AMD also added a bunch of CodeAnalyst-specific code. Also some of
+# the external.
+# * Several external variables/types have different names; the API is
+# incompatible.
+# * [extra]/oprofile-0.9.7-3 only includes about half of the headers.
+
+pkgbase=CodeAnalyst
+pkgname=codeanalyst
+pkgver=3.3.18.0361
+_pkgver="${pkgver//./_}"
+pkgrel=4.1
+pkgdesc="AMD performance profiler. Includes a fork of oprofile."
+url="http://developer.amd.com/tools/${pkgbase}/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('gcc' 'sudo' 'qt>=4.1' 'oprofile' 'libdwarf')
+makedepends=('linux-headers' 'elfutils' 'findutils' 'file')
+provides=('oprofile=0.9.6cvs')
+conflicts=('oprofile')
+options=('!strip')
+install=codeanalyst.install
+source=("http://download2-developer.amd.com/amd/${pkgbase}/${pkgbase}${_pkgver}Public.tar.gz"
+ 'gcc47.patch'
+ 'skipSetup.patch'
+ 'codeanalyst.sudo'
+ 'codeanalyst.desktop'
+ 'codeanalyst.svg')
+
+build() {
+ cd "${srcdir}/${pkgbase}-${_pkgver}-Public"
+ patch -Np1 -i "${srcdir}/gcc47.patch"
+ patch -Np1 -i "${srcdir}/skipSetup.patch"
+ rm -rf src/dwarf-* # easiest way to ensure using the system install
+
+ ./autogen.sh
+ ./configure --prefix=/usr \
+ --with-libdwarf-includes=/usr/include/libdwarf \
+ --with-libdwarf-libraries=/usr/lib
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgbase}-${_pkgver}-Public"
+ make DESTDIR="${pkgdir}" install
+ rm -f "${pkgdir}/usr/sbin/ca_user_manager" # either codeanalyst.install does this, or it is trivial
+
+ find "${pkgdir}"/usr/{bin,sbin} -type f -exec file '{}' +|sed -n 's/:\s*ELF .*//p'|xargs strip
+
+ cd "${srcdir}"
+ install -D -m644 codeanalyst.sudo "${pkgdir}/etc/sudoers.d/codeanalyst"
+ install -D -m644 codeanalyst.svg "${pkgdir}/usr/share/icons/hicolor/scalable/apps/codeanalyst.svg"
+ install -D -m644 codeanalyst.desktop "${pkgdir}/usr/share/applications/codeanalyst.desktop"
+}
+
+md5sums=('f1e29bc7c7da259df228ce59281ee1d7'
+ '063d0fc9680641a92ce5e310ffe1c9c0'
+ 'ce549e59c4a5916fd19e8d085e863627'
+ '3cc8f64fe84c5a886d0172ee8d99f690'
+ '3a18d3f7fb01f199a8ed5ae2908c18e4'
+ '1822a4157b82904b82e72fc1e9bcbd42')
diff --git a/~lukeshu/codeanalyst/codeanalyst.desktop b/~lukeshu/codeanalyst/codeanalyst.desktop
new file mode 100644
index 000000000..56d54f884
--- /dev/null
+++ b/~lukeshu/codeanalyst/codeanalyst.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=AMD CodeAnalyst
+Comment=AMD profiler and performance analyzer
+Exec=/usr/bin/CodeAnalyst
+Icon=codeanalyst
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Development;
diff --git a/~lukeshu/codeanalyst/codeanalyst.install b/~lukeshu/codeanalyst/codeanalyst.install
new file mode 100755
index 000000000..8edb4adc2
--- /dev/null
+++ b/~lukeshu/codeanalyst/codeanalyst.install
@@ -0,0 +1,32 @@
+post_install() {
+ getent group amdca &>/dev/null || /usr/bin/groupadd amdca &>/dev/null
+ echo " ==> To use CodeAnalyst as non-root, you must be in the 'amdca' group"
+ echo " ie: gpasswd -a USERNAME amdca"
+
+ chown root:amdca /usr/bin/calog_report
+ chown root:amdca /usr/bin/capackage.sh
+ chown root:amdca /usr/bin/careport.sh
+ chown root:amdca /usr/bin/cgreport
+ chown root:amdca /usr/bin/CodeAnalyst
+ chown root:amdca /usr/bin/opannotate
+ chown root:amdca /usr/bin/oparchive
+ chown root:amdca /usr/bin/opcontrol
+ chown root:amdca /usr/bin/opgprof
+ chown root:amdca /usr/bin/ophelp
+ chown root:amdca /usr/bin/opimport
+ chown root:amdca /usr/bin/opjitconv
+ chown root:amdca /usr/bin/opreport
+ chown root:amdca /usr/bin/oprofiled
+ chown root:amdca /usr/sbin/ca_oprofile_controller
+ #chown root:amdca /usr/sbin/ca_user_manager
+
+ update-desktop-database -q
+}
+
+post_remove() {
+ if getent group amdca &>/dev/null; then
+ groupdel amdca
+ fi
+
+ update-desktop-database -q
+}
diff --git a/~lukeshu/codeanalyst/codeanalyst.sudo b/~lukeshu/codeanalyst/codeanalyst.sudo
new file mode 100644
index 000000000..1c3173bdb
--- /dev/null
+++ b/~lukeshu/codeanalyst/codeanalyst.sudo
@@ -0,0 +1 @@
+%amdca ALL= NOPASSWD: /usr/sbin/ca_oprofile_controller
diff --git a/~lukeshu/codeanalyst/codeanalyst.svg b/~lukeshu/codeanalyst/codeanalyst.svg
new file mode 100644
index 000000000..8febf725b
--- /dev/null
+++ b/~lukeshu/codeanalyst/codeanalyst.svg
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 12.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Layer_1"
+ width="286.95001"
+ height="286.95001"
+ viewBox="0 0 286.95063 286.95"
+ overflow="visible"
+ enable-background="new 0 0 1368.987 286.954"
+ xml:space="preserve"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="AMD_Logo.svg"
+ style="overflow:visible"><metadata
+ id="metadata17"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs15" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="1028"
+ id="namedview13"
+ showgrid="false"
+ inkscape:zoom="2.11"
+ inkscape:cx="163.32315"
+ inkscape:cy="145.21584"
+ inkscape:window-x="-4"
+ inkscape:window-y="-3"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="Layer_1" />
+<polyline
+ points="1165.47,92.779 1165.39,203.495 1281.63,203.513 1198.44,286.826 1081.79,286.954 1080.38,176.065 1165.47,92.779"
+ id="polyline3"
+ style="fill:#009a66"
+ transform="translate(-1082.0371,1.8496035e-4)" />
+<polyline
+ points="1165.39,84.082 1285.07,83.854 1284.83,202.972 1368.99,286.954 1368.75,0.12 1081.79,0 1165.39,84.082"
+ id="polyline5"
+ style="fill:#009a66"
+ transform="translate(-1082.0371,1.8496035e-4)" />
+
+
+
+</svg> \ No newline at end of file
diff --git a/~lukeshu/codeanalyst/gcc47.patch b/~lukeshu/codeanalyst/gcc47.patch
new file mode 100644
index 000000000..dfec4a0c4
--- /dev/null
+++ b/~lukeshu/codeanalyst/gcc47.patch
@@ -0,0 +1,72 @@
+diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/cg/Makefile.am CodeAnalyst-3_3_18_0361-Public/src/ca/cg/Makefile.am
+*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/cg/Makefile.am 2012-04-13 02:41:43.000000000 -0300
+--- CodeAnalyst-3_3_18_0361-Public/src/ca/cg/Makefile.am 2012-04-22 17:55:01.227439003 -0300
+***************
+*** 25,31 ****
+ cgcvt.cpp
+
+
+! cgreport_LDFLAGS = -Wl -fPIC @QT_LDFLAGS@
+
+ AM_CPPFLAGS= $(INCLUDES) $(more_flags) \
+ $(FLAG64) -Wno-unused -Wno-parentheses \
+--- 25,31 ----
+ cgcvt.cpp
+
+
+! cgreport_LDFLAGS = -fPIC @QT_LDFLAGS@
+
+ AM_CPPFLAGS= $(INCLUDES) $(more_flags) \
+ $(FLAG64) -Wno-unused -Wno-parentheses \
+diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/gui/MonitorDockView.cpp CodeAnalyst-3_3_18_0361-Public/src/ca/gui/MonitorDockView.cpp
+*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/gui/MonitorDockView.cpp 2012-04-13 02:41:43.000000000 -0300
+--- CodeAnalyst-3_3_18_0361-Public/src/ca/gui/MonitorDockView.cpp 2012-04-22 17:38:14.884058192 -0300
+***************
+*** 17,22 ****
+--- 17,23 ----
+ */
+
+ #include <qtooltip.h>
++ #include <unistd.h>
+
+ #include "MonitorDockView.h"
+
+diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/libs/libca/dwarfengine.cpp CodeAnalyst-3_3_18_0361-Public/src/ca/libs/libca/dwarfengine.cpp
+*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/libs/libca/dwarfengine.cpp 2012-04-13 02:41:43.000000000 -0300
+--- CodeAnalyst-3_3_18_0361-Public/src/ca/libs/libca/dwarfengine.cpp 2012-04-22 17:34:45.670714989 -0300
+***************
+*** 21,26 ****
+--- 21,27 ----
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
++ #include <unistd.h>
+
+ #include "dwarfengine.h"
+ #define DWARF_DEBUG 0
+diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/libs/libopdata/opdata_handler.cpp CodeAnalyst-3_3_18_0361-Public/src/ca/libs/libopdata/opdata_handler.cpp
+*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/libs/libopdata/opdata_handler.cpp 2012-04-13 02:41:43.000000000 -0300
+--- CodeAnalyst-3_3_18_0361-Public/src/ca/libs/libopdata/opdata_handler.cpp 2012-04-22 17:32:30.780708624 -0300
+***************
+*** 29,34 ****
+--- 29,35 ----
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <time.h>
++ #include <unistd.h>
+
+ // CodeAnalyst headers
+ #include "CaProfileWriter.h"
+diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca_agent/libCAagent/slock.cpp CodeAnalyst-3_3_18_0361-Public/src/ca_agent/libCAagent/slock.cpp
+*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca_agent/libCAagent/slock.cpp 2012-04-13 02:41:43.000000000 -0300
+--- CodeAnalyst-3_3_18_0361-Public/src/ca_agent/libCAagent/slock.cpp 2012-04-22 17:26:58.424026278 -0300
+***************
+*** 13,18 ****
+--- 13,19 ----
+ #include <sys/ipc.h>
+ #include <sys/sem.h>
+ #include <sys/stat.h>
++ #include <unistd.h>
+
+ #include "slock.h"
+ #include "smm.h"
diff --git a/~lukeshu/codeanalyst/skipSetup.patch b/~lukeshu/codeanalyst/skipSetup.patch
new file mode 100644
index 000000000..fdc9bf42f
--- /dev/null
+++ b/~lukeshu/codeanalyst/skipSetup.patch
@@ -0,0 +1,68 @@
+diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca/Makefile.am CodeAnalyst-3_3_18_0361-Public/src/ca/Makefile.am
+*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca/Makefile.am 2012-04-13 02:41:43.000000000 -0300
+--- CodeAnalyst-3_3_18_0361-Public/src/ca/Makefile.am 2012-04-22 20:44:07.437917684 -0300
+***************
+*** 8,19 ****
+ # FIXME [3.0] diffgui \
+ # $(CA_RELEASE_TYPE)
+
+! install-exec-hook:
+! @if test -e "scripts/Setup.sh"; then \
+! scripts/Setup.sh $(DESTDIR)$(prefix); \
+! fi
+
+! uninstall-hook:
+! @if test -e "scripts/Uninstall.sh"; then \
+! scripts/Uninstall.sh $(DESTDIR)$(prefix);\
+! fi
+--- 8,19 ----
+ # FIXME [3.0] diffgui \
+ # $(CA_RELEASE_TYPE)
+
+! #install-exec-hook:
+! # @if test -e "scripts/Setup.sh"; then \
+! # scripts/Setup.sh $(DESTDIR)$(prefix); \
+! # fi
+
+! #uninstall-hook:
+! # @if test -e "scripts/Uninstall.sh"; then \
+! # scripts/Uninstall.sh $(DESTDIR)$(prefix);\
+! # fi
+diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/ca_agent/jvmpi/Makefile.am CodeAnalyst-3_3_18_0361-Public/src/ca_agent/jvmpi/Makefile.am
+*** CodeAnalyst-3_3_18_0361-Public.orig/src/ca_agent/jvmpi/Makefile.am 2012-04-13 02:41:43.000000000 -0300
+--- CodeAnalyst-3_3_18_0361-Public/src/ca_agent/jvmpi/Makefile.am 2012-04-22 20:47:21.604593511 -0300
+***************
+*** 15,20 ****
+ libCAJVMPIA_so_SOURCES = \
+ jpa.cpp
+
+! install-exec-hook:
+! @/sbin/ldconfig
+
+--- 15,20 ----
+ libCAJVMPIA_so_SOURCES = \
+ jpa.cpp
+
+! #install-exec-hook:
+! # @/sbin/ldconfig
+
+diff -crB CodeAnalyst-3_3_18_0361-Public.orig/src/Makefile.am CodeAnalyst-3_3_18_0361-Public/src/Makefile.am
+*** CodeAnalyst-3_3_18_0361-Public.orig/src/Makefile.am 2012-04-13 02:41:43.000000000 -0300
+--- CodeAnalyst-3_3_18_0361-Public/src/Makefile.am 2012-04-22 20:44:57.674586720 -0300
+***************
+*** 8,21 ****
+ install-exec-hook:
+ @if test -e "${LIBDWARF_DIR}libdwarf.so"; then \
+ install -pD -m 755 ${LIBDWARF_DIR}libdwarf.so $(DESTDIR)$(prefix)/lib/libdwarf.so ; \
+- /sbin/ldconfig ;\
+ fi
+
+ uninstall-hook:
+ @if test -e "${LIBDWARF_DIR}libdwarf.so"; then \
+ if test -e "$(DESTDIR)$(prefix)/lib/libdwarf.so"; then \
+ rm -f $(DESTDIR)$(prefix)/lib/libdwarf.so ; \
+- /sbin/ldconfig ; \
+ fi ; \
+ fi
+
+--- 8,19 ----
diff --git a/~lukeshu/emacs-lucid/PKGBUILD b/~lukeshu/emacs-lucid/PKGBUILD
new file mode 100644
index 000000000..af8e755c4
--- /dev/null
+++ b/~lukeshu/emacs-lucid/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 161437 2012-06-11 15:10:57Z juergen $
+# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Renchi Raju <renchi@green.tam.uiuc.edu>
+
+_pkgname=emacs
+pkgname=emacs-lucid
+pkgver=24.1
+pkgrel=2
+pkgdesc="emacs, with the lucid toolkit rather than GTK2"
+
+provides=("$_pkgname=$pkgver")
+conflicts=("$_pkgname")
+
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/emacs/emacs.html"
+license=('GPL3')
+depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'gtk-update-icon-cache' 'libxaw' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils' 'alsa-lib' 'imagemagick')
+install=emacs.install
+source=(ftp://ftp.gnu.org/gnu/emacs/$_pkgname-$pkgver.tar.bz2{,.sig} gnulib.patch)
+
+build() {
+ cd "$srcdir"/$_pkgname-$pkgver
+
+ # This is from Gentoo, to deal with a newer version of gnulib
+ patch -p1 -i "$srcdir/gnulib.patch"
+ # This is to deal with a newer version of autoconf
+ autoreconf -i -I m4
+
+ ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
+ --localstatedir=/var --with-x-toolkit=lucid --with-xft
+ make
+}
+
+package() {
+ cd "$srcdir"/$_pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ # remove conflict with ctags package
+ mv "$pkgdir"/usr/bin/{ctags,ctags.emacs}
+ mv "$pkgdir"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1}
+ # fix all the 777 perms on directories
+ find "$pkgdir"/usr/share/emacs -type d -exec chmod 755 {} \;
+ # fix user/root permissions on usr/share files
+ find "$pkgdir"/usr/share/emacs -exec chown root:root {} \;
+ # fix perms on /var/games
+ chmod 775 "$pkgdir"/var/games
+ chmod 775 "$pkgdir"/var/games/emacs
+ chmod 664 "$pkgdir"/var/games/emacs/*
+ chown -R root:games "$pkgdir"/var/games
+}
+md5sums=('8ba0932c498bc8fb10d7ddba52227e5b'
+ 'c303d5c0bd0f7ea28acd14c9738faff4'
+ 'f9192850960902d90504150f08be4a81')
diff --git a/~lukeshu/emacs24/emacs.install b/~lukeshu/emacs-lucid/emacs.install
index d84f1de14..d84f1de14 100644
--- a/~lukeshu/emacs24/emacs.install
+++ b/~lukeshu/emacs-lucid/emacs.install
diff --git a/~lukeshu/emacs-lucid/gnulib.patch b/~lukeshu/emacs-lucid/gnulib.patch
new file mode 100644
index 000000000..2fd685c80
--- /dev/null
+++ b/~lukeshu/emacs-lucid/gnulib.patch
@@ -0,0 +1,105 @@
+Fix compilation with glibc-2.16.
+https://bugs.gentoo.org/424755
+
+Patch backported from gnulib upstream:
+
+From 66712c23388e93e5c518ebc8515140fa0c807348 Mon Sep 17 00:00:00 2001
+From: Eric Blake <eblake@redhat.com>
+Date: Thu, 29 Mar 2012 13:30:41 -0600
+Subject: [PATCH 1/1] stdio: don't assume gets any more
+
+Gnulib intentionally does not have a gets module, and now that C11
+and glibc have dropped it, we should be more proactive about warning
+any user on a platform that still has a declaration of this dangerous
+interface.
+
+--- emacs-24.1-orig/lib/gnulib.mk
++++ emacs-24.1/lib/gnulib.mk
+@@ -599,7 +624,6 @@
+ -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
+ -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
+ -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
+- -e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \
+ -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
+ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
+ -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
+--- emacs-24.1-orig/lib/stdio.in.h
++++ emacs-24.1/lib/stdio.in.h
+@@ -699,22 +699,11 @@
+ # endif
+ #endif
+
+-#if @GNULIB_GETS@
+-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-# undef gets
+-# define gets rpl_gets
+-# endif
+-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
+-_GL_CXXALIAS_RPL (gets, char *, (char *s));
+-# else
+-_GL_CXXALIAS_SYS (gets, char *, (char *s));
+-# undef gets
+-# endif
+-_GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+- so any use of gets warrants an unconditional warning. Assume it is
+- always declared, since it is required by C89. */
++ so any use of gets warrants an unconditional warning; besides, C11
++ removed it. */
++#undef gets
++#if HAVE_RAW_DECL_GETS
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+ #endif
+
+@@ -1054,9 +1043,9 @@
+ # endif
+ #endif
+
+-/* Some people would argue that sprintf should be handled like gets
+- (for example, OpenBSD issues a link warning for both functions),
+- since both can cause security holes due to buffer overruns.
++/* Some people would argue that all sprintf uses should be warned about
++ (for example, OpenBSD issues a link warning for it),
++ since it can cause security holes due to buffer overruns.
+ However, we believe that sprintf can be used safely, and is more
+ efficient than snprintf in those safe cases; and as proof of our
+ belief, we use sprintf in several gnulib modules. So this header
+--- emacs-24.1-orig/m4/stdio_h.m4
++++ emacs-24.1/m4/stdio_h.m4
+@@ -1,4 +1,4 @@
+-# stdio_h.m4 serial 40
++# stdio_h.m4 serial 41
+ dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -18,7 +18,6 @@
+ GNULIB_GETC=1
+ GNULIB_GETCHAR=1
+ GNULIB_FGETS=1
+- GNULIB_GETS=1
+ GNULIB_FREAD=1
+ dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c"
+ dnl "expected source file, required through AC_LIBSOURCES, not found". It is
+@@ -72,10 +71,10 @@
+
+ dnl Check for declarations of anything we want to poison if the
+ dnl corresponding gnulib module is not in use, and which is not
+- dnl guaranteed by C89.
++ dnl guaranteed by both C89 and C11.
+ gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
+- ]], [dprintf fpurge fseeko ftello getdelim getline pclose popen renameat
+- snprintf tmpfile vdprintf vsnprintf])
++ ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen
++ renameat snprintf tmpfile vdprintf vsnprintf])
+ ])
+
+ AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
+@@ -113,7 +112,6 @@
+ GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR])
+ GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM])
+ GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE])
+- GNULIB_GETS=0; AC_SUBST([GNULIB_GETS])
+ GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF])
+ GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
+ GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE])
diff --git a/~lukeshu/emacs24/PKGBUILD b/~lukeshu/emacs24/PKGBUILD
deleted file mode 100644
index f9eb76d64..000000000
--- a/~lukeshu/emacs24/PKGBUILD
+++ /dev/null
@@ -1,85 +0,0 @@
-# $Id: PKGBUILD 137977 2011-09-13 15:26:07Z juergen $
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-# Contributor: Renchi Raju <renchi@green.tam.uiuc.edu>
-pkgname=emacs24-bzr
-_majorver=24.0.92
-pkgver=106756
-pkgrel=1
-pkgdesc="The extensible, customizable, self-documenting real-time display editor"
-arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/emacs/emacs.html"
-license=('GPL3')
-depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'gtk2' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils' 'alsa-lib')
-makedepends=('bzr')
-install=emacs.install
-source=(emacs.desktop)
-md5sums=()
-
-_bzrtrunk=bzr://bzr.savannah.gnu.org/emacs/trunk
-_bzrmod=$pkgname
-
-build() {
- cd "$srcdir"
- msg "Connecting to Bazaar server...."
-
- if [[ -d "$_bzrmod" ]]; then
- cd "$_bzrmod" && bzr --no-plugins pull "$_bzrtrunk" -v -r "$pkgver" 2>&1
- msg "The local files are updated."
- else
- bzr --no-plugins branch "$_bzrtrunk" "$_bzrmod" -v -r "$pkgver" 2>&1
- fi
-
- msg "Bazaar checkout done or server timeout"
- msg "Starting build..."
-
- rm -rf "$srcdir/$_bzrmod-$_majorver"
- cp -r "$srcdir/$_bzrmod" "$srcdir/$_bzrmod-$_majorver"
-
- cd "$srcdir"/$pkgname-$_majorver
- ./autogen.sh
- ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
- --localstatedir=/var --with-x-toolkit=gtk --with-xft
- make
-}
-
-package() {
- provides=("emacs=${_majorver}a")
-
- cd "$srcdir"/$pkgname-$_majorver
- make DESTDIR="$pkgdir" install
-
- # remove conflict with ctags package
- mv "$pkgdir"/usr/bin/{ctags,ctags.emacs}
- mv "$pkgdir"/usr/share/man/man1/{ctags,ctags.emacs}.1.gz
- # fix all the 777 perms on directories
- find "$pkgdir"/usr/share/emacs/$_majorver -type d -exec chmod 755 {} \;
- # fix user/root permissions on usr/share files
- find "$pkgdir"/usr/share/emacs/$_majorver -exec chown root:root {} \;
- # fix perms on /var/games
- chmod 775 "$pkgdir"/var/games
- chmod 775 "$pkgdir"/var/games/emacs
- chmod 664 "$pkgdir"/var/games/emacs/*
- chown -R root:games "$pkgdir"/var/games
-
- # fix FS#9253
- mkdir -p "$pkgdir"/usr/share/pixmaps
- ln -s $pkgdir../emacs/$_majorver/etc/images/icons/hicolor/48x48/apps/emacs.png "$pkgdir"/usr/share/pixmaps/emacs-icon.png
-
- # This is done down here to help future-proof the above
- rm "$pkgdir"/usr/bin/emacs
- mv "$pkgdir"/usr/share/man/man1/emacs{,-$_majorver}.1.gz
- for prog in ctags.emacs ebrowse emacsclient etags grep-changelog rcs-checkin; do
- mv "$pkgdir"/usr/bin/$prog{,-$_majorver}
- mv "$pkgdir"/usr/share/man/man1/$prog{,-24}.1.gz
- done
- mv "$pkgdir"/usr/share/applications/emacs{,24}.desktop
- mv "$pkgdir"/usr/share/emacs/site-lisp/subdirs{,.emacs24}.el
- rm "$pkgdir"/usr/share/info/dir
- for file in "$pkgdir"/usr/share/pixmaps/emacs-icon.png `find "$pkgdir"/usr/share/{icons,info} -type f`; do
- mv "$file" "`echo "$file"|sed 's/\..*/-24&/'`"
- done
- ln -s "$_majorver" "$pkgdir"/usr/share/emacs/24
- rm "$pkgdir"/var/games/emacs/*
-}
-
-md5sums=('bc513345deb65f0e910f43c1a74072de')
diff --git a/~lukeshu/emacs24/emacs.desktop b/~lukeshu/emacs24/emacs.desktop
deleted file mode 100644
index 1b18fd46c..000000000
--- a/~lukeshu/emacs24/emacs.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Name=Emacs Text Editor
-Name[de]=Emacs Texteditor
-GenericName=Text Editor
-Comment=Edit text
-MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
-Exec=emacs24 %f
-Icon=emacs-icon
-Type=Application
-Terminal=false
-Categories=Development;TextEditor;
-StartupWMClass=Emacs
diff --git a/~lukeshu/libdwarf/PKGBUILD b/~lukeshu/libdwarf/PKGBUILD
new file mode 100644
index 000000000..591b92633
--- /dev/null
+++ b/~lukeshu/libdwarf/PKGBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Marti Raudsepp <marti@juffo.org>
+
+pkgname=libdwarf
+pkgver=20111214
+pkgrel=1
+pkgdesc="Static library for handling DWARF Debugging Information Format"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+url="http://reality.sgiweb.org/davea/dwarf.html"
+depends=('elfutils' 'gcc-libs')
+makedepends=('libelf')
+source=(http://reality.sgiweb.org/davea/$pkgname-$pkgver.tar.gz)
+
+build() {
+ cd $srcdir/dwarf-$pkgver/libdwarf
+ ./configure
+ make
+
+ # dwarfdump
+ cd $srcdir/dwarf-$pkgver/dwarfdump2
+ ./configure --prefix=/usr CFLAGS=-I../libdwarf CXXFLAGS=-I../libdwarf LDFLAGS=-L../libdwarf
+ # disable parallelization; -j5 build fails ~20% of the time on my machine
+ make -j1
+}
+
+package() {
+ cd $srcdir/dwarf-$pkgver/libdwarf
+
+ install -d $pkgdir/usr/lib
+ install -m 644 libdwarf.a $pkgdir/usr/lib
+
+ install -d $pkgdir/usr/include/libdwarf
+ install dwarf.h libdwarf.h $pkgdir/usr/include/libdwarf
+
+ install -dm 755 $pkgdir/usr/share/doc/$pkgname
+ install README NEWS *.pdf $pkgdir/usr/share/doc/$pkgname
+
+ # dwarfdump
+ cd $srcdir/dwarf-$pkgver/dwarfdump2
+ install -Dm755 dwarfdump $pkgdir/usr/bin/dwarfdump
+ install -Dm644 dwarfdump.1 $pkgdir/usr/share/man/man1/dwarfdump.1
+ install -Dm644 dwarfdump.conf $pkgdir/usr/lib/dwarfdump.conf
+}
+md5sums=('573b49b94e38a0e65ff337768f003d33')