civodul pushed a commit to tag 1.8
in repository guix.
commit 9648222ef0ad7cd4478d61c3ffd6fe9926a859df
Author: Eelco Dolstra <[email protected]>
Date: Thu Sep 11 15:47:31 2014 +0200
Support specifying a JAR manifest
---
jars.mk | 2 +-
lib.mk | 11 +++++++++++
2 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/jars.mk b/jars.mk
index 186a81d..abe3f9f 100644
--- a/jars.mk
+++ b/jars.mk
@@ -16,7 +16,7 @@ define build-jar
$$(trace-javac) javac $(GLOBAL_JAVACFLAGS) $$($(1)_JAVACFLAGS) -d
$$($(1)_TMPDIR) \
$$(foreach fn, $$($(1)_SOURCES), '$$(fn)') \
-cp "$$(subst $$(space),,$$(foreach
jar,$$($(1)_JARS),$$($$(jar)_PATH):))$$$$CLASSPATH"
- $$(trace-jar) jar cf $$($(1)_PATH) -C $$($(1)_TMPDIR) .
+ $$(trace-jar) jar cfm $$($(1)_PATH) <(echo -e '$$(subst
$$(newline),\n,$$($(1)_MANIFEST))') -C $$($(1)_TMPDIR) .
@rm -rf $$($(1)_TMPDIR)
$(1)_INSTALL_DIR ?= $$(libdir)/java
diff --git a/lib.mk b/lib.mk
index 16a43f4..31308de 100644
--- a/lib.mk
+++ b/lib.mk
@@ -14,11 +14,22 @@ dist-files :=
OS = $(shell uname -s)
+# Use bash (required for process substitution in the JAR function).
+SHELL = bash
+
+
# Hack to define a literal space.
space :=
space +=
+# Hack to define a literal newline.
+define newline
+
+
+endef
+
+
# Default installation paths.
prefix ?= /usr/local
libdir ?= $(prefix)/lib