+## Get this stuff from above
+dirstate = .git/logs/HEAD
+VCSWITNESS = $(if $(wildcard $(srcdir)/$(dirstate)),$$(srcdir)/../$(dirstate))
-all: packages/d28cf8632d2691dc93afbb28500126242d37961c-pabbrev
+all: pabbrev hydra
+../lisp/elpa:
+ mkdir ../lisp/elpa
+
+../test/lisp/elpa:
+ mkdir ../test/lisp/elpa
+
+packages:
+ mkdir packages
+
+# The location of this needs to be configurable in some way
elpa-git:
git clone --mirror https://git.savannah.gnu.org/git/emacs/elpa.git elpa-git
-elpa-update: elpa-git
+elpa-update: $(VCSWITNESS) elpa-git
cd elpa-git;git fetch --all
-.PHONY: elpa-update
-packages:
- mkdir packages
+directories: packages ../lisp/elpa ../test/lisp/elpa
+
+.PHONY: elpa-update directories
+
+packages/d28cf8632d2691dc93afbb28500126242d37961c-pabbrev: elpa-update directories
+ ./bin/extract-package.sh -s d28cf8632d2691dc93afbb28500126242d37961c -p pabbrev -e
-packages/d28cf8632d2691dc93afbb28500126242d37961c-pabbrev: elpa-update packages
- # Remove all version
- rm -rf packages/*pabbrev
- mkdir packages/d28cf8632d2691dc93afbb28500126242d37961c-pabbrev
- cd elpa-git;\
- git archive d28cf8632d2691dc93afbb28500126242d37961c \
- | tar xv -C ../packages/d28cf8632d2691dc93afbb28500126242d37961c-pabbrev
+pabbrev: packages/d28cf8632d2691dc93afbb28500126242d37961c-pabbrev
+ $(MAKE) -C packages/d28cf8632d2691dc93afbb28500126242d37961c-pabbrev/ -f package-makefile.mk deploy
+packages/cba688842ac089ad516155d1b2d6d73826929449-hydra: elpa-update directories
+ ./bin/extract-package.sh -s cba688842ac089ad516155d1b2d6d73826929449 -p hydra
+hydra: packages/cba688842ac089ad516155d1b2d6d73826929449-hydra
+ $(MAKE) -C packages/cba688842ac089ad516155d1b2d6d73826929449-hydra -f package-makefile.mk deploy
clean:
rm -rf packages
--- /dev/null
+#!/bin/bash
+
+function grab_external {
+ rm -rf packages/*$PACKAGE
+ mkdir packages/$SHA-$PACKAGE
+ cd elpa-git
+ git archive $SHA \
+ | tar xv -C ../packages/$SHA-$PACKAGE
+ cd ..
+ cp bin/package-makefile.mk packages/$SHA-$PACKAGE
+}
+
+SHA=
+PACKAGE=
+EXTERNAL=0
+
+while getopts "s:p:e" opt; do
+ case $opt in
+ s)
+ SHA=$OPTARG
+ ;;
+ p)
+ PACKAGE=$OPTARG
+ ;;
+ e)
+ EXTERNAL=1
+ ;;
+ esac
+done
+
+if (($EXTERNAL))
+then
+ grab_external
+ exit 0
+fi
+
+exit 1