From 88aa75e922477def84643738f519ce3fbc84dc51 Mon Sep 17 00:00:00 2001 From: Gábor Boskovits Date: Thu, 28 Jun 2018 17:00:32 +0200 Subject: gnu: java-jarjar: Unbundle asm. * gnu/packages/java.scm (java-jarjar)[inputs]: Add java-asm-bootstrap. [source]: Add snippet to delete bundled asm and junit. [arguments]: Add phase 'do-not-use-bundled-asm to patch build.xml to use system asm. --- gnu/packages/java.scm | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 0031079862..64d82439b2 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2629,7 +2629,16 @@ (define-public java-jarjar "code.google.com/jarjar/jarjar-src-" version ".zip")) (sha256 (base32 - "1v8irhni9cndcw1l1wxqgry013s2kpj0qqn57lj2ji28xjq8ndjl")))) + "1v8irhni9cndcw1l1wxqgry013s2kpj0qqn57lj2ji28xjq8ndjl")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete bundled thirds-party jar archives. + ;; TODO: unbundle maven-plugin-api. + (delete-file "lib/asm-4.0.jar") + (delete-file "lib/asm-commons-4.0.jar") + (delete-file "lib/junit-4.8.1.jar") + #t)))) (build-system ant-build-system) (arguments `(;; Tests require junit, which ultimately depends on this package. @@ -2637,6 +2646,26 @@ (define-public java-jarjar #:build-target "jar" #:phases (modify-phases %standard-phases + (add-before 'build 'do-not-use-bundled-asm + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "build.xml" + (("") + (string-append "")) + (("") "") + (("lib/asm-commons-4.0.jar") + (string-append (assoc-ref inputs "java-asm-bootstrap") + "/share/java/asm-6.0.jar")) + (("") + (string-append "" + "" + "" + ""))) + #t)) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((target (string-append (assoc-ref outputs "out") @@ -2644,6 +2673,8 @@ (define-public java-jarjar (install-file (string-append "dist/jarjar-" ,version ".jar") target)) #t))))) + (inputs + `(("java-asm-bootstrap" ,java-asm-bootstrap))) (native-inputs `(("unzip" ,unzip))) (home-page "https://code.google.com/archive/p/jarjar/") -- cgit v1.2.3