diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9d5774d66e..a5d6e2a8a5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -656,92 +656,84 @@ (define-public emacs-libgit (license license:gpl3+)))) (define-public emacs-magit - ;; There hasn't been an official release since 2018-11-16. - (let ((commit "7f486d47fe7042edba8d9a855a4c2c301a30bc6b") - (revision "6")) - (package - (name "emacs-magit") - (version (git-version "2.90.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/magit/magit") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "05kyc5y5wa1p3h8j7mbgvfc4zcj998zi26lnnmksj9wnvahzxfms")))) - (build-system emacs-build-system) - (arguments - `(#:emacs ,emacs-no-x ;module support is required - #:tests? #t - #:test-command '("make" "test") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'build-info-manual - (lambda _ - (invoke "make" "info") - ;; Copy info files to the lisp directory, which acts as - ;; the root of the project for the emacs-build-system. - (for-each (lambda (f) - (install-file f "lisp")) - (find-files "Documentation" "\\.info$")) - (chdir "lisp") - #t)) - (add-after 'build-info-manual 'set-magit-version - (lambda _ - (make-file-writable "magit.el") - (emacs-substitute-variables "magit.el" - ("magit-version" ,version)) - #t)) - (add-after 'set-magit-version 'patch-exec-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((perl (assoc-ref inputs "perl"))) - (make-file-writable "magit-sequence.el") - (emacs-substitute-variables "magit-sequence.el" - ("magit-perl-executable" (string-append perl "/bin/perl"))) - #t))) - (add-before 'check 'configure-git - (lambda _ - ;; Otherwise some tests fail with error "unable to auto-detect - ;; email address". - (setenv "HOME" (getcwd)) - (invoke "git" "config" "--global" "user.name" "toto") - (invoke "git" "config" "--global" "user.email" - "toto@toto.com"))) - (add-after 'configure-git 'disable-tramp-test - (lambda _ - ;; There is an issue causing TRAMP to fail in the build - ;; environment. Setting the tramp-remote-shell parameter of - ;; the sudo-method to the file name of the shell didn't help. - (chdir "..") - (substitute* "t/magit-tests.el" - (("^\\(ert-deftest magit-toplevel:tramp.*" all) - (string-append all " (skip-unless nil)"))) - #t)) - (add-before 'install 'enter-lisp-directory - (lambda _ - (chdir "lisp") - #t))))) - (native-inputs - `(("texinfo" ,texinfo))) - (inputs - `(("git" ,git) - ("perl" ,perl))) - (propagated-inputs - `(("emacs-dash" ,emacs-dash) - ("emacs-libgit" ,emacs-libgit) - ("emacs-transient" ,emacs-transient) - ("emacs-with-editor" ,emacs-with-editor))) - (home-page "https://magit.vc/") - (synopsis "Emacs interface for the Git version control system") - (description - "With Magit, you can inspect and modify your Git repositories + (package + (name "emacs-magit") + (version "3.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magit/magit") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dbp3gx43ipxv8zg9m0hfhksz85rnkikaq35rx705qqz6xq6xq9m")))) + (build-system emacs-build-system) + (arguments + `(#:emacs ,emacs-no-x ;module support is required + #:tests? #t + #:test-command '("make" "test") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'build-info-manual + (lambda _ + (invoke "make" "info") + ;; Copy info files to the lisp directory, which acts as + ;; the root of the project for the emacs-build-system. + (for-each (lambda (f) + (install-file f "lisp")) + (find-files "Documentation" "\\.info$")) + (chdir "lisp"))) + (add-after 'build-info-manual 'set-magit-version + (lambda _ + (make-file-writable "magit.el") + (emacs-substitute-variables "magit.el" + ("magit-version" ,version)))) + (add-after 'set-magit-version 'patch-exec-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((perl (assoc-ref inputs "perl"))) + (make-file-writable "magit-sequence.el") + (emacs-substitute-variables "magit-sequence.el" + ("magit-perl-executable" (string-append perl "/bin/perl")))))) + (add-before 'check 'configure-git + (lambda _ + ;; Otherwise some tests fail with error "unable to auto-detect + ;; email address". + (setenv "HOME" (getcwd)) + (invoke "git" "config" "--global" "user.name" "toto") + (invoke "git" "config" "--global" "user.email" + "toto@toto.com"))) + (add-after 'configure-git 'disable-tramp-test + (lambda _ + ;; There is an issue causing TRAMP to fail in the build + ;; environment. Setting the tramp-remote-shell parameter of + ;; the sudo-method to the file name of the shell didn't help. + (chdir "..") + (substitute* "t/magit-tests.el" + (("^\\(ert-deftest magit-toplevel:tramp.*" all) + (string-append all " (skip-unless nil)"))))) + (add-before 'install 'enter-lisp-directory + (lambda _ + (chdir "lisp")))))) + (native-inputs + `(("texinfo" ,texinfo))) + (inputs + `(("git" ,git) + ("perl" ,perl))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-libgit" ,emacs-libgit) + ("emacs-transient" ,emacs-transient) + ("emacs-with-editor" ,emacs-with-editor))) + (home-page "https://magit.vc/") + (synopsis "Emacs interface for the Git version control system") + (description + "With Magit, you can inspect and modify your Git repositories with Emacs. You can review and commit the changes you have made to the tracked files, for example, and you can browse the history of past changes. There is support for cherry picking, reverting, merging, rebasing, and other common Git operations.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-magit-svn (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f"))