Index: pkg-clojure/build.xml
===================================================================
--- pkg-clojure.orig/build.xml	2012-05-19 20:06:17.000000000 +0900
+++ pkg-clojure/build.xml	2012-05-19 20:07:47.000000000 +0900
@@ -36,6 +36,7 @@
   <target name="compile-java" depends="init"
           description="Compile Java sources.">
     <javac srcdir="${jsrc}" destdir="${build}" includeJavaRuntime="yes"
+           classpath="/usr/share/java/asm3.jar:/usr/share/java/asm3-commons.jar"
            includeAntRuntime="false"
            debug="true" source="1.5" target="1.5"/>
   </target>
@@ -43,7 +44,7 @@
   <target name="compile-clojure"
           description="Compile Clojure sources.">
     <java classname="clojure.lang.Compile"
-          classpath="${build}:${cljsrc}"
+          classpath="/usr/share/java/asm3.jar:/usr/share/java/asm3-commons.jar:${build}:${cljsrc}"
           failonerror="true"
           fork="true">
       <sysproperty key="clojure.compile.path" value="${build}"/>
@@ -83,7 +84,7 @@
     <javac srcdir="${jtestsrc}" destdir="${test-classes}" includeJavaRuntime="yes"
            debug="true" source="1.5" target="1.5" includeantruntime="no"/>
     <java classname="clojure.lang.Compile"
-          classpath="${test-classes}:${test}:${build}:${cljsrc}"
+          classpath="/usr/share/java/asm3.jar:/usr/share/java/asm3-commons.jar:${test-classes}:${test}:${build}:${cljsrc}"
           failonerror="true"
 	  fork="true">
       <sysproperty key="clojure.compile.path" value="${test-classes}"/>
@@ -100,6 +101,8 @@
           unless="maven.test.skip">
     <java classname="clojure.main" failonerror="true" fork="true">
       <classpath>
+        <path location="/usr/share/java/asm3.jar"/>
+        <path location="/usr/share/java/asm3-commons.jar"/>
         <path location="${test-classes}"/>
         <path location="${test}"/>
         <path location="${build}"/>
@@ -121,7 +124,7 @@
       </fileset>
       <manifest>
         <attribute name="Main-Class" value="clojure.main"/>
-        <attribute name="Class-Path" value="."/>
+        <attribute name="Class-Path" value="/usr/share/java/asm3.jar /usr/share/java/asm3-commons.jar"/>
       </manifest>
     </jar>
     <copy file="${clojure_jar}" tofile="${clojure_noversion_jar}"/>
Index: pkg-clojure/src/clj/clojure/core.clj
===================================================================
--- pkg-clojure.orig/src/clj/clojure/core.clj	2012-05-19 20:06:17.000000000 +0900
+++ pkg-clojure/src/clj/clojure/core.clj	2012-05-19 20:07:47.000000000 +0900
@@ -4786,10 +4786,10 @@
                    (.getAnnotation c java.lang.annotation.Retention)] 
           (= (.value r) java.lang.annotation.RetentionPolicy/RUNTIME)))))
 
-(defn- descriptor [^Class c] (clojure.asm.Type/getDescriptor c))
+(defn- descriptor [^Class c] (org.objectweb.asm.Type/getDescriptor c))
 
 (declare process-annotation)
