Message ID | 57b18e1298ae636df0fa11968978adcf227a0cab.1713212712.git.ashish.is@lostca.se |
---|---|
State | New |
Headers | show |
Series | [bug#70407] gnu: Add fnc | expand |
user guix usertag 70407 + reviewed-looks-good thanks Guix QA review form submission: Items marked as checked: New package licenses, New package synopsis and descriptions
"ashish.is--- via Guix-patches" via <guix-patches@gnu.org> writes: > From: Ashish SHUKLA <ashish.is@lostca.se> > > * gnu/packages/version-control.scm (fnc): New variable. > > Change-Id: Idf1cb254c3ae18bacb86bf020511a5d34e2d3684 > Signed-off-by: Ashish SHUKLA <ashish.is@lostca.se> > --- > 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
On Tue, Apr 16, 2024 at 11:21:26PM +0100, Christopher Baines wrote: > "ashish.is--- via Guix-patches" via <guix-patches@gnu.org> writes: > > > From: Ashish SHUKLA <ashish.is@lostca.se> > > > > * gnu/packages/version-control.scm (fnc): New variable. > > > > Change-Id: Idf1cb254c3ae18bacb86bf020511a5d34e2d3684 > > Signed-off-by: Ashish SHUKLA <ashish.is@lostca.se> > > --- > > 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 <ashish.is@lostca.se> writes: > On Tue, Apr 16, 2024 at 11:21:26PM +0100, Christopher Baines wrote: >> "ashish.is--- via Guix-patches" via <guix-patches@gnu.org> writes: >> >> > + (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. Right, it would be good to package libfossil and unbundle sqlite3 there, then use that libfossil package here. If libfossil can't use the built sqlite3 from Guix, then maybe the Guix package source can be used.
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"))))) + (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)))