Subject: Re: [bug#70407] [PATCH] gnu: Add fnc
From: Christopher Baines <[email-masked]>
To: "ashish.is--- via Guix-patches" via <[email-masked]>, Daniel Ziltener <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Tue, 16 Apr 2024 23:21:26 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

"ashish.is--- via Guix-patches" via <[email-masked]> writes:

> From: Ashish SHUKLA <[email-masked]>
>
> * gnu/packages/version-control.scm (fnc): New variable.
>
> Change-Id: Idf1cb254c3ae18bacb86bf020511a5d34e2d3684
> Signed-off-by: Ashish SHUKLA <[email-masked]>
> ---
>  gnu/packages/version-control.scm | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
> index 96ca1df552..33607940ec 100644
> --- a/gnu/packages/version-control.scm
> +++ b/gnu/packages/version-control.scm
> @@ -4145,3 +4145,28 @@ (define-public git-sizer
>      (description "Compute various size metrics for a Git repository, flagging
>  those that might cause problems or inconvenience.")
>      (license license:expat)))
> +
> +(define-public fnc
> +  (package
> +    (name "fnc")
> +    (version "0.16")
> +    (source (origin
> +              (method url-fetch)
> +              (uri
> +               (string-append "https://fnc.bsdbox.org/uv/dl/fnc-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "1npnbdz5i4p61ri76vx6awggbc0q19y8b26l3sy4wxmaxkly7gwy"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     '(#:phases (modify-phases %standard-phases
> +                  (delete 'configure))
> +       #:tests? #f
> +       #:make-flags (list "CC=gcc"
> +			  (string-append "PREFIX=" (assoc-ref %outputs "out")))))

The arguments needed a bit of touching up. Using gexp's is the new
style. It's unclear why the tests are disabled, I guess it's because
there are no tests so I've added a comment to this effect. Hardcoding
CC=gcc also causes problems for cross building, so use (cc-for-target)
instead.

> +    (inputs (list ncurses zlib sqlite-next))
> +    (home-page "https://fnc.bsdbox.org")
> +    (synopsis "Interactive text-based user interface for Fossil")
> +    (description "fnc uses ncurses and libfossil to create a fossil ui experience in
> +the terminal, and parse local changes at the hunk level to prepare atomic commits.")
> +    (license license:isc)))
>
> base-commit: a8353e9d6b34fd8d42d2e8f14ce844849fe9c293

I did have a quick check over the source, including a concatenated
sqlite seems unusual and not ideal, but I'm not quite sure how it's
used.

One final change I made was moving the package definition up off the
bottom of the file (as if everyone adds new packages there, it causes
merge conflicts).

I've pushed this to master with the changes I describe as
a45b2c7c63c6af9c42698e12b6809c41c0926de3 so please take a look.

Thanks,

Chris