aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020, 2021 Ryan Prior <rprior@protonmail.com>
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021, 2023-2024 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 spreadsheet)
  #:use-module (guix packages)
  #:use-module (guix gexp)
  #:use-module (guix git-download)
  #:use-module (guix download)
  #:use-module (guix utils)
  #:use-module (guix build-system gnu)
  #:use-module (guix build-system python)
  #:use-module (guix licenses)
  #:use-module (gnu packages base)
  #:use-module (gnu packages bash)
  #:use-module (gnu packages bison)
  #:use-module (gnu packages check)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages maths)
  #: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 statistics)
  #:use-module (gnu packages valgrind)
  #:use-module (gnu packages xml))

(define-public sc-im
    (package
      (name "sc-im")
      (version "0.8.3")
      (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
                    "10x50smn0xl9k6m0bgfcvpwgvivmjkysawvc4zyibc8nxlqz2na2"))))
      (build-system gnu-build-system)
      (arguments
        (list
         #:make-flags
           #~(list "-C" "src"
                   (string-append "CC=" #$(cc-for-target))
                   (string-append "prefix=" #$output))
          #:phases
            #~(modify-phases %standard-phases
                 (delete 'configure)
                 (add-after 'unpack 'fix-bash-path-declaration-in-script
                   (lambda _
                     (substitute* "tests/run_all_tests.sh"
                       (("/bin/bash") (string-append "#!" (which "bash"))))))
                 (replace 'check
                   (lambda* (#:key tests? #:allow-other-keys)
                     (with-directory-excursion "tests"
                       (when tests?
                         (invoke "bash" "run_all_tests.sh"))))))))
      (inputs
        (list gnuplot
              libxls
              libxlsxwriter
              libxml2
              libzip
              ncurses))
      (native-inputs
        (list bash-minimal
              bison
              pkg-config
              valgrind
              which))
      (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 bsd-4)))

(define-public visidata
  (package
    (name "visidata")
    (version "3.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "visidata" version))
       (sha256
        (base32
         "0nn0fwm0172gn5ffil310k7hmxqrrc1dn6xfz7jxsj0vikq8vhrq"))))
    (build-system python-build-system)
    (arguments
     (list #:phases
           #~(modify-phases %standard-phases
               (replace 'check
                 (lambda* (#:key tests? #:allow-other-keys)
                   (when tests? (invoke "pytest")))))))
    (inputs
     (list python-dateutil
           python-importlib-metadata
           python-requests
           python-lxml
           python-openpyxl
           python-xlrd))
    (native-inputs
     (list 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 gpl3)))
an class='msg-avail'>...* gnu/packages/crates-io.scm (rust-unicode-width-0.1): Update to 0.1.8. Efraim Flashner 2020-10-12gnu: rust-clang-sys: Fix package references....* gnu/packages/crates-io.scm (rust-clang-sys-1)[inputs]: Rename clang to libclang. [arguments]: Adjust package reference accordingly. Efraim Flashner 2020-10-12gnu: rust-core-foundation-0.7: Downgrade to 0.7.0....0.7.1 was pulled by upstream. * gnu/packages/crates-io.scm (rust-core-foundation-0.7): Downgrade to 0.7.0. [arguments]: Skip build. Efraim Flashner 2020-10-12gnu: rust-tokio-util-0.3: Skip tests....* gnu/packages/crates-io.scm (rust-tokio-util-0.3)[arguments]: Skip tests. Efraim Flashner 2020-10-12gnu: rust-xml-rs-0.7: Downgrade to 0.7.0....0.7.1 was pulled by upstream. * gnu/packages/crates-io.scm (rust-xml-rs-0.7): Downgrade to 0.7.0. [source]: Remove snippet. [arguments]: Only test the libs. In cargo-inputs remove rust-doc-comment-0.3, rust-lazy-static-1, add rust-bitflags-1. Efraim Flashner 2020-10-12gnu: rust-syn-0.11: Skip tests....* gnu/packages/crates-io.scm (rust-syn-0.11)[arguments]: Skip tests. Efraim Flashner 2020-10-12gnu: rust-fluid-attributes-0.4: Skip tests....* gnu/packages/crates-io.scm (rust-fluid-attributes-0.4)[arguments]: Skip tests. Efraim Flashner 2020-10-12gnu: rust-xz2-0.1: Fix building....* gnu/packages/crates-io.scm (rust-xz2-0.1)[native-inputs]: Add pkg-config, xz. Efraim Flashner 2020-10-12gnu: rust-pq-sys-0.4: Fix building....* gnu/packages/crates-io.scm (rust-pq-sys-0.4)[arguments]: Move crates from cargo-development-inputs to cargo-inputs. [native-inputs]: Add postgresql. Efraim Flashner 2020-10-12gnu: rust-crc-1: Downgrade to 1.8.1....1.9.0 was pulled by upstream. * gnu/packages/crates-io.scm (rust-crc-1): Downgrade to 1.8.1. [arguments]: Remove rust-criterion-0.2 from cargo-development-inputs. Efraim Flashner 2020-10-12gnu: rust-core-foundation-0.6: Fix building....* gnu/packages/crates-io.scm (rust-core-foundation-0.6)[arguments]: Replace rust-core-foundation-sys-0.7 with 0.6 in cargo-inputs. Skip tests. Efraim Flashner 2020-10-12gnu: rust-as-slice-0.1: Update to 0.1.4....* gnu/packages/crates-io.scm (rust-as-slice-0.1): Update to 0.1.4. [arguments]: Add rust-generic-array-0.14 to cargo-inputs. Efraim Flashner 2020-10-12gnu: rust-as-slice-0.1: Fix build....* gnu/packages/crates-io.scm (rust-as-slice-0.1)[arguments]: Add rust-generic-array-0.13 to cargo-inputs. Efraim Flashner 2020-10-12gnu: rust-mysqlclient-sys-0.2: Fix build....* gnu/packages/crates-io.scm (rust-mysqlclient-sys-0.2)[arguments]: Move rust-pkg-config-0.3, rust-vcpkg-0.2 from cargo-development-inputs to cargo-inputs. [native-inputs]: Add mariadb:lib. Efraim Flashner 2020-10-12gnu: rust-cloudabi-0.1: Skip build....* gnu/packages/crates-io.scm (rust-cloudabi-0.1)[arguments]: Skip build. Efraim Flashner 2020-10-12gnu: rust-libmimalloc-sys-0.1: Update to 0.1.18....* gnu/packages/crates-io.scm (rust-libmimalloc-sys-0.1): Update to 0.1.18. Efraim Flashner 2020-10-12gnu: rust-libmimalloc-sys-0.1: Fix building....* gnu/packages/crates-io.scm (rust-libmimalloc-sys-0.1)[arguments]: Move rust-cmake-0.1 from cargo-development-inputs to cargo-inputs. [native-inputs]: Add cmake-minimal. Efraim Flashner 2020-10-12gnu: rust-once-cell-1: Fix building....* gnu/packages/crates-io.scm (rust-once-cell-1)[arguments]: Replace rust-parking-lot-0.10 with 0.11 in cargo-inputs. Efraim Flashner 2020-10-12gnu: rust-criterion-plot-0.4: Fix building....* gnu/packages/crates-io.scm (rust-criterion-plot-0.4)[arguments]: Replace rust-itertools-0.8 with 0.9 in cargo-inputs. Efraim Flashner 2020-10-12gnu: rust-zstd-sys-1: Adjust crate imports....* gnu/packages/crates-io.scm (rust-zstd-sys-1)[arguments]: Move all cargo-development-inputs to cargo-inputs. Efraim Flashner 2020-10-12gnu: Add rust-swc-1....* gnu/packages/crates-io.scm (rust-swc-1): New variable. Arun Isaac 2020-10-12gnu: Add rust-radix-fmt-1....* gnu/packages/crates-io.scm (rust-radix-fmt-1): New variable. Arun Isaac 2020-10-12gnu: Add rust-st-map-0.1....* gnu/packages/crates-io.scm (rust-st-map-0.1): New variable. Arun Isaac 2020-10-12gnu: Add rust-fluid-0.4....* gnu/packages/crates-io.scm (rust-fluid-0.4): New variable. Arun Isaac 2020-10-12gnu: Add rust-fluid-attributes-0.4....* gnu/packages/crates-io.scm (rust-fluid-attributes-0.4): New variable. Arun Isaac 2020-10-12gnu: Add rust-sourcemap-6....* gnu/packages/crates-io.scm (rust-sourcemap-6): New variable. Arun Isaac 2020-10-12gnu: Add rust-path-clean-0.1....* gnu/packages/crates-io.scm (rust-path-clean-0.1): New variable. Arun Isaac 2020-10-12gnu: Add rust-is-macro-0.1....* gnu/packages/crates-io.scm (rust-is-macro-0.1): New variable. Arun Isaac 2020-10-12gnu: Add rust-ipconfig-0.2....* gnu/packages/crates-io.scm (rust-ipconfig-0.2): New variable. Arun Isaac 2020-10-12gnu: Add rust-napi-0.5....* gnu/packages/crates-io.scm (rust-napi-0.5): New variable. Arun Isaac 2020-10-12gnu: Add rust-napi-build-0.2....* gnu/packages/crates-io.scm (rust-napi-build-0.2): New variable. Arun Isaac 2020-10-12gnu: Add rust-napi-sys-0.4....* gnu/packages/crates-io.scm (rust-napi-sys-0.4): New variable. Arun Isaac 2020-10-12gnu: rust-syn-1: Update to 1.0.40....* gnu/packages/crates-io.scm (rust-syn-1): Update to 1.0.40. (arguments): Add rust-insta-0.16, rust-reqwest-0.10 and rust-syn-test-suite-0 to cargo-development-inputs. Arun Isaac 2020-10-12gnu: Add rust-reqwest-0.10....* gnu/packages/crates-io.scm (rust-reqwest-0.10): New variable. Arun Isaac 2020-10-12gnu: Add rust-hyper-rustls-0.21....* gnu/packages/crates-io.scm (rust-hyper-rustls-0.21): New variable. Arun Isaac 2020-10-12gnu: Add rust-rustls-native-certs-0.4....* gnu/packages/crates-io.scm (rust-rustls-native-certs-0.4): New variable. Arun Isaac 2020-10-12gnu: Add rust-hyper-tls-0.4....* gnu/packages/crates-io.scm (rust-hyper-tls-0.4): New variable. (rust-hyper-tls-0.3): Inherit from rust-hyper-tls-0.4. Arun Isaac 2020-10-12gnu: Add rust-mime-guess-2....* gnu/packages/crates-io.scm (rust-mime-guess-2): New variable. Arun Isaac 2020-10-12gnu: Add rust-trust-dns-resolver-0.19....* gnu/packages/crates-io.scm (rust-trust-dns-resolver-0.19): New variable. Arun Isaac