Build loop after changing pulseaudio and emacs-ido-completing-read+

OpenSubmitted by Oleg Pykhalov.
Details
2 participants
  • Oleg Pykhalov
  • Ludovic Courtès
Owner
unassigned
Severity
normal
O
O
Oleg Pykhalov wrote on 1 Nov 2017 15:40
(address . bug-guix@gnu.org)
87fu9ycbaa.fsf@gmail.com
Hello Guix,

I have issue with building loop after changing pulseaudio and
emacs-ido-completing-read+ packages.

pulseaudio

Toggle diff (141 lines)
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 21753cf3f..3c9659b73 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -41,6 +41,7 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages xiph))
 
 (define-public libsndfile
@@ -173,7 +174,8 @@ rates.")
        ("fftwf" ,fftwf)
        ("avahi" ,avahi)
        ("eudev" ,eudev)           ;for the detection of hardware audio devices
-       ("check" ,check)))
+       ("check" ,check)
+       ("python-pyqt" ,python-pyqt)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (propagated-inputs

$ make

$ time ./pre-inst-env guix build --verbosity=5 -n --no-substitutes pulseaudio

$ sort -u ~/screenlog.1

--8<---------------cut here---------------start------------->8---
acquiring global GC lock `/var/guix/gc.lock'
acquiring read lock on `/var/guix/temproots/9147'
acquiring write lock on `/var/guix/temproots/9147'
^C
downgrading to read lock on `/var/guix/temproots/9147'
httmakunitime ./pre-inst-env guix build --verbosity=5 -n --no-substitutes pulseaudio
natsu@magnolia ~/src/guix$ 
real	4m8.823s
sys	0m2.555s
user	4m11.696s
--8<---------------cut here---------------end--------------->8---

                       emacs-ido-completing-read+

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 4c5dd2ba8..7dee7fedf 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -3777,48 +3777,35 @@ restrict the text width to 80 characters.")
 (define-public emacs-ido-completing-read+
   (package
     (name "emacs-ido-completing-read+")
-    (version "3.12")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://raw.githubusercontent.com"
-                                  "/DarwinAwardWinner/ido-ubiquitous/v"
-                                  version "/ido-completing-read+.el"))
-              (file-name (string-append "ido-completing-read+-" version ".el"))
-              (sha256
-               (base32
-                "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
+    (version "4.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/"
+                           "DarwinAwardWinner/ido-completing-read-plus"
+                           "/archive/" "v" version ".tar.gz"))
+       (file-name (string-append "ido-completing-read+-" version ".el"))
+       (sha256
+        (base32
+         "00p6j3chyir3avdgbkb05hw4rr5xd1vyljfhn7pg67jx04z5a0f3"))))
     (build-system emacs-build-system)
