aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018, 2019, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; 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 slang)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix gexp)
  #:use-module (guix utils)
  #:use-module (guix build-system gnu)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (gnu packages readline)
  #:use-module (gnu packages ncurses)
  #:use-module (gnu packages popt)
  #:use-module (gnu packages fribidi)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages image)
  #:use-module (gnu packages pcre)
  #:use-module (gnu packages python))

(define-public slang
  (package
    (name "slang")
    (version "2.3.3")
    (source (origin
              (method url-fetch)
              (uri (string-append "http://www.jedsoft.org/releases/slang/slang-"
                                  version ".tar.bz2"))
              (sha256
               (base32
                "062siwy785q699y3plnsbhy0xlaxdm485sh82b37668kmra5057r"))
              (modules '((guix build utils)))
              (snippet
               #~(begin
                   (substitute* "src/Makefile.in"
                     (("/bin/ln") "ln"))))))
    (build-system gnu-build-system)
    (arguments
     (list #:parallel-tests? #f
           #:parallel-build? #f         ; race to build/use elfobj
           #:phases
           #~(modify-phases %standard-phases
               (add-after 'unpack 'reduce-array-test-size
                 ;; Fix array.sl/array.slc failure on 32-bit systems ("Unable to
                 ;; to create a multi-dimensional array of the desired size").
                 (lambda _
                   (substitute* "src/test/array.sl"
                     (("10000,10000,10000,10000,10000,10000")
                      "10,10,10,10,10,10"))))
               (add-before 'configure 'fix-configure-script
                 ;; Don't try to link to the long-obsolete (and gone) -ltermcap.
                 (lambda _
                   (substitute* "configure"
                     (("(MISC_TERMINFO_DIRS)=.*" _ variable)
                      (format #f "~a=\"~a/share/terminfo\"\n" variable
                              #$(this-package-input "ncurses")))))))))
    (inputs
     (list readline zlib libpng pcre ncurses))
    (home-page "https://www.jedsoft.org/slang/")
    (synopsis "Library for interactive applications and extensibility")
    (description
     "S-Lang is a multi-platform programmer's library designed to allow a
developer to create robust multi-platform software.  It provides facilities
required by interactive applications such as display/screen management,
keyboard input, keymaps, and so on.  The most exciting feature of the library
is the slang interpreter that may be easily embedded into a program to make it
extensible.  While the emphasis has always been on the embedded nature of the
interpreter, it may also be used in a stand-alone fashion through the use of
slsh, which is part of the S-Lang distribution.")
    (license license:gpl2+)))

(define-public most
  (package
    (name "most")
    (version "5.1.0")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "http://www.jedsoft.org/releases/most/most-"
                           version ".tar.gz"))
       (sha256
        (base32 "008537ns659pw2aag15imwjrxj73j26aqq90h285is6kz8gmv06v"))
       (modules '((guix build utils)))
       (snippet
        #~(begin
            (substitute* "src/Makefile.in"
              (("/bin/cp") "cp"))))))
    (build-system gnu-build-system)
    (arguments
     (list #:configure-flags
           #~(list (string-append "--with-slang="
                                  #$(this-package-input "slang")))
           #:tests? #f                  ; no test suite
           #:phases
           #~(modify-phases %standard-phases
               (add-before 'configure 'fix-configure-script
                 ;; Don't try to link to the long-obsolete (and gone) -ltermcap.
                 (lambda _
                   (substitute* "configure"
                     (("(MISC_TERMINFO_DIRS)=.*" _ variable)
                      (format #f "~a=\"~a/share/terminfo\"\n" variable
                              #$(this-package-input "ncurses")))))))))
    (inputs
     (list ncurses slang))
    (home-page "https://www.jedsoft.org/most/")
    (synopsis
     "@dfn{Pager} (terminal text viewer) with multiple windows and filters")
    (description
     "Most is a paging text viewer.  It displays the contents of a file or the
output of a command on the terminal, one screenful at a time, and lets you
scroll up and down to (re)view the entire text.

You can open multiple windows within @command{most} to view different files, or
to inspect different parts of the same file, at the same time.")
    (license license:gpl2+)))

(define-public newt
  (package
    (name "newt")
    (version "0.52.21")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://pagure.io/releases/newt/"
                                  "newt-" version ".tar.gz"))
              (sha256
               (base32
                "0cdvbancr7y4nrj8257y5n45hmhizr8isynagy4fpsnpammv8pi6"))))
    (build-system gnu-build-system)
    (outputs '("out" "python"))
    (inputs
     (list slang popt python fribidi))
    (arguments
     (list
       #:tests? #f    ; no test suite
       #:configure-flags
       ;; Set the correct RUNPATH in binaries.
       #~(list (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
       #:make-flags
       ;; configure uses a hard-coded search of /usr/include/python* to set
       ;; this variable, and does not allow us to override it from the
       ;; command line.  Fortunately, the Makefile does, so provide it here.
       #~(list
          (string-append "PYTHONVERS=python"
                         #$(version-major+minor (package-version python))))
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'patch-/usr/bin/install
             (lambda _
               (substitute* "po/Makefile"
                 (("/usr/bin/install") "install"))))
           (add-before 'build 'add-python-config-to-path
             (lambda* (#:key target #:allow-other-keys)
               ;; When cross-compiling python-config is not present in $PATH.
               ;;
               ;; It is a shell script without dependencies on target binaries
               ;; so it can be run on the host to allow cross-compilation.
               (when target
                 (let ((path (getenv "PATH"))
                       (py (string-append #$python "/bin")))
                   (setenv "PATH" (string-append path ":" py))))))
           (add-after 'install 'move-python
             (lambda* _
               (let ((ver #$(version-major+minor (package-version python))))
                 (mkdir-p (string-append #$output:python "/lib"))
                 (rename-file
                   (string-append #$output "/lib/python" ver)
                   (string-append #$output:python  "/lib/python" ver))))))))
    (home-page "https://pagure.io/newt")
    (synopsis "Not Erik's Windowing Toolkit - text mode windowing with slang")
    (description
     "Newt is a windowing toolkit for text mode built from the slang library.
It allows color text mode applications to easily use stackable windows, push
buttons, check boxes, radio buttons, lists, entry fields, labels, and
displayable text.  Scrollbars are supported, and forms may be nested to
provide extra functionality.")
    (license license:lgpl2.0)))
2024-07-15gnu: packages/golang: Set default go version to 1.21....Golang versions 1.17 (02 Aug 2022), 1.18 (01 Feb 2023), 1.19 (06 Sep 2023) and 1.20 (06 Feb 2024) are EOL <https://endoflife.date/go>. These changes set preferable default version to the minimal currently maintained one e.g. 1.21 * gnu/packages/golang.scm (go): Set default to go-1.21, add annotation for the future maintenance. Remove field <#:go> setting Golang version to go-1.18, go-1.19, 1.20 and 1.21: * gnu/packages/admin.scm * gnu/packages/configuration-management.scm * gnu/packages/databases.scm * gnu/packages/disk.scm * gnu/packages/education.scm * gnu/packages/file-systems.scm * gnu/packages/finance.scm * gnu/packages/golang-check.scm * gnu/packages/golang-crypto.scm * gnu/packages/golang-web.scm * gnu/packages/golang-xyz.scm * gnu/packages/golang.scm * gnu/packages/high-availability.scm * gnu/packages/ipfs.scm * gnu/packages/irc.scm * gnu/packages/messaging.scm * gnu/packages/networking.scm * gnu/packages/syncthing.scm * gnu/packages/textutils.scm * gnu/packages/time.scm * gnu/packages/version-control.scm * gnu/packages/video.scm Change-Id: Ieba6a5d7a18423f838d14c02ad55a2ba9c8559eb Sharlatan Hellseher 2024-07-06gnu: weechat: Update to 4.3.4....* gnu/packages/irc.scm (weechat) : Update to 4.3.4. Change-Id: I506928ee0cdf7a349b8609b29c28060bf5661fe9 Signed-off-by: Vinicius Monego <monego@posteo.net> Ashish SHUKLA 2024-06-29gnu: Upgrade to Stackage 20.26....* guix/import/stackage.scm (%default-lts-version): Upgrade to Stackage 20.26. * gnu/packages/patches/ghc-aeson-encodeDouble.patch: New file. * gnu/packages/patches/ghc-clock-realfrag.patch: New file. * gnu/local.mk: Register them. * gnu/packages/haskell-check.scm (ghc-tasty-hedgehog): Update. (ghc-tasty-hspec): Update. (ghc-tasty-expected-failure): Update. (ghc-quickcheck-instances): Update. (ghc-quickcheck-io): Update. (ghc-hspec-contrib): Update. * gnu/packages/haskell-crypto.scm (ghc-curve25519): Update. (ghc-tls): Update. * gnu/packages/haskell-web.scm (ghc-tagsoup): Update. (ghc-http2): Update. (ghc-wai-websockets): Update. (ghc-aeson): Update. (ghc-clientsession): Update. (ghc-yesod-core): Update. (ghc-yesod-persistent): Update. (ghc-wai-cors): Update. * gnu/packages/haskell-xyz.scm (ghc-abstract-par): Update. (ghc-adjunctions): Update. (ghc-aeson-diff): Update. (ghc-base16-bytestring): Update. (ghc-base-compat): Update. (ghc-base-compat-batteries): Update. (ghc-basement): Update. (ghc-bencode): Update. (ghc-bytestring-handle): Update. (ghc-c2hs): Update. (ghc-cassava-megaparsec): Update. (ghc-cborg): Update. (ghc-charset): Update. (ghc-chasingbottoms): Update. (ghc-clock): Update. (ghc-cmark-gfm): Update. (ghc-concurrent-extra): Update. (ghc-concurrent-output): Update. (ghc-conduit-extra): Update. (ghc-constraints): Update. (ghc-convertible): Update. (ghc-csv): Update. (ghc-data-accessor): Update. (ghc-data-ordlist): Update. (ghc-dense-linear-algebra): Update. (ghc-diagrams-core): Update. (ghc-diff): Update. (ghc-dual-tree): Update. (ghc-either): Update. (ghc-errors): Update. (ghc-esqueleto): Update. (ghc-exactprint): Update. (ghc-extensible-exceptions): Update. (ghc-fail): Update. (ghc-filepath-bytestring): Update. (ghc-fingertree): Update. (ghc-fmlist): Update. (ghc-foldl): Update. (ghc-free): Update. (ghc-fsnotify): Update. (ghc-generic-random): Update. (ghc-genvalidity-property): Update. (ghc-groups): Update. (ghc-hackage-security): Update. (ghc-half): Update. (ghc-hashtables): Update. (ghc-haskell-src): Update. (ghc-haskell-src-exts-util): Update. (ghc-hourglass): Update. (ghc-hpack): Update. (ghc-hslua): Update. (ghc-hslua-module-system): Update. (ghc-http-api-data): Update. (ghc-ini): Update. (ghc-inline-c): Update. (ghc-inline-c-cpp): Update. (ghc-interpolate): Update. (ghc-intervals): Update. (ghc-invariant): Update. (ghc-io-streams): Update. (ghc-ipynb): Update. (ghc-kan-extensions): Update. (ghc-lens): Update. (ghc-libmpd): Update. (ghc-libyaml): Update. (ghc-lifted-async): Update. (ghc-linear): Update. (ghc-listlike): Update. (ghc-logict): Update. (ghc-lucid): Update. (ghc-lzma-conduit): Update. (ghc-magic): Update. (ghc-microlens-ghc): Update. (ghc-microlens-mtl): Update. (ghc-microlens-platform): Update. (ghc-missingh): Update. (ghc-mmorph): Update. (ghc-monad-control): Update. (ghc-monad-logger): Update. (ghc-monoid-extras): Update. (ghc-murmur-hash): Update. (ghc-ncurses): Update. (ghc-network-info): Update. (ghc-newtype-generics): Update. (ghc-openglraw): Update. (ghc-text-conversions): Update. (ghc-text-icu): Update. (ghc-text-short): Update. (ghc-text-zipper): Update. (ghc-parsers): Update. (ghc-path): Update. (ghc-peano): Update. (ghc-persistent): Update. (ghc-persistent-sqlite): Update. (ghc-process-extras): Update. (ghc-indexed-profunctors): Update. (ghc-project-template): Update. (ghc-psqueues): Update. (ghc-random): Update. (ghc-reducers): Update. (ghc-refact): Update. (ghc-regex-posix): Update. (ghc-resourcet): Update. (ghc-sdl): Update. (ghc-sdl2-image): Update. (ghc-sdl2-mixer): Update. (ghc-sdl2-ttf): Update. (ghc-sdl2-gfx): Update. (ghc-semigroupoids): Update. (ghc-semigroups): Update. (ghc-shakespeare): Update. (ghc-shelly): Update. (ghc-simple-reflect): Update. (ghc-size-based): Update. (ghc-skylighting-format-latex): Update. (ghc-skylighting-format-ansi): Update. (ghc-skylighting): Update. (ghc-sop-core): Update. (ghc-split): Update. (ghc-splitmix): Update. (ghc-statevar): Update. (ghc-statistics): Update. (ghc-stm-conduit): Update. (ghc-storable-complex): Update. (ghc-storablevector): Update. (ghc-svg-builder): Update. (ghc-temporary-rc): Update. (ghc-terminal-size): Update. (ghc-text-manipulate): Update. (ghc-th-abstraction): Update. (ghc-th-expand-syns): Update. (ghc-th-lift-instances): Update. (ghc-th-orphans): Update. (ghc-timezone-series): Update. (ghc-timezone-olson): Update. (ghc-tldr): Update. (ghc-transformers-compat): Update. (ghc-exception-transformers): Update. (ghc-trifecta): Update. (ghc-turtle): Update. (ghc-unagi-chan): Update. (ghc-unexceptionalio): Update. (ghc-unicode-transforms): Update. (ghc-unix-compat): Update. (ghc-unix-time): Update. (ghc-unliftio): Update. (ghc-commutative-semigroups): Update. (ghc-utf8-string): Update. (ghc-void): Update. (ghc-wl-pprint-text): Update. (ghc-x11-xft): Update. (ghc-xml): Update. (ghc-xml-hamlet): Update. (ghc-yaml): Update. (ghc-zip-archive): Update. (ghc-zlib): Update. (ghc-zstd): Update. (ghc-keys): Update. (ghc-pointed): Update. (ghc-lift-type): Update. (ghc-unicode-collation): Update. (ghc-citeproc): Update. (ghc-commonmark): Update. (ghc-commonmark-extensions): Update. (ghc-genvalidity-hspec): Update. (ghc-netlink): Update. (ghc-doctest-driver-gen): Update. (ghc-mysql): Update. (ghc-persistent-qq): Update. (ghc-persistent-mysql): Update. (ghc-string-conversions): Update. (ghc-postgresql-simple): Update. (ghc-persistent-postgresql): Update. (ghc-filtrable): Update. (ghc-hsyaml-aeson): Update. (ghc-singleton-bool): Update. (ghc-git-lfs): Update. (ghc-nothunks): Update. (ghc-onetuple): Update. (ghc-doctest-parallel): Update. (ghc-ordered-containers): Update. (ghc-hslua-marshalling): Update. (ghc-gridtables): Update. (ghc-should-not-typecheck): Update. (ghc-servant-server): Update. (ghc-recv): Update. (ghc-glib): Update. (ghc-pango): Update. (ghc-monoidal-containers): Update. (ghc-newtype): Update. (ghc-random-shuffle): Update. (ghc-ref-tf): Update. * gnu/packages/irc.scm (glirc): Update. * gnu/packages/purescript.scm (purescript): Update. * gnu/packages/wm.scm (icewm): Update. (ghc-xmobar): Update. Change-Id: I26ef7c2ef06e3075eba3da21947f16708c437f98 Lars-Dominik Braun 2024-06-23gnu: weechat: Update to 4.3.3....* gnu/packages/irc.scm (weechat): Update to 4.3.3. Change-Id: I6345f49e19e4901fd4ab4aa26087461883c532d7 Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn> Ashish SHUKLA 2024-06-11gnu: catgirl: Update to 2.2a....* gnu/packages/irc.scm (catgirl): Update to 2.2a. Change-Id: I72b832ed92dc351cabea0fb344e1402b3340b1e2 jgart 2024-05-31gnu: weechat: Update to 4.3.0....* gnu/packages/irc.scm (weechat): Update to 4.3.0. [input]: Add dependency on cjson. Change-Id: I30d326638430828c6967a6e6859120300b511a84 Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn> Ashish SHUKLA 2024-05-11gnu: weechat: Update to 4.2.2....* gnu/packages/irc.scm (weechat): Update to 4.2.2. Change-Id: I600369749f6a59ae83b312192589bbfdae61e0fe Vinicius Monego 2024-05-07gnu: Add soju....* gnu/packages/irc.scm (soju): New variable.. Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com> Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com> Change-Id: I18b7e574339e98fdf2623338aac1635c8e727699 Jesse Eisses 2024-05-07gnu: Add go-gopkg-in-irc-v4....* gnu/packages/irc.scm (go-gopkg-in-irc-v4): New variable. Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com> Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com> Change-Id: Ie1afdde3d1a23154e592445b5ce91e5918c6c822 Jesse Eisses 2024-05-07gnu: go-gopkg-in-irc-v3: Enable tests....* gnu/packages/irc.scm (go-gopkg-in-irc-v3): Enable tests, remove input lables. [propagated-inputs]: Remove go-github-com-stretchr-testify. [native-inputs]: Add go-github-com-stretchr-testify and python-irc-parser-tests. Change-Id: I83c8094e9417052781993c3cde900c47875a2029 Sharlatan Hellseher 2024-05-07gnu: Add python-irc-parser-tests....* gnu/packages/irc.scm (python-irc-parser-tests): New variable. Change-Id: Iaffea626ed06e228562b3c92123d30c9712de7c3 Sharlatan Hellseher 2024-04-06gnu: Add missing import....Fixes a regression introduced in dccc807eb24791facc9e3144643f1526d101803e. * gnu/packages/irc.scm: Add missing import. Change-Id: I2b015939ba57ee61532b99c8e88e39217fa1cdd1 Ludovic Courtès 2024-03-31gnu: weechat: Update to 4.2.1....* gnu/packages/irc.scm (weechat): Update to 4.2.1. Change-Id: I9b36ce659762aac88f940d2946304d5cd43c66ee Vinicius Monego 2024-02-13gnu: go-golang-org-x-sys: Move to golang-build....* gnu/packages/golang.scm (go-golang-org-x-sys): Move from here ... * gnu/packages/golang-build.scm: ... to here. * gnu/packages/curl.scm: Add (gnu packages golang-build) module. * gnu/packages/databases.scm: As above. * gnu/packages/docker.scm: As above. * gnu/packages/golang-build.scm: As above. * gnu/packages/golang.scm: As above. * gnu/packages/irc.scm: As above. * gnu/packages/linux.scm: As above. * gnu/packages/password-utils.scm: As above. * gnu/packages/syncthing.scm: As above. * gnu/packages/textutils.scm: As above. * gnu/packages/vpn.scm: As above. * gnu/packages/weather.scm: As above. * gnu/packages/web.scm: As above. Change-Id: I161e89cacb9aa87b4fbb643ecd9ad32cfe49c9d7 Sharlatan Hellseher 2024-02-05gnu: mbedtls-apache: Rename to mbedtls-lts....* gnu/packages/tls.scm (mbedtls-apache): Rename package to "mbedtls". Rename variable to… (mbedtls-lts): …this. (mbedtls-apache): Define as deprecated by mbedtls-lts. (mbedtls-for-hiawatha): Adjust accordingly. * doc/guix.texi: Likewise. * gnu/packages/emulators.scm (dolphin-emu,retroarch)[inputs]: Likewise. * gnu/packages/game-development.scm (godot-lts,godot)[inputs]: Likewise. * gnu/packages/hardware.scm (hueplusplus,openrgb)[inputs]: Likewise. * gnu/packages/haxe.scm (neko,haxe,hashlink)[inputs]: Likewise. * gnu/packages/irc.scm (inspircd)[inputs]: Likewise. * gnu/packages/julia-jll.scm (julia-mbedtls-jll)[arguments]<#:phases>,[inputs]: Likewise. * gnu/packages/julia.scm (julia)[arguments]<#:phases>,[inputs]: Likewise. * gnu/packages/linphone.scm (bctoolbox)[inputs]: Likewise. * gnu/packages/linux.scm (dislocker)[inputs]: Likewise. * gnu/packages/networking.scm (nng)[inputs]: Likewise. * gnu/packages/search.scm (dataparksearch)[inputs]: Likewise. * gnu/packages/video.scm (obs)[inputs]: Likewise. * gnu/packages/web.scm (hiawatha)[arguments]<#:phases>: Likewise. Change-Id: I0c58b3cd0bcf6e44e7b16a69f6d2739aa3c1545b Hilton Chain