Packaging Request #1962
[polybar] Add package to pcr
100%
Description
polybar is a nice status bar for i3 window manager
I think it should be added to the repo
Files
History
Updated by ovruni over 5 years ago
- Priority changed from bug to wish
- Subject changed from polybar to [polybar] Add package to pcr
Updated by freemor over 5 years ago
Looks do-able but the:
https://github.com/jaagr/xpp
part has an odd license I've not seen before. Looks fine But I'd prefer to get more experienced eyes on it before I roll this into PCR
Updated by theova almost 5 years ago
- File PKGBUILD PKGBUILD added
- File polybar.install polybar.install added
Licenses and Dependencies¶
Polybar is licensed under the MIT license.
It includes the following submodules:Name | License | FSDG-compliant |
---|---|---|
i3ipcpp++ | MIT (source) | yes |
xpp | custom (source) | yes ? |
The LICENSE of xpp is nearly the MIT license. The difference is, that there are two (many?) license holders mentioned:
Original work Copyright (c) 2018, Jochen Keil Modified work Copyright 2018, Michael Carlberg (jaagr) and contributors
I've just began learning about licenses. Does anybody know, whether this may be a problem? If knowbody knows, I can contact the FSF and investigate further.
Build Dependencie¶
"The following dependencies are only needed during compilation, you can remove them, if you don't need them, after you built polybar."Name | Package | Repo |
---|---|---|
gcc >= 5.1 | gcc | core |
clang >= 3.4 | clang | extra |
git | git | extra |
cmake >= 3.1 | cmake | extra |
sphinx | sphinx | pcr |
Hard Dependencies¶
"These are the hard dependencies, you cannot build or run polybar without them":
Dependency | Package | Repo |
---|---|---|
cairo | cairo | extra |
libxcb | libxcb | extra |
xcb-proto | xcb-proto | extra |
xcb-util-image | xcb-util-image | extra |
xcb-util-wm | xcb-util-wm | extra |
Optional Dependencies¶
"These dependencies enable optional features in polybar, if they are installed during compilation:"Optional Dependency | Required for | Package | Repo |
---|---|---|---|
xcb-xkb | `internal/xkeyboard` | libxcb ? | extra |
xbc-util-xrm | `${xrdb:...}` | xbc-util-xrm | community |
xcb-util-cursor | `cursor-click` <br />`cursor-scroll` | xbc-util-cursor | community |
alsa-lib | `internal/alsa` | alsa-lib | extra |
libpulse | `internal/pulseaudio` | libpulse | extra |
i3-wm | `internal/i3` | i3-wm | community |
jsoncpp | `internal/i3` | jsoncpp | extra |
libmpdclient | `internal/mpd` | libmpdclient | extra |
libcurl | `internal/github` | curl | core |
wireless_tools (deprecated) | `internal/network` | wireless_tools | core |
libnl-genl | `internal/network` | libnl | core |
Altough this dependencies are called optional, they are not threated as this in the PKGBUILD. The reason is:
"[Polybar] current build setup links the shared libraries for the optional dependencies at compile time which makes the whole executable not start, if the libraries it was linked against are missing."
Therefore, I have declared them as (obligatory) dependencies as suggested here.
PKGBUILD¶
Is attached. I was able to build the package for all 3 architectures.
Testing¶
- The example config runs quite well. To run completly correct, one would need to install additional fonts (from AUR), which are not in Parabola yet. We could replace the fonts in the example config. Furthermore, there needs some more configuration to be done.
- My personal config runs without any problems.
- There are som further tests provided. As they need networking connection during the build process, I have not included them in check(). I was able to succesfully run them with makepkg.
Maintenance load of this package¶
The PKGBUILD is quite simple and does not change to much (1-3 releases/year).
One thing which is an additonal load, is that polybar has to be rebuild when jsoncpp is upgraded (see here, this happens 1-4/year).
I am willing to further contribute to this packet with furder rebulding and patches.
Updated by freemor almost 5 years ago
Taking a look now...
With re looking at the xxp license I suspect that it won't interact badly with the GPL as I do not see any abridging of the four freedoms.
You didn't include yourself as a Contributor: How would you like to be listed there
I'll have to read up a bit about changing the op-depends into hard depends tho your reasoning seems sound.
I'll do a test build and see how it goes.
Nice Work.
Updated by theova almost 5 years ago
freemor wrote:
You didn't include yourself as a Contributor: How would you like to be listed there
Oh, yes please include ma as
Contributor: Theova <theova@member.fsf.org>
Updated by theova over 4 years ago
Update: PKGBUILD v3.4.1
In the meantime, the AUR package changed many of the optdepends to normal dependencies.
Updated by eschwartz over 4 years ago
We (the Arch Linux Trusted Users team) intend to move polybar to [community], but cannot/will not until polybar uses a plugin architecture that fixes the problem of optional compile-time dependencies that are hard runtime dependencies. You will notice that https://github.com/polybar/polybar/issues/1406 was submitted by a TU.
I would not consider this worth packaging before that issue is resolved, and after it is resolved it won't make sense to package it in [pcr] since it will be in [community].
Updated by theova almost 2 years ago
- % Done changed from 0 to 100
Polybar was added to community: https://github.com/archlinux/svntogit-community/commit/1d6703dab92a0d89e6f1b0c930d200475a046d95