aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2023 Adam Faiz <adam.faiz@disroot.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 books)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix build-system gnu)
  #:use-module (guix download)
  #:use-module (guix gexp)
  #:use-module (guix git-download)
  #:use-module (guix packages)
  #:use-module (guix utils)
  #:use-module (gnu packages)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages base)
  #:use-module (gnu packages bash)
  #:use-module (gnu packages fonts)
  #:use-module (gnu packages fontutils)
  #:use-module (gnu packages inkscape)
  #:use-module (gnu packages music)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages python-xyz)
  #:use-module (gnu packages tex)
  #:use-module (gnu packages texlive)
  #:use-module (gnu packages version-control))

(define-public book-sparc
  (package
    (name "book-sparc")
    (version "2.1.0")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/artyom-poptsov/SPARC")
                    (commit (string-append "v" version))))
              (sha256
               (base32
                "1ns2vs5yb9z1hj9gq5y55qz7c9azzhr866b665s8fq50q5m4yhbc"))
              (file-name (git-file-name name version))
              (modules '((guix build utils)))
              (snippet
               #~(begin
                   (substitute* "version.tex.in"
                     (("@COMMIT@") ""))
                   (substitute* "Makefile"
                     (("all: sparc.pdf") "all: install")
                     (("^sparc.pdf:") "install:")
                     (("(cp out/sparc.pdf) sparc.pdf" all cp)
                      (string-append
                       "mkdir -p $(DESTDIR)$(PREFIX)/share/doc/book-sparc"
                       " && " cp
                       " $(DESTDIR)$(PREFIX)/share/doc/book-sparc/sparc.pdf")))))))
    (build-system gnu-build-system)
    (native-inputs
     (list bash-minimal
           fontconfig
           inkscape
           lilypond
           perl
           python-pygments
           which))
    (inputs
     (list font-liberation
           texlive-acronym
           texlive-adjustbox
           texlive-biblatex
           texlive-bibtex
           texlive-bibtexperllibs
           texlive-bigfoot
           texlive-chngcntr
           texlive-circuitikz
           texlive-collection-langcyrillic
           texlive-fontspec
           texlive-glossaries
           texlive-glossaries-english
           texlive-glossaries-extra
           texlive-koma-script
           texlive-lilyglyphs
           texlive-minted
           texlive-multirow
           texlive-pgf
           texlive-pgfplots
           texlive-subfiles
           texlive-svg
           texlive-t1utils
           texlive-textpos
           texlive-transparent
           texlive-trimspaces
           texlive-xetex))
    (arguments
     (list #:phases
           #~(modify-phases %standard-phases
               (delete 'check)
               (delete 'configure)
               (add-before 'build 'set-envs
                 (lambda _
                   (setenv "REPRODUCIBILITY" "yes")
                   (setenv "PREFIX" #$output))))))
    (home-page "https://github.com/artyom-poptsov/SPARC")
    (synopsis "Book on combining art and technology")
    (description
     "Science, Programming, Art and Radioelectronics Club (SPARC) is a book that
explains how to combine the topics mentined in the title to build projects.  The
book can be used to teach programming classes in colleges and to organize
workshops in hackerspaces or other community-driven spaces.  Currently the book
is available only in Russian.")
    (license license:cc-by-sa4.0)))
?id=400cd0870bb240ac774427592b6c9a4a4970c256'>gnu: mympd: Update to 11.0.2....* gnu/packages/mpd.scm (mympd): Update to 11.0.2. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Bruno Victal 2023-07-30gnu: ncmpc: Update to 0.49....* gnu/packages/mpd.scm (ncmpc): Update to 0.49. Tobias Geerinckx-Rice 2023-07-01gnu: mympd: Update to 10.3.3....* gnu/packages/mpd.scm (mympd): Update to 10.3.3. <arguments>: Honor 'strip phase. <native-inputs>: Add missing pkg-config. <description>: Reword it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Bruno Victal 2023-06-04gnu: mpd: Split outputs....The HTML manual accounts for more than 40% of the package size. * gnu/packages/mpd.scm (mpd)[outputs]: Add 'doc' output. [arguments]<#:phases>: Add ‘split-package’. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Bruno Victal 2023-06-04gnu: mpd: Enable tests....With this, ninja will no longer report “no work to do” when inside the `check' phase. * gnu/packages/mpd.scm [arguments]<#:configure-flags>: Add “-Dtest=true”. [native-inputs]: Add googletest and zip. Remove cmake. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Bruno Victal 2023-06-04gnu: mpd: Update to 0.23.13....* gnu/packages/mpd.scm (mpd): Update to 0.23.13. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Leo Famulari 2023-05-19gnu: mympd: Update to 10.3.2....* gnu/packages/mpd.scm (mympd): Update to 10.3.2. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Bruno Victal 2023-04-25gnu: mpdevil: Add missing input....* gnu/packages/mpd.scm (mpdevil)[native-inputs]: Add gettext-minimal. Efraim Flashner 2023-04-23gnu: ncmpc: Update to 0.48....* gnu/packages/mpd.scm (ncmpc): Update 0.48. Leo Famulari 2023-04-21gnu: mpdevil: Update to 1.10.2....* gnu/packages/mpd.scm (mpdevil): Update to 1.10.2. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> kiasoc5 2023-03-27gnu: mympd: Update to 10.2.6....* gnu/packages/mpd.scm (mympd): Update to 10.2.6. Signed-off-by: Christopher Baines <mail@cbaines.net> Bruno Victal 2023-03-02gnu: mympd: Update to 10.2.4....* gnu/packages/mpd.scm (mympd): Update to 10.2.4. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Bruno Victal 2023-02-23gnu: mpdris2: Remove input labels and add inputs....* gnu/packages/mpd.scm (mpdris2)[arguments]: Use G-expressions. Remove trailing #T from phase. [inputs]: Remove labels. Add BASH-MINIMAL and PYTHON-MUTAGEN. [native-inputs]: Remove labels. [description]: Use complete sentence. Simon Streit 2023-02-12gnu: mympd: Update to 10.2.3....* gnu/packages/mpd.scm (mympd): Update to 10.2.3. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> Bruno Victal 2023-02-11gnu: mympd: Update to 10.2.2....* gnu/packages/mpd.scm (mympd): Update to 10.2.2. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Bruno Victal 2023-02-05gnu: mpd: Update to 0.23.12....* gnu/packages/mpd.scm (mpd): Update to 0.23.12. Signed-off-by: Leo Famulari <leo@famulari.name> Bruno Victal 2023-02-05gnu: mpd: Add missing inputs....Enable more features for MPD. * gnu/packages/mpd.scm (mpd)[inputs]: Add liburing, chromaprint, expat, libgme, libnfs, libopenmpt, libshout, pcre2, soxr, yajl and zziplib. Signed-off-by: Leo Famulari <leo@famulari.name> Bruno Victal 2023-02-03gnu: mympd: Update to 10.2.1....* gnu/packages/mpd.scm (mympd): Update to 10.2.1. Signed-off-by: Christopher Baines <mail@cbaines.net> Bruno Victal 2023-01-29gnu: mpdevil: Update to 1.10.0...* gnu/packages/mpd.scm (mpdevil): Update to 1.10.0. [inputs]: Add python-pycairo. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Simon Streit 2023-01-28gnu: mympd: Update to 10.2.0....* gnu/packages/mpd.scm (mympd): Update to 10.2.0. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Bruno Victal 2023-01-08gnu: Switch to default pipewire....This is a follow-up of: 590700ce00177a826872c867066eeba6eb7c4641. * gnu/packages/kde-plasma.scm (kwin, plasma-desktop, plasma-workspace)[inputs]: Switch to pipewire. * gnu/packages/mpd.scm (mpd)[inputs]: Ditto. Mathieu Othacehe 2022-12-11gnu: mpd: Update to 0.23.11....* gnu/packages/mpd.scm (mpd): Update to 0.23.11. Tobias Geerinckx-Rice 2022-12-13gnu: mympd: Update to 10.1.6....* gnu/packages/mpd.scm (mympd): Update to 10.1.6. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Bruno Victal 2022-12-11gnu: yajl: Drop custom ‘lib-’ prefix....* gnu/packages/web.scm (yajl): New variable, renamed from… (libyajl): …this one, which is now a DEPRECATED-PACKAGE alias of yajl. Adjust all users. Tobias Geerinckx-Rice 2022-11-28gnu: mympd: Update to 10.1.3...* gnu/packages/mpd.scm (mympd): Update to 10.1.3. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Bruno Victal 2022-11-24gnu: Add mympd....* gnu/packages/mpd.scm (mympd): New variable. Signed-off-by: Christopher Baines <mail@cbaines.net> Bruno Victal 2022-11-22gnu: ashuffle: Update to 3.13.4....* gnu/packages/mpd.scm (ashuffle): Update to 3.13.4. [inputs]: Add ABSEIL-CPP-CXXSTD17, GOOGLETEST, and YAML-CPP. [arguments]: New field. Marius Bakke 2022-10-23gnu: mpd: Update to 0.23.10....* gnu/packages/mpd.scm (mpd): Update to 0.23.10. [inputs]: Add pipewire-0.3. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> kiasoc5 2022-10-13gnu: cantata: Update to 2.5.0....* gnu/packages/mpd.scm (cantata): Update to 2.5.0. [inputs]: Add "avahi" and "musicbrainz". Signed-off-by: Christopher Baines <mail@cbaines.net> Simon Streit 2022-10-12gnu: mcg: Cleanup style....* gnu/packages/mpd.scm (mcg)[source]: Indent as with ‘guix style’. [arguments]: Convert to list of G-Expressions. [inputs, native-inputs]: Move below arguments. Liliana Marie Prikler 2022-10-12gnu: mcg: Update to 3.1....* gnu/packages/mpd.scm (mcg): Update to 3.1. [native-inputs]: Use the new inputs style. Add desktop-file-utils, gettext-minimal and gtk+:bin. [inputs]: Add python. [build-system]: Change to meson-build-system. [arguments]<#:imported-modules,#:modules>: Remove. <#:glib-or-gtk?>: Set to #t. <#:phases>: Delete ‘glib-or-gtk-wrap’. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Simon Streit 2022-10-12gnu: mcg: Use new input style....* gnu/packages/mpd.scm (mcg)[inputs]: Re-indent according to ‘guix style’. [native-inputs]: Drop labels. Liliana Marie Prikler