The following commit has been merged in the master branch: commit e06df2bc5049dda8ea69b55b42d072c760dbc5e0 Merge: 7aa5f432630428e00fae705806f4e6e43ed9064c 23b2fd63fe3e972c8a5fe48cd3e21378989a067d Author: Wolodja Wentland <deb...@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 <deb...@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 <babi...@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 <babi...@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 <babi...@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 <da...@debian.org> Wed, 28 Sep 2011 20:17:06 +0900 + +leiningen (1.6.1-1) unstable; urgency=low + + * Initial release. (Closes: #566963) + + -- Wolodja Wentland <babi...@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@lists.alioth.debian.org> +Uploaders: + Daigo Moriwaki <da...@debian.org>, - Phil Hagelberg <technoma...@gmail.com>, - Wolodja Wentland <babi...@gmail.com> ++ Wolodja Wentland <deb...@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 <babi...@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 <babi...@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 <babi...@gmail.com> - Date: Thu, 6 Oct 2011 16:00:56 +0100 ++From: Wolodja Wentland <deb...@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 _______________________________________________ pkg-java-commits mailing list pkg-java-comm...@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits