From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Allan Webber Subject: Re: Fixing non-reproducibility in some guile packages Date: Sun, 12 Feb 2017 11:29:45 -0600 Message-ID: <87efz35ncm.fsf@dustycloud.org> References: <87fujly0pu.fsf@dustycloud.org> <87bmu8y7sx.fsf@dustycloud.org> <87tw80pgpl.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35562) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ccxyB-0006Q1-Kt for guix-devel@gnu.org; Sun, 12 Feb 2017 12:29:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ccxy8-0000if-GO for guix-devel@gnu.org; Sun, 12 Feb 2017 12:29:51 -0500 In-reply-to: <87tw80pgpl.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Jan Nieuwenhuizen Cc: guix-devel@gnu.org --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Jan Nieuwenhuizen writes: > While building guile2.2-gdbm-ffi an error is printed that does not > prevent the package from being built > > @ build-started /gnu/store/z9m20fz1ayyl0g9b4ad6wgmq3fv2h7gi-guile2.2-gdbm-ffi-20120209.fa1d5b6.drv - x86_64-linux /var/log/guix/drvs/z9//m20fz1ayyl0g9b4ad6wgmq3fv2h7gi-guile2.2-gdbm-ffi-20120209.fa1d5b6.drv.bz2 > ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 > ;;; or pass the --no-auto-compile argument to disable. > ;;; compiling /gnu/store/d3gli8g5bv6yhd3qwk5rfzqpsfvnj4lv-guile-next-2.1.5/bin/guild > ;;; WARNING: compilation of /gnu/store/d3gli8g5bv6yhd3qwk5rfzqpsfvnj4lv-guile-next-2.1.5/bin/guild failed: > ;;; ERROR: failed to create path for auto-compiled file "/gnu/store/d3gli8g5bv6yhd3qwk5rfzqpsfvnj4lv-guile-next-2.1.5/bin/guild" > wrote `/gnu/store/xskgkfsxz936nifjs8vxqwk95kf62ia8-guile2.2-gdbm-ffi-20120209.fa1d5b6/share/guile/site/2.2/gdbm.go' > @ build-succeeded /gnu/store/z9m20fz1ayyl0g9b4ad6wgmq3fv2h7gi-guile2.2-gdbm-ffi-20120209.fa1d5b6.drv - > /gnu/store/xskgkfsxz936nifjs8vxqwk95kf62ia8-guile2.2-gdbm-ffi-20120209.fa1d5b6 > 22:00:06 janneke@dundal:~/src/guix Ah yeah, okay! I fixed this by adding GUILE_AUTO_COMPILE=0 to the environment while compiling. New patch attached! --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-guile-gdbm-ffi-Write-to-correct-guile-output-directo.patch Content-Transfer-Encoding: quoted-printable From=20447cf04e0fc5947e8384851ecfa9fffd61638c39 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 10 Feb 2017 19:24:57 -0600 Subject: [PATCH] guile-gdbm-ffi: Write to correct guile output directory and use guild. * gnu/packages/guile.scm (make-guile-gdbm-ffi): New variable. Adapts from the previous guile-gdbm-ffi definition. Also fixes a bug where the guild command was not getting called, and instead was calling the internal guile compile-file procedure. This meant that the package produced was dependent on whatever version of guile was powering Guix at the time. Also set GUILE_AUTO_COMPILE to 0 to avoid gnarly looking warnings during build. (guile-gdbm-ffi, guile2.2-gdbm-ffi): Use make-guile-gdbm-ffi. =2D-- gnu/packages/guile.scm | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 3e8ab007b..6e1831fb4 100644 =2D-- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -825,9 +825,11 @@ inspired by the SCSH regular expression system.") ;; There are two guile-gdbm packages, one using the FFI and one with ;; direct C bindings, hence the verbose name. =20 =2D(define-public guile-gdbm-ffi +(define (make-guile-gdbm-ffi guile-2.2?) (package =2D (name "guile-gdbm-ffi") + (name (if guile-2.2? + "guile2.2-gdbm-ffi" + "guile-gdbm-ffi")) (version "20120209.fa1d5b6") (source (origin (method git-fetch) @@ -844,11 +846,14 @@ inspired by the SCSH regular expression system.") ((guix build utils)) #:builder (begin =2D (use-modules (guix build utils) =2D (system base compile)) + (use-modules (guix build utils)) + + (setenv "GUILE_AUTO_COMPILE" "0") =20 (let* ((out (assoc-ref %outputs "out")) =2D (module-dir (string-append out "/share/guile/site/2.0")) + (module-dir (string-append out "/share/guile/site/" + ,(if guile-2.2? + "2.2" "2.0"))) (source (assoc-ref %build-inputs "source")) (doc (string-append out "/share/doc")) (guild (string-append (assoc-ref %build-inputs "guile") @@ -856,7 +861,10 @@ inspired by the SCSH regular expression system.") (gdbm.scm-dest (string-append module-dir "/gdbm.scm")) (gdbm.go-dest =2D (string-append module-dir "/gdbm.go"))) + (string-append module-dir "/gdbm.go")) + (compile-file + (lambda (in-file out-file) + (system* guild "compile" "-o" out-file in-file)))) ;; Make installation directories. (mkdir-p module-dir) (mkdir-p doc) @@ -874,10 +882,10 @@ inspired by the SCSH regular expression system.") (assoc-ref %build-inputs "gdbm")))) =20 ;; compile to the destination =2D (compile-file gdbm.scm-dest =2D #:output-file gdbm.go-dest))))) + (compile-file gdbm.scm-dest gdbm.go-dest))))) (inputs =2D `(("guile" ,guile-2.0))) + `(("guile" ,(if guile-2.2? + guile-next guile-2.0)))) (propagated-inputs `(("gdbm" ,gdbm))) (home-page "https://github.com/ijp/guile-gdbm") @@ -887,8 +895,11 @@ inspired by the SCSH regular expression system.") Guile's foreign function interface.") (license gpl3+))) =20 +(define-public guile-gdbm-ffi + (make-guile-gdbm-ffi #f)) + (define-public guile2.2-gdbm-ffi =2D (package-for-guile-2.2 guile-gdbm-ffi)) + (make-guile-gdbm-ffi #t)) =20 (define-public guile-sqlite3 (let ((commit "607721fe1174a299e45d457acacf94eefb964071")) =2D-=20 2.11.0 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEUQqGKOKndniPjHCcS8Alkl/49NMFAligm4kACgkQS8Alkl/4 9NPCbg//f8co6cnEJ/dZZEzbM1s8BLnzyYpW3pJbo+pXxTDc1KCday7DEgwf0ZWy rEXEsZzB7oq2FozXx1eflRFzT90ewZ9K3RGATqevsMbPzFvshqqgAh49jW708aQK kugsoaq9pdE70Nuu2i7jHx9ICUM5ERuO9Sb5eVPN05BN8uiZJwJMwKcKHS2VjEqq ZD0SxTIxMG7jefo8xLnUvnyHfx3iMCB+dL4gAc+ilB2fRCcWw3DycTszkHTrFVot EiC89Sq1+As+TKfnyKDLQjHNBjtTEauDH1YbGB9wU65J9hBVZ5Tw75NGf6rp4MJ2 U3nHgltbbnc8udhe6794c07pnKrU4s0+0JLEwA+nDgxI+c0Fo/mlt39NLINn46Fd wxKtzVuTmrq9fQQ98Cepwas5l/GH37xGO/yuIderLMGPFmFhmO6sNDw9PXQ6ujNG 10MzUTr6/Tkm76YOD6mSAFfTww2e/kd+e2OfDECxVhMXU1v12bhgg3HCyt2BO3Vg O259v+iWyHZ1d6QjD+zp+f7C7CFarj7G9arJ54XWUOL39b2BT5ZuEk+B3Du2ebqI J2mT6RPbUttBId3y4yqM1fLjHBSMyYQ2GFtZulqN+hPq/gQvwkruBxEpi4MKUJp4 pqnS+qUF8BI9npwhIYt26UOv+TjKX6vv9Qy99TRnrlSFtD+SFxU= =yIP9 -----END PGP SIGNATURE----- --==-=-=--