aboutsummaryrefslogtreecommitdiffstats
path: root/x11
diff options
context:
space:
mode:
Diffstat (limited to 'x11')
-rw-r--r--x11/Makefile1
-rw-r--r--x11/cool-retro-term/Makefile57
-rw-r--r--x11/cool-retro-term/distinfo4
-rw-r--r--x11/cool-retro-term/files/patch-lib_kpty.cpp50
-rw-r--r--x11/cool-retro-term/pkg-descr7
-rw-r--r--x11/cool-retro-term/pkg-plist44
6 files changed, 163 insertions, 0 deletions
diff --git a/x11/Makefile b/x11/Makefile
index d63148e9d729..2116a26cbf62 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -33,6 +33,7 @@
SUBDIR += cinnamon-session
SUBDIR += cl-clx
SUBDIR += compositeproto
+ SUBDIR += cool-retro-term
SUBDIR += damageproto
SUBDIR += decurs
SUBDIR += deforaos-desktop
diff --git a/x11/cool-retro-term/Makefile b/x11/cool-retro-term/Makefile
new file mode 100644
index 000000000000..2f0d00a95fdf
--- /dev/null
+++ b/x11/cool-retro-term/Makefile
@@ -0,0 +1,57 @@
+# Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= cool-retro-term
+PORTVERSION= 1.0.0
+CATEGORIES= x11
+MASTER_SITES= LOCAL/danfe:qtw
+DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} \
+ qmltermwidget-0.1.0${EXTRACT_SUFX}:qtw
+
+MAINTAINER= danfe@FreeBSD.org
+COMMENT= Terminal emulator which mimics the old cathode display
+
+LICENSE= GPLv3
+
+USE_GITHUB= yes
+GH_ACCOUNT= Swordfish90
+GH_TAGNAME= v${PORTVERSION}
+GH_COMMIT= 6446f1d
+
+USES= desktop-file-utils qmake
+USE_QT5= qmake_build buildtools_build core gui qml quick widgets \
+ graphicaleffects_run quickcontrols_run
+USE_LDCONFIG= yes
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 900014 || ${ARCH} == powerpc
+USE_GCC= yes
+.else
+CC= clang
+CXX= clang++
+CPP= clang-cpp
+.endif
+
+post-extract:
+ @${RMDIR} ${WRKSRC}/qmltermwidget
+ @${LN} -s ${WRKDIR}/qmltermwidget-0.1.0 ${WRKSRC}/qmltermwidget
+
+post-patch:
+ @${REINPLACE_CMD} -e '/DEFINES +=/s,^macx:,,' \
+ ${WRKSRC}/qmltermwidget/qmltermwidget.pro
+.if ${OSVERSION} < 900007
+ @${REINPLACE_CMD} -e 's,HAVE_UTMPX,HAVE_UTMP,' \
+ ${WRKSRC}/qmltermwidget/qmltermwidget.pro
+ @${REINPLACE_CMD} -e 's,ut_user,ut_name,g' \
+ ${WRKSRC}/qmltermwidget/lib/kpty.cpp
+.else
+ @${REINPLACE_CMD} -e '/define HAVE_LOGIN/d' \
+ ${WRKSRC}/qmltermwidget/lib/kpty.cpp
+.endif
+ @${REINPLACE_CMD} -e 's,/usr,${LOCALBASE},' \
+ ${WRKSRC}/app/app.pro ${WRKSRC}/cool-retro-term.pro
+ @${REINPLACE_CMD} -e 's,\.\./icons,/icons,' \
+ ${WRKSRC}/app/main.cpp
+
+.include <bsd.port.post.mk>
diff --git a/x11/cool-retro-term/distinfo b/x11/cool-retro-term/distinfo
new file mode 100644
index 000000000000..03331b956fa1
--- /dev/null
+++ b/x11/cool-retro-term/distinfo
@@ -0,0 +1,4 @@
+SHA256 (cool-retro-term-1.0.0.tar.gz) = 7dbf63b49bfb511bf4023535fa0a59f520ee000ab8a4c46dd5f6ff0bc02b50e8
+SIZE (cool-retro-term-1.0.0.tar.gz) = 7808990
+SHA256 (qmltermwidget-0.1.0.tar.gz) = 127f529a96cf1c96ff201c79458cff67f497b1820b04b0b30cb473423ccb30f9
+SIZE (qmltermwidget-0.1.0.tar.gz) = 196864
diff --git a/x11/cool-retro-term/files/patch-lib_kpty.cpp b/x11/cool-retro-term/files/patch-lib_kpty.cpp
new file mode 100644
index 000000000000..0c0231b75a4b
--- /dev/null
+++ b/x11/cool-retro-term/files/patch-lib_kpty.cpp
@@ -0,0 +1,50 @@
+--- qmltermwidget/lib/kpty.cpp.orig
++++ qmltermwidget/lib/kpty.cpp
+@@ -84,9 +83,10 @@ extern "C" {
+ # include <utempter.h>
+ }
+ #else
+-# include <utmp.h>
+ # ifdef HAVE_UTMPX
+ # include <utmpx.h>
++# else
++# include <utmp.h>
+ # endif
+ # if !defined(_PATH_UTMPX) && defined(_UTMPX_FILE)
+ # define _PATH_UTMPX _UTMPX_FILE
+@@ -503,7 +503,7 @@ void KPty::login(const char * user, cons
+ // note: strncpy without terminators _is_ correct here. man 4 utmp
+
+ if (user) {
+- strncpy(l_struct.ut_name, user, sizeof(l_struct.ut_name));
++ strncpy(l_struct.ut_user, user, sizeof(l_struct.ut_user));
+ }
+
+ if (remotehost) {
+@@ -550,7 +550,7 @@ void KPty::login(const char * user, cons
+ # endif
+ # endif
+ # ifdef HAVE_UTMPX
+- utmpxname(_PATH_UTMPX);
++ //utmpxname(_PATH_UTMPX);
+ setutxent();
+ pututxline(&l_struct);
+ endutxent();
+@@ -606,7 +606,7 @@ void KPty::logout()
+ strncpy(l_struct.ut_line, str_ptr, sizeof(l_struct.ut_line));
+
+ # ifdef HAVE_UTMPX
+- utmpxname(_PATH_UTMPX);
++ //utmpxname(_PATH_UTMPX);
+ setutxent();
+ if ((ut = getutxline(&l_struct))) {
+ # else
+@@ -614,7 +614,7 @@ void KPty::logout()
+ setutent();
+ if ((ut = getutline(&l_struct))) {
+ # endif
+- memset(ut->ut_name, 0, sizeof(*ut->ut_name));
++ memset(ut->ut_user, 0, sizeof(*ut->ut_user));
+ memset(ut->ut_host, 0, sizeof(*ut->ut_host));
+ # ifdef HAVE_STRUCT_UTMP_UT_SYSLEN
+ ut->ut_syslen = 0;
diff --git a/x11/cool-retro-term/pkg-descr b/x11/cool-retro-term/pkg-descr
new file mode 100644
index 000000000000..713f6dd10284
--- /dev/null
+++ b/x11/cool-retro-term/pkg-descr
@@ -0,0 +1,7 @@
+cool-retro-term is a terminal emulator which mimics the look and feel of the
+old cathode ray tube (CRT) screens. It has been designed to be eye-candy,
+customizable, and reasonably lightweight.
+
+It is based on QML port of QTermWidget (Konsole) and requires Qt 5.2+.
+
+WWW: https://github.com/Swordfish90/cool-retro-term
diff --git a/x11/cool-retro-term/pkg-plist b/x11/cool-retro-term/pkg-plist
new file mode 100644
index 000000000000..959b6699aa74
--- /dev/null
+++ b/x11/cool-retro-term/pkg-plist
@@ -0,0 +1,44 @@
+bin/cool-retro-term
+%%QT_QMLDIR%%/QMLTermWidget/QMLTermScrollbar.qml
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/BlackOnLightYellow.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/BlackOnRandomLight.colorscheme
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/BlackOnWhite.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/DarkPastels.colorscheme
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/GreenOnBlack.colorscheme
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/Linux.colorscheme
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/WhiteOnBlack.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/color-schemes.qrc
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/cool-retro-term.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/BlackOnLightColor.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/DarkPicture.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/Example.Schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/GreenOnBlack.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/GreenTint.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/GreenTint_MC.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/LightPicture.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/Linux.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/README.Schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/README.default.Schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/Transparent.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/Transparent_MC.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/Transparent_darkbg.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/Transparent_lightbg.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/XTerm.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/syscolor.schema
+%%QT_QMLDIR%%/QMLTermWidget/color-schemes/historic/vim.schema
+%%QT_QMLDIR%%/QMLTermWidget/kb-layouts/README
+%%QT_QMLDIR%%/QMLTermWidget/kb-layouts/default.keytab
+%%QT_QMLDIR%%/QMLTermWidget/kb-layouts/historic/vt100.keytab
+%%QT_QMLDIR%%/QMLTermWidget/kb-layouts/historic/x11r5.keytab
+%%QT_QMLDIR%%/QMLTermWidget/kb-layouts/kb-layouts.qrc
+%%QT_QMLDIR%%/QMLTermWidget/kb-layouts/linux.keytab
+%%QT_QMLDIR%%/QMLTermWidget/kb-layouts/macbook.keytab
+%%QT_QMLDIR%%/QMLTermWidget/kb-layouts/solaris.keytab
+%%QT_QMLDIR%%/QMLTermWidget/kb-layouts/vt420pc.keytab
+%%QT_QMLDIR%%/QMLTermWidget/libqmltermwidget.so
+%%QT_QMLDIR%%/QMLTermWidget/qmldir
+share/applications/cool-retro-term.desktop
+share/icons/hicolor/128x128/apps/cool-retro-term.png
+share/icons/hicolor/256x256/apps/cool-retro-term.png
+share/icons/hicolor/32x32/apps/cool-retro-term.png
+share/icons/hicolor/64x64/apps/cool-retro-term.png