summaryrefslogtreecommitdiff
path: root/community/xdiskusage
diff options
context:
space:
mode:
Diffstat (limited to 'community/xdiskusage')
-rw-r--r--community/xdiskusage/PKGBUILD47
-rw-r--r--community/xdiskusage/stdin-is-null.patch31
2 files changed, 78 insertions, 0 deletions
diff --git a/community/xdiskusage/PKGBUILD b/community/xdiskusage/PKGBUILD
new file mode 100644
index 000000000..71491ef78
--- /dev/null
+++ b/community/xdiskusage/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 65246 2012-02-20 12:32:09Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Jason Chu <jason@archlinux.org>
+
+pkgname=xdiskusage
+pkgver=1.48
+pkgrel=7
+pkgdesc="xdiskusage is a user-friendly program to show you what is using up all your disk space"
+arch=('i686' 'x86_64')
+depends=('fltk')
+makedepends=('libxi')
+license=('GPL')
+url="http://xdiskusage.sourceforge.net"
+options=(!emptydirs)
+source=(http://xdiskusage.sourceforge.net/$pkgname-$pkgver.tgz
+ 'stdin-is-null.patch')
+md5sums=('a902aa9d73761ade98256c3cd5c1f533'
+ '0181b66b44e382e44c91602d8de9a7b6')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's/-lGL -lGLU/-lXft/' makeinclude.in
+
+ patch -Np1 -i "$srcdir/stdin-is-null.patch"
+
+ [ $CARCH == "x86_64" ] && patch xdiskusage.C <<EOF
+991c991
+< switch ((int)v) {
+---
+> switch ((long long)v) {
+1004c1004
+< int n = (int)v;
+---
+> int n = (long long)v;
+EOF
+
+ ./configure --prefix=/usr
+ install -d "$pkgdir/usr/bin" "$pkgdir/usr/share/man/man1"
+ LDFLAGS=-lXi make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make prefix="$pkgdir/usr" mandir="$pkgdir/usr/share/man" install
+ chmod 0644 $pkgdir/usr/share/man/man1/*
+}
diff --git a/community/xdiskusage/stdin-is-null.patch b/community/xdiskusage/stdin-is-null.patch
new file mode 100644
index 000000000..e70789c13
--- /dev/null
+++ b/community/xdiskusage/stdin-is-null.patch
@@ -0,0 +1,31 @@
+--- xdiskusage-1.48/xdiskusage.C 2004-09-21 07:23:14.000000000 +0200
++++ xdiskusage-1.48.carles/xdiskusage.C 2007-07-30 23:42:05.000000000 +0200
+@@ -223,6 +223,19 @@
+ return 1;
+ }
+
++// returns true if stdin is /dev/null
++// To fix Debian bug #276193
++// Technically could be possible that returns "true" and is not "true",
++// because same device ID is used across file systems. But is the best
++// solutions that I have
++int isstdinnull() {
++ struct stat ststdin,stnull;
++ stat("/dev/null",&stnull);
++ fstat(0,&ststdin);
++
++ return (ststdin.st_rdev==stnull.st_rdev);
++}
++
+ int main(int argc, char**argv) {
+ #if FL_MAJOR_VERSION < 2
+ // Make fltk look more like KDE/Windoze:
+@@ -253,7 +266,7 @@
+ OutputWindow* d = OutputWindow::make(argv[n++]);
+ if (d) d->show(argc,argv);
+ }
+- } else if (!isatty(0)) {
++ } else if (!isatty(0) && !isstdinnull()) {
+ // test for pipe, if so read stdin:
+ OutputWindow* d = OutputWindow::make(0);
+ if (d) d->show(argc,argv);