summaryrefslogtreecommitdiff
path: root/gnu/packages/smalltalk.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/smalltalk.scm')
-rw-r--r--gnu/packages/smalltalk.scm52
1 files changed, 45 insertions, 7 deletions
diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm
index 5d35f563e2..ea1798ac13 100644
--- a/gnu/packages/smalltalk.scm
+++ b/gnu/packages/smalltalk.scm
@@ -26,6 +26,8 @@
#:use-module (guix download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages assembly)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
@@ -36,6 +38,7 @@
#:use-module (gnu packages libffi)
#:use-module (gnu packages libsigsegv)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages xorg))
@@ -43,26 +46,61 @@
(define-public smalltalk
(package
(name "smalltalk")
- (version "3.2.5")
+ (version "3.2.91")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://gnu/smalltalk/smalltalk-"
+ ;; XXX: Revert to mirror://gnu with the next release of Smalltalk.
+ (uri (string-append "https://alpha.gnu.org/gnu/smalltalk/smalltalk-"
version ".tar.xz"))
(sha256
(base32
- "1k2ssrapfzhngc7bg1zrnd9n2vyxp9c9m70byvsma6wapbvib6l1"))))
+ "1zb2h5cbz1cwybqjl24lflw359lwj7sjvvhwb4x6miypzhwq4qh0"))
+ ;; XXX: To be removed with the next release of Smalltalk.
+ (patches (search-patches "smalltalk-multiplication-overflow.patch"))))
(build-system gnu-build-system)
(native-inputs
- `(("libffi" ,libffi)
+ `(("pkg-config" ,pkg-config)
+ ;; XXX: To be removed with the next release of Smalltalk.
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ ;; TODO: These optional dependencies raise the closure size to ~1 GiB
+ ;; from the current ~100 MiB, although some of them might be very
+ ;; useful for end users:
+ ;; - freeglut
+ ;; - glib
+ ;; - gobject-introspection
+ ;; - gtk+-2
+ ;; - tcl/tk
+ ;; - SDL (sdl-union)
+ ;; - sqlite
+ ;; - zlib
+ (inputs
+ `(("gmp" ,gmp)
+ ("libffi" ,libffi)
("libltdl" ,libltdl)
("libsigsegv" ,libsigsegv)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("zip" ,zip)))
+ ("lightning" ,lightning)
+ ("zip" ,zip)))
(arguments
`(#:phases
(modify-phases %standard-phases
+ ;; XXX: To be removed with the next release of Smalltalk.
+ ;; The overflow patch modifies configure.ac, therefore remove
+ ;; old configure script and enforce an autoreconf.
+ (add-before 'bootstrap 'remove-unpatched-configure
+ (lambda _
+ (delete-file "configure")
+ #t))
+ ;; XXX: To be removed with the next release of Smalltalk.
+ ;; We don't want to regenerate the info files.
+ (add-after 'build 'keep-generated-info-manual
+ (lambda _
+ (for-each (lambda (file)
+ (invoke "touch" file))
+ (find-files "doc" "\\.info"))
+ #t))
(add-before 'configure 'fix-libc
(lambda _
(let ((libc (assoc-ref %build-inputs "libc")))