diff options
author | Daniel Ziltener <dziltener@lyrion.ch> | 2024-03-20 16:36:52 +0100 |
---|---|---|
committer | Guix Patches Tester <> | 2024-04-17 13:54:47 +0200 |
commit | 597556941190535bf7b3e85cce1deadbfbea4be9 (patch) | |
tree | fb3417a2841b290447fe7cf231c3826a06b34ed3 | |
parent | b47ae1ecc43baaf726701ab2d2f810ecfaa75428 (diff) | |
download | guix-patches-issue-69918.tar guix-patches-issue-69918.tar.gz |
gnu: smalltalk: add pharo-vm 10.1.1.issue-69918
-rw-r--r-- | gnu/packages/smalltalk.scm | 66 |
1 files changed, 65 insertions, 1 deletions
diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm index 64146813d1..60e0cc5778 100644 --- a/gnu/packages/smalltalk.scm +++ b/gnu/packages/smalltalk.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2024 Daniel Ziltener <dziltener@lyrion.ch> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,13 +37,16 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages gl) #:use-module (gnu packages glib) + #:use-module (gnu packages image) #: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)) + #:use-module (gnu packages version-control) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg)) (define-public smalltalk (package @@ -184,3 +188,63 @@ also includes a customisable framework for creating dynamic HTTP servers and interactively extensible Web sites.") (home-page "http://squeakvm.org/") (license license:x11))) + +(define-public pharo-vm + (package + (name "pharo-vm") + (version "10.1.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://files.pharo.org/vm/pharo-spur64-headless/Linux-x86_64/source/PharoVM-" version "-32b2be5-Linux-x86_64-c-src.tar.gz")) + (sha256 + (base32 + "1hbkvfrw57sz5nw48z64789yjcry9l1am4hmkndy9dd6i06n2c2n")))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags + #~(list + (string-append "-DPHARO_LIBRARY_PATH=" + (assoc-ref %outputs "out") "/lib") + "-DGENERATED_SOURCE_DIR=." + "-DALWAYS_INTERACTIVE=on" + "-DBUILD_IS_RELEASE=on" + "-DGENERATE_SOURCES=off" + "-DBUILD_BUNDLE=off") + #:phases + #~(modify-phases %standard-phases + (delete 'check) + (delete 'validate-runpath) + (add-after 'install 'really-install + (lambda _ + (let ((bin (string-append #$output "/bin")) + (lib (string-append #$output "/lib"))) + (mkdir-p bin) + (mkdir-p lib) + (copy-recursively "./build/vm/pharo" + (string-append bin "/pharo")) + (for-each (lambda (file) + (let ((inode (string-append "./build/vm/" file))) + (copy-recursively + inode + (string-append lib "/" file)))) + (with-directory-excursion + "./build/vm" + (find-files "." + (lambda (file stat) + (string-contains file ".so"))))) + (wrap-program (string-append bin "/pharo") + `("LD_LIBRARY_PATH" prefix (,lib))))))))) + (inputs + (list libffi + libgit2 + cairo + freetype + pixman + libpng + util-linux)) + (synopsis "This is the VM used by Pharo") + (home-page "https://www.pharo.org") + (description "This is the VM used by Pharo.") + (license license:expat))) |