From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 26 06:45:45 2018 Received: (at submit) by debbugs.gnu.org; 26 Dec 2018 11:45:45 +0000 Received: from localhost ([127.0.0.1]:36611 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gc7d6-0000ij-E4 for submit@debbugs.gnu.org; Wed, 26 Dec 2018 06:45:45 -0500 Received: from eggs.gnu.org ([208.118.235.92]:47798) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gc7d3-0000hx-OX for submit@debbugs.gnu.org; Wed, 26 Dec 2018 06:45:38 -0500 Received: from lists.gnu.org ([208.118.235.17]:41282) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gc7cy-0002Uk-D9 for submit@debbugs.gnu.org; Wed, 26 Dec 2018 06:45:32 -0500 Received: from eggs.gnu.org ([208.118.235.92]:37854) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gc7cx-0000V4-23 for guix-patches@gnu.org; Wed, 26 Dec 2018 06:45:32 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gc7ct-0002RK-Sv for guix-patches@gnu.org; Wed, 26 Dec 2018 06:45:31 -0500 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:38486) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gc7ct-0002OV-3e for guix-patches@gnu.org; Wed, 26 Dec 2018 06:45:27 -0500 Received: by mail-wm1-x344.google.com with SMTP id m22so15131707wml.3 for ; Wed, 26 Dec 2018 03:45:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=user-agent:from:to:subject:date:message-id:mime-version; bh=VKSH69Bf2LAfPRxCtLcO6mghjX/BbUvGsw5H52j+CkY=; b=hj3xSxhK19389f49Pb1gORppJBXSS1a1sEq3KfAAQngPpypct/ooBiSNehvP4zr338 98o/hbeXKgGiRHoSWTfG0zSplvF4hjcYv4MJjhJQFLRWdaQ5Kl4jQ3yde9CglVuKbtzn SL3QFkNXRi+EIlxrPxlvy6irACVPvzIwxut8nW/LaD8C4KgW8tTym6xE3h03LqTmHFnK D3GcB4aGOXyi1UTwLzfBuSpKECQLpC4ColTCNURumo/wTaGvONdeTrZC9s4SRg0pZHQu DkSYp3hvAyrVsJg5AIPCdG/4wEX7AyHrO/zGfarPsZZeyTMgFQvTEra4pPkSm18ejDOK CPEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:user-agent:from:to:subject:date:message-id :mime-version; bh=VKSH69Bf2LAfPRxCtLcO6mghjX/BbUvGsw5H52j+CkY=; b=s1SF51HzCiE71M/0OuLKYs36UXAmC4X31bblELhrrSPzxkBqItiPDCfQvtsmCi1z55 2rEpJ4PC/bIsd91pmLnI6U1KyBhAqlX8lRdy+K72KzhfDwcY0hYIBpcYpopkEsVVPDxG WeYcQ3/jziZaz/MGY6lKKz4vZo47TJh3oaJDceOgNN4EIsN7MtiabLyicphVNDzARUVx 3sbaCoTJSM/DENVRoRfV/HV1PNWNW9EFuBi3mA25vpcVu/ZaeExFCkJ19tCUCZP2W7Wr rgTfAdca7oSO8zQUvbD5h5xb48jQJ/Q964bgdyYqlP0JYdTdSsnzbCWu+z1RKou/iahc Zgzw== X-Gm-Message-State: AA+aEWbusxw8fBa16WSbUG6cvAgXNs/X5boGjtZ9/EOWPcpPiY8VwSLk 00J+gc20mV5aH9znRGJ/pRToYanL X-Google-Smtp-Source: AFSGD/WwH002zQWk9QS/FHzTSfS6Y7DvNFvytf1TQQ/OqlGXIRnv9QItBBTQCpWa+X95n8UVdq6ofg== X-Received: by 2002:a1c:83c8:: with SMTP id f191mr18002750wmd.134.1545824722909; Wed, 26 Dec 2018 03:45:22 -0800 (PST) Received: from glht-x240.gmail.com ([92.184.108.235]) by smtp.gmail.com with ESMTPSA id s66sm22130436wmf.34.2018.12.26.03.45.20 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 26 Dec 2018 03:45:21 -0800 (PST) User-agent: mu4e 1.0; emacs 26.1 From: Gabriel Hondet To: guix-patches@gnu.org Subject: [PATCH] gnu: Add kitty. Date: Wed, 26 Dec 2018 12:41:58 +0100 Message-ID: <87tvj0wlyt.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable * gnu/packages/terminals.scm (kitty): New variable. =2D-- gnu/packages/terminals.scm | 104 +++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 369e79bf5..223bc3684 100644 =2D-- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -11,6 +11,7 @@ ;;; Copyright =C2=A9 2017 Petter ;;; Copyright =C2=A9 2018 Hartmut Goebel ;;; Copyright =C2=A9 2018 Arun Isaac +;;; Copyright =C2=A9 2018 Gabriel Hondet ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,13 +42,16 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages check) + #:use-module (gnu packages compression) #:use-module (gnu packages docbook) + #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) + #:use-module (gnu packages image) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) @@ -900,3 +904,103 @@ per-line fullscreen terminal rendering, and keyboard = input event reporting.") share your terminal with other users over the Internet. tmate is a fork of tmux.") (license license:isc))) + +(define-public kitty + (package + (name "kitty") + (version "0.13.1") + (home-page "https://sw.kovidgoyal.net/kitty/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kovidgoyal/kitty.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1j24zjasdh48z7majfpqr71n1wn5a9688wsmmqn26v8kfb68pqs4")) + (modules '((guix build utils))) + (snippet + '(begin + ;; patch needed as sphinx-build is used as a python script + ;; whereas the guix package uses a bash script launching the + ;; python script + (substitute* "docs/conf.py" + (("(from kitty.constants import str_version)" kitty-imp) + (string-append "sys.path.append(\"..\")\n" kitty-imp))) + (substitute* "docs/Makefile" + (("^SPHINXBUILD[[:space:]]+=3D (python3.*)$") + "SPHINXBUILD =3D sphinx-build\n")))))) + (build-system gnu-build-system) + (inputs + `(("python" ,python) + ("harfbuzz" ,harfbuzz) + ("zlib" ,zlib) + ("libpng" ,libpng) + ("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("pygments" ,python2-pygments))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("libxrandr" ,libxrandr) + ("libdbus" ,dbus) + ("libxcursor" ,libxcursor) + ("libxi" ,libxi) + ("libxinerama" ,libxinerama) + ("libgl1-mesa" ,mesa) + ("libxkbcommon" ,libxkbcommon) + ("sphinx" ,python-sphinx) + ("ncurses" ,ncurses) ;; for tic command + ("wayland-protocols" ,wayland-protocols))) + (arguments + '(#:phases (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (invoke "python3" "setup.py" "linux-package"))) + (replace 'check + (lambda _ + (invoke "python3" "setup.py" "test"))) + (add-before 'install 'rm-pycache + ;; created python cache __pycache__ are non determinis= tic + (lambda _ + (let ((pycaches (find-files "linux-package/" + "__pycache__" + #:directories? #t))) + (map delete-file-recursively pycaches)))) + (replace 'install + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (obin (string-append out "/bin")) + (olib (string-append out "/lib")) + (oshare (string-append out "/share"))) + (begin + (copy-recursively "linux-package/bin" obin) + (copy-recursively "linux-package/share" oshare) + (copy-recursively "linux-package/lib" olib) + #t))))))) + (synopsis "Fast, featureful, GPU based terminal emulator") + (description "Kitty, the fast, featureful, GPU based terminal emulator +@itemize @bullet +@item Offloads rendering to the GPU for lower system load and buttery smoo= th +scrolling. Uses threaded rendering to minimize input latency. +@item Supports all modern terminal features: graphics (images), unicode, +true-color, OpenType ligatures, mouse protocol, focus tracking, bracketed +paste and several new terminal protocol extensions. +@item Supports tiling multiple terminal windows side by side in different +layouts without needing to use an extra program like tmux +@item Can be controlled from scripts or the shell prompt, even over SSH. +@item Has a framework for Kittens, small terminal programs that can be use= d to +extend kitty's functionality. For example, they are used for Unicode inpu= t, +Hints and Side-by-side diff. +@item Supports startup sessions which allow you to specify the window/tab +layout, working directories and programs to run on startup. +@item Cross-platform: kitty works on Linux and macOS, but because it uses = only +OpenGL for rendering, it should be trivial to port to other Unix-like +platforms. +@item Allows you to open the scrollback buffer in a separate window using +arbitrary programs of your choice. This is useful for browsing the history +comfortably in a pager or editor. +@end itemize") + (license license:gpl3+))) =2D-=20 2.20.1 --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE5ercJXBcjd3P1FcAMbyBBfZZ1CUFAlwjacoACgkQMbyBBfZZ 1CX0UhAAkRzofo0lqOjp7/Gu+8q0LvQOGnWzLHFtzPIRQ7csFx/VPh4yxkY7ogSm tDmvmhQgXE0Q0qmtE0O0YnbvjAesK3xmJFST9XSJuDoivX20Ehnnc1z4ls7oq9Fq 9sxaXA3Awn35TzSquYEcYjwGVaF2r7o7HAVwGQckGbYwgynBsf87a8ZLC6AN6E+2 fyHVYOInwNnx8uwItfDxp67yTUcC38dJobP1as7xf7YycuejenfEtU6dpKbdsOgp ZU1bukdT+iMnxj6qt0Yr2v6ISwp2KKp9zM5YhbN3+PlFgW1ceGY2zvVj2Nsdk8Mu xC6YISDce/oVAbO8WjSV2wqQfeQ3+uwBDyXLwPkPgulFmkr+8oao7PM0KHzt5hdN hGMJWaYngqUQW2WmbBKgKGkZcGVmMAdFrZFD6TNJh6+eLq5A8tD+zDWDD2IgRsQm kdTHITm2ksr3TuN7vBzRJgNH50FufZ9lDpkz4Zw31447gQn5BoegCNSIjPVso2BA Rfo+rnrDBHg5QPxM34DdEy793shpX3iucLna2W8qciy2cS6ot+XAltU1nnCD7MQm jPCe2sB6MDNwZy7pMUSzRultUhHr0zHw6pOWH9TITFYopKLlUdeYY1BbANFSavUX lb1u6B5wVaa3s+x1p5KR6O4HuqSll9yVhLRg8b7odw1YuNpgBhM= =rj3A -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 06 15:12:28 2019 Received: (at 33877-done) by debbugs.gnu.org; 6 Jan 2019 20:12:28 +0000 Received: from localhost ([127.0.0.1]:49030 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ggEma-00062d-HF for submit@debbugs.gnu.org; Sun, 06 Jan 2019 15:12:28 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:39820) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ggEmW-00062T-CA for 33877-done@debbugs.gnu.org; Sun, 06 Jan 2019 15:12:25 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 852AB1281; Sun, 6 Jan 2019 21:12:23 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ACNpTm9naf8A; Sun, 6 Jan 2019 21:12:22 +0100 (CET) Received: from ribbon (unknown [IPv6:2a01:e0a:1d:7270:af76:b9b:ca24:c465]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 68E73FA1; Sun, 6 Jan 2019 21:12:22 +0100 (CET) From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Gabriel Hondet Subject: Re: [bug#33877] [PATCH] gnu: Add kitty. References: <87tvj0wlyt.fsf@gmail.com> Date: Sun, 06 Jan 2019 21:12:21 +0100 In-Reply-To: <87tvj0wlyt.fsf@gmail.com> (Gabriel Hondet's message of "Wed, 26 Dec 2018 12:41:58 +0100") Message-ID: <877efhzgt6.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 33877-done Cc: 33877-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello, Gabriel Hondet skribis: > * gnu/packages/terminals.scm (kitty): New variable. Applied! I took the liberty to make the small changes below; let me know if anything is unclear. Thanks, Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 223bc3684c..f6f3845070 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -931,7 +931,8 @@ tmux.") (string-append "sys.path.append(\"..\")\n" kitty-imp))) (substitute* "docs/Makefile" (("^SPHINXBUILD[[:space:]]+= (python3.*)$") - "SPHINXBUILD = sphinx-build\n")))))) + "SPHINXBUILD = sphinx-build\n")) + #t)))) (build-system gnu-build-system) (inputs `(("python" ,python) @@ -968,37 +969,34 @@ tmux.") (let ((pycaches (find-files "linux-package/" "__pycache__" #:directories? #t))) - (map delete-file-recursively pycaches)))) + (for-each delete-file-recursively pycaches) + #t))) (replace 'install (lambda _ (let* ((out (assoc-ref %outputs "out")) (obin (string-append out "/bin")) (olib (string-append out "/lib")) (oshare (string-append out "/share"))) - (begin - (copy-recursively "linux-package/bin" obin) - (copy-recursively "linux-package/share" oshare) - (copy-recursively "linux-package/lib" olib) - #t))))))) + (copy-recursively "linux-package/bin" obin) + (copy-recursively "linux-package/share" oshare) + (copy-recursively "linux-package/lib" olib) + #t)))))) (synopsis "Fast, featureful, GPU based terminal emulator") - (description "Kitty, the fast, featureful, GPU based terminal emulator -@itemize @bullet + (description "Kitty is a fast and featureful GPU-based terminal emulator: +@itemize @item Offloads rendering to the GPU for lower system load and buttery smooth scrolling. Uses threaded rendering to minimize input latency. @item Supports all modern terminal features: graphics (images), unicode, true-color, OpenType ligatures, mouse protocol, focus tracking, bracketed paste and several new terminal protocol extensions. @item Supports tiling multiple terminal windows side by side in different -layouts without needing to use an extra program like tmux +layouts without needing to use an extra program like tmux. @item Can be controlled from scripts or the shell prompt, even over SSH. @item Has a framework for Kittens, small terminal programs that can be used to extend kitty's functionality. For example, they are used for Unicode input, -Hints and Side-by-side diff. +hints, and side-by-side diff. @item Supports startup sessions which allow you to specify the window/tab layout, working directories and programs to run on startup. -@item Cross-platform: kitty works on Linux and macOS, but because it uses only -OpenGL for rendering, it should be trivial to port to other Unix-like -platforms. @item Allows you to open the scrollback buffer in a separate window using arbitrary programs of your choice. This is useful for browsing the history comfortably in a pager or editor. --=-=-=-- From unknown Fri Sep 05 20:37:11 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 04 Feb 2019 12:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator