From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id OKLwG5Scp2GvDQAAgWs5BA (envelope-from ) for ; Wed, 01 Dec 2021 17:02:28 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id SBaUF5Scp2EFawAAbx9fmQ (envelope-from ) for ; Wed, 01 Dec 2021 16:02:28 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 306F628F7C for ; Wed, 1 Dec 2021 17:02:28 +0100 (CET) Received: from localhost ([::1]:50716 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1msS3v-0008UT-9v for larch@yhetil.org; Wed, 01 Dec 2021 11:02:27 -0500 Received: from eggs.gnu.org ([209.51.188.92]:56456) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1msS3Z-0008Qf-BH for guix-patches@gnu.org; Wed, 01 Dec 2021 11:02:12 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:33770) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1msS3X-0007wY-3O for guix-patches@gnu.org; Wed, 01 Dec 2021 11:02:04 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1msS3X-0007Fz-1M for guix-patches@gnu.org; Wed, 01 Dec 2021 11:02:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#52189] [PATCH] gnu: Add notcurses Resent-From: Nicolas Goaziou Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 01 Dec 2021 16:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52189 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 52189@debbugs.gnu.org Cc: blake@nonconstructivism.com X-Debbugs-Original-To: Blake Shaw via Guix-patches via X-Debbugs-Original-Cc: 52189@debbugs.gnu.org, Blake Shaw Received: via spool by 52189-submit@debbugs.gnu.org id=B52189.163837447725711 (code B ref 52189); Wed, 01 Dec 2021 16:02:02 +0000 Received: (at 52189) by debbugs.gnu.org; 1 Dec 2021 16:01:17 +0000 Received: from localhost ([127.0.0.1]:45313 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msS2n-0006gC-AQ for submit@debbugs.gnu.org; Wed, 01 Dec 2021 11:01:17 -0500 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:49061) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msS2k-0006ZQ-Vy for 52189@debbugs.gnu.org; Wed, 01 Dec 2021 11:01:15 -0500 Received: (Authenticated sender: admin@nicolasgoaziou.fr) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 58158FF80C; Wed, 1 Dec 2021 16:01:08 +0000 (UTC) From: Nicolas Goaziou References: <6a6031ead6f9f61bc8eed976374638089efdaf3f.1638231894.git.blake@nonconstructivism.com> Date: Wed, 01 Dec 2021 17:01:07 +0100 In-Reply-To: <6a6031ead6f9f61bc8eed976374638089efdaf3f.1638231894.git.blake@nonconstructivism.com> (Blake Shaw via Guix-patches via's message of "Tue, 30 Nov 2021 07:24:54 +0700") Message-ID: <87r1awxqkc.fsf@nicolasgoaziou.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1638374548; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post; bh=V0jVZTkWIpqbLMsq3HH1zvpQWcmOuy/kF7jfgJez8JY=; b=E6pvw/gchOzi2AWZPwpUHH3pQFdgkLQtTmO7py/SSGHqbMRIisvhSBCkqHah5UhBFxASSD tQZRq/1lMyheALPxhsZVsD+BO6yTwEtIwmMrDQVX9e+cDzPZGUKq4RfiXt0Zz8oPSa6dW5 5LBNR6rP/dTRIQBPMogfHoV+ySXr4V43NCS1hW5p6LAkBeYONomEVClatwQs3BbzdV/5pP 8Y1JLYK/EdIhriZl4RalLqxhEfxQM+szBWpTM3+5afbnUUMD1nWlSX3fLvmYZzEHnMZnzx 4cYjPM0xuY7DkTmsuqOJKcJCpZGA18scO4q8hZVQG7hpsSeIzuQE4cIRb1eQ7Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1638374548; a=rsa-sha256; cv=none; b=RXNFyzuf9fTxha9hrz5SXjDnCN0PmEEWmx67CSGlok04GONSmf6RmDraiGLdFSyMQxkSJh IlWFh5ZZxIgmZt9e8IKXSjgBl7xiUzKQoNFn+FkQ8XuP1Ox5kbXaKLta35/6SCIKm8KM4R w4F+7AHTVPUDQhlYCLZSFAvJwjcHfXPWLpK8RhO54U70deXY5LL/f3UNZXg3mtfYs/jBR7 rAu23CwAGKYiZJJHL6wVrIUEeBWX2K3JKOtltsSuBQeg+++eafQ9vio/5bQQh09Ts+ahIT nhCLRBHMXM92YXeWynD1e21z8ato/aN352tTim77lAqPBKJkLMOWvivqMogKAw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -3.01 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 306F628F7C X-Spam-Score: -3.01 X-Migadu-Scanner: scn0.migadu.com X-TUID: GS9ZKeC6cdz5 Hello, Blake Shaw via Guix-patches via writes: Thank you. Some comments follow. > gnu/packages/notcurses.scm | 71 ++++++++++++++++++++++++++++++++++++++ I don't think we should create a new file just for this package. Also, new files need to be registered in "gnu/local.mk". Maybe this should go into... "ncurses.scm" (!). At a later time, we may rename ncurse.scm into tui.scm or some such. > +(define-public notcurses > + (let ((commit "d15eb6003cbd65f11163916261cf6cd5600c77fa")) Upstream use tags. It might be more readable. You'll need a variable for the code name, tho. In any case, a comment is warranted explaining the situation. > + (sha256 > + (base32 > + "10jf6iai1r0xafrgaz978y9bqlaw1gvd11gc0yynwwp6rcs97g17")))) Nitpick: string should go on the same line as base32. > + (build-system cmake-build-system) > + (arguments > + `(#:tests? #f > + #:build-type "-DVAR=val" Indentation is off. You may want to use "etc/indent-code.el" script. The build-type value above is suspicious. > + #:make-flags > + (list > + (string-append "prefix=" > + (assoc-ref %outputs "out")) > + "CC=gcc") This is not cross-compilation friendly. The above should be: (list ,(string-append "CC=" (cc-for-target)) (string-append "prefix=" ...)) > + #:configure-flags > + (map (lambda (s) > + (string-append "-D" s)) > + '("USE_CPP=off" "USE_COVERAGE=off" > + "USE_DOXYGEN=off" "USE_DOCTEST=off" > + "USE_GPM=off" "USE_MULTIMEDIA=ffmpeg" > + "USE_PANDOC=off" "FSG_BUILD=ON")) > + #:phases > + (modify-phases %standard-phases > + (add-before 'build 'patch-makefile-shell > + (lambda _ > + (setenv "HOME" "/tmp"))) Is the phase above required for tests? If so, could you add a comment about it? > + (add-before 'build 'set-prefix-in-makefile > + (lambda* (#:key outputs #:allow-other-keys) > + (let ((out (assoc-ref outputs "out"))) > + (substitute* "Makefile" > + (("PREFIX =.*") > + (string-append "PREFIX = " out "\n"))) > + #true)))))) The trailing #true is not required anywore. You can drop it. > + (native-inputs > + `(("ncurses" ,ncurses) > + ("gcc-toolchain" ,gcc-10) Could you explain why gcc-10 must be used? > + ("pkg-config" ,pkg-config))) > + (inputs > + `(("zlib" ,zlib) > + ("ffmpeg" ,ffmpeg) > + ("libunistring" ,libunistring))) Pleas order inputs alphabetically. > + (synopsis "Not-ncurses: A library facilitating complex TUIs on modern terminals") I suggest: "Library for building textual user interfaces on modern terminals" > + (description "Supporting vivid colors, multimedia, threads, & Unicode to the max.") The description is not terribly useful, and sounds like an ad. Maybe: Notcurses is a library for building complex, textual user interfaces (TUIs) on modern terminal emulators. It does not use Ncurses, though it does make use of libtinfo from that package. The second sentence above may even be dropped. Up to you. Could you send an updated patch? Regards, -- Nicolas Goaziou