Improve the sbt recipes
more/packages/scala.scm
190 | 190 | (description "") | |
191 | 191 | (license license:asl2.0))) | |
192 | 192 | ||
193 | - | ;; TODO: https://github.com/mdedetrich/scalajson | |
193 | + | (define-public scala-scalajson | |
194 | + | (package | |
195 | + | (name "scala-scalajson") | |
196 | + | (version "1.0.0-M4") | |
197 | + | (source (origin | |
198 | + | (method url-fetch) | |
199 | + | (uri (string-append "https://github.com/mdedetrich/scalajson/archive/v" version ".tar.gz")) | |
200 | + | (file-name (string-append name "-" version ".tar.gz")) | |
201 | + | (sha256 | |
202 | + | (base32 | |
203 | + | "0k4dj2zm7zilhshdnvqi9n17qr4szc5s9ymsm9imgqpr8r5hm2vj")))) | |
204 | + | (build-system ant-build-system) | |
205 | + | (arguments | |
206 | + | `(#:tests? #f | |
207 | + | #:phases | |
208 | + | (modify-phases %standard-phases | |
209 | + | (replace 'build | |
210 | + | (lambda _ | |
211 | + | (mkdir-p "build/classes") | |
212 | + | (apply invoke "scalac" "-classpath" (getenv "CLASSPATH") | |
213 | + | "-d" "build/classes" | |
214 | + | (find-files "shared/src/main/scala" ".*.scala$")) | |
215 | + | (mkdir-p "build/jar") | |
216 | + | (invoke "jar" "-cf" "build/jar/scalajson-shared.jar" | |
217 | + | "-C" "build/classes" ".") | |
218 | + | (delete-file-recursively "build/classes") | |
219 | + | (setenv "CLASSPATH" (string-append (getenv "CLASSPATH") ":build/jar/scalajson-shared.jar")) | |
220 | + | (mkdir-p "build/classes") | |
221 | + | (apply invoke "scalac" "-classpath" (getenv "CLASSPATH") | |
222 | + | "-d" "build/classes" | |
223 | + | (find-files "jvm/src/main/scala" ".*.scala$")) | |
224 | + | (mkdir-p "build/jar") | |
225 | + | (invoke "jar" "-cf" "build/jar/scalajson-jvm.jar" | |
226 | + | "-C" "build/classes" ".") | |
227 | + | #t)) | |
228 | + | (replace 'install | |
229 | + | (install-jars "build"))))) | |
230 | + | (native-inputs | |
231 | + | `(("scala" ,scala-official))) | |
232 | + | (home-page "") | |
233 | + | (synopsis "") | |
234 | + | (description "") | |
235 | + | (license license:bsd-3))) | |
236 | + | ||
237 | + | ;; Latest is 0.13.0, but this version is required for scala-jsonnew | |
238 | + | (define-public scala-jawn | |
239 | + | (package | |
240 | + | (name "scala-jawn") | |
241 | + | (version "0.10.4") | |
242 | + | (source (origin | |
243 | + | (method url-fetch) | |
244 | + | (uri (string-append "https://github.com/non/jawn/archive/v" | |
245 | + | version ".tar.gz")) | |
246 | + | (file-name (string-append name "-" version ".tar.gz")) | |
247 | + | (sha256 | |
248 | + | (base32 | |
249 | + | "1iic1rp7w7vsy0xhi40rcp339vcq5b4b46f51qrkfpv433f7hafi")))) | |
250 | + | (build-system ant-build-system) | |
251 | + | (arguments | |
252 | + | `(#:tests? #f | |
253 | + | #:phases | |
254 | + | (modify-phases %standard-phases | |
255 | + | (replace 'build | |
256 | + | (lambda _ | |
257 | + | (mkdir-p "build/classes") | |
258 | + | (apply invoke "scalac" "-classpath" (getenv "CLASSPATH") | |
259 | + | "-d" "build/classes" | |
260 | + | (find-files "util/src/main/scala" ".*.scala$")) | |
261 | + | (mkdir-p "build/jar") | |
262 | + | (invoke "jar" "-cf" "build/jar/jawn-util.jar" | |
263 | + | "-C" "build/classes" ".") | |
264 | + | (delete-file-recursively "build/classes") | |
265 | + | (setenv "CLASSPATH" (string-append (getenv "CLASSPATH") ":build/jar/scalajson-shared.jar")) | |
266 | + | (mkdir-p "build/classes") | |
267 | + | (apply invoke "scalac" "-classpath" (getenv "CLASSPATH") | |
268 | + | "-d" "build/classes" | |
269 | + | (find-files "parser/src/main/scala" ".*.scala$")) | |
270 | + | (mkdir-p "build/jar") | |
271 | + | (invoke "jar" "-cf" "build/jar/jawn-parser.jar" | |
272 | + | "-C" "build/classes" ".") | |
273 | + | #t)) | |
274 | + | (replace 'install | |
275 | + | (install-jars "build"))))) | |
276 | + | (native-inputs | |
277 | + | `(("scala" ,scala-official))) | |
278 | + | (home-page "") | |
279 | + | (synopsis "") | |
280 | + | (description "") | |
281 | + | (license license:bsd-3))) | |
282 | + | ||
194 | 283 | (define-public scala-sjsonnew-support-scalajson | |
195 | 284 | (package | |
196 | 285 | (inherit scala-sjsonnew) | |
… | |||
201 | 290 | (modify-phases %standard-phases | |
202 | 291 | (replace 'build | |
203 | 292 | (lambda _ | |
293 | + | (substitute* (find-files "." ".*.scala") | |
294 | + | (("shaded.scalajson") "scalajson")) | |
204 | 295 | (mkdir-p "build/classes") | |
205 | 296 | (apply invoke "scalac" "-classpath" (getenv "CLASSPATH") | |
206 | 297 | "-d" "build/classes" | |
… | |||
212 | 303 | (replace 'install | |
213 | 304 | (install-jars "build"))))) | |
214 | 305 | (inputs | |
306 | + | `(("scala-sjsonnew" ,scala-sjsonnew) | |
307 | + | ("scala-scalajson" ,scala-scalajson) | |
308 | + | ("scala-jawn" ,scala-jawn))))) | |
309 | + | ||
310 | + | (define-public scala-sjsonnew-support-murmurhash | |
311 | + | (package | |
312 | + | (inherit scala-sjsonnew) | |
313 | + | (name "scala-sjsonnew-support-murmurhash") | |
314 | + | (arguments | |
315 | + | `(#:tests? #f | |
316 | + | #:phases | |
317 | + | (modify-phases %standard-phases | |
318 | + | (replace 'build | |
319 | + | (lambda _ | |
320 | + | (mkdir-p "build/classes") | |
321 | + | (apply invoke "scalac" "-classpath" (getenv "CLASSPATH") | |
322 | + | "-d" "build/classes" | |
323 | + | (find-files "support/murmurhash/src/main/scala" ".*.scala$")) | |
324 | + | (mkdir-p "build/jar") | |
325 | + | (invoke "jar" "-cf" "build/jar/sjsonnew-support-murmurhash.jar" | |
326 | + | "-C" "build/classes" ".") | |
327 | + | #t)) | |
328 | + | (replace 'install | |
329 | + | (install-jars "build"))))) | |
330 | + | (inputs | |
215 | 331 | `(("scala-sjsonnew" ,scala-sjsonnew))))) | |
216 | 332 | ||
217 | 333 | (define-public scala-kind-projector | |
… | |||
354 | 470 | (arguments | |
355 | 471 | (ensure-keyword-arguments (package-arguments java-log4j-api) | |
356 | 472 | `(#:jdk ,icedtea-8 | |
357 | - | #:source-dir "src/main/java" | |
358 | - | #:phases | |
359 | - | (modify-phases %standard-phases | |
360 | - | (add-after 'unpack 'chdir | |
361 | - | (lambda _ | |
362 | - | (chdir "log4j-api") | |
363 | - | #t)) | |
364 | - | (add-before 'build 'fix-ambiguous | |
365 | - | (lambda _ | |
366 | - | (substitute* "src/main/java/org/apache/logging/log4j/message/MapMessage.java" | |
367 | - | (("append\\(data") "append((CharSequence)data")) | |
368 | - | #t)))))) | |
473 | + | #:source-dir "src/main/java" | |
474 | + | #:phases | |
475 | + | (modify-phases %standard-phases | |
476 | + | (add-after 'unpack 'chdir | |
477 | + | (lambda _ | |
478 | + | (chdir "log4j-api") | |
479 | + | #t)) | |
480 | + | (add-before 'build 'fix-ambiguous | |
481 | + | (lambda _ | |
482 | + | (substitute* "src/main/java/org/apache/logging/log4j/message/MapMessage.java" | |
483 | + | (("append\\(data") "append((CharSequence)data")) | |
484 | + | #t)))))) | |
369 | 485 | (source (origin | |
370 | 486 | (method url-fetch) | |
371 | 487 | (uri (string-append "mirror://apache/logging/log4j/" version | |
… | |||
421 | 537 | (modify-phases %standard-phases | |
422 | 538 | (add-after 'unpack 'enter-dir | |
423 | 539 | (lambda _ (chdir "log4j-core") #t)) | |
424 | - | (add-before 'build 'fix-ambiguous | |
425 | - | (lambda _ | |
426 | - | (substitute* "src/main/java/org/apache/logging/log4j/core/pattern/MapPatternConverter.java" | |
427 | - | (("append\\(sortedMap") "append((CharSequence)sortedMap")) | |
428 | - | #t))))) | |
540 | + | (add-before 'build 'fix-ambiguous | |
541 | + | (lambda _ | |
542 | + | (substitute* "src/main/java/org/apache/logging/log4j/core/pattern/MapPatternConverter.java" | |
543 | + | (("append\\(sortedMap") "append((CharSequence)sortedMap")) | |
544 | + | #t))))) | |
429 | 545 | (synopsis "Core component of the Log4j framework") | |
430 | 546 | (description "This package provides the core component of the Log4j | |
431 | 547 | logging framework for Java."))) | |
… | |||
447 | 563 | (jar-name (string-append name ".jar"))) | |
448 | 564 | (mkdir-p build-directory) | |
449 | 565 | (format #t "Building project ~a...~%" name) | |
566 | + | (substitute* (find-files "." ".*.scala") | |
567 | + | (("sjsonnew.shaded.") "")) | |
450 | 568 | (apply invoke "scalac" "-classpath" | |
451 | 569 | (string-append (getenv "CLASSPATH") ":build/util-interface") | |
452 | 570 | "-d" build-directory "-language:experimental.macros" | |
… | |||
464 | 582 | `(("java-log4j-api" ,java-log4j-api-for-sbt) | |
465 | 583 | ("java-log4j-core" ,java-log4j-core-for-sbt) | |
466 | 584 | ("sbt-util-interface" ,sbt-util-interface) | |
467 | - | ("scala-sjsonnew" ,scala-sjsonnew))) | |
585 | + | ("scala-scalajson" ,scala-scalajson) | |
586 | + | ("scala-sjsonnew" ,scala-sjsonnew) | |
587 | + | ("scala-sjsonnew-support-scalajson" ,scala-sjsonnew-support-scalajson))) | |
588 | + | (native-inputs | |
589 | + | `(("scala-official" ,scala-official))))) | |
590 | + | ||
591 | + | (define-public sbt-util-cache | |
592 | + | (package | |
593 | + | (inherit sbt-util-position) | |
594 | + | (name "sbt-util-cache") | |
595 | + | (arguments | |
596 | + | `(#:tests? #f | |
597 | + | #:phases | |
598 | + | (modify-phases %standard-phases | |
599 | + | (replace 'build | |
600 | + | (lambda* (#:key inputs #:allow-other-keys) | |
601 | + | (define (build-subproject prefix name) | |
602 | + | (let ((build-directory (string-append "build/" name)) | |
603 | + | (jar-name (string-append name ".jar"))) | |
604 | + | (mkdir-p build-directory) | |
605 | + | (substitute* (find-files "." ".*.scala") | |
606 | + | (("sjsonnew.shaded.") "")) | |
607 | + | (format #t "Building project ~a...~%" name) | |
608 | + | (apply invoke "scalac" "-classpath" | |
609 | + | (string-append (getenv "CLASSPATH") ":build/util-interface") | |
610 | + | "-d" build-directory "-language:experimental.macros" | |
611 | + | (append | |
612 | + | (find-files (string-append prefix name "/src/main/contraband-scala") | |
613 | + | ".*.scala$") | |
614 | + | (find-files (string-append prefix name "/src/main/scala") | |
615 | + | ".*.scala$"))) | |
616 | + | (invoke "jar" "cf" jar-name "-C" build-directory "."))) | |
617 | + | (build-subproject "" "util-cache") | |
618 | + | #t)) | |
619 | + | (replace 'install | |
620 | + | (install-jars "."))))) | |
621 | + | (inputs | |
622 | + | `(("sbt-io" ,sbt-io) | |
623 | + | ("scala-jawn" ,scala-jawn) | |
624 | + | ("scala-scalajson" ,scala-scalajson) | |
625 | + | ("scala-sjsonnew" ,scala-sjsonnew) | |
626 | + | ("scala-sjsonnew-support-murmurhash" ,scala-sjsonnew-support-murmurhash) | |
627 | + | ("scala-sjsonnew-support-scalajson" ,scala-sjsonnew-support-scalajson))) | |
468 | 628 | (native-inputs | |
469 | 629 | `(("scala-official" ,scala-official))))) | |
470 | 630 | ||
… | |||
534 | 694 | (description "") | |
535 | 695 | (license license:bsd-3))) | |
536 | 696 | ||
697 | + | ;; https://index.scala-lang.org/eed3si9n/gigahorse/gigahorse-okhttp/0.3.0?target=_2.12 | |
698 | + | (define-public sbt-librarymanagement | |
699 | + | (package | |
700 | + | (name "sbt-librarymanagement") | |
701 | + | (version "1.2.3") | |
702 | + | (source (origin | |
703 | + | (method url-fetch) | |
704 | + | (uri (string-append "https://github.com/sbt/librarymanagement/archive/v" version ".tar.gz")) | |
705 | + | (file-name (string-append name "-" version ".tar.gz")) | |
706 | + | (sha256 | |
707 | + | (base32 | |
708 | + | "0a29xzcw2qzviv073g040m3lcylybh2qj1xcdkcjdcfajad7c27k")))) | |
709 | + | (build-system ant-build-system) | |
710 | + | (arguments | |
711 | + | `(#:tests? #f | |
712 | + | #:phases | |
713 | + | (modify-phases %standard-phases | |
714 | + | (replace 'build | |
715 | + | (lambda* (#:key inputs #:allow-other-keys) | |
716 | + | (mkdir-p "build/classes") | |
717 | + | (apply invoke "scalac" "-classpath" (getenv "CLASSPATH") | |
718 | + | "-d" "build/classes" | |
719 | + | (append | |
720 | + | (find-files "core/src/main/java" ".*.java$") | |
721 | + | (find-files "core/src/main/scala" ".*.scala$") | |
722 | + | (find-files "core/src/main/contraband-scala" ".*.scala$"))) | |
723 | + | (invoke "jar" "cf" "sbt-io.jar" "-C" "build/classes" ".") | |
724 | + | #t)) | |
725 | + | (replace 'install | |
726 | + | (install-jars "."))))) | |
727 | + | (inputs | |
728 | + | `(("sbt-util-cache" ,sbt-util-cache) | |
729 | + | ("sbt-util-interface" ,sbt-util-interface) | |
730 | + | ("sbt-util-logging" ,sbt-util-logging) | |
731 | + | ("sbt-util-position" ,sbt-util-position) | |
732 | + | ("sbt-io" ,sbt-io) | |
733 | + | ("scala-sjsonnew" ,scala-sjsonnew))) | |
734 | + | (native-inputs | |
735 | + | `(("scala" ,scala-official))) | |
736 | + | (home-page "") | |
737 | + | (synopsis "") | |
738 | + | (description "") | |
739 | + | ;; From core/NOTICE | |
740 | + | (license license:bsd-2))) | |
741 | + | ||
537 | 742 | (define-public sbt | |
538 | 743 | (package | |
539 | 744 | (name "sbt") | |
540 | - | (version "1.2.1") | |
745 | + | (version "1.2.7") | |
541 | 746 | (source | |
542 | 747 | (origin | |
543 | 748 | (method url-fetch) | |
… | |||
546 | 751 | (file-name (string-append name "-" version ".tar.gz")) | |
547 | 752 | (sha256 | |
548 | 753 | (base32 | |
549 | - | "15i8fd7zgairaaikscrva8d1klz0w9nh7fc0896x1n8nrs578vmy")))) | |
754 | + | "0i0j6dcgn80bajq05h739h0d7kgcz7zbfk6qsnln8qrcx1wgbf0q")))) | |
550 | 755 | (build-system ant-build-system) | |
551 | 756 | (arguments | |
552 | 757 | `(#:tests? #f | |
… | |||
619 | 824 | `(("scala" ,scala-official) | |
620 | 825 | ("scala-sjsonnew" ,scala-sjsonnew) | |
621 | 826 | ("sbt-io" ,sbt-io) | |
827 | + | ("sbt-util-cache" ,sbt-util-cache) | |
622 | 828 | ("sbt-util-control" ,sbt-util-control) | |
623 | 829 | ("sbt-util-interface" ,sbt-util-interface) | |
624 | 830 | ("sbt-util-logging" ,sbt-util-logging) |