Package: guix-patches;
Reported by: Danny Milosavljevic <dannym <at> scratchpost.org>
Date: Fri, 5 Oct 2018 15:20:02 UTC
Severity: normal
Tags: patch
View this message in rfc822 format
From: Julien Lepiller <julien <at> lepiller.eu> To: 32947 <at> debbugs.gnu.org Subject: [bug#32947] [PATCH 1/3] gnu: Add java-cup. Date: Fri, 05 Oct 2018 18:13:34 +0200
>> I have a recipe for java-jflex and java-cup that are built without >> pre-generated source, using two bootstrap jars. Then, I could use them >> to build other packages that I need for the future maven-build-system. >> I >> wasn't able to build java-jflex with the latest java-cup. >> Do you want me to send these recipes for comparison? > > Yes, please. > > If we could get maven to work that would be cool. I've packaged batik > and > it's not fun to emulate maven manually... > > If we can't get maven to work, a recursive guix importer that reads the > pom.xml would be a great improvement instead. > > I can help with both. There are my recipes: (define %java-cup-bootstrap (package (name "java-cup") (version "11b-20160615") (source (origin (method url-fetch) (uri (string-append "http://www2.cs.tum.edu/projects/cup/" "releases/java-cup-bin-" version ".tar.gz")) (sha256 (base32 "1k6ycm5bpg7r2z2jprdp54s8bvaxggdxk4qmvkjw3013i1bxc09z")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) #:builder (begin (use-modules (guix build utils)) (let* ((source (assoc-ref %build-inputs "source")) (tar (string-append (assoc-ref %build-inputs "tar") "/bin/tar")) (gzip (assoc-ref %build-inputs "gzip")) (output (assoc-ref %outputs "out")) (java-dir (string-append output "/share/java"))) (mkdir-p java-dir) (chdir java-dir) (setenv "PATH" (string-append (getenv "PATH") ":" gzip "/bin")) (invoke tar "xf" source))))) (native-inputs `(("tar" ,tar) ("gzip" ,gzip))) (home-page "http://www2.cs.tum.edu/projects/cup/") (synopsis "") (description "") (license license:expat))) (define-public java-jflex (package (name "java-jflex") (version "1.6.1") (source (origin (method url-fetch) (uri (string-append "http://www.jflex.de/release/jflex-" version ".tar.gz")) (sha256 (base32 "1h7q2vhb4s42g4pqz5xxxliagprray7i9krr6hyaz1mjlx7gnycq")) (modules '((guix build utils))) (snippet `(begin ;; The first entry is a symlink to jflex-version (delete-file "../jflex") ;; Delete bundled jar archives. (for-each delete-file (find-files "." ".*\\.jar")) ;; Guix wants to repack jflex as that was the first entry in the archive (chdir "..") (rename-file "jflex-1.6.1" "jflex") (chdir "jflex") #t)))) (build-system ant-build-system) (arguments `(#:jdk ,icedtea-8 #:test-target "test" #:phases (modify-phases %standard-phases (replace 'install (install-jars "."))))) (native-inputs `(("%java-jflex-bootstrap" ,%java-jflex-bootstrap) ("java-junit" ,java-junit))) (home-page "https://jflex.de") (synopsis "") (description "") (license license:bsd-3))) (define-public java-cup (package (name "java-cup") (version "11b") (source (origin (method git-fetch) (uri (git-reference (url "https://versioncontrolseidl.in.tum.de/parsergenerators/cup.git") (commit "fe729fe8c27441f046dab19135a38b9dde4c4e5e"))) (sha256 (base32 "09xigxm7b44hz79xhqpfykvjrk4q90p33j2l07w69izx9sn0y42b")) (modules '((guix build utils))) (snippet '(begin ;; Delete bundled jar archives. (for-each delete-file (find-files "." ".*\\.jar")) (for-each delete-file (find-files "." ".*\\.tar.gz")) #t)))) (build-system ant-build-system) (arguments `(#:jdk ,icedtea-8 #:build-target "dist" #:tests? #f; no test target #:phases (modify-phases %standard-phases (add-before 'build 'fix-jflex (lambda _ (substitute* "build.xml" (("JFlex.ant") "jflex.ant")) #t)) (add-before 'build 'add-lib (lambda _ (mkdir-p "lib"))) (replace 'install (install-jars "."))))) (native-inputs `(("%java-jflex-bootstrap" ,%java-jflex-bootstrap) ("git" ,git))) (home-page "http://www2.cs.tum.edu/projects/cup") (synopsis "") (description "") (license license:expat))); http://www2.cs.tum.edu/projects/cup/licence.html
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.