git: 21c5f19e81db - main - textproc/quarto: Fix HTML support

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sat, 07 Sep 2024 23:47:22 UTC
The branch main has been updated by yuri:

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

commit 21c5f19e81db4a4acd5f97a6ef5d2cfc05d1fce2
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-09-07 16:42:12 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-09-07 16:44:45 +0000

    textproc/quarto: Fix HTML support
    
    Thanks to Rainer Hurling <rhurlin@gwdg.de> for his suggestion
    to use the sass executable provided by textproc/rubygem-dartsass.
---
 textproc/quarto/Makefile    | 11 ++++++++---
 textproc/quarto/pkg-message | 10 ++++++++++
 textproc/quarto/pkg-plist   |  1 +
 3 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/textproc/quarto/Makefile b/textproc/quarto/Makefile
index 7df09816de7c..e3e7d7d46c27 100644
--- a/textproc/quarto/Makefile
+++ b/textproc/quarto/Makefile
@@ -1,6 +1,6 @@
-PORTNAME=	quarto # html output is broken due to a missing dependency
+PORTNAME=	quarto
 DISTVERSION=	1.6.9
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	textproc
 MASTER_SITES=	https://github.com/quarto-dev/quarto-cli/releases/download/v${DISTVERSION}/
 DISTFILES=	quarto-${DISTVERSION}-linux-amd64.tar.gz # same for all architectures
@@ -19,6 +19,7 @@ RUN_DEPENDS=	bash:shells/bash \
 		typst:textproc/typst \
 		deno-dom>0:www/deno-dom \
 		tex-xetex>0:print/tex-xetex \
+		${LOCALBASE}/lib/ruby/gems/3.2/gems/dartsass-1.49.8/exe/linux/sass:textproc/rubygem-dartsass \
 		${PYTHON_PKGNAMEPREFIX}jupyter>0:devel/py-jupyter@${PY_FLAVOR}
 
 USES=		python
@@ -67,7 +68,11 @@ do-install:
 		${STAGEDIR}${DATADIR}/bin/quarto
 	# make quarto an executable
 	${CHMOD} +x ${STAGEDIR}${DATADIR}/bin/quarto
-	# remove Linux binaries for dart-sass since FreeBSD binaries aren't available
+	# replace Linux binary for dart-sass with the binary provided by the rubygem-dartsass package
 	${RM} -r ${STAGEDIR}${DATADIR}/bin/tools/${XARCH}/dart-sass
+	${MKDIR} ${STAGEDIR}${DATADIR}/bin/tools/${XARCH}/dart-sass
+	${LN} -s \
+		${LOCALBASE}/lib/ruby/gems/3.2/gems/dartsass-1.49.8/exe/linux/sass \
+		${STAGEDIR}${DATADIR}/bin/tools/${XARCH}/dart-sass/sass
 
 .include <bsd.port.mk>
diff --git a/textproc/quarto/pkg-message b/textproc/quarto/pkg-message
new file mode 100644
index 000000000000..f66579151dd7
--- /dev/null
+++ b/textproc/quarto/pkg-message
@@ -0,0 +1,10 @@
+[
+{ type: install
+  message: <<EOM
+You installed Quarto: the scientific and technical publishing system.
+
+Please note that you need to have the Linux compatibility enabled
+on your system in order for html rendering to work.
+EOM
+}
+]
diff --git a/textproc/quarto/pkg-plist b/textproc/quarto/pkg-plist
index 16cb60a47f5f..b948ebbd3c05 100644
--- a/textproc/quarto/pkg-plist
+++ b/textproc/quarto/pkg-plist
@@ -1,6 +1,7 @@
 bin/quarto
 %%DATADIR%%/bin/quarto
 %%DATADIR%%/bin/quarto.js
+%%DATADIR%%/bin/tools/%%XARCH%%/dart-sass/sass
 %%DATADIR%%/bin/tools/%%XARCH%%/deno
 %%DATADIR%%/bin/tools/%%XARCH%%/esbuild
 %%DATADIR%%/bin/tools/%%XARCH%%/pandoc