From 5a84383dd5f035256555a505cf919fa5aeb30df8 Mon Sep 17 00:00:00 2001 From: nixo Date: Tue, 23 Apr 2019 09:41:40 +0200 Subject: [PATCH] add libGR (used by GR.jl, a Plots.jl backend) --- gr/gr.scm | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++ gr/readme.org | 7 +++++ 2 files changed, 92 insertions(+) create mode 100644 gr/gr.scm create mode 100644 gr/readme.org diff --git a/gr/gr.scm b/gr/gr.scm new file mode 100644 index 0000000..2d8aa44 --- /dev/null +++ b/gr/gr.scm @@ -0,0 +1,85 @@ +(use-modules ((guix licenses) #:prefix license:)) +(use-modules (guix packages)) +(use-modules (guix build-system gnu)) +(use-modules (guix git-download)) +(use-modules (guix download)) + +(use-modules (gnu packages gcc)) +(use-modules (gnu packages qt)) +(use-modules (gnu packages networking)) +(use-modules (gnu packages gtk)) +(use-modules (gnu packages gl)) +(use-modules (gnu packages image)) +(use-modules (gnu packages xorg)) + +(package + (name "gr") + (version "0.39.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url (string-append + "https://github.com/jheinen/" name)) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1wii7iaqnp6j4dg80v35czsm7yrgl10wrdhigr7x2sjhlz6qjr2r")) + (modules '((guix build utils))))) + (build-system gnu-build-system) + (arguments + '(#:parallel-build? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'check) + (delete 'validate-runpath) + ;; prerequisites: $(THIRDPARTYINCDIR)/include/zmq.h + (add-before 'build 'fix-zeromq + (lambda _ + (substitute* "lib/gks/Makefile" + (("targets: prerequisites libGKS.a libGKS.so demo gksm plugins gksqt") "targets: libGKS.a libGKS.so demo gksm plugins gksqt")) + (substitute* "lib/gr/Makefile" + ((" \\@make -C ../gks install") + "")) + (substitute* "Makefile" + (("install: default") "install:")) + (substitute* "lib/Preflight" + (("x11path=\"/usr/X11\"") + (string-append + "x11path=\"" + (assoc-ref %build-inputs "x11") + "\"" + ))) + #t) +) + ;; (add-after 'install 'install-gksqt + ;; (lambda _ + ;; (install-file "libs/gks/qt/gksqt" + ;; (string-append + ;; (assoc-ref %outputs "out") + ;; "/bin/")) + ;; #t)) + ) + #:make-flags + (list + ;; gks doesn't get built + "DIRS= lib/gr lib/gr3 lib/gks" + "CC=gcc" + (string-append "GRDIR=" (assoc-ref %outputs "out")) + ))) + (inputs + `(("gcc" ,gcc-8) + ("qt" ,qtbase) + ("zmq" ,zeromq) + ("czmq" ,czmq) + ("cairo" ,cairo) + ("glfw" ,glfw) + ("libtiff" ,libtiff) + ("x11" ,libx11) + ("xt" ,libxt) + )) + (home-page "http://gr-framework.org") + (synopsis "") + (description "") + (license license:expat)) diff --git a/gr/readme.org b/gr/readme.org new file mode 100644 index 0000000..f3ad89f --- /dev/null +++ b/gr/readme.org @@ -0,0 +1,7 @@ +GRDIR must be set. It's checked on runtime so it's enought to have it set when running julia. + +Example: +#+begin_src bash :eval never +GRDIR=$(dirname $(dirname $(readlink $(which gksqt)))) julia +#+end_src +