Bug 245447 - java/jflex: Update 1.4.2 -> 1.8.1; unmark broken
Summary: java/jflex: Update 1.4.2 -> 1.8.1; unmark broken
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Rene Ladan
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-08 05:30 UTC by Jashank Jeremy
Modified: 2020-05-24 11:33 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (eg)


Attachments
ports/java/jflex: 1.4.2 -> 1.8.1 (8.35 KB, patch)
2020-04-08 05:30 UTC, Jashank Jeremy
no flags Details | Diff
ports/java/jflex: 1.4.2 -> 1.8.1 (patch v2) (14.71 KB, patch)
2020-04-09 03:31 UTC, Jashank Jeremy
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jashank Jeremy 2020-04-08 05:30:48 UTC
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.)
Comment 1 Jashank Jeremy 2020-04-09 03:31:25 UTC
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.
Comment 2 Edmondas Girkantas 2020-04-11 13:57:55 UTC
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.
Comment 3 Jashank Jeremy 2020-04-17 03:48:19 UTC
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.)
Comment 4 commit-hook freebsd_committer 2020-05-24 11:26:49 UTC
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
Comment 5 commit-hook freebsd_committer 2020-05-24 11:32:51 UTC
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