git: 3b128ff9f74b - main - x11-fonts/noto*: Restructure and update

From: Tijl Coosemans <tijl_at_FreeBSD.org>
Date: Sat, 23 Mar 2024 13:45:33 UTC
The branch main has been updated by tijl:

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

commit 3b128ff9f74b28ada2f475f0b816480b1550e5b8
Author:     Tijl Coosemans <tijl@FreeBSD.org>
AuthorDate: 2024-01-18 13:18:03 +0000
Commit:     Tijl Coosemans <tijl@FreeBSD.org>
CommitDate: 2024-03-23 13:40:46 +0000

    x11-fonts/noto*: Restructure and update
    
    Split x11-fonts/noto-basic into separate ports so they can be updated
    separately.  Keep noto-basic as a metaport but replace dependencies on
    it with dependencies on individual fonts as needed.
    
    Adjust x11-fonts/noto-extra to resolve conflicts for now.  Individual
    fonts can be split from this port later.
    
    Let x11-fonts/noto-emoji install the monochrome Noto Emoji font and
    create a new port x11-fonts/noto-color-emoji for Noto Color Emoji.
    
    Add the new ports to x11-fonts/noto metaport and make Noto Sans and
    Noto Serif non-optional because script-specific fonts depend on them.
    
    Upstream does not provide useful tarballs so we create our own and host
    them on LOCAL.  The new ports have a "make noto-fetch" target that
    creates a tarball in DISTDIR.
    
    List of updates:
    
    Noto Color Emoji 2.042
    Noto Emoji 2.001
    Noto Sans 2.013
    Noto Sans Mono 2.014
    Noto Sans Symbols 2.003
    Noto Sans Symbols 2 2.008
    Noto Serif 2.013
    
    PR:             275758
    Differential Revision:  https://reviews.freebsd.org/D43509
---
 Mk/Uses/noto.mk                          |  71 ++++++++++++
 audio/fossmixer/Makefile                 |   6 +-
 benchmarks/ddosify/Makefile              |   4 +-
 editors/cooledit/Makefile                |   8 +-
 graphics/lux/Makefile                    |   3 +-
 multimedia/baka-mplayer/Makefile         |   4 +-
 textproc/ibus-typing-booster/pkg-message |   2 +-
 www/chromium/Makefile                    |   6 +-
 www/iridium/Makefile                     |   5 +-
 www/ungoogled-chromium/Makefile          |   5 +-
 x11-fonts/Makefile                       |   6 ++
 x11-fonts/google-fonts/Makefile          |  10 +-
 x11-fonts/noto-basic/Makefile            |  38 ++-----
 x11-fonts/noto-basic/distinfo            |   3 -
 x11-fonts/noto-basic/pkg-plist           |  12 ---
 x11-fonts/noto-color-emoji/Makefile      |  20 ++++
 x11-fonts/noto-color-emoji/distinfo      |   3 +
 x11-fonts/noto-color-emoji/pkg-descr     |   2 +
 x11-fonts/noto-emoji/Makefile            |  40 ++++---
 x11-fonts/noto-emoji/distinfo            |   6 +-
 x11-fonts/noto-emoji/pkg-descr           |  15 +--
 x11-fonts/noto-extra/Makefile            |  28 ++---
 x11-fonts/noto-extra/pkg-plist           | 178 -------------------------------
 x11-fonts/noto-sans-mono/Makefile        |  51 +++++++++
 x11-fonts/noto-sans-mono/distinfo        |   3 +
 x11-fonts/noto-sans-mono/pkg-descr       |   5 +
 x11-fonts/noto-sans-symbols-2/Makefile   |  17 +++
 x11-fonts/noto-sans-symbols-2/distinfo   |   3 +
 x11-fonts/noto-sans-symbols-2/pkg-descr  |   3 +
 x11-fonts/noto-sans-symbols/Makefile     |  25 +++++
 x11-fonts/noto-sans-symbols/distinfo     |   3 +
 x11-fonts/noto-sans-symbols/pkg-descr    |   3 +
 x11-fonts/noto-sans/Makefile             |  87 +++++++++++++++
 x11-fonts/noto-sans/distinfo             |   3 +
 x11-fonts/noto-sans/pkg-descr            |   4 +
 x11-fonts/noto-serif/Makefile            |  87 +++++++++++++++
 x11-fonts/noto-serif/distinfo            |   3 +
 x11-fonts/noto-serif/pkg-descr           |   4 +
 x11-fonts/noto/Makefile                  |  22 ++--
 x11/plasma5-plasma-integration/Makefile  |   5 +-
 x11/plasma6-plasma-desktop/Makefile      |   3 +-
 x11/plasma6-plasma-integration/Makefile  |   7 +-
 42 files changed, 504 insertions(+), 309 deletions(-)

