From mboxrd@z Thu Jan 1 00:00:00 1970 From: brettg@posteo.net Subject: bug#38261: Recent changes to emacs build system Date: Tue, 19 Nov 2019 01:32:06 +0100 Message-ID: <26711cb3bba8555dea8ac4e9f8220726@posteo.net> References: <848bb376e0d6e171347afe53ce79bd96@posteo.net> <421db4d1a206488fa1883e40666846c5@posteo.net> <805ec3dde9328f427bc34126c36735d3@posteo.net> <70112f45226b44a1234a4d41aa7ac610@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:57491) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iWrS6-0006W4-PI for bug-guix@gnu.org; Mon, 18 Nov 2019 19:33:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iWrS2-0000Eq-Pm for bug-guix@gnu.org; Mon, 18 Nov 2019 19:33:06 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:37634) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iWrS2-0000Ed-Jb for bug-guix@gnu.org; Mon, 18 Nov 2019 19:33:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iWrS2-0000dy-EO for bug-guix@gnu.org; Mon, 18 Nov 2019 19:33:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:57331) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iWrRC-0006UE-Ce for Bug-guix@gnu.org; Mon, 18 Nov 2019 19:32:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iWrRB-000800-1m for Bug-guix@gnu.org; Mon, 18 Nov 2019 19:32:10 -0500 Received: from mout01.posteo.de ([185.67.36.65]:56382) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iWrRA-0007zE-P9 for Bug-guix@gnu.org; Mon, 18 Nov 2019 19:32:08 -0500 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 6C0EA16005E for ; Tue, 19 Nov 2019 01:32:07 +0100 (CET) In-Reply-To: <70112f45226b44a1234a4d41aa7ac610@posteo.net> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Bug guix , Ricardo Wurmus Cc: bug-Guix On 19.11.2019 01:27, brettg@posteo.net wrote: > On 18.11.2019 22:34, brettg@posteo.net wrote: >> On 18.11.2019 21:33, brettg@posteo.net wrote: >>> On 18.11.2019 21:28, brettg@posteo.net wrote: >>>> On 18.11.2019 20:01, brettg@posteo.net wrote: >>>>> Hey all, the recent changes to the emacs build system result in a=20 >>>>> few >>>>> broken packages like emacs-pdf-tools, or basically anything that=20 >>>>> uses >>>>> a phase for emacs-set-emacs-load-path. >>>>>=20 >>>>> For example, I borrowed the technique used by emacs-pdf-tools to >>>>> package emacs-telega, resulting in both packages failing to build: >>>>>=20 >>>>> Here is the code for emacs-telega: >>>>>=20 >>>>> https://git.sr.ht/~brettgilio/cfg/tree/master/channel/non-gnu/package= s/emacs-xyz.scm#L99 >>>>>=20 >>>>> The issue is in this phase for both emacs-pdf-tools and my channel=20 >>>>> package: >>>>>=20 >>>>> (add-after 'compress-documentation 'emacs-set-emacs-load-path >>>>> (assoc-ref emacs:%standard-phases 'set-emacs-load-path)) >>>>>=20 >>>>> Resulting in: >>>>>=20 >>>>> starting phase `emacs-set-emacs-load-path' >>>>> Backtrace: >>>>> 5 (primitive-load=20 >>>>> "/gnu/store/5b1p1gsvfyi4fbx4s42rhab2dns=E2=80=A6") >>>>> In ice-9/eval.scm: >>>>> 191:35 4 (_ _) >>>>> In ice-9/boot-9.scm: >>>>> 829:9 3 (catch _ _ #>>>> /gnu/store/zmkg=E2=80=A6> =E2=80=A6) >>>>> In srfi/srfi-1.scm: >>>>> 863:16 2 (every1 #>>>> /gnu/store/zmkgrvv=E2=80=A6> =E2=80=A6) >>>>> In >>>>> /gnu/store/zmkgrvvhmrix2b1z7id6zrg9bb7qxzdl-module-import/guix/build/= gnu-build-system.scm: >>>>> 839:30 1 (_ _) >>>>> In unknown file: >>>>> 0 (_ #:source=20 >>>>> "/gnu/store/qw8xbmk6ryl9a2jrp0gip3yffmsdix=E2=80=A6" =E2=80=A6) >>>>>=20 >>>>> ERROR: Wrong type to apply: #f >>>>>=20 >>>>> If we suspect that changes are going to be non-backwards compatible >>>>> could we use the news system to pass along that message? Much >>>>> appreciated. Thanks. >>>>>=20 >>>>> Brett Gilio >>>>=20 >>>> I applied a hotfix to the package by replacing 'set-emacs-load-path >>>> with 'add-source-to-load-path. I believe this fix would work for all >>>> other affected packages. >>>=20 >>> https://git.sr.ht/~brettgilio/cfg/commit/c24a6db9d25151c487e9db675bd74e= 4bb3912173 >>=20 >> Ricardo, just wanted to make you aware that this emacs-build-system >> change does break your guile-studio. I discovered this because I >> adopted some of your ideas of autoloading in the generated emacs lisp >> from guile-studio when creating my own emacs configuration dependent >> on guix, which resulted in >>=20 >> progn: Wrong number of arguments: (lambda nil "Autoload Emacs packages >> found in EMACSLOADPATH. >>=20 >> 'Autoload' means to load the 'autoloads' files matching >> `guix-emacs-autoloads-regexp'." (interactive) (let* ((emacs-load-path >> (getenv "EMACSLOADPATH")) (emacs-non-core-load-path-directories >> (seq-filter (function (lambda (dir) (string-match-p >> "/share/emacs/site-lisp" dir))) (split-string emacs-load-path ":"))) >> (autoloads (mapcan (function guix-emacs-find-autoloads) >> emacs-non-core-load-path-directories))) (mapc (function (lambda (f) >> (load f (quote noerror)))) autoloads))), 78 >>=20 >> I'll let you know if I can find any fix for this when I get some time. >> But just wanted to pass the message along. >>=20 >> Brett >=20 > I tried removing the arguments passed to > `guix-emacs-autoload-packages' as the updated version > (http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/aux-files/em= acs/guix-emacs.el?id=3D47b3b4c2aa49e21f4cc32c97ff7bbbd069bb849c) > does not carry arguments anymore, instead depending on a variable > EMACSLOADPATH. However, whenever that is done it returns >=20 > split-string: Wrong type argument: stringp, nil >=20 > possibly because my system is not finding EMACSLOADPATH. >=20 > I will keep investigating. I can confirm, when running something analogous to `guix environment=20 --ad-hoc emacs-dashboard` no changes are being made to the=20 $GUIX_ENVIRONMENT/etc/profile to resemble EMACSLOADPATH.