summaryrefslogtreecommitdiff
path: root/gnu/packages/forth.scm
diff options
context:
space:
mode:
author宋文武 <iyzsong@member.fsf.org>2025-03-10 12:16:23 +0800
committer宋文武 <iyzsong@member.fsf.org>2025-03-11 10:38:39 +0800
commite633cc7ffd846239ba35e5b2197390968b3fe6c3 (patch)
tree3c78a21f031924bea12f2a8b03fcb52b627672c7 /gnu/packages/forth.scm
parent42773718d5d5d42137ac84826850256fd6bed606 (diff)
gnu: Add freeforth2.
* gnu/packages/forth.scm (freeforth2): New variable. Change-Id: I7f505a2f6ba9146008061778e582032c95b62298
Diffstat (limited to 'gnu/packages/forth.scm')
-rw-r--r--gnu/packages/forth.scm43
1 files changed, 42 insertions, 1 deletions
diff --git a/gnu/packages/forth.scm b/gnu/packages/forth.scm
index c5238878711..36f4ba50511 100644
--- a/gnu/packages/forth.scm
+++ b/gnu/packages/forth.scm
@@ -1,6 +1,6 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016 Nikita <nikita@n0.is> 2;;; Copyright © 2016 Nikita <nikita@n0.is>
3;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> 3;;; Copyright © 2016, 2025 宋文武 <iyzsong@envs.net>
4;;; Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com> 4;;; Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
5;;; 5;;;
6;;; This file is part of GNU Guix. 6;;; This file is part of GNU Guix.
@@ -22,9 +22,11 @@
22 #:use-module (guix build-system gnu) 22 #:use-module (guix build-system gnu)
23 #:use-module (guix build-system trivial) 23 #:use-module (guix build-system trivial)
24 #:use-module (guix download) 24 #:use-module (guix download)
25 #:use-module (guix git-download)
25 #:use-module (guix gexp) 26 #:use-module (guix gexp)
26 #:use-module ((guix licenses) #:prefix license:) 27 #:use-module ((guix licenses) #:prefix license:)
27 #:use-module (guix packages) 28 #:use-module (guix packages)
29 #:use-module (gnu packages assembly)
28 #:use-module (gnu packages m4) 30 #:use-module (gnu packages m4)
29 #:use-module (gnu packages vim)) 31 #:use-module (gnu packages vim))
30 32
@@ -63,6 +65,45 @@ included.")
63 (home-page "https://www.gnu.org/software/gforth/") 65 (home-page "https://www.gnu.org/software/gforth/")
64 (license license:gpl3+))) 66 (license license:gpl3+)))
65 67
68(define-public freeforth2
69 (package
70 (name "freeforth2")
71 (version "1.0.0")
72 (source (origin
73 (method git-fetch)
74 (uri (git-reference
75 (url "https://github.com/dan4thewin/FreeForth2")
76 (commit (string-append "v" version))))
77 (file-name (git-file-name name version))
78 (sha256
79 (base32
80 "0nnbvqvv0q7mcy2paxknl97zk6vphflvqp3dy741p0kaghcpgli7"))))
81 (build-system gnu-build-system)
82 (arguments
83 (list #:test-target "test"
84 #:system "i686-linux" ;requires 32-bit gcc
85 #:make-flags
86 #~(list (string-append "PREFIX=" #$output)
87 "LD=gcc -m32 -nostartfiles -lc")
88 #:phases
89 #~(modify-phases %standard-phases
90 (replace 'configure
91 (lambda _
92 (substitute* "fflin.boot"
93 (("/usr/local/share/ff")
94 (string-append #$output "/share/ff"))
95 ;; Increase the size of ffpath for store path.
96 (("46[+] create ffpath")
97 "256+ create ffpath")))))))
98 (native-inputs (list fasm))
99 (synopsis "Lightweight x86 Forth")
100 (home-page "https://github.com/dan4thewin/FreeForth2")
101 (description
102 "FreeForth2 offers a lightweight Forth for x86 GNU/Linux that deftly
103blends assembly and Forth.")
104 (supported-systems '("i686-linux" "x86_64-linux"))
105 (license license:asl2.0)))
106
66(define-public smithforth 107(define-public smithforth
67 (package 108 (package
68 (name "smithforth") 109 (name "smithforth")