aboutsummaryrefslogtreecommitdiff
path: root/build-aux
diff options
context:
space:
mode:
Diffstat (limited to 'build-aux')
0 files changed, 0 insertions, 0 deletions
#$@(if (%current-target-system) '((substitute* "extension/Makefile.in" (("^.*: check-for-shared-lib-support" match) (string-append "### " match)))) '())))) (add-before 'check 'adjust-test-infrastructure (lambda _ ;; Remove dependency on 'more' (from util-linux), which ;; would needlessly complicate bootstrapping. (substitute* "test/Makefile" (("\\| more") "")) ;; Adjust the shebang in that file since it is then diff'd ;; against the actual test output. (substitute* "test/watchpoint1.ok" (("#! /usr/bin/gawk") (string-append "#!" (which "gawk"))))))))) ;; Tests explicitly require en_US.UTF-8, fr_FR.UTF-8, ru_RU.UTF-8 and ;; ja_JP.UTF-8. (native-inputs (list (libc-utf8-locales-for-target))) (inputs (list libsigsegv ;; Use the full-fledged Bash package, otherwise the test suite ;; sometimes fail non-deterministically. bash)) (home-page "https://www.gnu.org/software/gawk/") (synopsis "Text scanning and processing language") (description "Gawk is the GNU implementation of Awk, a specialized programming language for the easy manipulation of formatted text, such as tables of data. Gawk features many extensions beyond the traditional implementation, including network access, sorting, and large libraries.") (license license:gpl3+))) ;; Separate from gawk to facilitate bootstrapping. (define-public gawk-mpfr (package/inherit gawk (name "gawk-mpfr") (inputs (modify-inputs (package-inputs gawk) (prepend mpfr))))) ;; Suffixed with -next because, similarly to Emacs, development versions are ;; numbered x.y.60+z, and also there are no tagged versions of egawk yet. ;; (However, though egawk's --version lists 5.1.60, it is actually forked from ;; a development version of gawk 5.1.1.) (define-public egawk-next (let ((commit "f00e74ffc73f6ba6fe74fb7a26319770b8c3792c") (revision "0")) (package (inherit gawk-mpfr) (name "egawk-next") (version (git-version "5.1.60" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://www.kylheku.com/git/egawk") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0bmfbw6k1aiyiardnk7ha5zlpkvavj013mm4n7wwj2vdcgrs6p1f")))) (home-page "https://www.kylheku.com/cgit/egawk/") (synopsis "Enhanced GNU Awk") (description "@command{egawk} is Enhanced GNU Awk. It is a fork of GNU Awk with some enhancements designed and implemented by Kaz Kylheku. In particular, Enhanced GNU Awk provides the @code{@@let} statement for declaring block-scoped lexical variables.")))) (define-public mawk (package (name "mawk") (version "1.3.4-20200120") (home-page "https://invisible-island.net/mawk/mawk.html") (source (origin (method url-fetch) (uri (string-append "https://invisible-mirror.net/archives/mawk" "/mawk-" version ".tgz")) (sha256 (base32 "0dw2icf8bnqd9y0clfd9pkcxz4b2phdihwci13z914mf3wgcvm3z")) (modules '((guix build utils))) (snippet '(begin ;; Prevent tests from hard coding PATH to a bogus value. (substitute* '("test/mawktest" "test/fpe_test") (("^PATH=.*") "")))))) (build-system gnu-build-system) (synopsis "Text scanning and processing language") (description "@command{mawk} is an interpreter for the Awk programming language. This version aims to be smaller and faster than GNU Awk, at the expense of fewer features and extensions.") (license license:gpl2))) ;version 2 only (define-public cppawk (package (name "cppawk") (version "20220703") (source (origin (method git-fetch) (uri (git-reference (url "https://www.kylheku.com/git/cppawk") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0b09757q81sz4gn62k3mv5bgllyb2v5m64346s8fc99mqqif70cx")))) (build-system copy-build-system) (arguments `(#:install-plan '(("bin/cppawk" "bin/cppawk") ("share/cppawk/include" "share/cppawk/include") ("./" "share/man/man1" #:include-regexp (".*\\.1$"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths (lambda _ (substitute* "bin/cppawk" (("/bin/sh") (which "sh")) (("/bin/bash") (which "bash")) (("dirname") (which "dirname")) (("mktemp") (which "mktemp")) ;; Extra space to prevent matching Awk's printf. (("printf ") (string-append (which "printf") " ")) (("rm -f") (string-append (which "rm") " -f")) (("prepro=cpp") (string-append "prepro=" (which "cpp"))) (("sed -e") (string-append (which "sed") " -e"))) (substitute* '("runtests" "testdir/testawk" "testdir/testcpp" "testdir/testdel") (("/bin/sh") (which "sh"))) (substitute* "testsuite.awk" (("/usr/bin/awk") (which "awk"))))) (add-after 'fix-paths 'fix-awk-paths (lambda _ (substitute* "bin/cppawk" (("awk=gawk") (string-append "awk=" (which "gawk"))) (("awk '") (string-append (which "gawk") " '"))))) (add-after 'fix-awk-paths 'check (lambda _ (invoke "./runtests")))))) (native-inputs ;; For tests (list mawk)) (inputs (list coreutils ; For dirname, mktemp, printf, rm gawk-mpfr ; Default variant, but supports others gcc ; For cpp sed)) (home-page "https://www.kylheku.com/cgit/cppawk/") (synopsis "Wrapper script that adds C preprocessing to Awk") (description "@command{cppawk} is a shell script that invokes the C preprocessor (@command{cpp}) on Awk code and calls Awk (by default GNU Awk) on the result. @command{cppawk} understands the basic Awk options like @option{-F} and @option{-v}, and also understands common @command{cpp} options like @option{-I} and @option{-Dmacro=value}. @command{cppawk} has no dependencies beyond Awk, @command{cpp}, @command{sed} and some GNU core utilities (including @command{printf}). Preprocessed programs can be captured and transferred to systems that have Awk but not @command{cpp} or @command{cppawk}.") (license license:bsd-2))) (define-public cppawk-egawk (package/inherit cppawk (name "cppawk-egawk") (arguments (substitute-keyword-arguments (package-arguments cppawk) ((#:phases phases) `(modify-phases ,phases (replace 'fix-awk-paths (lambda _ (substitute* "bin/cppawk" (("awk=gawk") (string-append "awk=" (which "egawk"))) (("awk '") (string-append (which "egawk") " '"))))))))) (inputs (modify-inputs (package-inputs cppawk) (delete "gawk-mpfr") (prepend egawk-next))) (synopsis "cppawk that calls Enhanced GNU Awk by default")))