Package: guix-patches;
Reported by: Antero Mejr <mail <at> antr.me>
Date: Mon, 8 Jul 2024 23:05:02 UTC
Severity: normal
Tags: patch
To reply to this bug, email your comments to 72001 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#72001
; Package guix-patches
.
(Mon, 08 Jul 2024 23:05:02 GMT) Full text and rfc822 format available.Antero Mejr <mail <at> antr.me>
:guix-patches <at> gnu.org
.
(Mon, 08 Jul 2024 23:05:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Antero Mejr <mail <at> antr.me> To: guix-patches <at> gnu.org Cc: iyzsong <at> envs.net, liliana.prikler <at> gmail.com, adam.faiz <at> disroot.org Subject: [PATCH 1/2] gnu: Add icon. Date: Mon, 08 Jul 2024 23:04:26 +0000
* gnu/packages/esolangs.scm (icon): New variable. Change-Id: Ibd61e5431a2a57b89b94391be87a9ca36a40c58b --- gnu/packages/esolangs.scm | 60 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/gnu/packages/esolangs.scm b/gnu/packages/esolangs.scm index 0651dda1b0..59790812f0 100644 --- a/gnu/packages/esolangs.scm +++ b/gnu/packages/esolangs.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2020 Hendursaga <hendursaga <at> yahoo.com> ;;; Copyright © 2020 Liliana Marie Prikler <liliana.prikler <at> gmail.com> ;;; Copyright © 2022 jgart <jgart <at> dismail.de> +;;; Copyright © 2024 Antero Mejr <mail <at> 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,59 @@ (define-public shakespeare-spl 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 #:parallel-build? #f ;non-deterministic errors + #:phases #~(modify-phases %standard-phases + (add-before 'configure 'patch + (lambda _ + (substitute* "Makefile" + (("mkdir \\$D$") "")) + (substitute* "tests/general/Test-opts" + (("/usr/bin/env icon") + "../../bin/icon")) + (for-each + (lambda (x) + (substitute* x + (("/bin/sh") + (string-append + #$(this-package-input "bash-minimal") + "/bin/bash")))) + '("ipl/progs/shar.icn" + "ipl/progs/ipatch.icn" + "src/icont/link.c")))) + (replace 'configure + (lambda _ + (invoke "make" "X-Configure" "name=linux"))) + (replace 'install + (lambda _ + (invoke "make" "Install" + (string-append "dest=" #$output)))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "make" "Test"))))))) + (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))) base-commit: 13f0f52314244f08eb9fdd626d907c0c3976e06a -- 2.45.2
guix-patches <at> gnu.org
:bug#72001
; Package guix-patches
.
(Mon, 08 Jul 2024 23:09:01 GMT) Full text and rfc822 format available.Message #8 received at 72001 <at> debbugs.gnu.org (full text, mbox):
From: Antero Mejr <mail <at> antr.me> To: 72001 <at> debbugs.gnu.org Subject: [PATCH 2/2] mailmap: Add alias for Antero Mejr. Date: Mon, 08 Jul 2024 23:07:59 +0000
* .mailmap: Map old emails for Antero Mejr to current address. Change-Id: Ifb4a3b9ad2e08b9d6ddbab7508586e8ece75fda8 --- .mailmap | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.mailmap b/.mailmap index 39b01335ee..833976fe79 100644 --- a/.mailmap +++ b/.mailmap @@ -11,6 +11,8 @@ Amirouche Boubekki <amirouche <at> hypermove.net> Andreas Enge <andreas <at> enge.fr> <andreas.enge <at> inria.fr> Andreas Enge <andreas <at> enge.fr> <privat <at> xobs-novena> Andy Wingo <wingo <at> igalia.com> <wingo <at> pobox.com> +Antero Mejr <mail <at> antr.me> <antero <at> kodmin.com> +Antero Mejr <mail <at> antr.me> <antero <at> mailbox.org> Ben Woodcroft <donttrustben <at> gmail.com> Ben Woodcroft <donttrustben <at> gmail.com> <b.woodcroft <at> uq.edu.au> Ben Woodcroft <donttrustben <at> gmail.com> <donttrustben near gmail.com> -- 2.45.2
guix-patches <at> gnu.org
:bug#72001
; Package guix-patches
.
(Tue, 09 Jul 2024 09:04:02 GMT) Full text and rfc822 format available.Message #11 received at 72001 <at> debbugs.gnu.org (full text, mbox):
From: Sharlatan Hellseher <sharlatanus <at> gmail.com> To: 72001 <at> debbugs.gnu.org Subject: [PATCH 1/2] gnu: Add icon. Date: Tue, 09 Jul 2024 10:02:08 +0100
[Message part 1 (text/plain, inline)]
Hi, Thank you for the patches. QA looks happy on most systems. There are some adjustment which may be applied: --8<---------------cut here---------------start------------->8--- + (for-each + (lambda (x) + (substitute* x + (("/bin/sh") + (string-append + #$(this-package-input "bash-minimal") + "/bin/bash")))) + '("ipl/progs/shar.icn" + "ipl/progs/ipatch.icn" + "src/icont/link.c")))) --8<---------------cut here---------------end--------------->8--- SUBSTITUTE* supports a list of files and this part may be simplified e.g. --8<---------------cut here---------------start------------->8--- (substitute* '("ipl/progs/shar.icn" "ipl/progs/ipatch.icn" "src/icont/link.c") (("/bin/sh") (string-append #$(this-package-input "bash-minimal") "/bin/bash"))) --8<---------------cut here---------------end--------------->8--- It looks like upstream prefers esoteric approach in Makefile as well, IMHO the standard phases may be preserved with patching Makefile targets while providing <#:configure-flags> or <#:make-flags>: --8<---------------cut here---------------start------------->8--- + (replace 'configure + (lambda _ + (invoke "make" "X-Configure" "name=linux"))) + (replace 'install + (lambda _ + (invoke "make" "Install" + (string-append "dest=" #$output)))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "make" "Test"))))))) --8<---------------cut here---------------end--------------->8--- Is Bash required during runtime as well? If not we may place it in NATIVE-INPUTS: --8<---------------cut here---------------start------------->8--- + (inputs (list bash-minimal libx11 libxpm libxt libxaw)) --8<---------------cut here---------------end--------------->8--- Looking forward for v2! -- Oleg
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#72001
; Package guix-patches
.
(Tue, 09 Jul 2024 14:34:01 GMT) Full text and rfc822 format available.Message #14 received at 72001 <at> debbugs.gnu.org (full text, mbox):
From: Antero Mejr <mail <at> antr.me> To: 72001 <at> debbugs.gnu.org Cc: sharlatanus <at> gmail.com Subject: [PATCH v2] gnu: Add icon. Date: Tue, 09 Jul 2024 14:33:00 +0000
* gnu/packages/esolangs.scm (icon): New variable. Change-Id: Ibd61e5431a2a57b89b94391be87a9ca36a40c58b --- Changes in v2: - use #:test-target instead of replacing test phase. - patch Makefile more to avoid phase modifications. - use #:make-flags argument. - organize output directory hierachy correctly. Oleg: bash-minimal is required at runtime because icon does an unusual thing where it embeds code into a shell script. Also please merge the mailmap patch sent earlier along with this one. Thanks. gnu/packages/esolangs.scm | 57 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) 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 <at> yahoo.com> ;;; Copyright © 2020 Liliana Marie Prikler <liliana.prikler <at> gmail.com> ;;; Copyright © 2022 jgart <jgart <at> dismail.de> +;;; Copyright © 2024 Antero Mejr <mail <at> 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 @@ (define-public shakespeare-spl 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))) base-commit: 13f0f52314244f08eb9fdd626d907c0c3976e06a prerequisite-patch-id: f51bc060af7f806eb590f28f45d1f06c26b02812 -- 2.45.2
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.