aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; 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 screen)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix gexp)
  #:use-module (guix git-download)
  #:use-module (guix utils)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages bash)
  #:use-module (gnu packages crypto)
  #:use-module (gnu packages hurd)
  #:use-module (gnu packages linux)
  #:use-module (gnu packages ncurses)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages python)
  #:use-module (gnu packages slang)
  #:use-module (gnu packages texinfo))

(define-public screen
  (package
    (name "screen")
    (version "5.0.0")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/screen/screen-"
                                 version ".tar.gz"))
             (patches (search-patches "screen-hurd-path-max.patch"))
             (sha256
              (base32 "0wa9v6p7cna2scpimpvk9pgxaah80f4q0f2kln37qp0f1b83jjph"))))
    (build-system gnu-build-system)
    (native-inputs
     (list autoconf automake texinfo))
    (inputs
     (list libxcrypt linux-pam ncurses perl))
    (arguments
     `(#:configure-flags
         ;; GNU_SOURCE must be defined for mallocmock_reset() to be defined
         '("CFLAGS=-O2 -g -D_GNU_SOURCE=1"

       ;; By default, screen supports 16 colors, but we want 256 when
       ;; ~/.screenrc contains 'term xterm-256color'.
           "--enable-colors256")))
    (home-page "https://www.gnu.org/software/screen/")
    (synopsis "Full-screen window manager providing multiple terminals")
    (description
     "GNU Screen is a terminal window manager that multiplexes a single
terminal between several processes.  The virtual terminals each provide
features such as a scroll-back buffer and a copy-and-paste mechanism.  Screen
then manages the different virtual terminals, allowing you to easily switch
between them, to detach them from the current session, or even splitting the
view to show two terminals at once.")
    (license gpl2+)))

(define-public dtach
  (package
    (name "dtach")
    (version "0.9")
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://sourceforge/" name "/" name "/"
                                  version "/" name "-" version ".tar.gz"))
              (sha256
               (base32
                "1wwj2hlngi8qn2pisvhyfxxs8gyqjlgrrv5lz91w8ly54dlzvs9j"))))
    (build-system gnu-build-system)
    (arguments
     ;; No install target.
     '(#:phases
       (modify-phases %standard-phases
         (replace 'install
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out")))
               (install-file "dtach" (string-append out "/bin"))
               (install-file "dtach.1" (string-append out "/share/man/man1"))
               #t))))
       ;; No check target.
       #:tests? #f))
    (home-page "https://dtach.sourceforge.net/")
    (synopsis "Emulates the detach feature of screen")
    (description
     "dtach is a tiny program that emulates the detach feature of screen,
allowing you to run a program in an environment that is protected from the
controlling terminal and attach to it later.")
    (license gpl2+)))

(define-public byobu
  (package
    (name "byobu")
    (version "5.133")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "https://launchpad.net/byobu/trunk/"
                           version "/+download/byobu_"
                           version ".orig.tar.gz"))
       (sha256
        (base32 "0qvmmdnvwqbgbhn5c8asmrmjhclcl029py2d2zvmd7h5ij7s93jd"))
       (patches (search-patches "byobu-writable-status.patch"))))
    (build-system gnu-build-system)
    (inputs
     `(("bash" ,bash-minimal) ; for wrap-program
       ("python" ,python-wrapper)       ; for config and session GUIs
       ("python-newt" ,newt "python")))
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before
          'configure 'provide-locale
          (lambda* (#:key inputs #:allow-other-keys)
            (let ((libc (assoc-ref inputs "libc"))) ; implicit input
              (substitute* "usr/bin/byobu.in"
                (("locale") (string-append libc "/bin/locale")))
              #t)))
         (add-after
          'install 'wrap-python-scripts
          (lambda* (#:key inputs outputs #:allow-other-keys)
            (let* ((python (search-input-file inputs "/bin/python"))
                   (out    (assoc-ref outputs "out"))
                   (config (string-append out "/bin/byobu-config"))
                   (select (string-append out "/bin/byobu-select-session")))
              (wrap-program config
                `("BYOBU_PYTHON" = (,python))
                `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))))
              (wrap-program select
                `("BYOBU_PYTHON" = (,python)))
              #t))))))
    (home-page "https://byobu.org/")
    (synopsis "Text-based window manager and terminal multiplexer")
    (description
     "Byobu is a Japanese term for decorative, multi-panel screens that serve
as folding room dividers.  The Byobu software includes an enhanced profile,
configuration utilities, and system status notifications for the GNU Screen
window manager as well as the Tmux terminal multiplexer.")
    (license gpl3+)))

(define-public reptyr
  (package
    (name "reptyr")
    (version "0.10.0")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/nelhage/reptyr")
             (commit (string-append "reptyr-" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "03k95bf7b46g89j0hgfvra9d512z0ha7vw9358h9j67h9b5bylwf"))))
    (build-system gnu-build-system)
    (arguments
     (list #:tests? #f                      ; no tests
           #:make-flags
           #~(list (string-append "CC=" #$(cc-for-target))
                   (string-append "PREFIX=" #$output)
                   (string-append "BASHCOMPDIR=" #$output
                                  "/etc/bash_completion.d"))
           #:phases
           #~(modify-phases %standard-phases
               (delete 'configure))))         ; no configure script
    (home-page "https://github.com/nelhage/reptyr")
    (synopsis "Tool for reparenting a running program to a new terminal")
    (description
     "reptyr is a utility for taking an existing running program and attaching
it to a new terminal.  Started a long-running process over @code{ssh}, but have
to leave and don't want to interrupt it?  Just start a @code{screen}, use
reptyr to grab it, and then kill the @code{ssh} session and head on home.")
    ;; Reptyr currently does not support mips.
    (supported-systems (delete "mips64el-linux" %supported-systems))
    (license expat)))
>宋文武 2024-08-31gnu: dovecot: Add libxcrypt dependency....* gnu/packages/mail.scm (dovecot)[inputs]: Add libxcrypt. Change-Id: I0457ca46dd9d7c776cdf176a189994554bcde168 宋文武 2024-08-31gnu: exim: Add libxcrypt dependency....* gnu/packages/mail.scm (exim)[inputs]: Add libxcrypt. Change-Id: I7767ec43ecf67f3517f8b998c421907f3fda19b1 宋文武 2024-08-31gnu: mailutils: Add libxcrypt dependency....* gnu/packages/mail.scm (mailutils): Add libxcrypt dependency. Change-Id: Ide005e58ffa6312350539f4b4f9648191a0bdc31 Josselin Poiret 2024-08-31gnu: mail: Add 'bash' input for 'wrap-program'....It is required for cross-compilation. * gnu/packages/mail.scm (astroid)[inputs]: Add 'bash-minimal'. (notifymuch)[inputs]: Likewise. (dkimproxy)[inputs]: Likewise. (swaks): Delete trailing #t. [inputs]: Add 'bash-minimal'. (mumi)[inputs]: Likewise. (public-inbox)[inputs]: Likewise. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I0ebdd60a5b33725548850d53676d181e10c71103 Maxime Devos 2024-08-31build-systems: gnu: Export %default-gnu-imported-modules and %default-gnu-mod......Until now users would have to cargo cult or inspect the private %default-modules variable of (guix build-systems gnu) to discover which modules to include when extending the used modules via the #:modules argument. The renaming was automated via the command: $ git grep -l %gnu-build-system-modules | xargs sed 's/%gnu-build-system-modules/%default-gnu-imported-modules/' -i * guix/build-system/gnu.scm (%gnu-build-system-modules): Rename to... (%default-gnu-imported-modules): ... this. (%default-modules): Rename to... (%default-gnu-modules): ... this. Export. (dist-package, gnu-build, gnu-cross-build): Adjust accordingly. Change-Id: Idef307fff13cb76f3182d782b26e1cd3a5c757ee Maxim Cournoyer 2024-08-18Replace some more occurrences of ‘setuid-programs’....* gnu/packages/containers.scm (podman, buildah)[arguments]: Substitute /run/privileged/bin for /run/setuid-programs. * gnu/packages/mail.scm (opensmtpd)[arguments]: Likewise. * gnu/packages/spice.scm (spice-gtk)[arguments]: Likewise. * gnu/packages/patches/enlightenment-fix-setuid-path.patch: Likewise. * gnu/packages/xdisorg.scm (xsecurelock)[description]: Rewrite example code to use the ‘privileged-program(s)’ terminology. * doc/guix-cookbook.texi (Network bridge for QEMU): Likewise. * gnu/packages/disk.scm (udevil)[arguments]: Update a comment. Change-Id: I7f467e8743a3ef556cd89bac41509bf51d9edb30 Tobias Geerinckx-Rice 2024-08-18gnu: opensmtpd: Fix cross-compilation....* gnu/packages/mail.scm (opensmtpd)[arguments]: Specify the correct, non-native ‘zcat’ in #:configure-flags. Fix the 'patch-FHS-file-names phase to do the same for ‘cat’ & ‘sh’. [inputs]: Add bash-minimal, coreutils, and gzip. Change-Id: I0877b982929b4931abf0fc82871d05cab9e888c0 Tobias Geerinckx-Rice 2024-08-18gnu: opensmtpd: Update to 7.5.0p0....* gnu/packages/mail.scm (opensmtpd): Update to 7.5.0p0. Change-Id: Ie54546a505f0d700754b6990998810c97f2cd5a1 Tobias Geerinckx-Rice 2024-08-19gnu: isync: Update to 1.5.0....* gnu/packages/mail.scm (isync): Update to 1.5.0. [source]: Remove unneeded patch. * gnu/packages/patches/isync-openssl3-fix.patch: Remove. * gnu/local.mk (dist_patch_DATA): Unregister it. Change-Id: Idf814371f94bdd2848aa06c5f4150d9ac8702f65 John Kehayias 2024-08-19gnu: mu: Update to 1.12.6....* gnu/packages/mail.scm (mu): Update to 1.12.6. Change-Id: Ibfbc2328b02dc29e29cf88a4522498ed12bb72e0 John Kehayias 2024-08-11gnu: dovecot-pigeonhole: Update to 0.5.21.1....* gnu/packages/mail.scm (dovecot-pigeonhole): Update to 0.5.21.1. Change-Id: Ib336af56a4f32af9314986abae34cb4c955e95e8 Tobias Geerinckx-Rice 2024-08-11gnu: dovecot: Update to 2.3.21.1 [fixes CVE-2024-23184, CVE-2024-23185]....* gnu/packages/mail.scm (dovecot): Update to 2.3.21.1. Change-Id: Ic70f05f0c8a556fd21ea1a7ed38893c21bf62625 Tobias Geerinckx-Rice 2024-08-08Merge remote-tracking branch 'origin/go-team'...Change-Id: Ib66e48c4cb84e9e97ebcec334ab0b9f3dbfb1457 Sharlatan Hellseher 2024-07-28gnu: Add hydroxide....* gnu/packages/mail.scm (hydroxide): New variable. Change-Id: Ic20d8d3d22afc4a580094bed64d0aa5059a1a9cf Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com> Jean SIMARD 2024-07-28gnu: aerc: Update to 0.18.1....* gnu/packages/mail.scm (aerc): Update to 0.18.1. [arguments]: <#:phases>: Adjust 'patch-paths phase to replace all occurrences of "sh" in all found *.go files. [inputs]: Add notmuch. [native-inputs]: Remove go-git-sr-ht-rockorager-tcell-term, go-git-sr-ht-sircmpwn-getopt, go-github-com-creack-pty, go-github-com-ddevault-go-libvterm, go-github-com-gdamore-tcell-v2, go-github-com-google-shlex, go-github-com-imdario-mergo, go-github-com-kyoh86-xdg, go-github-com-miolini-datacounter, go-github-com-mitchellh-go-homedir, go-github-com-xo-terminfo, and go-github-com-zenhack-go-notmuch; add go-git-sr-ht-rjarry-go-opt, go-git-sr-ht-rockorager-go-jmap, go-git-sr-ht-rockorager-vaxis, go-golang-org-x-image, go-golang-org-x-sys, and go-golang-org-x-tools. Change-Id: I4cd6de3fb90b33a1b421612c804ee2b01f6c8078 Sharlatan Hellseher 2024-07-28gnu: aerc: Adjust inputs....* gnu/packages/mail.scm (aerc): Move all Golang packages from [inputs] to [native-inputs] and sort alphabetically. Change-Id: Ie2a55f761f57050f877d6a8861eb380c958e8814 Sharlatan Hellseher 2024-07-28gnu: aerc: Fix indentation....* gnu/packages/mail.scm (aerc): Fix indentation. Change-Id: I9422a40880ec15f30b7ee2863d843c3334f3a974 Sharlatan Hellseher 2024-07-25gnu: Add bubger....* gnu/packages/mail.scm (bubger): New variable. Change-Id: I68a3d4dea546b8643ddef19d2bd3dd5edd263cb4 jgart 2024-07-24gnu: bower: Update to 1.1....* gnu/packages/mail.scm (bower): Update to 1.1. Change-Id: I240870755317de0b44b5c7af8ce9a77727649e7e jgart 2024-07-18gnu: exim: Update to 4.98 [security fixes]....Fixes CVE-2024-39929. * gnu/packages/mail.scm (exim): Update to 4.98. Change-Id: Iec780a9a718e256688aa531da2ce0b3183c3c7a4 Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn> Wilko Meyer 2024-07-09gnu: opensmtpd: Correct hard coded path....* gnu/packages/mail.scm (opensmtpd)[arguments]: Substitute non existent path. Change-Id: I6da8c3650be66f7e2297ea6174a66b7f0b1bc0c0 Signed-off-by: Andreas Enge <andreas@enge.fr> Felix Lechner 2024-07-07gnu: go-github-com-syndtr-goleveldb-leveldb: Rename variable....* gnu/packages/golang-xyz.scm (go-github-com-syndtr-goleveldb-leveldb): Rename variable to go-github-com-syndtr-goleveldb to reflect go.mode name. [arguments]: <#:import-path>: Adjust it to reflect go.mode import path. <#:phases>: Delete 'build phase; use custom 'check phase. * gnu/packages/ipfs.scm (kubo) [inputs]: Remove go-github-com-syndtr-goleveldb-leveldb. Add go-github-com-syndtr-goleveldb * gnu/packages/mail.scm: Likewise. Change-Id: I84c6a2b398adc7230494847215ccbd1cde73afc9 Sharlatan Hellseher 2024-07-01gnu: claws-mail: Update to 4.3.0....* gnu/packages/mail.scm (claws-mail): Update to 4.3.0. Change-Id: I19ee398cb595e77493c9ad79d9ae482950ffb459 Signed-off-by: jgart <jgart@dismail.de> kiasoc5 2024-06-24gnu: exim: Update to 4.97.1....* gnu/packages/mail.scm (exim): Update to 4.97.1. [inputs]: Add perl-file-fcntllock. [arguments]: Add fix-perl-file-names phase. Change-Id: Ide1ba09368c2b23fd8ab6d6cdae8887ccb7edbeb Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Wilko Meyer 2024-06-19gnu: emacs-notmuch: Install desktop files....* gnu/packages/mail.scm (emacs-notmuch)[arguments]: Add install-desktop-files phase. Change-Id: I9f3a049acb7062807a58d95ca526813caab0d563 Signed-off-by: jgart <jgart@dismail.de> Arun Isaac