text-mode :when (bound-and-true-p git-commit-mode) (add\ "gnu: Add " (p (with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") (goto-char (point-min)) (when (re-search-forward "\\+(define-public \\(\\S-+\\)" nil 'noerror) (match-string-no-properties 1))) var) "." n n "* " (p (or (car (magit-staged-files)) "")) " (" (s var ) "): New variable.") (remove\ "gnu: Remove " (p (with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") (goto-char (point-min)) (when (re-search-forward "\\-(define-public \\(\\S-+\\)" nil 'noerror) (match-string-no-properties 1))) var) "." n n "* " (p (or (car (magit-staged-files)) "")) " (" (s var) "): Delete variable.") (rename\ "gnu: " (p (with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") (beginning-of-buffer) (when (search-forward "-(define-public " nil 'noerror) (thing-at-point 'sexp 'no-properties))) prev-var) ": Rename package to " (p (with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") (beginning-of-buffer) (when (search-forward "+(define-public " nil 'noerror) (thing-at-point 'sexp 'no-properties))) new-var) "." n n "* " (p (or (car (magit-staged-files)) "")) " (" (s prev-var) "): " "Define in terms of" n "'deprecated-package'." n "(" (s new-var) "): New variable, formerly known as \"" (s prev-var) "\".") (update\ "gnu: " (p (with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") (goto-char (point-min)) (when (re-search-forward "^[ ]*(define-public \\(\\S-+\\)" nil 'noerror) (match-string-no-properties 1))) var) ": Update to " (p (with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") (goto-char (point-min)) (search-forward "name" nil 'noerror) (search-forward "+" nil 'noerror) ; first change (when (and (search-forward "version " nil 'noerror) (looking-at-p "\"")) (let ((end (save-excursion (search-forward "\")" nil 'noerror)))) (when end (forward-char) (buffer-substring-no-properties (point) (- end 2)))))) version) "." n n "* " (p (or (car (magit-staged-files)) "")) " (" (s var) "): " "Update to " (s version) "." n (mapconcat (lambda (file) (concat "* " file)) (cdr (magit-staged-files)) "\n")) (addcl\ "gnu: Add cl-" (p (replace-regexp-in-string "^cl-" "" (with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") (beginning-of-buffer) (when (search-forward "+(define-public " nil 'noerror) (replace-regexp-in-string "^sbcl-" "" (thing-at-point 'sexp 'no-properties))))) var) "." n n "* " (p (or (car (magit-staged-files)) "")) " (cl-" (s var) ", ecl-" (s var) ", sbcl-" (s var) "): New variables.") (https\ "gnu: " (p (with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") (goto-char (point-min)) (when (re-search-forward "^[ ]*(define-public \\(\\S-+\\)" nil 'noerror) (match-string-no-properties 1))) var) ": Use HTTPS home page." n n "* " (p (or (car (magit-staged-files)) "")) " (" (s var) ")[home-page]: Use HTTPS." n (mapconcat (lambda (file) (concat "* " file)) (cdr (magit-staged-files)) "\n")) (move\ "gnu: " (p (with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") (goto-char (point-min)) (when (re-search-forward "\\-(define-public \\(\\S-+\\)" nil 'noerror) (match-string-no-properties 1))) var) ": Move to (" (p (with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") (goto-char (point-min)) (when (and (re-search-forward "\\+(define-public \\(\\S-+\\)" nil 'noerror) (re-search-backward "modified[ ]*\\(\\S-+\\)" nil 'noerror)) (string-replace "\.scm" "" (string-replace "/" " " (match-string-no-properties 1))))) new-module) ")." n n "* " (p (with-temp-buffer (magit-git-wash #'magit-diff-wash-diffs "diff" "--staged") (goto-char (point-min)) (when (and (re-search-forward "\\-(define-public \\(\\S-+\\)" nil 'noerror) (re-search-backward "modified[ ]*\\(\\S-+\\)" nil 'noerror)) (match-string-no-properties 1))) source) " (" (s var) "): Move from here…" n "* " (concat (string-replace " " "/" new-module) ".scm") " (" (s var) "): …to here.") new file. * gnu/system/vm.scm (qemu-img): Adapt to import and use (gnu build bootloader) module during derivation building. * gnu/scripts/system.scm (bootloader-installer-derivation): Ditto. Mathieu Othacehe 2017-12-15vm: Adapt qemu command to ARM....* gnu/build/vm.scm (load-in-linux-vm): New argument #:target-arm32. Use it to adapt command for qemu-system-arm. This implies to choose a machine ("virt"), use the correct console port "ttyAMA0", disable KVM use that is buggy on some ARM boards (Odroid XU4 for example) and use user mode network stack instead of NIC. Gather all those options in a new variable "arch-specific-flags". * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass to load-in-linux-vm "#:target-arm32?" argument. Mathieu Othacehe