(define-module (yas packages smalltalk) #: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) #: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 emacs) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages libffi) #:use-module (gnu packages libsigsegv) #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) #: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 tls) #:use-module (gnu packages xorg)) (define-public smalltalk-alt (package (name "smalltalk-alt") (version "3.2.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/smalltalk/smalltalk-" version ".tar.xz")) (sha256 (base32 "1k2ssrapfzhngc7bg1zrnd9n2vyxp9c9m70byvsma6wapbvib6l1")))) (build-system gnu-build-system) (native-inputs `(("gcc@5" ,gcc-5) ("libtool" ,libtool) ("perl" ,perl) ("gettext" ,gettext-minimal) ("libffi" ,libffi) ("libltdl" ,libltdl) ("libsigsegv" ,libsigsegv) ("pkg-config" ,pkg-config))) (inputs `(("emacs" ,emacs) ("glib" ,glib) ("gtk+" ,gtk+-2) ("gnutls" ,gnutls) ("ncurses" ,ncurses) ("zip" ,zip) ("zlib" ,zlib))) (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))))) (home-page "http://smalltalk.gnu.org/") (synopsis "Smalltalk environment") (description "GNU Smalltalk is a free implementation of the Smalltalk language. It implements the ANSI standard for the language and also includes extra classes such as ones for networking and GUI programming.") (license license:gpl2+))) (define-public smalltalk-next (let ((revision "18") (commit "dfe4b5660037c4d178853ee00458a75e51a88563") (git-url "git://git.sv.gnu.org/smalltalk.git")) (package (inherit smalltalk-alt) (name "smalltalk-next") (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))))))