diff mbox series

[bug#53583] gnu: Add ncdu-ng.

Message ID 6vXo33nNBkLPCf4VQTY3L-RrWG8JHPVjtgprEQk8vcmVXfDXty5cr6Dyj_qkc21iYmzHrVTKJukBnNWkx6FebmPZJyUZk3KBHaG5b2DksCM=@protonmail.com
State Accepted
Headers show
Series [bug#53583] gnu: Add ncdu-ng. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

phodina Jan. 27, 2022, 2:22 p.m. UTC
Hello,

here is a patch for the ncdu. As version 2.0.* are based on Zig I decided to create a new variable instead of updating the old one.

FIY this is my first encounter with Zig and I just briefly swept through the documentation and I don't know if cross-compilation won't be an issue since the previous versions are just plain C.

If you think there is no need to do this and we can just simply update let me know and I'll send updated patch.

----
Petr

Comments

phodina Feb. 6, 2022, 7:19 a.m. UTC | #1
Hi Efraim,

Sent with ProtonMail Secure Email.

------- Original Message -------

On Tuesday, February 1st, 2022 at 12:03 PM, Efraim Flashner <efraim@flashner.co.il> wrote:

> On Thu, Jan 27, 2022 at 02:22:58PM +0000, phodina via Guix-patches via wrote:
>
> > Hello,
> >
> > here is a patch for the ncdu. As version 2.0.* are based on Zig I decided to create a new variable instead of updating the old one.
> >
> > FIY this is my first encounter with Zig and I just briefly swept through the documentation and I don't know if cross-compilation won't be an issue since the previous versions are just plain C.
> >
> > If you think there is no need to do this and we can just simply update let me know and I'll send updated patch.
>
> I also packaged ncdu@2 locally, to try out packaging a zig program. I
>
> was unable to build zig for aarch64 due to the memory requirements
>
> during the linking stage, so for now I agree it makes sense to have a
>
> separate zig version and not just upgrade to the new version.
>
> Also I'm attaching my copy if you want to take a look and see about
>
> merging the two.
>
> > Petr
>
> > From 3e6ad4ef4f928314bd69cae18a05be317e1b26ab Mon Sep 17 00:00:00 2001
> >
> > From: Petr Hodina phodina@protonmail.com
> >
> > Date: Thu, 27 Jan 2022 14:56:39 +0100
> >
> > Subject: [PATCH] gnu: Add ncdu-ng.
> >
> > -   gnu/packages/ncdu.scm (ncdu-ng): New variable.
> >
> > diff --git a/gnu/packages/ncdu.scm b/gnu/packages/ncdu.scm
> >
> > index d6e4522bf0..01084976f0 100644
> >
> > --- a/gnu/packages/ncdu.scm
> >
> > +++ b/gnu/packages/ncdu.scm
> >
> > @@ -1,6 +1,7 @@
> >
> > ;;; GNU Guix --- Functional package management for GNU
> >
> > ;;; Copyright © 2014 John Darrington jmd@gnu.org
> >
> > ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice me@tobias.gr
> >
> > +;;; Copyright © 2022 Petr Hodina phodina@protonmail.com
> >
> > ;;;
> >
> > ;;; This file is part of GNU Guix.
> >
> > ;;;
> >
> > @@ -20,8 +21,10 @@
> >
> > (define-module (gnu packages ncdu)
> >
> > #:use-module (gnu packages)
> >
> > #:use-module (gnu packages ncurses)
> >
> > -   #:use-module (gnu packages zig)
> >
> >     #:use-module (guix licenses)
> >
> >     #:use-module (guix packages)
> > -   #:use-module (guix utils)
> >
> >     #:use-module (guix download)
> >
> >     #:use-module (guix build-system gnu))
> >
> > @@ -49,3 +52,32 @@ (define-public ncdu
> >
> > (string-append "https://g.blicky.net/ncdu.git/plain/COPYING?id=v"
> >
> > version)))
> >
> > (home-page "https://dev.yorhel.nl/ncdu")))
> >
> > +
> >
> > +(define-public ncdu-ng
> >
> > -   (package
> > -   (inherit ncdu)
> > -   (name "ncdu-ng")
> > -   (version "2.0.1")
> > -   (source (origin
> > -                (method url-fetch)
> >
> >
> > -                (uri (string-append "https://dev.yorhel.nl/download/ncdu-"
> >
> >
> > -                                    version ".tar.gz"))
> >
> >
> > -                (sha256
> >
> >
> > -                 (base32
> >
> >
> > -                  "0j3w8xixz1zkzcpk0xrh6y3r7sii3h3y31lbvs5iqc5q7q6day9g"))))
> >
> >
> > -   (arguments
> > -       `(#:tests? #f
> >
> >
> > -         #:make-flags
> >
> >
> > -         (list (string-append "PREFIX="
> >
> >
> > -                              (assoc-ref %outputs "out"))
> >
> >
> > -               ,(string-append "CC="
> >
> >
> > -                               (cc-for-target)))
> >
> >
> > -         #:phases
> >
> >
> > -         (modify-phases %standard-phases
> >
> >
> > -           (add-after 'unpack 'set-home-dir
> >
> >
> > -             (lambda* _
> >
> >
> > -               ;; Zig caches build
> >
> >
> > -               (setenv "HOME" "/tmp")))
> >
> >
> > -           (delete 'configure))))
> >
> >
> > -   (native-inputs (list zig))
> > -   (inputs (list ncurses))))
> >
> >     --
> >
> >     2.34.0
>
> --
>
> Efraim Flashner efraim@flashner.co.il רנשלפ םירפא
>
> GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
>
> Confidentiality cannot be guaranteed on emails sent or received unencrypted

I've reviewed and tested your patch on x86_64 machine and it build successfully. I also wasn't able to build Zig on my ARM machines (Raspberry and PBP) so it should definitely have it's own definition (at least for now).

I agree with keeping a note why there number 2 in the name.

Thanks for the phase with setting ZIG_GLOBAL_CACHE_DIR as this what helpful in my understanding of Zig.

Otherwise the patch LGTM.

----
Petr
Efraim Flashner March 6, 2022, 12:16 p.m. UTC | #2
ncdu2 pushed.
diff mbox series

Patch

From 3e6ad4ef4f928314bd69cae18a05be317e1b26ab Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Thu, 27 Jan 2022 14:56:39 +0100
Subject: [PATCH] gnu: Add ncdu-ng.

* gnu/packages/ncdu.scm (ncdu-ng): New variable.

diff --git a/gnu/packages/ncdu.scm b/gnu/packages/ncdu.scm
index d6e4522bf0..01084976f0 100644
--- a/gnu/packages/ncdu.scm
+++ b/gnu/packages/ncdu.scm
@@ -1,6 +1,7 @@ 
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,8 +21,10 @@ 
 (define-module (gnu packages ncdu)
   #:use-module (gnu packages)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages zig)
   #:use-module (guix licenses)
   #:use-module (guix packages)
+  #:use-module (guix utils)
   #:use-module (guix download)
   #:use-module (guix build-system gnu))
 
@@ -49,3 +52,32 @@  (define-public ncdu
               (string-append "https://g.blicky.net/ncdu.git/plain/COPYING?id=v"
                              version)))
     (home-page "https://dev.yorhel.nl/ncdu")))
+
+(define-public ncdu-ng
+  (package
+    (inherit ncdu)
+    (name "ncdu-ng")
+    (version "2.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://dev.yorhel.nl/download/ncdu-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0j3w8xixz1zkzcpk0xrh6y3r7sii3h3y31lbvs5iqc5q7q6day9g"))))
+    (arguments
+     `(#:tests? #f
+       #:make-flags
+       (list (string-append "PREFIX="
+                            (assoc-ref %outputs "out"))
+             ,(string-append "CC="
+                             (cc-for-target)))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'set-home-dir
+           (lambda* _
+             ;; Zig caches build
+             (setenv "HOME" "/tmp")))
+         (delete 'configure))))
+    (native-inputs (list zig))
+    (inputs (list ncurses))))
-- 
2.34.0