diff --git a/graphics/tesseract/Makefile b/graphics/tesseract/Makefile
index 148d77be0a33..58ee853f5142 100644
--- a/graphics/tesseract/Makefile
+++ b/graphics/tesseract/Makefile
@@ -1,62 +1,61 @@
 PORTNAME=	tesseract
-PORTVERSION=	5.3.4
-PORTREVISION=	2
+PORTVERSION=	5.4.0
 CATEGORIES=	graphics
 
 MAINTAINER=	pkubaj@FreeBSD.org
 COMMENT=	Commercial quality open source OCR engine
 WWW=		https://github.com/tesseract-ocr/tesseract
 
 LICENSE=	APACHE20
 
 BUILD_DEPENDS=	asciidoc:textproc/asciidoc \
 		xsltproc:textproc/libxslt \
 		${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl
 LIB_DEPENDS=	liblept.so:graphics/leptonica \
 		libtiff.so:graphics/tiff \
 		libharfbuzz.so:print/harfbuzz \
 		libfreetype.so:print/freetype2 \
 		libcurl.so:ftp/curl
 
 RUN_DEPENDS=	tesseract-data>=0:graphics/tesseract-data
 
 USES=		autoreconf compiler:c++20-lang cpe gnome libarchive libtool \
 		localbase pathfix pkgconfig
 USE_LDCONFIG=	yes
 
 GNU_CONFIGURE=	yes
 GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
 
 CPE_VENDOR=	tesseract_project
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	${PORTNAME}-ocr
 
 DATADIR=	${PREFIX}/share/tessdata
 PORTDATA=	*
 PORTDOCS=	AUTHORS ChangeLog README.md
 INSTALL_TARGET=	install-strip
 
 OPTIONS_DEFINE=	DOCS TOOLS
 OPTIONS_DEFAULT=	TOOLS
 OPTIONS_SUB=	yes
 
 TOOLS_CONFIGURE_ENABLE=	training
 TOOLS_DESC=	Include training tools
 TOOLS_LIB_DEPENDS=libicui18n.so:devel/icu \
 		libfontconfig.so:x11-fonts/fontconfig
 TOOLS_USE=	GNOME=cairo,glib20,pango
 
 .if exists(/usr/include/omp.h)
 CMAKE_ON=	OPENMP_BUILD
 LDFLAGS+=	-lomp
 .endif
 
 post-install-DOCS-on:
 	@${MKDIR} ${STAGEDIR}${DOCSDIR}
 	cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
 
 post-install-TOOLS-on:
 	@cd ${WRKSRC} && ${MAKE} DESTDIR=${STAGEDIR} training-install
 
 .include <bsd.port.mk>
diff --git a/graphics/tesseract/distinfo b/graphics/tesseract/distinfo
index 9a17a81594cb..d4404941e575 100644
--- a/graphics/tesseract/distinfo
+++ b/graphics/tesseract/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1705599265
-SHA256 (tesseract-ocr-tesseract-5.3.4_GH0.tar.gz) = 141afc12b34a14bb691a939b4b122db0d51bd38feda7f41696822bacea7710c7
-SIZE (tesseract-ocr-tesseract-5.3.4_GH0.tar.gz) = 1918319
+TIMESTAMP = 1718181253
+SHA256 (tesseract-ocr-tesseract-5.4.0_GH0.tar.gz) = 30ceffd9b86780f01cbf4eaf9b7fc59abddfcbaf5bbd52f9a633c6528cb183fd
+SIZE (tesseract-ocr-tesseract-5.4.0_GH0.tar.gz) = 1900009
diff --git a/graphics/tesseract/pkg-plist b/graphics/tesseract/pkg-plist
index ba16748564a1..697c33ce0e9d 100644
--- a/graphics/tesseract/pkg-plist
+++ b/graphics/tesseract/pkg-plist
@@ -1,51 +1,51 @@
 %%TOOLS%%bin/ambiguous_words
 %%TOOLS%%bin/classifier_tester
 %%TOOLS%%bin/cntraining
 %%TOOLS%%bin/combine_lang_model
 %%TOOLS%%bin/combine_tessdata
 %%TOOLS%%bin/dawg2wordlist
 %%TOOLS%%bin/lstmeval
 %%TOOLS%%bin/lstmtraining
 %%TOOLS%%bin/merge_unicharsets
 %%TOOLS%%bin/mftraining
 %%TOOLS%%bin/set_unicharset_properties
 %%TOOLS%%bin/shapeclustering
 bin/tesseract
 %%TOOLS%%bin/text2image
 %%TOOLS%%bin/unicharset_extractor
 %%TOOLS%%bin/wordlist2dawg
 include/tesseract/baseapi.h
 include/tesseract/capi.h
 include/tesseract/export.h
 include/tesseract/ltrresultiterator.h
 include/tesseract/ocrclass.h
 include/tesseract/osdetect.h
 include/tesseract/pageiterator.h
 include/tesseract/publictypes.h
 include/tesseract/renderer.h
 include/tesseract/resultiterator.h
 include/tesseract/unichar.h
 include/tesseract/version.h
 lib/libtesseract.a
 lib/libtesseract.so
 lib/libtesseract.so.5
-lib/libtesseract.so.5.0.3
+lib/libtesseract.so.5.0.4
 libdata/pkgconfig/tesseract.pc
 share/man/man1/ambiguous_words.1.gz
 share/man/man1/classifier_tester.1.gz
 share/man/man1/cntraining.1.gz
 share/man/man1/combine_lang_model.1.gz
 share/man/man1/combine_tessdata.1.gz
 share/man/man1/dawg2wordlist.1.gz
 share/man/man1/lstmeval.1.gz
 share/man/man1/lstmtraining.1.gz
 share/man/man1/merge_unicharsets.1.gz
 share/man/man1/mftraining.1.gz
 share/man/man1/set_unicharset_properties.1.gz
 share/man/man1/shapeclustering.1.gz
 share/man/man1/tesseract.1.gz
 share/man/man1/text2image.1.gz
 share/man/man1/unicharset_extractor.1.gz
 share/man/man1/wordlist2dawg.1.gz
 share/man/man5/unicharambigs.5.gz
 share/man/man5/unicharset.5.gz