summary refs log tree commit diff
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2022-02-08 10:26:22 +0100
committerJulien Lepiller <julien@lepiller.eu>2022-02-28 10:56:08 +0100
commite0a6b259695e61ecfadbe11f0bf09aa5a8fdb42b (patch)
tree1b214abc38405ff833719490f2d8c18c798d17ab
parent38c0830e858a50ef1b7a41166a283758268be856 (diff)
downloadguix-e0a6b259695e61ecfadbe11f0bf09aa5a8fdb42b.tar.gz
gnu: Add maven-slf4j-provider.
* gnu/packages/maven.scm (maven-slf4-provider): New variable.
-rw-r--r--gnu/packages/maven.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index 02eaad410c..63bc6479c9 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -1772,6 +1772,40 @@ artifactId=maven-core" ,(package-version maven-core-bootstrap))))
        ("maven-core-boot" ,maven-core-bootstrap)
        ,@(package-native-inputs maven-core-bootstrap)))))
 
+(define-public maven-slf4j-provider
+  (package
+    (inherit maven-artifact)
+    (name "maven-slf4j-provider")
+    (arguments
+     `(#:jar-name "maven-slf4j-provider.jar"
+       #:source-dir "maven-slf4j-provider/src/main/java"
+       #:tests? #f; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'unpack-slf4j
+           (lambda* (#:key inputs #:allow-other-keys)
+             (mkdir-p "generated-sources")
+             (with-directory-excursion "generated-sources"
+               (invoke "tar" "xf" (assoc-ref inputs "java-slf4j-simple-source"))
+               (for-each delete-file (find-files "." "StaticLoggerBinder.java")))
+             (for-each
+               (lambda (simple)
+                 (for-each
+                   (lambda (java)
+                     (copy-file java
+                                (string-append
+                                  "maven-slf4j-provider/src/main/java/org/slf4j/impl/"
+                                  (basename java))))
+                   (find-files (string-append simple "/src/main/java/") "\\.java$")))
+               (find-files "generated-sources" "slf4j-simple" #:directories? #t))))
+         (replace 'install
+           (install-from-pom "maven-slf4j-provider/pom.xml")))))
+    (inputs
+     `(("java-slf4j-api" ,java-slf4j-api)
+       ("java-slf4j-simple-source" ,(package-source java-slf4j-simple))
+       ("maven-shared-utils" ,maven-shared-utils)))
+    (native-inputs (list unzip))))
+
 (define-public maven-embedder
   (package
     (inherit maven-artifact)