diff --git a/Mk/Uses/noto.mk b/Mk/Uses/noto.mk
new file mode 100644
index 000000000000..909ae48cf6af
--- /dev/null
+++ b/Mk/Uses/noto.mk
@@ -0,0 +1,71 @@
+# Infrastructure used by x11-fonts/noto-* ports.
+#
+# Feature:      noto
+# Usage:        USES=noto
+#
+# The following variables can be defined in a port Makefile:
+#
+# NOTONAME	Name of the font, e.g. NotoSans.
+# NOTOTAG	Git tag used in default NOTOLICSITES and NOTOSITES.
+#		Default: ${NOTONAME}-v${PORTVERSION}.
+# NOTOLICSITES	Location(s) of the license file.  Optional.
+# NOTOSITES	Location(s) of the fonts.  Optional.
+# NOTOLICFILE	Name of the license file.  Default: LICENSE.
+# NOTOSTYLES	List of styles.  You can define this if the upstream font
+#		files are named NOTONAME-STYLE.ttf.  Define NOTOFILES
+#		directly if that's not the case.
+# NOTOFILES	List of upstream font files and their style.  They will be
+#		installed as NOTONAME-STYLE.ttf.  See x11-fonts/noto-emoji.
+#		Default: derived from NOTOSTYLES.
+#
+# MAINTAINER:   tijl@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_NOTO_MK)
+_INCLUDE_USES_NOTO_MK=	yes
+
+EXTRACT_SUFX=	.tar.xz
+
+LICENSE=	OFL11
+LICENSE_FILE=	${WRKSRC}/${NOTOLICFILE}
+
+FONTSDIR=	${PREFIX}/share/fonts/noto
+
+NOTOTAG?=	${NOTONAME}-v${PORTVERSION}
+NOTOLICSITES?=	https://github.com/notofonts/notofonts.github.io/raw/${NOTOTAG}/fonts/
+NOTOSITES?=	https://github.com/notofonts/notofonts.github.io/raw/${NOTOTAG}/fonts/${NOTONAME}/hinted/ttf/
+NOTOLICFILE?=	LICENSE
+NOTOFILES?=	${NOTOSTYLES:C,.*,${NOTONAME}-&.ttf &,}
+PLIST_FILES=	${NOTOFILES:N*.ttf:C,.*,${FONTSDIR:S,^${PREFIX}/,,}/${NOTONAME}-&.ttf,}
+
+NO_ARCH=	yes
+NO_BUILD=	yes
+
+.  ifdef NO_CHECKSUM && DISABLE_SIZE && !DIST_SUBDIR
+# Assume make fetch called from make makesum.
+_USES_fetch+=	250:noto-fetch
+.  endif
+
+noto-fetch:
+	@${MAKE} fetch NO_CHECKSUM=yes DISABLE_SIZE=yes \
+		DISTFILES='${NOTOLICFILE}:lic ${NOTOFILES:M*.ttf}' \
+		DIST_SUBDIR='${DISTNAME}' \
+		MASTER_SITES='${NOTOLICSITES:S/$/:lic/} ${NOTOSITES}'
+	@${ECHO_MSG} '===> Creating distfile ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}'
+	@cd ${DISTDIR} && ${RM} ${DISTNAME}${EXTRACT_SUFX} && set -- \
+		${NOTOLICFILE:S,^,${DISTNAME}/,} \
+		${NOTOFILES:M*.ttf:S,^,${DISTNAME}/,} \
+		&& ${CHMOD} 0644 "$$@" && ${CHMOD} 0755 ${DISTNAME} \
+		&& ${TOUCH} -c -d 1970-01-01T00:00:00Z "$$@" ${DISTNAME} \
+		&& ${TAR} cJf ${DISTNAME}${EXTRACT_SUFX} \
+			--uid 0 --gid 0 --numeric-owner "$$@" \
+		&& ${RM} "$$@" && { ${RMDIR} ${DISTNAME} 2>/dev/null || :; }
+
+do-install:
+	${MKDIR} ${STAGEDIR}${FONTSDIR}
+.  for font style in ${NOTOFILES}
+	${INSTALL_DATA} ${WRKSRC}/${font} \
+		${STAGEDIR}${FONTSDIR}/${NOTONAME}-${style}.ttf
+.  endfor
+
+.include "${USESDIR}/fonts.mk"
+.endif
diff --git a/audio/fossmixer/Makefile b/audio/fossmixer/Makefile
index cee9cd3f39e3..da4fcd88bdd9 100644
--- a/audio/fossmixer/Makefile
+++ b/audio/fossmixer/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	fossmixer
 PORTVERSION=	0.0.3
-PORTREVISION=	4
+PORTREVISION=	5
 CATEGORIES=	audio
 MASTER_SITES=	SF/detroit
 DISTNAME=	detroit-0.2.3
@@ -11,8 +11,8 @@ WWW=		https://detroit.sourceforge.net/app_fossmixer.html
 
 LICENSE=	BSD3CLAUSE
 
-RUN_DEPENDS=	${LOCALBASE}/share/fonts/noto/NotoSans-Italic.ttf:x11-fonts/noto-basic \
-		${LOCALBASE}/share/fonts/noto/NotoSans-Regular.ttf:x11-fonts/noto-basic
+RUN_DEPENDS=	${LOCALBASE}/share/fonts/noto/NotoSans-Italic.ttf:x11-fonts/noto-sans \
+		${LOCALBASE}/share/fonts/noto/NotoSans-Regular.ttf:x11-fonts/noto-sans
 LIB_DEPENDS=	libao.so:audio/libao \
 		libportaudio.so:audio/portaudio \
 		libpulse-simple.so:audio/pulseaudio \
diff --git a/benchmarks/ddosify/Makefile b/benchmarks/ddosify/Makefile
index b7677e976eda..ef93cc69b40c 100644
--- a/benchmarks/ddosify/Makefile
+++ b/benchmarks/ddosify/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	ddosify
 DISTVERSIONPREFIX=	v
 DISTVERSION=	1.0.6
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	benchmarks
 
 MAINTAINER=	dutra@FreeBSD.org
@@ -48,7 +48,7 @@ OPTIONS_DEFINE=	EMOJI ZSH
 OPTIONS_DEFAULT=EMOJI ZSH
 
 EMOJI_DESC=	Enable emojis in console output
-EMOJI_RUN_DEPENDS=	noto-emoji>0:x11-fonts/noto-emoji
+EMOJI_RUN_DEPENDS=	noto-color-emoji>0:x11-fonts/noto-color-emoji
 
 ZSH_PLIST_FILES=	share/zsh/site-functions/_${PORTNAME}
 
diff --git a/editors/cooledit/Makefile b/editors/cooledit/Makefile
index d499cafeb384..4fb2ae94b9be 100644
--- a/editors/cooledit/Makefile
+++ b/editors/cooledit/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	cooledit
 DISTVERSION=	4.1.2
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	editors
 MASTER_SITES=	SUNSITE/apps/editors/X/cooledit
 
@@ -15,9 +15,9 @@ LICENSE_FILE_GPLv2=	${WRKSRC}/COPYRIGHT.gpl
 
 LIB_DEPENDS=	libfreetype.so:print/freetype2
 RUN_DEPENDS=	font-misc-misc>0:x11-fonts/font-misc-misc \
-		noto-basic>0:x11-fonts/noto-basic \
-		noto-emoji>0:x11-fonts/noto-emoji \
-		noto-extra>0:x11-fonts/noto-extra
+		noto-color-emoji>0:x11-fonts/noto-color-emoji \
+		noto-sans>0:x11-fonts/noto-sans \
+		noto-sans-mono>0:x11-fonts/noto-sans-mono
 
 USES=		gettext-runtime libtool:build pkgconfig python xorg
 USE_XORG=	x11 xt
diff --git a/graphics/lux/Makefile b/graphics/lux/Makefile
index 739e2acca7e2..4e0ee9c11f25 100644
--- a/graphics/lux/Makefile
+++ b/graphics/lux/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	lux
 PORTVERSION=	1.1.8
+PORTREVISION=	1
 CATEGORIES=	graphics
 MASTER_SITES=	https://bitbucket.org/kfj/pv/get/
 PKGNAMESUFFIX=	-pv	# distinguish from www/lux
