aboutsummaryrefslogtreecommitdiff
path: root/sysutils/filelight-kde4
diff options
context:
space:
mode:
authorKirill Ponomarev <krion@FreeBSD.org>2003-08-29 23:43:48 +0000
committerKirill Ponomarev <krion@FreeBSD.org>2003-08-29 23:43:48 +0000
commitabcbc8b2329ca2eb72a436ef84deadfd3d0a9b07 (patch)
tree23f59abb41125a8aab302f09ecd5bd4c3806c7bc /sysutils/filelight-kde4
parentb6e8095b06435689b15219b140d8cd462f6adf22 (diff)
downloadports-abcbc8b2329ca2eb72a436ef84deadfd3d0a9b07.tar.gz
ports-abcbc8b2329ca2eb72a436ef84deadfd3d0a9b07.zip
Notes
Diffstat (limited to 'sysutils/filelight-kde4')
-rw-r--r--sysutils/filelight-kde4/Makefile28
-rw-r--r--sysutils/filelight-kde4/distinfo1
-rw-r--r--sysutils/filelight-kde4/files/mntent.h67
-rw-r--r--sysutils/filelight-kde4/files/mntent_compat.cpp154
-rw-r--r--sysutils/filelight-kde4/files/patch-filelight::Makefile.in168
-rw-r--r--sysutils/filelight-kde4/files/patch-filetree.cpp51
-rw-r--r--sysutils/filelight-kde4/pkg-descr9
-rw-r--r--sysutils/filelight-kde4/pkg-plist21
8 files changed, 499 insertions, 0 deletions
diff --git a/sysutils/filelight-kde4/Makefile b/sysutils/filelight-kde4/Makefile
new file mode 100644
index 000000000000..668c54f17bdf
--- /dev/null
+++ b/sysutils/filelight-kde4/Makefile
@@ -0,0 +1,28 @@
+# New ports collection makefile for: filelight
+# Date created: Fri Aug 29 21:16:39 CEST 2003
+# Whom: Markus Brueffer <brueffer@phoenix-systems.de>
+#
+# $FreeBSD$
+#
+
+PORTNAME= filelight
+PORTVERSION= 0.6.0
+CATEGORIES= sysutils kde
+MASTER_SITES= http://www.methylblue.com/filelight/
+
+MAINTAINER= brueffer@phoenix-systems.de
+COMMENT= Represent a file system as a set of concentric segmented-rings
+
+USE_KDELIBS_VER=3
+GNU_CONFIGURE= yes
+USE_GMAKE= yes
+USE_REINPLACE= yes
+
+CONFIGURE_TARGET= --build=${ARCH}-portbld-freebsd${OSREL}
+
+post-patch:
+ @${CP} ${FILESDIR}/mntent* ${WRKSRC}/filelight
+ @${REINPLACE_CMD} -e 's/-O2//g; s/-pedantic //g' \
+ ${CONFIGURE_WRKSRC}/configure
+
+.include <bsd.port.mk>
diff --git a/sysutils/filelight-kde4/distinfo b/sysutils/filelight-kde4/distinfo
new file mode 100644
index 000000000000..8a782fb01209
--- /dev/null
+++ b/sysutils/filelight-kde4/distinfo
@@ -0,0 +1 @@
+MD5 (filelight-0.6.0.tar.gz) = 9d3a35ce1125aac971ba61fd5cc7bcd8
diff --git a/sysutils/filelight-kde4/files/mntent.h b/sysutils/filelight-kde4/files/mntent.h
new file mode 100644
index 000000000000..24a574c8a579
--- /dev/null
+++ b/sysutils/filelight-kde4/files/mntent.h
@@ -0,0 +1,67 @@
+/* -*-C++-*-
+
+ mntent.h
+
+ Copyright (C) 2002 Alan Eldridge
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ $Id$
+
+ 2002/09/08 alane@geeksrus.net
+*/
+
+#ifdef HAVE_MNTENT_H
+#include <mntent.h>
+#else
+
+#ifndef mntent_h_
+#define mntent_h_
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/param.h>
+#include <sys/ucred.h>
+#include <sys/mount.h>
+
+#define MOUNTED "dummy"
+#define MNTTYPE_NFS "nfs"
+
+const int MOPTSLEN (256 - (MNAMELEN * 2 + MFSNAMELEN + 2 * sizeof(int)));
+
+struct mntent {
+public:
+ char mnt_fsname[ MNAMELEN ];
+ char mnt_dir[ MNAMELEN ];
+ char mnt_type[ MFSNAMELEN ];
+ char mnt_opts[ MOPTSLEN ];
+ int mnt_freq, mnt_passno;
+private:
+ void clear();
+public:
+ mntent() {
+ clear();
+ }
+ struct mntent *from_statfs(struct statfs *pst);
+};
+
+FILE *setmntent(const char *szfn, char *szrw);
+struct mntent *getmntent(FILE *pf);
+char *hasmntopt(const struct mntent *pmnt, const char *szopt);
+int endmntent(FILE *pf);
+
+#endif /* mntent_h_ */
+#endif /* not HAVE_MNTENT_H */
diff --git a/sysutils/filelight-kde4/files/mntent_compat.cpp b/sysutils/filelight-kde4/files/mntent_compat.cpp
new file mode 100644
index 000000000000..ae8768030d54
--- /dev/null
+++ b/sysutils/filelight-kde4/files/mntent_compat.cpp
@@ -0,0 +1,154 @@
+/* -*-C++-*-
+
+ mntentemu.c++
+
+ Copyright (C) 2002 Alan Eldridge
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ $Id: mntent_compat.cc,v 1.3 2002/09/08 18:42:20 alane Exp $
+
+ 2002/09/08 alane@geeksrus.net
+*/
+
+#ifndef HAVE_MNTENT_H
+
+#include "config.h"
+#include "mntent.h"
+
+#include <string>
+
+// globals (yuck, but easier for debugging)
+
+mntent G_mntent;
+int G_mntpos;
+int G_mntsize;
+bool G_mntfOpen = false;
+struct statfs *G_pmntstat = 0;
+
+// map option flags to names
+
+struct optmap {
+ int fl;
+ std::string st;
+};
+
+static struct optmap omap[] = {
+ { MNT_SYNCHRONOUS, "sync" },
+ { MNT_NOEXEC, "noexec" },
+ { MNT_NOSUID, "nosuid" },
+ { MNT_NODEV, "nodev" },
+ { MNT_UNION, "union" },
+ { MNT_ASYNC, "async" },
+ { MNT_NOATIME, "noatime" },
+ { MNT_NOCLUSTERR, "noclusterr" },
+ { MNT_NOCLUSTERW, "noclusterw" },
+ { MNT_NOSYMFOLLOW, "nosymfollow" },
+ { MNT_SUIDDIR, "suiddir" },
+ { 0, "noop" }
+};
+
+// zap everything for clarity
+
+void
+mntent::clear()
+{
+ memset(mnt_fsname, 0, sizeof(mnt_fsname));
+ memset(mnt_dir, 0, sizeof(mnt_dir));
+ memset(mnt_type, 0, sizeof(mnt_type));
+ memset(mnt_opts, 0, sizeof(mnt_opts));
+ mnt_freq = mnt_passno = 0;
+}
+
+// fake it from a statfs struct
+
+mntent *
+mntent::from_statfs(struct statfs *pst)
+{
+
+ clear();
+ strcpy(mnt_fsname, pst->f_mntfromname);
+ strcpy(mnt_dir, pst->f_mntonname);
+ strcpy(mnt_type, pst->f_fstypename);
+ mnt_freq = mnt_passno = 0;
+
+ std::string opts;
+ int fl = pst->f_flags;
+
+ opts += (fl & MNT_RDONLY) ? "ro" : "rw";
+ for (optmap *pmp = omap; pmp->fl != 0; pmp++) {
+ if ((fl & pmp->fl) != 0) {
+ opts += (" " + pmp->st);
+ }
+ }
+ strcpy(mnt_opts, opts.c_str());
+
+ return this;
+}
+
+// "rewind" the mtab file
+
+FILE *
+setmntent(const char *, char *)
+{
+ if (!G_mntfOpen) {
+ G_mntfOpen = true;
+ }
+
+ G_mntpos = 0;
+ G_mntsize = getmntinfo(&G_pmntstat, MNT_NOWAIT);
+
+ return reinterpret_cast<FILE *>(1);
+}
+
+// return ptr to opt string if present
+
+char *
+hasmntopt(const mntent *pmnt, const char *szopt)
+{
+ std::string opt(szopt);
+ std::string mntopts(pmnt->mnt_opts);
+
+ std::string::size_type pos = mntopts.find(opt);
+ const char *szret = (pos == std::string::npos) ? "" : pmnt->mnt_opts + pos;
+
+ return const_cast<char *>(szret);
+}
+
+// get next mntent until all gone, then return 0
+
+struct mntent *
+getmntent(FILE *)
+{
+ if (!G_mntfOpen) {
+ return 0;
+ } else if (G_mntpos < G_mntsize) {
+ return G_mntent.from_statfs(G_pmntstat + G_mntpos++);
+ } else {
+ G_mntfOpen = false;
+ return 0;
+ }
+}
+
+// "close" the mtab file
+
+int
+endmntent(FILE *)
+{
+ G_mntfOpen = false;
+ return 0;
+}
+
+#endif /* ifndef HAVE_MNTENT_H */
diff --git a/sysutils/filelight-kde4/files/patch-filelight::Makefile.in b/sysutils/filelight-kde4/files/patch-filelight::Makefile.in
new file mode 100644
index 000000000000..306f6c882c50
--- /dev/null
+++ b/sysutils/filelight-kde4/files/patch-filelight::Makefile.in
@@ -0,0 +1,168 @@
+--- filelight/Makefile.in.orig Fri Aug 29 17:42:18 2003
++++ filelight/Makefile.in Fri Aug 29 20:42:07 2003
+@@ -239,12 +239,12 @@
+ ####### kdevelop will overwrite this part!!! (begin)##########
+ bin_PROGRAMS = filelight
+
+-#>- filelight_SOURCES = settingsdlg.cpp settingsdialog.ui filemap.cpp segmenttip.cpp scanbox.cpp filetree.cpp filelightcanvas.cpp filelight.cpp main.cpp
++#>- filelight_SOURCES = settingsdlg.cpp settingsdialog.ui filemap.cpp segmenttip.cpp scanbox.cpp filetree.cpp filelightcanvas.cpp filelight.cpp main.cpp mntent_compat.cpp
+ #>+ 1
+-filelight_SOURCES=settingsdlg.cpp filemap.cpp segmenttip.cpp scanbox.cpp filetree.cpp filelightcanvas.cpp filelight.cpp main.cpp settingsdialog.cpp
++filelight_SOURCES=settingsdlg.cpp filemap.cpp segmenttip.cpp scanbox.cpp filetree.cpp filelightcanvas.cpp filelight.cpp main.cpp mntent_compat.cpp settingsdialog.cpp
+ filelight_LDADD = $(LIB_KFILE) $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT) $(LIBSOCKET)
+
+-EXTRA_DIST = main.cpp filelight.cpp filelight.h filelightcanvas.h filelightcanvas.cpp filetree.h filetree.cpp TODO CHANGELOG scanbox.h scanbox.cpp segmenttip.cpp segmenttip.h filemap.cpp filemap.h settingsdialog.ui settingsdlg.cpp settingsdlg.h
++EXTRA_DIST = main.cpp filelight.cpp filelight.h filelightcanvas.h filelightcanvas.cpp filetree.h filetree.cpp TODO CHANGELOG scanbox.h scanbox.cpp segmenttip.cpp segmenttip.h filemap.cpp filemap.h settingsdialog.ui settingsdlg.cpp settingsdlg.h mntent_compat.cpp mntent.h
+
+ ####### kdevelop will overwrite this part!!! (end)############
+ # These paths are KDE specific. Use them:
+@@ -291,14 +291,16 @@
+
+ am_filelight_OBJECTS = settingsdlg.$(OBJEXT) filemap.$(OBJEXT) \
+ segmenttip.$(OBJEXT) scanbox.$(OBJEXT) filetree.$(OBJEXT) \
+- filelightcanvas.$(OBJEXT) filelight.$(OBJEXT) main.$(OBJEXT)
++ filelightcanvas.$(OBJEXT) filelight.$(OBJEXT) main.$(OBJEXT) \
++ mntent_compat.$(OBJEXT)
+ #>- filelight_OBJECTS = $(am_filelight_OBJECTS)
+-#>+ 7
++#>+ 8
+ filelight_final_OBJECTS = filelight.all_cpp.o
+ filelight_nofinal_OBJECTS = settingsdlg.$(OBJEXT) filemap.$(OBJEXT) \
+ segmenttip.$(OBJEXT) scanbox.$(OBJEXT) filetree.$(OBJEXT) \
+- filelightcanvas.$(OBJEXT) filelight.$(OBJEXT) main.$(OBJEXT) settingsdialog.$(OBJEXT)\
+-filelightcanvas.moc.o scanbox.moc.o segmenttip.moc.o filelight.moc.o settingsdlg.moc.o
++ filelightcanvas.$(OBJEXT) filelight.$(OBJEXT) main.$(OBJEXT) \
++ mntent_compat.$(OBJEXT) settingsdialog.$(OBJEXT)\
++filelightcanvas.moc.o settingsdlg.moc.o segmenttip.moc.o filelight.moc.o scanbox.moc.o
+ @KDE_USE_FINAL_FALSE@filelight_OBJECTS = $(filelight_nofinal_OBJECTS)
+ @KDE_USE_FINAL_TRUE@filelight_OBJECTS = $(filelight_final_OBJECTS)
+ filelight_DEPENDENCIES =
+@@ -309,21 +311,21 @@
+ #>- @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/filelight.Po \
+ #>- @AMDEP_TRUE@ ./$(DEPDIR)/filelightcanvas.Po \
+ #>- @AMDEP_TRUE@ ./$(DEPDIR)/filemap.Po ./$(DEPDIR)/filetree.Po \
+-#>- @AMDEP_TRUE@ ./$(DEPDIR)/main.Po ./$(DEPDIR)/scanbox.Po \
+-#>- @AMDEP_TRUE@ ./$(DEPDIR)/segmenttip.Po \
++#>- @AMDEP_TRUE@ ./$(DEPDIR)/main.Po ./$(DEPDIR)/mntent_compat.Po \
++#>- @AMDEP_TRUE@ ./$(DEPDIR)/scanbox.Po ./$(DEPDIR)/segmenttip.Po \
+ #>- @AMDEP_TRUE@ ./$(DEPDIR)/settingsdlg.Po
+ #>+ 13
+-@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@DEP_FILES = $(DEPDIR)/settingsdialog.P $(DEPDIR)/filelightcanvas.moc.P $(DEPDIR)/scanbox.moc.P $(DEPDIR)/segmenttip.moc.P $(DEPDIR)/filelight.moc.P $(DEPDIR)/settingsdlg.moc.P $(DEPDIR)/filelight.all_cpp.P ./$(DEPDIR)/filelight.Po \
++@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@DEP_FILES = $(DEPDIR)/settingsdialog.P $(DEPDIR)/filelightcanvas.moc.P $(DEPDIR)/settingsdlg.moc.P $(DEPDIR)/segmenttip.moc.P $(DEPDIR)/filelight.moc.P $(DEPDIR)/scanbox.moc.P $(DEPDIR)/filelight.all_cpp.P ./$(DEPDIR)/filelight.Po \
+ @AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/filelightcanvas.Po \
+ @AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/filemap.Po ./$(DEPDIR)/filetree.Po \
+-@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/main.Po ./$(DEPDIR)/scanbox.Po \
+-@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/segmenttip.Po \
++@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/main.Po ./$(DEPDIR)/mntent_compat.Po \
++@AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/scanbox.Po ./$(DEPDIR)/segmenttip.Po \
+ @AMDEP_TRUE@@KDE_USE_FINAL_TRUE@ @AMDEP_TRUE@ ./$(DEPDIR)/settingsdlg.Po
+-@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@DEP_FILES = $(DEPDIR)/settingsdialog.P $(DEPDIR)/filelightcanvas.moc.P $(DEPDIR)/scanbox.moc.P $(DEPDIR)/segmenttip.moc.P $(DEPDIR)/filelight.moc.P $(DEPDIR)/settingsdlg.moc.P ./$(DEPDIR)/filelight.Po \
++@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@DEP_FILES = $(DEPDIR)/settingsdialog.P $(DEPDIR)/filelightcanvas.moc.P $(DEPDIR)/settingsdlg.moc.P $(DEPDIR)/segmenttip.moc.P $(DEPDIR)/filelight.moc.P $(DEPDIR)/scanbox.moc.P ./$(DEPDIR)/filelight.Po \
+ @AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/filelightcanvas.Po \
+ @AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/filemap.Po ./$(DEPDIR)/filetree.Po \
+-@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/main.Po ./$(DEPDIR)/scanbox.Po \
+-@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/segmenttip.Po \
++@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/main.Po ./$(DEPDIR)/mntent_compat.Po \
++@AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/scanbox.Po ./$(DEPDIR)/segmenttip.Po \
+ @AMDEP_TRUE@@KDE_USE_FINAL_FALSE@ @AMDEP_TRUE@ ./$(DEPDIR)/settingsdlg.Po
+
+ #>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+@@ -362,7 +364,7 @@
+ #>+ 3
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu filelight/Makefile
+- cd $(top_srcdir) && perl admin/am_edit filelight-0.6.0/filelight/Makefile.in
++ cd $(top_srcdir) && perl admin/am_edit filelight/Makefile.in
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+ binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+@@ -409,6 +411,7 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filemap.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filetree.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mntent_compat.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scanbox.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/segmenttip.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/settingsdlg.Po@am__quote@
+@@ -532,7 +535,7 @@
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+ #>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ #>+ 4
+-KDE_DIST=filelight.desktop cr22-app-filelight.png filelight.xcf cr48-app-filelight.png cr64-app-filelight.png
++KDE_DIST=cr64-app-filelight.png cr48-app-filelight.png cr22-app-filelight.png filelight.xcf filelight.desktop
+
+ DISTFILES= $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+
+@@ -689,7 +692,6 @@
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
+
+-
+ #>+ 14
+ settingsdialog.cpp: $(srcdir)/settingsdialog.ui settingsdialog.h settingsdialog.moc
+ rm -f settingsdialog.cpp
+@@ -710,8 +712,8 @@
+ $(MOC) $(srcdir)/filelightcanvas.h -o filelightcanvas.moc.cpp
+
+ #>+ 3
+-scanbox.moc.cpp: $(srcdir)/scanbox.h
+- $(MOC) $(srcdir)/scanbox.h -o scanbox.moc.cpp
++settingsdlg.moc.cpp: $(srcdir)/settingsdlg.h
++ $(MOC) $(srcdir)/settingsdlg.h -o settingsdlg.moc.cpp
+
+ #>+ 3
+ segmenttip.moc.cpp: $(srcdir)/segmenttip.h
+@@ -722,12 +724,12 @@
+ $(MOC) $(srcdir)/filelight.h -o filelight.moc.cpp
+
+ #>+ 3
+-settingsdlg.moc.cpp: $(srcdir)/settingsdlg.h
+- $(MOC) $(srcdir)/settingsdlg.h -o settingsdlg.moc.cpp
++scanbox.moc.cpp: $(srcdir)/scanbox.h
++ $(MOC) $(srcdir)/scanbox.h -o scanbox.moc.cpp
+
+ #>+ 3
+ clean-metasources:
+- -rm -f filelightcanvas.moc.cpp scanbox.moc.cpp segmenttip.moc.cpp filelight.moc.cpp settingsdlg.moc.cpp
++ -rm -f filelightcanvas.moc.cpp settingsdlg.moc.cpp segmenttip.moc.cpp filelight.moc.cpp scanbox.moc.cpp
+
+ #>+ 4
+ clean-ui:
+@@ -755,15 +757,15 @@
+ force-reedit:
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu filelight/Makefile
+- cd $(top_srcdir) && perl admin/am_edit filelight-0.6.0/filelight/Makefile.in
++ cd $(top_srcdir) && perl admin/am_edit filelight/Makefile.in
+
+
+ #>+ 11
+-filelight.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/settingsdlg.cpp $(srcdir)/filemap.cpp $(srcdir)/segmenttip.cpp $(srcdir)/scanbox.cpp $(srcdir)/filetree.cpp $(srcdir)/filelightcanvas.cpp $(srcdir)/filelight.cpp $(srcdir)/main.cpp $(srcdir)/settingsdialog.cpp segmenttip.moc.cpp scanbox.moc.cpp filelightcanvas.moc.cpp filelight.moc.cpp settingsdlg.moc.cpp settingsdialog.moc
++filelight.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/settingsdlg.cpp $(srcdir)/filemap.cpp $(srcdir)/segmenttip.cpp $(srcdir)/scanbox.cpp $(srcdir)/filetree.cpp $(srcdir)/filelightcanvas.cpp $(srcdir)/filelight.cpp $(srcdir)/main.cpp $(srcdir)/mntent_compat.cpp $(srcdir)/settingsdialog.cpp filelightcanvas.moc.cpp settingsdlg.moc.cpp segmenttip.moc.cpp filelight.moc.cpp scanbox.moc.cpp settingsdialog.moc
+ @echo 'creating filelight.all_cpp.cpp ...'; \
+ rm -f filelight.all_cpp.files filelight.all_cpp.final; \
+ echo "#define KDE_USE_FINAL 1" >> filelight.all_cpp.final; \
+- for file in settingsdlg.cpp filemap.cpp segmenttip.cpp scanbox.cpp filetree.cpp filelightcanvas.cpp filelight.cpp main.cpp settingsdialog.cpp segmenttip.moc.cpp scanbox.moc.cpp filelightcanvas.moc.cpp filelight.moc.cpp settingsdlg.moc.cpp ; do \
++ for file in settingsdlg.cpp filemap.cpp segmenttip.cpp scanbox.cpp filetree.cpp filelightcanvas.cpp filelight.cpp main.cpp mntent_compat.cpp settingsdialog.cpp filelightcanvas.moc.cpp settingsdlg.moc.cpp segmenttip.moc.cpp filelight.moc.cpp scanbox.moc.cpp ; do \
+ echo "#include \"$$file\"" >> filelight.all_cpp.files; \
+ test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> filelight.all_cpp.final; \
+ done; \
+@@ -794,12 +796,13 @@
+ kde-rpo-clean:
+ -rm -f *.rpo
+
+-#>+ 9
+-$(srcdir)/filelight.cpp: settingsdialog.h
+-$(srcdir)/settingsdlg.cpp: settingsdialog.h
++#>+ 10
+ $(srcdir)/filetree.cpp: settingsdialog.h
+-$(srcdir)/filemap.cpp: settingsdialog.h
+-$(srcdir)/segmenttip.cpp: settingsdialog.h
++$(srcdir)/filelight.cpp: settingsdialog.h
++$(srcdir)/mntent_compat.cpp: settingsdialog.h
+ $(srcdir)/scanbox.cpp: settingsdialog.h
++$(srcdir)/segmenttip.cpp: settingsdialog.h
++$(srcdir)/settingsdlg.cpp: settingsdialog.h
+ $(srcdir)/main.cpp: settingsdialog.h
++$(srcdir)/filemap.cpp: settingsdialog.h
+ $(srcdir)/filelightcanvas.cpp: settingsdialog.h
diff --git a/sysutils/filelight-kde4/files/patch-filetree.cpp b/sysutils/filelight-kde4/files/patch-filetree.cpp
new file mode 100644
index 000000000000..b1d1ca544c81
--- /dev/null
+++ b/sysutils/filelight-kde4/files/patch-filetree.cpp
@@ -0,0 +1,51 @@
+--- filelight/filetree.cpp.orig Fri Aug 29 18:06:32 2003
++++ filelight/filetree.cpp Fri Aug 29 18:19:06 2003
+@@ -77,7 +77,7 @@
+ }
+
+
+-static int selector( struct dirent64 const *ent )
++static int selector( struct dirent *ent )
+ {
+ if( (strcmp( ent->d_name, "." ) == 0) || (strcmp( ent->d_name, ".." ) == 0) )
+ return 0;
+@@ -93,16 +93,16 @@
+ if( m_haltScan ) return NULL;
+
+ //the 64bit version lets us support more than 2GB files
+- struct dirent64 **eps;
++ struct dirent **eps;
+ int n;
+
+
+- n = scandir64( path, &eps, selector, /*alphasort*/ NULL );
++ n = scandir( path, &eps, selector, /*alphasort*/ NULL );
+
+ if( n >= 0 ) {
+
+ char *new_path, *new_dirname;
+- struct stat64 statbuf;
++ struct stat statbuf;
+ unsigned char strlen_path = strlen( path ) + 2; //saves recalculations
+ Directory *cwd = new Directory( dirname );
+ Filesize dirsize = 0;
+@@ -121,7 +121,7 @@
+ */
+
+ //get some more detail about the file with lstat
+- lstat64( new_path, &statbuf );
++ lstat( new_path, &statbuf );
+ statbuf.st_size /= 1024; //using units of kB as 32bit max is 4GB and 64bit ints are expensive
+
+ if( S_ISLNK( statbuf.st_mode ) )
+@@ -260,8 +260,9 @@
+
+ #include <fstab.h>
+ #include <mntent.h>
++#ifndef __FreeBSD__
+ #include <sys/statfs.h>
+-
++#endif
+
+ #define INFO_PARTITIONS "/proc/partitions"
+ #define INFO_MOUNTED_PARTITIONS "/etc/mtab" /* on Linux... */
diff --git a/sysutils/filelight-kde4/pkg-descr b/sysutils/filelight-kde4/pkg-descr
new file mode 100644
index 000000000000..edf9a8c86425
--- /dev/null
+++ b/sysutils/filelight-kde4/pkg-descr
@@ -0,0 +1,9 @@
+Filelight graphically represents a file system as a set of
+concentric segmented-rings, indicating where diskspace is
+being used. Segments expanding from the center represent
+files (including directories), with each segment's size
+being proportional to the file's size and directories
+having child segments.
+
+Author: Max Howell <max.howell@methylblue.com>
+WWW: http://www.methylblue.com/filelight
diff --git a/sysutils/filelight-kde4/pkg-plist b/sysutils/filelight-kde4/pkg-plist
new file mode 100644
index 000000000000..9cff1581e8fd
--- /dev/null
+++ b/sysutils/filelight-kde4/pkg-plist
@@ -0,0 +1,21 @@
+bin/filelight
+share/applnk/Utilities/filelight.desktop
+share/doc/HTML/en/filelight/common
+share/doc/HTML/en/filelight/index.cache.bz2
+share/doc/HTML/en/filelight/index.docbook
+share/icons/crystalsvg/22x22/apps/filelight.png
+share/icons/crystalsvg/48x48/apps/filelight.png
+share/icons/crystalsvg/64x64/apps/filelight.png
+@unexec rmdir %D/share/icons/crystalsvg/64x64/apps 2>/dev/null || true
+@unexec rmdir %D/share/icons/crystalsvg/64x64 2>/dev/null || true
+@unexec rmdir %D/share/icons/crystalsvg/48x48/apps 2>/dev/null || true
+@unexec rmdir %D/share/icons/crystalsvg/48x48 2>/dev/null || true
+@unexec rmdir %D/share/icons/crystalsvg/22x22/apps 2>/dev/null || true
+@unexec rmdir %D/share/icons/crystalsvg/22x22 2>/dev/null || true
+@unexec rmdir %D/share/icons/crystalsvg 2>/dev/null || true
+@unexec rmdir %D/share/icons 2>/dev/null || true
+@dirrm share/doc/HTML/en/filelight
+@unexec rmdir %D/share/doc/HTML/en 2>/dev/null || true
+@unexec rmdir %D/share/doc/HTML 2>/dev/null || true
+@unexec rmdir %D/share/applnk/Utilities 2>/dev/null || true
+@unexec rmdir %D/share/applnk 2>/dev/null || true