Merge branch 'master' into drone/ivy

This commit is contained in:
Jonas Bernoulli 2018-01-15 15:56:16 +01:00
commit 964a14b667
19 changed files with 40 additions and 183 deletions

1
.gitignore vendored
View File

@ -1,4 +1,5 @@
/.cask /.cask
/.hive-maint /.hive-maint
/custom.el /custom.el
/elpa
/var /var

13
.gitmodules vendored
View File

@ -3,7 +3,7 @@
collective = emacsg collective = emacsg
[submodule "auto-compile"] [submodule "auto-compile"]
path = lib/auto-compile path = lib/auto-compile
url = git@github.com:tarsius/auto-compile.git url = git@github.com:emacscollective/auto-compile.git
[submodule "borg"] [submodule "borg"]
path = lib/borg path = lib/borg
url = git@github.com:emacscollective/borg.git url = git@github.com:emacscollective/borg.git
@ -24,9 +24,9 @@
[submodule "epkg"] [submodule "epkg"]
path = lib/epkg path = lib/epkg
url = git@github.com:emacscollective/epkg.git url = git@github.com:emacscollective/epkg.git
[submodule "finalize"] [submodule "ghub"]
path = lib/finalize path = lib/ghub
url = git@github.com:skeeto/elisp-finalize.git url = git@github.com:magit/ghub.git
[submodule "git-modes"] [submodule "git-modes"]
path = lib/git-modes path = lib/git-modes
url = git@github.com:magit/git-modes.git url = git@github.com:magit/git-modes.git
@ -38,9 +38,12 @@
path = lib/magit path = lib/magit
url = git@github.com:magit/magit.git url = git@github.com:magit/magit.git
info-path = Documentation info-path = Documentation
[submodule "magit-popup"]
path = lib/magit-popup
url = git@github.com:magit/magit-popup.git
[submodule "packed"] [submodule "packed"]
path = lib/packed path = lib/packed
url = git@github.com:tarsius/packed.git url = git@github.com:emacscollective/packed.git
[submodule "use-package"] [submodule "use-package"]
path = lib/use-package path = lib/use-package
url = git@github.com:jwiegley/use-package.git url = git@github.com:jwiegley/use-package.git

View File

@ -1,49 +1,7 @@
# Copyright (C) 2016-2017 Jonas Bernoulli -include lib/borg/borg.mk
#
# Author: Jonas Bernoulli <jonas@bernoul.li>
# License: GPL v3 <https://www.gnu.org/licenses/gpl-3.0.txt>
.PHONY: all help build build-init quick bootstrap bootstrap-borg:
.FORCE: @git submodule--helper clone --name borg --path lib/borg \
--url git@github.com:emacscollective/borg.git
all: build @cd lib/borg; git symbolic-ref HEAD refs/heads/master
@cd lib/borg; git reset --hard HEAD
help:
$(info )
$(info make [all|build] = rebuild all drones and init files)
$(info make quick = rebuild most drones and init files)
$(info make lib/DRONE = rebuild DRONE)
$(info make build-init = rebuild init files)
$(info make bootstrap = bootstrap collective or new drones)
@printf "\n"
build:
@rm -f init.elc
@emacs -Q --batch -L lib/borg --load borg \
--funcall borg-initialize \
--funcall borg-batch-rebuild 2>&1
build-init:
@rm -f init.elc
@emacs -Q --batch -L lib/borg --load borg \
--funcall borg-initialize \
--funcall borg-batch-rebuild-init 2>&1
quick:
@rm -f init.elc
@emacs -Q --batch -L lib/borg --load borg \
--funcall borg-initialize \
--eval '(borg-batch-rebuild t)' 2>&1
lib/%: .FORCE
@emacs -Q --batch -L lib/borg --load borg \
--funcall borg-initialize \
--eval '(borg-build "$(@F)")' 2>&1
bootstrap:
@printf "\n=== Running 'git submodule init' ===\n\n"
@git submodule init
@printf "\n=== Running 'bin/borg-bootstrap' ===\n"
@bin/borg-bootstrap
@printf "\n=== Running 'make build' ===\n\n"
@make build

View File

