feat: add basic android support

This commit is contained in:
Henrik Lissner 2024-09-07 00:53:20 -04:00
parent 8d2cf32fef
commit f644c4fa6c
No known key found for this signature in database
GPG key ID: B60957CA074D39A3
3 changed files with 17 additions and 4 deletions

View file

@ -1165,7 +1165,9 @@ Emacs' batch library lacks an implementation of the exec system call."
("__DOOMGEOM" . ,(number-to-string (doom-cli-context-step context)))
("__DOOMCONTEXT" . ,context-file))))
(pcase-exhaustive shtype
("sh" `("#!/usr/bin/env sh\n"
("sh" `(,(if (featurep :system 'android)
"#!/bin/sh\n"
"#!/usr/bin/env sh\n")
"trap _doomcleanup EXIT\n"
"_doomcleanup() {\n rm -f " ,persistent-files "\n}\n"
"_doomrun() {\n " ,command "\n}\n"

View file

@ -121,7 +121,8 @@
('darwin '(macos bsd))
((or 'cygwin 'windows-nt 'ms-dos) '(windows))
((or 'gnu 'gnu/linux) '(linux))
((or 'gnu/kfreebsd 'berkeley-unix) '(linux bsd)))
((or 'gnu/kfreebsd 'berkeley-unix) '(linux bsd))
('android '(android)))
"A list of symbols denoting available features in the active Doom profile.")
;; Convenience aliases for internal use only (may be removed later).

View file

@ -74,7 +74,12 @@ And jumps to your `doom!' block."
,on-failure))
nil 'local))))))
(defvar doom-reload-command "%s sync -B -e"
(defvar doom-reload-command
(format "%s sync -B -e"
;; /usr/bin/env doesn't exist on Android
(if (featurep :system 'android)
"sh %%s"
"%%s"))
"Command that `doom/reload' runs.")
;;;###autoload
(defun doom/reload ()
@ -138,7 +143,12 @@ imported into Emacs."
(doom-load-envvars-file doom-env-file)
(message "Reloaded %S" (abbreviate-file-name doom-env-file))))))
(defvar doom-upgrade-command "%s upgrade -B --force"
(defvar doom-upgrade-command
(format "%s upgrade -B --force"
;; /usr/bin/env doesn't exist on Android
(if (featurep :system 'android)
"sh %%s"
"%%s"))
"Command that `doom/upgrade' runs.")
;;;###autoload
(defun doom/upgrade ()