M gnu/local.mk => gnu/local.mk +1 -0
@@ 2077,6 2077,7 @@ dist_patch_DATA = \
%D%/packages/patches/smalltalk-multiplication-overflow.patch \
%D%/packages/patches/soci-mysql-ddl-types.patch \
%D%/packages/patches/sqlite-hurd.patch \
+ %D%/packages/patches/squeak-vm-gcc-14-fix.patch \
%D%/packages/patches/stepmania-ffmpeg-compat.patch \
%D%/packages/patches/stk-5.0.1-fix-typo.patch \
%D%/packages/patches/strace-readlink-tests.patch \
M gnu/packages/smalltalk.scm => gnu/packages/smalltalk.scm +25 -30
@@ 229,9 229,9 @@ such as ones for networking and GUI programming.")
(origin
(method url-fetch)
(uri (string-append "http://squeakvm.org/unix/release/"
- "Squeak-" version "-src.tar.gz"))
+ "Squeak-" version "-src-no-mp3.tar.gz"))
(sha256
- (base32 "0bpwbnpy2sb4gylchfx50sha70z36bwgdxraym4vrr93l8pd3dix"))
+ (base32 "01miyjpka9x24xsp4j54mm9zjiaci670sss50qvd94y5q2iq9cx7"))
(modules '((guix build utils)))
(snippet
;; Make builds bit-reproducible.
@@ 243,8 243,29 @@ such as ones for networking and GUI programming.")
"ux_version = \"GNU\";\n"))
(substitute* "unix/vm/config.cmake"
(("\\(VM_BUILD_STRING.*")
- "(VM_BUILD_STRING \\\"Built with GNU Guix\\\")"))
- #t))))
+ "(VM_BUILD_STRING \\\"Built with GNU Guix\\\")"))))
+ (patches (search-patches "squeak-vm-gcc-14-fix.patch"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:tests? #f ;no check target
+ #:configure-flags
+ #~(list (string-append "-DVM_HOST=" #$(nix-system->gnu-triplet
+ (or (%current-target-system)
+ (%current-system))))
+ (string-append "-DVM_VERSION=" #$version)
+ "-DCMAKE_VERBOSE_MAKEFILE=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "unix")))
+ (add-after 'chdir 'remove-hardcoded-PATH
+ (lambda _
+ ;; Remove hard-coded FHS PATH entries.
+ (substitute* '("cmake/squeak.in"
+ "cmake/squeak.sh.in")
+ (("^PATH=.*") "")))))))
+ (native-inputs (list pkg-config))
(inputs
(list alsa-lib
dbus
@@ 253,32 274,6 @@ such as ones for networking and GUI programming.")
libxrender
mesa
pulseaudio))
- (native-inputs
- (list pkg-config))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f ;no check target
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'remove-hardcoded-PATH
- (lambda _
- ;; Remove hard-coded FHS PATH entries.
- (substitute* '("unix/cmake/squeak.in"
- "unix/cmake/squeak.sh.in")
- (("^PATH=.*") ""))
- #t))
- (add-before 'configure 'enter-build-directory
- (lambda _
- (mkdir "build")
- (chdir "build")
- #t))
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (invoke "../unix/cmake/configure"
- (string-append "--prefix=" out)
- "--without-quartz")
- #t))))))
(synopsis "Smalltalk programming language and environment")
(description "Squeak is a full-featured implementation of the Smalltalk
programming language and environment based on (and largely compatible with)