@ -6,7 +6,7 @@ Assimilate Emacs packages as Git submodules
About `borg.el` About `borg.el`
--------------- ---------------
[Borg][repo] is a bare-bones package manager for Emacs packages. It [Borg] is a bare-bones package manager for Emacs packages. It
provides only a few essential features and should be combined with provides only a few essential features and should be combined with
other tools such as Magit, `epkg`, `use-package`, and `auto-compile`. other tools such as Magit, `epkg`, `use-package`, and `auto-compile`.
@ -32,30 +32,11 @@ update the drones you have assimilated yourself.
If you do base your own configuration on this collective and make it If you do base your own configuration on this collective and make it
publically available as source of inspiration for others, then please publically available as source of inspiration for others, then please
do so by forking the upstream repository, which is available from do so by forking the upstream repository, which is available from
[Github][gh-this], [Gitlab][gl-this], and [Bitbucket][bb-this]. [Github].
You might also want to adjust this description. You might also want to adjust this description.
Other collectives
-----------------
It is also possible to create collectives that can be shared between
and worked on by many Emacs users, i.e. borg-based starter-kits.
Check out alternative collectives by browsing the repositories owned
by the `emacscollective` organisation/group/team, which is available
on [Github][gh-all], [Gitlab][gl-all], and [Bitbucket][bb-all].
Another alternative is the `bootstrap` collective. It assimilates a
single drone, `borg` itself, and is intended for users for whom even
the `emacs.g` collective is to opinionated.
[init]: https://emacsair.me/2016/05/17/assimilate-emacs-packages-as-git-submodules [init]: https://emacsair.me/2016/05/17/assimilate-emacs-packages-as-git-submodules
[repo]: https://gitlab.com/tarsius/borg [Borg]: https://gitlab.com/tarsius/borg
[manual]: https://emacsmirror.net/manual/borg [manual]: https://emacsmirror.net/manual/borg
[Github]: https://github.com/emacscollective/emacs.g
[gh-this]: https://github.com/emacscollective/emacs.g
[gl-this]: https://gitlab.com/emacscollective/emacs.g
[bb-this]: https://bitbucket.com/emacscollective/emacs.g
[gh-all]: https://github.com/emacscollective
[gl-all]: https://gitlab.com/emacscollective
[bb-all]: https://bitbucket.com/emacscollective

View File

@ -1,82 +0,0 @@
#!/bin/sh
# Copyright (C) 2016 Jonas Bernoulli
#
# Author: Jonas Bernoulli <jonas@bernoul.li>
# License: GPL v3 <https://www.gnu.org/licenses/gpl-3.0.txt>
hive_remote=$(git config -f .gitmodules borg.collective)
push_remote=$(git config -f .gitmodules borg.pushDefault)
toplevel=$(git rev-parse --show-toplevel)
test -n "$toplevel" || exit 2
cd "$toplevel"
git submodule--helper list |
while read mode sha1 stage path
do
if test -e "$path" && ! test -e "$path"/.git
then
name=$(git submodule--helper name "$path")
echo "\n--- [$name] ---\n"
git submodule--helper clone \
--name "$name" \
--path "$path" \
--url $(git config -f .gitmodules submodule."$name".url)
git config -f .gitmodules --get-all submodule."$name".remote |
while read remote remote_url
do
if ! test -e "$path"/.git
then
git submodule--helper clone \
--name "$name" \
--path "$path" \
--url "$remote_url" &&
git remote rename origin "$remote"
else
cd "$path"
git remote add "$remote" "$remote_url"
git fetch "$remote"
cd "$toplevel"
fi
if test -e "$path"/.git
then
cd "$path"
if test "$remote" = "$hive_remote"
then
if test -e "$toplevel/.hive-maint"
then
git config remote.pushDefault "$remote"
else
branch=$(git rev-parse --abbref-ref HEAD)
test -n "$branch" &&
git config branch.master.remote "$remote"
fi
elif test "$remote" = "$push_remote"
then
git config remote.pushDefault "$remote"
fi
cd "$toplevel"
fi
done
if test -e "$path"/.git
then
cd "$path"
if ! git reset --hard "$sha1"
then
echo >&2 "futile: Checkout of '$sha1' into submodule path '$path' failed"
git reset --hard HEAD
exit 1
fi
cd "$toplevel"
else
echo >&2 "futile: Clone of any remote into submodule path '$path' failed"
exit 1
fi
fi
done

23
init.el
View File

