[PATCH] gnu: Add sc-im

  • Done
  • quality assurance status badge
Details
6 participants
  • Ekaitz Zarraga
  • ElenQ Technology
  • Jack Hill
  • jgart
  • Leo Famulari
  • Xinglu Chen
Owner
unassigned
Submitted by
jgart
Severity
normal
J
(address . guix-patches@gnu.org)
15c0925b25d9950553a55a4881922cc4@dismail.de
Hi Guix!

Attached is a patch for sc-im, a terminal based spreadsheet program providing a vim-like experience.

I constructed this package starting from a template provided by Ekaitz that I found below dating from over a year ago:


I added Ekaitz as a co-author and added both of our copyrights to the top of the file.

This new version of sc-im is from 16 days ago.

I'm currently getting the following two linter warnings:

the source file name should contain the package name
permanent redirect from https://github.com/andmarti1424/sc-im.gitto https://github.com/andmarti1424/sc-im

Any suggestions for what I need to adjust to make those pass?

best regards,

jgart
E
E
ElenQ Technology wrote on 18 Apr 2021 00:22
(name . jgart)(address . jgart@dismail.de)
CTPlfV7cgzOy1zPWttP-JOHAXWXOuqvzant3dNABlA1Llhq1PLctYr2dBcu_dw7Sa4_i07lLE6ePbQ4SqTyeOYY1T3KTeW57ejqk9c1EGyE=@elenq.tech
Hey!

??????? Original Message ???????
On Saturday, April 17, 2021 11:52 PM, jgart <jgart@dismail.de> wrote:

Toggle quote (24 lines)
> Hi Guix!
>
> Attached is a patch for sc-im, a terminal based spreadsheet program providing a vim-like experience.
>
> I constructed this package starting from a template provided by Ekaitz that I found below dating from over a year ago:
>
> https://gitlab.com/ekaitz-zarraga/guix-packages/-/blob/master/sc-im.scm
>
> I added Ekaitz as a co-author and added both of our copyrights to the top of the file.
>
> This new version of sc-im is from 16 days ago.
>
> I'm currently getting the following two linter warnings:
>
> the source file name should contain the package name
> permanent redirect from https://github.com/andmarti1424/sc-im.git to https://github.com/andmarti1424/sc-im
>
> Any suggestions for what I need to adjust to make those pass?
>
> best regards,
>
> jgart


I didn't expect this!

My original package was broken, but I left it in my repo so IDK
if taking that as a base was a good idea.
I was trying to package a more complete solution and I left
the package broken... I'm not sure about all the compile flags
you set, you may be missing some interesting plugin support.

I'm taking a look to it.

The first issue related with the name of the package is this:

```
guix/gnu/packages/sc-im.scm:41:14: sc-im@0.8.1: the source file name should contain the package name
```

In order to solve this you can use this in the origin desc:

```
(file-name (git-file-name name version))
```

This is going to clone the repo to an specific filename that
matches Guix's naming style and it's going to remove the
warning.

The second:

```
gnu/packages/sc-im.scm:41:14: sc-im@0.8.1: permanent redirect from https://github.com/andmarti1424/sc-im.gitto https://github.com/andmarti1424/sc-im
```

Just change the url by the other and you're done.

Also I wouldn't add the whole package in an independent file.
It may fit better in other of the categories.

HTH!

Thanks for keeping my name there, but you can clear it with
no issue, this is all your merit, my man.

Best,
Ekaitz
J
J
Jack Hill wrote on 18 Apr 2021 01:29
Re: [bug#47852] [PATCH] gnu: Add sc-im
(name . jgart)(address . jgart@dismail.de)
alpine.DEB.2.21.2104171806040.8414@marsh.hcoop.net
On Sat, 17 Apr 2021, jgart via Guix-patches via wrote:

Toggle quote (4 lines)
> Hi Guix!
>
> Attached is a patch for sc-im, a terminal based spreadsheet program providing a vim-like experience.

Interesting program, thanks for working on the package

Toggle quote (2 lines)
> I added Ekaitz as a co-author and added both of our copyrights to the top of the file.

Glad to see this work being picket up and that we can collaborate across
time.

Toggle quote (9 lines)
> This new version of sc-im is from 16 days ago.
>
> I'm currently getting the following two linter warnings:
>
> the source file name should contain the package name
> permanent redirect from https://github.com/andmarti1424/sc-im.git to https://github.com/andmarti1424/sc-im
>
> Any suggestions for what I need to adjust to make those pass?

I have some inline suggestions as follows:


From 62b2b692329f8db791db08700821111238ed40be Mon Sep 17 00:00:00 2001
From: jgart <jgart@dismail.de>
Date: Sat, 17 Apr 2021 17:43:16 -0400
Subject: [PATCH] gnu: Add sc-im.

* gnu/packages/visidata.scm: New file.

Should be sc-im.scm there :)

I have no opinion on if this warrants its own file, but I expect others
would be willing to comment.

* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Co-authored-by: Ekaitz Zarraga <ekaitz@elenq.tech>


