svn commit: r458712 - in head/x11: . polybar polybar/files

Tobias Kortkamp tobik at FreeBSD.org
Thu Jan 11 06:23:25 UTC 2018


Author: tobik
Date: Thu Jan 11 06:23:22 2018
New Revision: 458712
URL: https://svnweb.freebsd.org/changeset/ports/458712

Log:
  New port: x11/polybar
  
  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
  
  https://forums.freebsd.org/threads/62494/
  
  Submitted by:		capt_redbeard at protonmail.com
  Reviewed by:		6yearold_gmail.com, adridg, mat, lbdm at privacychain.ch, tobik
  Differential Revision:	https://reviews.freebsd.org/D13634

Added:
  head/x11/polybar/
  head/x11/polybar/Makefile   (contents, props changed)
  head/x11/polybar/distinfo   (contents, props changed)
  head/x11/polybar/files/
  head/x11/polybar/files/patch-cmake_01-core.cmake   (contents, props changed)
  head/x11/polybar/files/patch-cmake_03-libs.cmake   (contents, props changed)
  head/x11/polybar/files/patch-doc_CMakeLists.txt   (contents, props changed)
  head/x11/polybar/files/patch-include_adapters_alsa_generic.hpp   (contents, props changed)
  head/x11/polybar/files/patch-man_CMakeLists.txt   (contents, props changed)
  head/x11/polybar/pkg-descr   (contents, props changed)
  head/x11/polybar/pkg-message   (contents, props changed)
  head/x11/polybar/pkg-plist   (contents, props changed)
Modified:
  head/x11/Makefile

Modified: head/x11/Makefile
==============================================================================
--- head/x11/Makefile	Thu Jan 11 03:49:42 2018	(r458711)
+++ head/x11/Makefile	Thu Jan 11 06:23:22 2018	(r458712)
@@ -265,6 +265,7 @@
     SUBDIR += pixman
     SUBDIR += plasma-scriptengine-python
     SUBDIR += plasma-scriptengine-ruby
+    SUBDIR += polybar
     SUBDIR += presentproto
     SUBDIR += printproto
     SUBDIR += printscreen

Added: head/x11/polybar/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/polybar/Makefile	Thu Jan 11 06:23:22 2018	(r458712)
@@ -0,0 +1,60 @@
+# $FreeBSD$
+
+PORTNAME=	polybar
+DISTVERSION=	3.1.0
+CATEGORIES=	x11
+
+MAINTAINER=	capt_redbeard at 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 <bsd.port.mk>

Added: head/x11/polybar/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/polybar/distinfo	Thu Jan 11 06:23:22 2018	(r458712)
@@ -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

Added: head/x11/polybar/files/patch-cmake_01-core.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/polybar/files/patch-cmake_01-core.cmake	Thu Jan 11 06:23:22 2018	(r458712)
@@ -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")

Added: head/x11/polybar/files/patch-cmake_03-libs.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/polybar/files/patch-cmake_03-libs.cmake	Thu Jan 11 06:23:22 2018	(r458712)
@@ -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()

Added: head/x11/polybar/files/patch-doc_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/polybar/files/patch-doc_CMakeLists.txt	Thu Jan 11 06:23:22 2018	(r458712)
@@ -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)
+ 
+ # }}}

Added: head/x11/polybar/files/patch-include_adapters_alsa_generic.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/polybar/files/patch-include_adapters_alsa_generic.hpp	Thu Jan 11 06:23:22 2018	(r458712)
@@ -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 <alsa/asoundlib.h>
+ #else
+ #include <assert.h>
++
++#ifndef __FreeBSD__
+ #include <endian.h>
++#endif
++
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <stdarg.h>

Added: head/x11/polybar/files/patch-man_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/polybar/files/patch-man_CMakeLists.txt	Thu Jan 11 06:23:22 2018	(r458712)
@@ -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)

Added: head/x11/polybar/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/polybar/pkg-descr	Thu Jan 11 06:23:22 2018	(r458712)
@@ -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

Added: head/x11/polybar/pkg-message
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/polybar/pkg-message	Thu Jan 11 06:23:22 2018	(r458712)
@@ -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

Added: head/x11/polybar/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/polybar/pkg-plist	Thu Jan 11 06:23:22 2018	(r458712)
@@ -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


More information about the svn-ports-all mailing list