From a26f72de35a1148546521541f33dcc6cd36e28ea Mon Sep 17 00:00:00 2001 From: Austen Adler Date: Mon, 19 Sep 2016 11:43:10 -0400 Subject: [PATCH] Added cool retro term from gerczei overlay --- x11-terms/cool-retro-term/Manifest | 8 ++ .../cool-retro-term-1.0.0-r1.ebuild | 72 +++++++++++++ .../cool-retro-term-1.0.0.ebuild | 64 +++++++++++ .../cool-retro-term-9999-r1.ebuild | 64 +++++++++++ .../cool-retro-term-9999.ebuild | 63 +++++++++++ x11-terms/cool-retro-term/files/metadata.xml | 17 +++ .../files/size_and_position.patch | 100 ++++++++++++++++++ 7 files changed, 388 insertions(+) create mode 100644 x11-terms/cool-retro-term/Manifest create mode 100644 x11-terms/cool-retro-term/cool-retro-term-1.0.0-r1.ebuild create mode 100644 x11-terms/cool-retro-term/cool-retro-term-1.0.0.ebuild create mode 100644 x11-terms/cool-retro-term/cool-retro-term-9999-r1.ebuild create mode 100644 x11-terms/cool-retro-term/cool-retro-term-9999.ebuild create mode 100644 x11-terms/cool-retro-term/files/metadata.xml create mode 100644 x11-terms/cool-retro-term/files/size_and_position.patch diff --git a/x11-terms/cool-retro-term/Manifest b/x11-terms/cool-retro-term/Manifest new file mode 100644 index 0000000..5014329 --- /dev/null +++ b/x11-terms/cool-retro-term/Manifest @@ -0,0 +1,8 @@ +AUX metadata.xml 937 SHA256 ca9f825247c220b2b722746a1eec0be41869364b0456a1ed4f585a76f17c0640 SHA512 ad3da059222fbbc46e83ad26de4c2f0b8bfdac04cd030ddfd4ee25a6a5237ab9acc1d59dab00ee1b69acc28ee694a783c75ef746cd0e8bba0eb6d5b2c2c038d2 WHIRLPOOL 31b30faeacf972c9f5ffd4763a17267d20871ffdcad368e04564b15f84b50e572e9f9c4ecdeb5d7ac60109a48de8a1febfe7ae0a865063ee4b6555d11afc4f03 +AUX size_and_position.patch 3414 SHA256 6292b91a1c9d7a320d9a8d97d1c892bdcba9c4433dde41bdbed010d8c3054081 SHA512 a16b044ba7974ace30c77c71f07eecb6e8e4249ccae288970a0b3839317ef2c6337566e4be87418696dd4201e82585335fec6088339fdd9971d5dfe51ab744a5 WHIRLPOOL 830c8584c4639bdd5cda92bf2cc5c8b2f1e4a77bd97ad366c470ec8cdea553a1f51cbb3c12927492e5a882ac758c5cc2fcc853c7a6408286bd4b4c07c318e5b4 +DIST cool-retro-term-1.0.0.tar.gz 7809236 SHA256 db799084680545b6961e1b3d1bb7ff0cb8105e82279fe734c2c07c32525350d9 SHA512 c69c596491aeabf872543ee589ef806aa07d480cd830cf9687a14fa1f4887e0f0a8b3c96b358d1ad1bdc677f688a61f15fbcf6fc2d969e62dfa65141c5ec0ab1 WHIRLPOOL c0989bb31293a8c4f59001fc50f06db81a32893c33db62ea0ef081cfe93e3a3476d56fd07f17bdecd6575b17699f79f1e28c49ec1c7ea8b96ab44a884d648b09 +DIST qmltermwidget-0.1.0.tar.gz 196864 SHA256 127f529a96cf1c96ff201c79458cff67f497b1820b04b0b30cb473423ccb30f9 SHA512 d628b02deb9cce1bb1c1365b045d18a4d1afa641abb928979dba79c7aa58cd940d4974052a5dd6dd2f68d938451b28f3d2e15ab54430e4432c0b174bb4ee62d0 WHIRLPOOL cf8c9b55e096430f319747901f53964cdc0d0265953232f00ee13d5c7c47b4960373d03955b3ce4bcfc3eb262ea14baa3ac752a505345fc7a8a8c4e1754b2969 +EBUILD cool-retro-term-1.0.0-r1.ebuild 2092 SHA256 f98a21803ac1930f3e5fb1150677854265aa439048dbbfcf72df31c5909667e9 SHA512 745ca3961a1c0e686dfa9d82b5b9631daa24a569fc84875323936a8213ac914b60d865d669221c333d64b589e63e883120b43c9f015654dcd61fb2ab924e2555 WHIRLPOOL 00f648a7d384be39b4e452c65c3d363540dd60d2879f48c8036df0ab66e6ea02167c3da325c06932b4bee1cc3e087a74af31dedca9841f59cc9b342a92b1b437 +EBUILD cool-retro-term-1.0.0.ebuild 1879 SHA256 b0ca5c59f16c85f95b42f6f506959c2296f0e5f37faa9b0507b8f5464675ae93 SHA512 a64d53b19c1166f82dd0d9411fb91675f591aea8c5c5218bfd73fdf012e98d28a35e94aba663c92a0739152623a2f213ac09e394c2133dee8527f21ef96e062c WHIRLPOOL 4e13e146de67b1b00d1b4b05d4794b01d415d73760ed1320fc26314c0b4838324b0967a5e8fe67dd9844d34b51e43f678d65ca22073fed486b62f63d9db52256 +EBUILD cool-retro-term-9999-r1.ebuild 1742 SHA256 a665519f2ddc318fef957205d87ee2d4b15fbcc3a024b69194f0ab167fa89aed SHA512 03da9477d448751243a518d4372c2f8d0af56bd402203ca974864514580416e51b85ae23dcbb19297a8594f0435b69539e22cf5f4a4463d3917db15691035a56 WHIRLPOOL 69ac22eaefa966722a8048721f30f8bdafc531d2f40f04f93e55507eb3a635bc3944e50a3967de099446224c73b5bd27d26b142031ea5a69b870c540d1f99cc1 +EBUILD cool-retro-term-9999.ebuild 1705 SHA256 834078f4d912affadf95b5892581aaa175dbe24d62042ff47198e59774b261fd SHA512 0ae3caa8f11ddabeb237ea3f919db62114559cd1e517357572e8a03d8482099b56e5b4580127b843f740fb0c2de471053f15b699a0d74107984b28ceed4464af WHIRLPOOL 30a579360512fcef4c22e9a753f50ab2e474ac1da7029dd60772ede95faf0ec4494d10a4c59a492b7e30a000f4fffd563542022c6888a624fb4cd5dd8c27ca46 diff --git a/x11-terms/cool-retro-term/cool-retro-term-1.0.0-r1.ebuild b/x11-terms/cool-retro-term/cool-retro-term-1.0.0-r1.ebuild new file mode 100644 index 0000000..4547fda --- /dev/null +++ b/x11-terms/cool-retro-term/cool-retro-term-1.0.0-r1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" + +inherit qmake-utils eutils + +SLOT="0" + +QT5_MODULE="qtbase" + +DESCRIPTION="A good-looking terminal emulator which mimics the old cathode ray tube display." + +HOMEPAGE="https://github.com/Swordfish90/" + +SRC_URI=" +${HOMEPAGE}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz +${HOMEPAGE}/qmltermwidget/archive/v0.1.0.tar.gz -> qmltermwidget-0.1.0.tar.gz +" +RESTRICT="primaryuri" + +LICENSE="GPL-2" + +KEYWORDS="~x86 ~amd64" + +IUSE="remember" + +DEPEND=" +>=dev-qt/qtcore-5.3.1 +>=dev-qt/qtquickcontrols-5.3.1[widgets] +>=dev-qt/qtdeclarative-5.3.1[localstorage] +>=dev-qt/qtgraphicaleffects-5.3.1 +" +src_prepare() { + einfo "Satisfying build-time dependency on QMLTermWidget by linking it into the source tree..." + rmdir ${WORKDIR}/${P}/qmltermwidget || die "Error deleting empty widget dir from source tree" + ln -s ${WORKDIR}/qmltermwidget-0.1.0 ${WORKDIR}/${P}/qmltermwidget || die "Error linking widget into source tree" + use remember && { + einfo "Applying 3rd party patch from GH PR #303" + epatch ${FILESDIR}/size_and_position.patch || die "could not apply patch" + } +} + +src_configure() { + einfo "Preparing targets..." + eqmake5 || die "Failed to configure" +} + +src_compile() { + einfo "Commencing compilation..." + emake || die "Failed to compile" +} + +src_install() { + into /usr/ + dobin ${S}/${PN} || die "Failed to install application binary" + insinto /usr/lib/qt5/qml/ + doins -r ${S}/qmltermwidget/QMLTermWidget || die "Failed to install QML imports" + for size in 32 64 128 256; do + doicon --size ${size} ${S}/app/icons/${size}x${size}/${PN}.png + done + domenu ${S}/cool-retro-term.desktop + dodoc ${S}/README.md || die "Failed to install README" +} + +pkg_postinst() { + eqawarn "Please report any code-related issues upstream!" + elog "This package lacks a man page for now. Please invoke \"${PN} -h\" if You need help!" + elog "Additional information can be obtained via \"bzcat /usr/share/doc/${PN}-${PV}/README.md.bz2\"" + elog "Icons are located under \"/usr/share/icons/${PN}/\"." +} diff --git a/x11-terms/cool-retro-term/cool-retro-term-1.0.0.ebuild b/x11-terms/cool-retro-term/cool-retro-term-1.0.0.ebuild new file mode 100644 index 0000000..8905a00 --- /dev/null +++ b/x11-terms/cool-retro-term/cool-retro-term-1.0.0.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" + +inherit qmake-utils eutils + +SLOT="0" + +QT5_MODULE="qtbase" + +DESCRIPTION="A good-looking terminal emulator which mimics the old cathode ray tube display." + +HOMEPAGE="https://github.com/Swordfish90/" + +SRC_URI=" +${HOMEPAGE}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz +${HOMEPAGE}/qmltermwidget/archive/v0.1.0.tar.gz -> qmltermwidget-0.1.0.tar.gz +" +RESTRICT="primaryuri" + +LICENSE="GPL-2" + +KEYWORDS="~x86 ~amd64" + +DEPEND=" +>=dev-qt/qtcore-5.3.1 +>=dev-qt/qtquickcontrols-5.3.1[widgets] +>=dev-qt/qtdeclarative-5.3.1[localstorage] +>=dev-qt/qtgraphicaleffects-5.3.1 +" +src_prepare() { + einfo "Satisfying build-time dependency on QMLTermWidget by linking it into the source tree..." + rmdir ${WORKDIR}/${P}/qmltermwidget || die "Error deleting empty widget dir from source tree" + ln -s ${WORKDIR}/qmltermwidget-0.1.0 ${WORKDIR}/${P}/qmltermwidget || die "Error linking widget into source tree" +} + +src_configure() { + einfo "Preparing targets..." + eqmake5 || die "Failed to configure" +} + +src_compile() { + einfo "Commencing compilation..." + emake || die "Failed to compile" +} + +src_install() { + into /usr/ + dobin ${S}/${PN} || die "Failed to install application binary" + insinto /usr/lib/qt5/qml/ + doins -r ${S}/qmltermwidget/QMLTermWidget || die "Failed to install QML imports" + insinto /usr/share/icons/${PN}/ + doins ${S}/app/icons/* || die "Failed to install icons" + dodoc ${S}/README.md || die "Failed to install README" +} + + pkg_postinst() { + eqawarn "Please report any code-related issues upstream!" + elog "This package lacks a man page for now. Please invoke \"${PN} -h\" if You need help!" + elog "Additional information can be obtained via \"bzcat /usr/share/doc/${PN}-${PV}/README.md.bz2\"" + elog "Icons are located under \"/usr/share/icons/${PN}/\"." + } diff --git a/x11-terms/cool-retro-term/cool-retro-term-9999-r1.ebuild b/x11-terms/cool-retro-term/cool-retro-term-9999-r1.ebuild new file mode 100644 index 0000000..344f849 --- /dev/null +++ b/x11-terms/cool-retro-term/cool-retro-term-9999-r1.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" + +inherit git-r3 qmake-utils eutils + +SLOT="0" + +QT5_MODULE="qtbase" + +DESCRIPTION="A good-looking terminal emulator which mimics the old cathode ray tube display." + +HOMEPAGE="https://github.com/Swordfish90/cool-retro-term" + +EGIT_REPO_URI="${HOMEPAGE}.git" +EGIT_CHECKOUT_DIR="${S}/src/" + +LICENSE="GPL-2" + +KEYWORDS="" + +DEPEND=" +>=dev-qt/qtcore-5.3.1 +>=dev-qt/qtquickcontrols-5.3.1[widgets] +>=dev-qt/qtdeclarative-5.3.1[localstorage] +>=dev-qt/qtgraphicaleffects-5.3.1 +" +src_unpack() { + git-r3_fetch || die "Failed to fetch" + git-r3_checkout || die "Failed to check out" +} + +src_configure() { + cd "${EGIT_CHECKOUT_DIR}" + einfo "Preparing targets..." + eqmake5 || die "Failed to configure" +} + +src_compile() { + cd "${EGIT_CHECKOUT_DIR}" + einfo "Commencing compilation..." + emake || die "Failed to compile" +} + +src_install() { + into /usr/ + dobin ${EGIT_CHECKOUT_DIR}/${PN} || die "Failed to install application binary" + insinto /usr/lib/qt5/qml/ + doins -r ${EGIT_CHECKOUT_DIR}/qmltermwidget/QMLTermWidget || die "Failed to install QML imports" + for size in 32 64 128 256; do + doicon --size ${size} ${EGIT_CHECKOUT_DIR}/app/icons/${size}x${size}/${PN}.png + done + domenu ${EGIT_CHECKOUT_DIR}/cool-retro-term.desktop + dodoc ${EGIT_CHECKOUT_DIR}/README.md || die "Failed to install README" +} + +pkg_postinst() { + eqawarn "Please report any code-related issues upstream!" + elog "This package lacks a man page for now. Please invoke \"${PN} -h\" if You need help!" + elog "Additional information can be obtained via \"bzcat /usr/share/doc/${PN}-${PV}/README.md.bz2\"" + elog "Icons are located under \"/usr/share/icons/${PN}/\"." +} diff --git a/x11-terms/cool-retro-term/cool-retro-term-9999.ebuild b/x11-terms/cool-retro-term/cool-retro-term-9999.ebuild new file mode 100644 index 0000000..3a7bec7 --- /dev/null +++ b/x11-terms/cool-retro-term/cool-retro-term-9999.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" + +inherit git-r3 qmake-utils eutils + +SLOT="0" + +QT5_MODULE="qtbase" + +DESCRIPTION="A good-looking terminal emulator which mimics the old cathode ray tube display." + +HOMEPAGE="https://github.com/Swordfish90/cool-retro-term" + +EGIT_REPO_URI="${HOMEPAGE}.git" +EGIT_CHECKOUT_DIR="${S}/src/" + +LICENSE="GPL-2" + +KEYWORDS="~x86 ~amd64" + +DEPEND=" +>=dev-qt/qtcore-5.3.1 +>=dev-qt/qtquickcontrols-5.3.1[widgets] +>=dev-qt/qtdeclarative-5.3.1[localstorage] +>=dev-qt/qtgraphicaleffects-5.3.1 +" +src_unpack() { + einfo "Tracking master HEAD - no release has been made yet." + git-r3_fetch || die "Failed to fetch" + git-r3_checkout || die "Failed to check out" +} + +src_configure() { + cd "${EGIT_CHECKOUT_DIR}" + einfo "Preparing targets..." + eqmake5 || die "Failed to configure" +} + +src_compile() { + cd "${EGIT_CHECKOUT_DIR}" + einfo "Commencing compilation..." + emake || die "Failed to compile" +} + +src_install() { + into /usr/ + dobin ${S}/src/${PN} || die "Failed to install application binary" + insinto /usr/lib/qt5/qml/ + doins -r ${S}/src/qmltermwidget/QMLTermWidget || die "Failed to install QML imports" + insinto /usr/share/icons/${PN}/ + doins ${S}/src/app/icons/* || die "Failed to install icons" + dodoc ${S}/src/README.md || die "Failed to install README" +} + + pkg_postinst() { + eqawarn "Please report any code-related issues upstream!" + elog "This package lacks a man page for now. Please invoke \"${PN} -h\" if You need help!" + elog "Additional information can be obtained via \"bzcat /usr/share/doc/${PN}-${PV}/README.md.bz2\"" + elog "Icons are located under \"/usr/share/icons/${PN}/\"." + } diff --git a/x11-terms/cool-retro-term/files/metadata.xml b/x11-terms/cool-retro-term/files/metadata.xml new file mode 100644 index 0000000..f512e8c --- /dev/null +++ b/x11-terms/cool-retro-term/files/metadata.xml @@ -0,0 +1,17 @@ + + + + Cool-retro-term is a terminal emulator which mimics the look and feel of old cathode ray tube screens. It has been designed to be eye-candy, customizable, and reasonably lightweight. It uses the konsole engine which is powerful and mature. This terminal emulator requires Qt 5.2 or higher to run. + + + tamas@gerczei.eu + Tamás Gérczei + This lame ebuild is provided as-is and exists only to extend availability to Gentoo. + + + Filippo Scognamiglio + flscogna@gmail.com + Swordfish90@GitHub + + https://github.com/Swordfish90/cool-retro-term/issues + diff --git a/x11-terms/cool-retro-term/files/size_and_position.patch b/x11-terms/cool-retro-term/files/size_and_position.patch new file mode 100644 index 0000000..6009b3d --- /dev/null +++ b/x11-terms/cool-retro-term/files/size_and_position.patch @@ -0,0 +1,100 @@ +diff --git a/app/main.cpp b/app/main.cpp +index b06c43b..0cf128f 100644 +--- a/app/main.cpp ++++ b/app/main.cpp +@@ -81,7 +81,12 @@ int main(int argc, char *argv[]) + importPathList.prepend(QCoreApplication::applicationDirPath() + "/../../../qmltermwidget"); + engine.setImportPathList(importPathList); + +- engine.load(QUrl("qrc:/main.qml")); ++ engine.load(QUrl(QStringLiteral ("qrc:/main.qml"))); ++ ++ if (engine.rootObjects().isEmpty()) { ++ qDebug() << "Cannot load QML interface"; ++ return EXIT_FAILURE; ++ } + + // Quit the application when the engine closes. + QObject::connect((QObject*) &engine, SIGNAL(quit()), (QObject*) &app, SLOT(quit())); +diff --git a/app/qml/ApplicationSettings.qml b/app/qml/ApplicationSettings.qml +index 2c645f6..d0f8beb 100644 +--- a/app/qml/ApplicationSettings.qml ++++ b/app/qml/ApplicationSettings.qml +@@ -33,6 +33,11 @@ QtObject{ + + // GENERAL SETTINGS /////////////////////////////////////////////////////// + ++ property int x: 100 ++ property int y: 100 ++ property int width: 1024 ++ property int height: 768 ++ + property bool fullscreen: false + property bool showMenubar: true + +@@ -211,6 +216,10 @@ QtObject{ + function composeSettingsString(){ + var settings = { + fps: fps, ++ x: x, ++ y: y, ++ width: width, ++ height: height, + windowScaling: windowScaling, + showTerminalSize: showTerminalSize, + fontScaling: fontScaling, +@@ -291,6 +300,11 @@ QtObject{ + fps = settings.fps !== undefined ? settings.fps: fps + windowScaling = settings.windowScaling !== undefined ? settings.windowScaling : windowScaling + ++ x = settings.x !== undefined ? settings.x : x ++ y = settings.y !== undefined ? settings.y : y ++ width = settings.width !== undefined ? settings.width : width ++ height = settings.height !== undefined ? settings.height : height ++ + fontNames = settings.fontNames !== undefined ? settings.fontNames : fontNames + fontScaling = settings.fontScaling !== undefined ? settings.fontScaling : fontScaling + +diff --git a/app/qml/main.qml b/app/qml/main.qml +index 7a201a1..ed0801c 100644 +--- a/app/qml/main.qml ++++ b/app/qml/main.qml +@@ -28,10 +28,29 @@ ApplicationWindow{ + + width: 1024 + height: 768 ++ ++ // Save window properties automatically ++ onXChanged: appSettings.x = x ++ onYChanged: appSettings.y = y ++ onWidthChanged: appSettings.width = width ++ onHeightChanged: appSettings.height = height ++ ++ // Load saved window geometry and show the window ++ Component.onCompleted: { ++ appSettings.handleFontChanged(); ++ ++ x = appSettings.x ++ y = appSettings.y ++ width = appSettings.width ++ height = appSettings.height ++ ++ visible = true ++ } ++ + minimumWidth: 320 + minimumHeight: 240 + +- visible: true ++ visible: false + + property bool fullscreen: appSettings.fullscreen + onFullscreenChanged: visibility = (fullscreen ? Window.FullScreen : Window.Windowed) +@@ -140,7 +159,6 @@ ApplicationWindow{ + terminalSize: terminalContainer.terminalSize + } + } +- Component.onCompleted: appSettings.handleFontChanged(); + onClosing: { + // OSX Since we are currently supporting only one window + // quit the application when it is closed.