+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
+;;; Copyright © 2021 jgart <jgart@dismail.de>
+;;;
+;;; This file is part of 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 (gnu packages sc-im)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages statistics)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages bison)
+ #:use-module (gnu packages ncurses))
+
+(define-public sc-im
+ (let ((commit-ref "75ae3806844821cba1b2e3fdb9237d737944e850"))
+ (package
+ (name "sc-im")
+ (version "0.8.1")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (commit commit-ref)))

You can remove the .git from the url to clear up the permanent redirect
lint warning.

In other packages, we use the tag directly with something like

(commit (string-append "v" version))

and are thus able to forgo the let binding. Unless there is a reason to
think upstream will move the tag to a different commit, I recommend doing
that here too.

Also, adding `(file-name (git-file-name name version))` to the origin
specification will clear up the file name lint warning.

+ (sha256
+ (base32
+ "1i1yq5mh9d7yi1bkgaq4p1lr8zrxhlvqmjnj33wmg5v6vpfim1h0"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; There are no tests at the moment.
+ `(#:tests? #f

Thanks for adding the comment about the lack of test.

+ #:make-flags (list "-C" "src" "CC=gcc"

We prefer `(string-append "CC=" ,(cc-for-target))` which helps when
cross-compiling

+ (string-append "prefix=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases
+ %standard-phases
+ (delete 'configure))))
+ (inputs
+ `(("gnuplot" ,gnuplot)
+ ("libxls" ,libxls)
+ ("libxlsxwriter" ,libxlsxwriter)
+ ("libxml2" ,libxml2)
+ ("libzip" ,libzip)
+ ("ncurses" ,ncurses)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("which" ,which)
+ ("bison" ,bison)))
+ (synopsis "Spreadsheet program with vim-like keybindings")
+ (description
+ "@code{sc-im} is a highly configurable spreadsheet program
+ providing a vim-like experience. @code{sc-im} supports @{gnuplot} interaction,
+ functions for sorting and filtering, 256 color support, and much more.")
+ (license license:bsd-4))))
--
2.29.3


Can you send an updated patch?

Best,
Jack
J
Re: [PATCH] gnu: Add sc-im
(address . 47852@debbugs.gnu.org)
ddc6916763ffedfe49f91371062485d4@dismail.de
Attached is the updated patch with Ekaitz's suggestions. The linter is now a happy gnu!

Toggle quote (3 lines)
> Also I wouldn't add the whole package in an independent file.
> It may fit better in other of the categories.

I thought of that but I couldn't find a place I was happy with.

calcurse and visidata are two other packages that also have their own file.

Maybe these two packages can be merged in the future with sc-im?

Toggle quote (3 lines)
> I'm not sure about all the compile flags
> you set, you may be missing some interesting plugin support.

I left lua support out since that is an optional feature.

The sc-im package in nixpkgs also leaves it out:


I'm waiting until sc-im has guile support. ;)

Let me know if there are any other compiler features you think should be included.

I left tmux as the clipboard. It is already set in the Makefile by default.

I'll probably inherit from this package and substitute* for xclip instead, locally.

Does upstream guix prefer two versions of this package (A version compiled with tmux support and a version compiled with xclip support)?

all the best,

jgart

ps

Ekaitz, Saludos desde Miami!

Vas a venir a el guix meetup el próximo sábado? Cambié la hora a una hora normal ;)




April 17, 2021 6:22 PM, "ElenQ Technology" <hello@elenq.tech> wrote:

Toggle quote (74 lines)
> Hey!
>
> ??????? Original Message ???????
> On Saturday, April 17, 2021 11:52 PM, jgart <jgart@dismail.de> wrote:
>
>> Hi Guix!
>>
>> Attached is a patch for sc-im, a terminal based spreadsheet program providing a vim-like
>> experience.
>>
>> I constructed this package starting from a template provided by Ekaitz that I found below dating
>> from over a year ago:
>>
>> https://gitlab.com/ekaitz-zarraga/guix-packages/-/blob/master/sc-im.scm
>>
>> I added Ekaitz as a co-author and added both of our copyrights to the top of the file.
>>
>> This new version of sc-im is from 16 days ago.
>>
>> I'm currently getting the following two linter warnings:
>>
>> the source file name should contain the package name
>> permanent redirect from https://github.com/andmarti1424/sc-im.git to
>> https://github.com/andmarti1424/sc-im
>>
>> Any suggestions for what I need to adjust to make those pass?
>>
>> best regards,
>>
>> jgart
>
> I didn't expect this!
>
> My original package was broken, but I left it in my repo so IDK
> if taking that as a base was a good idea.
> I was trying to package a more complete solution and I left
> the package broken...
>
> I'm taking a look to it.
>
> The first issue related with the name of the package is this:
>
> ```
> guix/gnu/packages/sc-im.scm:41:14: sc-im@0.8.1: the source file name should contain the package
> name
> ```
>
> In order to solve this you can use this in the origin desc:
>
> ```
> (file-name (git-file-name name version))
> ```
>
> This is going to clone the repo to an specific filename that
> matches Guix's naming style and it's going to remove the
> warning.
>
> The second:
>
> ```
> gnu/packages/sc-im.scm:41:14: sc-im@0.8.1: permanent redirect from
> https://github.com/andmarti1424/sc-im.git to https://github.com/andmarti1424/sc-im
> ```
>
> Just change the url by the other and you're done.
>
>
> HTH!
>
> Thanks for keeping my name there, but you can clear it with
> no issue, this is all your merit, my man.
>
> Best,
> Ekaitz
J
(address . 47852@debbugs.gnu.org)
9635b393f2e4e1787a99c8f6ee2d3c43@dismail.de
I attached an updated patch also including Jack's suggestions.