-(defn- add-annotation [^clojure.asm.AnnotationVisitor av name v]
+(defn- add-annotation [^org.objectweb.asm.AnnotationVisitor av name v]
   (cond
    (vector? v) (let [avec (.visitArray av name)]
                  (doseq [vval v]
@@ -4799,7 +4799,7 @@
                  (cond 
                   (instance? java.lang.Enum ev)
                   (.visitEnum av name (descriptor (class ev)) (str ev))
-                  (class? ev) (.visit av name (clojure.asm.Type/getType ev))
+                  (class? ev) (.visit av name (org.objectweb.asm.Type/getType ev))
                   :else (throw (IllegalArgumentException. 
                                 (str "Unsupported annotation value: " v " of class " (class ev))))))
    (seq? v) (let [[nested nv] v
Index: pkg-clojure/src/clj/clojure/core_proxy.clj
===================================================================
--- pkg-clojure.orig/src/clj/clojure/core_proxy.clj	2012-05-19 20:06:17.000000000 +0900
+++ pkg-clojure/src/clj/clojure/core_proxy.clj	2012-05-19 20:07:47.000000000 +0900
@@ -11,9 +11,9 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; proxy ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (import
- '(clojure.asm ClassWriter ClassVisitor Opcodes Type) 
+ '(org.objectweb.asm ClassWriter ClassVisitor Opcodes Type) 
  '(java.lang.reflect Modifier Constructor)
- '(clojure.asm.commons Method GeneratorAdapter)
+ '(org.objectweb.asm.commons Method GeneratorAdapter)
  '(clojure.lang IProxy Reflector DynamicClassLoader IPersistentMap PersistentHashMap RT))
 
 (defn method-sig [^java.lang.reflect.Method meth]
Index: pkg-clojure/src/clj/clojure/genclass.clj
===================================================================
--- pkg-clojure.orig/src/clj/clojure/genclass.clj	2012-05-19 20:06:17.000000000 +0900
+++ pkg-clojure/src/clj/clojure/genclass.clj	2012-05-19 20:07:47.000000000 +0900
@@ -9,8 +9,8 @@
 (in-ns 'clojure.core)
 
 (import '(java.lang.reflect Modifier Constructor)
-        '(clojure.asm ClassWriter ClassVisitor Opcodes Type)
-        '(clojure.asm.commons Method GeneratorAdapter)
+        '(org.objectweb.asm ClassWriter ClassVisitor Opcodes Type)
+        '(org.objectweb.asm.commons Method GeneratorAdapter)
         '(clojure.lang IPersistentMap))
 
 ;(defn method-sig [^java.lang.reflect.Method meth]
Index: pkg-clojure/src/jvm/clojure/lang/Compiler.java
===================================================================
--- pkg-clojure.orig/src/jvm/clojure/lang/Compiler.java	2012-05-19 20:06:17.000000000 +0900
+++ pkg-clojure/src/jvm/clojure/lang/Compiler.java	2012-05-19 20:07:47.000000000 +0900
@@ -12,12 +12,14 @@
 
 package clojure.lang;
 
-//*
+/*
 
 import clojure.asm.*;
 import clojure.asm.commons.GeneratorAdapter;
 import clojure.asm.commons.Method;
 
+*/
+
 import java.io.*;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Modifier;
@@ -25,14 +27,15 @@
 import java.util.regex.Pattern;
 
 //*/
-/*
+///*
 
 import org.objectweb.asm.*;
 import org.objectweb.asm.commons.Method;
 import org.objectweb.asm.commons.GeneratorAdapter;
+/*
 import org.objectweb.asm.util.TraceClassVisitor;
 import org.objectweb.asm.util.CheckClassAdapter;
-//*/
+*/
 
 public class Compiler implements Opcodes{
 
Index: pkg-clojure/src/jvm/clojure/lang/Intrinsics.java
===================================================================
--- pkg-clojure.orig/src/jvm/clojure/lang/Intrinsics.java	2012-05-19 20:06:17.000000000 +0900
+++ pkg-clojure/src/jvm/clojure/lang/Intrinsics.java	2012-05-19 20:07:47.000000000 +0900
@@ -12,7 +12,7 @@
 
 package clojure.lang;
 
-import clojure.asm.Opcodes;
+import org.objectweb.asm.Opcodes;
 
 public class Intrinsics implements Opcodes{
 private static Object[] oa(Object... arr){
Index: pkg-clojure/src/clj/clojure/reflect/java.clj
===================================================================
--- pkg-clojure.orig/src/clj/clojure/reflect/java.clj	2012-05-19 20:06:17.000000000 +0900
+++ pkg-clojure/src/clj/clojure/reflect/java.clj	2012-05-19 20:07:47.000000000 +0900
@@ -11,7 +11,7 @@
 
 (require '[clojure.set :as set]
          '[clojure.string :as str])
-(import '[clojure.asm ClassReader ClassVisitor Type]
+(import '[org.objectweb.asm ClassReader ClassVisitor Type]
          '[java.lang.reflect Modifier]
          java.io.InputStream)
 
Index: pkg-clojure/test/clojure/test_clojure/reflect.clj
===================================================================
--- pkg-clojure.orig/test/clojure/test_clojure/reflect.clj	2012-05-19 20:06:17.000000000 +0900
+++ pkg-clojure/test/clojure/test_clojure/reflect.clj	2012-05-19 20:07:47.000000000 +0900
@@ -24,7 +24,7 @@
 
 (deftest field-descriptor->class-symbol-test
   (are [s d] (= s (@#'reflect/field-descriptor->class-symbol d))
-       'clojure.asm.Type<><> "[[Lclojure/asm/Type;"
+       'org.objectweb.asm.Type<><> "[[Lorg.objectweb/asm/Type;"
        'int "I"
        'java.lang.Object "Ljava.lang.Object;"))
 
Index: pkg-clojure/pom.xml
===================================================================
--- pkg-clojure.orig/pom.xml	2012-05-19 20:07:42.000000000 +0900
+++ pkg-clojure/pom.xml	2012-05-19 20:08:09.000000000 +0900
@@ -209,4 +209,16 @@
       </build>
     </profile>
   </profiles>
+  <dependencies>
+    <dependency>
+      <groupId>asm</groupId>
+      <artifactId>asm</artifactId>
+      <version>3.x</version>
+    </dependency>
+    <dependency>
+      <groupId>asm</groupId>
+      <artifactId>asm-commons</artifactId>
+      <version>3.x</version>
+    </dependency>
+  </dependencies>
 </project>
