From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- community/xdiskusage/PKGBUILD | 42 ++++++++++++++++++++++++++++++++ community/xdiskusage/stdin-is-null.patch | 31 +++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 community/xdiskusage/PKGBUILD create mode 100644 community/xdiskusage/stdin-is-null.patch (limited to 'community/xdiskusage') diff --git a/community/xdiskusage/PKGBUILD b/community/xdiskusage/PKGBUILD new file mode 100644 index 000000000..f73231f15 --- /dev/null +++ b/community/xdiskusage/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 2038 2009-09-07 16:25:48Z spupykin $ +# Maintainer: Sergej Pupykin +# Contributor: Tom Newsom +# Contributor: Jason Chu + +pkgname=xdiskusage +pkgver=1.48 +pkgrel=5 +pkgdesc="xdiskusage is a user-friendly program to show you what is using up all your disk space" +arch=('i686' 'x86_64') +depends=('fltk') +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 < 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 || return 1 + make prefix="$pkgdir/usr" mandir="$pkgdir/usr/share/man" install || return 1 + 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); -- cgit v1.2.3-54-g00ecf