summaryrefslogtreecommitdiff
path: root/x11/konsole
diff options
context:
space:
mode:
authormarkd <markd>2012-03-20 05:07:48 +0000
committermarkd <markd>2012-03-20 05:07:48 +0000
commitc9bccb7ceffeb6dbad0fa8c2e7e49c7d4aa136d0 (patch)
tree692f93bd488b6f1887121a9508f8298cb0668459 /x11/konsole
parentda2408a5a163c44df7f2b6cd90cf6806ac8bd9f0 (diff)
downloadpkgsrc-c9bccb7ceffeb6dbad0fa8c2e7e49c7d4aa136d0.tar.gz
Import konsole. A part of KDE SC 4.8.0
a terminal emulator for the K Desktop Environment
Diffstat (limited to 'x11/konsole')
-rw-r--r--x11/konsole/DESCR1
-rw-r--r--x11/konsole/Makefile15
-rw-r--r--x11/konsole/PLIST30
-rw-r--r--x11/konsole/distinfo6
-rw-r--r--x11/konsole/patches/patch-src_ProcessInfo.cpp185
5 files changed, 237 insertions, 0 deletions
diff --git a/x11/konsole/DESCR b/x11/konsole/DESCR
new file mode 100644
index 00000000000..120ca3e8f2c
--- /dev/null
+++ b/x11/konsole/DESCR
@@ -0,0 +1 @@
+a terminal emulator for the K Desktop Environment
diff --git a/x11/konsole/Makefile b/x11/konsole/Makefile
new file mode 100644
index 00000000000..78d6df6293d
--- /dev/null
+++ b/x11/konsole/Makefile
@@ -0,0 +1,15 @@
+# $NetBSD: Makefile,v 1.1.1.1 2012/03/20 05:07:48 markd Exp $
+
+DISTNAME= konsole-${_KDE_VERSION}
+CATEGORIES= x11
+COMMENT= a terminal emulator for the K Desktop Environment
+
+.include "../../meta-pkgs/kde4/Makefile.kde4"
+
+.include "../../meta-pkgs/kde4/kde4.mk"
+
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+.include "../../x11/kdelibs4/buildlink3.mk"
+.include "../../x11/kde-baseapps4/buildlink3.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/x11/konsole/PLIST b/x11/konsole/PLIST
new file mode 100644
index 00000000000..2fce4d6596d
--- /dev/null
+++ b/x11/konsole/PLIST
@@ -0,0 +1,30 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2012/03/20 05:07:48 markd Exp $
+bin/konsole
+bin/konsoleprofile
+lib/kde4/libkonsolepart.so
+lib/libkdeinit4_konsole.so
+lib/libkonsoleprivate.so
+share/applications/kde4/konsole.desktop
+share/doc/kde/HTML/en/konsole/common
+share/doc/kde/HTML/en/konsole/index.cache.bz2
+share/doc/kde/HTML/en/konsole/index.docbook
+share/kde/apps/konsole/BlackOnLightYellow.schema
+share/kde/apps/konsole/BlackOnRandomLight.colorscheme
+share/kde/apps/konsole/BlackOnWhite.schema
+share/kde/apps/konsole/DarkPastels.colorscheme
+share/kde/apps/konsole/GreenOnBlack.colorscheme
+share/kde/apps/konsole/Linux.colorscheme
+share/kde/apps/konsole/README.KeyTab
+share/kde/apps/konsole/Shell.profile
+share/kde/apps/konsole/Solarized.colorscheme
+share/kde/apps/konsole/WhiteOnBlack.schema
+share/kde/apps/konsole/default.keytab
+share/kde/apps/konsole/konsole.notifyrc
+share/kde/apps/konsole/konsoleui.rc
+share/kde/apps/konsole/linux.keytab
+share/kde/apps/konsole/partui.rc
+share/kde/apps/konsole/sessionui.rc
+share/kde/apps/konsole/solaris.keytab
+share/kde4/services/ServiceMenus/konsolehere.desktop
+share/kde4/services/konsolepart.desktop
+share/kde4/servicetypes/terminalemulator.desktop
diff --git a/x11/konsole/distinfo b/x11/konsole/distinfo
new file mode 100644
index 00000000000..1a7c7a0d2a0
--- /dev/null
+++ b/x11/konsole/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1.1.1 2012/03/20 05:07:48 markd Exp $
+
+SHA1 (konsole-4.8.0.tar.bz2) = f99abc20fd0042be62e48308f334b66a6a3135d7
+RMD160 (konsole-4.8.0.tar.bz2) = 4375686e3bb30a51feced29db4538e1f5dfd4de4
+Size (konsole-4.8.0.tar.bz2) = 476032 bytes
+SHA1 (patch-src_ProcessInfo.cpp) = aa0c1d6bfa7462681b82bdee4609e0cf26211300
diff --git a/x11/konsole/patches/patch-src_ProcessInfo.cpp b/x11/konsole/patches/patch-src_ProcessInfo.cpp
new file mode 100644
index 00000000000..b9b1f4eb57b
--- /dev/null
+++ b/x11/konsole/patches/patch-src_ProcessInfo.cpp
@@ -0,0 +1,185 @@
+$NetBSD: patch-src_ProcessInfo.cpp,v 1.1.1.1 2012/03/20 05:07:49 markd Exp $
+
+--- src/ProcessInfo.cpp.orig 2010-03-26 17:26:32.000000000 +0000
++++ src/ProcessInfo.cpp
+@@ -894,6 +894,171 @@ private:
+ }
+ } ;
+
++class NetBSDProcessInfo : public UnixProcessInfo
++{
++public:
++ NetBSDProcessInfo(int pid, bool env) :
++ UnixProcessInfo(pid,env)
++ {
++ }
++
++private:
++ virtual bool readProcInfo(int pid)
++ {
++ // indicies of various fields within the process status file which
++ // contain various information about the process
++ const int PARENT_PID_FIELD = 2;
++ const int PROCESS_NAME_FIELD = 0;
++ const int GROUP_PROCESS_FIELD = 3;
++ const int UID_PROCESS_FIELD = 11;
++
++ QString parentPidString;
++ QString processNameString;
++ QString foregroundPidString;
++ QString uidString;
++
++ // read process status file ( /proc/<pid/status )
++ //
++ // the expected file format is a list of fields separated by spaces, using
++ // parenthesies to escape fields such as the process name which may itself contain
++ // spaces:
++ //
++ // FIELD FIELD (FIELD WITH SPACES) FIELD FIELD
++ //
++ QFile processInfo( QString("/proc/%1/status").arg(pid) );
++ if ( processInfo.open(QIODevice::ReadOnly) )
++ {
++ QTextStream stream(&processInfo);
++ QString data = stream.readAll();
++
++ int stack = 0;
++ int field = 0;
++ int pos = 0;
++
++ while (pos < data.count())
++ {
++ QChar c = data[pos];
++
++ if ( c == '(' )
++ stack++;
++ else if ( c == ')' )
++ stack--;
++ else if ( stack == 0 && c == ' ' )
++ field++;
++ else
++ {
++ switch ( field )
++ {
++ case PARENT_PID_FIELD:
++ parentPidString.append(c);
++ break;
++ case PROCESS_NAME_FIELD:
++ processNameString.append(c);
++ break;
++ case GROUP_PROCESS_FIELD:
++ foregroundPidString.append(c);
++ break;
++ case UID_PROCESS_FIELD:
++ uidString.append(c);
++ break;
++ }
++ }
++
++ pos++;
++ }
++ }
++ else
++ {
++ setFileError( processInfo.error() );
++ return false;
++ }
++
++ // check that data was read successfully
++ bool ok = false;
++
++ // uid string must be less than 5 chars (uint)
++ if (uidString.size() > 5)
++ uidString.clear();
++
++ int uid = uidString.toInt(&ok);
++ if (ok)
++ setUserId(uid);
++ readUserName();
++
++ int foregroundPid = foregroundPidString.toInt(&ok);
++ if (ok)
++ setForegroundPid(foregroundPid);
++
++ int parentPid = parentPidString.toInt(&ok);
++ if (ok)
++ setParentPid(parentPid);
++
++ if (!processNameString.isEmpty())
++ setName(processNameString);
++
++ // update object state
++ setPid(pid);
++
++ return ok;
++ }
++
++ virtual bool readArguments(int pid)
++ {
++ // read command-line arguments file found at /proc/<pid>/cmdline
++ // the expected format is a list of strings delimited by null characters,
++ // and ending in a double null character pair.
++
++ QFile argumentsFile( QString("/proc/%1/cmdline").arg(pid) );
++ if ( argumentsFile.open(QIODevice::ReadOnly) )
++ {
++ QTextStream stream(&argumentsFile);
++ QString data = stream.readAll();
++
++ QStringList argList = data.split( QChar('\0') );
++
++ foreach ( const QString &entry , argList )
++ {
++ if (!entry.isEmpty())
++ addArgument(entry);
++ }
++ }
++ else
++ {
++ setFileError( argumentsFile.error() );
++ }
++
++ return true;
++ }
++
++ virtual bool readCurrentDir(int pid)
++ {
++ QFileInfo info( QString("/proc/%1/cwd").arg(pid) );
++
++ const bool readable = info.isReadable();
++
++ if ( readable && info.isSymLink() )
++ {
++ setCurrentDir( info.symLinkTarget() );
++ return true;
++ }
++ else
++ {
++ if ( !readable )
++ setError( PermissionsError );
++ else
++ setError( UnknownError );
++
++ return false;
++ }
++ }
++
++ virtual bool readEnvironment(int pid)
++ {
++ // Not supported in NetBSD
++ return true;
++ }
++} ;
++
+ SSHProcessInfo::SSHProcessInfo(const ProcessInfo& process)
+ : _process(process)
+ {
+@@ -1039,6 +1204,8 @@ ProcessInfo* ProcessInfo::newInstance(in
+ return new LinuxProcessInfo(pid,enableEnvironmentRead);
+ #elif defined(Q_OS_SOLARIS)
+ return new SolarisProcessInfo(pid,enableEnvironmentRead);
++#elif defined(Q_OS_NETBSD)
++ return new NetBSDProcessInfo(pid,enableEnvironmentRead);
+ #elif defined(Q_OS_MAC)
+ return new MacProcessInfo(pid,enableEnvironmentRead);
+ #elif defined(Q_OS_FREEBSD)