Subject: [bug#70407] Re: [bug#70407] [PATCH] gnu: Add fnc

From: Ashish <[email-masked]>
Date: Wed, 17 Apr 2024 09:25:33 +0000

On Tue, Apr 16, 2024 at 11:21:26PM +0100, Christopher Baines wrote:
> "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.

Thanks for catching this, it indeed crossed my mind, but I was not sure what to replace it with should someone chose to build with `clang' (or other C language compiler), and `cc' is not present.

> > +    (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.

libfossil is a library implementation of fossil ships with bundled sqlite3, and the author decide to bundle libfossil, and so sqlite3 comes with it.

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

Thanks!
-- 
Ashish | GPG: F682 CDCC 39DC 0FEA E116  20B6 C746 CFA9 E74F A4B0

"If I destroy you, what business is it of yours ?" (Dark Forest, Liu Cixin)