emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] feature/core-elpa-by-copy a5f5801 04/13: Probably working


From: Phillip Lord
Subject: [Emacs-diffs] feature/core-elpa-by-copy a5f5801 04/13: Probably working but untested version
Date: Sat, 26 Jan 2019 05:29:36 -0500 (EST)

branch: feature/core-elpa-by-copy
commit a5f5801ddb9c120366058c8794a2e8b6a260b7a8
Author: Phillip Lord <address@hidden>
Commit: Phillip Lord <address@hidden>

    Probably working but untested version
---
 Makefile.in                  |  2 +-
 elpa/Makefile.in             |  7 +++++--
 elpa/bin/extract-package.sh  | 19 +++++++++++++++----
 elpa/bin/package-makefile.mk | 39 +++++++++++++++++++++++++++++++++++++--
 notes.org                    | 17 +++++++++++++++++
 5 files changed, 75 insertions(+), 9 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index b6cd04d..5214876 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -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@
diff --git a/elpa/Makefile.in b/elpa/Makefile.in
index 1469737..20339d1 100644
--- a/elpa/Makefile.in
+++ b/elpa/Makefile.in
@@ -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
diff --git a/elpa/bin/extract-package.sh b/elpa/bin/extract-package.sh
index a8440df..7325d95 100755
--- a/elpa/bin/extract-package.sh
+++ b/elpa/bin/extract-package.sh
@@ -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
diff --git a/elpa/bin/package-makefile.mk b/elpa/bin/package-makefile.mk
index 70bff68..d368fc0 100644
--- a/elpa/bin/package-makefile.mk
+++ b/elpa/bin/package-makefile.mk
@@ -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)
diff --git a/notes.org b/notes.org
index 259299d..ebce306 100644
--- 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]