José Miguel Sánchez García writes: > Add libtermkey (I hope it's finally correct!) Hi José, Thanks for your contribution! The patch looks mostly good, see comments inline. > > -- > José Miguel Sánchez García > From 8ad5713a25aeb40b9021b30beba7b11d3cf432df Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Jos=C3=A9=20Miguel=20S=C3=A1nchez=20Garc=C3=ADa?= > > Date: Mon, 5 Dec 2016 15:12:56 +0100 > Subject: [PATCH] gnu: Add libtermkey. > > --- > gnu/packages/libtermkey.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 54 insertions(+) > create mode 100644 gnu/packages/libtermkey.scm I think this should go in 'terminals.scm' instead of a new file. We try to categorize related programs together to keep the file count low. > diff --git a/gnu/packages/libtermkey.scm b/gnu/packages/libtermkey.scm > new file mode 100644 > index 0000000..e3280ca > --- /dev/null > +++ b/gnu/packages/libtermkey.scm > @@ -0,0 +1,54 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright © 2016 José Miguel Sánchez García > +;;; > +;;; 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 libtermkey) > + #:use-module (guix packages) > + #:use-module (guix download) > + #:use-module (guix build-system gnu) > + #:use-module (guix licenses) > + #:use-module (gnu packages autotools) > + #:use-module (gnu packages ncurses) > + #:use-module (gnu packages pkg-config)) > + > +(define-public libtermkey > + (package > + (name "libtermkey") > + (version "0.18") > + (source (origin > + (method url-fetch) > + (uri (string-append "http://www.leonerd.org.uk/code/" > + name "/" name "-" version ".tar.gz")) > + (sha256 > + (base32 "09ir16kaarv55mnc4jn2sqnjjhzpb1aha51wpd9ayif887g4d5r3")))) > + (build-system gnu-build-system) > + (arguments '( Please move the "'(" to the next line so that the indentation matches the start of the expression. Or move #:make-flags one line up and re-indent the rest of the block, but I think starting the 'arguments' on a new line looks better. > + #:make-flags (list > + "CC=gcc" > + (string-append "PREFIX=" (assoc-ref %outputs "out"))) > + #:phases (modify-phases %standard-phases > + (delete 'configure)) > + #:tests? #f)) > + (native-inputs `(("libtool", libtool) > + ("ncurses", ncurses) > + ("pkg-config", pkg-config))) Are any of these inputs used at runtime and not just required for building? If so, they should be a regular 'input' and not a 'native-input'. ncurses is usually linked as a library and thus needs to match the target architecture. See the 'package' reference in the Guix manual for more information: https://www.gnu.org/software/guix/manual/guix.html#package-Reference Guix will often automatically detect whether inputs are runtime dependencies. You can run `guix gc -R $(./pre-inst-env guix build libtermkey)` to check which inputs are referenced by the built product. > + (synopsis "Keyboard entry processing libary for terminal-based programs") ^ missing 'r' :-) > + (description > + "Libtermkey handles all the necessary logic to recognise special keys, UTF-8 > +combining, and so on, with a simple interface.") > + (home-page "http://www.leonerd.org.uk/code/libtermkey") > + (license expat))) The rest LGTM. Can you send an updated patch for 'terminals.scm' addressing the above points? Thanks!