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)))
/gnu/packages/inkscape.scm?id=8394619baceb118df92e355377fd543bb1aa501a'>gnu: Simplify package inputs....This commit was obtained by running: ./pre-inst-env guix style without any additional argument. Ludovic Courtès 2021-11-11gnu: libsoup: Update to 3.0.1....* gnu/packages/gnome.scm (libsoup-minimal): Update to 3.0.1. [modules]: Delete argument. [phases]{adjust-tests}: Re-enable ssl-test. [native-inputs]: Add gnutls, for tests. Move nghttp2:lib to... [propagated-inputs]: ... here. Add nghttp2, which contains the pkg-config files. (vala-0.52): Add older variant. (libsoup-minimal-2): New variable. (rest)[propagated-inputs]: Use libsoup-minimal-2. (geoclue)[inputs]: Likewise. * gnu/packages/inkscape.scm (inkscape)[inputs]: Likewise. Maxim Cournoyer 2021-11-11gnu: inkscape: Remove the legacy 0.92 version....The older 0.92 Inkscape package was previously kept because of problems building lib2geom on the ARM architectures. As this no longer appears to be a problem (tested on the overdrive1 machine), finally replace the older Inkscape by the newer 1.1 release. * gnu/packages/inkscape.scm (inkscape-1.1): Delete variable, moving the package definition to... (inkscape): ... the now single inkscape variable. Remove trailing #t. [tests?]: Remove. [phases]{generate-gdk-pixbuf-loaders-cache-file}: Add phase. Maxim Cournoyer 2021-11-03Merge remote-tracking branch 'origin/master' into core-updates-frozenEfraim Flashner 2021-11-03gnu: inkscape@1.1: Update to 1.1.1....* gnu/packages/inkscape.scm (inkscape-1.1): Update to 1.1.1. [source]: Remove patch. Don't explicitly return #t from snippet. [arguments]: Don't explicitly return #t from phases. * gnu/packages/patches/inkscape-1.1-fix-build-witch-gcc7.5.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. Tobias Geerinckx-Rice 2021-10-02gnu: Update gtkmm to 4.2.0, add gtkmm@3, and adjust gtkmm@2....* gnu/packages/gtk.scm (gtkmm)[version]: Update to 4.2.0. [arguments](meson): New argument. [native-inputs]: Add glib:bin. [propagated-inputs]: Replace gtk+ with gtk. (gtkmm-3): New variable. (gtkmm-2)[arguments]: Strip certain inherited arguments. * gnu/packages/animation.scm (synfigstudio)[inputs]: Switch to gtkmm-3. * gnu/packages/astronomy.scm (stackistry)[inputs]: Ditto. * gnu/packages/audio.scm (guitarix)[inputs]: Ditto. * gnu/packages/disk.scm (parted)[inputs]: Ditto. * gnu/packages/gnome.scm (gnome-system-monitor)[inputs]: Ditto. (workrave)[inputs]: Ditto. (gnote)[inputs]: Ditto. * gnu/packages/gobby.scm (gobby)[inputs]: Ditto. * gnu/packages/inkscape.scm (inkscape)[inputs]: Ditto. * gnu/packages/mail.scm (astroid)[inputs]: Ditto. * gnu/packages/mate.scm (mate-system-monitor)[inputs]: Ditto. * gnu/packages/music.scm (tascam-gtk)[inputs]: Ditto. * gnu/packages/photo.scm (rawtherapee)[inputs]: Ditto. * gnu/packages/pulseaudio.scm (pavucontrol)[inputs]: Ditto. (paprefs)[inputs]: Ditto. * gnu/packages/text-editors.scm (jucipp)[inputs]: Ditto. * gnu/packages/wm.scm (waybar)[inputs]: Ditto. Raghav Gururajan 2021-06-19Merge branch 'master' into core-updates...Note: this merge actually changes the 'curl' and 'python-attrs' derivations, as part of solving caf4a7a2770ef4d05a6e18f40d602e51da749ddc and 12964df69a99de6190422c752fef65ef813f3b6b respectively. 4604d43c0e (gnu: gnutls@3.6.16: Fix cross-compilation.) was ignored because it cannot currently be tested. Conflicts: gnu/local.mk gnu/packages/aidc.scm gnu/packages/boost.scm gnu/packages/curl.scm gnu/packages/nettle.scm gnu/packages/networking.scm gnu/packages/python-xyz.scm gnu/packages/tls.scm Marius Bakke 2021-06-18gnu: inkscape: Update to version 1.1....* gnu/packages/patches/inkscape-1.1-fix-build-witch-gcc7.5.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/inkscape.scm (inkscape-1.0) Rename to inkscape-1.1. * gnu/packages/inkscape.scm (inkscape-1.1) Update to version 1.1. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Boris A. Dekshteyn 2021-02-03Merge branch 'master' into core-updatesChristopher Baines 2021-02-01gnu: Adjust package collection to Wrap using GUIX_PYTHONPATH....This change was automated using: $ git ls-files | grep .scm | \ xargs sed 's/(getenv "PYTHONPATH")/(getenv "GUIX_PYTHONPATH")/' -i $ git ls-files | grep .scm | \ xargs sed 's/`("PYTHONPATH"/`("GUIX_PYTHONPATH"/' -i * gnu/packages/admin.scm (nmap): (dstat): Wrap using GUIX_PYTHONPATH. * gnu/packages/audio.scm (jack-2): (carla): Likewise. * gnu/packages/benchmark.scm (fio): Likewise. * gnu/packages/bioinformatics.scm (couger): Likewise. (gess, find-circ, filtlong, nanopolish): Likewise. * gnu/packages/cdrom.scm (cdemu-client): Likewise. * gnu/packages/chemistry.scm (avogadro): Likewise. * gnu/packages/connman.scm (econnman): Likewise. * gnu/packages/cups.scm (hplip): Likewise. * gnu/packages/debug.scm (scanmem): Likewise. * gnu/packages/display-managers.scm (lightdm): Likewise. * gnu/packages/ebook.scm (cozy): Likewise. * gnu/packages/education.scm (anki): Likewise. * gnu/packages/engineering.scm (kicad, volk, freecad): Likewise. * gnu/packages/game-development.scm (renpy): Likewise. * gnu/packages/games.scm (roguebox-adventures) (seahorse-adventures, kajongg): Likewise. * gnu/packages/gimp.scm (gimp, glimpse): Likewise. * gnu/packages/glib.scm (itstool): Likewise. * gnu/packages/gnome.scm (gnome-music, gtg, rhythmbox): Likewise. (eolie, d-feet, gedit, caribou, gnome-shell, authenticator) (gnome-todo, orca, passwordsafe, terminator, setzer) (libratbag, komikku): Likewise. * gnu/packages/gps.scm (gpsd): Likewise. * gnu/packages/gtk.scm (gtk-doc): Likewise. * gnu/packages/ibus.scm (ibus, ibus-libpinyin, ibus-anthy) (ibus-libhangul): Likewise. * gnu/packages/inkscape.scm (inkscape-1.0): Likewise. * gnu/packages/linux.scm (bcc): Likewise. * gnu/packages/mail.scm (notifymuch): Likewise. * gnu/packages/maths.scm (units): Likewise. * gnu/packages/music.scm (solfege): Likewise. * gnu/packages/networking.scm (blueman): Likewise. * gnu/packages/patchutils.scm (patchwork): Likewise. * gnu/packages/photo.scm (rapid-photo-downloader, entangle): Likewise. * gnu/packages/plotutils.scm (asymptote): Likewise. * gnu/packages/presentation.scm (presentty): Likewise. * gnu/packages/screen.scm (byobu): Likewise. * gnu/packages/storage.scm (ceph): Likewise. * gnu/packages/syndication.scm (liferea): Likewise. * gnu/packages/task-management.scm (blanket): Likewise. * gnu/packages/text-editors.scm (manuskript): Likewise. * gnu/packages/version-control.scm (gitless, cgit, git-when-merged) (git-imerge): Likewise. * gnu/packages/video.scm (pitivi): Likewise. * gnu/packages/virtualization.scm (criu): Likewise. * gnu/packages/xfce.scm (catfish): Likewise. Maxim Cournoyer 2021-01-25gnu: inkscape-1.0: Update to 1.0.2....* gnu/packages/inkscape.scm (inkscape-1.0): Update to 1.0.2. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Michael Rohleder 2020-12-19gnu: inkscape: Build with Python 3....* gnu/packages/inkscape.scm (inkscape)[inputs]: Change from PYTHON-2 to PYTHON-WRAPPER. Marius Bakke 2020-10-26gnu: inkscape: Correct extension dependencies....* gnu/packages/inkscape.scm (inkscape-1.0)[arguments]: Add wrap-program phase. [inputs]: Move python-wrapper to inputs, and add several python libraries. [native-inputs]: Remove python-wrapper, as it has moved to inputs. Signed-off-by: Christopher Baines <mail@cbaines.net> Ekaitz Zarraga 2020-09-21gnu: inkscape-1.0: Update to 1.0.1....* gnu/packages/inkscape.scm (inkscape-1.0): Update to 1.0.1. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Boris A. Dekshteyn 2020-06-14gnu: inkscape: Add the glib-or-gtk-build-system phases....This fixes an issue where an improperly set XDG_DATA_DIRS environment variable would cause a segfault when opening the 'Save As' menu of Inkscape. See: <https://lists.gnu.org/archive/html/help-guix/2020-06/msg00093.html>. * gnu/packages/inkscape.scm (inkscape-1.0)[arguments]: Import the (guix build glib-or-gtk-build-system) module. [phases]: Add the glib-or-gtk-compile-schemas and glib-or-gtk-wrap phases. Reported-by: Thorsten Wilms <t_w_@freenet.de> Maxim Cournoyer 2020-05-31gnu: inkscape: Add inkscape-1.0....* gnu/packages/inkscape.scm (inkscape-1.0): New variable. * gnu/packages/gtk.scm (at-spi2-atk): Add a TODO comment. Maxim Cournoyer 2020-02-10gnu: inkscape: Remove obsolete workaround....* gnu/packages/inkscape.scm (inkscape)[arguments]: Remove phase "dont-use-system-includes". Marius Bakke 2020-01-14gnu: poppler: Update to 0.84.0....* gnu/packages/pdf.scm (poppler): Update to 0.84.0. * gnu/packages/inkscape.scm (inkscape)[arguments]: Add phase 'adjust-for-new-poppler'. Marius Bakke 2019-06-15gnu: poppler: Update to 0.77.0....* gnu/packages/patches/inkscape-poppler-0.76.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/inkscape.scm (inkscape)[source](patches): New field. * gnu/packages/patches/texlive-bin-luatex-poppler-compat.patch: Add two new hunks. * gnu/packages/pdf.scm (poppler): Update to 0.77.0. * gnu/packages/tex.scm (texlive-bin)[source]: Update Arch patches. [arguments]: Adjust accordingly. * gnu/packages/scribus.scm (scribus)[source](patches): Add two new origins. Marius Bakke 2019-02-09gnu: inkscape: Fix FTBFS with GCC >= 6....* gnu/packages/inkscape.scm (inkscape)[arguments]: Add phase 'dont-use-system-includes. Marius Bakke 2019-01-18gnu: Inkscape: Update to 0.92.4....* gnu/packages/inkscape.scm (inkscape): Update to 0.92.4. [source]: Remove obsolete patches. Leo Famulari 2018-08-10gnu: inkscape: Add poppler compatibility patch....* gnu/packages/inkscape.scm (inkscape)[source]: Add second poppler compatibility patch. Ricardo Wurmus 2018-06-29gnu: inkscape: Fix build with poppler....* gnu/packages/inkscape.scm (inkscape)[source]: Add upstream patch to fix incompatibility with latest version of poppler. Ricardo Wurmus 2018-05-15gnu: inkscape: Disable "icon-theme.cache" generation....* gnu/packages/inkscape.scm (inkscape)[arguments]<#:make-flags>: Delete. <#:phases>[patch-icon-cache-generator]: Add phase. Danny Milosavljevic 2018-03-17gnu: inkscape: Build with potrace support....From Inkscape 0.92, potrace is required for the Paintbucket and Trace Bitmap tools. * gnu/packages/inkscape.scm (inkscape)[inputs]: Add potrace. Arun Isaac 2018-03-14gnu: inkscape: Update to 0.92.3....* gnu/packages/inkscape.scm (inkscape): Update to 0.92.3. [source]: Remove patch. Tobias Geerinckx-Rice 2018-03-04gnu: inkscape: Disable duplicate icon cache generation....* gnu/packages/inkscape.scm (inkscape): Disable duplicate icon cache generation. Danny Milosavljevic