Page MenuHomeFreeBSD

New port: x11/polybar: Fast and easy-to-use status bar
ClosedPublic

Authored by capt_redbeard_protonmail.com on Dec 26 2017, 3:38 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 18, 4:10 PM
Unknown Object (File)
Mon, Nov 11, 7:40 PM
Unknown Object (File)
Wed, Nov 6, 6:42 AM
Unknown Object (File)
Nov 3 2024, 8:42 PM
Unknown Object (File)
Oct 18 2024, 3:37 PM
Unknown Object (File)
Sep 27 2024, 5:25 AM
Unknown Object (File)
Sep 23 2024, 7:12 PM
Unknown Object (File)
Sep 6 2024, 4:05 AM

Details

Reviewers
None
Group Reviewers
Contributor Reviewers (ports)
Commits
rP458712: New port: x11/polybar

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 14255
Build 14416: arc lint + arc unit

Event Timeline

arrowd added inline comments.
x11/polybar/Makefile
17

Why +=?

34

And there, why +=?

x11/polybar/files/patch-README.md
1 ↗(On Diff #37029)

Do we really need to patch the README? Did you upstreamed this?

x11/polybar/pkg-descr
23

WWW: field?

x11/polybar/Makefile
55

I think it would be a good idea to turn all options ON by default, intended for people using pre-built packages.

I guess ALSA is the only option what actually bring a dependency, but most people using packages in a desktop setup should already has ALSA installed anyway.

The '+=' were a lack of understanding on my part, those have been fixed.
I also was not sure if making all dependencies enabled by default was ok,
as it requires a lot of dependencies. Either way, these have been fixed.
WWW has been added and a few spacing issues fixed. Not sure why the
README was in there, thats been removed.

The idea is that the default options will fit for 95%+ of the people, this means that you should enable most things that are useful. The 5%- of people that are left are:

  • People who do not want some option (because they're allergic to it, or are short on disk space, or...), and they can disable it.
  • People who have some edge case where they need some option that is not on by default because almost nobody needs it, and they can enable it.

Some questions, but nothing serious. You can mark comments as "done" when they're done (e.g. the question about the WWW line) so as to indicate that things are progressing.

x11/polybar/Makefile
51

It's a bit strange to me that i3 support doesn't actually use anything from i3 (while IPC does). The wiki page for polybar says jsoncpp + i3 are needed for this option -- and doesn't talk about dependencies for the IPC module at all.

x11/polybar/files/patch-cmake_02-opts.cmake
9 ↗(On Diff #37075)

From a CMake perspective this is a bit round-a-bout: do you need inotify on FreeBSD? Then don't make it an option. For the port, where no option is provided to switch off inotify, it's moot, but still strange.

The points you make are very true. I have fixed them.

Removed the inotify option in favor of always using it on FreeBSD.
Rearrange I3 dependencies.

I think it may be a good idea to include a pkg-message explaining why the network module does not work (and eventually other I am not aware, or if some depends of a specific/different setup to work). Or, at very least what is know to not work.

In D13634#288280, @lbdm_privacychain.ch wrote:

I think it may be a good idea to include a pkg-message explaining why the network module does not work (and eventually other I am not aware, or if some depends of a specific/different setup to work). Or, at very least what is know to not work.

Why doesn't it work? And why not fix it instead of adding a pkg-message?

x11/polybar/Makefile
13

Already added by USES=localbase

14

Remove. AFAIK there is no such knob and cmake always builds verbosely.

27

Why noninja? If it's necessary, then please add a small comment to the Makefile to explain why.

31

Please remove the last line and just set

GH_ACCOUNT=jaagr

41

Just "Volume Control" would be better IMHO. Enable/disable is already implied for options.

Same goes for all the other option descriptions.

It would be nicer to group the descriptions together too before all the other options helpers.

https://www.freebsd.org/doc/en/books/porters-handbook/porting-order-options.html

Why doesn't it work? And why not fix it instead of adding a pkg-message?

The network module depends on wireless-tools, Linux only.

x11/polybar/Makefile
27

If noninja is not present, the build will not succeed. It gives errors about namespacing issues. Maybe someone could shed light on what this means? I am not familiar with ninja, or what 'noninja' is actually disabling...

x11/polybar/Makefile
27

A while back we switched to using Ninja instead of make for cmake based projects. Build times are a lot better with Ninja usually.

libxpp generates some headers and it happens too late when using Ninja. This upstream commit fixes it: https://github.com/jaagr/xpp/commit/64bd57621102d281c4df9f29ee92fd9c083ebebe

So we can use jaagr:xpp:1.4.0-1-g64bd576:xpp/lib/xpp in GH_TUPLE to fix it.

Regardless of Ninja or not, the build currently fails in Poudriere:

-- Searching for xcbgen with python2
-- Searching for xcbgen with python3
-- Searching for xcbgen with python
CMake Error at lib/xpp/CMakeLists.txt:55 (message):
  Missing required python module: xcbgen

It looks like lib/xpp/CMakeLists.txt needs some patching to look for python2.7 specifically.

x11/polybar/Makefile
27

s/python2.7/${PYTHON_CMD}/

I have fixed the Makefile suggestions, and successfully built the port using pourdiere. I do have two questions.

First, when I ran portlint -A, it complained about the man pages not being compressed. Is there something I need to do to fix that?
Second, I created a variable XPP_VERSION since a particular commit is being checked out. Is there a better way to handle this type of situation?

Since upstream is willing to receive the changes I think it would be better to patch xpp.
I've made a PR a few days ago in your Github. ^^

This revision was not accepted when it landed; it landed in state Needs Review.Jan 11 2018, 6:23 AM
Closed by commit rP458712: New port: x11/polybar (authored by tobik). · Explain Why
This revision was automatically updated to reflect the committed changes.