aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/cook.scm
blob: f2bd4d8c1fc959c6911730f365f111602ee23db6 (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
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; 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 cook)
  #:use-module (guix packages)
  #:use-module (guix licenses)
  #:use-module (guix download)
  #:use-module (gnu packages bison)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages groff)
  #:use-module (gnu packages text-editors)
  #:use-module (guix build-system gnu))

(define-public cook
  (package
    (name "cook")
    (version "2.34")
    (source
     (origin
       (method url-fetch)
       (uri "http://fossies.org/linux/misc/old/cook-2.34.tar.gz")
       (sha256
        (base32
         "104saqnqql1l7zr2pm3f718fdky3ds8j07c6xvwrs1rfkhrw58yw"))))
    (build-system gnu-build-system)
    (arguments
     `(#:parallel-build? #f ; There are some nasty racy rules in the Makefile.
       #:phases
       (modify-phases %standard-phases
         (add-before 'configure 'pre-conf
           (lambda _
             (substitute* (append '("common/env.c")
                                  (find-files "test" "\\.sh"))
               (("/bin/sh") (which "sh")))

             ;; Guix's binutils (because it wants bit-reproducable builds) is
             ;; is configured with the  --enable-deterministic-archives flag.
             ;; This means the timestamp of files appended to an ar archive
             ;; are automatically and silently mutated to 00:00 1 Jan 1970
             ;; which plays havoc with this test, for which correct timestamps
             ;; are very important. Adding the U flag undoes the effect of
             ;; --enable-deterministic-archives and allows this test to work
             ;; again.
             (substitute* "test/00/t0077a.sh"
               (("ar qc") "ar qcU"))

             ;; Guix builds have LC_ALL set to "en_US.utf8", which causes
             ;; `date` to use a 12-hour clock instead of 24h, which in turn
             ;; makes t0217a.sh fail because of unexpected date output.
             (substitute* "test/02/t0217a.sh"
               (("export TZ")
                "export TZ\nLC_ALL=POSIX\nexport LC_ALL"))

             (setenv "SH" (which "sh"))
             #t)))))
    (native-inputs (list bison-3.0
                         ;; For building the documentation:
                         groff
                         ;; For the tests:
                         sharutils
                         ;; One test wants rsh.  However there is no rsh server
                         ;; running in the build environment and so far as I'm
                         ;; aware, it cannot be started without root.
                         ;; This test is therefore just skipped.
                         ;; ("inetutils" ,inetutils)
                         ed))
    (home-page (string-append "https://web.archive.org/web/20140727122520/"
                              "http://miller.emu.id.au/pmiller/software/cook/"))
    (synopsis "Tool for constructing files")
    (description "Cook is a tool for constructing files.  It is given a set of
files to create, and recipes of how to create them.  In any non-trivial program
there will be prerequisites to performing the actions necessary to creating
any file, such as include files.  Cook provides a mechanism to define these.")
    (license gpl3+)))
. [source](snippet): Remove. Marius Bakke 2018-09-09Merge branch 'master' into core-updatesMarius Bakke 2018-09-06gnu: gfortran, gcc-objc, gcc-objc++: Add version 8....* gnu/packages/gcc.scm (gfortran-8, gcc-objc-8, gcc-objc++-8): New variables. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Eric Brown 2018-09-01gnu: gcc@4.9: Fix FTBFS with Glibc >= 2.28....* gnu/packages/commencement.scm (gcc-for-libstdc++): New variable. (libstdc++-boot0): Inherit from GCC-FOR-LIBSTDC++ instead of GCC-4.9. * gnu/packages/gcc.scm (gcc-4.9)[source](patches): Add "gcc-4.9-libsanitizer-ustat.patch". * gnu/packages/patches/gcc-4.9-libsanitizer-ustat.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Marius Bakke 2018-08-26gnu: gcc: Include libsanitizer patch for versions 6 and 7....* gnu/packages/gcc.scm (gcc-6, gcc-7)[source](patches): Add "gcc-libsanitizer-ustat.patch". Marius Bakke 2018-08-25Merge branch 'staging' into core-updatesMarius Bakke 2018-08-25gnu: gcc: Fix build with glibc >= 2.28....* gnu/packages/patches/gcc-libsanitizer-ustat.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/gcc.scm (gcc-5)[source](patches): Add it. Marius Bakke 2018-08-19gnu: gcc@4.8: Fix libsanitizer build issue....Fixes <https://bugs.gnu.org/32397>. Reported by fis trivial <ybbs.daans@hotmail.com>. * gnu/packages/patches/gcc-4.8-libsanitizer-fix.patch: New file. * gnu/packages/gcc.scm (gcc-4.8)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it. Ludovic Courtès 2018-08-12gnu: gcc@5: Build with isl@0.18....* gnu/packages/gcc.scm (gcc-5)[inputs]: Change ISL to ISL-0.18. (isl-0.18): New public variable. Marius Bakke 2018-08-01Merge branch 'master' into core-updatesMarius Bakke 2018-07-27gnu: gcc@8: Update to 8.2.0....* gnu/packages/gcc.scm (gcc-8): Update to 8.2.0. Ludovic Courtès 2018-07-24Merge branch 'master' into core-updatesMarius Bakke 2018-07-02Merge branch 'master' into stagingMarius Bakke 2018-06-29Merge branch 'master' into core-updatesRicardo Wurmus 2018-06-26gnu: Add gcc@8....* gnu/packages/patches/gcc-8-strmov-store-file-names.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/gcc.scm (gcc-8): New public variable. Marius Bakke 2018-06-14gnu: custom-gcc: Fix regex used for matching executables....Fixes <https://bugs.gnu.org/31561>. * gnu/packages/gcc.scm (custom-gcc)[arguments]: Fix regex used for matching broken or conflicting executables. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> Alex Vong 2018-06-12gnu: isl: Update to 0.19....* gnu/packages/gcc.scm (isl): Update to 0.19. Tobias Geerinckx-Rice 2018-05-08Merge branch 'master' into core-updatesMark H Weaver 2018-05-07gnu: gcc > 5: Use 'CPATH' instead of 'C_INCLUDE_PATH' & co....Partly addresses <https://bugs.gnu.org/30756>. Reported by julien lepiller <julien@lepiller.eu>, Marius Bakke <mbakke@fastmail.com>, and Giel van Schijndel <giel@mortis.eu> * gnu/packages/gcc.scm (gcc-6)[native-search-paths]: New field. Ludovic Courtès 2018-04-21gnu: gcc@4.7: Combine duplicate 'patches' fields into one....* gnu/packages/gcc.scm (gcc-4.7)[source]: Combine duplicate 'patches' fields into one. Previously, the first 'patches' field was being ignored. Mark H Weaver 2018-04-12gnu: gnu-c-manual: Use invoke....* gnu/packages/gcc.scm (gnu-c-manual)[arguments]: Use invoke. Mark H Weaver 2018-04-12gnu: libstdc++-doc: Use invoke....* gnu/packages/gcc.scm (make-libstdc++-doc)[arguments]: Use invoke. Mark H Weaver 2018-03-16gnu: libstdc++: Return #t from chdir phase....* gnu/packages/gcc.scm (make-libstdc++)[arguments]: Return #t from chdir phase. Mark H Weaver 2018-03-16gnu: All snippets report errors using exceptions, else return #t....* gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/bioinformatics.scm, gnu/packages/cdrom.scm, gnu/packages/chez.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/cross-base.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm, gnu/packages/databases.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/enlightenment.scm, gnu/packages/fpga.scm, gnu/packages/freedesktop.scm, gnu/packages/ftp.scm, gnu/packages/games.scm, gnu/packages/gcc.scm, gnu/packages/geo.scm, gnu/packages/ghostscript.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/graphics.scm, gnu/packages/gtk.scm, gnu/packages/guile.scm, gnu/packages/irc.scm, gnu/packages/java.scm, gnu/packages/kerberos.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lxde.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/maths.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/music.scm, gnu/packages/netpbm.scm, gnu/packages/networking.scm, gnu/packages/node.scm, gnu/packages/nvi.scm, gnu/packages/ocaml.scm, gnu/packages/pdf.scm, gnu/packages/perl.scm, gnu/packages/php.scm, gnu/packages/plotutils.scm, gnu/packages/pretty-print.scm, gnu/packages/profiling.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/robotics.scm, gnu/packages/sawfish.scm, gnu/packages/scanner.scm, gnu/packages/scheme.scm, gnu/packages/scribus.scm, gnu/packages/sdl.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/slang.scm, gnu/packages/smalltalk.scm, gnu/packages/ssh.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/tbb.scm, gnu/packages/terminals.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/tls.scm, gnu/packages/unrtf.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm: In all snippets, report errors using exceptions, or else return #t. Mark H Weaver 2018-02-20gnu: gcc@4.7: Update phase style....* gnu/packages/gcc.scm (gcc-4.7)[arguments]: Use MODIFY-PHASES syntax and end phases with #t. Tobias Geerinckx-Rice 2018-02-18gnu: gcc@4.9: Fix libsanitizer compilation with glibc 2.26....* gnu/packages/patches/gcc-4.9-libsanitizer-fix.patch: New file. * gnu/packages/gcc.scm (gcc-4.9)[source](patches): Add it. * gnu/local.mk (dist_patch_DATA): Add it. Ludovic Courtès 2018-01-26Merge branch 'master' into core-updatesMark H Weaver 2018-01-25gnu: gcc@7: Update to 7.3.0....* gnu/packages/gcc.scm (gcc-7): Update to 7.3.0. Mark H Weaver