git: b63d5b65f0e8 - main - sysutils/libdisplay-info: add new port

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Mon, 13 Feb 2023 20:51:30 UTC
The branch main has been updated by jbeich:

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

commit b63d5b65f0e8dda1a6635ba0d9f09545af3021de
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2023-02-13 16:18:58 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2023-02-13 20:50:29 +0000

    sysutils/libdisplay-info: add new port
    
    EDID and DisplayID library.
    
    Goals:
    
    - Provide a set of high-level, easy-to-use, opinionated functions as well as
      low-level functions to access detailed information.
    - Simplicity and correctness over performance and resource usage.
    - Well-tested and fuzzed.
    
    https://gitlab.freedesktop.org/emersion/libdisplay-info
---
 sysutils/Makefile                  |  1 +
 sysutils/libdisplay-info/Makefile  | 41 ++++++++++++++++++++++++++++++++++++++
 sysutils/libdisplay-info/distinfo  |  7 +++++++
 sysutils/libdisplay-info/pkg-descr |  8 ++++++++
 sysutils/libdisplay-info/pkg-plist | 12 +++++++++++
 5 files changed, 69 insertions(+)

diff --git a/sysutils/Makefile b/sysutils/Makefile
index d75847cb7df5..2ecc08b9ac65 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -644,6 +644,7 @@
     SUBDIR += libcdio-paranoia
     SUBDIR += libchk
     SUBDIR += libcpuid
+    SUBDIR += libdisplay-info
     SUBDIR += libdnf
     SUBDIR += libfvde
     SUBDIR += libg15
diff --git a/sysutils/libdisplay-info/Makefile b/sysutils/libdisplay-info/Makefile
new file mode 100644
index 000000000000..649de7822238
--- /dev/null
+++ b/sysutils/libdisplay-info/Makefile
@@ -0,0 +1,41 @@
+PORTNAME=	libdisplay-info
+DISTVERSION=	0.1.0
+CATEGORIES=	sysutils
+
+PATCH_SITES=	${GL_SITE}/${GL_ACCOUNT}/${GL_PROJECT}/-/commit/
+PATCHFILES+=	d0ad02c6405f.patch:-p1 # https://gitlab.freedesktop.org/emersion/libdisplay-info/-/merge_requests/150
+PATCHFILES+=	015bddc1a6c6.patch:-p1 # https://gitlab.freedesktop.org/emersion/libdisplay-info/-/merge_requests/150
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	EDID and DisplayID library
+WWW=		https://gitlab.freedesktop.org/emersion/libdisplay-info
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	hwdata>0:misc/hwdata
+TEST_DEPENDS=	edid-decode:sysutils/edid-decode
+
+USES=		compiler:c11 meson pkgconfig python:build shebangfix
+USE_GITLAB=	yes
+GL_SITE=	https://gitlab.freedesktop.org
+GL_ACCOUNT=	emersion
+GL_COMMIT=	1871aabb25a8f71f38b4b595154c1537686677cf
+SHEBANG_FILES=	tool/*.py
+
+post-patch:
+# XXX Drop after FreeBSD 12.3 EOL around 2023-03-01
+# https://cgit.freebsd.org/src/commit/?id=773538247007
+	@if [ ${OPSYS} = FreeBSD -a ${OSVERSION} -lt 1203501 ]; then \
+		${REINPLACE_CMD} -e 's/static_assert/_Static_assert/' \
+			${WRKSRC}/edid.c; \
+	fi
+
+pre-test:
+	@if [ ! -e ${WRKDIR}/.meson_build_tests ]; then \
+		${RM} ${CONFIGURE_COOKIE} ${BUILD_COOKIE}; \
+		${MAKE} -C${.CURDIR} build MESON_ARGS="${MESON_ARGS} --reconfigure"; \
+		${TOUCH} ${WRKDIR}/.meson_build_tests; \
+	fi
+
+.include <bsd.port.mk>
diff --git a/sysutils/libdisplay-info/distinfo b/sysutils/libdisplay-info/distinfo
new file mode 100644
index 000000000000..11f9db72f3e5
--- /dev/null
+++ b/sysutils/libdisplay-info/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1676305138
+SHA256 (emersion-libdisplay-info-1871aabb25a8f71f38b4b595154c1537686677cf_GL0.tar.gz) = 6f25f27559991e12aa9ea7cd1d366fb66d83030d352b1ca6adbdf2284d526d12
+SIZE (emersion-libdisplay-info-1871aabb25a8f71f38b4b595154c1537686677cf_GL0.tar.gz) = 99599
+SHA256 (d0ad02c6405f.patch) = 5d5fad6cc70639398cb2f542a438c6279ae6f4302afea838d4b61743e1cc4122
+SIZE (d0ad02c6405f.patch) = 674
+SHA256 (015bddc1a6c6.patch) = cb01980f273e6a6cb746d6324656d639e5dd2031115f062a29c9539f9cdbb2ad
+SIZE (015bddc1a6c6.patch) = 706
diff --git a/sysutils/libdisplay-info/pkg-descr b/sysutils/libdisplay-info/pkg-descr
new file mode 100644
index 000000000000..8d862e547709
--- /dev/null
+++ b/sysutils/libdisplay-info/pkg-descr
@@ -0,0 +1,8 @@
+EDID and DisplayID library.
+
+Goals:
+
+- Provide a set of high-level, easy-to-use, opinionated functions as well as
+  low-level functions to access detailed information.
+- Simplicity and correctness over performance and resource usage.
+- Well-tested and fuzzed.
diff --git a/sysutils/libdisplay-info/pkg-plist b/sysutils/libdisplay-info/pkg-plist
new file mode 100644
index 000000000000..871294153dd7
--- /dev/null
+++ b/sysutils/libdisplay-info/pkg-plist
@@ -0,0 +1,12 @@
+bin/di-edid-decode
+include/libdisplay-info/cta.h
+include/libdisplay-info/cvt.h
+include/libdisplay-info/displayid.h
+include/libdisplay-info/dmt.h
+include/libdisplay-info/edid.h
+include/libdisplay-info/gtf.h
+include/libdisplay-info/info.h
+lib/libdisplay-info.so
+lib/libdisplay-info.so.0.1.0
+lib/libdisplay-info.so.1
+libdata/pkgconfig/libdisplay-info.pc