summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntero Mejr <mail@antr.me>2024-07-09 14:33:00 +0000
committerGuix Patches Tester <>2024-07-09 17:05:45 +0200
commita397c6d1f9a44806e8448e0256106776030cf7c1 (patch)
tree0583fe964f635f7e888139d789f19bda8d185600
parent6b496c071537e399710ff5ec0284f74a44b66c71 (diff)
downloadguix-patches-issue-72001.tar
guix-patches-issue-72001.tar.gz
gnu: Add icon.issue-72001
* gnu/packages/esolangs.scm (icon): New variable. Change-Id: Ibd61e5431a2a57b89b94391be87a9ca36a40c58b
-rw-r--r--gnu/packages/esolangs.scm57
1 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/esolangs.scm b/gnu/packages/esolangs.scm
index 0651dda1b0..f89bc875b9 100644
--- a/gnu/packages/esolangs.scm
+++ b/gnu/packages/esolangs.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2020 Hendursaga <hendursaga@yahoo.com>
;;; Copyright © 2020 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2022 jgart <jgart@dismail.de>
+;;; Copyright © 2024 Antero Mejr <mail@antr.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,16 +23,19 @@
(define-module (gnu packages esolangs)
#:use-module (gnu packages)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
@@ -156,3 +160,56 @@ of making programs read like plays. The characters in the play are variables.
If you want to assign a character, let's say Juliet, a positive value, you put
her and another character on the stage and let that character praise Juliet.")
(license license:gpl2+)))
+
+(define-public icon
+ (package
+ (name "icon")
+ (version "9.5.24a")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gtownsend/icon")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0im1ikjyg14qvn4d31lpkhynaspws25m6whhb5xqwscq7xh4dy4p"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags #~(list "name=linux" (string-append "dest=" #$output))
+ #:parallel-build? #f ;non-deterministic errors
+ #:test-target "Test"
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'configure 'patch
+ (lambda _
+ (substitute* "Makefile"
+ (("Install:") "install:")
+ (("mkdir \\$D$") "")
+ (("mkdir \\$D/bin") "mkdir -p $D/bin")
+ (("\\$D/doc") "$D/share/doc/icon")
+ (("cp README \\$D")
+ "cp README $D/share/doc/icon"))
+ (substitute* "tests/general/Test-opts"
+ (("/usr/bin/env icon")
+ "../../bin/icon"))
+ (substitute* '("ipl/progs/shar.icn"
+ "ipl/progs/ipatch.icn"
+ "src/icont/link.c")
+ (("/bin/sh")
+ (string-append
+ #$(this-package-input "bash-minimal")
+ "/bin/bash")))))
+ (replace 'configure
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "X-Configure"
+ make-flags))))))
+ (inputs (list bash-minimal libx11 libxpm libxt libxaw))
+ (home-page "https://www2.cs.arizona.edu/icon/")
+ (synopsis "String-processing programming language")
+ (description
+ "Icon is a high-level programming language with facilities for processing
+strings and structures, expressions that may produce sequences of results,
+goal-directed evaluation that automatically searches for a successful result,
+and string scanning that allows operations on strings to be formulated at a
+conceptual level. Icon also provides high-level graphics facilities.")
+ (license license:public-domain)))