Package: guix-patches;
Reported by: Rouby Pierre-Antoine <pierre-antoine.rouby <at> inria.fr>
Date: Mon, 14 May 2018 09:09:02 UTC
Severity: normal
Tags: patch
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Rouby Pierre-Antoine <pierre-antoine.rouby <at> inria.fr> To: ludo <at> gnu.org Cc: 31449 <at> debbugs.gnu.org, Rouby Pierre-Antoine <pierre-antoine.rouby <at> inria.fr> Subject: [bug#31449] [PATCH 1/3] gnu: Add guile-simple-zmq. Date: Tue, 15 May 2018 11:22:04 +0200
* gnu/package/guile.scm (guile-simple-zmq): New variable. --- gnu/packages/guile.scm | 91 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 2af6f875e..3a0158944 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2017 Nils Gillmann <ng0 <at> n0.is> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me <at> tobias.gr> ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> +;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby <at> inria.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,6 +67,8 @@ #:use-module (gnu packages version-control) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) + #:use-module (gnu packages networking) + #:use-module (gnu packages tls) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -2093,4 +2096,92 @@ It has a nice, simple s-expression based syntax.") "Guile-colorized provides you with a colorized REPL for GNU Guile.") (license license:gpl3+))) +(define-public guile-simple-zmq + (let ((commit "d76657aeb1cd10ef8136edc06bb90999914c7c3c") + (revision "0")) + (package + (name "guile-simple-zmq") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jerry40/guile-simple-zmq") + (commit commit))) + (sha256 + (base32 + "1w73dy5gpyv33jn34dqlkqpwh9w4y8wm6hgvbpb3wbp6xsa2mk4z")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils) + (srfi srfi-26) + (ice-9 match) + (ice-9 popen) + (ice-9 rdelim)) + + (let* ((out (assoc-ref %outputs "out")) + (guile (assoc-ref %build-inputs "guile")) + (effective (read-line + (open-pipe* OPEN_READ + (string-append guile "/bin/guile") + "-c" "(display (effective-version))"))) + (module-dir (string-append out "/share/guile/site/" + effective)) + (go-dir (string-append out "/lib/guile/" + effective "/site-ccache/")) + (source (string-append (assoc-ref %build-inputs "source") + "/src")) + (scm-file "simple-zmq.scm") + (guild (string-append (assoc-ref %build-inputs "guile") + "/bin/guild")) + (zmq (assoc-ref %build-inputs "zeromq")) + (deps (list zmq)) + (path (string-join + (map (cut string-append <> + "/lib/") + deps) + ":"))) + ;; Make installation directories. + (mkdir-p module-dir) + (mkdir-p go-dir) + + ;; Compile .scm files and install. + (chdir source) + (setenv "GUILE_AUTO_COMPILE" "0") + (for-each (lambda (file) + (let* ((dest-file (string-append module-dir "/" + file)) + (go-file (match (string-split file #\.) + ((base _) + (string-append go-dir "/" + base ".go"))))) + ;; Install source module. + (copy-file file dest-file) + (substitute* dest-file + (("\\(dynamic-link \"libzmq\"\\)") + (format #f "(dynamic-link \"~a/lib/libzmq.so\")" + (assoc-ref %build-inputs "zeromq")))) + + ;; Install and compile module. + (unless (zero? (system* guild "compile" + "-L" source + "-o" go-file + dest-file)) + (error (format #f "Failed to compile ~s to ~s!" + file go-file))))) + (list scm-file)) + #t)))) + (propagated-inputs + `(("guile" ,guile-2.2) + ("zeromq" ,zeromq))) + (home-page "https://github.com/jerry40/guile-simple-zmq") + (synopsis "Guile wrapper over ZeroMQ library") + (description + "This package provides a Guile programming interface to the ZeroMQ +messaging library.") + (license license:gpl3+)))) + ;;; guile.scm ends here -- 2.17.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.