From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marius Bakke Subject: Re: [PATCH] gnu: Add vis, libtermkey and lua-lpeg. Date: Wed, 07 Dec 2016 23:23:01 +0100 Message-ID: <878trrz8e2.fsf@kirby.i-did-not-set--mail-host-address--so-tickle-me> References: <3a2f94626f0729772aaf3fc1fcb16cf1@openmailbox.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:38399) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cEkcF-0002oY-SG for guix-devel@gnu.org; Wed, 07 Dec 2016 17:23:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cEkcC-0001Jy-Bs for guix-devel@gnu.org; Wed, 07 Dec 2016 17:23:07 -0500 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:55343) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cEkcC-0001Jo-20 for guix-devel@gnu.org; Wed, 07 Dec 2016 17:23:04 -0500 In-Reply-To: <3a2f94626f0729772aaf3fc1fcb16cf1@openmailbox.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: =?utf-8?Q?Jos=C3=A9?= Miguel =?utf-8?Q?S=C3=A1nchez_Garc=C3=ADa?= , guix-devel@gnu.org --=-=-= Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" --==-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Jos=C3=A9 Miguel S=C3=A1nchez Garc=C3=ADa writes: > Let's see if these patches get accepted now! I think I've taken into=20 > account > every single detail. > > These patches add three packages: vis, lua and libtermkey. vis depends=20 > on lua > and libtermkey, so add them before adding vis. > > vis is being added in a new file, gnu/text-editors.scm , as requested=20 > here > Thanks for these patches! I've committed the first two packages with some minor edits: * Indentation ran through emacs (e.g. M-x indent-region). We follow emacs indentation rules religiously. :-) * Updated commit messages to match the GNU changelog style. * libtermkey and lua-lpeg actually had tests. 'gnu-build-system' runs "make check" by default, whereas they expected "make test". This can be overridden with the #:test-target argument. * Avoided hard coding the lua version in lpeg install path. 'vis' was a little more tricky. On startup it could not find the "visrc" file, which you probably had in ~/.config or similar. I solved that by adding a "native-search-path" for VIS_PATH so Guix sets up this variable when installed (this seems to be an undocumented feature of Guix :-)). In a perfect world, the same trick could be used for LUA_PATH and LUA_CPATH to discover the optional "lpeg" module, but they don't seem to behave like normal PATH specifications and requires a pattern match, which in turn appears to get ignored by guix' search-path-specification. Instead I wrapped the binary with the lpeg paths. This also seems to have fixed the problem finding themes. Can you try the attached patch and see if that works for you, especially if you have a custom config? --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAlhIi8UACgkQoqBt8qM6 VPo0aAgAuA2X6aJxJfFqcf7iaeYppG6ASRdJIpWFGiPOW05yjO8EAqco/J2D1FoW boxElYPizZaNx9USWQcBx5w0W877b8N8vJrAsfJ685Ajafn2e9Dx+u/WoxfpMUVA uVUuy1ljHpH2rFn5ci0A39wuvXQ5FwadvmnFK9MzoI9wgGKhaIyHiID1EHH0fDAq Z3A6DMeF0eBB4aRO0qEygQBnZ4RItQ+5iiSgCmAIMP9ZaNIqUHnHw4zEupDzpbWO u5uN+1S8T4j08BXxhVOOD6BOwtWYfmWJ8M+XI7iden1irfVtQ8v0imSo6KiZ2ZQK 7qdExWSircpWb+4kFORf2G5moV7V6Q== =wQnA -----END PGP SIGNATURE----- --==-=-=-- --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-vis.patch Content-Transfer-Encoding: quoted-printable >From 3fbbe7d6c9de4cde01f2e6aa2b7df96b067e33d7 Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?Jos=3DC3=3DA9=3D20Miguel=3D20S=3DC3=3DA1nchez=3D20Garc=3D= C3=3DADa?=3D Date: Wed, 7 Dec 2016 17:53:22 +0100 Subject: [PATCH] gnu: Add vis. * gnu/packages/text-editors.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Co-authored-by: Marius Bakke --- gnu/local.mk | 1 + gnu/packages/text-editors.scm | 75 +++++++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 76 insertions(+) create mode 100644 gnu/packages/text-editors.scm diff --git a/gnu/local.mk b/gnu/local.mk index 1f98513ca..e8137a538 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -359,6 +359,7 @@ GNU_SYSTEM_MODULES =3D \ %D%/packages/texinfo.scm \ %D%/packages/tex.scm \ %D%/packages/textutils.scm \ + %D%/packages/text-editors.scm \ %D%/packages/time.scm \ %D%/packages/tls.scm \ %D%/packages/tmux.scm \ diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm new file mode 100644 index 000000000..4b047f3d7 --- /dev/null +++ b/gnu/packages/text-editors.scm @@ -0,0 +1,75 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2016 Jos=C3=A9 Miguel S=C3=A1nchez Garc=C3=ADa +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages text-editors) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages terminals) + #:use-module (gnu packages lua)) + +(define-public vis + (package + (name "vis") + (version "0.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/martanne/" + name "/archive/v" version ".tar.gz")) + (sha256 + (base32 "0bbmkblpndc53pvr8xcfywdn8g351yxfj8c46zp5d744c3bq2n= ry")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags '("CFLAGS=3D-pie") + #:tests? #f ; No tests. + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-binary + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lpeg (assoc-ref inputs "lua-lpeg")) + (lua-version ,(version-major+minor (package-version lu= a))) + (LUA_PATH (string-append lpeg "/share/lua/" + lua-version "/?.lua")) + (LUA_CPATH (string-append lpeg "/lib/lua/" + lua-version "/?.so"))) + (wrap-program (string-append out "/bin/vis") + `("LUA_PATH" ":" prefix (,LUA_PATH)) + `("LUA_CPATH" ":" prefix (,LUA_CPATH))) + #t)))))) + (native-search-paths + (list (search-path-specification + (variable "VIS_PATH") + (files '("share/vis"))))) + (inputs `(("lua", lua) + ("ncurses", ncurses) + ("libtermkey", libtermkey) + ("lua-lpeg", lua-lpeg))) + (synopsis "Vim-like text editor") + (description + "Vis aims to be a modern, legacy free, simple yet efficient vim-like = text +editor. It extends vim's modal editing with built-in support for multiple +cursors/selecctions and combines it with sam's structural regular expressi= on +based command language.") + (home-page "https://github.com/martanne/vis") + (license (list license:isc ; Main distribution. + license:public-domain ; map.[ch] + license:expat)))) ; lexers and libutf.[ch] --=20 2.11.0 --=-=-=--