This commit is contained in:
Daniel Ziltener 2024-03-20 16:39:23 +01:00
parent 36f8a44906
commit 767edd806a
Signed by: zilti
GPG Key ID: B38976E82C9DAE42

77
zilti/packages/pharo.scm Normal file
View File

@ -0,0 +1,77 @@
(define-module (zilti packages pharo)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xdisorg))
(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_BIN_LOCATION="
(assoc-ref %outputs "out") "/bin")
(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)
(add-after 'install 'really-install
(lambda _
(let ((bin (string-append #$output "/bin"))
(lib (string-append #$output "/lib")))
(wrap-program "./build/vm/pharo"
`("LD_LIBRARY_PATH" prefix (,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")))))))))))
(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)))