diff options
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r-- | gnu/packages/emacs.scm | 80 |
1 files changed, 50 insertions, 30 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 4aafb7355e..02d597d82c 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -156,7 +156,8 @@ (list line "\"~/.guix-profile/include\"" "\"/var/guix/profiles/system/profile/include\"") - " "))))))) + " "))) + #t)))) (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; no check target @@ -167,7 +168,8 @@ ;; Use `pwd', not `/bin/pwd'. (substitute* (find-files "." "^Makefile\\.in$") (("/bin/pwd") - "pwd")))) + "pwd")) + #t)) (add-after 'install 'install-site-start ;; Use 'guix-emacs' in "site-start.el". This way, Emacs packages ;; provided by Guix and installed in @@ -544,7 +546,7 @@ operations.") (source (assoc-ref %build-inputs "source")) (lisp-dir (string-append %output "/share/emacs/site-lisp"))) (setenv "PATH" PATH) - (system* tar "xvf" source) + (invoke tar "xvf" source) (install-file (string-append ,name "-" ,version "/magit-svn.el") lisp-dir) @@ -554,7 +556,8 @@ operations.") (emacs-generate-autoloads ,name lisp-dir) (setenv "EMACSLOADPATH" (string-append ":" magit ":" dash ":" with-editor)) - (emacs-batch-eval '(byte-compile-file "magit-svn.el")))))))) + (emacs-batch-eval '(byte-compile-file "magit-svn.el")))) + #t)))) (home-page "https://github.com/magit/magit-svn") (synopsis "Git-SVN extension to Magit") (description @@ -898,26 +901,29 @@ provides an optional IDE-like error list.") "08f9lj77jlk96grqgjsv63s2i8ywvp4wvnmgmhnslwyx2lsdxza3")) (modules '((guix build utils))) (snippet - '(substitute* "Makefile" - (("/usr/bin/install-info") - ;; No need to use 'install-info' since it would create a - ;; useless 'dir' file. - "true") - (("^INFODIR=.*") - ;; Install Info files to $out/share/info, not $out/info. - "INFODIR := $(PREFIX)/share/info\n") - (("/site-lisp/emms") - ;; Install directly in share/emacs/site-lisp, not in a - ;; sub-directory. - "/site-lisp") - (("^all: (.*)\n" _ rest) - ;; Build 'emms-print-metadata'. - (string-append "all: " rest " emms-print-metadata\n")))))) + '(begin + (substitute* "Makefile" + (("/usr/bin/install-info") + ;; No need to use 'install-info' since it would create a + ;; useless 'dir' file. + "true") + (("^INFODIR=.*") + ;; Install Info files to $out/share/info, not $out/info. + "INFODIR := $(PREFIX)/share/info\n") + (("/site-lisp/emms") + ;; Install directly in share/emacs/site-lisp, not in a + ;; sub-directory. + "/site-lisp") + (("^all: (.*)\n" _ rest) + ;; Build 'emms-print-metadata'. + (string-append "all: " rest " emms-print-metadata\n"))) + #t)))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) (guix build utils) - (guix build emacs-utils)) + (guix build emacs-utils) + (ice-9 ftw)) #:imported-modules (,@%gnu-build-system-modules (guix build emacs-utils)) @@ -980,13 +986,21 @@ provides an optional IDE-like error list.") (man1 (string-append out "/share/man/man1"))) (mkdir-p bin) (mkdir-p man1) + + ;; Ensure that files are not rejected by gzip + (let ((early-1980 315619200)) ; 1980-01-02 UTC + (ftw "." (lambda (file stat flag) + (unless (<= early-1980 (stat:mtime stat)) + (utime file early-1980 early-1980)) + #t))) #t))) (add-after 'install 'post-install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (symlink "emms-auto.el" (string-append out "/share/emacs/site-lisp/" - "emms-autoloads.el")))))) + "emms-autoloads.el"))) + #t))) #:tests? #f)) (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils) ("texinfo" ,texinfo))) @@ -1072,9 +1086,11 @@ within a specified width. It is useful for displaying long track titles.") (modules '((guix build utils))) (snippet ;; We don't want to build and install the PDF. - '(substitute* "doc/Makefile.in" - (("^doc_DATA = .*$") - "doc_DATA =\n"))))) + '(begin + (substitute* "doc/Makefile.in" + (("^doc_DATA = .*$") + "doc_DATA =\n")) + #t)))) (build-system gnu-build-system) (arguments '(#:phases @@ -2838,7 +2854,8 @@ SuperCollider is a platform for audio synthesis and algorithmic composition.") '(begin (for-each delete-file '("dot-emacs.el" "Makefile")) (install-file "6.945-config/mit-scheme-doc.el" ".") - (delete-file-recursively "6.945-config"))) + (delete-file-recursively "6.945-config") + #t)) (file-name (string-append name "-" version ".tar.bz2")) (method url-fetch) (uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/" @@ -4015,7 +4032,8 @@ programming language.") (substitute* "lisp/Makefile" (("^\tjulia-mode.elc\\\\\n") "") (("^all: \\$\\(ELC\\) ess-custom.el julia-mode.el") - "all: $(ELC) ess-custom.el")))))) + "all: $(ELC) ess-custom.el")) + #t)))) (build-system gnu-build-system) (arguments (let ((base-directory "/share/emacs/site-lisp/guix.d/ess")) @@ -5308,7 +5326,8 @@ mode-line.") ;; warnings about a missing directory. (substitute* "yasnippet.el" (("^ +'yas-installed-snippets-dir\\)\\)\n") - "))\n")))))) + "))\n")) + #t)))) (build-system emacs-build-system) (home-page "https://github.com/joaotavora/yasnippet") (synopsis "Yet another snippet extension for Emacs") @@ -5352,7 +5371,8 @@ abbreviation and automatically expand it into function templates.") dir))) (scandir "." (lambda (fname) (and (string-match "-mode$" fname) - (directory-exists? fname))))))))) + (directory-exists? fname)))))) + #t))) (home-page "https://github.com/AndreaCrotti/yasnippet-snippets") (synopsis "Collection of YASnippet snippets for many languages") (description @@ -7316,7 +7336,7 @@ for external literate programming tools for exporting, weaving and tangling.") (setenv "PATH" (string-append (assoc-ref %build-inputs "tar") "/bin" ":" (assoc-ref %build-inputs "gzip") "/bin")) - (system* "tar" "xvf" (assoc-ref %build-inputs "source")) + (invoke "tar" "xvf" (assoc-ref %build-inputs "source")) (chdir (string-append "eless" "-" ,version)) (substitute* "eless" (("/usr/bin/env bash") (string-append (assoc-ref %build-inputs "bash") @@ -7683,7 +7703,7 @@ Features: (setenv "PATH" (string-append (assoc-ref %build-inputs "tar") "/bin" ":" (assoc-ref %build-inputs "gzip") "/bin")) - (system* "tar" "xvf" (assoc-ref %build-inputs "source")) + (invoke "tar" "xvf" (assoc-ref %build-inputs "source")) (chdir (string-append ,name "-" ,version)) ;; Patch shebangs (substitute* "epipe" |