Project

General

Profile

Packaging Request #1962

[polybar] Add package to pcr

Anonymous - over 5 years ago - . Updated almost 2 years ago.

Status:
forwarded upstream
Priority:
wish
Assignee:
-
% Done:

100%


Description

polybar is a nice status bar for i3 window manager

I think it should be added to the repo

https://github.com/jaagr/polybar


Files

polybar.install (558 Bytes) polybar.install theova, 2019-05-27 02:31 PM
PKGBUILD (1.16 KB) PKGBUILD theova, 2019-05-27 02:39 PM
PKGBUILD (1.23 KB) PKGBUILD PKGBUILD (v3.4.0) theova, 2019-08-01 11:53 AM
PKGBUILD (1.14 KB) PKGBUILD PKGBUILD v3.4.1-1.par1 theova, 2019-11-03 01:04 PM

History

#1

Updated by ovruni over 5 years ago

  • Priority changed from bug to wish
  • Subject changed from polybar to [polybar] Add package to pcr
#2

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

#3

Updated by theova almost 5 years ago

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.

#4

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.

#5

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>
#6

Updated by theova over 4 years ago

Update PKGBUILD to v3.4.0.

#7

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.

#8

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].

#9

Updated by bill-auger over 4 years ago

  • Status changed from open to forwarded upstream
#10

Updated by theova almost 2 years ago

  • % Done changed from 0 to 100

Also available in: Atom PDF