git: e588390193ca - main - biology/cytoscape: Unbreak by re-adding and using maven-3.6.3

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 24 Nov 2022 21:05:46 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e588390193cab002aadaeb95ed1f89dc6966bf18

commit e588390193cab002aadaeb95ed1f89dc6966bf18
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-11-24 21:03:41 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-11-24 21:03:41 +0000

    biology/cytoscape: Unbreak by re-adding and using maven-3.6.3
    
    Cytoscape was broken by the maven update.
---
 biology/cytoscape/Makefile     |  2 --
 devel/Makefile                 |  1 +
 devel/maven363/Makefile        | 46 +++++++++++++++++++++++++
 devel/maven363/distinfo        |  3 ++
 devel/maven363/files/mvn.sh.in | 46 +++++++++++++++++++++++++
 devel/maven363/pkg-descr       |  3 ++
 devel/maven363/pkg-plist       | 78 ++++++++++++++++++++++++++++++++++++++++++
 7 files changed, 177 insertions(+), 2 deletions(-)

diff --git a/biology/cytoscape/Makefile b/biology/cytoscape/Makefile
index 1145e1357908..e8fe843eef30 100644
--- a/biology/cytoscape/Makefile
+++ b/biology/cytoscape/Makefile
@@ -12,8 +12,6 @@ WWW=		https://www.cytoscape.org
 LICENSE=	LGPL21
 LICENSE_FILE=	${WRKSRC}/api/LICENSE
 
-BROKEN=		fails to build: Cytoscape Third-Party Dependencies (third-party): FAILURE
-
 BUILD_DEPENDS=	mvn:devel/maven \
 		bash:shells/bash
 RUN_DEPENDS=	bash:shells/bash
diff --git a/devel/Makefile b/devel/Makefile
index acdafe337a36..7342758933f1 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1518,6 +1518,7 @@
     SUBDIR += mate-common
     SUBDIR += maven
     SUBDIR += maven-wrapper
+    SUBDIR += maven363
     SUBDIR += mcpp
     SUBDIR += mdb
     SUBDIR += mdds