@ -10,6 +10,7 @@
(setq user-emacs-directory (file-name-directory user-init-file)) (setq user-emacs-directory (file-name-directory user-init-file))
(message "Loading %s..." user-init-file) (message "Loading %s..." user-init-file)
(setq package-enable-at-startup nil) (setq package-enable-at-startup nil)
;; (package-initialize)
(setq inhibit-startup-buffer-menu t) (setq inhibit-startup-buffer-menu t)
(setq inhibit-startup-screen t) (setq inhibit-startup-screen t)
(setq inhibit-startup-echo-area-message "locutus") (setq inhibit-startup-echo-area-message "locutus")
@ -29,6 +30,11 @@
(require 'use-package) (require 'use-package)
(setq use-package-verbose t)) (setq use-package-verbose t))
(use-package subr-x
:config
(put 'if-let 'byte-obsolete-info nil)
(put 'when-let 'byte-obsolete-info nil))
(use-package auto-compile (use-package auto-compile
:demand t :demand t
:config :config
@ -113,20 +119,9 @@
("C-x M-g" . magit-dispatch-popup)) ("C-x M-g" . magit-dispatch-popup))
:config :config
(magit-add-section-hook 'magit-status-sections-hook (magit-add-section-hook 'magit-status-sections-hook
'magit-insert-modules-unpulled-from-upstream 'magit-insert-modules
'magit-insert-unpulled-from-upstream) 'magit-insert-stashes
(magit-add-section-hook 'magit-status-sections-hook 'append))
'magit-insert-modules-unpulled-from-pushremote
'magit-insert-unpulled-from-upstream)
(magit-add-section-hook 'magit-status-sections-hook
'magit-insert-modules-unpushed-to-upstream
'magit-insert-unpulled-from-upstream)
(magit-add-section-hook 'magit-status-sections-hook
'magit-insert-modules-unpushed-to-pushremote
'magit-insert-unpulled-from-upstream)
(magit-add-section-hook 'magit-status-sections-hook
'magit-insert-submodules
'magit-insert-unpulled-from-upstream))
(use-package man (use-package man
:defer t :defer t

@ -1 +1 @@
Subproject commit c9786234bdc32237e6c304e6a7c917504370358d Subproject commit 8d117868a0a091389d528428136e60f951e9c550

@ -1 +1 @@
Subproject commit 35901e83837cefce9f740eb848d196db8c9e272c Subproject commit 362ae8aebc69aab81e04427d221717dd6bc1a81d

@ -1 +1 @@
Subproject commit 73e68bcfbe076e152beed1b8e5f894ca438f9770 Subproject commit 01cb892f6a457fbff857d924cebfdc77f69bd45d

@ -1 +1 @@
Subproject commit b4faa9397e06206b646f684a603e320f962674d1 Subproject commit 528e5a51f1af668e3075f2beccd2b39785ccb2ba

@ -1 +1 @@
Subproject commit 1b37570bf5813e160fa18a766e20dfa690910519 Subproject commit 616dde37524f47246bbb161f20d3f5f090f10fbf

@ -1 +1 @@
Subproject commit f0959ca39cdbcb72049b31cab6e7c449749bfefe Subproject commit c8ab0e5e1fda70113633ac6ee01c0aaecd8a1a99

@ -1 +0,0 @@
Subproject commit 0f7d47c4d50f1c76fc3b43bfc2d4886dd3e8ca27

1
lib/ghub Submodule

@ -0,0 +1 @@
Subproject commit 2962611aad56a0f1586383b3e4ba6a65508a3991

@ -1 +1 @@
Subproject commit f7c8924ca85fa0671c3c4c54d5e1cbe6106f3e8d Subproject commit 24ce90832ddff0db86581c1b7e947e83a13fe83e

1
lib/magit-popup Submodule

@ -0,0 +1 @@
Subproject commit 5a2a6f2907a09c7592c4631d2678dd7ab44fd5a2

@ -1 +1 @@
Subproject commit 536f4a3bda06cc09759fed1aa0cdebb068ff75a1 Subproject commit 94ea12b9d44bfa42c28d0548199f2fcd19e4aa6a

@ -1 +1 @@
Subproject commit 7b055494e39efba8b237202b7c97f40aa19e2579 Subproject commit 05a4033b830bf52c596ceedea10b2cbd91f85fdb

@ -1 +1 @@
Subproject commit 4d3d50b09dee3305a365d7eb005313d42dddd6ea Subproject commit 04d59d68dab58a7cf3034c84d8ba0553b78ae30c