unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#53583] [PATCH] gnu: Add ncdu-ng.
@ 2022-01-27 14:22 phodina via Guix-patches via
  2022-02-01 11:03 ` Efraim Flashner
  0 siblings, 1 reply; 4+ messages in thread
From: phodina via Guix-patches via @ 2022-01-27 14:22 UTC (permalink / raw)
  To: 53583


[-- Attachment #1.1: Type: text/plain, Size: 457 bytes --]

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

[-- Attachment #1.2: Type: text/html, Size: 749 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-ncdu-ng.patch --]
[-- Type: text/x-patch; name=0001-gnu-Add-ncdu-ng.patch, Size: 2175 bytes --]

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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#53583] [PATCH] gnu: Add ncdu-ng.
  2022-01-27 14:22 [bug#53583] [PATCH] gnu: Add ncdu-ng phodina via Guix-patches via
@ 2022-02-01 11:03 ` Efraim Flashner
  2022-02-06  7:19   ` phodina via Guix-patches via
  0 siblings, 1 reply; 4+ messages in thread
From: Efraim Flashner @ 2022-02-01 11:03 UTC (permalink / raw)
  To: phodina; +Cc: 53583


[-- Attachment #1.1: Type: text/plain, Size: 3519 bytes --]

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

[-- Attachment #1.2: ncdu.scm --]
[-- Type: text/plain, Size: 2319 bytes --]

;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is an addendum to 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 <http://www.gnu.org/licenses/>.

(define-module (dfsg main ncdu)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix utils)
  #:use-module (guix gexp)
  #:use-module (gnu packages ncdu)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages zig))

(define-public ncdu-2
  (package
    (inherit ncdu)
    (name "ncdu2")      ; only to prevent it from being installed by accident
    (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
     (list
       #:make-flags
       #~(list (string-append "PREFIX=" #$output)
               (string-append "CC=" #$(cc-for-target)))
       #:phases
       #~(modify-phases %standard-phases
           (delete 'configure)      ; No configure script.
           (add-before 'build 'pre-build
             (lambda _
               (setenv "ZIG_GLOBAL_CACHE_DIR"
                       (mkdtemp "/tmp/zig-cache-XXXXXX"))))
           (add-after 'build 'build-manpage
             (lambda _
               (delete-file "ncdu.1")
               (invoke "make" "doc")))
           (replace 'check
             (lambda* (#:key tests? #:allow-other-keys)
               (when tests?
                 (invoke "zig" "test" "build.zig")))))))
    (native-inputs
     (list perl zig))))

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#53583] [PATCH] gnu: Add ncdu-ng.
  2022-02-01 11:03 ` Efraim Flashner
@ 2022-02-06  7:19   ` phodina via Guix-patches via
  2022-03-06 12:16     ` bug#53583: " Efraim Flashner
  0 siblings, 1 reply; 4+ messages in thread
From: phodina via Guix-patches via @ 2022-02-06  7:19 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 53583

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






^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#53583: [PATCH] gnu: Add ncdu-ng.
  2022-02-06  7:19   ` phodina via Guix-patches via
@ 2022-03-06 12:16     ` Efraim Flashner
  0 siblings, 0 replies; 4+ messages in thread
From: Efraim Flashner @ 2022-03-06 12:16 UTC (permalink / raw)
  To: phodina; +Cc: 53583-done

[-- Attachment #1: Type: text/plain, Size: 228 bytes --]

ncdu2 pushed.

-- 
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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-03-06 12:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-27 14:22 [bug#53583] [PATCH] gnu: Add ncdu-ng phodina via Guix-patches via
2022-02-01 11:03 ` Efraim Flashner
2022-02-06  7:19   ` phodina via Guix-patches via
2022-03-06 12:16     ` bug#53583: " Efraim Flashner

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).