]> git.eshelyaron.com Git - emacs.git/commitdiff
Probably working but untested version
authorPhillip Lord <phillip.lord@russet.org.uk>
Sun, 20 Jan 2019 23:22:58 +0000 (23:22 +0000)
committerPhillip Lord <phillip.lord@russet.org.uk>
Sun, 20 Jan 2019 23:22:58 +0000 (23:22 +0000)
Makefile.in
elpa/Makefile.in
elpa/bin/extract-package.sh
elpa/bin/package-makefile.mk
notes.org

index b6cd04d1f3d951f4744c577aac2aec0aaf2683d1..5214876c71b0dad636a487e7ec7473baabc562ad 100644 (file)
@@ -311,7 +311,7 @@ EMACS = ${EMACS_NAME}${EXEEXT}
 EMACSFULL = `echo emacs-${version} | sed '$(TRANSFORM)'`${EXEEXT}
 
 # Subdirectories to make recursively.
-SUBDIR = $(NTDIR) lib lib-src src lisp
+SUBDIR = $(NTDIR) elpa lib lib-src src lisp
 
 # The subdir makefiles created by config.status.
 SUBDIR_MAKEFILES_IN = @SUBDIR_MAKEFILES_IN@
index 1469737f560cc9b8fa2acef07b129b5fd25723ad..20339d161ada318c5ea99834468715f2a62f16e4 100644 (file)
@@ -29,12 +29,15 @@ packages/d28cf8632d2691dc93afbb28500126242d37961c-pabbrev: elpa-update directori
        ./bin/extract-package.sh -s d28cf8632d2691dc93afbb28500126242d37961c -p pabbrev -e
 
 pabbrev: packages/d28cf8632d2691dc93afbb28500126242d37961c-pabbrev
-       $(MAKE) -C packages/d28cf8632d2691dc93afbb28500126242d37961c-pabbrev/ -f package-makefile.mk deploy
+       $(MAKE) -C packages/d28cf8632d2691dc93afbb28500126242d37961c-pabbrev/pabbrev -f package-makefile.mk deploy PACKAGE=pabbrev
 
 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
+       $(MAKE) -C packages/cba688842ac089ad516155d1b2d6d73826929449-hydra/hydra -f package-makefile.mk deploy PACKAGE=hydra
+
 clean:
        rm -rf packages
+       rm -rf ../lisp/elpa
+       rm -rf ../test/lisp/elpa
index a8440df44cd4419cb8e1aa00675a0de3f76cd07d..7325d95e28d471b6d37b7963c2363e7d5d157410 100755 (executable)
@@ -2,12 +2,23 @@
 
 function grab_external {
     rm -rf packages/*$PACKAGE
-    mkdir packages/$SHA-$PACKAGE
+    mkdir --parents packages/$SHA-$PACKAGE/$PACKAGE
     cd elpa-git
     git archive $SHA \
-        | tar xv -C ../packages/$SHA-$PACKAGE
+        | tar xv -C ../packages/$SHA-$PACKAGE/$PACKAGE
     cd ..
-    cp bin/package-makefile.mk packages/$SHA-$PACKAGE
+    cp --no-clobber bin/package-makefile.mk packages/$SHA-$PACKAGE/$PACKAGE/
+}
+
+
+function grab_subtree {
+    rm -rf packages/*$PACKAGE
+    mkdir --parents packages/$SHA-$PACKAGE/$PACKAGE
+    cd elpa-git
+    git archive $SHA \
+        | tar xv -C ../packages/$SHA-$PACKAGE/$PACKAGE
+    cd ..
+    cp --no-clobber bin/package-makefile.mk packages/$SHA-$PACKAGE/$PACKAGE
 }
 
 SHA=
@@ -34,4 +45,4 @@ then
     exit 0
 fi
 
-exit 1
+grab_subtree
index 70bff684b17226ceaa9e2ce6d50da23384104981..d368fc07aa1569b96c37d9768c583324c9a43e0b 100644 (file)
@@ -1,2 +1,37 @@
-deploy:
-       echo hello `pwd`
+FILE = $(realpath $(lastword $(MAKEFILE_LIST)))
+DIR = $(dir $(FILE))
+DIRS = $(subst /, ,$(DIR))
+PACKAGE=$(lastword $(DIRS))
+
+TEST=$(wildcard *-test.el)
+TEST:=$(wildcard *-tests.el) $(TEST)
+LISP=$(filter-out $(TEST), $(wildcard *.el))
+
+
+LISP_DIR=../../../../lisp/elpa/$(PACKAGE)/
+TEST_DIR=../../../../test/lisp/elpa/$(PACKAGE)/
+
+LISP_TARGETS=$(addprefix $(LISP_DIR),$(LISP))
+TEST_TARGETS=$(addprefix $(TEST_DIR),$(TEST))
+
+deploy: prepare $(LISP_TARGETS) $(TEST_TARGETS)
+       # LISP $(LISP_TARGETS)
+       # TEST $(TEST_TARGETS)
+
+define lisp_template
+  $(LISP_DIR)$(1): $(1)
+       cp $$< $$@
+endef
+
+$(foreach prereq, $(LISP), $(eval $(call lisp_template,$(prereq))))
+
+define test_template
+  $(TEST_DIR)$(1): $(1)
+       cp $$< $$@
+endef
+
+$(foreach prereq, $(TEST), $(eval $(call test_template,$(prereq))))
+
+prepare:
+       -mkdir $(LISP_DIR)
+       -mkdir $(TEST_DIR)
index 259299d48ed8f48e6bbcb615e67457788b69911c..ebce3069bbaa16c0df14f8fb76cb2a5ff55b40d1 100644 (file)
--- a/notes.org
+++ b/notes.org
@@ -1,5 +1,22 @@
 
 
+* Working on
+
+Have package checkout working for external
+Next get it working for non external so we can template
+
+Then how to get the submakes working
+
+
+
+* To Fix
+
+Think we are running git fetch --all on every package. Is there
+something more intelligent we can do here? Lookup VCS Witness
+elsewhere.
+
+* Notes
+
 1) Scripting?
 
 Guess we have to use sh