@@ -18,7 +19,7 @@ LIB_DEPENDS=	libhwy.so:devel/highway \
 		libsfml-window.so:devel/sfml \
 		libexiv2.so:graphics/exiv2 \
 		libvigraimpex.so:graphics/vigra
-RUN_DEPENDS=	${GUIFONT}:x11-fonts/noto-basic
+RUN_DEPENDS=	${GUIFONT}:x11-fonts/noto-sans
 GUIFONT=	${LOCALBASE}/share/fonts/noto/NotoSans-Regular.ttf
 
 USES=		cmake desktop-file-utils dos2unix pkgconfig tar:bz2
diff --git a/multimedia/baka-mplayer/Makefile b/multimedia/baka-mplayer/Makefile
index 944288577884..74ffa690fa0b 100644
--- a/multimedia/baka-mplayer/Makefile
+++ b/multimedia/baka-mplayer/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	baka-mplayer
 DISTVERSIONPREFIX=	v
 DISTVERSION=	2.0.4
-PORTREVISION=	12
+PORTREVISION=	13
 CATEGORIES=	multimedia audio
 
 PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
@@ -33,7 +33,7 @@ NLS_USES=	qt:5
 NLS_USE=	QT=linguisttools:build
 NLS_QMAKE_ON=	CONFIG+="install_translations"
 NOTO_DESC=	Original look with Noto Sans font
-NOTO_RUN_DEPENDS=	noto>0:x11-fonts/noto
+NOTO_RUN_DEPENDS=	noto-sans>0:x11-fonts/noto-sans
 
 post-patch:
 	${REINPLACE_CMD} '/^Comment/s,=.*,=${COMMENT},' \
