aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/noweb.scm
blob: 0954e79952b230e39d1055f6f46d200a652478b0 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@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 noweb)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (guix licenses))

(define-public noweb
  (package
    (name "noweb")
    (version "2.11b")
    (source (origin
             (method url-fetch)
             (uri (string-append "ftp://www.eecs.harvard.edu/pub/nr/noweb-"
                                 version ".tgz"))
             (sha256
              (base32
               "10hdd6mrk26kyh4bnng4ah5h1pnanhsrhqa7qwqy6dyv3rng44y9"))))
    (build-system gnu-build-system)
    (arguments
     '(#:phases
       (modify-phases %standard-phases
         (add-before 'install 'pre-install
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out")))
               (mkdir-p (string-append out "/share/texmf/tex/latex"))
               #t)))
         (add-after 'install 'post-install
           (lambda* (#:key outputs inputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out"))
                   (cu  (assoc-ref inputs "coreutils"))
                   (du  (assoc-ref inputs "diffutils")))
               (with-directory-excursion out
                 (for-each (lambda (prog)
                             (substitute* prog
                               (("nawk") (which "awk"))))
                           (append (map (lambda (x)
                                          (string-append "bin/" x))
                                        '("noweb" "nountangle"
                                          "noroots" "noroff"
                                          "noindex"))
                                   (map (lambda (x)
                                          (string-append "lib/" x))
                                        '("btdefn" "emptydefn" "noidx"
                                          "pipedocs" "toascii" "tohtml"
                                          "toroff" "totex" "unmarkup"))))
                 (substitute* "bin/cpif"
                   (("^PATH=.*$")
                    (string-append "PATH=" cu "/bin:" du "/bin\n"))))
               #t)))
         (replace 'configure
           (lambda _
             ;; Jump in the source.
             (chdir "src")

             ;; The makefile reads "source: FAQ", but FAQ isn't
             ;; available.
             (substitute* "Makefile"
               (("FAQ") ""))
             #t)))
       #:make-flags (let ((out (assoc-ref %outputs "out")))
                      (list (string-append "BIN=" out "/bin")
                            (string-append "LIB=" out "/lib")
                            (string-append "MAN=" out "/share/man")
                            (string-append "TEXINPUTS=" out
                                           "/share/texmf/tex/latex")))
       #:tests? #f))                              ; no tests
    (home-page "http://www.cs.tufts.edu/~nr/noweb/")
    (synopsis "Literate programming tool")
    (description
     "Noweb is designed to meet the needs of literate programmers while
remaining as simple as possible.  Its primary advantages are simplicity,
extensibility, and language-independence—especially noticeable when compared
with other literate-programming tools.  noweb uses 5 control sequences to
WEB's 27.  The noweb manual is only 4 pages; an additional page explains how
to customize its LaTeX output.  noweb works “out of the box” with any
programming language, and supports TeX, LaTeX, HTML, and troff back ends.")
    (license (fsf-free "http://www.cs.tufts.edu/~nr/noweb/#copyright"))))
title='2023-03-30 12:44:21 +0200'>2023-03-30gnu: guile-readline: Switch to gexps....* gnu/packages/guile.scm (make-guile-readline): Switch to gexps. Ludovic Courtès 2023-03-30gnu: guile: Switch to gexps....* gnu/packages/guile.scm (guile-3.0)[arguments]: Switch to gexps. (guile-next)[arguments]: Likewise. Ludovic Courtès 2023-03-24gnu: guile-3.0-latest: Add patch for invalid unicode handling....This patch fixes handling of invalid unicode when using suspendable ports. Reported upstream at https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62290 and patch merged as cba2e7e3fec3c781230570f5d1ef070625eeeda8. As the build coordinator agents use suspendable ports, this will fix issues with building things where the log output contains invalid unicode. * gnu/packages/patches/guile-fix-invalid-unicode-handling.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/guile.scm (guile-3.0-latest)[source]: Use it. Signed-off-by: Christopher Baines <mail@cbaines.net> Christopher Baines 2023-03-03gnu: guile: Fix cross-compilation....Fixes a regression introduced in d427ec403800dc5b0b69f3d7c259a7d62eb6c881, which changed the label of Bash from "bash" to "bash-minimal" when cross-compiling. * gnu/packages/guile.scm (guile-2.0)[arguments]: In 'pre-configure' phase, use 'search-input-file' when (%current-target-system) is true. Ludovic Courtès 2023-03-02gnu: libgc: Update to 8.2.2 and remove '--disable-munmap'....* gnu/packages/bdw-gc.scm (libgc): Update to 8.2.2. [arguments]: Remove "--disable-munmap" from #:configure-flags. * gnu/packages/guile.scm (guile-3.0)[source]: Leave 'test-out-of-memory' test untouched. (guile-next)[arguments]: Likewise, in 'skip-failing-tests' phase. (guile-for-guile-emacs)[arguments]: Likewise, in 'bootstrap' phase. Ludovic Courtès 2023-03-02Merge remote-tracking branch 'savannah/master' into core-updates...Conflicts: gnu/local.mk gnu/packages/autotools.scm gnu/packages/cmake.scm gnu/packages/gnuzilla.scm gnu/packages/haskell.scm gnu/packages/pdf.scm gnu/packages/python-xyz.scm gnu/packages/samba.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/wxwidgets.scm Christopher Baines 2023-02-26gnu: guile: Remove input labels....* gnu/packages/base.scm (libiconv-if-needed): Remove input label. * gnu/packages/guile.scm (guile-2.0)[native-inputs, inputs] [propagated-inputs]: Remove labels. (guile-next)[native-inputs]: Change "self" to "guile". (make-guile-readline): Adjust 'inputs' and 'propagated-inputs' accordingly. Ludovic Courtès 2023-02-05gnu: Rename 'guile-3.0/fixed' to 'guile-3.0/pinned'....* gnu/packages/guile.scm: Rename variable 'guile-3.0/fixed' to 'guile-3.0/pinned', add deprecation. * etc/release-manifest.scm (%packages-to-cross-build): Replace 'guile-3.0/fixed' with 'guile-3.0/pinned'. * gnu/packages/autotools.scm (make-autoconf-wrapper)[inputs]: Likewise. * gnu/packages/commencement.scm (guile-final): Likewise. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Simon Tournier 2023-01-30gnu: guile-3.0: Update to 3.0.9....* gnu/packages/guile.scm (guile-3.0): Update to 3.0.9. [source]: Remove patch. [arguments]: Only apply 'adjust-bootstrap-flags on powerpc-linux once. (guile-3.0-latest): Point to guile-3.0. * gnu/packages/patches/guile-cross-compilation.patch: Remove file (again). * gnu/local.mk (dist_patch_DATA): Remove it. Efraim Flashner 2023-01-30Merge remote-tracking branch 'origin/master' into core-updates... Conflicts: doc/guix.texi gnu/local.mk gnu/packages/admin.scm gnu/packages/base.scm gnu/packages/chromium.scm gnu/packages/compression.scm gnu/packages/databases.scm gnu/packages/diffoscope.scm gnu/packages/freedesktop.scm gnu/packages/gnome.scm gnu/packages/gnupg.scm gnu/packages/guile.scm gnu/packages/inkscape.scm gnu/packages/llvm.scm gnu/packages/openldap.scm gnu/packages/pciutils.scm gnu/packages/ruby.scm gnu/packages/samba.scm gnu/packages/sqlite.scm gnu/packages/statistics.scm gnu/packages/syndication.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/version-control.scm gnu/packages/xml.scm guix/build-system/copy.scm guix/scripts/home.scm Efraim Flashner 2023-01-26gnu: guile: Update to 3.0.9....* gnu/packages/guile.scm (guile-3.0-latest): Update to 3.0.9. * gnu/packages/package-management.scm (guix-for-cuirass): Remove. * gnu/packages/ci.scm (cuirass)[inputs]: Replace 'guix-for-cuirass' with 'guix'. * gnu/packages/patches/guile-continuation-stack-leak.patch, gnu/packages/patches/guile-cross-compilation.patch: Remove. * gnu/local.mk (dist_patch_DATA): Remove them. Ludovic Courtès 2023-01-19gnu: guile-next: Really depend on self....Previously, when cross-compiling, "self" would point to GUILE-3.0 because it came from (package-native-inputs guile-3.0). When cross-compiling, ./configure would see a version in 'guile-3.0.pc' different from its own version and would thus bail out: building Guile 3.0.8-1.cabbage but `/gnu/store/…/bin/guile' has version 3.0.7 * gnu/packages/guile.scm (guile-next)[native-inputs]: Replace "self". Ludovic Courtès 2023-01-19gnu: guile-next: Add '.tarball-version' file to get correct version....So far, "guile --version" and 'guile-3.0.pc' would use "UNKNOWN" as the version string, making the package unsuitable as a drop-in replacement for the 'guile-3.0' package. * gnu/packages/guile.scm (guile-next)[arguments]: Add 'set-version' phase. Ludovic Courtès