diff --git a/devel/maven363/Makefile b/devel/maven363/Makefile
new file mode 100644
index 000000000000..ce406fbd2a90
--- /dev/null
+++ b/devel/maven363/Makefile
@@ -0,0 +1,46 @@
+PORTNAME=	maven
+DISTVERSION=	3.6.3
+CATEGORIES=	devel java
+MASTER_SITES=	APACHE/maven/maven-3/${DISTVERSION}/binaries
+DISTNAME=	apache-maven-${DISTVERSION}-bin
+PKGNAMESUFFIX=	363
+
+MAINTAINER=	michaelo@apache.org
+COMMENT=	Java project management tool
+WWW=		https://maven.apache.org/
+
+LICENSE=	APACHE20
+
+RUN_DEPENDS=	mvn:devel/maven-wrapper
+
+USES=		cpe
+USE_JAVA=	yes
+
+CPE_PRODUCT=	maven
+CPE_VENDOR=	apache
+NO_BUILD=	yes
+NO_ARCH=	yes
+DATADIR=	${JAVASHAREDIR}/${PORTNAME}
+WRKSRC=		${WRKDIR}/apache-maven-${DISTVERSION}
+SUB_FILES=	mvn.sh
+SUB_LIST=	CLASSWORLDS_JAR=plexus-classworlds-2.6.0.jar
+PLIST_SUB=	PORTVERSION=${PORTVERSION}
+INSTANCE_FILE=	${PORTNAME}-${PORTVERSION}
+INSTANCES_DIR=	etc/maven-wrapper/instances.d/
+
+post-extract:
+	${RM} -r ${WRKSRC}/lib/jansi-native ${WRKSRC}/bin/*.bat
+	${ECHO_CMD} "${DATADIR}" > ${WRKSRC}/${INSTANCE_FILE}
+
+do-install:
+	cd ${WRKSRC} && ${FIND} . -type d -exec ${MKDIR} \
+		${STAGEDIR}${DATADIR}/{} \;
+	cd ${WRKSRC} && ${FIND} . -type f -not -path "\./bin/" \
+		-exec ${INSTALL_DATA} {} ${STAGEDIR}${DATADIR}/{} \;
+	${INSTALL_DATA} ${WRKSRC}/bin/m2.conf ${STAGEDIR}${DATADIR}/bin
+	${INSTALL_SCRIPT} ${WRKDIR}/mvn.sh ${STAGEDIR}${DATADIR}/bin/mvn
+	@${MKDIR} ${STAGEDIR}${PREFIX}/${INSTANCES_DIR}
+	${INSTALL_DATA} ${WRKSRC}/${INSTANCE_FILE} \
+		${STAGEDIR}${PREFIX}/${INSTANCES_DIR}
+
+.include <bsd.port.mk>
diff --git a/devel/maven363/distinfo b/devel/maven363/distinfo
new file mode 100644
index 000000000000..4912d96568fe
--- /dev/null
+++ b/devel/maven363/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1575665365
+SHA256 (apache-maven-3.6.3-bin.tar.gz) = 26ad91d751b3a9a53087aefa743f4e16a17741d3915b219cf74112bf87a438c5
+SIZE (apache-maven-3.6.3-bin.tar.gz) = 9506321
diff --git a/devel/maven363/files/mvn.sh.in b/devel/maven363/files/mvn.sh.in
new file mode 100644
index 000000000000..cb8111acfea2
--- /dev/null
+++ b/devel/maven363/files/mvn.sh.in
@@ -0,0 +1,46 @@
+#!/bin/sh
+#
+
+if [ -f /etc/mavenrc ] ; then
+	. /etc/mavenrc
+fi
+
+if [ -f "${HOME}/.mavenrc" ] ; then
+	. "${HOME}/.mavenrc"
+fi
+
+M2_HOME=${M2_HOME:-"%%DATADIR%%"}
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir()
+{
+  local basedir=$(pwd)
+  local wdir=$(pwd)
+  while [ "$wdir" != '/' ] ; do
+    wdir=$(cd "$wdir/.."; pwd)
+    if [ -d "$wdir"/.mvn ] ; then
+      basedir=$wdir
+      break
+    fi
+  done
+  echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines()
+{
+  if [ -f "$1" ]; then
+    echo "$(tr -s '\n' ' ' < "$1")"
+  fi
+}
+
+MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)}
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+exec "%%LOCALBASE%%/bin/java" $MAVEN_OPTS \
+	-classpath "${M2_HOME}/boot/%%CLASSWORLDS_JAR%%" \
+	"-Dclassworlds.conf=${M2_HOME}/bin/m2.conf" \
+	"-Dmaven.home=${M2_HOME}" \
+	"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+	org.codehaus.classworlds.Launcher "$@"
diff --git a/devel/maven363/pkg-descr b/devel/maven363/pkg-descr
new file mode 100644
index 000000000000..996ec6af025f
--- /dev/null
+++ b/devel/maven363/pkg-descr
@@ -0,0 +1,3 @@
+Apache Maven is a software project management and comprehension tool. Based on
+the concept of a project object model (POM), Maven can manage a project's
+build, reporting and documentation from a central piece of information.
diff --git a/devel/maven363/pkg-plist b/devel/maven363/pkg-plist
new file mode 100644
index 000000000000..4f40a59ef93a
--- /dev/null
+++ b/devel/maven363/pkg-plist
@@ -0,0 +1,78 @@
+%%ETCDIR%%-wrapper/instances.d/maven-%%PORTVERSION%%
+%%DATADIR%%/LICENSE
+%%DATADIR%%/NOTICE
+%%DATADIR%%/README.txt
+%%DATADIR%%/bin/m2.conf
+%%DATADIR%%/bin/mvn
+%%DATADIR%%/bin/mvn.cmd
+%%DATADIR%%/bin/mvnDebug
+%%DATADIR%%/bin/mvnDebug.cmd
+%%DATADIR%%/bin/mvnyjp
+%%DATADIR%%/boot/plexus-classworlds-2.6.0.jar
+%%DATADIR%%/boot/plexus-classworlds.license
+%%DATADIR%%/conf/logging/simplelogger.properties
+%%DATADIR%%/conf/settings.xml
+%%DATADIR%%/conf/toolchains.xml
+%%DATADIR%%/lib/cdi-api-1.0.jar
+%%DATADIR%%/lib/cdi-api.license
+%%DATADIR%%/lib/commons-cli-1.4.jar
+%%DATADIR%%/lib/commons-cli.license
+%%DATADIR%%/lib/commons-io-2.5.jar
+%%DATADIR%%/lib/commons-io.license
+%%DATADIR%%/lib/commons-lang3-3.8.1.jar
+%%DATADIR%%/lib/commons-lang3.license
+%%DATADIR%%/lib/ext/README.txt
+%%DATADIR%%/lib/guava-25.1-android.jar
+%%DATADIR%%/lib/guava.license
+%%DATADIR%%/lib/guice-4.2.1-no_aop.jar
+%%DATADIR%%/lib/guice.license
+%%DATADIR%%/lib/jansi-1.17.1.jar
+%%DATADIR%%/lib/jansi.license
+%%DATADIR%%/lib/javax.inject-1.jar
+%%DATADIR%%/lib/javax.inject.license
+%%DATADIR%%/lib/jcl-over-slf4j-1.7.29.jar
+%%DATADIR%%/lib/jcl-over-slf4j.license
+%%DATADIR%%/lib/jsoup-1.12.1.jar
+%%DATADIR%%/lib/jsoup.license
+%%DATADIR%%/lib/jsr250-api-1.0.jar
+%%DATADIR%%/lib/jsr250-api.license
+%%DATADIR%%/lib/maven-artifact-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/maven-builder-support-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/maven-compat-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/maven-core-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/maven-embedder-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/maven-model-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/maven-model-builder-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/maven-plugin-api-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/maven-repository-metadata-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/maven-resolver-api-1.4.1.jar
+%%DATADIR%%/lib/maven-resolver-connector-basic-1.4.1.jar
+%%DATADIR%%/lib/maven-resolver-impl-1.4.1.jar
+%%DATADIR%%/lib/maven-resolver-provider-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/maven-resolver-spi-1.4.1.jar
+%%DATADIR%%/lib/maven-resolver-transport-wagon-1.4.1.jar
+%%DATADIR%%/lib/maven-resolver-util-1.4.1.jar
+%%DATADIR%%/lib/maven-settings-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/maven-settings-builder-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/maven-shared-utils-3.2.1.jar
+%%DATADIR%%/lib/maven-slf4j-provider-%%PORTVERSION%%.jar
+%%DATADIR%%/lib/org.eclipse.sisu.inject-0.3.4.jar
+%%DATADIR%%/lib/org.eclipse.sisu.inject.license
+%%DATADIR%%/lib/org.eclipse.sisu.plexus-0.3.4.jar
+%%DATADIR%%/lib/org.eclipse.sisu.plexus.license
+%%DATADIR%%/lib/plexus-cipher-1.7.jar
+%%DATADIR%%/lib/plexus-cipher.license
+%%DATADIR%%/lib/plexus-component-annotations-2.1.0.jar
+%%DATADIR%%/lib/plexus-component-annotations.license
+%%DATADIR%%/lib/plexus-interpolation-1.25.jar
+%%DATADIR%%/lib/plexus-interpolation.license
+%%DATADIR%%/lib/plexus-sec-dispatcher-1.4.jar
+%%DATADIR%%/lib/plexus-sec-dispatcher.license
+%%DATADIR%%/lib/plexus-utils-3.2.1.jar
+%%DATADIR%%/lib/plexus-utils.license
+%%DATADIR%%/lib/slf4j-api-1.7.29.jar
+%%DATADIR%%/lib/slf4j-api.license
+%%DATADIR%%/lib/wagon-file-3.3.4.jar
+%%DATADIR%%/lib/wagon-http-3.3.4-shaded.jar
+%%DATADIR%%/lib/wagon-provider-api-3.3.4.jar
+%%DATADIR%%/maven-%%PORTVERSION%%