diff --git a/textproc/ibus-typing-booster/pkg-message b/textproc/ibus-typing-booster/pkg-message
index ed32f094b232..3a600ef20140 100644
--- a/textproc/ibus-typing-booster/pkg-message
+++ b/textproc/ibus-typing-booster/pkg-message
@@ -1,7 +1,7 @@
 [
 { type: install
   message: <<EOM
-It is recommanded to install a font with emojis, e.g. x11-fonts/twemoji-color-font-ttf or x11-fonts/noto-emoji.
+It is recommanded to install a font with emojis, e.g. x11-fonts/twemoji-color-font-ttf or x11-fonts/noto-color-emoji.
 
 And do not forget to run `ibus restart' after an upgrade.
 EOM
diff --git a/www/chromium/Makefile b/www/chromium/Makefile
index f14d1f3676b7..a3d6ae19587f 100644
--- a/www/chromium/Makefile
+++ b/www/chromium/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	chromium
 PORTVERSION=	123.0.6312.58
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	www wayland
 MASTER_SITES=	https://commondatastorage.googleapis.com/chromium-browser-official/ \
 		https://nerd.hu/distfiles/:external
@@ -68,7 +68,9 @@ LIB_DEPENDS=	libatk-bridge-2.0.so:accessibility/at-spi2-core \
 		libxshmfence.so:x11/libxshmfence
 
 RUN_DEPENDS=	xdg-open:devel/xdg-utils \
-		noto-basic>0:x11-fonts/noto-basic
+		noto-sans>0:x11-fonts/noto-sans \
+		noto-sans-mono>0:x11-fonts/noto-sans-mono \
+		noto-serif>0:x11-fonts/noto-serif
 
 USES=		bison compiler:c++17-lang cpe desktop-file-utils gl gmake gnome \
 		iconv:wchar_t jpeg localbase:ldflags ninja perl5 pkgconfig \
diff --git a/www/iridium/Makefile b/www/iridium/Makefile
index db785288f289..143abef10080 100644
--- a/www/iridium/Makefile
+++ b/www/iridium/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	iridium
 PORTVERSION=	2024.01.120
+PORTREVISION=	1
 CATEGORIES=	www wayland
 MASTER_SITES=	https://downloads.iridiumbrowser.de/source/
 PKGNAMESUFFIX=	-browser
@@ -69,7 +70,9 @@ LIB_DEPENDS=	libatk-bridge-2.0.so:accessibility/at-spi2-core \
 		libxshmfence.so:x11/libxshmfence
 
 RUN_DEPENDS=	xdg-open:devel/xdg-utils \
-		noto-basic>0:x11-fonts/noto-basic
+		noto-sans>0:x11-fonts/noto-sans \
+		noto-sans-mono>0:x11-fonts/noto-sans-mono \
+		noto-serif>0:x11-fonts/noto-serif
 
 USES=		bison compiler:c++17-lang cpe desktop-file-utils gl gmake gnome \
 		iconv:wchar_t jpeg localbase:ldflags ninja perl5 pkgconfig \
diff --git a/www/ungoogled-chromium/Makefile b/www/ungoogled-chromium/Makefile
index 9b59a5e6fa30..7607c7f6f397 100644
--- a/www/ungoogled-chromium/Makefile
+++ b/www/ungoogled-chromium/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	ungoogled-chromium
 PORTVERSION=	123.0.6312.58
+PORTREVISION=	1
 UGVERSION=	${DISTVERSION}-1
 CATEGORIES=	www wayland
 MASTER_SITES=	https://commondatastorage.googleapis.com/chromium-browser-official/ \
@@ -71,7 +72,9 @@ LIB_DEPENDS=	libatk-bridge-2.0.so:accessibility/at-spi2-core \
 		libxshmfence.so:x11/libxshmfence
 
 RUN_DEPENDS=	xdg-open:devel/xdg-utils \
-		noto-basic>0:x11-fonts/noto-basic
+		noto-sans>0:x11-fonts/noto-sans \
+		noto-sans-mono>0:x11-fonts/noto-sans-mono \
+		noto-serif>0:x11-fonts/noto-serif
 
 USES=		bison compiler:c++17-lang cpe desktop-file-utils gl gmake gnome \
 		iconv:wchar_t jpeg localbase:ldflags ninja perl5 pkgconfig \
diff --git a/x11-fonts/Makefile b/x11-fonts/Makefile
index a3f390fda88d..847ef091a96f 100644
--- a/x11-fonts/Makefile
+++ b/x11-fonts/Makefile
@@ -188,17 +188,23 @@
     SUBDIR += nexfontsel
     SUBDIR += noto
     SUBDIR += noto-basic
+    SUBDIR += noto-color-emoji
     SUBDIR += noto-emoji
     SUBDIR += noto-extra
     SUBDIR += noto-hk
     SUBDIR += noto-jp
     SUBDIR += noto-kr
+    SUBDIR += noto-sans
     SUBDIR += noto-sans-hk
     SUBDIR += noto-sans-jp
     SUBDIR += noto-sans-kr
+    SUBDIR += noto-sans-mono
     SUBDIR += noto-sans-sc
+    SUBDIR += noto-sans-symbols
+    SUBDIR += noto-sans-symbols-2
     SUBDIR += noto-sans-tc
     SUBDIR += noto-sc
+    SUBDIR += noto-serif
     SUBDIR += noto-serif-hk
     SUBDIR += noto-serif-jp
     SUBDIR += noto-serif-kr
diff --git a/x11-fonts/google-fonts/Makefile b/x11-fonts/google-fonts/Makefile
index 276d6e6266b6..d21d6b663ec0 100644
--- a/x11-fonts/google-fonts/Makefile
+++ b/x11-fonts/google-fonts/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	google-fonts
 DISTVERSION=	0.0.0.20210120
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	x11-fonts
 
 MAINTAINER=	dmgk@FreeBSD.org
@@ -18,15 +18,17 @@ RUN_DEPENDS=	Andika>0:x11-fonts/andika \
 		b612>0:x11-fonts/b612 \
 		comfortaa-ttf>0:x11-fonts/comfortaa-ttf \
 		comic-neue>0:x11-fonts/comic-neue \
-		courier-prime>.:x11-fonts/courier-prime \
+		courier-prime>0:x11-fonts/courier-prime \
 		croscorefonts>0:x11-fonts/croscorefonts-fonts-ttf \
 		exo>0:x11-fonts/exo \
 		fira>0:x11-fonts/fira \
 		firacode>0:x11-fonts/firacode \
 		jetbrains-mono>0:x11-fonts/jetbrains-mono \
-		lato>.:x11-fonts/lato \
+		lato>0:x11-fonts/lato \
 		montserrat>0:x11-fonts/montserrat \
-		noto-basic>0:x11-fonts/noto-basic \
+		noto-sans>0:x11-fonts/noto-sans \
+		noto-sans-mono>0:x11-fonts/noto-sans-mono \
+		noto-serif>0:x11-fonts/noto-serif \
 		open-sans>0:x11-fonts/open-sans \
 		roboto-fonts-ttf>0:x11-fonts/roboto-fonts-ttf \
 		source-code-pro-ttf>0:x11-fonts/source-code-pro-ttf \
diff --git a/x11-fonts/noto-basic/Makefile b/x11-fonts/noto-basic/Makefile
index e351a2d73543..9c2c75b37c3c 100644
--- a/x11-fonts/noto-basic/Makefile
+++ b/x11-fonts/noto-basic/Makefile
@@ -1,39 +1,17 @@
-PORTNAME=	noto
+PORTNAME=	noto-basic
 PORTVERSION=	2.0
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	x11-fonts
-MASTER_SITES=	https://noto-website-2.storage.googleapis.com/pkgs/
-PKGNAMESUFFIX=	-basic
-DISTNAME=	Noto-hinted
 
 MAINTAINER=	sunpoet@FreeBSD.org
-COMMENT=	Google Noto Fonts family (Basic)
+COMMENT=	Google Noto Fonts family (Basic metaport)
 WWW=		https://fonts.google.com/noto
 
-LICENSE=	OFL11
-LICENSE_FILE=	${WRKSRC}/LICENSE_OFL.txt
+RUN_DEPENDS=	noto-sans>=0:x11-fonts/noto-sans \
+		noto-sans-mono>=0:x11-fonts/noto-sans-mono \
+		noto-sans-symbols>=0:x11-fonts/noto-sans-symbols \
+		noto-serif>=0:x11-fonts/noto-serif
 
-USES=		fonts zip
-
-NO_ARCH=	yes
-NO_BUILD=	yes
-NO_WRKSUBDIR=	yes
-
-BASIC_FONTS=	NotoSans-Bold.ttf \
-		NotoSans-BoldItalic.ttf \
-		NotoSans-Italic.ttf \
-		NotoSans-Regular.ttf \
-		NotoSansMono-Bold.ttf \
-		NotoSansMono-Regular.ttf \
-		NotoSansSymbols-Bold.ttf \
-		NotoSansSymbols-Regular.ttf \
-		NotoSerif-Bold.ttf \
-		NotoSerif-BoldItalic.ttf \
-		NotoSerif-Italic.ttf \
-		NotoSerif-Regular.ttf
-
-do-install:
-	${MKDIR} ${STAGEDIR}${FONTSDIR}
-	cd ${WRKSRC} && ${INSTALL_DATA} ${BASIC_FONTS} ${STAGEDIR}${FONTSDIR}
+USES=		metaport
 
 .include <bsd.port.mk>
diff --git a/x11-fonts/noto-basic/distinfo b/x11-fonts/noto-basic/distinfo
deleted file mode 100644
index ad7bf3b8c0ba..000000000000
--- a/x11-fonts/noto-basic/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1598970895
-SHA256 (Noto-hinted.zip) = 837b4a9352fce32ad7f298fbf155af1da5b6f3f8dbd995eb63fdd8e82117e4ae
-SIZE (Noto-hinted.zip) = 1159948133
diff --git a/x11-fonts/noto-basic/pkg-plist b/x11-fonts/noto-basic/pkg-plist
deleted file mode 100644
index f9278dc9d79e..000000000000
--- a/x11-fonts/noto-basic/pkg-plist
+++ /dev/null
@@ -1,12 +0,0 @@
-%%FONTSDIR%%/NotoSans-Bold.ttf
-%%FONTSDIR%%/NotoSans-BoldItalic.ttf
-%%FONTSDIR%%/NotoSans-Italic.ttf
-%%FONTSDIR%%/NotoSans-Regular.ttf
-%%FONTSDIR%%/NotoSansMono-Bold.ttf
-%%FONTSDIR%%/NotoSansMono-Regular.ttf
-%%FONTSDIR%%/NotoSansSymbols-Bold.ttf
-%%FONTSDIR%%/NotoSansSymbols-Regular.ttf
-%%FONTSDIR%%/NotoSerif-Bold.ttf
-%%FONTSDIR%%/NotoSerif-BoldItalic.ttf
-%%FONTSDIR%%/NotoSerif-Italic.ttf
-%%FONTSDIR%%/NotoSerif-Regular.ttf
diff --git a/x11-fonts/noto-color-emoji/Makefile b/x11-fonts/noto-color-emoji/Makefile
new file mode 100644
index 000000000000..2aacc4c85a48
--- /dev/null
+++ b/x11-fonts/noto-color-emoji/Makefile
@@ -0,0 +1,20 @@
+PORTNAME=	noto-color-emoji
+DISTVERSION=	2.042
+CATEGORIES=	x11-fonts
+MASTER_SITES=	LOCAL/tijl
+
+MAINTAINER=	tijl@FreeBSD.org
+COMMENT=	Noto Color Emoji font
+WWW=		https://fonts.google.com/noto/specimen/Noto+Color+Emoji \
+		https://github.com/googlefonts/noto-emoji
+
+USES=		noto
+
+NOTONAME=	NotoColorEmoji
+NOTOLICSITES=	https://github.com/googlefonts/noto-emoji/raw/v${PORTVERSION}/fonts/
+NOTOSITES=	https://github.com/googlefonts/noto-emoji/raw/v${PORTVERSION}/fonts/
+# Switch to COLRv1 with cairo-1.18?
+#NOTOFILES=	Noto-COLRv1.ttf Regular
+NOTOFILES=	NotoColorEmoji.ttf Regular
+
+.include <bsd.port.mk>
diff --git a/x11-fonts/noto-color-emoji/distinfo b/x11-fonts/noto-color-emoji/distinfo
new file mode 100644
index 000000000000..6d470738acd4
--- /dev/null
+++ b/x11-fonts/noto-color-emoji/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1707762470
+SHA256 (noto-color-emoji-2.042.tar.xz) = c24f50a06749bc86233db6ab40b6d64da1914a55c95c3576dc7df422c47062b2
+SIZE (noto-color-emoji-2.042.tar.xz) = 9526112
diff --git a/x11-fonts/noto-color-emoji/pkg-descr b/x11-fonts/noto-color-emoji/pkg-descr
new file mode 100644
index 000000000000..86b0460f51d9
--- /dev/null
+++ b/x11-fonts/noto-color-emoji/pkg-descr
@@ -0,0 +1,2 @@
+Noto Color Emoji is an open source font that has you covered for all
+your emoji needs.
diff --git a/x11-fonts/noto-emoji/Makefile b/x11-fonts/noto-emoji/Makefile
index eddbc93c8351..784065f4c23c 100644
--- a/x11-fonts/noto-emoji/Makefile
+++ b/x11-fonts/noto-emoji/Makefile
@@ -1,28 +1,24 @@
-PORTNAME=	noto
-PORTVERSION=	2.038
+PORTNAME=	noto-emoji
+DISTVERSION=	2.001
+PORTEPOCH=	1
 CATEGORIES=	x11-fonts
-MASTER_SITES=	https://github.com/googlefonts/noto-emoji/raw/v${PORTVERSION}/fonts/
-PKGNAMESUFFIX=	-emoji
-DISTFILES=	NotoColorEmoji.ttf
-DIST_SUBDIR=	Noto
-EXTRACT_ONLY=	# empty
+MASTER_SITES=	LOCAL/tijl
 
-MAINTAINER=	sunpoet@FreeBSD.org
-COMMENT=	Google Noto Fonts family (Emoji)
-WWW=		https://fonts.google.com/noto \
-		https://github.com/googlefonts/noto-emoji
+MAINTAINER=	tijl@FreeBSD.org
+COMMENT=	Noto Emoji font (monochrome)
+WWW=		https://fonts.google.com/noto/specimen/Noto+Emoji
 
-LICENSE=	APACHE20
+USES=		noto
 
-USES=		fonts
-
-NO_ARCH=	yes
-NO_BUILD=	yes
-
-PLIST_FILES=	${FONTSDIR}/NotoColorEmoji.ttf
-
-do-install:
-	${MKDIR} ${STAGEDIR}${FONTSDIR}
-	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/NotoColorEmoji.ttf ${STAGEDIR}${FONTSDIR}
+NOTONAME=	NotoEmoji
+NOTOTAG=	8857a069793e5db4a378c8a7316db684189e339a
+NOTOLICSITES=	https://github.com/google/fonts/raw/${NOTOTAG}/ofl/notoemoji/
+NOTOSITES=	https://fonts.gstatic.com/s/notoemoji/v47/
+NOTOLICFILE=	OFL.txt
+NOTOFILES=	bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob_10jwvS-FGJCMY.ttf Light \
+		bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf Regular \
+		bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-Z0jwvS-FGJCMY.ttf Medium \
+		bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob911TwvS-FGJCMY.ttf SemiBold \
+		bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob9M1TwvS-FGJCMY.ttf Bold
 
 .include <bsd.port.mk>
diff --git a/x11-fonts/noto-emoji/distinfo b/x11-fonts/noto-emoji/distinfo
index 14e8caa72c1e..2e9b1820873d 100644
--- a/x11-fonts/noto-emoji/distinfo
+++ b/x11-fonts/noto-emoji/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1681052924
-SHA256 (Noto/NotoColorEmoji.ttf) = 5a953e4c2c3c650c37d9e996eae6fef08414854871e1f9a916daf4c59527f008
-SIZE (Noto/NotoColorEmoji.ttf) = 10352796
+TIMESTAMP = 1707762522
+SHA256 (noto-emoji-2.001.tar.xz) = c73180304723cb81a6a589c806923b4086ee16a40594c05ee2ca941066df8f9c
+SIZE (noto-emoji-2.001.tar.xz) = 1878368
diff --git a/x11-fonts/noto-emoji/pkg-descr b/x11-fonts/noto-emoji/pkg-descr
index 4970a9d20d5d..134eac1da711 100644
--- a/x11-fonts/noto-emoji/pkg-descr
+++ b/x11-fonts/noto-emoji/pkg-descr
@@ -1,12 +1,3 @@
-When text is rendered by a computer, sometimes characters are displayed as
-"tofu". They are little boxes to indicate your device doesn't have a font to
-display the text.
-
-Google has been developing a font family called Noto, which aims to support all
-languages with a harmonious look and feel. Noto is Google's answer to tofu. The
-name noto is to convey the idea that Google's goal is to see no more "tofu".
-Noto has multiple styles and weights, and is freely available to all. The
-comprehensive set of fonts and tools used in our development is available in our
-GitHub repositories.
-
-This port provides the emoji fonts set.
+Noto Emoji (monochrome) is an open source font that has you covered for
+all your emoji needs. It has multiple weights and features thousands of
+emoji.
diff --git a/x11-fonts/noto-extra/Makefile b/x11-fonts/noto-extra/Makefile
index 8861620aa362..dae368e4797c 100644
--- a/x11-fonts/noto-extra/Makefile
+++ b/x11-fonts/noto-extra/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	noto
 PORTVERSION=	2.0
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	x11-fonts
 MASTER_SITES=	https://noto-website-2.storage.googleapis.com/pkgs/
 DISTNAME=	Noto-hinted
@@ -20,23 +20,15 @@ NO_ARCH=	yes
 NO_BUILD=	yes
 NO_WRKSUBDIR=	yes
 
-BASIC_FONTS=	NotoSans-Bold.ttf \
-		NotoSans-BoldItalic.ttf \
-		NotoSans-Italic.ttf \
-		NotoSans-Regular.ttf \
-		NotoSansMono-Bold.ttf \
-		NotoSansMono-Regular.ttf \
-		NotoSansSymbols-Bold.ttf \
-		NotoSansSymbols-Regular.ttf \
-		NotoSerif-Bold.ttf \
-		NotoSerif-BoldItalic.ttf \
-		NotoSerif-Italic.ttf \
-		NotoSerif-Regular.ttf
-EMOJI_FONTS=	NotoColorEmoji.ttf \
-		NotoEmoji-Regular.ttf
-
-post-extract:
-	@cd ${WRKSRC} && ${RM} ${BASIC_FONTS} ${EMOJI_FONTS}
+post-patch:
+	@cd ${WRKSRC} && ${RM} \
+		NotoColorEmoji* \
+		NotoEmoji-* \
+		NotoSans-* \
+		NotoSansMono-* \
+		NotoSansSymbols-* \
+		NotoSansSymbols2-* \
+		NotoSerif-*
 
 do-install:
 	${MKDIR} ${STAGEDIR}${FONTSDIR}
diff --git a/x11-fonts/noto-extra/pkg-plist b/x11-fonts/noto-extra/pkg-plist
index 7370ec6cd008..4245d1917362 100644
--- a/x11-fonts/noto-extra/pkg-plist
+++ b/x11-fonts/noto-extra/pkg-plist
@@ -6,74 +6,6 @@
 %%FONTSDIR%%/NotoNaskhArabicUI-Bold.ttf
 %%FONTSDIR%%/NotoNaskhArabicUI-Regular.ttf
 %%FONTSDIR%%/NotoNastaliqUrdu-Regular.ttf
-%%FONTSDIR%%/NotoSans-Black.ttf
-%%FONTSDIR%%/NotoSans-BlackItalic.ttf
-%%FONTSDIR%%/NotoSans-Condensed.ttf
-%%FONTSDIR%%/NotoSans-CondensedBlack.ttf
-%%FONTSDIR%%/NotoSans-CondensedBlackItalic.ttf
-%%FONTSDIR%%/NotoSans-CondensedBold.ttf
-%%FONTSDIR%%/NotoSans-CondensedBoldItalic.ttf
-%%FONTSDIR%%/NotoSans-CondensedExtraBold.ttf
-%%FONTSDIR%%/NotoSans-CondensedExtraBoldItalic.ttf
-%%FONTSDIR%%/NotoSans-CondensedExtraLight.ttf
-%%FONTSDIR%%/NotoSans-CondensedExtraLightItalic.ttf
-%%FONTSDIR%%/NotoSans-CondensedItalic.ttf
-%%FONTSDIR%%/NotoSans-CondensedLight.ttf
-%%FONTSDIR%%/NotoSans-CondensedLightItalic.ttf
-%%FONTSDIR%%/NotoSans-CondensedMedium.ttf
-%%FONTSDIR%%/NotoSans-CondensedMediumItalic.ttf
-%%FONTSDIR%%/NotoSans-CondensedSemiBold.ttf
-%%FONTSDIR%%/NotoSans-CondensedSemiBoldItalic.ttf
-%%FONTSDIR%%/NotoSans-CondensedThin.ttf
-%%FONTSDIR%%/NotoSans-CondensedThinItalic.ttf
-%%FONTSDIR%%/NotoSans-ExtraBold.ttf
-%%FONTSDIR%%/NotoSans-ExtraBoldItalic.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensed.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedBlack.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedBlackItalic.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedBold.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedBoldItalic.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedExtraBold.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedExtraBoldItalic.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedExtraLight.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedExtraLightItalic.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedItalic.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedLight.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedLightItalic.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedMedium.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedMediumItalic.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedSemiBold.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedSemiBoldItalic.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedThin.ttf
-%%FONTSDIR%%/NotoSans-ExtraCondensedThinItalic.ttf
-%%FONTSDIR%%/NotoSans-ExtraLight.ttf
-%%FONTSDIR%%/NotoSans-ExtraLightItalic.ttf
-%%FONTSDIR%%/NotoSans-Light.ttf
-%%FONTSDIR%%/NotoSans-LightItalic.ttf
-%%FONTSDIR%%/NotoSans-Medium.ttf
-%%FONTSDIR%%/NotoSans-MediumItalic.ttf
-%%FONTSDIR%%/NotoSans-SemiBold.ttf
-%%FONTSDIR%%/NotoSans-SemiBoldItalic.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensed.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedBlack.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedBlackItalic.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedBold.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedBoldItalic.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedExtraBold.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedExtraBoldItalic.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedExtraLight.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedExtraLightItalic.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedItalic.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedLight.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedLightItalic.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedMedium.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedMediumItalic.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedSemiBold.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedSemiBoldItalic.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedThin.ttf
-%%FONTSDIR%%/NotoSans-SemiCondensedThinItalic.ttf
-%%FONTSDIR%%/NotoSans-Thin.ttf
-%%FONTSDIR%%/NotoSans-ThinItalic.ttf
 %%FONTSDIR%%/NotoSansAdlam-Regular.ttf
 %%FONTSDIR%%/NotoSansAdlamUnjoined-Regular.ttf
 %%FONTSDIR%%/NotoSansAnatolianHieroglyphs-Regular.ttf
@@ -667,40 +599,6 @@
 %%FONTSDIR%%/NotoSansMandaic-Regular.ttf
 %%FONTSDIR%%/NotoSansMeeteiMayek-Regular.ttf
 %%FONTSDIR%%/NotoSansMongolian-Regular.ttf
-%%FONTSDIR%%/NotoSansMono-Black.ttf
-%%FONTSDIR%%/NotoSansMono-Condensed.ttf
-%%FONTSDIR%%/NotoSansMono-CondensedBlack.ttf
-%%FONTSDIR%%/NotoSansMono-CondensedBold.ttf
-%%FONTSDIR%%/NotoSansMono-CondensedExtraBold.ttf
-%%FONTSDIR%%/NotoSansMono-CondensedExtraLight.ttf
-%%FONTSDIR%%/NotoSansMono-CondensedLight.ttf
-%%FONTSDIR%%/NotoSansMono-CondensedMedium.ttf
-%%FONTSDIR%%/NotoSansMono-CondensedSemiBold.ttf
-%%FONTSDIR%%/NotoSansMono-CondensedThin.ttf
-%%FONTSDIR%%/NotoSansMono-ExtraBold.ttf
-%%FONTSDIR%%/NotoSansMono-ExtraCondensed.ttf
-%%FONTSDIR%%/NotoSansMono-ExtraCondensedBlack.ttf
-%%FONTSDIR%%/NotoSansMono-ExtraCondensedBold.ttf
-%%FONTSDIR%%/NotoSansMono-ExtraCondensedExtraBold.ttf
-%%FONTSDIR%%/NotoSansMono-ExtraCondensedExtraLight.ttf
-%%FONTSDIR%%/NotoSansMono-ExtraCondensedLight.ttf
-%%FONTSDIR%%/NotoSansMono-ExtraCondensedMedium.ttf
-%%FONTSDIR%%/NotoSansMono-ExtraCondensedSemiBold.ttf
-%%FONTSDIR%%/NotoSansMono-ExtraCondensedThin.ttf
-%%FONTSDIR%%/NotoSansMono-ExtraLight.ttf
-%%FONTSDIR%%/NotoSansMono-Light.ttf
-%%FONTSDIR%%/NotoSansMono-Medium.ttf
-%%FONTSDIR%%/NotoSansMono-SemiBold.ttf
-%%FONTSDIR%%/NotoSansMono-SemiCondensed.ttf
-%%FONTSDIR%%/NotoSansMono-SemiCondensedBlack.ttf
-%%FONTSDIR%%/NotoSansMono-SemiCondensedBold.ttf
-%%FONTSDIR%%/NotoSansMono-SemiCondensedExtraBold.ttf
-%%FONTSDIR%%/NotoSansMono-SemiCondensedExtraLight.ttf
-%%FONTSDIR%%/NotoSansMono-SemiCondensedLight.ttf
-%%FONTSDIR%%/NotoSansMono-SemiCondensedMedium.ttf
-%%FONTSDIR%%/NotoSansMono-SemiCondensedSemiBold.ttf
-%%FONTSDIR%%/NotoSansMono-SemiCondensedThin.ttf
-%%FONTSDIR%%/NotoSansMono-Thin.ttf
 %%FONTSDIR%%/NotoSansMyanmar-Black.ttf
 %%FONTSDIR%%/NotoSansMyanmar-Bold.ttf
 %%FONTSDIR%%/NotoSansMyanmar-Condensed.ttf
@@ -868,14 +766,6 @@
 %%FONTSDIR%%/NotoSansSinhalaUI-Thin.ttf
 %%FONTSDIR%%/NotoSansSundanese-Regular.ttf
 %%FONTSDIR%%/NotoSansSylotiNagri-Regular.ttf
-%%FONTSDIR%%/NotoSansSymbols-Black.ttf
-%%FONTSDIR%%/NotoSansSymbols-ExtraBold.ttf
-%%FONTSDIR%%/NotoSansSymbols-ExtraLight.ttf
-%%FONTSDIR%%/NotoSansSymbols-Light.ttf
-%%FONTSDIR%%/NotoSansSymbols-Medium.ttf
-%%FONTSDIR%%/NotoSansSymbols-SemiBold.ttf
-%%FONTSDIR%%/NotoSansSymbols-Thin.ttf
-%%FONTSDIR%%/NotoSansSymbols2-Regular.ttf
 %%FONTSDIR%%/NotoSansSyriacEastern-Regular.ttf
 %%FONTSDIR%%/NotoSansSyriacEstrangela-Regular.ttf
 %%FONTSDIR%%/NotoSansSyriacWestern-Regular.ttf
@@ -1040,74 +930,6 @@
 %%FONTSDIR%%/NotoSansUgaritic-Regular.ttf
 %%FONTSDIR%%/NotoSansVai-Regular.ttf
 %%FONTSDIR%%/NotoSansYi-Regular.ttf
-%%FONTSDIR%%/NotoSerif-Black.ttf
-%%FONTSDIR%%/NotoSerif-BlackItalic.ttf
-%%FONTSDIR%%/NotoSerif-Condensed.ttf
-%%FONTSDIR%%/NotoSerif-CondensedBlack.ttf
-%%FONTSDIR%%/NotoSerif-CondensedBlackItalic.ttf
-%%FONTSDIR%%/NotoSerif-CondensedBold.ttf
-%%FONTSDIR%%/NotoSerif-CondensedBoldItalic.ttf
-%%FONTSDIR%%/NotoSerif-CondensedExtraBold.ttf
-%%FONTSDIR%%/NotoSerif-CondensedExtraBoldItalic.ttf
-%%FONTSDIR%%/NotoSerif-CondensedExtraLight.ttf
-%%FONTSDIR%%/NotoSerif-CondensedExtraLightItalic.ttf
-%%FONTSDIR%%/NotoSerif-CondensedItalic.ttf
-%%FONTSDIR%%/NotoSerif-CondensedLight.ttf
-%%FONTSDIR%%/NotoSerif-CondensedLightItalic.ttf
-%%FONTSDIR%%/NotoSerif-CondensedMedium.ttf
-%%FONTSDIR%%/NotoSerif-CondensedMediumItalic.ttf
-%%FONTSDIR%%/NotoSerif-CondensedSemiBold.ttf
-%%FONTSDIR%%/NotoSerif-CondensedSemiBoldItalic.ttf
-%%FONTSDIR%%/NotoSerif-CondensedThin.ttf
-%%FONTSDIR%%/NotoSerif-CondensedThinItalic.ttf
-%%FONTSDIR%%/NotoSerif-ExtraBold.ttf
-%%FONTSDIR%%/NotoSerif-ExtraBoldItalic.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensed.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedBlack.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedBlackItalic.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedBold.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedBoldItalic.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedExtraBold.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedExtraBoldItalic.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedExtraLight.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedExtraLightItalic.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedItalic.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedLight.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedLightItalic.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedMedium.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedMediumItalic.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedSemiBold.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedSemiBoldItalic.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedThin.ttf
-%%FONTSDIR%%/NotoSerif-ExtraCondensedThinItalic.ttf
-%%FONTSDIR%%/NotoSerif-ExtraLight.ttf
-%%FONTSDIR%%/NotoSerif-ExtraLightItalic.ttf
-%%FONTSDIR%%/NotoSerif-Light.ttf
-%%FONTSDIR%%/NotoSerif-LightItalic.ttf
-%%FONTSDIR%%/NotoSerif-Medium.ttf
-%%FONTSDIR%%/NotoSerif-MediumItalic.ttf
-%%FONTSDIR%%/NotoSerif-SemiBold.ttf
-%%FONTSDIR%%/NotoSerif-SemiBoldItalic.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensed.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedBlack.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedBlackItalic.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedBold.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedBoldItalic.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedExtraBold.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedExtraBoldItalic.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedExtraLight.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedExtraLightItalic.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedItalic.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedLight.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedLightItalic.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedMedium.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedMediumItalic.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedSemiBold.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedSemiBoldItalic.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedThin.ttf
-%%FONTSDIR%%/NotoSerif-SemiCondensedThinItalic.ttf
-%%FONTSDIR%%/NotoSerif-Thin.ttf
-%%FONTSDIR%%/NotoSerif-ThinItalic.ttf
 %%FONTSDIR%%/NotoSerifArmenian-Black.ttf
 %%FONTSDIR%%/NotoSerifArmenian-Bold.ttf
 %%FONTSDIR%%/NotoSerifArmenian-Condensed.ttf
diff --git a/x11-fonts/noto-sans-mono/Makefile b/x11-fonts/noto-sans-mono/Makefile
new file mode 100644
index 000000000000..616240127286
--- /dev/null
+++ b/x11-fonts/noto-sans-mono/Makefile
@@ -0,0 +1,51 @@
+PORTNAME=	noto-sans-mono
+DISTVERSION=	2.014
+CATEGORIES=	x11-fonts
+MASTER_SITES=	LOCAL/tijl
+
+MAINTAINER=	tijl@FreeBSD.org
+COMMENT=	Noto Sans Mono font
+WWW=		https://fonts.google.com/noto/specimen/Noto+Sans+Mono \
+		https://github.com/notofonts/latin-greek-cyrillic
+
+USES=		noto
+
+NOTONAME=	NotoSansMono
+NOTOSTYLES=	Black \
+		Bold \
+		Condensed \
+		CondensedBlack \
+		CondensedBold \
+		CondensedExtraBold \
+		CondensedExtraLight \
+		CondensedLight \
+		CondensedMedium \
+		CondensedSemiBold \
+		CondensedThin \
+		ExtraBold \
+		ExtraCondensed \
+		ExtraCondensedBlack \
+		ExtraCondensedBold \
+		ExtraCondensedExtraBold \
+		ExtraCondensedExtraLight \
+		ExtraCondensedLight \
+		ExtraCondensedMedium \
+		ExtraCondensedSemiBold \
+		ExtraCondensedThin \
+		ExtraLight \
+		Light \
+		Medium \
+		Regular \
+		SemiBold \
+		SemiCondensed \
+		SemiCondensedBlack \
+		SemiCondensedBold \
+		SemiCondensedExtraBold \
+		SemiCondensedExtraLight \
+		SemiCondensedLight \
+		SemiCondensedMedium \
+		SemiCondensedSemiBold \
+		SemiCondensedThin \
+		Thin
+
+.include <bsd.port.mk>
diff --git a/x11-fonts/noto-sans-mono/distinfo b/x11-fonts/noto-sans-mono/distinfo
new file mode 100644
index 000000000000..515f8586f242
--- /dev/null
+++ b/x11-fonts/noto-sans-mono/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1707762847
+SHA256 (noto-sans-mono-2.014.tar.xz) = 59f3e702d3a15004f15fa144f0d2169a628d40b259d778edf269abf35ee9fdae
+SIZE (noto-sans-mono-2.014.tar.xz) = 4504304
diff --git a/x11-fonts/noto-sans-mono/pkg-descr b/x11-fonts/noto-sans-mono/pkg-descr
new file mode 100644
index 000000000000..c05b7126e803
--- /dev/null
+++ b/x11-fonts/noto-sans-mono/pkg-descr
@@ -0,0 +1,5 @@
+Noto is a global font collection for writing in all modern and ancient
+languages. Noto Sans Mono is a monospaced, unmodulated ("sans serif")
+design suitable for programming code and other uses where a fixed-width
+font is needed. It supports the Latin, Cyrillic and Greek scripts, and
+various symbols.
diff --git a/x11-fonts/noto-sans-symbols-2/Makefile b/x11-fonts/noto-sans-symbols-2/Makefile
new file mode 100644
index 000000000000..f9198ef71e76
--- /dev/null
+++ b/x11-fonts/noto-sans-symbols-2/Makefile
@@ -0,0 +1,17 @@
+PORTNAME=	noto-sans-symbols-2
+DISTVERSION=	2.008
+CATEGORIES=	x11-fonts
+MASTER_SITES=	LOCAL/tijl
+
+MAINTAINER=	tijl@FreeBSD.org
+COMMENT=	Noto Sans Symbols 2 font
+WWW=		https://fonts.google.com/noto/specimen/Noto+Sans+Symbols+2 \
+		https://github.com/notofonts/symbols
+
+USES=		noto
+
+NOTONAME=	NotoSansSymbols2
+NOTOTAG=	c16b117609abbe4e60b3f2bd4433bdb3d0accb2e
+NOTOSTYLES=	Regular
+
+.include <bsd.port.mk>
diff --git a/x11-fonts/noto-sans-symbols-2/distinfo b/x11-fonts/noto-sans-symbols-2/distinfo
new file mode 100644
index 000000000000..5c2cbc3c00b0
--- /dev/null
+++ b/x11-fonts/noto-sans-symbols-2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1707753252
+SHA256 (noto-sans-symbols-2-2.008.tar.xz) = e3e3367d7c5f60d8fbeaf31218ef48f65a204a654cea9276f7ed4d015cb97797
+SIZE (noto-sans-symbols-2-2.008.tar.xz) = 257096
diff --git a/x11-fonts/noto-sans-symbols-2/pkg-descr b/x11-fonts/noto-sans-symbols-2/pkg-descr
new file mode 100644
*** 399 LINES SKIPPED ***