git: fa5e5ade4600 - main - textproc/qrcodegen: Fix run when Java 11+ is default, take maintainership
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 11 Sep 2025 11:03:31 UTC
The branch main has been updated by vvd:
URL: https://cgit.FreeBSD.org/ports/commit/?id=fa5e5ade4600c74f31e91ebc4285ae057a22903b
commit fa5e5ade4600c74f31e91ebc4285ae057a22903b
Author: Kevin Zheng <kevinz5000@gmail.com>
AuthorDate: 2025-09-11 10:53:50 +0000
Commit: Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-09-11 10:53:50 +0000
textproc/qrcodegen: Fix run when Java 11+ is default, take maintainership
Port require Java 8 - doesn't work with 9+:
Sep 09, 2025 4:54:36 PM qrcodegen.Loader handleException
SEVERE: null
java.lang.NoClassDefFoundError: javax/xml/bind/DataBindingException
This is because the javax.xml libraries moved in Java 9.
Improve port:
- Replace PORTVERSION with DISTVERSION.
- Use zip in USES instead of zip:infozip - work fine without archivers/unzip.
- Replace do-extract with EXTRACT_BEFORE_ARGS/EXTRACT_AFTER_ARGS.
- Parametrize qrcodegen with ${PORTNAME}.
- Install all files with one INSTALL_DATA instead of 5 in loop "for".
PR: 289421
Co-authored-by: Vladimir Druzenko <vvd@FreeBSD.org>
MFH: 2025Q3
---
textproc/qrcodegen/Makefile | 43 ++++++++++++++++-------------------
textproc/qrcodegen/files/qrcodegen.in | 1 +
2 files changed, 20 insertions(+), 24 deletions(-)
diff --git a/textproc/qrcodegen/Makefile b/textproc/qrcodegen/Makefile
index 01ee8de5482c..d46f6364a54f 100644
--- a/textproc/qrcodegen/Makefile
+++ b/textproc/qrcodegen/Makefile
@@ -1,42 +1,37 @@
PORTNAME= qrcodegen
-PORTVERSION= 1.14.2
-PORTREVISION= 1
+DISTVERSION= 1.14.2
+PORTREVISION= 2
CATEGORIES= textproc java
MASTER_SITES= http://bsd-geek.de/FreeBSD/distfiles/
-DISTNAME= ${PORTNAME}_${PORTVERSION}
+DISTNAME= ${PORTNAME}_${DISTVERSION}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= kevinz5000@gmail.com
COMMENT= GUI to generate QR codes
WWW= https://sites.google.com/site/qrcodeforwn/home/qr-code-generator-for-wireless-networks
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= java zip:infozip
-
+USES= java zip
+JAVA_VERSION= 8
+
+DESKTOP_ENTRIES= "Portable QR-Code Generator" \
+ "${COMMENT}" \
+ "" \
+ "${PORTNAME}" \
+ "Utility;2DGraphics;Java;" \
+ false
+EXTRACT_BEFORE_ARGS= -jqo
+EXTRACT_AFTER_ARGS= -d ${WRKSRC}
NO_ARCH= yes
NO_BUILD= yes
-SUB_FILES= qrcodegen
+SUB_FILES= ${PORTNAME}
INSTALLFILES= FAQ.txt Installation.txt NOTICE QRCodeGen.jar Version.html
-DESKTOP_ENTRIES="Portable QR-Code Generator" \
- "${COMMENT}" \
- "" \
- "qrcodegen" \
- "Utility;2DGraphics;Java;" \
- false
-
-do-extract:
- @${RM} -r ${WRKDIR}
- @${MKDIR} ${WRKSRC}
- @${UNZIP_CMD} -q -j -d ${WRKSRC} ${DISTDIR}/${EXTRACT_ONLY}
-
do-install:
- @${MKDIR} ${STAGEDIR}${DATADIR}
-.for i in ${INSTALLFILES}
- ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DATADIR}/
-.endfor
- ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${INSTALLFILES:C|^|${WRKSRC}/|} ${STAGEDIR}${DATADIR}
+ ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
.include <bsd.port.mk>
diff --git a/textproc/qrcodegen/files/qrcodegen.in b/textproc/qrcodegen/files/qrcodegen.in
index 05eadc249d9a..4d7042557b37 100644
--- a/textproc/qrcodegen/files/qrcodegen.in
+++ b/textproc/qrcodegen/files/qrcodegen.in
@@ -1,5 +1,6 @@
#!/bin/sh
cd %%DATADIR%%
+export JAVA_VERSION="%%JAVA_VERSION%%"
exec %%LOCALBASE%%/bin/java -jar QRCodeGen.jar "$@"