From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:58631) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ieJY3-0005ad-Gc for guix-patches@gnu.org; Mon, 09 Dec 2019 08:58:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ieJY2-0005KN-EE for guix-patches@gnu.org; Mon, 09 Dec 2019 08:58:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:46819) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ieJY2-0005KE-Ay for guix-patches@gnu.org; Mon, 09 Dec 2019 08:58:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ieJY2-0002pu-90 for guix-patches@gnu.org; Mon, 09 Dec 2019 08:58:02 -0500 Subject: [bug#38546] [PATCH 0/3] Julia: fix package build and add julia-xyz Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:58340) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ieJXD-00053I-MX for guix-patches@gnu.org; Mon, 09 Dec 2019 08:57:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ieJX7-0004aH-PZ for guix-patches@gnu.org; Mon, 09 Dec 2019 08:57:11 -0500 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]:36129) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ieJX7-0004YP-GV for guix-patches@gnu.org; Mon, 09 Dec 2019 08:57:05 -0500 Received: by mail-wm1-x32f.google.com with SMTP id p17so15036368wma.1 for ; Mon, 09 Dec 2019 05:57:03 -0800 (PST) Received: from guixSD (host1-200-dynamic.5-87-r.retail.telecomitalia.it. [87.5.200.1]) by smtp.gmail.com with ESMTPSA id e6sm26212882wru.44.2019.12.09.05.57.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Dec 2019 05:57:01 -0800 (PST) From: nixo Date: Mon, 9 Dec 2019 14:36:25 +0100 Message-ID: <87v9qpvbyr.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: text/plain List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 38546@debbugs.gnu.org Hello Guix! Changes: This set of patches improve the state of julia-build-system. 1. set path JULIA_LOAD_PATH to enable installing packages, and JULIA_DEPOT_PATH to allow guix-precompiled cache to be recognized by julia. To do this, a small "hack" with libfaketime was required (julia decides if the cache is valid by comparing source ".jl" mtime with cache ".ji" file, in which julia stores a timestamp. We need to force this timestamp to be equal to the mtime of guix-store files). 2. Enable package tests 3. Add a first package (julia-compat) definition. If this is fine, I'll start pushing many many more (I have them ready, but I need to update many of them) Thanks! :) One note: with this PATH changes, julia will not be able to find packages installed by Julia Pkg3.jl anymore. This is expected (it should happen for R, python, emacs... too) but since we still need to merge the packages, this patch renders julia pretty unusable. The workaround is for users to add to JULIA_LOAD_PATH and JULIA_LOAD_PATH local user-writable folders, activate a profile, and then install packages manually: #+begin_src bash JULIA_LOAD_PATH=/tmp/julia:$JULIA_LOAD_PATH JULIA_DEPOT_PATH=/tmp/julia:$JULIA_DEPOT_PATH julia #+end_src nixo (3): gnu: julia: Set to JULIA_LOAD_PATH and JULIA_DEPOT_PATH variables. gnu: julia-build-system: Enable tests. gnu: julia-xyz: Add julia-compat. #+begin_src julia using Pkg Pkg.activate("/tmp/julia") Pkg.add("PACKAGE_NAME") #+end_src -- 2.24.0 gnu/packages/julia-xyz.scm | 62 +++++++++++++ gnu/packages/julia.scm | 146 +++++++++++++++--------------- guix/build-system/julia.scm | 4 +- guix/build/julia-build-system.scm | 28 ++++-- 4 files changed, 159 insertions(+), 81 deletions(-) create mode 100644 gnu/packages/julia-xyz.scm