Thank you Raghav for help with sanity debugging over xmpp.

prefix is not PREFIX ;)

all the best,

jgart

April 17, 2021 7:54 PM, "jgart" <jgart@dismail.de> wrote:

Toggle quote (118 lines)
> Attached is the updated patch with Ekaitz's suggestions. The linter is now a happy gnu!
>
>> Also I wouldn't add the whole package in an independent file.
>> It may fit better in other of the categories.
>
> I thought of that but I couldn't find a place I was happy with.
>
> calcurse and visidata are two other packages that also have their own file.
>
> Maybe these two packages can be merged in the future with sc-im?
>
>> I'm not sure about all the compile flags
>> you set, you may be missing some interesting plugin support.
>
> I left lua support out since that is an optional feature.
>
> The sc-im package in nixpkgs also leaves it out:
>
> https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/applications/misc/sc-im/default.nix#L35
>
> I'm waiting until sc-im has guile support. ;)
>
> Let me know if there are any other compiler features you think should be included.
>
> I left tmux as the clipboard. It is already set in the Makefile by default.
>
> I'll probably inherit from this package and substitute* for xclip instead, locally.
>
> Does upstream guix prefer two versions of this package (A version compiled with tmux support and a
> version compiled with xclip support)?
>
> all the best,
>
> jgart
>
> ps
>
> Ekaitz, Saludos desde Miami!
>
> Vas a venir a el guix meetup el próximo sábado? Cambié la hora a una hora normal ;)
>
> https://events.nixnet.services/events/27955ca1-0aee-4ec5-be20-48e6c45fd0f6
>
> April 17, 2021 6:22 PM, "ElenQ Technology" <hello@elenq.tech> wrote:
>
>> Hey!
>>
>> ??????? Original Message ???????
>> On Saturday, April 17, 2021 11:52 PM, jgart <jgart@dismail.de> wrote:
>>
>>> Hi Guix!
>>>
>>> Attached is a patch for sc-im, a terminal based spreadsheet program providing a vim-like
>>> experience.
>>>
>>> I constructed this package starting from a template provided by Ekaitz that I found below dating
>>> from over a year ago:
>>>
>>> https://gitlab.com/ekaitz-zarraga/guix-packages/-/blob/master/sc-im.scm
>>>
>>> I added Ekaitz as a co-author and added both of our copyrights to the top of the file.
>>>
>>> This new version of sc-im is from 16 days ago.
>>>
>>> I'm currently getting the following two linter warnings:
>>>
>>> the source file name should contain the package name
>>> permanent redirect from https://github.com/andmarti1424/sc-im.git to
>>> https://github.com/andmarti1424/sc-im
>>>
>>> Any suggestions for what I need to adjust to make those pass?
>>>
>>> best regards,
>>>
>>> jgart
>>
>> I didn't expect this!
>>
>> My original package was broken, but I left it in my repo so IDK
>> if taking that as a base was a good idea.
>> I was trying to package a more complete solution and I left
>> the package broken...
>>
>> I'm taking a look to it.
>>
>> The first issue related with the name of the package is this:
>>
>> ```
>> guix/gnu/packages/sc-im.scm:41:14: sc-im@0.8.1: the source file name should contain the package
>> name
>> ```
>>
>> In order to solve this you can use this in the origin desc:
>>
>> ```
>> (file-name (git-file-name name version))
>> ```
>>
>> This is going to clone the repo to an specific filename that
>> matches Guix's naming style and it's going to remove the
>> warning.
>>
>> The second:
>>
>> ```
>> gnu/packages/sc-im.scm:41:14: sc-im@0.8.1: permanent redirect from
>> https://github.com/andmarti1424/sc-im.git to https://github.com/andmarti1424/sc-im
>> ```
>>
>> Just change the url by the other and you're done.
>>
>> HTH!
>>
>> Thanks for keeping my name there, but you can clear it with
>> no issue, this is all your merit, my man.
>>
>> Best,
>> Ekaitz
X
X
Xinglu Chen wrote on 18 Apr 2021 11:25
Re: [bug#47852] [PATCH] gnu: Add sc-im
87r1j8djw7.fsf@yoctocell.xyz
Thank you for working on this! I have some comments to add.

Toggle quote (3 lines)
> * gnu/packages/visidata.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

I suggest adding it to (gnu packages terminals) instead of creating a
new file. You will find asciinema and fzf there.

Toggle quote (12 lines)
> +(define-public sc-im
> + (let ((commit-ref "75ae3806844821cba1b2e3fdb9237d737944e850"))
> + (package
> + (name "sc-im")
> + (version "0.8.1")
> + (source (origin
> + (method git-fetch)
> + (uri
> + (git-reference
> + (url "https://github.com/andmarti1424/sc-im")
> + (commit commit-ref)))

Why not just use ‘version’, or (string-append ... version) if needed?

Toggle quote (2 lines)
> + (file-name (git-file-name name version))

Indentation is a bit off here.

Toggle quote (7 lines)
> + (synopsis "Spreadsheet program with vim-like keybindings")
> + (description
> + "@code{sc-im} is a highly configurable spreadsheet program
> + providing a vim-like experience. @code{sc-im} supports @{gnuplot} interaction,
> + functions for sorting and filtering, 256 color support, and much more.")
> + (home-page "https://github.com/andmarti1424/sc-im")

Nit: ‘home-page’ usually goes above ‘synopsis’.
J
2743aa1f4e3f66ba04fb1bf34a566cad@dismail.de
Hi Xinglu,

I appreciate your review. I attached an updated patch with your suggestions. Thank you for pointing those out.

I moved home-page closer to the top so that I can reuse it in the url field.

I've seen a few examples in gnu/packages of this practice and I think it is quite nice.

Toggle quote (3 lines)
> I suggest adding it to (gnu packages terminals) instead of creating a
> new file. You will find asciinema and fzf there.

I'm not sure if it makes sense to me for sc-im to go into terminals.

It seems like terminals has mostly terminal emulators.

Like I pointed out in my previous email, why wouldn't calcurse and visidata also go into the terminals module?

sc-im is a spreadsheet program for the terminal in the same way that calcurse is a calendar program for the terminal.

Maybe we can do a clean up soon and put all these programs in a new module?

Let me know if there is anything else I should change.

all the best,

jgart


April 18, 2021 5:25 AM, "Xinglu Chen" <public@yoctocell.xyz> wrote:

Toggle quote (34 lines)
> Thank you for working on this! I have some comments to add.
>
>> * gnu/packages/visidata.scm: New file.
>> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
>
> I suggest adding it to (gnu packages terminals) instead of creating a
> new file. You will find asciinema and fzf there.
>
>> +(define-public sc-im
>> + (let ((commit-ref "75ae3806844821cba1b2e3fdb9237d737944e850"))
>> + (package
>> + (name "sc-im")
>> + (version "0.8.1")
>> + (source (origin
>> + (method git-fetch)
>> + (uri
>> + (git-reference
>> + (url "https://github.com/andmarti1424/sc-im")
>> + (commit commit-ref)))
>
> Why not just use ‘version’, or (string-append ... version) if needed?
>
>> + (file-name (git-file-name name version))
>
> Indentation is a bit off here.
>
>> + (synopsis "Spreadsheet program with vim-like keybindings")
>> + (description
>> + "@code{sc-im} is a highly configurable spreadsheet program
>> + providing a vim-like experience. @code{sc-im} supports @{gnuplot} interaction,
>> + functions for sorting and filtering, 256 color support, and much more.")
>> + (home-page "https://github.com/andmarti1424/sc-im")
>
> Nit: ‘home-page’ usually goes above ‘synopsis’.
X
X
Xinglu Chen wrote on 18 Apr 2021 18:40
87lf9feeb8.fsf@yoctocell.xyz
Hi,

On Sun, Apr 18 2021, jgart wrote:

Toggle quote (3 lines)
> I appreciate your review. I attached an updated patch with your
> suggestions. Thank you for pointing those out.

You are welcome!

Toggle quote (3 lines)
> I moved home-page closer to the top so that I can reuse it in the url
> field.

Good idea.

Toggle quote (10 lines)
>> I suggest adding it to (gnu packages terminals) instead of creating a
>> new file. You will find asciinema and fzf there.
>
> I'm not sure if it makes sense to me for sc-im to go into terminals.
>
> It seems like terminals has mostly terminal emulators.
>
> Like I pointed out in my previous email, why wouldn't calcurse and
> visidata also go into the terminals module?

I don’t know why those two programs are in their own files, but after
taking a closer look, I found that some programs are put in different
modules based on the program’s purpose. For example, bashtop, htop, and
nnn all go in (gnu packages admin), and neomutt/mutt are put in (gnu
packages mail). By that logic maybe it would make sense to put sc-im in
(gnu packages maths) or (gnu packages statistics)?

Toggle quote (3 lines)
> sc-im is a spreadsheet program for the terminal in the same way that
> calcurse is a calendar program for the terminal.

In the same way that asciinema is a screen recorder for the terminal ;)

Toggle quote (3 lines)
> Maybe we can do a clean up soon and put all these programs in a new
> module?

That would probably be a good idea. The way packages are categorized is
still a little confusing to me. :)
J
78610039d802cd5f6d61a9f7e36a0df2@dismail.de
Toggle quote (3 lines)
> In the same way that asciinema is a screen recorder for the terminal ;)
>

Yes, it's currently not consistent what's included in the terminals module.

Asciinema should probably go somewhere else.

Maybe we need a terminal-apps module like haskell-apps and rust-apps.

We can put all of these terminal programs in this new module. I think that would make things clearer.

What do you think?

Toggle quote (5 lines)
>> Maybe we can do a clean up soon and put all these programs in a new
>> module?
> That would probably be a good idea. The way packages are categorized is
> still a little confusing to me. :)

Let's plan on that. I'd be happy help with clean up.

BTW, I'm hosting a guix packaging meetup in 6 days.

If you'd like to work on any of this together in a group or a new package/upgrade stop by:


all the best,

jgart


April 18, 2021 12:41 PM, "Xinglu Chen" <public@yoctocell.xyz> wrote:

Toggle quote (41 lines)
> Hi,
>
> On Sun, Apr 18 2021, jgart wrote:
>
>> I appreciate your review. I attached an updated patch with your
>> suggestions. Thank you for pointing those out.
>
> You are welcome!
>
>> I moved home-page closer to the top so that I can reuse it in the url
>> field.
>
> Good idea.
>
>>> I suggest adding it to (gnu packages terminals) instead of creating a
>>> new file. You will find asciinema and fzf there.
>>
>> I'm not sure if it makes sense to me for sc-im to go into terminals.
>>
>> It seems like terminals has mostly terminal emulators.
>>
>> Like I pointed out in my previous email, why wouldn't calcurse and
>> visidata also go into the terminals module?
>
> I don’t know why those two programs are in their own files, but after
> taking a closer look, I found that some programs are put in different
> modules based on the program’s purpose. For example, bashtop, htop, and
> nnn all go in (gnu packages admin), and neomutt/mutt are put in (gnu
> packages mail). By that logic maybe it would make sense to put sc-im in
> (gnu packages maths) or (gnu packages statistics)?
>
>> sc-im is a spreadsheet program for the terminal in the same way that
>> calcurse is a calendar program for the terminal.
>
> In the same way that asciinema is a screen recorder for the terminal ;)
>
>> Maybe we can do a clean up soon and put all these programs in a new
>> module?
>
> That would probably be a good idea. The way packages are categorized is
> still a little confusing to me. :)
X
X
Xinglu Chen wrote on 19 Apr 2021 17:33
871rb69tmp.fsf@yoctocell.xyz
On Sun, Apr 18 2021, jgart wrote:

Toggle quote (14 lines)
>> In the same way that asciinema is a screen recorder for the terminal ;)
>>
>
> Yes, it's currently not consistent what's included in the terminals module.
>
> Asciinema should probably go somewhere else.
>
> Maybe we need a terminal-apps module like haskell-apps and rust-apps.
>
> We can put all of these terminal programs in this new module. I think
> that would make things clearer.
>
> What do you think?

Hmm, I dunno, that would require moving a lot of packages. Probably
better to start a new thread regarding how to categorize packages.
J
5c38f2307986364b38c2eab481e4088b@dismail.de
Yes, I think it would be better if we did this in a new issue.

Ryan Prior suggested tui-apps as a new module name.

I like that!

sc-im, visidata, newsboat, and calcurse fit that bill. There's probably others that can go in there.

April 19, 2021 11:33 AM, "Xinglu Chen" <public@yoctocell.xyz> wrote:

Toggle quote (17 lines)
> On Sun, Apr 18 2021, jgart wrote:
>
>>> In the same way that asciinema is a screen recorder for the terminal ;)
>>
>> Yes, it's currently not consistent what's included in the terminals module.
>>
>> Asciinema should probably go somewhere else.
>>
>> Maybe we need a terminal-apps module like haskell-apps and rust-apps.
>>
>> We can put all of these terminal programs in this new module. I think
>> that would make things clearer.
>>
>> What do you think?
>
> Hmm, I dunno, that would require moving a lot of packages. Probably
> better to start a new thread regarding how to categorize packages.
E
E
Ekaitz Zarraga wrote on 19 Apr 2021 23:48
(name . jgart)(address . jgart@dismail.de)
-26oz38_UbL0widLAq4tHwqlLFAC4S4U_WseFq35rLSx23pOTjXylyDtLM3bMy8hX4pPhbBbb8uU4TX4voCgvJaliUVnHoH8jlThd48RVLY=@elenq.tech
??????? Original Message ???????
On Monday, April 19, 2021 6:46 PM, jgart <jgart@dismail.de> wrote:

Toggle quote (1 lines)
> ElenQ Technology
Ethical InnovationYes, I think it would be better if we did this in a new issue.
Toggle quote (8 lines)
>
> Ryan Prior suggested tui-apps as a new module name.
>
> I like that!
>
> sc-im, visidata, newsboat, and calcurse fit that bill. There's probably others that can go in there.


The main issue here in my opinion is what are we judging as a better
description of a program: the interface or what the program actually
does.

`newsboat`, `vim` and `sc-im` don't have anything in common from a
functionality perspective. But `sc-im` does have things in common
with `libreoffice calc`, `gnumeric` or others.

So...

What do we want to be the main point of the programs: their UI or
their goal?
L
L
Leo Famulari wrote on 20 Apr 2021 06:57
(name . jgart via Guix-patches via)(address . guix-patches@gnu.org)
YH5fVE6p34ebHHDa@jasmine.lan
On Mon, Apr 19, 2021 at 04:46:10PM +0000, jgart via Guix-patches via wrote:
Toggle quote (8 lines)
> Yes, I think it would be better if we did this in a new issue.
>
> Ryan Prior suggested tui-apps as a new module name.
>
> I like that!
>
> sc-im, visidata, newsboat, and calcurse fit that bill. There's probably others that can go in there.

I think we should avoid moving packages around unless there is a
compelling reason to do it.

There are a few reasons not to move packages. It makes the Git history
harder to use (`git log` and `git blame`), it can make Git merges of
long-running branches trickier, and it can break 3rd party channels. And
sometimes it's annoyingly hard work to properly move or duplicate the
copyright attributions to the new file.

In general, the location of the packages is not something that users see
or care about, but it does matter for developers. To me, the conceptual
satisfaction of a nicely defined category does not justify the headaches
that can result from moving packages around.
L
L
Leo Famulari wrote on 20 Apr 2021 07:00
(name . jgart via Guix-patches via)(address . guix-patches@gnu.org)
YH5f49jsfUeZow18@jasmine.lan
On Sun, Apr 18, 2021 at 03:39:05PM +0000, jgart via Guix-patches via wrote:
Toggle quote (2 lines)
> sc-im is a spreadsheet program for the terminal in the same way that calcurse is a calendar program for the terminal.

I think it's fine to put it in its own module. But since we are talking
about categories, I would suggest putting it in a new (gnu packages
spreadsheets) module.
J
(name . Ekaitz Zarraga)(address . ekaitz@elenq.tech)
22f955eefb0da6206ba1ad623d02782f@dismail.de
Toggle quote (3 lines)
> What do we want to be the main point of the programs: their UI or
> their goal?

I think it depends on how many tui programs we have so far.

If we have many tui programs then we should probably start categorizing them.

I would prefer for them to be catalogued based on their intended usage or goal, as you suggested.

Estoy alobao, let's move this to a guix-devel thread. I'll open one soon for us to continue there.

--
jgart

April 19, 2021 5:48 PM, "Ekaitz Zarraga" <ekaitz@elenq.tech> wrote:

Toggle quote (26 lines)
> ??????? Original Message ???????
> On Monday, April 19, 2021 6:46 PM, jgart <jgart@dismail.de> wrote:
>
>> ElenQ Technology
>
> Ethical InnovationYes, I think it would be better if we did this in a new issue.
>
>> Ryan Prior suggested tui-apps as a new module name.
>>
>> I like that!
>>
>> sc-im, visidata, newsboat, and calcurse fit that bill. There's probably others that can go in
>> there.
>
> The main issue here in my opinion is what are we judging as a better
> description of a program: the interface or what the program actually
> does.
>
> `newsboat`, `vim` and `sc-im` don't have anything in common from a
> functionality perspective. But `sc-im` does have things in common
> with `libreoffice calc`, `gnumeric` or others.
>
> So...
>
> What do we want to be the main point of the programs: their UI or
> their goal?
J
(address . leo@famulari.name)
0b4b65505d8b169f73b614b73bc3f9f6@dismail.de
Leo, for some reason I didn't get your email in the thread. Maybe, you didn't CC me?

Anyways, attached is the new patch with your suggestions. I think (gnu packages spreadsheets) is what we were going for.

Thanks!

all the best,

jgart

April 19, 2021 5:48 PM, "Ekaitz Zarraga" <ekaitz@elenq.tech> wrote:

Toggle quote (26 lines)
> ??????? Original Message ???????
> On Monday, April 19, 2021 6:46 PM, jgart <jgart@dismail.de> wrote:
>
>> ElenQ Technology
>
> Ethical InnovationYes, I think it would be better if we did this in a new issue.
>
>> Ryan Prior suggested tui-apps as a new module name.
>>
>> I like that!
>>
>> sc-im, visidata, newsboat, and calcurse fit that bill. There's probably others that can go in
>> there.
>
> The main issue here in my opinion is what are we judging as a better
> description of a program: the interface or what the program actually
> does.
>
> `newsboat`, `vim` and `sc-im` don't have anything in common from a
> functionality perspective. But `sc-im` does have things in common
> with `libreoffice calc`, `gnumeric` or others.
>
> So...
>
> What do we want to be the main point of the programs: their UI or
> their goal?
L
L
Leo Famulari wrote on 23 Apr 2021 18:41
(name . jgart)(address . jgart@dismail.de)
YIL4vXv2s8qc/67Y@jasmine.lan
On Fri, Apr 23, 2021 at 09:22:23AM +0000, jgart wrote:
Toggle quote (2 lines)
> Leo, for some reason I didn't get your email in the thread. Maybe, you didn't CC me?

Yeah, but it was unintentional.

I did "reply all" but, for you, it replied to "jgart via Guix-patches
via <guix-patches@gnu.org>".

Who knows why that happened?
J
[PATCH 1/2 v6] gnu: Add sc-im.
(address . 47852@debbugs.gnu.org)(name . jgart)(address . jgart@dismail.de)
20211119012218.21932-1-jgart@dismail.de
* gnu/packages/spreadsheet-apps.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
gnu/local.mk | 1 +
gnu/packages/spreadsheet-apps.scm | 81 +++++++++++++++++++++++++++++++
2 files changed, 82 insertions(+)
create mode 100644 gnu/packages/spreadsheet-apps.scm

Toggle diff (101 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 7cc06c8212..06e97878a6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -519,6 +519,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/sawfish.scm \
%D%/packages/scanner.scm \
%D%/packages/scheme.scm \
+ %D%/packages/spreadsheets-apps.scm \
%D%/packages/screen.scm \
%D%/packages/scribus.scm \
%D%/packages/scsi.scm \
diff --git a/gnu/packages/spreadsheet-apps.scm b/gnu/packages/spreadsheet-apps.scm
new file mode 100644
index 0000000000..a2d82a111e
--- /dev/null
+++ b/gnu/packages/spreadsheet-apps.scm
@@ -0,0 +1,81 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
+;;; Copyright © 2021 Jorge Gomez <jgart@dismail.de>
+;;;
+;;; This file is part of 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 (gnu packages spreadsheet-apps)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module (guix download)
+ #:use-module (guix utils)
+ #:use-module (guix build-system gnu)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages statistics)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages bison)
+ #:use-module (gnu packages ncurses))
+
+(define-public sc-im
+ (package
+ (name "sc-im")
+ (version "0.8.2")
+ (home-page "https://github.com/andmarti1424/sc-im")
+ (source (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1nrjnw8sg75i0hkcbvjv7gydjddxjm27d5m1qczpg29fk9991q8z"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; There are no tests at the moment.
+ ;; https://github.com/andmarti1424/sc-im/issues/537
+ ;; https://github.com/andmarti1424/sc-im/pull/385
+ `(#:tests? #f
+ #:make-flags (list "-C" "src"
+ (string-append "CC=" ,(cc-for-target))
+ (string-append "prefix=" %output))
+ #:phases
+ (modify-phases
+ %standard-phases
+ (delete 'configure))))
+ (inputs
+ `(("gnuplot" ,gnuplot)
+ ("libxls" ,libxls)
+ ("libxlsxwriter" ,libxlsxwriter)
+ ("libxml2" ,libxml2)
+ ("libzip" ,libzip)
+ ("ncurses" ,ncurses)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("which" ,which)
+ ("bison" ,bison)))
+ (synopsis "Spreadsheet program with vim-like keybindings")
+ (description
+ "@code{sc-im} is a highly configurable spreadsheet program
+ providing a vim-like experience. @code{sc-im} supports @{gnuplot} interaction,
+ functions for sorting and filtering, 256 color support, and much more.")
+ (license license:bsd-4)))
--
2.33.1
J
[PATCH 2/2] gnu: Move visidata to (gnu packages spreadsheet-apps).
(address . 47852@debbugs.gnu.org)(name . jgart)(address . jgart@dismail.de)
20211119012218.21932-2-jgart@dismail.de

* gnu/packages/visidata.scm (visidata): Move from here…
* gnu/packages/spreadsheet-apps.scm (visidata): …to here.
---
gnu/packages/spreadsheet-apps.scm | 54 +++++++++++++++++++++++---
gnu/packages/visidata.scm | 64 -------------------------------
2 files changed, 49 insertions(+), 69 deletions(-)
delete mode 100644 gnu/packages/visidata.scm

Toggle diff (152 lines)
diff --git a/gnu/packages/spreadsheet-apps.scm b/gnu/packages/spreadsheet-apps.scm
index a2d82a111e..cf479f83c6 100644
--- a/gnu/packages/spreadsheet-apps.scm
+++ b/gnu/packages/spreadsheet-apps.scm
@@ -1,4 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021 Jorge Gomez <jgart@dismail.de>
;;;
@@ -22,17 +23,25 @@ (define-module (gnu packages spreadsheet-apps)
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (guix utils)
+ #:use-module (guix build utils)
+ #:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages base)
- #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages bison)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages maths)
- #:use-module (gnu packages statistics)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages time)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages xml)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages bison)
- #:use-module (gnu packages ncurses))
+ #:use-module (gnu packages statistics)
+ #:use-module (gnu packages xml))
(define-public sc-im
(package
@@ -79,3 +88,38 @@ (define-public sc-im
providing a vim-like experience. @code{sc-im} supports @{gnuplot} interaction,
functions for sorting and filtering, 256 color support, and much more.")
(license license:bsd-4)))
+
+(define-public visidata
+ (package
+ (name "visidata")
+ (version "2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "visidata" version))
+ (sha256
+ (base32
+ "19fbjr9j91pcazcz0bqx3qrasmr8xdsb13haf5lfbpyxj23f7f1j"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests? (invoke "pytest"))
+ #t)))))
+ (inputs
+ `(("dateutil" ,python-dateutil)
+ ("requests" ,python-requests)
+ ("lxml" ,python-lxml)
+ ("openpyxl" ,python-openpyxl)
+ ("xlrd" ,python-xlrd)))
+ (native-inputs
+ `(("pytest" ,python-pytest)))
+ (synopsis "Terminal spreadsheet multitool for discovering and arranging data")
+ (description
+ "VisiData is an interactive multitool for tabular data. It combines the
+clarity of a spreadsheet, the efficiency of the terminal, and the power of
+Python, into a lightweight utility which can handle millions of rows.")
+ (home-page "https://www.visidata.org/")
+ (license license:gpl3)))
diff --git a/gnu/packages/visidata.scm b/gnu/packages/visidata.scm
deleted file mode 100644
index a1b16e5ca6..0000000000
--- a/gnu/packages/visidata.scm
+++ /dev/null
@@ -1,64 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
-;;;
-;;; This file is part of 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 (gnu packages visidata)
- #:use-module (gnu packages check)
- #:use-module (gnu packages time)
- #:use-module (gnu packages python-web)
- #:use-module (gnu packages python-xyz)
- #:use-module (gnu packages xml)
- #:use-module (guix build-system python)
- #:use-module (guix build utils)
- #:use-module (guix download)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages))
-
-(define-public visidata
- (package
- (name "visidata")
- (version "2.5")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "visidata" version))
- (sha256
- (base32
- "19fbjr9j91pcazcz0bqx3qrasmr8xdsb13haf5lfbpyxj23f7f1j"))))
- (build-system python-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests? (invoke "pytest"))
- #t)))))
- (inputs
- `(("dateutil" ,python-dateutil)
- ("requests" ,python-requests)
- ("lxml" ,python-lxml)
- ("openpyxl" ,python-openpyxl)
- ("xlrd" ,python-xlrd)))
- (native-inputs
- `(("pytest" ,python-pytest)))
- (synopsis "Terminal spreadsheet multitool for discovering and arranging data")
- (description
- "VisiData is an interactive multitool for tabular data. It combines the
-clarity of a spreadsheet, the efficiency of the terminal, and the power of
-Python, into a lightweight utility which can handle millions of rows.")
- (home-page "https://www.visidata.org/")
- (license license:gpl3)))
--
2.33.1
L
L
Leo Famulari wrote on 22 Nov 2021 22:20
Re: [bug#47852] [PATCH 1/2 v6] gnu: Add sc-im.
(name . jgart via Guix-patches via)(address . guix-patches@gnu.org)
YZwJm3sNnpRnKcwm@jasmine.lan
On Thu, Nov 18, 2021 at 08:22:18PM -0500, jgart via Guix-patches via wrote:
Toggle quote (3 lines)
> * gnu/packages/spreadsheet-apps.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Thanks!

I pushed as 10fad03fcf6fdd2edbdab5f939e3c0edb11a88e2 with the following
changes:

* I named the module (gnu packages spreadsheet)
* I removed some unused or duplicated module imports
* I removed the visidata module from GNU_SYSTEM_MODULES
* And I specified the licenses without a prefix, since they are not
needed in this module yet. We only need to prefix licenses when there is
a namespace collision between licenses and same-named packages, for
example with 'expat'.
J
(name . Leo Famulari)(address . leo@famulari.name)
20211122182356.GB3193@gac.attlocal.net
On Mon, 22 Nov 2021 16:20:27 -0500 Leo Famulari <leo@famulari.name> wrote:
Toggle quote (13 lines)
> On Thu, Nov 18, 2021 at 08:22:18PM -0500, jgart via Guix-patches via wrote:
> > * gnu/packages/spreadsheet-apps.scm: New file.
> > * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
>
> Thanks!
>
> I pushed as 10fad03fcf6fdd2edbdab5f939e3c0edb11a88e2 with the following
> changes:
>
> * I named the module (gnu packages spreadsheet)
> * I removed some unused or duplicated module imports
> * I removed the visidata module from GNU_SYSTEM_MODULES

Oops I had forgotten to do that.

Toggle quote (5 lines)
> * And I specified the licenses without a prefix, since they are not
> needed in this module yet. We only need to prefix licenses when there is
> a namespace collision between licenses and same-named packages, for
> example with 'expat'.

That's good to know. I always wondered what was the reason for prefixing licenses... Now I know :)

Thank you! Much appreciated.

all best,

jgart
?