From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 07 08:04:27 2017 Received: (at submit) by debbugs.gnu.org; 7 Jun 2017 12:04:27 +0000 Received: from localhost ([127.0.0.1]:60437 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIZhL-0008B7-30 for submit@debbugs.gnu.org; Wed, 07 Jun 2017 08:04:27 -0400 Received: from eggs.gnu.org ([208.118.235.92]:41114) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIZhI-0008Au-Uf for submit@debbugs.gnu.org; Wed, 07 Jun 2017 08:04:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dIZhC-0003a6-T0 for submit@debbugs.gnu.org; Wed, 07 Jun 2017 08:04:19 -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,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:34375) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dIZhC-0003a1-QR for submit@debbugs.gnu.org; Wed, 07 Jun 2017 08:04:18 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60314) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dIZhB-000223-LY for guix-patches@gnu.org; Wed, 07 Jun 2017 08:04:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dIZh7-0003YV-Mx for guix-patches@gnu.org; Wed, 07 Jun 2017 08:04:17 -0400 Received: from mail-wm0-x22b.google.com ([2a00:1450:400c:c09::22b]:37506) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dIZh7-0003Wk-H0 for guix-patches@gnu.org; Wed, 07 Jun 2017 08:04:13 -0400 Received: by mail-wm0-x22b.google.com with SMTP id d73so9601780wma.0 for ; Wed, 07 Jun 2017 05:04:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=CkSzT7GD5rQWWiwvgcxOfeIZeV2Ge1RccjtGIk++Dqk=; b=eoxqa5LmG60Aku57v9DWrirp6uT/3Laaq3Se3M4uL71j7CBoYWchVjW97IMXOkVLSU 5ZEk6o/Od2FZx7oMA9Tmuoty0+jjbMY/Ifax/kf73V1VvWiCgX2SbY929NNdmfhCxHLI YWNr+G0V8LWQbDGoO59eCzya9a6ncPTDgbEIZKqnuZ05R8mlqAZHDj3ky3a74ndrIrRZ mEtCQmHxq2IamHsD1GUgh6Ck68SwbAwVb2M+N9+f+sbzCyWSpxUuBsCi7WTbijWmwIGm dbZqS1Snka7TMZcEaQPDVhPRcMulEhUVpE5PK3uRsvs1/vGzrf3Mv6pq4/a8zMFyNrG3 mYfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=CkSzT7GD5rQWWiwvgcxOfeIZeV2Ge1RccjtGIk++Dqk=; b=dOXAKATdYIhxi4zpKd0ceBGVZCRFzUjRH4IZNR8yoYAHAXLOvE6McZuY/cS230YDr+ PSP7mzlaGKckI4f1+h7sN76AVnnbyRsxqAs9urEdxaTG++Xt32jsE6iSpgF5PHA2QjKs gbLfsT1SYKZwd+I0FFFCsiG9stGR7AYNj4CgIjNO4krD6uK7+kca277am2y3enCePwDb BF5M1TdQIeJuQ0Y3xO8CJJb/2xLHTao+LO7xkj10IMpZJ82cEVmKQd7/KJZfRZqL6wVS +SsgWyF54QhruQM4pKD07vUD9hLnJeqih+i4Byn+oqkduzPGm1pc7ktq5S3duYmnKiFq IdUQ== X-Gm-Message-State: AODbwcDcH0jUzCpklYFxPaqndrmDYFp6TDoSm/LruSL5FqVaORApDnFI U7+7vTCLNVoDvJuI X-Received: by 10.28.213.200 with SMTP id m191mr1449158wmg.62.1496837050682; Wed, 07 Jun 2017 05:04:10 -0700 (PDT) Received: from cervin.8.8.8.8 (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id 69sm12381288wml.0.2017.06.07.05.04.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Jun 2017 05:04:09 -0700 (PDT) From: Mathieu Othacehe To: guix-patches@gnu.org Subject: [PATCH 0/2] Add (guix git) module. Date: Wed, 7 Jun 2017 14:04:05 +0200 Message-Id: <20170607120405.7156-1-m.othacehe@gmail.com> X-Mailer: git-send-email 2.13.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: -3.3 (---) X-Debbugs-Envelope-To: submit Cc: Mathieu Othacehe 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: -3.3 (---) Hi, This serie un-reverts the (guix git) module. A new patch is included to add guile-git as a dependency of guix pull. Thanks, Mathieu Mathieu Othacehe (2): pull: Add a dependency to guile-git. guix: git: Add new module. Makefile.am | 7 ++ build-aux/build-self.scm | 19 ++++++ configure.ac | 4 ++ gnu/packages/guile.scm | 8 +++ gnu/packages/package-management.scm | 3 + guix/git.scm | 123 ++++++++++++++++++++++++++++++++++++ 6 files changed, 164 insertions(+) create mode 100644 guix/git.scm -- 2.13.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 07 08:06:07 2017 Received: (at 27275) by debbugs.gnu.org; 7 Jun 2017 12:06:07 +0000 Received: from localhost ([127.0.0.1]:60446 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIZiv-0008EV-NG for submit@debbugs.gnu.org; Wed, 07 Jun 2017 08:06:05 -0400 Received: from mail-wr0-f178.google.com ([209.85.128.178]:34894) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIZiu-0008Dk-3t for 27275@debbugs.gnu.org; Wed, 07 Jun 2017 08:06:04 -0400 Received: by mail-wr0-f178.google.com with SMTP id q97so5210273wrb.2 for <27275@debbugs.gnu.org>; Wed, 07 Jun 2017 05:06:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=7PQgFLtEFHsY7UDnvdPP5aHQ4h+O0963qatbTn/ci98=; b=DBkKph7E6ggocKGDLKoDCnMt/gDp60lfMyoWTeJdak6EG+Ai7vgp+jpNwsqlV9egob TCqd5Jprvw6k2PTCNofh2fhPldNLi3Kw0KG4qcURZSwyF6nZJI0E8LVPDd1n8bZaZHTy G+HBPKD5QE+o8ReswzgpJeEVIt+bgSYSGuXd/m8RC/bkRwn8CyYCO1wzUWfjD8tD41CF fwNUozzIDBHKIgH34QAVUS7VShTDkcnpclO/ZVRJnDM6X0IeMQkwFF2kRqzvvJTEXCWb Da20jO2jSqw8h7TleT60GgPvNl1dQLDUtbBu8sXpttVCjZlc3/NqBxdu8pZYKTeuyxvE hloQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=7PQgFLtEFHsY7UDnvdPP5aHQ4h+O0963qatbTn/ci98=; b=FQyf6B427qd77J7yFYIkrlFcVHdkmhTmya2N0IwP9t54RejIBLjAeJ1SzkgJjX6sqM VYsAGuTGUrIlRB6yaSXpwKhXlOyqcZCGR9UHCzQQSxnzSg7xOIp2lc5/K3+GqSyWsr67 nGiSLFK7c/ELzCGtMVB5rVD9RAG6PCDqx/wI2DHuD4Xyaif91JTP/HoGa1ItRvvFV2kj VdPt3JHaZ9Yc9GGZtUNwLQ/Q+6o4w5UAra9YtUhlS46S1q/Xpa0KjsrDlMA0WNsZigLC WVVKFe1uECAUAtxaZAC2d7h59Ru7RqvMnldgBQaTDAmy7Qx6NkEEEo6/l9GEjdtb9dwL ARuw== X-Gm-Message-State: AODbwcC/lt3yPIXNnv3DrhLfVWDxd1NpRxuxTooSgnhZED7m9eSGeE/q S+doLvue45peoTn1 X-Received: by 10.223.139.89 with SMTP id v25mr15608910wra.132.1496837158157; Wed, 07 Jun 2017 05:05:58 -0700 (PDT) Received: from cervin.8.8.8.8 (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id v72sm3074817wrc.53.2017.06.07.05.05.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Jun 2017 05:05:57 -0700 (PDT) From: Mathieu Othacehe To: 27275@debbugs.gnu.org Subject: [PATCH 1/2] pull: Add a dependency to guile-git. Date: Wed, 7 Jun 2017 14:05:52 +0200 Message-Id: <20170607120553.7382-1-m.othacehe@gmail.com> X-Mailer: git-send-email 2.13.0 X-Spam-Score: -1.0 (-) X-Debbugs-Envelope-To: 27275 Cc: Mathieu Othacehe 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: -1.0 (-) * build-aux/build-self.scm (guile-git, guile-bytestructures): New variables. (build): Add guile-git and guile-bytestructures to %load-path and %load-compiled-path. * gnu/packages/guile.scm (guile2.2-bytestructures, guile2.2-git): New variables. * gnu/packages/package-management.scm (guix)[propagated-inputs]: Add guile-git. [wrap-program]: Add guile-git to path. --- build-aux/build-self.scm | 19 +++++++++++++++++++ gnu/packages/guile.scm | 8 ++++++++ gnu/packages/package-management.scm | 3 +++ 3 files changed, 30 insertions(+) diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index a1335fea1..b1c8afcb2 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -97,6 +97,15 @@ Guile major version (2.0 or 2.2), or #f if none of the packages matches." "guile2.2-ssh" "guile2.0-ssh")) +(define guile-git + ;; TODO: Add guile2.0-git. + (package-for-current-guile "guile-git" + "guile2.2-git")) + +(define guile-bytestructures + ;; TODO: Add guile2.0-bytestructures. + (package-for-current-guile "guile-bytestructures" + "guile2.2-bytestructures")) ;; The actual build procedure. @@ -152,11 +161,21 @@ files." #$(effective-version)))) (set! %load-path (cons* json + (string-append #$guile-git "/share/guile/site/" + #$(effective-version)) + (string-append #$guile-bytestructures "/share/guile/site/" + #$(effective-version)) (string-append #$guile-ssh "/share/guile/site/" #$(effective-version)) %load-path)) (set! %load-compiled-path (cons* json + (string-append #$guile-git "/lib/guile/" + #$(effective-version) + "/site-ccache") + (string-append #$guile-bytestructures "/lib/guile/" + #$(effective-version) + "/site-ccache") (string-append #$guile-ssh "/lib/guile/" #$(effective-version) "/site-ccache") diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 5b85a61c1..b12ba1cad 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1593,6 +1593,10 @@ an abstraction over raw memory. It's also more powerful than the C type system, elevating types to first-class status.") (license license:gpl3+))) +;; TODO: Add guile2.0-bytestructures. +(define-public guile2.2-bytestructures + (deprecated-package "guile2.2-bytestructures" guile-bytestructures)) + (define-public guile-aspell (package (name "guile-aspell") @@ -1803,6 +1807,10 @@ is not available for Guile 2.0.") manipulate repositories of the Git version control system.") (license license:gpl3+)))) +;; TODO: Add guile2.0-git. +(define-public guile2.2-git + (deprecated-package "guile2.2-git" guile-git)) + (define-public guile-syntax-highlight (let ((commit "a047675e66861b647426372aa2ba7820f749616d") (revision "0")) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 12e1f9e6c..f47e78459 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -185,6 +185,7 @@ (let* ((out (assoc-ref outputs "out")) (guile (assoc-ref inputs "guile")) (json (assoc-ref inputs "guile-json")) + (git (assoc-ref inputs "guile-git")) (ssh (assoc-ref inputs "guile-ssh")) (gnutls (assoc-ref inputs "gnutls")) (effective @@ -195,6 +196,7 @@ (path (string-append json "/share/guile/site/" effective ":" ssh "/share/guile/site/" effective ":" + git "/share/guile/site/" effective ":" gnutls "/share/guile/site/" effective))) (wrap-program (string-append out "/bin/guix") @@ -250,6 +252,7 @@ (propagated-inputs `(("gnutls" ,gnutls/guile-2.2) ;for 'guix download' & co. ("guile-json" ,guile-json) + ("guile-git" ,guile-git) ("guile-ssh" ,guile-ssh))) (home-page "https://www.gnu.org/software/guix/") -- 2.13.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 07 08:06:09 2017 Received: (at 27275) by debbugs.gnu.org; 7 Jun 2017 12:06:10 +0000 Received: from localhost ([127.0.0.1]:60449 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIZiz-0008Em-Go for submit@debbugs.gnu.org; Wed, 07 Jun 2017 08:06:09 -0400 Received: from mail-wm0-f43.google.com ([74.125.82.43]:35141) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIZiw-0008Dn-EO for 27275@debbugs.gnu.org; Wed, 07 Jun 2017 08:06:07 -0400 Received: by mail-wm0-f43.google.com with SMTP id x70so56371732wme.0 for <27275@debbugs.gnu.org>; Wed, 07 Jun 2017 05:06:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YfukCRdH9unUOeObx0zujVSJlISpvlNncF1WP8aTCZ8=; b=D+tk1Hqc/1h9cDWsGqxcJ0XYOXtLlmgRZQZ6qZ8MJCYZcVFYkK5pkU5/IoGzpxBviu hTac4QIhTBO2yI/8JeEfNEjJO6qwEcBckw3fzbDPtyMnoY+rvdBSziWH7qvt0oRhtFcO WYu5rDUlNn7PDnlWS8Ws9jnLEWizWEuUhIXNbQ8YwMSkiw9mYzkr2ifx/i/PJBPMqGax asNjrofvIXlkJ18PeeIVSrmCuOTdtE3vDjJkzgYJgnlWMhrcjNE6SuXPT94HuBNpPe0Z gLbmLqSsELdRSwyI+wDa3ffvFWCq0uwr0ljLBz9w7PC74CWzo9zhU/HMSXKI81TRzIT5 EAYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YfukCRdH9unUOeObx0zujVSJlISpvlNncF1WP8aTCZ8=; b=r33oRI92Hkc3biqvN4Bgi7GwGoWyZBcajOu0V2y26zk9BiNYGIvDzB9HX0OGmBXwfW MzKY54ltvhn67WsVgzpr6WRau6mjvZrkPX3onnvVgvemL2KsvTrlTFkFQRYT00xTo2K7 v196Zn2tO+Wt0kfR8W0u+LHTPDRFjSX+qS5sXp3TGXiOy+AzNCfMe0s04fDRf8syWdWb 9FL+dYCsbzUEL0YWsG7ZosmgkQN0lGmwYF0GREDcqeydcmScDajxagetgt+2ASfqWONB EcnG63nRaZOR1z7D4QJrcO56V+5kZ2acPP2x4TJqlEDbL2dwUdwi8iDQ6r8kLnjhWBdT VZQA== X-Gm-Message-State: AKS2vOyv9WQhs4uC0M+E5alTdxonZcGY+T00LjyvYreWQIiXXLyOcbVA Q6vSmlXAjeujFFTU X-Received: by 10.28.88.3 with SMTP id m3mr2031118wmb.28.1496837160299; Wed, 07 Jun 2017 05:06:00 -0700 (PDT) Received: from cervin.8.8.8.8 (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id v72sm3074817wrc.53.2017.06.07.05.05.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Jun 2017 05:05:59 -0700 (PDT) From: Mathieu Othacehe To: 27275@debbugs.gnu.org Subject: [PATCH 2/2] guix: git: Add new module. Date: Wed, 7 Jun 2017 14:05:53 +0200 Message-Id: <20170607120553.7382-2-m.othacehe@gmail.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170607120553.7382-1-m.othacehe@gmail.com> References: <20170607120553.7382-1-m.othacehe@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 27275 Cc: Mathieu Othacehe 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: 0.7 (/) * guix/git.scm: New file. * configure.ac: Check for (guile git). * Makefile.am: Build guix/git.scm if (guile git) is available. --- Makefile.am | 7 ++++ configure.ac | 4 ++ guix/git.scm | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 134 insertions(+) create mode 100644 guix/git.scm diff --git a/Makefile.am b/Makefile.am index 3925f3e2d..1be09d763 100644 --- a/Makefile.am +++ b/Makefile.am @@ -201,6 +201,13 @@ MODULES += \ endif HAVE_GUILE_SSH +if HAVE_GUILE_GIT + +MODULES += \ + guix/git.scm + +endif HAVE_GUILE_GIT + if BUILD_DAEMON_OFFLOAD MODULES += \ diff --git a/configure.ac b/configure.ac index dc3d8f377..c937e948d 100644 --- a/configure.ac +++ b/configure.ac @@ -104,6 +104,10 @@ dnl Guile-JSON is used in various places. GUILE_MODULE_AVAILABLE([have_guile_json], [(json)]) AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"]) +dnl Check for Guile-Git. +GUILE_MODULE_AVAILABLE([have_guile_git], [(git)]) +AM_CONDITIONAL([HAVE_GUILE_GIT], [test "x$have_guile_git" = "xyes"]) + dnl Make sure we have a full-fledged Guile. GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads]) diff --git a/guix/git.scm b/guix/git.scm new file mode 100644 index 000000000..17a6784ae --- /dev/null +++ b/guix/git.scm @@ -0,0 +1,123 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Mathieu Othacehe +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix git) + #:use-module (git) + #:use-module (git object) + #:use-module (guix base32) + #:use-module (guix hash) + #:use-module (guix build utils) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (rnrs bytevectors) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:export (%repository-cache-directory + latest-repository-commit)) + +(define %repository-cache-directory + (make-parameter "/var/cache/guix/checkouts")) + +(define-syntax-rule (with-libgit2 thunk ...) + (dynamic-wind + (lambda () + (libgit2-init!)) + (lambda () + thunk ...) + (lambda () + (libgit2-shutdown)))) + +(define* (url-cache-directory url + #:optional (cache-directory + (%repository-cache-directory))) + "Return the directory associated to URL in %repository-cache-directory." + (string-append + cache-directory "/" + (bytevector->base32-string (sha256 (string->utf8 url))))) + +(define (clone* url directory) + "Clone git repository at URL into DIRECTORY. Upon failure, +make sure no empty directory is left behind." + (with-throw-handler #t + (lambda () + (mkdir-p directory) + (clone url directory)) + (lambda _ + (false-if-exception (rmdir directory))))) + +(define (repository->head-sha1 repo) + "Return the sha1 of the HEAD commit in REPOSITORY as a string." + (let ((oid (reference-target (repository-head repo)))) + (oid->string (commit-id (commit-lookup repo oid))))) + +(define (url+commit->name url sha1) + "Return the string \"-\" where REPO-NAME is the name of +the git repository, extracted from URL and SHA1:7 the seven first digits +of SHA1 string." + (string-append + (string-replace-substring + (last (string-split url #\/)) ".git" "") + "-" (string-take sha1 7))) + +(define* (copy-to-store store cache-directory #:key url repository) + "Copy items in cache-directory to store. URL and REPOSITORY are used +to forge store directory name." + (let* ((commit (repository->head-sha1 repository)) + (name (url+commit->name url commit))) + (values (add-to-store store name #t "sha256" cache-directory) commit))) + +(define (switch-to-ref repository ref) + "Switch to REPOSITORY's branch, commit or tag specified by REF." + (let* ((oid (match ref + (('branch . branch) + (reference-target + (branch-lookup repository branch BRANCH-REMOTE))) + (('commit . commit) + (string->oid commit)) + (('tag . tag) + (reference-name->oid repository + (string-append "refs/tags/" tag))))) + (obj (object-lookup repository oid))) + (reset repository obj RESET_HARD))) + +(define* (latest-repository-commit store url + #:key + (cache-directory + (%repository-cache-directory)) + (ref '(branch . "origin/master"))) + "Return two values: the content of the git repository at URL copied into a +store directory and the sha1 of the top level commit in this directory. The +reference to be checkout, once the repository is fetched, is specified by REF. +REF is pair whose key is [branch | commit | tag] and value the associated +data, respectively [ | | ]. + +Git repositories are kept in the cache directory specified by +%repository-cache-directory parameter." + (with-libgit2 + (let* ((cache-dir (url-cache-directory url cache-directory)) + (cache-exists? (openable-repository? cache-dir)) + (repository (if cache-exists? + (repository-open cache-dir) + (clone* url cache-dir)))) + ;; Only fetch remote if it has not been cloned just before. + (when cache-exists? + (remote-fetch (remote-lookup repository "origin"))) + (switch-to-ref repository ref) + (copy-to-store store cache-dir + #:url url + #:repository repository)))) -- 2.13.0 From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 07 08:21:19 2017 Received: (at 27275) by debbugs.gnu.org; 7 Jun 2017 12:21:19 +0000 Received: from localhost ([127.0.0.1]:60464 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIZxf-00008p-Iz for submit@debbugs.gnu.org; Wed, 07 Jun 2017 08:21:19 -0400 Received: from eggs.gnu.org ([208.118.235.92]:44327) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIZxe-00008d-No for 27275@debbugs.gnu.org; Wed, 07 Jun 2017 08:21:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dIZxW-0000gr-DE for 27275@debbugs.gnu.org; Wed, 07 Jun 2017 08:21:13 -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.8 required=5.0 tests=BAYES_50,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:48193) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dIZxW-0000gl-94; Wed, 07 Jun 2017 08:21:10 -0400 Received: from wifi-eduroam-161098.inria.fr ([128.93.161.98]:42694 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dIZxV-0004W2-Mu; Wed, 07 Jun 2017 08:21:10 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: bug#27275: [PATCH 1/2] pull: Add a dependency to guile-git. References: <20170607120405.7156-1-m.othacehe@gmail.com> <20170607120553.7382-1-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 19 Prairial an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Wed, 07 Jun 2017 14:21:07 +0200 In-Reply-To: <20170607120553.7382-1-m.othacehe@gmail.com> (Mathieu Othacehe's message of "Wed, 7 Jun 2017 14:05:52 +0200") Message-ID: <87r2yw56q4.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (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: 27275 Cc: 27275@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: -5.0 (-----) Hi Mathieu! Mathieu Othacehe skribis: > * build-aux/build-self.scm (guile-git, guile-bytestructures): New > variables. > (build): Add guile-git and guile-bytestructures to %load-path and > %load-compiled-path. > * gnu/packages/guile.scm (guile2.2-bytestructures, guile2.2-git): New > variables. > * gnu/packages/package-management.scm (guix)[propagated-inputs]: Add > guile-git. > [wrap-program]: Add guile-git to path. [...] > +(define guile-git > + ;; TODO: Add guile2.0-git. > + (package-for-current-guile "guile-git" > + "guile2.2-git")) > + > +(define guile-bytestructures > + ;; TODO: Add guile2.0-bytestructures. > + (package-for-current-guile "guile-bytestructures" > + "guile2.2-bytestructures")) You can add the =E2=80=9Cguile2.0-=E2=80=9D names too in the arguments to =E2=80=98package-for-current-guile=E2=80=99. It doesn=E2=80=99t hurt, and = if/when we add them, they=E2=80=99ll automatically be picked up. You can also remove the TODOs. > (set! %load-path > (cons* json > + (string-append #$guile-git "/share/guile/site/" > + #$(effective-version)) > + (string-append #$guile-bytestructures "/share/guile/s= ite/" > + #$(effective-version)) > (string-append #$guile-ssh "/share/guile/site/" > #$(effective-version)) > %load-path)) > (set! %load-compiled-path > (cons* json > + (string-append #$guile-git "/lib/guile/" > + #$(effective-version)- > + "/site-ccache") =E2=80=98guile-git=E2=80=99 can be #f so you have to account for that. > --- a/gnu/packages/guile.scm > +++ b/gnu/packages/guile.scm > @@ -1593,6 +1593,10 @@ an abstraction over raw memory. It's also more po= werful than the C > type system, elevating types to first-class status.") > (license license:gpl3+))) >=20=20 > +;; TODO: Add guile2.0-bytestructures. > +(define-public guile2.2-bytestructures > + (deprecated-package "guile2.2-bytestructures" guile-bytestructures)) > + > (define-public guile-aspell > (package > (name "guile-aspell") > @@ -1803,6 +1807,10 @@ is not available for Guile 2.0.") > manipulate repositories of the Git version control system.") > (license license:gpl3+)))) >=20=20 > +;; TODO: Add guile2.0-git. > +(define-public guile2.2-git > + (deprecated-package "guile2.2-git" guile-git)) These aliases are unneeded: we=E2=80=99ll just use the names without =E2=80= =9C2.2=E2=80=9D by default, no problem. > --- a/gnu/packages/package-management.scm > +++ b/gnu/packages/package-management.scm > @@ -185,6 +185,7 @@ > (let* ((out (assoc-ref outputs "out")) > (guile (assoc-ref inputs "guile")) > (json (assoc-ref inputs "guile-json")) > + (git (assoc-ref inputs "guile-git")) > (ssh (assoc-ref inputs "guile-ssh")) > (gnutls (assoc-ref inputs "gnutls")) > (effective > @@ -195,6 +196,7 @@ > (path (string-append > json "/share/guile/site/" effect= ive ":" > ssh "/share/guile/site/" effecti= ve ":" > + git "/share/guile/site/" effecti= ve ":" > gnutls "/share/guile/site/" effe= ctive))) >=20=20 > (wrap-program (string-append out "/bin/guix") > @@ -250,6 +252,7 @@ > (propagated-inputs > `(("gnutls" ,gnutls/guile-2.2) ;for 'guix download' &= co. > ("guile-json" ,guile-json) > + ("guile-git" ,guile-git) I think this breaks the =E2=80=98guile2.0-guix=E2=80=99 package. I hope to= remove it soonish (when the guile-ssh bug is fixed), but for now, we have to live with it. So I would suggest simply leaving this file unchanged. We can always add the =E2=80=98guile-git=E2=80=99 dependency there later on. WDYT? With these changes it looks good to me! Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 07 08:21:55 2017 Received: (at 27275) by debbugs.gnu.org; 7 Jun 2017 12:21:55 +0000 Received: from localhost ([127.0.0.1]:60468 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIZyE-00009h-Tw for submit@debbugs.gnu.org; Wed, 07 Jun 2017 08:21:55 -0400 Received: from eggs.gnu.org ([208.118.235.92]:44470) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIZyD-00009U-4S for 27275@debbugs.gnu.org; Wed, 07 Jun 2017 08:21:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dIZy2-0000qD-Gs for 27275@debbugs.gnu.org; Wed, 07 Jun 2017 08:21:48 -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,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:48200) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dIZy2-0000q9-Df; Wed, 07 Jun 2017 08:21:42 -0400 Received: from wifi-eduroam-161098.inria.fr ([128.93.161.98]:42696 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dIZy1-0004Wr-Qq; Wed, 07 Jun 2017 08:21:42 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: bug#27275: [PATCH 2/2] guix: git: Add new module. References: <20170607120553.7382-1-m.othacehe@gmail.com> <20170607120553.7382-2-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 19 Prairial an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Wed, 07 Jun 2017 14:21:39 +0200 In-Reply-To: <20170607120553.7382-2-m.othacehe@gmail.com> (Mathieu Othacehe's message of "Wed, 7 Jun 2017 14:05:53 +0200") Message-ID: <87mv9k56p8.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (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: 27275 Cc: 27275@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: -5.0 (-----) Mathieu Othacehe skribis: > * guix/git.scm: New file. > * configure.ac: Check for (guile git). > * Makefile.am: Build guix/git.scm if (guile git) is available. Perfect, nothing to add here. :-) Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 07 09:58:59 2017 Received: (at 27275) by debbugs.gnu.org; 7 Jun 2017 13:58:59 +0000 Received: from localhost ([127.0.0.1]:33335 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIbUA-0004Ur-Ps for submit@debbugs.gnu.org; Wed, 07 Jun 2017 09:58:58 -0400 Received: from mail-wm0-f53.google.com ([74.125.82.53]:35269) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIbU9-0004Uf-K9 for 27275@debbugs.gnu.org; Wed, 07 Jun 2017 09:58:57 -0400 Received: by mail-wm0-f53.google.com with SMTP id x70so58567204wme.0 for <27275@debbugs.gnu.org>; Wed, 07 Jun 2017 06:58:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=3qijAhPBlWZjRNyaPZhLUWCFoeWTZbiMOE3LA8LYWFc=; b=ixYx5Nx8kJ8AHyX0jmnW0HzynW+5fNHsiAmTYN59RrWr9uhj+7hHAUl1PTomzvhO1S Yw+DcUoU/Y7QpbwM2tw8v4VMuNdE5+AUGlIywBTRPyqL00EYITv/tx4na4XvXr16ijKm DGqaczYE5X9tGe4bgUvNtiRU2nrt+sDSxl7Z6OuWv6O6DyFSWnX26DShokRW5G8ALTLG GD9kSigSOmEAjsEN1ysagni8NSOyMxcxWctFcrAdJenJX0z3lTZHMglkjnaXNRQM20uw QAOES/mj6/kDXUSmVVRVEd7lIYzwWlFWM+buH+fQaYDo9OQ3seBcYV875ZP6jDqwnG3D pWlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=3qijAhPBlWZjRNyaPZhLUWCFoeWTZbiMOE3LA8LYWFc=; b=nsLIvLD/LlXUSSqMT9As1v3ziH4mXwnZHFtlhWa11RuNkEcH49BWQEwU97A/bw3QDX xmfkQ4IPkyfd820LuYtuU9nPaz8VSb5e+68DrRI1ZGM4G4qjYhR9nN2N5zm9ZFJy719p 31H46vGKPLVvlo+TpZ396V12jU++FtjsYfkE3lTOWFNAF3nsw2nfYPStEpCxdrT9EQIG 4SMwlWZ9ej9V0Qd5/Kxkbs1F5t4qVPREBdPNjRrFoeymQUe3tXTlbvEVT1pcPsoN8z1U aJyBJHwM+pgJEPvEItvyGqB8nJfeAMDvQJx2n2P+IA4qCzJBBcMl4ujxg8algo+4FvGY I0lg== X-Gm-Message-State: AKS2vOztshTgDW0ypw4gdkulbPVlHoPCTEzZe41LHt7yKImI/1ZTZX4Z R2v17fVl1vGxEGfh X-Received: by 10.28.54.40 with SMTP id d40mr2558069wma.70.1496843931636; Wed, 07 Jun 2017 06:58:51 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id 202sm2872712wmq.27.2017.06.07.06.58.50 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 Jun 2017 06:58:50 -0700 (PDT) References: <20170607120405.7156-1-m.othacehe@gmail.com> <20170607120553.7382-1-m.othacehe@gmail.com> <87r2yw56q4.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#27275: [PATCH 1/2] pull: Add a dependency to guile-git. In-reply-to: <87r2yw56q4.fsf@gnu.org> Date: Wed, 07 Jun 2017 15:58:56 +0200 Message-ID: <8660g7kifz.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 27275 Cc: 27275@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: -0.0 (/) Hi Ludo, Thanks for the fast review :) >> (set! %load-compiled-path >> (cons* json >> + (string-append #$guile-git "/lib/guile/" >> + #$(effective-version)- >> + "/site-ccache") > > ‘guile-git’ can be #f so you have to account for that. Just on question about that. The easier I come up with is something like : --8<---------------cut here---------------start------------->8--- (set! %load-path (append `(,@(if (and #$guile-git #$guile-bytestructures) (list (string-append #$guile-git "/share/guile/site/" #$(effective-version)) (string-append #$guile-bytestructures "/share/guile/site/" #$(effective-version))) '())) (cons* json (string-append #$guile-ssh "/share/guile/site/" #$(effective-version)) %load-path))) --8<---------------cut here---------------end--------------->8--- Any idea on how to write that smoothly ? Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 08 08:06:24 2017 Received: (at 27275) by debbugs.gnu.org; 8 Jun 2017 12:06:25 +0000 Received: from localhost ([127.0.0.1]:34185 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIwCm-0004Kz-N4 for submit@debbugs.gnu.org; Thu, 08 Jun 2017 08:06:24 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57948) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIwCl-0004Km-3x for 27275@debbugs.gnu.org; Thu, 08 Jun 2017 08:06:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dIwCa-00060p-Ux for 27275@debbugs.gnu.org; Thu, 08 Jun 2017 08:06:17 -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,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:50634) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dIwCa-00060l-Qv; Thu, 08 Jun 2017 08:06:12 -0400 Received: from wifi-eduroam-161098.inria.fr ([128.93.161.98]:45954 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dIwCa-0007G1-BY; Thu, 08 Jun 2017 08:06:12 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: bug#27275: [PATCH 1/2] pull: Add a dependency to guile-git. References: <20170607120405.7156-1-m.othacehe@gmail.com> <20170607120553.7382-1-m.othacehe@gmail.com> <87r2yw56q4.fsf@gnu.org> <8660g7kifz.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 20 Prairial an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Thu, 08 Jun 2017 14:06:09 +0200 In-Reply-To: <8660g7kifz.fsf@gmail.com> (Mathieu Othacehe's message of "Wed, 07 Jun 2017 15:58:56 +0200") Message-ID: <87bmpyznta.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (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: 27275 Cc: 27275@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: -5.0 (-----) Hello! Mathieu Othacehe skribis: >>> (set! %load-compiled-path >>> (cons* json >>> + (string-append #$guile-git "/lib/guile/" >>> + #$(effective-version)- >>> + "/site-ccache") >> >> =E2=80=98guile-git=E2=80=99 can be #f so you have to account for that. > > Just on question about that. The easier I come up with is something like > : >=20=20 > > (set! %load-path > (append > `(,@(if > (and #$guile-git #$guile-bytestructures) > (list > (string-append #$guile-git "/share/guile/site/" > #$(effective-version)) > (string-append #$guile-bytestructures "/share/guile/site/" > #$(effective-version))) > '())) > (cons* json > (string-append #$guile-ssh "/share/guile/site/" > #$(effective-version)) > %load-path))) > > Any idea on how to write that smoothly ? Maybe with a macro along these lines: --8<---------------cut here---------------start------------->8--- (letrec-syntax ((maybe-load-path (syntax-rules () ((_ item rest ...) (let ((tail (maybe-load-path rest ...))) (if (string? item) (cons (string-append item "/share/guile/site/" (effective-version)) tail) tail))) ((_) '())))) (set! %load-path (maybe-load-path json guile-git guile-bytestructures))) --8<---------------cut here---------------end--------------->8--- HTH, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 08 10:49:18 2017 Received: (at 27275) by debbugs.gnu.org; 8 Jun 2017 14:49:18 +0000 Received: from localhost ([127.0.0.1]:35225 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIykQ-0008P7-B2 for submit@debbugs.gnu.org; Thu, 08 Jun 2017 10:49:18 -0400 Received: from mail-wm0-f54.google.com ([74.125.82.54]:37541) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIykO-0008OR-PN for 27275@debbugs.gnu.org; Thu, 08 Jun 2017 10:49:17 -0400 Received: by mail-wm0-f54.google.com with SMTP id d73so32719994wma.0 for <27275@debbugs.gnu.org>; Thu, 08 Jun 2017 07:49:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=UDVaSt7ED9r+ukIMtl/Om24BbHQvUrpYYLGQCo4WoHw=; b=sD5FeThCcF1LiwPTFztyP8+AYaSSNh/Tr4u0TwY888+4T9lHj7Dx/J2FzbHpVNgv6c Gcp7aXeeWhmCeCrsPSWp8DUZy23art7DGJ9AdvYzTxaLQyorf/xtiKLvIMAsi0nauKVA dktldTs/CGRGz0AeJFdXudqfHT8DS4Q9p7Y8JgFousSp4n3/VvONXcJZleaevywTjjaH ZtxvagUqNMIPOZAHzK9ROjh4/8xdc61NatCPzedgUbQ55jhYs1mcXRYXdnAfKbtfl5f9 2vx4RGj97LuMuVVU0dDRjtFKSIPTktAjY2PuW5YU+3+PrgtnVTbldkku2eiin5lVnyFF DPiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=UDVaSt7ED9r+ukIMtl/Om24BbHQvUrpYYLGQCo4WoHw=; b=cCm9I3QLSXQOt58WmDux/4u6wVPpCDhLdyaIj9oaSmhVHeCqjMgSiztVo7kpl5DwwK s40R41gzScBGgfPijOpuCrwfr20CqbOdUIuiLgAp05K6Q1j0Jv5UtYMfEVDNMGfDnTRq kwOeFG0nqaUzyDUowC04xTM3j3jPKvd7yO4MpXkO8NAFXEbGbS6K7VUxytGszs/gv+ko eZX1tw4AnE2O2dQ6SOBbteDhgj2duWtaH2SZ7RUzfIjlecwPCa7TPMBwoP3obRuBVYmQ V8Bk+eVMFWV8cCI8LARouZHfIMuQm8Tfdm8C6+UdL/TnzJUQoowkAdlfTdGTqeOS3CQD 25YA== X-Gm-Message-State: AKS2vOy2rJo7pXonJiM3+kvWVRTRdb/ezxT8yhmDF8Z5y2cd5VRJoak7 QbkRSF2YoZO4+8eC X-Received: by 10.28.159.134 with SMTP id i128mr3977588wme.107.1496933350803; Thu, 08 Jun 2017 07:49:10 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id z12sm5568636wrb.41.2017.06.08.07.49.09 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 08 Jun 2017 07:49:09 -0700 (PDT) References: <20170607120405.7156-1-m.othacehe@gmail.com> <20170607120553.7382-1-m.othacehe@gmail.com> <87r2yw56q4.fsf@gnu.org> <8660g7kifz.fsf@gmail.com> <87bmpyznta.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#27275: [PATCH 1/2] pull: Add a dependency to guile-git. In-reply-to: <87bmpyznta.fsf@gnu.org> Date: Thu, 08 Jun 2017 16:49:15 +0200 Message-ID: <86r2yuilg4.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 27275 Cc: 27275@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: -0.0 (/) --=-=-= Content-Type: text/plain Hi Ludo ! > Maybe with a macro along these lines: Nice, thanks ! I attached the patch I come up with. It's working ok :) I have a shorter version using match : --8<---------------cut here---------------start------------->8--- (letrec-syntax ((maybe-load-paths (syntax-rules () ((_ item rest ...) (let ((tail (maybe-load-paths rest ...))) (if (string? item) (match tail ((load-path load-compiled-path) (list (cons (string-append item "/share/guile/site/" #$(effective-version)) load-path) (cons (string-append item "/lib/guile/" #$(effective-version) "/site-ccache") load-compiled-path)))) tail))) ((_) '(() ()))))) (match (maybe-load-paths #$guile-json #$guile-ssh #$guile-git #$guile-bytestructures) ((module-load-path module-load-compiled-path) (set! %load-path (append module-load-path %load-path) (set! %load-compiled-path (append module-load-compiled-path %load-compiled-path)))))) --8<---------------cut here---------------end--------------->8--- It might seems preferable but I can't get guix-latest derivation to include (ice-9 match), maybe because of #:module-path in "(gexp->derivation "guix-latest" ...". Mathieu --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0002-pull-Add-a-dependency-to-guile-git.patch >From 1130f8eafdb27216fc542bff253a940528bedc6a Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 7 Jun 2017 13:44:47 +0200 Subject: [PATCH 2/2] pull: Add a dependency to guile-git. * build-aux/build-self.scm (guile-git, guile-bytestructures): New variables. (build): Add guile-git and guile-bytestructures to %load-path and %load-compiled-path. --- build-aux/build-self.scm | 52 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 41 insertions(+), 11 deletions(-) diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index a1335fea1..8fb9af23c 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -97,6 +97,13 @@ Guile major version (2.0 or 2.2), or #f if none of the packages matches." "guile2.2-ssh" "guile2.0-ssh")) +(define guile-git + (package-for-current-guile "guile-git" + "guile2.0-git")) + +(define guile-bytestructures + (package-for-current-guile "guile-bytestructures" + "guile2.0-bytestructures")) ;; The actual build procedure. @@ -148,19 +155,42 @@ files." #~(begin (use-modules (guix build pull)) - (let ((json (string-append #$guile-json "/share/guile/site/" - #$(effective-version)))) + (letrec-syntax ((maybe-load-path + (syntax-rules () + ((_ item rest ...) + (let ((tail (maybe-load-path rest ...))) + (if (string? item) + (cons (string-append item + "/share/guile/site/" + #$(effective-version)) + tail) + tail))) + ((_) + '())))) (set! %load-path - (cons* json - (string-append #$guile-ssh "/share/guile/site/" - #$(effective-version)) - %load-path)) + (append + (maybe-load-path #$guile-json #$guile-ssh + #$guile-git #$guile-bytestructures) + %load-path))) + + (letrec-syntax ((maybe-load-compiled-path + (syntax-rules () + ((_ item rest ...) + (let ((tail (maybe-load-compiled-path rest ...))) + (if (string? item) + (cons (string-append item + "/lib/guile/" + #$(effective-version) + "/site-ccache") + tail) + tail))) + ((_) + '())))) (set! %load-compiled-path - (cons* json - (string-append #$guile-ssh "/lib/guile/" - #$(effective-version) - "/site-ccache") - %load-compiled-path))) + (append + (maybe-load-compiled-path #$guile-json #$guile-ssh + #$guile-git #$guile-bytestructures) + %load-compiled-path))) ;; XXX: The 'guile-ssh' package prior to Guix commit 92b7258 was ;; broken: libguile-ssh could not be found. Work around that. -- 2.13.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 08 16:53:08 2017 Received: (at 27275) by debbugs.gnu.org; 8 Jun 2017 20:53:09 +0000 Received: from localhost ([127.0.0.1]:35542 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dJ4QW-0003oo-MF for submit@debbugs.gnu.org; Thu, 08 Jun 2017 16:53:08 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59082) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dJ4QU-0003oR-KL for 27275@debbugs.gnu.org; Thu, 08 Jun 2017 16:53:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dJ4QM-0006Iu-99 for 27275@debbugs.gnu.org; Thu, 08 Jun 2017 16:53:01 -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,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57539) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dJ4QM-0006Io-4l; Thu, 08 Jun 2017 16:52:58 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:50328 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dJ4QL-0000Pr-78; Thu, 08 Jun 2017 16:52:57 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: bug#27275: [PATCH 1/2] pull: Add a dependency to guile-git. References: <20170607120405.7156-1-m.othacehe@gmail.com> <20170607120553.7382-1-m.othacehe@gmail.com> <87r2yw56q4.fsf@gnu.org> <8660g7kifz.fsf@gmail.com> <87bmpyznta.fsf@gnu.org> <86r2yuilg4.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 20 Prairial an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Thu, 08 Jun 2017 22:52:54 +0200 In-Reply-To: <86r2yuilg4.fsf@gmail.com> (Mathieu Othacehe's message of "Thu, 08 Jun 2017 16:49:15 +0200") Message-ID: <87d1aep5g9.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (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: 27275 Cc: 27275@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: -5.0 (-----) Hello! Mathieu Othacehe skribis: > I attached the patch I come up with. It's working ok :) > I have a shorter version using match : > > (letrec-syntax ((maybe-load-paths > (syntax-rules () > ((_ item rest ...) > (let ((tail (maybe-load-paths rest ...))) > (if (string? item) > (match tail > ((load-path load-compiled-path) > (list > (cons (string-append item > "/share/guile/site/" > #$(effective-version)) > load-path) > (cons (string-append item > "/lib/guile/" > #$(effective-version) > "/site-ccache") > load-compiled-path)))) > tail))) > ((_) > '(() ()))))) > (match (maybe-load-paths #$guile-json #$guile-ssh > #$guile-git #$guile-bytestructures) > ((module-load-path module-load-compiled-path) > (set! %load-path (append module-load-path %load-path) > (set! %load-compiled-path (append module-load-compiled-path %load-co= mpiled-path)))))) > > It might seems preferable but I can't get guix-latest derivation to > include (ice-9 match), maybe because of #:module-path in > "(gexp->derivation "guix-latest" ...". Hmm (ice-9 match) should always be found, but don=E2=80=99t add it to the #:modules argument of =E2=80=98gexp->derivation=E2=80=99. > From 1130f8eafdb27216fc542bff253a940528bedc6a Mon Sep 17 00:00:00 2001 > From: Mathieu Othacehe > Date: Wed, 7 Jun 2017 13:44:47 +0200 > Subject: [PATCH 2/2] pull: Add a dependency to guile-git. > > * build-aux/build-self.scm (guile-git, guile-bytestructures): New > variables. > (build): Add guile-git and guile-bytestructures to %load-path and > %load-compiled-path. OK for this or the variant that uses =E2=80=98match=E2=80=99. Thanks! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 09 03:51:26 2017 Received: (at 27275-done) by debbugs.gnu.org; 9 Jun 2017 07:51:27 +0000 Received: from localhost ([127.0.0.1]:35806 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dJEha-00026C-Lw for submit@debbugs.gnu.org; Fri, 09 Jun 2017 03:51:26 -0400 Received: from mail-wm0-f48.google.com ([74.125.82.48]:37554) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dJEhZ-00025z-9l for 27275-done@debbugs.gnu.org; Fri, 09 Jun 2017 03:51:25 -0400 Received: by mail-wm0-f48.google.com with SMTP id d73so44527647wma.0 for <27275-done@debbugs.gnu.org>; Fri, 09 Jun 2017 00:51:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=9zbC4jAof8m9ybtI5XOY3MNDfgoIyZYq9jQp1zcrWJs=; b=tL9IO293/w9ZY2r1cVAIZCHsdl7Mj/AO+frId57BPtlAeWtH9KsRyPG203SOwSTrHO Nkd/NVvbpwA7iomaUMZz3OI2QqX+4accGomYTUsMvDrumqJY/ZWRQ46xtUtNhMNfE7ET qnTPFXRT+uigpx+RJ4oz++KdV4OXO2OxJU8hBN3rMj79lJ/UvOh2EkM68ZuIyXddzAKn 7Ehn4blQHzfG+hHtu3M4UJd/FHd6MadWkbKRwFWQY/qP5rUez7EfJIHRi8m7KmwSgISc wZJ8HRX1RPZtNOugIcKkE/hBJMe/e2j7MgJA5M8RLmCVX1WUS9c2AaJFBkInVUta79Gt jD1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=9zbC4jAof8m9ybtI5XOY3MNDfgoIyZYq9jQp1zcrWJs=; b=LJJtY1vkL+hY9H50grapG8bp32+B+gscdn6s0P0whmRB+amW/3SvAX7jJYKEIG3sQO mOpdXwG0bnjQMJf/laOtSl/mE+Kx434LBzUFM4FQaPDNOX4dAG9Hdszh6Vel/GB98j/Q 6po5sXIdx8p2lz+p5d8sdzQoaCbA341Z5ap6a54T8Uc4aTjUVblVzqoWUhFiERlmXz5b R8WgC0si7XhfTnb681g6G0/LWrrUxM4/Qj6tnzYpl4yqXW1lN3Bn4F1xeBHSNsFX1YSD AUgFVvps/OWYeiNp5zwewR/HHunpu2P8CrYeNwH0U5zndEoojER2yCfLIxHhFE1OQ0cm OuRA== X-Gm-Message-State: AODbwcA2d57LCmi4jQHhPZAIpOMDgJxC4szomOOFGWGOQlmCWDyShcgQ KD00TUChxvlC2/tY X-Received: by 10.28.234.70 with SMTP id i67mr6111560wmh.91.1496994679184; Fri, 09 Jun 2017 00:51:19 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id y41sm476403wrd.59.2017.06.09.00.51.18 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 09 Jun 2017 00:51:18 -0700 (PDT) References: <20170607120405.7156-1-m.othacehe@gmail.com> <20170607120553.7382-1-m.othacehe@gmail.com> <87r2yw56q4.fsf@gnu.org> <8660g7kifz.fsf@gmail.com> <87bmpyznta.fsf@gnu.org> <86r2yuilg4.fsf@gmail.com> <87d1aep5g9.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#27275: [PATCH 1/2] pull: Add a dependency to guile-git. In-reply-to: <87d1aep5g9.fsf@gnu.org> Date: Fri, 09 Jun 2017 09:51:23 +0200 Message-ID: <86poediop0.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 27275-done Cc: 27275-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: -0.0 (/) Hi, > OK for this or the variant that uses ‘match’. Just pushed the two patches as 6b7b3ca98 and 19c90e5f6. Thanks, Mathieu From unknown Sat Sep 13 02:52:47 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 07 Jul 2017 11:24:04 +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