From unknown Wed Jun 18 23:10:22 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#78236 <78236@debbugs.gnu.org> To: bug#78236 <78236@debbugs.gnu.org> Subject: Status: grafting breaks package idris2 Reply-To: bug#78236 <78236@debbugs.gnu.org> Date: Thu, 19 Jun 2025 06:10:22 +0000 retitle 78236 grafting breaks package idris2 reassign 78236 guix submitter 78236 Stefan Karrmann severity 78236 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sun May 04 05:18:04 2025 Received: (at submit) by debbugs.gnu.org; 4 May 2025 09:18:04 +0000 Received: from localhost ([127.0.0.1]:51562 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uBVU3-00037E-Qu for submit@debbugs.gnu.org; Sun, 04 May 2025 05:18:04 -0400 Received: from lists.gnu.org ([2001:470:142::17]:47690) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uBVTw-000350-3A for submit@debbugs.gnu.org; Sun, 04 May 2025 05:18:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uBVTq-0006xV-68 for bug-guix@gnu.org; Sun, 04 May 2025 05:17:50 -0400 Received: from mout.web.de ([212.227.17.11]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uBVTn-0005u1-NV for bug-guix@gnu.org; Sun, 04 May 2025 05:17:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1746350263; x=1746955063; i=s.karrmann@web.de; bh=2E2sTibunay4ff6ZKzulOmRxbl1PSfNwT5Ku4o1Z48c=; h=X-UI-Sender-Class:MIME-Version:Message-ID:From:To:Subject: Content-Type:Date:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=fk0JGmSGXc44jb79+hivl2stdJJCDtUZ664uCf1EbAkZJFeqGPhMfVM86TvGOHIl RzpM92V+3j+0ncim72e9Ui+SNKrmCRCVGM+QcvfXS31bPC3GrQUujtg8PSJ7QXoL4 UZFrDOHPKXB7GclmjZbzfCvWIRzqTay0cR3Uvm4Z7OVYgj7Yg0GrgIE4Iu0CwVzda kqlDMdKKOFDlVXqunM7bh8q5xAni6yDVwIraYBNIxun6RblpzKD8CguvpUsQK9kSv z8sBkeMng/tF1Gcg/BHVrZ4UECsD4r29JjnJQW2LV/UVoZAy++tjHWoQIUEsngpv3 7VLKQy+EMCIrkV66AQ== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from [89.246.99.84] ([89.246.99.84]) by trinity-msg-rest-webde-webde-live-bb6cbfdc7-dx9gs (via HTTP); Sun, 4 May 2025 09:17:43 +0000 MIME-Version: 1.0 Message-ID: From: Stefan Karrmann To: bug-guix@gnu.org Subject: grafting breaks package idris2 Content-Type: text/plain; charset=UTF-8 Date: Sun, 4 May 2025 09:17:43 +0000 Content-Transfer-Encoding: quoted-printable X-UI-CLIENT-META-MAIL-DROP: W10= X-Provags-ID: V03:K1:/F8kCCdq+ySsliv2Mvt9Kg2i0LvVWppZLrhpZQNGt/thxsLhDs1Hq2uMGAOdr6fF4tOUn 7U9aTQUupNWRku7QrmzYqFZdPGQe10AKnLBXu06A+Tlj2UTDGSRl4mP2ElzIy8hhVm143nF44jo/ zaIoQcyvRdM3VQDUVNsJsNeHCck2BTFChOQN6QX5MD0VJ7A6DU8RZM3Et+ZXYBHng71AvXuMd5dH oDGti3l8v6itV1HfYDcuLZL1MzR/mSxXuacJ/+8cFTK/Q+e2JswTfu3k9SLaeFChJF++QWYRcfqu LojX06X6xTP8tdzYGPvBNMjeAx0hwRyWj1Gdnk1Jv+yBhmy9j9e1BBxNAuGdU9cTRYYisByUWN14 bGSVvUvNknB X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:kd+1yJBrPyQ=;2RAGmVJDEKV4Ag7KZDlvEnGdVw3 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 ifDIU0 Received-SPF: pass client-ip=212.227.17.11; envelope-from=s.karrmann@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: submit 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 (-) Dear all, I'm working on the package idris2 [1]=2E ~guix install -L my-packages --no-grafts idris2~ works and gives me a runnable idris2, c=2Ef=2E irdis2 session below=2E If I do the same without --no-grafts, I get another package=2E Moreover, during the build ~make check~ reports no error=2E But if I run it, I get the error:=20 Exception in fasl-read: uncompressed size 45800616 for #vu8(240 41 16 = 132 198 40 =2E=2E=2E) is smaller than expected size 45800676 [1] https://github=2Ecom/idris-lang/Idris2 I suspect that a grafted package provides some data which is slighlty (60 bytes) smaller than in the original package=2E How can I write a package definition which either avoids beeing grafted at all or avoids a specific graft for a specific package? Why does this fresh build needs any grafts in the first place? Since we build it anew, it could use all packages in their newest grafted version=2E Then we do not need to graft it in the end=2E Well, maybe I can answer the last question by myself: 1=2E I specified the ungrafted version of a package=2E Therefore, ~guix build~ uses it=2E 2=2E Using the normally named package version, i=2Ee=2E glibc instead of glibc/fixed, is more robust against future updates of guix=2E I=2Ee=2E glibc/fixed may vanish if glibc needs no graft=2E 3=2E Using the normally named package version, is the base for future grafts=2E I=2Ee=2E if we have idris2 for non-grafted needed packages, w= e can graft it to future grafts more easily=2E Well replacing one graft by another is just replacing one hash by another=2E Of course, we need to get the correct hash codes=2E I=2Ee=2E we have to remember the original package version, its used grafted version=2E Based on this, we could take the newest graft of the original package version as the new target graft=2E NB: I solved [2] with my package definition=2E I=2Ee=2E I sucessfully replaced /bin/sh everywhere where needed with a store sh=2E [2] https://www=2Ereddit=2Ecom/r/GUIX/comments/uy57xc/how_to_deal_with_unp= atchable_shebang/ Kind regards, S=2E Karrmann ** idris2 session idris2 ____ __ _ ___ / _/___/ /____(_)____ |__ \ / // __ / ___/ / ___/ __/ / Version 0=2E7=2E0 _/ // /_/ / / / (__ ) / __/ https://www=2Eidris-lang=2Eorg /___/\__,_/_/ /_/____/ /____/ Type :? for help Welcome to Idris 2=2E Enjoy yourself! Main> 1 + 2 3 Main> :exit Bye for now! ** channels I provide my channels, such that we can call ~guix pull -C channels=2Escm~ to work with the same guix=2E #+begin_src scheme (list (channel (name 'nonguix) ; sorry gnu, but this laptop needs some non-free d= rivers (url "https://gitlab=2Ecom/nonguix/nonguix") (branch "master") (commit "e899121adbaa13cfcaeae7a5c24921bffa645771") (introduction (make-channel-introduction "897c1a470da759236cc11798f4e0a5f7d4d59fbc" (openpgp-fingerprint "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) (channel (name 'guix) (url "https://git=2Esavannah=2Egnu=2Eorg/git/guix=2Egit") (branch "master") (commit "7ff20b9e94c429f1160bd8f0db86b153a03e4683") (introduction (make-channel-introduction "9edb3f66fd807b096b48283debdcddccfea34bad" (openpgp-fingerprint "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))) #+end_src ** idris2 package definition #+begin_src scheme ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2025 Dr=2E Stefan Karrmann ;;; Licence: AGPL-2 ;; (define-module (gnu packages idris2) (define-module (skix packages idris2)) ; local additions=20 (use-modules ((guix licenses) #:prefix license:) (gnu packages) (gnu) (guix build utils) (guix build-system gnu) (guix download) (guix gexp) (guix git-download) (guix packages) (guix utils) (srfi srfi-1) ) (use-package-modules bash chez commencement gawk gcc multiprecision python ) (define-public idris2-bootstrap (package (name "idris2-bootstrap") (version "0=2E7=2E0") (source (origin (method git-fetch) (uri (git-reference (url "https://github=2Ecom/idris-lang/Idris2") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0qxfwsm2gxjxwzni85jb5b4snvjf77knqs9bnd2bqznrfxgxw2sp")))) (build-system gnu-build-system) (native-inputs ;For tests (list gawk python)) (inputs (list chez-scheme gcc-toolchain coreutils gmp)) (arguments (list #:tests? #f #:phases #~(modify-phases %standard-phases (add-before 'configure 'config=2Emk (lambda* (#:key outputs #:allow-other-keys) (peek 'idris-boot outputs) (let* ((out (assoc-ref outputs "out")) (sh (string-append #$bash "/bin/sh")) (bin-sh (string-append "#!" sh)) ) (for-each (lambda (file) (peek 'forall-file-subst file #$bash) (substitute* file (("#!/bin/sh") bin-sh))) (append (find-files "bootstrap/idris2_app" "idris2\\=2E=2E*") (find-files "src/Compiler/Scheme" "\\=2Eidr$"))) (substitute* "support/c/idris_file=2Ec" (("/bin/sh") sh)) (substitute* "config=2Emk" (("PREFIX=2E*=3D=2E*") ;;(string-append "PREFIX=3D" out) (string-append "PREFIX=3D" #$output "\n" "CC=3D" #$gcc "/bin/gcc" "\n" "IDRIS2_BOOT=3D${CURDIR}/build/exec/idris2") )) ))) (delete 'configure) (replace 'build (lambda _ (invoke "make" "distclean") (invoke "make" "bootstrap" "SCHEME=3Dchez-scheme") ) ) ))) (native-search-paths (list (search-path-specification (variable "IDRIS_LIBRARY_PATH") (files '("lib/idris"))))) (home-page "https://www=2Eidris-lang=2Eorg") (synopsis "General purpose language with full dependent types") (description "Idris2 is a general purpose language with full dependent types=2E It is compiled, with eager evaluation=2E Dependent types allow = types to be predicated on values, meaning that some aspects of a program's behaviou= r can be specified precisely in the type=2E The language is closely related= to Epigram and Agda=2E") (license license:bsd-3))) (define-public idris2 (package (name "idris2") (version "0=2E7=2E0") (source (origin (method git-fetch) (uri (git-reference (url "https://github=2Ecom/idris-lang/Idris2") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0qxfwsm2gxjxwzni85jb5b4snvjf77knqs9bnd2bqznrfxgxw2sp")) #;(patches (search-patches "idris-test-ffi008=2Epatch")))) (build-system gnu-build-system) (native-inputs ;For tests (list gawk python idris2-bootstrap)) (inputs (list chez-scheme gcc-toolchain gcc coreutils gmp)) (arguments (list #:test-target "test" #:phases #~(modify-phases %standard-phases (add-before 'configure 'config=2Emk (lambda* (#:key outputs #:allow-other-keys) (invoke "make" "distclean") (peek 'idris2-ouputs outputs) (let* ((out (assoc-ref outputs "out")) (sh (string-append #$bash "/bin/sh")) (bin-sh (string-append "#!" sh)) ) (for-each (lambda (file) (peek 'forall-file-subst file #$bash) (substitute* file (("#!/bin/sh") bin-sh))) (append (find-files "bootstrap/idris2_app" "idris2\\=2E=2E*") (find-files "src/Compiler/Scheme" "\\=2Eidr$"))) (substitute* "support/c/idris_file=2Ec" (("/bin/sh") sh)) (substitute* "config=2Emk" (("PREFIX=2E*=3D=2E*") ;;(string-append "PREFIX=3D" out) (string-append "PREFIX=3D" #$output "\n" "CC=3D" #$gcc "/bin/gcc" "\n" ) )) ))) (delete 'configure) (replace 'install (lambda _ (invoke "make" "install") (invoke "make" "install-libdocs") )) ))) (native-search-paths (list (search-path-specification (variable "IDRIS_LIBRARY_PATH") (files '("lib/idris"))))) (home-page "https://www=2Eidris-lang=2Eorg") (synopsis "General purpose language with full dependent types") (description "Idris2 is a general purpose language with full dependent types=2E It is compiled, with eager evaluation=2E Dependent types allow = types to be predicated on values, meaning that some aspects of a program's behaviou= r can be specified precisely in the type=2E The language is closely related= to Epigram and Agda=2E") (license license:bsd-3))) =20 #+end_src