aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2023 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; 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 skribilo)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix licenses)
  #:use-module ((guix utils) #:select (version-major+minor))
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages guile)
  #:use-module (gnu packages guile-xyz)
  #:use-module (gnu packages lout)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages plotutils)
  #:use-module (gnu packages imagemagick)
  #:use-module (gnu packages ghostscript))

(define-public skribilo
  (package
    (name "skribilo")
    (version "0.10.0")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://savannah/skribilo/skribilo-"
                                 version ".tar.gz"))
             (sha256
              (base32
               "03pm2a9a5k0wkj10ywh6xi8flawm8sd396k4698gvvbc2zp4izwc"))))
    (build-system gnu-build-system)
    (arguments
     ;; Make the modules available under the usual location.
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'configure 'pre-configure
           (lambda* (#:key inputs #:allow-other-keys)
             ;; Make sure the 'skribilo' command gets to see
             ;; Guile-Reader, even if Guile-Reader is not in the search
             ;; path.
             (let ((reader (assoc-ref inputs "guile-reader"))
                   (effective ,(version-major+minor
                                (package-version
                                 (car (assoc-ref (package-inputs this-package)
                                                 "guile"))))))
               (substitute* "src/skribilo.in"
                 (("^exec (.*) -c" _ things)
                  (string-append "exec " things
                                 " -L " reader "/share/guile/site/" effective
                                 " -C " reader
                                 "/lib/guile/" effective "/site-ccache"
                                 " -c"))))
             #t)))

       #:parallel-build? #f

       ;; XXX: Temporarily disable tests because they rely on
       ;; 'test-runner-current' *not* returning #f after 'test-end', which is
       ;; no longer the case in Guile >= 3.0.6.  This is fixed upstream.
       #:tests? #f))

    (native-inputs (list pkg-config))

    (inputs (list guile-3.0
                  imagemagick
                  ghostscript ; for 'convert'
                  ploticus
                  lout))

    ;; The 'skribilo' command needs them, and for people using Skribilo as a
    ;; library, these inputs are needed as well.
    (propagated-inputs (list guile-reader guile-lib))

    (home-page "https://www.nongnu.org/skribilo/")
    (synopsis "Document production tool written in Guile Scheme")
    (description
     "Skribilo is a free document production tool that takes a structured
document representation as its input and renders that document in a variety of
output formats: HTML and Info for on-line browsing, and Lout and LaTeX for
high-quality hard copies.

The input document can use Skribilo's markup language to provide information
about the document's structure, which is similar to HTML or LaTeX and does not
require expertise.  Alternatively, it can use a simpler, “markup-less” format
that borrows from Emacs' outline mode and from other conventions used in
emails, Usenet and text.

Lastly, Skribilo provides Guile Scheme APIs.")
    (license gpl3+)))
ate to 9.2....* gnu/packages/gdb.scm (gdb-8.2): Replace by... (gdb-9.2): ... this. Maxim Cournoyer 2021-01-13Merge branch 'staging' into 'core-updates'....Conflicts: gnu/local.mk gnu/packages/cmake.scm gnu/packages/curl.scm gnu/packages/gl.scm gnu/packages/glib.scm gnu/packages/guile.scm gnu/packages/node.scm gnu/packages/openldap.scm gnu/packages/package-management.scm gnu/packages/python-xyz.scm gnu/packages/python.scm gnu/packages/tls.scm gnu/packages/vpn.scm gnu/packages/xorg.scm Maxim Cournoyer 2020-12-13gnu: Remove gdb@9....* gnu/packages/gdb.scm (gdb-9): Rename to ... (gdb-10): ... this. Update to 10.1. [inputs]: Change from GUILE-2.0 to GUILE-3.0. (gdb-8.2): Inherit from GDB-10. [inputs]: Stick with GUILE-2.0. (gdb-10): Remove variable. (gdb): Point to GDB-10. (gdb-minimal): Inherit from GDB. Marius Bakke 2020-11-29Merge remote-tracking branch 'origin/master' into core-updatesChristopher Baines 2020-11-07Merge branch 'master' into staging... Conflicts: gnu/local.mk gnu/packages/gdb.scm gnu/packages/lisp-xyz.scm gnu/packages/web-browsers.scm Marius Bakke 2020-10-26gnu: gdb: Add version 10.1....* gnu/packages/gdb.scm (gdb-9.2): Rename to... (gdb-10): ... this, and upgrade to 10.1. [inputs]: New field. (gdb-minimal): Adjust accordingly. * gnu/packages/patches/gdb-hurd.patch: Remove. * gnu/local.mk (dist_patch_DATA): Remove it. Ludovic Courtès 2020-10-19Merge branch 'staging'...Conflicts: gnu/packages/admin.scm gnu/packages/commencement.scm gnu/packages/gdb.scm gnu/packages/llvm.scm gnu/packages/package-management.scm gnu/packages/tls.scm Maxim Cournoyer 2020-10-13Merge branch 'master' into stagingMarius Bakke 2020-10-10gnu: gdb: Build with a 32-bit MIG when targeting i586-pc-gnu....Fixes a bug whereby GDB cross-compiled for i586-pc-gnu would be broken: (gdb) r Starting program: /gnu/store/… Handling event, msgid = 72: (ipc/mig) server type check failure * gnu/packages/gdb.scm (gdb-9.1)[native-inputs]: Use MIG/32-BIT instead of MIG. Ludovic Courtès 2020-08-16system: Modify GDB skeleton to find debug files for any profile....Instead of hard coding the debug directory to that of the user profile, use Guile scripting in combination with a new search path specification on GDB to specify the debug file directories. * gnu/packages/gdb.scm (gdb-9.1): Add a search path specification for the GDB_DEBUG_FILE_DIRECTORY environment variable. * gnu/system/shadow.scm (default-skeletons)[gdbinit]: Derive the value of DEBUG-FILE-DIRECTORY via the GDB_DEBUG_FILE_DIRECTORY environment variable. * doc/guix.texi (Installing Debugging Files): Document it. Maxim Cournoyer 2020-07-02gnu: gdb@8.2: Inherit from the 'full' gdb....This reverts commit c007d868686fc2f9bf02a34150d4f0ac72b1f8d2, because later versions of Rust requires loading Python plugins. * gnu/packages/gdb.scm (gdb-minimal-8.2): Rename to ... (gdb-8.2): ... this. Adjust inheritance accordingly. * gnu/packages/rust.scm (rust-1.27)[native-inputs]: Adjust accordingly. Marius Bakke 2020-06-27gnu: gdb@8.2: Inherit from 'gdb-minimal'....* gnu/packages/gdb.scm (gdb-minimal): Move definition up. (gdb-8.2): Rename to ... (gdb-minimal-8.2): ... this. Inherit from GDB-MINIMAL. * gnu/packages/rust.scm (rust-1.27)[native-inputs]: Adjust for the rename. Marius Bakke 2020-06-27Merge branch 'master' into stagingMarius Bakke 2020-06-27gnu: gdb-minimal: Include guile....* gnu/packages/gdb.scm (gdb-minimal): Do not remove guile, as it is a cheap and very useful dependency. Jan (janneke) Nieuwenhuizen 2020-06-27gnu: GDB: Remove version 9.1....* gnu/packages/gdb.scm (gdb-9.1): Rename to ... (gdb): ... this. Update to 9.2. [source](patches): Add 'gdb-hurd.patch'. (gdb-8.2): Inherit from GDB instead of GDB-9.1. (gdb-9.2): Remove variable. (gdb-minimal): Inherit from GDB instead of GDB-9.2. Marius Bakke 2020-06-27gnu: GDB: Inline cross-compilation fix....* gnu/packages/gdb.scm (gdb-9.1)[arguments]: Remove conditionals on %CURRENT-TARGET-SYSTEM. Marius Bakke 2020-06-27gnu: gdb-minimal: Inherit replacements from GDB....* gnu/packages/gdb.scm (gdb-minimal): Use PACKAGE/INHERIT instead of INHERIT. Marius Bakke 2020-06-27gnu: gdb@8.2: Do not inherit replacements from 'gdb'....* gnu/packages/gdb.scm (gdb-8.2): Use INHERIT instead of PACKAGE/INHERIT. Marius Bakke 2020-06-27gnu: gdb: Apply cross-build fix without changing the native variant....Commit 76129cd3edb1eb62778344de0b1b44365f82ee06 accidentally changed the gdb derivation, causing too many rebuilds for the 'master' branch. * gnu/packages/gdb.scm (gdb-9.1)[arguments]: Only apply cross-build fix when cross-compiling. Marius Bakke 2020-06-27gnu: Add gdb-minimal....* gnu/packages/gdb.scm (gdb-minimal): New variable. Jan (janneke) Nieuwenhuizen 2020-06-26gnu: gdb: Add support for the Hurd....* gnu/packages/gdb.scm (gdb-9.1)[native-inputs]: When compiling for the Hurd, add required build dependency mig. ["arguments"]: Add "binutils" fall-back lookup in native-inputs for cross-builds. * gnu/packages/patches/gdb-hurd.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gdb.scm (gdb-9.2): Use it. Jan (janneke) Nieuwenhuizen 2020-05-29Merge branch 'master' into stagingMarius Bakke 2020-05-28gnu: gdb: Add version 9.2....* gnu/packages/gdb.scm (gdb-9.2): New variable. Ludovic Courtès 2020-05-26Merge branch 'master' into stagingMarius Bakke 2020-04-04gnu: gdb: Make some inputs native....* gnu/packages/gdb.scm (gdb)[inputs]: Move dejagnu from here... [native-inputs]: ...to here. Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com> Vincent Legoll 2020-03-18gnu: gdb: Remove duplicate input....* gnu/packages/gdb.scm (gdb-9.1)[inputs]: Remove PYTHON. Marius Bakke 2020-02-14gnu: Remove gdb@8.3....* gnu/packages/gdb.scm (gdb-8.3): Rename to ... (gdb-9.1): ... this. Update to 9.1. [properties]: Remove. [inputs]: Add SOURCE-HIGHLIGHT. [arguments]: Add #:out-of-source?. (gdb-8.2): Inherit from GDB-9.1. (gdb): Set to GDB-9.1. Marius Bakke 2020-02-11gnu: gdb: Update to 9.1....* gnu/packages/gdb.scm (gdb/next): Update to 9.1. Ludovic Courtès 2020-01-30gnu: gdb: Add separate variant with source highlighting support....This partially reverts commit 480b3279fd8f937fac986a88592ee5cb968ab3ff in order to prevent a huge rebuild. * gnu/packages/gdb.scm (gdb-8.3)[properties]: New field. [inputs]: Remove SOURCE-HIGHLIGHT. * gnu/packages/gdb.scm (gdb-8.2)[inputs]: Remove. (gdb/next): New public variable. Marius Bakke 2020-01-30gnu: gdb: Add dependency on source-highlight....* gnu/packages/gdb.scm (gdb-8.3)[inputs]: Add SOURCE-HIGHLIGHT. (gdb-8.2)[inputs]: New field. Ludovic Courtès