From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id oAiRKjblsF4IUgAA0tVLHw (envelope-from ) for ; Tue, 05 May 2020 04:01:58 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id ryPaBULlsF6XCAAAbx9fmQ (envelope-from ) for ; Tue, 05 May 2020 04:02:10 +0000 Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:470:142::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 CB52B94454B for ; Tue, 5 May 2020 04:02:07 +0000 (UTC) Received: from localhost ([::1]:33850 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jVomV-0007sr-3b for larch@yhetil.org; Tue, 05 May 2020 00:02:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39174) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jVomQ-0007sk-TH for guix-patches@gnu.org; Tue, 05 May 2020 00:02:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51110) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jVomQ-0007uy-Io for guix-patches@gnu.org; Tue, 05 May 2020 00:02:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jVomQ-0005gR-Ey for guix-patches@gnu.org; Tue, 05 May 2020 00:02:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#41040] [PATCH] Package Definition for QDirStat Resent-From: Jack Hill Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 05 May 2020 04:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41040 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Thovthe Cc: 41040@debbugs.gnu.org Received: via spool by 41040-submit@debbugs.gnu.org id=B41040.158865131821837 (code B ref 41040); Tue, 05 May 2020 04:02:02 +0000 Received: (at 41040) by debbugs.gnu.org; 5 May 2020 04:01:58 +0000 Received: from localhost ([127.0.0.1]:34423 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jVom8-0005ft-AV for submit@debbugs.gnu.org; Tue, 05 May 2020 00:01:58 -0400 Received: from minsky.hcoop.net ([104.248.1.95]:37142) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jVom4-0005fb-Fo for 41040@debbugs.gnu.org; Tue, 05 May 2020 00:01:43 -0400 Received: from marsh.hcoop.net ([45.55.52.66]) by minsky.hcoop.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1jVoly-0002CC-7P; Tue, 05 May 2020 00:01:34 -0400 Date: Tue, 5 May 2020 00:01:33 -0400 (EDT) From: Jack Hill X-X-Sender: jackhill@marsh.hcoop.net In-Reply-To: <27uwM7nMqpAz-RfKtxXzIOJWs0UnmDO3vqxoqkN1VeXR7GHQJTCgM5B0f8bCMuG2y5QsbCDj_AScqxM-4c1NO5YTf-ZAg3psDt-_FC27LJI=@protonmail.com> Message-ID: References: <27uwM7nMqpAz-RfKtxXzIOJWs0UnmDO3vqxoqkN1VeXR7GHQJTCgM5B0f8bCMuG2y5QsbCDj_AScqxM-4c1NO5YTf-ZAg3psDt-_FC27LJI=@protonmail.com> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: multipart/mixed; BOUNDARY="925712948-1314567356-1588651294=:5735" X-Spam-Score: 2.0 (++) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -1.0 (-) 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-Scanner: scn0 X-Spam-Score: -0.01 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 2001:470:142::17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Scan-Result: default: False [-0.01 / 13.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; GENERIC_REPUTATION(0.00)[-0.49533494636012]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2001:470:142::/48:c]; IP_REPUTATION_HAM(0.00)[asn: 22989(0.13), country: US(-0.00), ip: 2001:470:142::17(-0.50)]; DWL_DNSWL_FAIL(0.00)[2001:470:142::17:server fail]; MX_GOOD(-0.50)[cached: eggs.gnu.org]; CTYPE_MIXED_BOGUS(1.00)[]; RCPT_COUNT_TWO(0.00)[2]; MAILLIST(-0.20)[mailman]; FREEMAIL_TO(0.00)[protonmail.com]; RCVD_IN_DNSWL_FAIL(0.00)[2001:470:142::17:server fail]; RCVD_TLS_LAST(0.00)[]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:22989, ipnet:2001:470:142::/48, country:US]; MIME_TRACE(0.00)[0:+,1:+]; TAGGED_FROM(0.00)[larch=yhetil.org]; ARC_NA(0.00)[]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; FROM_NEQ_ENVFROM(0.00)[jackhill@jackhill.us,guix-patches-bounces@gnu.org]; FROM_HAS_DN(0.00)[]; URIBL_BLOCKED(0.00)[gnu.org:url,protonmail.com:email]; MIME_GOOD(-0.10)[multipart/mixed,text/plain]; DMARC_NA(0.00)[jackhill.us]; HAS_LIST_UNSUB(-0.01)[]; RCVD_COUNT_SEVEN(0.00)[8]; FORGED_SENDER_MAILLIST(0.00)[] X-TUID: CjPVtYV2ugme This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --925712948-1314567356-1588651294=:5735 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8BIT Thovthe, On Sun, 3 May 2020, Thovthe via Guix-patches via wrote: > Here is a package definition for QDirStat, an excellent tool for > checking what files are taking up space on your system.  This is > my first guix module and it was made with help from Ryan Prior > (github.com/sponsors/ryanprior). I have confirmed that it builds > and runs on aarch64 but the only system I have available is this > fairly anemic arm laptop so I haven't tested the other > architectures. Suggestions, testing, questions, comments and > education welcomed. Thanks for contributing this patch to Guix! I have some suggestions for how it can be cleaned up so that it can be included in the distribution. > From 9e56b8c2f5602c20ee5796de7af019ef640167cb Mon Sep 17 00:00:00 2001 > From: Thovthe > Date: Sat, 2 May 2020 22:48:30 +0000 > Subject: [PATCH] 2020-05-02 Thovthe thovthe@protonmail.com > > * added new package definition for QDirStat at gnu/packages/qdirstat.scm Guix uses a very structured changelog format for commit messages. I find that the best way to figure it out is to look at the existing git log. In this case the commit message should be something like: ``` gnu: Add qdirstat. * gnu/packages/qdirstat.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. ``` > --- > gnu/packages/qdirstat.scm | 46 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 46 insertions(+) > create mode 100644 gnu/packages/qdirstat.scm > > diff --git a/gnu/packages/qdirstat.scm b/gnu/packages/qdirstat.scm > new file mode 100644 > index 0000000000..91581a206e > --- /dev/null > +++ b/gnu/packages/qdirstat.scm As you may have guessed from my proposed commit message, when adding a new file, you should also add it to the appropriate section in gnu/local.mk > @@ -0,0 +1,46 @@ > +(define-module (qdirstat) The module name should be (gnu packages qdirstat) to match the file path of the module. If you'll permit me to speculate a little bit: I suspect that you developed this package outside of the main Guix repository. You can test the patches locally on your end by applying them to a git checkout of the guix repository and running guix from that checkout. See the manual pages on Building from Git and Running Guix Before it is Installed. https://guix.gnu.org/manual/en/html_node/Building-from-Git.html https://guix.gnu.org/manual/en/html_node/Running-Guix-Before-It-Is-Installed.html > + #:use-module (gnu packages qt) > + #:use-module (gnu packages compression) > + #:use-module (guix build-system gnu) > + #:use-module (guix git-download) > + #:use-module ((guix licenses) #:prefix license:) > + #:use-module (guix packages)) Since this is a new file, let's go ahead and sort these alphabetically. > +(define-public qdirstat > + (package > + (name "qdirstat") > + (version "1.6.1") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/shundhammer/qdirstat.git") > + (commit version))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 "0q77a347qv1aka6sni6l03zh5jzyy9s74aygg554r73g01kxczpb")))) > + (build-system gnu-build-system) > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + (replace 'configure > + (lambda* (#:key outputs #:allow-other-keys) > + (invoke "qmake" > + (string-append "PREFIX=" > + (assoc-ref outputs "out")) > + (string-append "INSTALL_PREFIX=" > + (assoc-ref outputs "out")))))))) It is our custom to have all phases return #t > + > + (inputs > + `(("qtbase" ,qtbase))) I think that perl should be added as input, so that the #! line of qdirstat-cache-writer can be patched to refer to a perl in the store. > + (native-inputs > + `(("zlib" ,zlib) I think zlib should be an input rather than a native-input since the code seems to link to it. Remember that the reason for native-inputs verses inputs is that native-inputs are needed on the host side when cross compiling. > + ("qttools" ,qttools))) > + (home-page "https://github.com/shundhammer/qdirstat") > + (synopsis "Graphical disk space inspection utility") > + (description > + "QDirStat is a graphical application to show where your disk space has > +gone and to help you to clean it up. Shaded boxes represent files and files > +are grouped by directory structure." ) Some formatting nitpicks: you can go ahead and start the description on the same line as "(description". Also there is an extra space between the closing quote and closing parentheses. The best terms I found when searching for similar packages that we already have in Guix where, "disk usage", so I think it would be good idea to work usage into the synopsis or description somehow. Perhaps change the synopsis to say, "disk usage inspection" or the description to say, "show your disk usage and help you clean it up." > + (license license:gpl2+))) qdirstat-cache-writer has a different license in its header. It's an … interesting licence :) I think it's free software, so eligable for inclusion in Guix, but probably worth recording here, so that the licence field becomes: (license (list license:gpl2+ license:non-copyleft)) ; scripts/qdirstat-cache-writer For bonus points, it might be nice to move qdirstat-cache-writer to its own output since it is made to be run independently of QDirStat and that way it could be installed without pulling in all the C++ and Graphical dependencies. Can you send an updated patch? Thanks again, Jack --925712948-1314567356-1588651294=:5735--