Created attachment 213185 [details] ports/java/jflex: 1.4.2 -> 1.8.1 Hello! This port hasn't received any love in a long time (over a decade), and has been marked broken/unfetchable. In fact, JFlex is alive, well, and has had a few version bumps in the intervening years. To build JFlex requires either Maven or Bazel and, looking at a few other ports that use Maven, it looks like it's an exceptional pain to maintain. Given other java/* ports install upstream .jar files, there's precedent for us to do the same, and this patch does that. So, attached: a patch (Git-flavoured; sorry) that brings this port up-to-date, and simplifies the Makefile dramatically. (Disclosure: I work for/with the original author of JFlex, Gerwin Klein.)
Created attachment 213205 [details] ports/java/jflex: 1.4.2 -> 1.8.1 (patch v2) Whooops --- didn't update the plist. Caught by swills@' CI tool.
Thanks for the update, in general it looks good, just I'm wondering regarding use of prebuilt binary, is it common practice with Java ports? Maybe someone from FreeBSD ports staff could answer.
At 2020-04-11 13:57:55 +0000, Edmondas Girkantas wrote: > I'm wondering regarding use of prebuilt binary, is it common practice with Java ports Interesting question! By my rough count, in java/ just under half of the ports (62/126), and in the tree as a whole, around three-fifths of ports with category `java' (348/584), are NO_BUILD or similar. There are ports that are *obviously* NO_BUILD --- documentation bundles, bootstrap JVMs, linuxulator ports, restrictively-licensed, etc.; there are ports that can be opted between building and not. It's not a very clear-cut answer, but it seems fairly evenly split. As building JFlex requires either Maven or Bazel, and the prior art for Maven in the ports tree --- e.g., archivers/snappy-java, biology/cytoscape, devel/hadoop2 --- all look extremely painful to manage, I opted to update the port to install a precompiled JAR instead. (As a more general note, the number of Maven-using ports makes me wonder if it's worth putting together a USES= mechanism for it; and similarly, the number of ports that individually derive optional building.)
A commit references this bug: Author: rene Date: Sun May 24 11:26:27 UTC 2020 New revision: 536386 URL: https://svnweb.freebsd.org/changeset/ports/536386 Log: java/jflex: undeprecate and update to 1.8.1 Further changes: - use a prebuilt jar file to avoid depending on Maven or Bazel - swith MASTER_SITES to GitHub - add BSD3CLAUSE license - rewrap pkg-descr PR: 245447 Submitted by: Jashank Jeremy Approved by: maintainer MFH: 2020Q2 Changes: head/java/jflex/Makefile head/java/jflex/distinfo head/java/jflex/files/jflex.sh.in head/java/jflex/pkg-descr head/java/jflex/pkg-plist
A commit references this bug: Author: rene Date: Sun May 24 11:32:42 UTC 2020 New revision: 536388 URL: https://svnweb.freebsd.org/changeset/ports/536388 Log: MFH: r536386 java/jflex: undeprecate and update to 1.8.1 Further changes: - use a prebuilt jar file to avoid depending on Maven or Bazel - swith MASTER_SITES to GitHub - add BSD3CLAUSE license - rewrap pkg-descr PR: 245447 Submitted by: Jashank Jeremy Approved by: maintainer Approved by: ports-secteam (joneum) Changes: _U branches/2020Q2/ branches/2020Q2/java/jflex/Makefile branches/2020Q2/java/jflex/distinfo branches/2020Q2/java/jflex/files/jflex.sh.in branches/2020Q2/java/jflex/pkg-descr branches/2020Q2/java/jflex/pkg-plist