-    (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
-    (synopsis "Replacement for completing-read using ido")
+    (propagated-inputs
+     `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)
+       ("emacs-s" ,emacs-s)
+       ("emacs-memoize" ,emacs-memoize)))
+    (home-page "https://github.com/DarwinAwardWinner/ido-completing-read-plus")
+    (synopsis "Use ido (nearly) everywhere")
     (description
-     "The ido-completing-read+ function is a wrapper for ido-completing-read.
-Importantly, it detects edge cases that ordinary ido cannot handle and either
-adjusts them so ido can handle them, or else simply falls back to the standard
-Emacs completion function instead.")
+     "@code{emacs-ido-completing-read+} provides ido-style completion for
+almost every function that uses the standard completion function
+completing-read.")
     (license license:gpl3+)))
 
 (define-public emacs-ido-ubiquitous
+  ;; Preserve for people already uses `emacs-ido-ubiquitous'
   (package
-    (name "emacs-ido-ubiquitous")
-    (version "3.12")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://raw.githubusercontent.com"
-                                  "/DarwinAwardWinner/ido-ubiquitous/v"
-                                  version "/ido-ubiquitous.el"))
-              (file-name (string-append "ido-ubiquitous-" version ".el"))
-              (sha256
-               (base32
-                "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
-    (build-system emacs-build-system)
-    (propagated-inputs
-     `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
-    (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
-    (synopsis "Use ido (nearly) everywhere")
-    (description
-     "Ido-ubiquitous enables ido-style completion for almost every function
-that uses the standard completion function completing-read.")
-  (license license:gpl3+)))
+    (inherit emacs-ido-completing-read+)
+    (name "emacs-ido-ubiquitous")))
 
 (define-public emacs-yaml-mode
   (package

$ make

$ time ./pre-inst-env guix build --verbosity=5 -n --no-substitutes emacs-ido-completing-read+

$ sort -u ~/screenlog.1

--8<---------------cut here---------------start------------->8---
acquiring global GC lock `/var/guix/gc.lock'
acquiring read lock on `/var/guix/temproots/11388'
acquiring write lock on `/var/guix/temproots/11388'
^C
downgrading to read lock on `/var/guix/temproots/11388'
natsu@magnolia ~/src/guix$ 
real	4m3.979s
sys	0m1.712s
user	4m6.727s
--8<---------------cut here---------------end--------------->8---

Thanks,
Oleg.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEc+OyAXw1EaDPCmAPckbhHGm3lWkFAln53N0ACgkQckbhHGm3
lWkbmRAArDgnIr7L4DOU5eIiKxtw7EuRRYAz3bkQtI1I0QUagOq6FILQ44ib4J7h
kxeiQD8Haz4kcAL6DE/0jBPBRaANpG82+Ct5L2kdL9iHRi3CS8eGPpt4Ou1eAMVy
uQv9yWum43bUsxDFNFue6PNX9PQkmBW2fbAFs6ULwtJyZTHzZNSF+fVMY7bhMqZb
yk7PJNSq4naDl/RV2pSNVWiE8x+gQg3Mey3B3wC4475VOdkzTUSS6AzKANAx9/8D
+8SNjVSVWlkVF/+ovsNt2vxtHoNMjHMq+0QsTaOFXKaa14iOik4isrKnIYtMz5ai
KR9rJXYxO4D/HOnCCh+qwkgjuRLl43JwYEStUCG9aud3hCFFcgmmpRrGgLnUJaeA
xNXOxGkZrquFC0LCGHOjIX/CWGyvz1ISsUi8HPaOtDWm4/jpR3Z4//QNOs5Kay7Q
/XhbvQUxrBqbkcX6nmbu9Eal9Dt56NPta1AjoJZgG+9aHvkCSemE+fEluUUTYGlU
fTqKl20g2vchDV0ADlWTPBoyrLgpznCWR0XJsF+Fr8M5CjSmhlo8w63Fw99G1HpE
RCd5L+9fEDwQbu8Kq/J4KaG6qUKbeSCQFn9Oqnv+IOE1hldR+Jmy6GWykeg9+iNU
sh+xHoosU+qLZ3dDyd2NIPbyd4jb+ZBQqmAOxxtH2qsfoD2PPmc=
=LT3C
-----END PGP SIGNATURE-----

O
O
Oleg Pykhalov wrote on 1 Nov 2017 15:47
(address . 29106@debbugs.gnu.org)
87a806caym.fsf@gmail.com
From 9a012229f41d60610e37639363f3b513a3900465 Mon Sep 17 00:00:00 2001
From: Oleg Pykhalov <go.wigust@gmail.com>
Date: Wed, 1 Nov 2017 15:58:48 +0300
Subject: [PATCH] gnu: emacs-ido-completing-read+: Update to 4.5.

* gnu/packages/emacs.scm (emacs-ido-completing-read+): Update to 4.5.
---
gnu/packages/emacs.scm | 59 ++++++++++++++++++++------------------------------
1 file changed, 23 insertions(+), 36 deletions(-)

Toggle diff (78 lines)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index ad96093c3..3607e00cb 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -3777,48 +3777,35 @@ restrict the text width to 80 characters.")
 (define-public emacs-ido-completing-read+
   (package
     (name "emacs-ido-completing-read+")
-    (version "3.12")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://raw.githubusercontent.com"
-                                  "/DarwinAwardWinner/ido-ubiquitous/v"
-                                  version "/ido-completing-read+.el"))
-              (file-name (string-append "ido-completing-read+-" version ".el"))
-              (sha256
-               (base32
-                "1cyalb0p7nfsm4n6n9q6rjmvn6adqc0fq8ybnlj3n41n289dkfjf"))))
+    (version "4.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/"
+                           "DarwinAwardWinner/ido-completing-read-plus"
+                           "/archive/" "v" version ".tar.gz"))
+       (file-name (string-append "ido-completing-read+-" version ".el"))
+       (sha256
+        (base32
+         "00p6j3chyir3avdgbkb05hw4rr5xd1vyljfhn7pg67jx04z5a0f3"))))
     (build-system emacs-build-system)
-    (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
-    (synopsis "Replacement for completing-read using ido")
+    (propagated-inputs
+     `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)
+       ("emacs-s" ,emacs-s)
+       ("emacs-memoize" ,emacs-memoize)))
+    (home-page "https://github.com/DarwinAwardWinner/ido-completing-read-plus")
+    (synopsis "Use ido (nearly) everywhere")
     (description
-     "The ido-completing-read+ function is a wrapper for ido-completing-read.
-Importantly, it detects edge cases that ordinary ido cannot handle and either
-adjusts them so ido can handle them, or else simply falls back to the standard
-Emacs completion function instead.")
+     "@code{emacs-ido-completing-read+} provides ido-style completion for
+almost every function that uses the standard completion function
+completing-read.")
     (license license:gpl3+)))
 
 (define-public emacs-ido-ubiquitous
+  ;; Preserve for people already uses `emacs-ido-ubiquitous'
   (package
-    (name "emacs-ido-ubiquitous")
-    (version "3.12")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://raw.githubusercontent.com"
-                                  "/DarwinAwardWinner/ido-ubiquitous/v"
-                                  version "/ido-ubiquitous.el"))
-              (file-name (string-append "ido-ubiquitous-" version ".el"))
-              (sha256
-               (base32
-                "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
-    (build-system emacs-build-system)
-    (propagated-inputs
-     `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
-    (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
-    (synopsis "Use ido (nearly) everywhere")
-    (description
-     "Ido-ubiquitous enables ido-style completion for almost every function
-that uses the standard completion function completing-read.")
-  (license license:gpl3+)))
+    (inherit emacs-ido-completing-read+)
+    (name "emacs-ido-ubiquitous")))
 
 (define-public emacs-yaml-mode
   (package
-- 
2.14.3
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEc+OyAXw1EaDPCmAPckbhHGm3lWkFAln53oEACgkQckbhHGm3
lWmrgg/+Matir+koJpO5o7qTcWkKjn+zc2vC2Z+xCHpdbEVPAWp2ym4OHooqvIU5
LoyMjdWpQU5BLiQn3we2OQHTDduvQiy6bnj4zjZmKASi+wuJbLWV60ng4JP1TJra
ieZdXlSkCb8xlc6/bGo7DlHF+8ScUed2TN3/W+bQbDv9SO7yFVcBi8RyfM1D6Ldp
VcEBopYOMgpk3YuftOseT255cAGY6meAWMdKZmsbhczpwud/L6xIrWm7Hg3HdqK6
BrUxSpbw/xvLv6pd/UgCDpSrqlq7hyMJvrgNBQH/0OiSx8yCOqb6Sy0NcRnEGU2A
VTcI0znF6OPkCcFfkIcVq5aFWhRO7i7DFPoMU2lxArYOjK6YWqnblFYt/qF69sgy
Wt299xcvf5HnullGVkB503JJ+l0WspNrKxAR3VZvVuh0uJh5oMbXjIjhDhPACbIA
E4Gq58/QCPXr6Qo64yvRYc/x71+oSZBnWyqpPaT4heoa9nLuc7jUZ2JuAK33Y2r3
qmtMu5WVA90S7dq+XiRazkwtu+QRQVgH5ugZ7zmD4ZyeJsH9fz6UlqxeueuEugyh
1TGPRtsX/L6tabNLiyQ6s2M0TMaFpwBngS3wl9XyJCtebXs/lCAPUErPCViFpKhM
Mm5SqcbJY23F5QcL3ZRB5vikBGFGMs3HRUESw28O1QOvpZasy0E=
=+ibt
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 5 Nov 2017 17:07
(name . Oleg Pykhalov)(address . go.wigust@gmail.com)(address . 29106@debbugs.gnu.org)
87d14wr9og.fsf@gnu.org
Oleg Pykhalov <go.wigust@gmail.com> skribis:

Toggle quote (7 lines)
> From 9a012229f41d60610e37639363f3b513a3900465 Mon Sep 17 00:00:00 2001
> From: Oleg Pykhalov <go.wigust@gmail.com>
> Date: Wed, 1 Nov 2017 15:58:48 +0300
> Subject: [PATCH] gnu: emacs-ido-completing-read+: Update to 4.5.
>
> * gnu/packages/emacs.scm (emacs-ido-completing-read+): Update to 4.5.

Please also mention the ‘emacs-ido-ubiquitous’ changes.


[...]

Toggle quote (26 lines)
> (define-public emacs-ido-ubiquitous
> + ;; Preserve for people already uses `emacs-ido-ubiquitous'
> (package
> - (name "emacs-ido-ubiquitous")
> - (version "3.12")
> - (source (origin
> - (method url-fetch)
> - (uri (string-append "https://raw.githubusercontent.com"
> - "/DarwinAwardWinner/ido-ubiquitous/v"
> - version "/ido-ubiquitous.el"))
> - (file-name (string-append "ido-ubiquitous-" version ".el"))
> - (sha256
> - (base32
> - "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
> - (build-system emacs-build-system)
> - (propagated-inputs
> - `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
> - (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
> - (synopsis "Use ido (nearly) everywhere")
> - (description
> - "Ido-ubiquitous enables ido-style completion for almost every function
> -that uses the standard completion function completing-read.")
> - (license license:gpl3+)))
> + (inherit emacs-ido-completing-read+)
> + (name "emacs-ido-ubiquitous")))

Should it be defined using ‘deprecated-package’ instead?

Also, is the “build loop” you mentioned fixed with this patch?

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 24 Nov 2017 18:26
(name . Oleg Pykhalov)(address . go.wigust@gmail.com)(address . 29106@debbugs.gnu.org)
877eufa8qq.fsf@gnu.org
Ping!

ludo@gnu.org (Ludovic Courtès) skribis:

Toggle quote (46 lines)
> Oleg Pykhalov <go.wigust@gmail.com> skribis:
>
>> From 9a012229f41d60610e37639363f3b513a3900465 Mon Sep 17 00:00:00 2001
>> From: Oleg Pykhalov <go.wigust@gmail.com>
>> Date: Wed, 1 Nov 2017 15:58:48 +0300
>> Subject: [PATCH] gnu: emacs-ido-completing-read+: Update to 4.5.
>>
>> * gnu/packages/emacs.scm (emacs-ido-completing-read+): Update to 4.5.
>
> Please also mention the ‘emacs-ido-ubiquitous’ changes.
>
>
> [...]
>
>> (define-public emacs-ido-ubiquitous
>> + ;; Preserve for people already uses `emacs-ido-ubiquitous'
>> (package
>> - (name "emacs-ido-ubiquitous")
>> - (version "3.12")
>> - (source (origin
>> - (method url-fetch)
>> - (uri (string-append "https://raw.githubusercontent.com"
>> - "/DarwinAwardWinner/ido-ubiquitous/v"
>> - version "/ido-ubiquitous.el"))
>> - (file-name (string-append "ido-ubiquitous-" version ".el"))
>> - (sha256
>> - (base32
>> - "197ypji0fb6jsdcq40rpnknwlh3imas6s6jbsvkfm0pz9988c3q2"))))
>> - (build-system emacs-build-system)
>> - (propagated-inputs
>> - `(("emacs-ido-completing-read+" ,emacs-ido-completing-read+)))
>> - (home-page "https://github.com/DarwinAwardWinner/ido-ubiquitous")
>> - (synopsis "Use ido (nearly) everywhere")
>> - (description
>> - "Ido-ubiquitous enables ido-style completion for almost every function
>> -that uses the standard completion function completing-read.")
>> - (license license:gpl3+)))
>> + (inherit emacs-ido-completing-read+)
>> + (name "emacs-ido-ubiquitous")))
>
> Should it be defined using ‘deprecated-package’ instead?
>
> Also, is the “build loop” you mentioned fixed with this patch?
>
> Thanks,
> Ludo’.
O
O
Oleg Pykhalov wrote on 29 Nov 2017 05:45
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 29106@debbugs.gnu.org)
87lgip3d6i.fsf@gmail.com
Hello Ludovic,

