[SCM] leiningen packaging branch, master, updated. debian/1.6.2-1-3-ge06df2b
Wolodja Wentland
debian at babilen5.org
Fri Feb 17 16:57:55 UTC 2012
The following commit has been merged in the master branch:
commit e06df2bc5049dda8ea69b55b42d072c760dbc5e0
Merge: 7aa5f432630428e00fae705806f4e6e43ed9064c 23b2fd63fe3e972c8a5fe48cd3e21378989a067d
Author: Wolodja Wentland <debian at babilen5.org>
Date: Fri Feb 17 12:37:06 2012 +0000
New upstream version 1.7.0
diff --combined debian/changelog
index 758284a,0000000..26b20da
mode 100644,000000..100644
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,45 -1,0 +1,54 @@@
++leiningen (1.7.0-1) unstable; urgency=low
++
++ * New upstream version
++ * Remove Phil Hagelberg from Uploaders
++ * Update mail address of Wolodja Wentland in Uploaders
++ * (Build-)Depend on rlwrap rather than recommending it
++
++ -- Wolodja Wentland <debian at babilen5.org> Fri, 17 Feb 2012 13:04:47 +0000
++
+leiningen (1.6.2-1) unstable; urgency=low
+
+ * New upstream version
+ * Remove patches that have been accepted upstream
+ - Manpage comment syntax
+ - Add clojure-contrib to CLASSPATH
+ - bin/lein-pkg is now shipped by upstream
+ * Remove superfluous $(CURDIR) from debian/rules
+ * Remove Build-Depends-Indep
+ * Add DM-Upload-Allowed
+ * Adjust doc-base path for DEPLOY.md.gz
+
+ -- Wolodja Wentland <babilen at gmail.com> Sat, 12 Nov 2011 23:41:25 +0000
+
+leiningen (1.6.1.1-2) unstable; urgency=low
+
+ * Add clojure-contrib to CLASSPATH in bin/lein (Closes: #647632)
+ * Depend on clojure-contrib
+ * Remove sun-java6-jre from dependencies
+
+ -- Wolodja Wentland <babilen at gmail.com> Sat, 05 Nov 2011 13:46:01 +0000
+
+leiningen (1.6.1.1-1) unstable; urgency=low
+
+ * New upstream version
+ * Follow java-pkg git packaging guidelines
+ * Use correct lancet version
+
+ -- Wolodja Wentland <babilen at gmail.com> Thu, 06 Oct 2011 15:03:32 +0000
+
+leiningen (1.6.1-2) unstable; urgency=low
+
+ * Added a patch for bin/lein to fix "java.lang.ClassNotFoundException:
+ org/objectweb/asm/commons/Method"
+ (Closes: #642723, #642795)
+ * debian/copyright: fixed the lintian warning
+ syntax-error-in-dep5-copyright.
+
+ -- Daigo Moriwaki <daigo at debian.org> Wed, 28 Sep 2011 20:17:06 +0900
+
+leiningen (1.6.1-1) unstable; urgency=low
+
+ * Initial release. (Closes: #566963)
+
+ -- Wolodja Wentland <babilen at gmail.com> Sat, 23 Jul 2011 12:34:03 +0000
diff --combined debian/control
index 89f1302,0000000..73bcbd0
mode 100644,000000..100644
--- a/debian/control
+++ b/debian/control
@@@ -1,50 -1,0 +1,50 @@@
+Source: leiningen
+Section: java
+Priority: optional
+Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
+Uploaders:
+ Daigo Moriwaki <daigo at debian.org>,
- Phil Hagelberg <technomancy at gmail.com>,
- Wolodja Wentland <babilen at gmail.com>
++ Wolodja Wentland <debian at babilen5.org>
+Build-Depends:
+ debhelper (>> 8),
+ javahelper (>= 0.32),
+ ant,
+ bash-completion,
+ clojure1.2,
+ libbackport-util-concurrent-java,
+ libclassworlds-java,
+ libclucy-clojure,
+ libjaxp1.3-java,
+ liblucene2-java,
+ libmaven2-core-java,
+ libmaven-ant-tasks-java,
+ libplexus-container-default-java,
+ libplexus-interpolation-java,
+ libplexus-utils-java,
+ librobert-hooke-clojure,
+ libtext-markdown-perl | markdown,
+ libwagon-java,
+ openjdk-6-jdk,
++ rlwrap,
+ zip
+Standards-Version: 3.9.2
+Homepage: https://github.com/technomancy/leiningen
+Vcs-Git: git://git.debian.org/pkg-java/leiningen.git
+Vcs-Browser: http://git.debian.org/?p=pkg-java/leiningen.git
+DM-Upload-Allowed: yes
+
+Package: leiningen
+Architecture: all
+Depends:
+ ${java:Depends},
+ ${misc:Depends},
+ openjdk-6-jre | openjdk-7-jre,
- clojure-contrib (>= 1.2.0)
- Recommends:
- ${java:Recommends},
++ clojure-contrib (>= 1.2.0),
+ rlwrap
++Recommends:
++ ${java:Recommends}
+Description: simple build system for Clojure
+ Working on Clojure projects with tools designed for Java can be an
+ exercise in frustration. With Leiningen, you describe your build with
+ Clojure. Leiningen handles fetching dependencies, running tests, packaging
+ your projects and can be easily extended with a number of plugins.
diff --combined debian/patches/0001-Update-lancet.patch
index deef90a,0000000..1df4e82
mode 100644,000000..100644
--- a/debian/patches/0001-Update-lancet.patch
+++ b/debian/patches/0001-Update-lancet.patch
@@@ -1,328 -1,0 +1,327 @@@
+From: Wolodja Wentland <babilen at gmail.com>
+Date: Thu, 6 Oct 2011 15:57:27 +0100
+Subject: Update lancet
+
+---
+ src/lancet.clj | 140 -------------------------------------------
+ src/lancet/core.clj | 164 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 164 insertions(+), 140 deletions(-)
+ delete mode 100755 src/lancet.clj
+ create mode 100644 src/lancet/core.clj
+
+diff --git a/src/lancet.clj b/src/lancet.clj
+deleted file mode 100755
+index 7af9f49..0000000
+--- a/src/lancet.clj
++++ /dev/null
+@@ -1,140 +0,0 @@
+-(ns lancet
+- (:gen-class)
+- (:import (java.beans Introspector)
+- (java.util.concurrent CountDownLatch)
+- (org.apache.tools.ant.types Path)))
+-
+-(println "WARNING: lancet namespace is deprecated; use lancet.core.")
+-
+-(def #^{:doc "Dummy ant project to keep Ant tasks happy"}
+- ant-project
+- (let [proj (org.apache.tools.ant.Project.)
+- logger (org.apache.tools.ant.NoBannerLogger.)]
+- (doto logger
+- (.setMessageOutputLevel org.apache.tools.ant.Project/MSG_INFO)
+- (.setEmacsMode true)
+- (.setOutputPrintStream System/out)
+- (.setErrorPrintStream System/err))
+- (doto proj
+- (.init)
+- (.addBuildListener logger))))
+-
+-(defmulti coerce (fn [dest-class src-inst] [dest-class (class src-inst)]))
+-
+-(defmethod coerce [java.io.File String] [_ str]
+- (java.io.File. str))
+-(defmethod coerce [Boolean/TYPE String] [_ str]
+- (contains? #{"on" "yes" "true"} (.toLowerCase str)))
+-(defmethod coerce :default [dest-cls obj] (cast dest-cls obj))
+-(defmethod coerce [Path String] [_ str]
+- (Path. lancet/ant-project str))
+-
+-(defn env [val]
+- (System/getenv (name val)))
+-
+-(defn- build-sh-args [args]
+- (concat (.split (first args) " +") (rest args)))
+-
+-(defn property-descriptor [inst prop-name]
+- (first
+- (filter #(= prop-name (.getName %))
+- (.getPropertyDescriptors
+- (Introspector/getBeanInfo (class inst))))))
+-
+-(defn get-property-class [write-method]
+- (first (.getParameterTypes write-method)))
+-
+-(defn set-property! [inst prop value]
+- (let [pd (property-descriptor inst prop)]
+- (when-not pd
+- (throw (Exception. (format "No such property %s." prop))))
+- (let [write-method (.getWriteMethod pd)
+- dest-class (get-property-class write-method)]
+- (.invoke write-method inst (into-array [(coerce dest-class value)])))))
+-
+-(defn set-properties! [inst prop-map]
+- (doseq [[k v] prop-map] (set-property! inst (name k) v)))
+-
+-(defn instantiate-task [project name props & filesets]
+- (let [task (.createTask project name)]
+- (when-not task
+- (throw (Exception. (format "No task named %s." name))))
+- (doto task
+- (.init)
+- (.setProject project)
+- (set-properties! props))
+- (doseq [fs filesets]
+- (.addFileset task fs))
+- task))
+-
+-(defn runonce
+- "Create a function that will only run once. All other invocations
+- return the first calculated value. The function *can* have side effects
+- and calls to runonce *can* be composed. Deadlock is possible
+- if you have circular dependencies.
+- Returns a [has-run-predicate, reset-fn, once-fn]"
+- [function]
+- (let [sentinel (Object.)
+- result (atom sentinel)
+- reset-fn (fn [] (reset! result sentinel))
+- has-run-fn (fn [] (not= @result sentinel))]
+- [has-run-fn
+- reset-fn
+- (fn [& args]
+- (locking sentinel
+- (if (= @result sentinel)
+- (reset! result (function))
+- @result)))]))
+-
+-(defmacro has-run? [f]
+- `((:has-run (meta (var ~f)))))
+-
+-(defmacro reset [f]
+- `((:reset-fn (meta (var ~f)))))
+-
+-(def targets (atom #{}))
+-
+-(defmacro deftarget [sym doc & forms]
+- (swap! targets #(conj % sym))
+- (let [has-run (gensym "hr-") reset-fn (gensym "rf-")]
+- `(let [[~has-run ~reset-fn once-fn#] (runonce (fn [] ~@forms))]
+- (def ~(with-meta sym {:doc doc :has-run has-run :reset-fn reset-fn})
+- once-fn#))))
+-
+-(defmacro define-ant-task [clj-name ant-name]
+- `(defn ~clj-name [& props#]
+- (let [task# (apply instantiate-task ant-project ~(name ant-name) props#)]
+- (.execute task#)
+- task#)))
+-
+-(defmacro define-ant-type [clj-name ant-name]
+- `(defn ~clj-name [props#]
+- (let [bean# (new ~ant-name)]
+- (set-properties! bean# props#)
+- (when (property-descriptor bean# "project")
+- (set-property! bean# "project" ant-project))
+- bean#)))
+-
+-(defn task-names [] (map symbol (seq (.. ant-project getTaskDefinitions keySet))))
+-
+-(defn safe-ant-name [n]
+- (if (ns-resolve 'clojure.core n) (symbol (str "ant-" n)) n))
+-
+-(defmacro define-all-ant-tasks []
+- `(do ~@(map (fn [n] `(define-ant-task ~n ~n)) (task-names))))
+-
+-(defmacro define-all-ant-tasks []
+- `(do ~@(map (fn [n] `(define-ant-task ~(safe-ant-name n) ~n)) (task-names))))
+-
+-(define-all-ant-tasks)
+-
+-;; The version of ant that maven-ant-tasks requires doesn't have this class:
+-;; (define-ant-type files org.apache.tools.ant.types.resources.Files)
+-(define-ant-type fileset org.apache.tools.ant.types.FileSet)
+-
+-(defn -main [& targs]
+- (load-file "build.clj")
+- (if targs
+- (doseq [targ (map symbol targs)]
+- (eval (list targ)))
+- (println "Available targets: " @targets)))
+diff --git a/src/lancet/core.clj b/src/lancet/core.clj
+new file mode 100644
+index 0000000..e9167e8
+--- /dev/null
++++ b/src/lancet/core.clj
+@@ -0,0 +1,164 @@
++(ns lancet.core
++ (:gen-class)
++ (:import (java.beans Introspector)
++ (java.util.concurrent CountDownLatch)
++ (org.apache.tools.ant.types Path)
++ (org.apache.tools.ant.taskdefs Manifest$Attribute)
++ (java.util Map)))
++
++(def #^{:doc "Dummy ant project to keep Ant tasks happy"}
++ ant-project
++ (let [proj (org.apache.tools.ant.Project.)
++ logger (org.apache.tools.ant.NoBannerLogger.)]
++ (doto logger
++ (.setMessageOutputLevel org.apache.tools.ant.Project/MSG_INFO)
++ (.setEmacsMode true)
++ (.setOutputPrintStream System/out)
++ (.setErrorPrintStream System/err))
++ (doto proj
++ (.init)
++ (.addBuildListener logger))))
++
++(defmulti coerce (fn [dest-class src-inst] [dest-class (class src-inst)]))
++
++(defmethod coerce [java.io.File String] [_ str]
++ (java.io.File. str))
++(defmethod coerce [Boolean/TYPE String] [_ str]
++ (contains? #{"on" "yes" "true"} (.toLowerCase str)))
++(defmethod coerce :default [dest-cls obj] (cast dest-cls obj))
++(defmethod coerce [Path String] [_ str]
++ (Path. ant-project str))
++
++(defn env [val]
++ (System/getenv (name val)))
++
++(defn- build-sh-args [args]
++ (concat (.split (first args) " +") (rest args)))
++
++(defn property-descriptor [inst prop-name]
++ (first
++ (filter #(= prop-name (.getName %))
++ (.getPropertyDescriptors
++ (Introspector/getBeanInfo (class inst))))))
++
++(defn get-property-class [write-method]
++ (first (.getParameterTypes write-method)))
++
++(defn set-property! [inst prop value]
++ (let [pd (property-descriptor inst prop)]
++ (when-not pd
++ (throw (Exception. (format "No such property %s." prop))))
++ (let [write-method (.getWriteMethod pd)
++ dest-class (get-property-class write-method)]
++ (.invoke write-method inst (into-array [(coerce dest-class value)])))))
++
++(defn set-properties! [inst prop-map]
++ (doseq [[k v] prop-map] (set-property! inst (name k) v)))
++
++(def ant-task-hierarchy
++ (atom (-> (make-hierarchy)
++ (derive ::exec ::has-args))))
++
++(defmulti add-nested
++ "Adds a nested element to ant task.
++Elements are added in a different way for each type.
++Task name keywords are connected into a hierarchy which can
++be used to extensively add other types to this method.
++The default behaviour is to add an element as a fileset."
++ (fn [name task nested] [(keyword "lancet.core" name) (class nested)])
++ :hierarchy ant-task-hierarchy)
++
++(defmethod add-nested [::manifest Map]
++ [_ task props]
++ (doseq [[n v] props] (.addConfiguredAttribute task
++ (Manifest$Attribute. n v))))
++(defmethod add-nested [::has-args String]
++ [_ task arg]
++ (doto (.createArg task) (.setValue arg)))
++
++(defmethod add-nested :default [_ task nested] (.addFileset task nested))
++
++(defn instantiate-task [project name props & nested]
++ (let [task (.createTask project name)]
++ (when-not task
++ (throw (Exception. (format "No task named %s." name))))
++ (doto task
++ (.init)
++ (.setProject project)
++ (set-properties! props))
++ (doseq [n nested]
++ (add-nested name task n)
++ )
++ task))
++
++(defn runonce
++ "Create a function that will only run once. All other invocations
++ return the first calculated value. The function *can* have side effects
++ and calls to runonce *can* be composed. Deadlock is possible
++ if you have circular dependencies.
++ Returns a [has-run-predicate, reset-fn, once-fn]"
++ [function]
++ (let [sentinel (Object.)
++ result (atom sentinel)
++ reset-fn (fn [] (reset! result sentinel))
++ has-run-fn (fn [] (not= @result sentinel))]
++ [has-run-fn
++ reset-fn
++ (fn [& args]
++ (locking sentinel
++ (if (= @result sentinel)
++ (reset! result (function))
++ @result)))]))
++
++(defmacro has-run? [f]
++ `((:has-run (meta (var ~f)))))
++
++(defmacro reset [f]
++ `((:reset-fn (meta (var ~f)))))
++
++(def targets (atom #{}))
++
++(defmacro deftarget [sym doc & forms]
++ (swap! targets #(conj % sym))
++ (let [has-run (gensym "hr-") reset-fn (gensym "rf-")]
++ `(let [[~has-run ~reset-fn once-fn#] (runonce (fn [] ~@forms))]
++ (def ~(with-meta sym {:doc doc :has-run has-run :reset-fn reset-fn})
++ once-fn#))))
++
++(defmacro define-ant-task [clj-name ant-name]
++ `(defn ~clj-name [& props#]
++ (let [task# (apply instantiate-task ant-project ~(name ant-name) props#)]
++ (.execute task#)
++ task#)))
++
++(defmacro define-ant-type [clj-name ant-name]
++ `(defn ~clj-name [props#]
++ (let [bean# (new ~ant-name)]
++ (set-properties! bean# props#)
++ (when (property-descriptor bean# "project")
++ (set-property! bean# "project" ant-project))
++ bean#)))
++
++(defn task-names [] (map symbol (seq (.. ant-project getTaskDefinitions keySet))))
++
++(defn safe-ant-name [n]
++ (if (ns-resolve 'clojure.core n) (symbol (str "ant-" n)) n))
++
++(defmacro define-all-ant-tasks []
++ `(do ~@(map (fn [n] `(define-ant-task ~n ~n)) (task-names))))
++
++(defmacro define-all-ant-tasks []
++ `(do ~@(map (fn [n] `(define-ant-task ~(safe-ant-name n) ~n)) (task-names))))
++
++(define-all-ant-tasks)
++
++;; Newer versions of ant don't have this class:
++;; (define-ant-type files org.apache.tools.ant.types.resources.Files)
++(define-ant-type fileset org.apache.tools.ant.types.FileSet)
++
++(defn -main [& targs]
++ (load-file "build.clj")
++ (if targs
++ (doseq [targ (map symbol targs)]
++ (eval (list targ)))
++ (println "Available targets: " @targets)))
- --
diff --combined debian/patches/0002-Lein-upgrade-message.patch
index 9dbcb2b,0000000..565e440
mode 100644,000000..100644
--- a/debian/patches/0002-Lein-upgrade-message.patch
+++ b/debian/patches/0002-Lein-upgrade-message.patch
@@@ -1,22 -1,0 +1,21 @@@
+From: Wolodja Wentland <babilen at gmail.com>
+Date: Thu, 6 Oct 2011 16:02:21 +0100
+Subject: Lein upgrade message
+
+---
+ src/leiningen/upgrade.clj | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/src/leiningen/upgrade.clj b/src/leiningen/upgrade.clj
+index c2dd189..05d41df 100644
+--- a/src/leiningen/upgrade.clj
++++ b/src/leiningen/upgrade.clj
+@@ -1,5 +1,8 @@
+ (ns leiningen.upgrade
+ "Upgrade Leiningen to the latest stable release.")
+
++(defn upgrade []
++ (println "Upgrades should be done using apt rather than Leiningen itself."))
++
+ ;; This file is only a placeholder. The real upgrade
+ ;; implementation can be found in the 'lein' script.
- --
diff --combined debian/patches/0003-Disable-dependency-download.patch
index 795d771,0000000..fa7fbc7
mode 100644,000000..100644
--- a/debian/patches/0003-Disable-dependency-download.patch
+++ b/debian/patches/0003-Disable-dependency-download.patch
@@@ -1,26 -1,0 +1,26 @@@
- From: Wolodja Wentland <babilen at gmail.com>
- Date: Thu, 6 Oct 2011 16:00:56 +0100
++From: Wolodja Wentland <debian at babilen5.org>
++Date: Fri, 17 Feb 2012 12:39:49 +0000
+Subject: Disable dependency download
+
+---
+ project.clj | 7 -------
+ 1 files changed, 0 insertions(+), 7 deletions(-)
+
+diff --git a/project.clj b/project.clj
- index 7224851..293618d 100644
++index d2f9f95..f9de2e1 100644
+--- a/project.clj
++++ b/project.clj
- @@ -6,12 +6,5 @@
++@@ -6,13 +6,6 @@
+ :description "Automate Clojure projects without setting your hair on fire."
+ :url "https://github.com/technomancy/leiningen"
+ :license {:name "Eclipse Public License"}
+- :dependencies [[org.clojure/clojure "1.2.1"]
+- [org.clojure/clojure-contrib "1.2.0"]
+- [clucy "0.2.2"]
+- [lancet "1.0.1"]
+- [jline "0.9.94" :exclusions [junit]]
+- [robert/hooke "1.1.2"]
+- [org.apache.maven/maven-ant-tasks "2.1.3" :exclusions [ant]]]
++ :test-selectors {:offline (complement :online)}
+ :disable-implicit-clean true
+ :eval-in-leiningen true)
- --
diff --combined debian/patches/series
index a040a31,0000000..6867755
mode 100644,000000..100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@@ -1,3 -1,0 +1,3 @@@
+0001-Update-lancet.patch
- 0002-Disable-dependency-download.patch
- 0003-Lein-upgrade-message.patch
++0002-Lein-upgrade-message.patch
++0003-Disable-dependency-download.patch
diff --combined debian/rules
index a731707,0000000..8602bb5
mode 100755,000000..100755
--- a/debian/rules
+++ b/debian/rules
@@@ -1,50 -1,0 +1,50 @@@
+#!/usr/bin/make -f
+
+#export DH_VERBOSE=1
+
+include /usr/share/javahelper/java-vars.mk
+
+DEB_VERSION := $(shell dpkg-parsechangelog \
+ | grep -e '^Version:' \
+ | sed 's/^Version:[[:blank:]]*//')
+DEB_NOEPOCH_VERSION := $(shell echo $(DEB_VERSION) \
+ | sed 's/-[[:digit:]]*$$//')
+DEB_UPSTREAM_VERSION := $(shell echo $(DEB_NOEPOCH_VERSION) \
+ | sed 's/-[^-]*$$//')
+MDWN_DOCS = $(patsubst %.md,%.html,$(wildcard doc/*.md))
+
+%:
+ dh $@ --with javahelper --with bash_completion
+
+override_jh_build: $(MDWN_DOCS)
+ jar cvf lancet.jar -C src/lancet .
+ mv bin/lein bin/lein-standalone
+ cp bin/lein-pkg bin/lein
+ chmod --reference=bin/lein-standalone bin/lein
+ LEIN_ROOT=y CLASSPATH=lancet.jar bin/lein compile :all, jar
+ zip --delete leiningen-$(DEB_UPSTREAM_VERSION).jar 'clucy/*'
+ mkdir doc/html && mv doc/*.html doc/html
+
+override_jh_clean:
+ jh_clean
+ if [ -f lancet.jar ] ; then \
+ LEIN_ROOT=y CLASSPATH=lancet.jar bin/lein clean; \
+ rm -f lancet.jar; \
+ fi
+ rm -rf doc/html
+ if [ -f bin/lein-standalone ] ; then \
+ mv bin/lein-standalone bin/lein; \
+ fi
+
+override_jh_installlibs:
+ jh_installlibs -i --upstream-version=1.0.1 lancet.jar
+ jh_installlibs -i leiningen-$(DEB_UPSTREAM_VERSION).jar
+
+override_dh_installchangelogs:
- dh_installchangelogs NEWS
++ dh_installchangelogs NEWS.md
+
+%.html:%.md
+ cat debian/header.html > $@
+ sed -i'' -e 's/@TITLE@/$(shell head -n 1 $< | sed 's/^#*\s*//')/g' $@
+ markdown $< >> $@
+ cat debian/footer.html >> $@
--
leiningen packaging
More information about the pkg-java-commits
mailing list