svn commit: r546066 - in head/benchmarks: . mangohud mangohud/files
Alexey Dokuchaev
danfe at FreeBSD.org
Mon Aug 24 11:20:20 UTC 2020
Author: danfe
Date: Mon Aug 24 11:20:18 2020
New Revision: 546066
URL: https://svnweb.freebsd.org/changeset/ports/546066
Log:
MangoHud is a Vulkan/OpenGL overlay for monitoring FPS, temperatures,
CPU/GPU load, and more.
WWW: https://github.com/flightlessmango/MangoHud
Added:
head/benchmarks/mangohud/
head/benchmarks/mangohud/Makefile (contents, props changed)
head/benchmarks/mangohud/distinfo (contents, props changed)
head/benchmarks/mangohud/files/
head/benchmarks/mangohud/files/patch-include_elfhacks.h (contents, props changed)
head/benchmarks/mangohud/files/patch-meson.build (contents, props changed)
head/benchmarks/mangohud/files/patch-src_elfhacks.cpp (contents, props changed)
head/benchmarks/mangohud/files/patch-src_meson.build (contents, props changed)
head/benchmarks/mangohud/pkg-descr (contents, props changed)
Modified:
head/benchmarks/Makefile
Modified: head/benchmarks/Makefile
==============================================================================
--- head/benchmarks/Makefile Mon Aug 24 11:17:19 2020 (r546065)
+++ head/benchmarks/Makefile Mon Aug 24 11:20:18 2020 (r546066)
@@ -41,6 +41,7 @@
SUBDIR += linux-vdbench
SUBDIR += lmbench
SUBDIR += lzbench
+ SUBDIR += mangohud
SUBDIR += mdtest
SUBDIR += nbench
SUBDIR += netio
Added: head/benchmarks/mangohud/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/benchmarks/mangohud/Makefile Mon Aug 24 11:20:18 2020 (r546066)
@@ -0,0 +1,47 @@
+# Created by: Alexey Dokuchaev <danfe at FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= mangohud
+PORTVERSION= 0.5.1
+DISTVERSIONPREFIX= v
+CATEGORIES= benchmarks graphics
+
+MAINTAINER= danfe at FreeBSD.org
+COMMENT= Vulkan/OpenGL overlay for CPU/GPU monitoring
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= glslangValidator:devel/glslang \
+ ${LOCALBASE}/share/vulkan/registry/vk.xml:devel/vulkan-headers \
+ ${PYTHON_PKGNAMEPREFIX}mako>=0:textproc/py-mako@${PY_FLAVOR}
+LIB_DEPENDS= libdbus-1.so:devel/dbus \
+ libinotify.so:devel/libinotify
+
+USES= compiler:c++14-lang meson pkgconfig python:build xorg
+USE_GITHUB= yes
+GH_ACCOUNT= flightlessmango
+GH_PROJECT= MangoHud
+USE_XORG= x11
+MESON_ARGS= -Duse_system_vulkan=enabled -Dwith_xnvctrl=disabled
+
+PLIST_FILES= bin/mangohud lib/mangohud/libMangoHud.so \
+ lib/mangohud/libMangoHud_dlsym.so man/man1/mangohud.1.gz \
+ share/vulkan/implicit_layer.d/MangoHud.json
+PORTEXAMPLES= MangoHud.conf.example
+
+OPTIONS_DEFINE= EXAMPLES
+
+post-patch:
+ @${REINPLACE_CMD} -e '/version : /s,0\.4\.0,${PORTVERSION}, ; \
+ /^prog_python = /s,3,${PYTHON_VER},' ${WRKSRC}/meson.build
+ @${REINPLACE_CMD} -e '1s,usr/bin/env ba,bin/,' \
+ ${WRKSRC}/bin/mangohud.in
+ @${REINPLACE_CMD} -e 's,/usr/share/doc,${PREFIX}/share/examples,' \
+ ${WRKSRC}/data/mangohud.1
+ @${REINPLACE_CMD} -e '/#include <sys\/sysinfo\.h>/d' \
+ ${WRKSRC}/src/overlay_params.cpp
+ @${REINPLACE_CMD} -e 's,libdl\.so,ld-elf.so,' \
+ ${WRKSRC}/src/real_dlsym.cpp
+
+.include <bsd.port.mk>
Added: head/benchmarks/mangohud/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/benchmarks/mangohud/distinfo Mon Aug 24 11:20:18 2020 (r546066)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1597596860
+SHA256 (flightlessmango-MangoHud-v0.5.1_GH0.tar.gz) = 3e91d4fc7369d46763894c13f3315133871dd02705072981770c3cf58e8081c6
+SIZE (flightlessmango-MangoHud-v0.5.1_GH0.tar.gz) = 15042595
Added: head/benchmarks/mangohud/files/patch-include_elfhacks.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/benchmarks/mangohud/files/patch-include_elfhacks.h Mon Aug 24 11:20:18 2020 (r546066)
@@ -0,0 +1,19 @@
+--- include/elfhacks.h.orig 2020-08-16 16:54:20 UTC
++++ include/elfhacks.h
+@@ -58,6 +58,16 @@ extern "C" {
+ # endif
+ #endif
+
++#ifndef __ELF_NATIVE_CLASS
++#define __ELF_NATIVE_CLASS __WORDSIZE
++#endif
++
++/* We use this macro to refer to ELF types independent of the native wordsize.
++ `ElfW(TYPE)' is used in place of `Elf32_TYPE' or `Elf64_TYPE'. */
++#define ElfW(type) _ElfW (Elf, __ELF_NATIVE_CLASS, type)
++#define _ElfW(e,w,t) _ElfW_1 (e, w, _##t)
++#define _ElfW_1(e,w,t) e##w##t
++
+ /**
+ * \defgroup elfhacks elfhacks
+ * Elfhacks is a collection of functions that aim for retvieving
Added: head/benchmarks/mangohud/files/patch-meson.build
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/benchmarks/mangohud/files/patch-meson.build Mon Aug 24 11:20:18 2020 (r546066)
@@ -0,0 +1,20 @@
+--- meson.build.orig 2020-08-16 16:54:20 UTC
++++ meson.build
+@@ -98,7 +98,7 @@ inc_common = [
+ include_directories('include'),
+ ]
+
+-dep_vulkan = dependency('vulkan', required: get_option('use_system_vulkan'))
++dep_inotify = dependency('libinotify')
+ dep_pthread = dependency('threads')
+ dbus_dep = dependency('dbus-1', required: get_option('with_dbus')).partial_dependency(compile_args : true, includes : true)
+
+@@ -170,7 +170,7 @@ else
+ dep_rt = cc.find_library('rt')
+ endif
+
+-if dep_vulkan.found()
++if true
+ datadir = get_option('datadir')
+ if not datadir.startswith('/')
+ datadir = get_option('prefix') / datadir
Added: head/benchmarks/mangohud/files/patch-src_elfhacks.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/benchmarks/mangohud/files/patch-src_elfhacks.cpp Mon Aug 24 11:20:18 2020 (r546066)
@@ -0,0 +1,29 @@
+--- src/elfhacks.cpp.orig 2020-08-16 16:54:20 UTC
++++ src/elfhacks.cpp
+@@ -195,22 +195,22 @@ int eh_init_obj(eh_obj_t *obj)
+ if (obj->strtab)
+ return ENOTSUP;
+
+- obj->strtab = (const char *) obj->dynamic[p].d_un.d_ptr;
++ obj->strtab = (const char *) (obj->dynamic[p].d_un.d_ptr + obj->addr);
+ } else if (obj->dynamic[p].d_tag == DT_HASH) {
+ if (obj->hash)
+ return ENOTSUP;
+
+- obj->hash = (ElfW(Word) *) obj->dynamic[p].d_un.d_ptr;
++ obj->hash = (ElfW(Word) *) (obj->dynamic[p].d_un.d_ptr + obj->addr);
+ } else if (obj->dynamic[p].d_tag == DT_GNU_HASH) {
+ if (obj->gnu_hash)
+ return ENOTSUP;
+
+- obj->gnu_hash = (Elf32_Word *) obj->dynamic[p].d_un.d_ptr;
++ obj->gnu_hash = (Elf32_Word *) (obj->dynamic[p].d_un.d_ptr + obj->addr);
+ } else if (obj->dynamic[p].d_tag == DT_SYMTAB) {
+ if (obj->symtab)
+ return ENOTSUP;
+
+- obj->symtab = (ElfW(Sym) *) obj->dynamic[p].d_un.d_ptr;
++ obj->symtab = (ElfW(Sym) *) (obj->dynamic[p].d_un.d_ptr + obj->addr);
+ }
+ p++;
+ }
Added: head/benchmarks/mangohud/files/patch-src_meson.build
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/benchmarks/mangohud/files/patch-src_meson.build Mon Aug 24 11:20:18 2020 (r546066)
@@ -0,0 +1,29 @@
+--- src/meson.build.orig 2020-08-16 16:54:20 UTC
++++ src/meson.build
+@@ -3,7 +3,7 @@ glslang = find_program('glslangValidator')
+ # Needs prefix for configure_file()
+ if get_option('append_libdir_mangohud')
+ libdir_mangohud = join_paths(get_option('libdir'), 'mangohud')
+- ld_libdir_mangohud = get_option('prefix') + '/\$LIB/mangohud/'
++ ld_libdir_mangohud = get_option('prefix') + '/lib/mangohud/'
+ else
+ libdir_mangohud = get_option('libdir')
+ ld_libdir_mangohud = get_option('prefix') + '/\$LIB/'
+@@ -141,7 +141,7 @@ vklayer_mesa_overlay = shared_library(
+ dep_dl,
+ dep_rt,
+ dep_pthread,
+- dep_vulkan],
++ dep_inotify],
+ include_directories : [inc_common],
+ link_args : link_args,
+ install_dir : libdir_mangohud,
+@@ -187,7 +187,7 @@ configure_file(input : '../bin/mangohud.in',
+ if get_option('include_doc')
+ install_data(
+ files('../bin/MangoHud.conf'),
+- install_dir : join_paths(get_option('datadir'), 'doc', 'mangohud'),
++ install_dir : join_paths(get_option('datadir'), 'examples', 'mangohud'),
+ rename : ['MangoHud.conf.example']
+ )
+ endif
Added: head/benchmarks/mangohud/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/benchmarks/mangohud/pkg-descr Mon Aug 24 11:20:18 2020 (r546066)
@@ -0,0 +1,4 @@
+MangoHud is a Vulkan/OpenGL overlay for monitoring FPS, temperatures,
+CPU/GPU load, and more.
+
+WWW: https://github.com/flightlessmango/MangoHud
More information about the svn-ports-head
mailing list