Apologies for late reply.

ludo@gnu.org (Ludovic Courtès) writes:

Toggle quote (3 lines)
> Ping!
>> Also, is the “build loop” you mentioned fixed with this patch?

Sorry, I don't see any patches attached.

I still have never ending pulseaudio derivation build if I add
("python-pyqt" ,python-pyqt) to the inputs field.

Toggle snippet (3 lines)
$ ./pre-inst-env guix build --no-substitutes --derivations pulseaudio

Thanks,
Oleg.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEc+OyAXw1EaDPCmAPckbhHGm3lWkFAloeO4YACgkQckbhHGm3
lWklqg//fjwTwnaNZO0PyYk2M6XLb94GdtukBLt5ADGXAw7Nq5xDspAsp9mZmO3i
fpSKETXFPj0CwiKXTSIKpFzRVFWM8GpGX6jfYRcVHfi3Cg39LALiX/jJYThZgb60
QYFjjqVptOfRJaRFVGGAN/DJjLTG0a7ay20NvyeK/uAl1ReBAnyLkjfzJRm9oIbs
wnd1IEtE5tLSOr1ZrLre0SBMDl13NIz86dbFA0GGIagg9lTpUmSyhSBe9LFi7Xh/
t4kuFqjJj2+eGiBeI3M7kBh2o4JrpJxo+HcbyGgs8dO3A/YAQvkpCRMVVBhJqq7F
H5laWxJX2jymp+gFmqSEXqQG86OPSznkjkvKNN/qzXbI/T2Q0qTmEcjpPfpRKWea
HH48kEk6O0c62DYNzTzPl5Zg4mxn42MdkmgriiLw2TL/Ynqxr8N+BIEf/IrqHjnX
h+Am+LkD+2LIAtGoCYAZF9teZeYOWPQML/7UBvdKZYN5dvwLXsGhyn0qHqENWdsS
ON4fHNF/26RdSkDfcdViuYXqN86/bily5Kpb3+hoWY7x0pcUTj5cR0V0iS7ZoIl3
0fdjMELVDh4fXVD7zDMUwzcFZ1pp0eE3jbcN8T18mMWDDmN5pNdHIyJ/9I2UaiGf
j/LcbErB4w1f8f28rNoPXB9TbqjEBqLg7IqJvF3bzJTeJZ8csYc=
=ofLV
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 29 Nov 2017 17:43
(name . Oleg Pykhalov)(address . go.wigust@gmail.com)(address . 29106@debbugs.gnu.org)
87shcxqble.fsf@gnu.org
Hi Oleg,

Oleg Pykhalov <go.wigust@gmail.com> skribis:

Toggle quote (7 lines)
> ludo@gnu.org (Ludovic Courtès) writes:
>
>> Ping!
>>> Also, is the “build loop” you mentioned fixed with this patch?
>
> Sorry, I don't see any patches attached.

See https://bugs.gnu.org/29106 (the issue we’re talking about.) There
you submitted an emacs-ido-completing-read+ patch¹, and it isn’t clear
to me how it relates to the initial problem you reported.


Toggle quote (3 lines)
> I still have never ending pulseaudio derivation build if I add
> ("python-pyqt" ,python-pyqt) to the inputs field.

OK, I suppose that’s because python-pyqt indirectly depends on
pulseaudio (currently Guix doesn’t try to detect cycles around
derivations, which is why you get this “never-ending” behavior.)

The usual approach to break such cycles is by having a “-minimal”
variant of one of the packages in the loop.

Would it work for you?

Thanks,
Ludo’.
?