Index: head/x11/Makefile =================================================================== --- head/x11/Makefile +++ head/x11/Makefile @@ -265,6 +265,7 @@ SUBDIR += pixman SUBDIR += plasma-scriptengine-python SUBDIR += plasma-scriptengine-ruby + SUBDIR += polybar SUBDIR += presentproto SUBDIR += printproto SUBDIR += printscreen Index: head/x11/polybar/Makefile =================================================================== --- head/x11/polybar/Makefile +++ head/x11/polybar/Makefile @@ -0,0 +1,60 @@ +# $FreeBSD$ + +PORTNAME= polybar +DISTVERSION= 3.1.0 +CATEGORIES= x11 + +MAINTAINER= capt_redbeard@protonmail.com +COMMENT= Fast and easy-to-use status bar + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= xcb-proto>=1.9:x11/xcb-proto +LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ + libfreetype.so:print/freetype2 \ + libxcb-xrm.so:x11/xcb-util-xrm \ + libxcb-cursor.so:x11/xcb-util-cursor \ + libxcb-ewmh.so:x11/xcb-util-wm \ + libxcb-icccm.so:x11/xcb-util-wm \ + libxcb-util.so:x11/xcb-util \ + libxcb-image.so:x11/xcb-util-image \ + libinotify.so:devel/libinotify + +USES= cmake:outsource localbase:ldflags pkgconfig python:2.7,build +USE_GITHUB= yes +GH_ACCOUNT= jaagr +GH_TUPLE= jaagr:i3ipcpp:v0.7.1:i3ipcpp/lib/i3ipcpp \ + jaagr:xpp:1.4.0-1-g64bd576:xpp/lib/xpp +USE_GNOME= cairo +USE_XORG= xcb + +OPTIONS_DEFINE= ALSA CURL EXAMPLES I3 IPC MPD +OPTIONS_DEFAULT= ALSA CURL I3 IPC MPD +OPTIONS_SUB= yes + +ALSA_DESC= Volume control +CURL_DESC= Github support +I3_DESC= i3wm support +MPD_DESC= Support for controlling MPD +IPC_DESC= i3 IPC support + +ALSA_CMAKE_BOOL= ENABLE_ALSA +ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib + +CURL_CMAKE_BOOL= ENABLE_CURL +CURL_LIB_DEPENDS= libcurl.so:ftp/curl + +I3_BUILD_DEPENDS= ${LOCALBASE}/include/i3/ipc.h:x11-wm/i3 +I3_CMAKE_BOOL= ENABLE_I3 +I3_LIB_DEPENDS= libjsoncpp.so:devel/jsoncpp + +IPC_CMAKE_BOOL= BUILD_IPC_MSG + +MPD_CMAKE_BOOL= ENABLE_MPD +MPD_LIB_DEPENDS= libmpdclient.so:audio/libmpdclient + +post-patch: + @${REINPLACE_CMD} -e 's|python2|${PYTHON_CMD}|g' ${WRKSRC_xpp}/CMakeLists.txt + +.include Index: head/x11/polybar/distinfo =================================================================== --- head/x11/polybar/distinfo +++ head/x11/polybar/distinfo @@ -0,0 +1,7 @@ +TIMESTAMP = 1515547603 +SHA256 (jaagr-polybar-3.1.0_GH0.tar.gz) = cb6f404e1c3e9f0239ecde095c04dcb50a164ce346046f077744b2c53fab7fc4 +SIZE (jaagr-polybar-3.1.0_GH0.tar.gz) = 418298 +SHA256 (jaagr-i3ipcpp-v0.7.1_GH0.tar.gz) = 644d82d0e73b7c653e344ac8852e4d7435d9fb7ea54a160ab81662ab4b3652cf +SIZE (jaagr-i3ipcpp-v0.7.1_GH0.tar.gz) = 191417 +SHA256 (jaagr-xpp-1.4.0-1-g64bd576_GH0.tar.gz) = 451052c2d71b55cb3ea35dcf2f422162756caf05e3d4bfb9e36b47e802fbf109 +SIZE (jaagr-xpp-1.4.0-1-g64bd576_GH0.tar.gz) = 84145 Index: head/x11/polybar/files/patch-cmake_01-core.cmake =================================================================== --- head/x11/polybar/files/patch-cmake_01-core.cmake +++ head/x11/polybar/files/patch-cmake_01-core.cmake @@ -0,0 +1,20 @@ +--- cmake/01-core.cmake.orig 2017-12-03 17:03:49 UTC ++++ cmake/01-core.cmake +@@ -31,8 +31,17 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic-errors") + ++if (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") ++ # Need dprintf() for FreeBSD 11.1 and older ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_WITH_DPRINTF") ++ ++ # libinotify uses c99 extension, so suppress this error ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-c99-extensions") ++endif() ++ + if(${CMAKE_CXX_COMPILER_ID} STREQUAL Clang) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=parentheses-equality") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-zero-length-array") + endif() + + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG") Index: head/x11/polybar/files/patch-cmake_03-libs.cmake =================================================================== --- head/x11/polybar/files/patch-cmake_03-libs.cmake +++ head/x11/polybar/files/patch-cmake_03-libs.cmake @@ -0,0 +1,11 @@ +--- cmake/03-libs.cmake.orig 2017-12-03 17:03:49 UTC ++++ cmake/03-libs.cmake +@@ -21,3 +21,8 @@ querylib(WITH_XRENDER "pkg-config" xcb-render libs dir + querylib(WITH_XRM "pkg-config" xcb-xrm libs dirs) + querylib(WITH_XSYNC "pkg-config" xcb-sync libs dirs) + querylib(WITH_XCURSOR "pkg-config" xcb-cursor libs dirs) ++ ++# FreeBSD Support ++if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") ++ querylib(TRUE "pkg-config" libinotify libs dirs) ++endif() Index: head/x11/polybar/files/patch-doc_CMakeLists.txt =================================================================== --- head/x11/polybar/files/patch-doc_CMakeLists.txt +++ head/x11/polybar/files/patch-doc_CMakeLists.txt @@ -0,0 +1,11 @@ +--- doc/CMakeLists.txt.orig 2017-12-03 17:03:49 UTC ++++ doc/CMakeLists.txt +@@ -85,7 +85,7 @@ configure_file( + ESCAPE_QUOTES @ONLY) + + install(FILES config +- DESTINATION share/doc/polybar ++ DESTINATION share/examples/polybar + COMPONENT config) + + # }}} Index: head/x11/polybar/files/patch-include_adapters_alsa_generic.hpp =================================================================== --- head/x11/polybar/files/patch-include_adapters_alsa_generic.hpp +++ head/x11/polybar/files/patch-include_adapters_alsa_generic.hpp @@ -0,0 +1,14 @@ +--- include/adapters/alsa/generic.hpp.orig 2017-12-03 17:03:49 UTC ++++ include/adapters/alsa/generic.hpp +@@ -4,7 +4,11 @@ + #include + #else + #include ++ ++#ifndef __FreeBSD__ + #include ++#endif ++ + #include + #include + #include Index: head/x11/polybar/files/patch-man_CMakeLists.txt =================================================================== --- head/x11/polybar/files/patch-man_CMakeLists.txt +++ head/x11/polybar/files/patch-man_CMakeLists.txt @@ -0,0 +1,9 @@ +--- man/CMakeLists.txt.orig 2017-12-03 17:03:49 UTC ++++ man/CMakeLists.txt +@@ -1,4 +1,5 @@ ++include(GNUInstallDirs) + set(MAN_PAGES_1 polybar.1) + INSTALL(FILES ${MAN_PAGES_1} +- DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1 ++ DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 + COMPONENT doc) Index: head/x11/polybar/pkg-descr =================================================================== --- head/x11/polybar/pkg-descr +++ head/x11/polybar/pkg-descr @@ -0,0 +1,23 @@ +The main purpose of Polybar is to help users create awesome status +bars. It has built-in functionality to display information about the +most commonly used services. Some of the services included so far: + + Systray icons + Window title + Playback controls and status display for MPD using libmpdclient + ALSA volume controls + Workspace and desktop panel for bspwm and i3 + Workspace module for EWMH compliant window managers + Keyboard layout and indicator status + CPU and memory load indicator + Battery display + Network connection details + Backlight level + Date and time label + Time-based shell script execution + Command output tailing + User-defined menu tree + Inter-process messaging + And more... + +WWW: https://github.com/jaagr/polybar Index: head/x11/polybar/pkg-message =================================================================== --- head/x11/polybar/pkg-message +++ head/x11/polybar/pkg-message @@ -0,0 +1,29 @@ +Polybar was originally built with Linux in mind, so certain modules do +not function in FreeBSD. + +Working modules: +- cpu +- date +- i3 +- memory +- script +- text +- xkeyboard +- xwindow + +Broken modules: +- filesystem +- network (requires wireless_tools) +- temperature (requires /sys/class/thermal/* in sysfs) +- volume (requires full alsa, not a wrapper) +- menu (does not show up) +- xbacklight +- xworkspaces + +Not tested: +- backlight +- battery +- bspwm +- github +- ipc +- mpd Index: head/x11/polybar/pkg-plist =================================================================== --- head/x11/polybar/pkg-plist +++ head/x11/polybar/pkg-plist @@ -0,0 +1,7 @@ +bin/polybar +%%IPC%%bin/polybar-msg +man/man1/polybar.1.gz +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/config +share/bash-completion/completions/polybar +share/zsh/site-functions/_polybar +share/zsh/site-functions/_polybar_msg