Date: Fri, 27 Nov 2020 17:41:57 +0000 (UTC) From: Jan Beich <jbeich@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r556446 - in head/multimedia: . arcan arcan/files Message-ID: <202011271741.0ARHfv2l013781@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jbeich Date: Fri Nov 27 17:41:57 2020 New Revision: 556446 URL: https://svnweb.freebsd.org/changeset/ports/556446 Log: multimedia/arcan: add new port Arcan is a powerful development framework for creating virtually anything from user interfaces for specialized embedded applications all the way to full-blown standalone desktop environments. At its heart lies a robust and portable multimedia engine, with a well-tested and well-documented Lua scripting interface. The development emphasizes security, debuggability and performance -- guided by a principle of least surprise in terms of API design. WWW: https://arcan-fe.com/ Added: head/multimedia/arcan/ head/multimedia/arcan/Makefile (contents, props changed) head/multimedia/arcan/distinfo (contents, props changed) head/multimedia/arcan/files/ head/multimedia/arcan/files/patch-system-libuvc (contents, props changed) head/multimedia/arcan/pkg-descr (contents, props changed) head/multimedia/arcan/pkg-plist (contents, props changed) Modified: head/multimedia/Makefile (contents, props changed) Modified: head/multimedia/Makefile ============================================================================== --- head/multimedia/Makefile Fri Nov 27 17:05:22 2020 (r556445) +++ head/multimedia/Makefile Fri Nov 27 17:41:57 2020 (r556446) @@ -10,6 +10,7 @@ SUBDIR += aegisub SUBDIR += aom SUBDIR += aravis + SUBDIR += arcan SUBDIR += assimp SUBDIR += atomicparsley SUBDIR += audacious Added: head/multimedia/arcan/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/arcan/Makefile Fri Nov 27 17:41:57 2020 (r556446) @@ -0,0 +1,98 @@ +# $FreeBSD$ + +PORTNAME= arcan +DISTVERSION= 0.6.0 +CATEGORIES= multimedia + +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES+= 7cf3d1066faf.patch:-p2 # https://github.com/letoram/arcan/pull/205 +PATCHFILES+= f40395b6755d.patch:-p2 # https://github.com/letoram/arcan/pull/205 +PATCHFILES+= b519eb023e20.patch:-p2 # https://github.com/letoram/arcan/pull/205 +PATCHFILES+= d6b52b1b3601.patch:-p2 # https://github.com/letoram/arcan/pull/205 +PATCHFILES+= d8a262d6d19a.patch:-p2 # https://github.com/letoram/arcan/pull/205 + +MAINTAINER= jbeich@FreeBSD.org +COMMENT= Display Server, Multimedia Framework, Game Engine + +LICENSE= BSD3CLAUSE GPLv2+ LGPL21 +LICENSE_COMB= multi +LICENSE_FILE_BSD3CLAUSE=${WRKSRC:H}/data/distr/LICENSE.BSD +LICENSE_FILE_GPLv2+ = ${WRKSRC:H}/data/distr/LICENSE.GPL +LICENSE_FILE_LGPL21+ = ${WRKSRC:H}/data/distr/LICENSE.LGPL + +LIB_DEPENDS= libdrm.so:graphics/libdrm \ + libfreetype.so:print/freetype2 +RUN_DEPENDS= mesa-dri>0:graphics/mesa-dri + +USES= cmake gl iconv openal pkgconfig sqlite +USE_GITHUB= yes +USE_GL= egl gbm gl +USE_LDCONFIG= yes +GH_ACCOUNT= letoram +WRKSRC_SUBDIR= src +CMAKE_ON= HYBRID_HEADLESS +CMAKE_ARGS= -DENGINE_BUILDTAG:STRING="${DISTVERSIONFULL}" +LDFLAGS+= -Wl,--as-needed # bzip2, ffmpeg, librt, libutil, lzma, zlib + +OPTIONS_DEFINE= ESPEAK FFMPEG LUAJIT SDL TESSERACT UVC VLC VNC WAYLAND +OPTIONS_DEFAULT=ESPEAK FFMPEG LUAJIT SDL TESSERACT UVC VLC VNC WAYLAND +OPTIONS_EXCLUDE_aarch64= LUAJIT # bug 225342 +OPTIONS_EXCLUDE_powerpc64= LUAJIT +OPTIONS_EXCLUDE_FreeBSD_11= VLC # no Qt5 +OPTIONS_SUB= yes + +ESPEAK_DESC= Text to speech via eSpeak +ESPEAK_LIB_DEPENDS= libespeak.so:audio/espeak + +FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg + +LUAJIT_DESC= Use LuaJIT instead of standard Lua +LUAJIT_LIB_DEPENDS= libluajit-5.1.so:lang/luajit +LUAJIT_USES_OFF= lua:51 +LUAJIT_CMAKE_BOOL_OFF= DISABLE_JIT + +SDL_USES= sdl +SDL_USE= SDL=sdl2 +SDL_CMAKE_BOOL= HYBRID_SDL + +TESSERACT_DESC= Optical Character Recognition via Tesseract +TESSERACT_LIB_DEPENDS= libtesseract.so:graphics/tesseract + +VLC_DESC= Video decode via libvlc +VLC_LIB_DEPENDS= libvlc.so:multimedia/vlc + +UVC_DESC= USB video cameras via libuvc +UVC_LIB_DEPENDS= libuvc.so:multimedia/libuvc +UVC_CMAKE_BOOL= FSRV_DECODE_UVC + +VNC_DESC= VNC client/server support +VNC_LIB_DEPENDS= libvncserver.so:net/libvncserver + +WAYLAND_BUILD_DEPENDS= wayland-protocols>0:graphics/wayland-protocols +WAYLAND_LIB_DEPENDS= libwayland-server.so:graphics/wayland \ + libxcb-icccm.so:x11/xcb-util-wm \ + libxkbcommon.so:x11/libxkbcommon +WAYLAND_USES= xorg +WAYLAND_USE= XORG=xcb +WAYLAND_CMAKE_BOOL_OFF= DISABLE_WAYLAND + +post-patch-ESPEAK-off: + @${REINPLACE_CMD} -i.noespeak '/find.*Espeak/d' \ + ${WRKSRC}/frameserver/decode/default/CMakeLists.txt + +post-patch-FFMPEG-off: + @${REINPLACE_CMD} -i.noffmpeg '/pkg.*FFMPEG/d' \ + ${WRKSRC}/a12/CMakeLists.txt \ + ${WRKSRC}/frameserver/decode/default/CMakeLists.txt \ + ${WRKSRC}/frameserver/encode/default/CMakeLists.txt + +post-patch-TESSERACT-off: + @${REINPLACE_CMD} -i.notesseract '/pkg.*tesseract/d' \ + ${WRKSRC}/frameserver/encode/default/CMakeLists.txt + +post-patch-VNC-off: + @${REINPLACE_CMD} -i.novnc '/pkg.*libvnc/d' \ + ${WRKSRC}/frameserver/encode/default/CMakeLists.txt \ + ${WRKSRC}/frameserver/remoting/default/CMakeLists.txt + +.include <bsd.port.mk> Added: head/multimedia/arcan/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/arcan/distinfo Fri Nov 27 17:41:57 2020 (r556446) @@ -0,0 +1,13 @@ +TIMESTAMP = 1606252529 +SHA256 (letoram-arcan-0.6.0_GH0.tar.gz) = 7b7aeb0fa6b89b7e3779d2e078b626566bdfa86c756d7ea1cc4f84b9e60d16a0 +SIZE (letoram-arcan-0.6.0_GH0.tar.gz) = 11216362 +SHA256 (7cf3d1066faf.patch) = f6a03026c263bb0f5e98c094925f75c0300c960079b5b0e0740fcb0e804d548c +SIZE (7cf3d1066faf.patch) = 1078 +SHA256 (f40395b6755d.patch) = b8e5d7ec724a0cec7045d50aaf2a673dbb23ecdaba233503b0de194bfcdb2ef5 +SIZE (f40395b6755d.patch) = 920 +SHA256 (b519eb023e20.patch) = ca8b0bd0adf98ada72be83ea20e797fc191c0f66e83bc7edeb95be327bd67ba7 +SIZE (b519eb023e20.patch) = 2333 +SHA256 (d6b52b1b3601.patch) = e6a54c79de294668ee64a4b13f366257bfcd7856510540fe5f59079f6296382e +SIZE (d6b52b1b3601.patch) = 1270 +SHA256 (d8a262d6d19a.patch) = 82b04de15212726d33fab17c87600fa0c78e44ea28ee9da764d840ef8f0e1ebf +SIZE (d8a262d6d19a.patch) = 804 Added: head/multimedia/arcan/files/patch-system-libuvc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/arcan/files/patch-system-libuvc Fri Nov 27 17:41:57 2020 (r556446) @@ -0,0 +1,67 @@ +- Git cannot be used as poudriere disables network access during build +- ExternalProject_Add fails to build with Ninja +- https://github.com/letoram/arcan/commit/66efdebb236c requires newer libuvc, so guard + +--- frameserver/decode/default/CMakeLists.txt.orig 2020-11-27 15:29:00 UTC ++++ frameserver/decode/default/CMakeLists.txt +@@ -52,31 +52,18 @@ if (LIBVLC_FOUND) + ${DECODE_DEFS} + ) + +- pkg_check_modules(LIBUSB_1 REQUIRED libusb-1.0) + pkg_check_modules(FFMPEG REQUIRED libavcodec libavdevice libavfilter libavformat libavutil libswresample libswscale) ++ pkg_check_modules(LIBUVC libuvc) + +- ExternalProject_Add(libuvc +- SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/frameserver/decode/libuvc" +- BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/libuvc_static" +- UPDATE_COMMAND "" +- GIT_REPOSITORY "${EXTERNAL_SRC_DIR}/git/libuvc" +- ${EXTERNAL_DEFS} +- ${CMAKE_EXTERNAL_DEFS} +- -DBUILD_UVC_STATIC=ON +- ) +- +- set(DECODE_DEPS libuvc) + set(DECODE_INCLUDE_DIRS + ${DECODE_INCLUDE_DIRS} +- ${LIBUSB_1_INCLUDE_DIRS} + ${FFMPEG_INCLUDE_DIRS} +- ${CMAKE_CURRENT_BINARY_DIR}/libuvc_static/include ++ ${LIBUVC_INCLUDE_DIRS} + ${CMAKE_CURRENT_BINARY_DIR}/../../../include) + set(DECODE_LIBS + ${FFMPEG_LINK_LIBRARIES} + ${DECODE_LIBS} +- ${LIBUSB_1_LINK_LIBRARIES} +- ${CMAKE_CURRENT_BINARY_DIR}/libuvc_static/libuvc.a ++ ${LIBUVC_LINK_LIBRARIES} + ) + set(DECODE_SOURCES + ${DECODE_SOURCES} +--- frameserver/decode/default/uvc_support.c.orig 2020-11-24 21:15:29 UTC ++++ frameserver/decode/default/uvc_support.c +@@ -145,7 +145,9 @@ static void callback(uvc_frame_t* frame, void* tag) + * though at least the capture devices I have used this one had the + * YUYV frame format have the same output as NV12 /facepalm */ + case UVC_FRAME_FORMAT_YUYV: ++#ifdef UVC_COLOR_FORMAT_NV12 + case UVC_FRAME_FORMAT_NV12: ++#endif + run_swscale(frame, cont, 2, AV_PIX_FMT_NV12); + break; + case UVC_FRAME_FORMAT_UYVY: +@@ -185,11 +187,13 @@ static int fmt_score(const uint8_t fourcc[static 4], i + .enumv = UVC_FRAME_FORMAT_GRAY8, + .score = 1 + }, ++#ifdef UVC_COLOR_FORMAT_NV12 + { + .fourcc = {'N', 'V', '1', '2'}, + .enumv = UVC_FRAME_FORMAT_NV12, + .score = 3 + }, ++#endif + /* this does not seem to have the 'right' fourcc? */ + { + .fourcc = {0x7d, 0xeb, 0x36, 0xe4}, Added: head/multimedia/arcan/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/arcan/pkg-descr Fri Nov 27 17:41:57 2020 (r556446) @@ -0,0 +1,10 @@ +Arcan is a powerful development framework for creating virtually anything from +user interfaces for specialized embedded applications all the way to full-blown +standalone desktop environments. + +At its heart lies a robust and portable multimedia engine, with a well-tested +and well-documented Lua scripting interface. The development emphasizes +security, debuggability and performance -- guided by a principle of least +surprise in terms of API design. + +WWW: https://arcan-fe.com/ Added: head/multimedia/arcan/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/multimedia/arcan/pkg-plist Fri Nov 27 17:41:57 2020 (r556446) @@ -0,0 +1,73 @@ +bin/afsrv_avfeed +%%VLC%%bin/afsrv_decode +%%FFMPEG%%bin/afsrv_encode +bin/afsrv_game +bin/afsrv_net +bin/afsrv_remoting +bin/afsrv_terminal +bin/arcan +bin/arcan-net +%%WAYLAND%%bin/arcan-wayland +bin/arcan_db +bin/arcan_frameserver +bin/arcan_headless +%%SDL%%bin/arcan_sdl +%%WAYLAND%%bin/arcan_xwm +include/arcan/a12.h +include/arcan/arcan_tui.h +include/arcan/arcan_tui_bufferwnd.h +include/arcan/arcan_tui_linewnd.h +include/arcan/arcan_tui_listwnd.h +include/arcan/arcan_tui_readline.h +include/arcan/arcan_tuidefs.h +include/arcan/arcan_tuisym.h +include/arcan/shmif/arcan_shmif.h +include/arcan/shmif/arcan_shmif_control.h +include/arcan/shmif/arcan_shmif_defs.h +include/arcan/shmif/arcan_shmif_event.h +include/arcan/shmif/arcan_shmif_interop.h +include/arcan/shmif/arcan_shmif_server.h +include/arcan/shmif/arcan_shmif_sub.h +lib/libarcan_a12.so +lib/libarcan_a12.so.0.1 +lib/libarcan_shmif.a +lib/libarcan_shmif.so +lib/libarcan_shmif.so.0.13 +lib/libarcan_shmif_ext.so +lib/libarcan_shmif_ext.so.0.13 +lib/libarcan_shmif_intext.so +lib/libarcan_shmif_intext.so.0.13 +lib/libarcan_shmif_server.so +lib/libarcan_shmif_server.so.0.13 +lib/libarcan_tui.so +lib/libarcan_tui.so.0.13 +libdata/pkgconfig/arcan-shmif-ext.pc +libdata/pkgconfig/arcan-shmif-srv.pc +libdata/pkgconfig/arcan-shmif-tui.pc +libdata/pkgconfig/arcan-shmif.pc +%%WAYLAND%%man/man1/arcan-wayland.1.gz +man/man1/arcan.1.gz +man/man1/arcan_db.1.gz +%%DATADIR%%/appl/console/console.lua +%%DATADIR%%/appl/console/console_osdkbd.lua +%%DATADIR%%/appl/console/cursor.png +%%DATADIR%%/appl/console/wayland_client.lua +%%DATADIR%%/appl/welcome/welcome.lua +%%DATADIR%%/resources/fonts/default.ttf +%%DATADIR%%/resources/images/icons/arcanicon.png +%%DATADIR%%/resources/images/icons/arcanicon.svg +%%DATADIR%%/scripts/builtin/debug.lua +%%DATADIR%%/scripts/builtin/decorator.lua +%%DATADIR%%/scripts/builtin/json.lua +%%DATADIR%%/scripts/builtin/keyboard.lua +%%DATADIR%%/scripts/builtin/mouse.lua +%%DATADIR%%/scripts/builtin/osdkbd.lua +%%DATADIR%%/scripts/builtin/string.lua +%%DATADIR%%/scripts/builtin/table.lua +%%DATADIR%%/scripts/builtin/wayland.lua +%%DATADIR%%/scripts/builtin/wmsupport.lua +%%DATADIR%%/scripts/hook/debugstall.lua +%%DATADIR%%/scripts/hook/external_input.lua +%%DATADIR%%/scripts/hook/shutdown.lua +%%DATADIR%%/scripts/hook/timed_dump.lua +%%DATADIR%%/scripts/hook/touch_simulator.lua
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202011271741.0ARHfv2l013781>