Revert "gnu: emacs: Make strip-double-wrap more robust."
authorNicolas Goaziou <mail@nicolasgoaziou.fr>
Tue, 3 Nov 2020 11:07:18 +0000 (12:07 +0100)
committerNicolas Goaziou <mail@nicolasgoaziou.fr>
Tue, 3 Nov 2020 11:07:18 +0000 (12:07 +0100)
This reverts commit b107a19ffb6a6abb7bde3436f3fa359071bd1f5c.

It causes too many rebuilds related to emacs-minimal, and fails with "No code
for module (guix build glib-or-gtk-build-system)".

gnu/packages/emacs.scm

index baed0b2..4963379 100644 (file)
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:tests? #f                      ; no check target
-       #:modules ((guix build glib-or-gtk-build-system)
-                  (guix build utils)
-                  (ice-9 match))
        #:configure-flags (list "--with-modules"
                                "--with-cairo"
                                "--disable-build-details")
            (lambda* (#:key outputs #:allow-other-keys)
              ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped
              ;; twice.  This also fixes a minor issue, where WMs would not be
-             ;; able to track emacs back to emacs.desktop.
+             ;; able to track emacs back to emacs.desktop.  The version is
+             ;; accessed using using THIS-PACKAGE so it "just works" for
+             ;; inherited Emacs packages of different versions.
              (with-directory-excursion (assoc-ref outputs "out")
-               (copy-file
-                (match (find-files "bin" "^emacs-")
-                  ((executable . _) executable))
-                "bin/emacs")
+               (copy-file (string-append
+                           "bin/emacs-"
+                           ,(let ((this-version (package-version this-package)))
+                              (or (false-if-exception
+                                   (version-major+minor+point this-version))
+                                  (version-major+minor this-version))))
+                          "bin/emacs")
                #t)))
          (add-before 'reset-gzip-timestamps 'make-compressed-files-writable
            ;; The 'reset-gzip-timestamps phase will throw a permission error