Last stable GNU smalltalk release dates back to 2013-04-08. Disabled tests as they were also failing for my non-guix build. Also added the latest alpha release as `smalltalk-next` and a build from vcs where we actually pass the tests.
* gnu/packages/ruby.scm (smalltalk): Disable tests (smalltalk-next): New variable. (smalltalk-next-from-vcs): New variable. --- gnu/packages/smalltalk.scm | 63 +++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm index 5d35f563e2..c96f4b1730 100644 --- a/gnu/packages/smalltalk.scm +++ b/gnu/packages/smalltalk.scm @@ -24,20 +24,26 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bison) #:use-module (gnu packages compression) + #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) + #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages libffi) #:use-module (gnu packages libsigsegv) #:use-module (gnu packages linux) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages texinfo) #:use-module (gnu packages xorg)) (define-public smalltalk @@ -61,7 +67,8 @@ (inputs `(("zip" ,zip))) (arguments - `(#:phases + `(#:tests? #f ; failing tests, 3.2.5 has been released years ago + #:phases (modify-phases %standard-phases (add-before 'configure 'fix-libc (lambda _ @@ -145,3 +152,57 @@ also includes a customisable framework for creating dynamic HTTP servers and interactively extensible Web sites.") (home-page "http://squeakvm.org/") (license license:x11))) + +;;; alpha release +(define-public smalltalk-next + (package (inherit smalltalk) + (name "smalltalk-next") + (version "3.2.91") + (source + (origin + (method url-fetch) + (uri (string-append "https://alpha.gnu.org/gnu/smalltalk/smalltalk-" + version ".tar.xz")) + (sha256 + (base32 "1zb2h5cbz1cwybqjl24lflw359lwj7sjvvhwb4x6miypzhwq4qh0")))))) + +;;; This version from the main development branch can be built with passing +;;; tests +(define-public smalltalk-next-from-vcs + (let ((revision "18") + (commit "dfe4b5660037c4d178853ee00458a75e51a88563") + (git-url "git://git.sv.gnu.org/smalltalk.git")) + (package (inherit smalltalk) + (name "smalltalk-next-from-vcs") + (version (git-version "3.2.91" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url git-url) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 (base32 "11dm1qricq7fwn1gfyn9ik7f1axw7l3ivipsh11dywa42pmb5j2r")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("flex" ,flex) + ("texinfo" ,texinfo) + ("perl" ,perl) + ("gettext" ,gettext-minimal) + ("libffi" ,libffi) + ("libltdl" ,libltdl) + ("bison" ,bison) + ("libsigsegv" ,libsigsegv) + ("pkg-config" ,pkg-config))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-libc + (lambda _ + (let ((libc (assoc-ref %build-inputs "libc"))) + (substitute* "libc.la.in" + (("@LIBC_SO_NAME@") "libc.so") + (("@LIBC_SO_DIR@") (string-append libc "/lib")))) + #t)))))))) + -- 2.28.0