guixchannel/zilti/packages/pharo.scm

137 lines
4.8 KiB
Scheme

(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-10.1
(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)))
(define pharo-vm-10.2
(package
(name "pharo-vm")
(version "10.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://files.pharo.org/vm/pharo-spur64-headless/Linux-x86_64/source/PharoVM-" version "-f4c5e2a-Linux-x86_64-c-src.tar.gz"))
(sha256
(base32
"0jr6xrw9g83h0k01a6fpm6zrxcy2iagax4pay7iwqrack187jbn8"))))
(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)))