pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

konsole: Add konsole 16.04.0



Module Name:	pkgsrc-wip
Committed By:	Mark Davies <mark%ecs.vuw.ac.nz@localhost>
Pushed By:	markd
Date:		Mon May 9 23:10:52 2016 +1200
Changeset:	aa739d9d426c22694adf1fa1d3d11fdd796e8532

Added Files:
	konsole/DESCR
	konsole/Makefile
	konsole/PLIST
	konsole/distinfo
	konsole/patches/patch-src_ProcessInfo.cpp

Log Message:
konsole: Add konsole 16.04.0

a terminal emulator for the K Desktop Environment

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=aa739d9d426c22694adf1fa1d3d11fdd796e8532

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 konsole/DESCR                             |   1 +
 konsole/Makefile                          |  21 ++++
 konsole/PLIST                             |  35 ++++++
 konsole/distinfo                          |   7 ++
 konsole/patches/patch-src_ProcessInfo.cpp | 185 ++++++++++++++++++++++++++++++
 5 files changed, 249 insertions(+)

diffs:
diff --git a/konsole/DESCR b/konsole/DESCR
new file mode 100644
index 0000000..120ca3e
--- /dev/null
+++ b/konsole/DESCR
@@ -0,0 +1 @@
+a terminal emulator for the K Desktop Environment
diff --git a/konsole/Makefile b/konsole/Makefile
new file mode 100644
index 0000000..bd051d8
--- /dev/null
+++ b/konsole/Makefile
@@ -0,0 +1,21 @@
+# $NetBSD: Makefile,v 1.25 2016/01/10 20:01:05 markd Exp $
+
+DISTNAME=	konsole-${KAPPSVER}
+CATEGORIES=	x11
+
+HOMEPAGE=	http://kde.org/applications/system/konsole/
+COMMENT=	Terminal emulator for the K Desktop Environment
+LICENSE=	gnu-gpl-v2 AND gnu-lgpl-v2 AND gnu-fdl-v1.2
+
+.include "../../wip/kde5/applications.mk"
+
+BUILD_DEPENDS+=	kdoctools>=5.19.0:../../wip/kdoctools
+
+USE_TOOLS+=	msgmerge
+
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+.include "../../wip/kdelibs4support/buildlink3.mk"
+.include "../../wip/knotifyconfig/buildlink3.mk"
+.include "../../wip/kpty/buildlink3.mk"
+.include "../../x11/qt5-qtbase/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/konsole/PLIST b/konsole/PLIST
new file mode 100644
index 0000000..9211c42
--- /dev/null
+++ b/konsole/PLIST
@@ -0,0 +1,35 @@
+@comment $NetBSD$
+bin/konsole
+bin/konsoleprofile
+lib/libkdeinit5_konsole.so
+lib/libkonsoleprivate.so.16
+lib/libkonsoleprivate.so.${PKGVERSION}
+qt5/plugins/konsolepart.so
+share/appdata/org.kde.konsole.appdata.xml
+share/applications/org.kde.konsole.desktop
+share/doc/HTML/en/konsole/draganddrop-contextmenu.png
+share/doc/HTML/en/konsole/index.cache.bz2
+share/doc/HTML/en/konsole/index.docbook
+share/knotifications5/konsole.notifyrc
+share/konsole/BlackOnLightYellow.colorscheme
+share/konsole/BlackOnRandomLight.colorscheme
+share/konsole/BlackOnWhite.colorscheme
+share/konsole/BlueOnBlack.colorscheme
+share/konsole/DarkPastels.colorscheme
+share/konsole/GreenOnBlack.colorscheme
+share/konsole/Linux.colorscheme
+share/konsole/README.KeyTab
+share/konsole/RedOnBlack.colorscheme
+share/konsole/Solarized.colorscheme
+share/konsole/SolarizedLight.colorscheme
+share/konsole/WhiteOnBlack.colorscheme
+share/konsole/default.keytab
+share/konsole/linux.keytab
+share/konsole/solaris.keytab
+share/kservices5/ServiceMenus/konsolehere.desktop
+share/kservices5/ServiceMenus/konsolerun.desktop
+share/kservices5/konsolepart.desktop
+share/kservicetypes5/terminalemulator.desktop
+share/kxmlgui5/konsole/konsoleui.rc
+share/kxmlgui5/konsole/partui.rc
+share/kxmlgui5/konsole/sessionui.rc
diff --git a/konsole/distinfo b/konsole/distinfo
new file mode 100644
index 0000000..f2c98e9
--- /dev/null
+++ b/konsole/distinfo
@@ -0,0 +1,7 @@
+$NetBSD$
+
+SHA1 (konsole-16.04.0.tar.xz) = 7731926ee425149a8798dd3f618e6ff6e131dac7
+RMD160 (konsole-16.04.0.tar.xz) = 16821478861008664a0c7437a9690e5baf1c4a60
+SHA512 (konsole-16.04.0.tar.xz) = 0c1c1e334e30900a1b5cd0dc2993bcd7f5d76e1a79b8f3e7603acbf76a69d466411de36aef82e77af69c052594098fe0a1d9ec34da8d03fbe649253a8b018cc3
+Size (konsole-16.04.0.tar.xz) = 460388 bytes
+SHA1 (patch-src_ProcessInfo.cpp) = bfda4ebb4be56727cfd0b994dd9164c3eeff0378
diff --git a/konsole/patches/patch-src_ProcessInfo.cpp b/konsole/patches/patch-src_ProcessInfo.cpp
new file mode 100644
index 0000000..23cecee
--- /dev/null
+++ b/konsole/patches/patch-src_ProcessInfo.cpp
@@ -0,0 +1,185 @@
+$NetBSD$
+
+--- src/ProcessInfo.cpp.orig	2016-04-13 16:49:23.000000000 +0000
++++ src/ProcessInfo.cpp
+@@ -1014,6 +1014,171 @@ private:
+         }
+     }
+ };
++#elif defined(Q_OS_NETBSD)
++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;
++    }
++} ;
+ #endif
+ 
+ SSHProcessInfo::SSHProcessInfo(const ProcessInfo& process)
+@@ -1170,6 +1335,8 @@ ProcessInfo* ProcessInfo::newInstance(in
+     return new LinuxProcessInfo(aPid, enableEnvironmentRead);
+ #elif defined(Q_OS_SOLARIS)
+     return new SolarisProcessInfo(aPid, enableEnvironmentRead);
++#elif defined(Q_OS_NETBSD)
++    return new NetBSDProcessInfo(aPid, enableEnvironmentRead);
+ #elif defined(Q_OS_MAC)
+     return new MacProcessInfo(aPid, enableEnvironmentRead);
+ #elif defined(Q_OS_FREEBSD)


Home | Main Index | Thread Index | Old Index