gnu: gf2x: Update to 1.3.0.
[jackhill/guix/guix.git] / gnu / packages / spreadsheet.scm
CommitLineData
c4bc557c 1;;; GNU Guix --- Functional package management for GNU
fcb5b317 2;;; Copyright © 2020, 2021 Ryan Prior <rprior@protonmail.com>
c4bc557c
JG
3;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
4;;; Copyright © 2021 Jorge Gomez <jgart@dismail.de>
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages spreadsheet)
22 #:use-module (guix packages)
23 #:use-module (guix git-download)
24 #:use-module (guix download)
25 #:use-module (guix utils)
26 #:use-module (guix build-system gnu)
10fad03f 27 #:use-module (guix build-system python)
c4bc557c
JG
28 #:use-module (guix licenses)
29 #:use-module (gnu packages base)
10fad03f
JG
30 #:use-module (gnu packages bison)
31 #:use-module (gnu packages check)
32 #:use-module (gnu packages compression)
c4bc557c 33 #:use-module (gnu packages maths)
10fad03f
JG
34 #:use-module (gnu packages ncurses)
35 #:use-module (gnu packages time)
36 #:use-module (gnu packages pkg-config)
37 #:use-module (gnu packages python-web)
38 #:use-module (gnu packages python-xyz)
c4bc557c 39 #:use-module (gnu packages statistics)
10fad03f 40 #:use-module (gnu packages xml))
c4bc557c
JG
41
42(define-public sc-im
43 (package
44 (name "sc-im")
45 (version "0.8.2")
46 (home-page "https://github.com/andmarti1424/sc-im")
47 (source (origin
48 (method git-fetch)
49 (uri
50 (git-reference
51 (url home-page)
52 (commit (string-append "v" version))))
53 (file-name (git-file-name name version))
54 (sha256
55 (base32
56 "1nrjnw8sg75i0hkcbvjv7gydjddxjm27d5m1qczpg29fk9991q8z"))))
57 (build-system gnu-build-system)
58 (arguments
59 ;; There are no tests at the moment.
60 ;; https://github.com/andmarti1424/sc-im/issues/537
61 ;; https://github.com/andmarti1424/sc-im/pull/385
62 `(#:tests? #f
63 #:make-flags (list "-C" "src"
64 (string-append "CC=" ,(cc-for-target))
65 (string-append "prefix=" %output))
66 #:phases
67 (modify-phases
68 %standard-phases
69 (delete 'configure))))
70 (inputs
8394619b
LC
71 (list gnuplot
72 libxls
73 libxlsxwriter
74 libxml2
75 libzip
76 ncurses))
c4bc557c 77 (native-inputs
8394619b 78 (list pkg-config which bison))
c4bc557c
JG
79 (synopsis "Spreadsheet program with vim-like keybindings")
80 (description
81 "@code{sc-im} is a highly configurable spreadsheet program
82 providing a vim-like experience. @code{sc-im} supports @{gnuplot} interaction,
83 functions for sorting and filtering, 256 color support, and much more.")
84 (license bsd-4)))
10fad03f
JG
85
86(define-public visidata
87 (package
88 (name "visidata")
fcb5b317 89 (version "2.8")
10fad03f
JG
90 (source
91 (origin
92 (method url-fetch)
93 (uri (pypi-uri "visidata" version))
94 (sha256
95 (base32
fcb5b317 96 "1jfhrk0xvzzqfzs0khbig2dc94718qki8zys1f1a9553vjncvmi6"))))
10fad03f
JG
97 (build-system python-build-system)
98 (arguments
99 '(#:phases
100 (modify-phases %standard-phases
101 (replace 'check
102 (lambda* (#:key tests? #:allow-other-keys)
103 (when tests? (invoke "pytest"))
104 #t)))))
105 (inputs
fcb5b317
RP
106 (list python-dateutil
107 python-requests
108 python-lxml
109 python-openpyxl
110 python-xlrd))
10fad03f 111 (native-inputs
fcb5b317 112 (list python-pytest))
10fad03f
JG
113 (synopsis "Terminal spreadsheet multitool for discovering and arranging data")
114 (description
115 "VisiData is an interactive multitool for tabular data. It combines the
116clarity of a spreadsheet, the efficiency of the terminal, and the power of
117Python, into a lightweight utility which can handle millions of rows.")
118 (home-page "https://www.visidata.org/")
119 (license gpl3)))