From debbugs-submit-bounces@debbugs.gnu.org Mon May 14 05:08:41 2018 Received: (at submit) by debbugs.gnu.org; 14 May 2018 09:08:41 +0000 Received: from localhost ([127.0.0.1]:33284 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fI9TF-0002B7-H6 for submit@debbugs.gnu.org; Mon, 14 May 2018 05:08:41 -0400 Received: from eggs.gnu.org ([208.118.235.92]:56401) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fI9TD-0002As-Ts for submit@debbugs.gnu.org; Mon, 14 May 2018 05:08:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fI9T7-0003pz-Lg for submit@debbugs.gnu.org; Mon, 14 May 2018 05:08:34 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:50154) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fI9T7-0003po-Hu for submit@debbugs.gnu.org; Mon, 14 May 2018 05:08:33 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47367) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fI9T3-0007Vk-8M for guix-patches@gnu.org; Mon, 14 May 2018 05:08:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fI9Sz-0003mo-Vb for guix-patches@gnu.org; Mon, 14 May 2018 05:08:29 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:43643) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fI9Sz-0003lk-JL for guix-patches@gnu.org; Mon, 14 May 2018 05:08:25 -0400 X-IronPort-AV: E=Sophos;i="5.49,399,1520895600"; d="scan'208";a="265105218" Received: from unknown (HELO antelope.bordeaux.inria.fr) ([193.50.110.173]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256; 14 May 2018 11:08:22 +0200 From: Rouby Pierre-Antoine To: guix-patches@gnu.org Subject: [PATCH 1/3] gnu: Add guile-simple-zmq. Date: Mon, 14 May 2018 11:07:51 +0200 Message-Id: <20180514090751.1021-1-pierre-antoine.rouby@inria.fr> X-Mailer: git-send-email 2.17.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit Cc: Rouby Pierre-Antoine X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) * gnu/package/guile.scm (guile-simple-zmq): New variable. --- gnu/packages/guile.scm | 87 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 2af6f875e..9df59ba1d 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -66,6 +66,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 +2095,89 @@ 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 + (package + (name "guile-simple-zmq") + (version "0.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jerry40/guile-simple-zmq") + (commit "d76657aeb1cd10ef8136edc06bb90999914c7c3c"))) + (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 is Guile wrapper over ZeroMQ library.") + (license license:gpl3+))) + ;;; guile.scm ends here -- 2.17.0 From debbugs-submit-bounces@debbugs.gnu.org Mon May 14 05:10:32 2018 Received: (at 31449) by debbugs.gnu.org; 14 May 2018 09:10:32 +0000 Received: from localhost ([127.0.0.1]:33292 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fI9V2-0002Ef-6w for submit@debbugs.gnu.org; Mon, 14 May 2018 05:10:32 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:48822) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fI9V0-0002ER-Kp for 31449@debbugs.gnu.org; Mon, 14 May 2018 05:10:31 -0400 X-IronPort-AV: E=Sophos;i="5.49,399,1520895600"; d="scan'208";a="265105603" Received: from unknown (HELO antelope.bordeaux.inria.fr) ([193.50.110.173]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256; 14 May 2018 11:10:22 +0200 From: Rouby Pierre-Antoine To: 31449@debbugs.gnu.org Subject: [PATCH 2/3] gnu: Add jupyter-guile-kernel. Date: Mon, 14 May 2018 11:10:14 +0200 Message-Id: <20180514091014.1072-1-pierre-antoine.rouby@inria.fr> X-Mailer: git-send-email 2.17.0 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31449 Cc: Rouby Pierre-Antoine X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) * gnu/package/guile.scm (jupyter-guile-kernel): New variable. --- gnu/packages/guile.scm | 127 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 9df59ba1d..bcd26461c 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -2180,4 +2180,131 @@ It has a nice, simple s-expression based syntax.") "This package is Guile wrapper over ZeroMQ library.") (license license:gpl3+))) +(define-public jupyter-guile-kernel + (package + (name "jupyter-guile-kernel") + (version "0.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jerry40/guile-kernel") + (commit "b751d80730f3d64a4b38df1902c3e36672d46b2b"))) + (sha256 + (base32 + "0mah16mjg84l6fc52caqzk5b3m4lfi7f4fki96nbwmrgcxz9hy4g")))) + (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)) + (kernel-dir (string-append out "/share/jupyter/kernels/guile")) + (go-dir (string-append out "/lib/guile/" + effective + "/site-ccache")) + (source (string-append (assoc-ref %build-inputs "source") + "/src")) + (scm-files '("hmac.scm" + "tools.scm" + "main.scm")) + (kernel-file "kernel.json") + (guild (string-append (assoc-ref %build-inputs "guile") + "/bin/guild")) + (zmq (string-append (assoc-ref %build-inputs "zeromq") + "/lib")) + (g-szmq (assoc-ref %build-inputs "guile-simple-zmq")) + (json (assoc-ref %build-inputs "guile-json")) + (deps (list g-szmq json)) + (path (string-join + (map (cut string-append <> + "/share/guile/site/" + effective) + deps) + ":")) + (gopath (string-join + (map (cut string-append <> + "/lib/guile/" effective + "/site-ccache/") + deps) + ":")) + (guile-env (if (not (eq? (getenv "GUILE_LOAD_PATH") + #f)) + (string-append + (getenv "GUILE_LOAD_PATH") ":") + "")) + (guile-go-env (if (not (eq? (getenv "GUILE_LOAD_COMPILED_PATH") + #f)) + (string-append + (getenv "GUILE_LOAD_COMPILED_PATH") ":") + ""))) + ;; Make installation directories. + (mkdir-p module-dir) + (mkdir-p kernel-dir) + (mkdir-p go-dir) + + ;; Compile .scm files and install. + (chdir source) + (setenv "GUILE_AUTO_COMPILE" "0") + (setenv "GUILE_LOAD_PATH" (string-append guile-env path)) + (setenv "GUILE_LOAD_COMPILED_PATH" (string-append guile-go-env + gopath)) + + (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) + ;; Install compiled module. + (unless (zero? (system* guild "compile" + "-L" source + "-o" go-file + file)) + (error (format #f "Failed to compile ~s to ~s!" + file go-file))))) + scm-files) + + ;; Install kernel + (copy-file kernel-file (string-append kernel-dir "/" + kernel-file)) + ;; Sed kernel file + (substitute* (string-append kernel-dir "/" + kernel-file) + (("/home/jerry/.local/share/jupyter/kernels/guile/main.scm") + (string-append module-dir "/main.scm"))) + (substitute* (string-append kernel-dir "/" + kernel-file) + (("-s") + (string-append "--no-auto-compile\", \"-s"))) + #t)))) + (propagated-inputs + `(("guile" ,guile-2.2) + ("zeromq" ,zeromq) + ("openssl", openssl) + ("guile-json" ,guile-json) + ("guile-simple-zmq" ,guile-simple-zmq))) + (synopsis "Guile kernel for jupyter") + (description + "This package is Guile kernel for Jupyter Notebook. This software is +write for GNU Guile 2.0.") + (home-page "https://github.com/jerry40/guile-kernel") + (license license:gpl3+))) + ;;; guile.scm ends here -- 2.17.0 From debbugs-submit-bounces@debbugs.gnu.org Mon May 14 05:11:07 2018 Received: (at 31449) by debbugs.gnu.org; 14 May 2018 09:11:07 +0000 Received: from localhost ([127.0.0.1]:33299 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fI9Va-0002GG-NQ for submit@debbugs.gnu.org; Mon, 14 May 2018 05:11:06 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:7890) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fI9VY-0002FE-JY for 31449@debbugs.gnu.org; Mon, 14 May 2018 05:11:04 -0400 X-IronPort-AV: E=Sophos;i="5.49,399,1520895600"; d="scan'208";a="265105797" Received: from unknown (HELO antelope.bordeaux.inria.fr) ([193.50.110.173]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256; 14 May 2018 11:10:57 +0200 From: Rouby Pierre-Antoine To: 31449@debbugs.gnu.org Subject: [PATCH 3/3] gnu: jupyter: Add search path. Date: Mon, 14 May 2018 11:10:50 +0200 Message-Id: <20180514091050.1119-1-pierre-antoine.rouby@inria.fr> X-Mailer: git-send-email 2.17.0 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31449 Cc: Rouby Pierre-Antoine X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) * gnu/package/python.scm (jupyter)[native-search-paths]: Add it. --- gnu/packages/python.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index a5d533b1c..c56a5be86 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6805,6 +6805,12 @@ Jupyter kernels such as IJulia and IRKernel.") ("python-jupyter-console" ,python-jupyter-console) ("python-nbconvert" ,python-nbconvert) ("python-notebook" ,python-notebook))) + + (native-search-paths + (list (search-path-specification + (variable "JUPYTER_PATH") + (files '("share/jupyter/"))))) + (home-page "http://jupyter.org") (synopsis "Web application for interactive documents") (description -- 2.17.0 From debbugs-submit-bounces@debbugs.gnu.org Mon May 14 08:55:15 2018 Received: (at 31449) by debbugs.gnu.org; 14 May 2018 12:55:15 +0000 Received: from localhost ([127.0.0.1]:33384 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fID0U-0000uW-Qq for submit@debbugs.gnu.org; Mon, 14 May 2018 08:55:15 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59698) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fID0S-0000uJ-NY for 31449@debbugs.gnu.org; Mon, 14 May 2018 08:55:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fID0J-0001Yy-El for 31449@debbugs.gnu.org; Mon, 14 May 2018 08:55:07 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37458) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fID0J-0001Ys-C0; Mon, 14 May 2018 08:55:03 -0400 Received: from [193.50.110.240] (port=55706 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fID0I-0002y9-UM; Mon, 14 May 2018 08:55:03 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Rouby Pierre-Antoine Subject: Re: [bug#31449] [PATCH 1/3] gnu: Add guile-simple-zmq. References: <20180514090751.1021-1-pierre-antoine.rouby@inria.fr> Date: Mon, 14 May 2018 14:55:01 +0200 In-Reply-To: <20180514090751.1021-1-pierre-antoine.rouby@inria.fr> (Rouby Pierre-Antoine's message of "Mon, 14 May 2018 11:07:51 +0200") Message-ID: <87bmdi8kii.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31449 Cc: 31449@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Hello! Rouby Pierre-Antoine skribis: > * gnu/package/guile.scm (guile-simple-zmq): New variable. [...] > +(define-public guile-simple-zmq > + (package > + (name "guile-simple-zmq") > + (version "0.0.1") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/jerry40/guile-simple-zmq") > + (commit "d76657aeb1cd10ef8136edc06bb90999914c7c3c"))) Nitpick: since there=E2=80=99s no release, I think the version number shoul= d be like: (string-append "0-" (string-take commit 7)) along the lines of what the manual suggests (info "(guix) Version Numbers"). > + (description > + "This package is Guile wrapper over ZeroMQ library.") What about: "This package provides a Guile programming interface to the ZeroMQ messaging library." ? Could you send an updated patch? Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon May 14 09:06:38 2018 Received: (at 31449) by debbugs.gnu.org; 14 May 2018 13:06:38 +0000 Received: from localhost ([127.0.0.1]:33391 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fIDBV-0001B1-U4 for submit@debbugs.gnu.org; Mon, 14 May 2018 09:06:38 -0400 Received: from eggs.gnu.org ([208.118.235.92]:35703) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fIDBU-0001Ap-Rp for 31449@debbugs.gnu.org; Mon, 14 May 2018 09:06:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fIDBJ-0006uF-RX for 31449@debbugs.gnu.org; Mon, 14 May 2018 09:06:31 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37759) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fIDBJ-0006u7-Nz; Mon, 14 May 2018 09:06:25 -0400 Received: from [193.50.110.240] (port=56192 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fIDBJ-0000gy-CR; Mon, 14 May 2018 09:06:25 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Rouby Pierre-Antoine Subject: Re: [bug#31449] [PATCH 2/3] gnu: Add jupyter-guile-kernel. References: <20180514090751.1021-1-pierre-antoine.rouby@inria.fr> <20180514091014.1072-1-pierre-antoine.rouby@inria.fr> Date: Mon, 14 May 2018 15:06:23 +0200 In-Reply-To: <20180514091014.1072-1-pierre-antoine.rouby@inria.fr> (Rouby Pierre-Antoine's message of "Mon, 14 May 2018 11:10:14 +0200") Message-ID: <87y3gm75f4.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31449 Cc: 31449@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Rouby Pierre-Antoine skribis: > * gnu/package/guile.scm (jupyter-guile-kernel): New variable. [...] > + (scm-files '("hmac.scm" > + "tools.scm" > + "main.scm")) Maybe (find-files "." "\\.scm$") would work? > + (guile-env (if (not (eq? (getenv "GUILE_LOAD_PATH") > + #f)) > + (string-append > + (getenv "GUILE_LOAD_PATH") ":") > + "")) > + (guile-go-env (if (not (eq? (getenv "GUILE_LOAD_COMPILED= _PATH") > + #f)) > + (string-append > + (getenv "GUILE_LOAD_COMPILED_PATH") "= :") > + ""))) (not (eq? foo #f)) can be simplified to (not foo). Also (getenv "GUILE_LOAD_PATH") and (getenv "GUILE_LOAD_COMPILED_PATH") are always true in this case, I think, so perhaps you can remove these two variables altogether? > + ;; Sed kernel file > + (substitute* (string-append kernel-dir "/" > + kernel-file) > + (("/home/jerry/.local/share/jupyter/kernels/guile/main.scm") > + (string-append module-dir "/main.scm"))) Maybe the comment could be, IIUC: ;; Fix hard-coded file name in the kernel. > + (synopsis "Guile kernel for jupyter") ^ =E2=80=9CGuile kernel for the Jupyter Notebook=E2=80=9D > + (description > + "This package is Guile kernel for Jupyter Notebook. This software = is > +write for GNU Guile 2.0.") What about: =E2=80=9CThis package provides a Guile 2.x kernel for the Jupyter Noteboo= k. It allows users to interact with the Guile REPL through Jupyter.=E2=80=9D Could you send an updated patch? Thanks! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon May 14 09:08:03 2018 Received: (at 31449) by debbugs.gnu.org; 14 May 2018 13:08:03 +0000 Received: from localhost ([127.0.0.1]:33395 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fIDCt-0001DG-9R for submit@debbugs.gnu.org; Mon, 14 May 2018 09:08:03 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36168) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fIDCs-0001Cm-2m for 31449@debbugs.gnu.org; Mon, 14 May 2018 09:08:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fIDCh-0007NC-Ag for 31449@debbugs.gnu.org; Mon, 14 May 2018 09:07:57 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37784) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fIDCh-0007N8-6H; Mon, 14 May 2018 09:07:51 -0400 Received: from [193.50.110.240] (port=56194 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fIDCg-0002H1-PR; Mon, 14 May 2018 09:07:51 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Rouby Pierre-Antoine Subject: Re: [bug#31449] [PATCH 3/3] gnu: jupyter: Add search path. References: <20180514090751.1021-1-pierre-antoine.rouby@inria.fr> <20180514091050.1119-1-pierre-antoine.rouby@inria.fr> Date: Mon, 14 May 2018 15:07:49 +0200 In-Reply-To: <20180514091050.1119-1-pierre-antoine.rouby@inria.fr> (Rouby Pierre-Antoine's message of "Mon, 14 May 2018 11:10:50 +0200") Message-ID: <87r2me75cq.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31449 Cc: 31449@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Rouby Pierre-Antoine skribis: > * gnu/package/python.scm (jupyter)[native-search-paths]: Add it. LGTM, thank you! From debbugs-submit-bounces@debbugs.gnu.org Tue May 15 05:22:23 2018 Received: (at 31449) by debbugs.gnu.org; 15 May 2018 09:22:23 +0000 Received: from localhost ([127.0.0.1]:34995 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fIWA0-0000N3-5X for submit@debbugs.gnu.org; Tue, 15 May 2018 05:22:23 -0400 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:15313) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fIW9y-0000Mp-4e for 31449@debbugs.gnu.org; Tue, 15 May 2018 05:22:18 -0400 X-IronPort-AV: E=Sophos;i="5.49,403,1520895600"; d="scan'208";a="326913161" Received: from unknown (HELO antelope.bordeaux.inria.fr) ([193.50.110.173]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256; 15 May 2018 11:22:11 +0200 From: Rouby Pierre-Antoine To: ludo@gnu.org Subject: [PATCH 1/3] gnu: Add guile-simple-zmq. Date: Tue, 15 May 2018 11:22:04 +0200 Message-Id: <20180515092204.22179-1-pierre-antoine.rouby@inria.fr> X-Mailer: git-send-email 2.17.0 In-Reply-To: <87bmdi8kii.fsf@gnu.org> References: <87bmdi8kii.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31449 Cc: 31449@debbugs.gnu.org, Rouby Pierre-Antoine X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) * 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 ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2018 Maxim Cournoyer +;;; Copyright © 2018 Pierre-Antoine Rouby ;;; ;;; 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 From debbugs-submit-bounces@debbugs.gnu.org Tue May 15 05:24:27 2018 Received: (at 31449) by debbugs.gnu.org; 15 May 2018 09:24:27 +0000 Received: from localhost ([127.0.0.1]:34999 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fIWC2-0000Qq-NF for submit@debbugs.gnu.org; Tue, 15 May 2018 05:24:26 -0400 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:29056) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fIWBy-0000QY-FP for 31449@debbugs.gnu.org; Tue, 15 May 2018 05:24:24 -0400 X-IronPort-AV: E=Sophos;i="5.49,403,1520895600"; d="scan'208";a="326913573" Received: from unknown (HELO antelope.bordeaux.inria.fr) ([193.50.110.173]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256; 15 May 2018 11:24:16 +0200 From: Rouby Pierre-Antoine To: ludo@gnu.org Subject: [PATCH 2/3] gnu: Add jupyter-guile-kernel. Date: Tue, 15 May 2018 11:24:01 +0200 Message-Id: <20180515092401.22257-1-pierre-antoine.rouby@inria.fr> X-Mailer: git-send-email 2.17.0 In-Reply-To: <87y3gm75f4.fsf@gnu.org> References: <87y3gm75f4.fsf@gnu.org> X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31449 Cc: 31449@debbugs.gnu.org, Rouby Pierre-Antoine X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) * gnu/package/guile.scm (jupyter-guile-kernel): New variable. --- gnu/packages/guile.scm | 126 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 3a0158944..a6a0ada8c 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -2184,4 +2184,130 @@ It has a nice, simple s-expression based syntax.") messaging library.") (license license:gpl3+)))) +(define-public jupyter-guile-kernel + (let ((commit "b751d80730f3d64a4b38df1902c3e36672d46b2b") + (revision "0")) + (package + (name "jupyter-guile-kernel") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jerry40/guile-kernel") + (commit commit))) + (sha256 + (base32 + "0mah16mjg84l6fc52caqzk5b3m4lfi7f4fki96nbwmrgcxz9hy4g")))) + (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)) + (kernel-dir (string-append out "/share/jupyter/kernels/guile")) + (go-dir (string-append out "/lib/guile/" + effective + "/site-ccache")) + (source (string-append (assoc-ref %build-inputs "source") + "/src")) + (scm-files '("hmac.scm" + "tools.scm" + "main.scm")) + (kernel-file "kernel.json") + (guild (string-append (assoc-ref %build-inputs "guile") + "/bin/guild")) + (zmq (string-append (assoc-ref %build-inputs "zeromq") + "/lib")) + (g-szmq (assoc-ref %build-inputs "guile-simple-zmq")) + (json (assoc-ref %build-inputs "guile-json")) + (deps (list g-szmq json)) + (path (string-join + (map (cut string-append <> + "/share/guile/site/" + effective) + deps) + ":")) + (gopath (string-join + (map (cut string-append <> + "/lib/guile/" effective + "/site-ccache/") + deps) + ":"))) + + ;; Make installation directories. + (mkdir-p module-dir) + (mkdir-p kernel-dir) + (mkdir-p go-dir) + + ;; Compile .scm files and install. + (chdir source) + (setenv "GUILE_AUTO_COMPILE" "0") + (setenv "GUILE_LOAD_PATH" path) + (setenv "GUILE_LOAD_COMPILED_PATH" gopath) + + (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) + + ;; Install compiled module. + (unless (zero? (system* guild "compile" + "-L" source + "-o" go-file + file)) + (error (format #f "Failed to compile ~s to ~s!" + file go-file))))) + scm-files) + + ;; Fix executable file name + (rename-file (string-append module-dir "/main.scm") + (string-append module-dir "/guile-jupyter-kernel.scm")) + (rename-file (string-append go-dir "/main.go") + (string-append go-dir "/guile-jupyter-kernel.go")) + + ;; Install kernel + (copy-file kernel-file (string-append kernel-dir "/" + kernel-file)) + ;; Fix hard-coded file name in the kernel + (substitute* (string-append kernel-dir "/" + kernel-file) + (("/home/jerry/.local/share/jupyter/kernels/guile/main.scm") + (string-append module-dir "/guile-jupyter-kernel.scm"))) + (substitute* (string-append kernel-dir "/" + kernel-file) + (("-s") + (string-append "--no-auto-compile\", \"-s"))) + #t)))) + (propagated-inputs + `(("guile" ,guile-2.2) + ("zeromq" ,zeromq) + ("openssl" ,openssl) + ("guile-json" ,guile-json) + ("guile-simple-zmq" ,guile-simple-zmq))) + (synopsis "Guile kernel for the Jupyter Notebook") + (description + "This package provides a Guile 2.x kernel for the Jupyter Notebook. It +allows users to interact with the Guile REPL through Jupyter.") + (home-page "https://github.com/jerry40/guile-kernel") + (license license:gpl3+)))) + ;;; guile.scm ends here -- 2.17.0 From debbugs-submit-bounces@debbugs.gnu.org Tue May 15 05:28:01 2018 Received: (at 31449) by debbugs.gnu.org; 15 May 2018 09:28:01 +0000 Received: from localhost ([127.0.0.1]:35004 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fIWFV-0000W8-An for submit@debbugs.gnu.org; Tue, 15 May 2018 05:28:01 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60394) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fIWFU-0000Vw-Au for 31449@debbugs.gnu.org; Tue, 15 May 2018 05:28:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fIWFL-0005oP-01 for 31449@debbugs.gnu.org; Tue, 15 May 2018 05:27:55 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:58421) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fIWFK-0005oL-Sg; Tue, 15 May 2018 05:27:50 -0400 Received: from [193.50.110.240] (port=60424 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fIWFK-0001UY-AP; Tue, 15 May 2018 05:27:50 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Rouby Pierre-Antoine Subject: Re: [bug#31449] [PATCH 1/3] gnu: Add guile-simple-zmq. References: <87bmdi8kii.fsf@gnu.org> <20180515092204.22179-1-pierre-antoine.rouby@inria.fr> Date: Tue, 15 May 2018 11:27:48 +0200 In-Reply-To: <20180515092204.22179-1-pierre-antoine.rouby@inria.fr> (Rouby Pierre-Antoine's message of "Tue, 15 May 2018 11:22:04 +0200") Message-ID: <87r2mdi7zf.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31449 Cc: 31449@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Rouby Pierre-Antoine skribis: > * gnu/package/guile.scm (guile-simple-zmq): New variable. Applied with the changes below, thanks! Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index f473a1cc9..9e24e90c2 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -69,7 +69,6 @@ #: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) @@ -2133,7 +2132,8 @@ It has a nice, simple s-expression based syntax.") (commit commit))) (sha256 (base32 - "1w73dy5gpyv33jn34dqlkqpwh9w4y8wm6hgvbpb3wbp6xsa2mk4z")))) + "1w73dy5gpyv33jn34dqlkqpwh9w4y8wm6hgvbpb3wbp6xsa2mk4z")) + (file-name (git-file-name name version)))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue May 15 07:33:33 2018 Received: (at 31449) by debbugs.gnu.org; 15 May 2018 11:33:33 +0000 Received: from localhost ([127.0.0.1]:35073 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fIYCy-0007Ri-UT for submit@debbugs.gnu.org; Tue, 15 May 2018 07:33:33 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:59044) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fIYCw-0007RU-Mf for 31449@debbugs.gnu.org; Tue, 15 May 2018 07:33:31 -0400 X-IronPort-AV: E=Sophos;i="5.49,403,1520895600"; d="scan'208";a="265268557" Received: from unknown (HELO antelope.bordeaux.inria.fr) ([193.50.110.173]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256; 15 May 2018 13:33:23 +0200 From: Rouby Pierre-Antoine To: ludo@gnu.org Subject: [PATCH 2/3] gnu: Add jupyter-guile-kernel. Date: Tue, 15 May 2018 13:33:15 +0200 Message-Id: <20180515113315.24469-1-pierre-antoine.rouby@inria.fr> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180515092401.22257-1-pierre-antoine.rouby@inria.fr> References: <20180515092401.22257-1-pierre-antoine.rouby@inria.fr> X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31449 Cc: 31449@debbugs.gnu.org, Rouby Pierre-Antoine X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) * gnu/package/guile.scm (jupyter-guile-kernel): New variable. --- gnu/packages/guile.scm | 121 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 3a0158944..b39dcea9e 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -2184,4 +2184,125 @@ It has a nice, simple s-expression based syntax.") messaging library.") (license license:gpl3+)))) +(define-public jupyter-guile-kernel + (let ((commit "a5c5f3ea3215b65e770bcb62f71117b0ec4575ed") + (revision "0")) + (package + (name "jupyter-guile-kernel") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jerry40/guile-kernel") + (commit commit))) + (sha256 + (base32 + "0y5jr0f0dyskvsawqbf6n0bpg8jirw4mhqbarf2a6p9lxhqha9s9")))) + (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)) + (kernel-dir (string-append out "/share/jupyter/kernels/guile")) + (go-dir (string-append out "/lib/guile/" + effective + "/site-ccache")) + (source (string-append (assoc-ref %build-inputs "source") + "/src")) + (scm-files '("hmac.scm" + "tools.scm" + "guile-jupyter-kernel.scm")) + (kernel-file "kernel.json") + (guild (string-append (assoc-ref %build-inputs "guile") + "/bin/guild")) + (zmq (string-append (assoc-ref %build-inputs "zeromq") + "/lib")) + (g-szmq (assoc-ref %build-inputs "guile-simple-zmq")) + (json (assoc-ref %build-inputs "guile-json")) + (deps (list g-szmq json)) + (path (string-join + (map (cut string-append <> + "/share/guile/site/" + effective) + deps) + ":")) + (gopath (string-join + (map (cut string-append <> + "/lib/guile/" effective + "/site-ccache/") + deps) + ":"))) + + ;; Make installation directories. + (mkdir-p module-dir) + (mkdir-p kernel-dir) + (mkdir-p go-dir) + + ;; Compile .scm files and install. + (chdir source) + (setenv "GUILE_AUTO_COMPILE" "0") + (setenv "GUILE_LOAD_PATH" path) + (setenv "GUILE_LOAD_COMPILED_PATH" gopath) + + (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) + + ;; Install compiled module. + (unless (zero? (system* guild "compile" + "-L" source + "-o" go-file + file)) + (error (format #f "Failed to compile ~s to ~s!" + file go-file))))) + scm-files) + + ;; Install kernel + (copy-file kernel-file (string-append kernel-dir "/" + kernel-file)) + ;; Fix hard-coded file name in the kernel + (substitute* (string-append kernel-dir "/" + kernel-file) + (("/home/jerry/.local/share/jupyter/kernels/guile/guile-jupyter-kernel.scm") + (string-append module-dir "/guile-jupyter-kernel.scm"))) + (substitute* (string-append kernel-dir "/" + kernel-file) + (("-s") + (string-append "--no-auto-compile\", \"-s"))) + #t)))) + (inputs + `(("zeromq" ,zeromq))) + (propagated-inputs + `(("guile-json" ,guile-json) + ("guile-simple-zmq" ,guile-simple-zmq) + ("guile" ,guile-2.2) + ("openssl" ,openssl))) + (synopsis "Guile kernel for the Jupyter Notebook") + (description + "This package provides a Guile 2.x kernel for the Jupyter Notebook. It +allows users to interact with the Guile REPL through Jupyter.") + (home-page "https://github.com/jerry40/guile-kernel") + (license license:gpl3+)))) + ;;; guile.scm ends here -- 2.17.0 From debbugs-submit-bounces@debbugs.gnu.org Thu May 17 05:42:51 2018 Received: (at 31449) by debbugs.gnu.org; 17 May 2018 09:42:51 +0000 Received: from localhost ([127.0.0.1]:37922 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fJFQx-0008An-1H for submit@debbugs.gnu.org; Thu, 17 May 2018 05:42:51 -0400 Received: from eggs.gnu.org ([208.118.235.92]:49269) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fJFQt-0008Aa-Fe for 31449@debbugs.gnu.org; Thu, 17 May 2018 05:42:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fJFQk-00054a-71 for 31449@debbugs.gnu.org; Thu, 17 May 2018 05:42:42 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43782) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fJFQk-00054O-2F; Thu, 17 May 2018 05:42:38 -0400 Received: from [193.50.110.196] (port=40022 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fJFQj-0001D2-J7; Thu, 17 May 2018 05:42:37 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Rouby Pierre-Antoine Subject: Re: [bug#31449] [PATCH 2/3] gnu: Add jupyter-guile-kernel. References: <20180515092401.22257-1-pierre-antoine.rouby@inria.fr> <20180515113315.24469-1-pierre-antoine.rouby@inria.fr> Date: Thu, 17 May 2018 11:42:35 +0200 In-Reply-To: <20180515113315.24469-1-pierre-antoine.rouby@inria.fr> (Rouby Pierre-Antoine's message of "Tue, 15 May 2018 13:33:15 +0200") Message-ID: <8736yq4nzo.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31449 Cc: 31449@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Rouby Pierre-Antoine skribis: > * gnu/package/guile.scm (jupyter-guile-kernel): New variable. Applied with the changes below, to avoid propagated inputs. Thanks! Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index a4a0f87c0..84f46d1cc 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -61,6 +61,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages databases) #:use-module (gnu packages python) + #:use-module (gnu packages tls) #:use-module (gnu packages gl) #:use-module (gnu packages sdl) #:use-module (gnu packages maths) @@ -2253,8 +2254,6 @@ messaging library.") (kernel-file "kernel.json") (guild (string-append (assoc-ref %build-inputs "guile") "/bin/guild")) - (zmq (string-append (assoc-ref %build-inputs "zeromq") - "/lib")) (g-szmq (assoc-ref %build-inputs "guile-simple-zmq")) (json (assoc-ref %build-inputs "guile-json")) (deps (list g-szmq json)) @@ -2270,18 +2269,26 @@ messaging library.") "/site-ccache/") deps) ":"))) - + ;; Make installation directories. (mkdir-p module-dir) (mkdir-p kernel-dir) (mkdir-p go-dir) + ;; Make a writable copy of SOURCE. + (copy-recursively source ".") + + ;; Record the absolute file name of the 'openssl' command. + (substitute* "hmac.scm" + (("openssl") + (string-append (assoc-ref %build-inputs "openssl") + "/bin/openssl"))) + ;; Compile .scm files and install. - (chdir source) (setenv "GUILE_AUTO_COMPILE" "0") (setenv "GUILE_LOAD_PATH" path) (setenv "GUILE_LOAD_COMPILED_PATH" gopath) - + (for-each (lambda (file) (let* ((dest-file (string-append module-dir "/" file)) @@ -2291,7 +2298,7 @@ messaging library.") base ".go"))))) ;; Install source module. (copy-file file dest-file) - + ;; Install compiled module. (unless (zero? (system* guild "compile" "-L" source @@ -2300,7 +2307,7 @@ messaging library.") (error (format #f "Failed to compile ~s to ~s!" file go-file))))) scm-files) - + ;; Install kernel (copy-file kernel-file (string-append kernel-dir "/" kernel-file)) @@ -2308,19 +2315,20 @@ messaging library.") (substitute* (string-append kernel-dir "/" kernel-file) (("/home/jerry/.local/share/jupyter/kernels/guile/guile-jupyter-kernel.scm") - (string-append module-dir "/guile-jupyter-kernel.scm"))) - (substitute* (string-append kernel-dir "/" - kernel-file) + (string-append module-dir "/guile-jupyter-kernel.scm")) + (("\"guile\"") + (string-append "\"" (assoc-ref %build-inputs "guile") + "/bin/guile\"")) (("-s") (string-append "--no-auto-compile\", \"-s"))) + #t)))) (inputs - `(("zeromq" ,zeromq))) + `(("openssl" ,openssl) + ("guile" ,guile-2.2))) (propagated-inputs `(("guile-json" ,guile-json) - ("guile-simple-zmq" ,guile-simple-zmq) - ("guile" ,guile-2.2) - ("openssl" ,openssl))) + ("guile-simple-zmq" ,guile-simple-zmq))) (synopsis "Guile kernel for the Jupyter Notebook") (description "This package provides a Guile 2.x kernel for the Jupyter Notebook. It --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu May 17 07:18:36 2018 Received: (at 31449-done) by debbugs.gnu.org; 17 May 2018 11:18:36 +0000 Received: from localhost ([127.0.0.1]:37965 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fJGvb-00021U-NF for submit@debbugs.gnu.org; Thu, 17 May 2018 07:18:35 -0400 Received: from eggs.gnu.org ([208.118.235.92]:47338) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fJGvZ-00021E-NN for 31449-done@debbugs.gnu.org; Thu, 17 May 2018 07:18:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fJGvQ-0005W4-Jh for 31449-done@debbugs.gnu.org; Thu, 17 May 2018 07:18:28 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:45176) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fJGvQ-0005Vv-FU; Thu, 17 May 2018 07:18:24 -0400 Received: from [193.50.110.196] (port=49742 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fJGvP-0002Lh-F4; Thu, 17 May 2018 07:18:23 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Rouby Pierre-Antoine Subject: Re: [bug#31449] [PATCH 3/3] gnu: jupyter: Add search path. References: <20180514090751.1021-1-pierre-antoine.rouby@inria.fr> <20180514091050.1119-1-pierre-antoine.rouby@inria.fr> Date: Thu, 17 May 2018 13:18:20 +0200 In-Reply-To: <20180514091050.1119-1-pierre-antoine.rouby@inria.fr> (Rouby Pierre-Antoine's message of "Mon, 14 May 2018 11:10:50 +0200") Message-ID: <87tvr634zn.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31449-done Cc: 31449-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Rouby Pierre-Antoine skribis: > * gnu/package/python.scm (jupyter)[native-search-paths]: Add it. Applied as well! So to run the Jupyter Notebook (web UI), you can do: guix environment --ad-hoc jupyter jupyter-guile-kernel -- jupyter notebook And from there, point your browser to http://localhost:8888, select New -> Guile, and you get a REPL. Thank you! Ludo=E2=80=99. From unknown Sun Jun 22 03:58:19 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 14 Jun 2018 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator