summaryrefslogtreecommitdiff
path: root/x11-misc/i3status
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-12-18 11:06:49 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-12-18 11:06:49 +0000
commitab3da91fb6c91a9df52fff8f991570f456fd3c7a (patch)
treee8f3bfa2c6c3d20ec3b9c352c839e23949068b6b /x11-misc/i3status
parent6abbf81ef2f298e3221ff5e67a1f3c5f23958212 (diff)
gentoo resync : 18.12.2020
Diffstat (limited to 'x11-misc/i3status')
-rw-r--r--x11-misc/i3status/Manifest8
-rw-r--r--x11-misc/i3status/files/0001-Extend-battery-handling-on-OpenBSD-351.patch98
-rw-r--r--x11-misc/i3status/files/0002-Fix-headers-meant-for-OpenBSD-but-snuck-in-for-FreeB.patch33
-rw-r--r--x11-misc/i3status/files/0003-conditionally-compile-pulse.c-only-when-using-pulsea.patch56
-rw-r--r--x11-misc/i3status/files/0004-battery-include-sys-sysctl.h-on-OpenBSD.patch26
-rw-r--r--x11-misc/i3status/files/0005-configure-disable-pulse-on-OpenBSD-and-DragonFlyBSD.patch56
-rw-r--r--x11-misc/i3status/files/0006-On-NetBSD-include-sys-socket.h-for-AF_INET-6.patch24
-rw-r--r--x11-misc/i3status/files/0007-make-pulseaudio-an-optional-dependency-follow-best-p.patch119
-rw-r--r--x11-misc/i3status/i3status-2.13-r1.ebuild68
9 files changed, 488 insertions, 0 deletions
diff --git a/x11-misc/i3status/Manifest b/x11-misc/i3status/Manifest
index bfb9ddddec5a..9e6a5ca5dd1f 100644
--- a/x11-misc/i3status/Manifest
+++ b/x11-misc/i3status/Manifest
@@ -1,3 +1,11 @@
+AUX 0001-Extend-battery-handling-on-OpenBSD-351.patch 3319 BLAKE2B 3043b557d6951d74c92bab9f0a7cd92a891bdb79f0d19d2e41fbdaa51e6eeb974cf332ee95a5fb45c018efbbfd21d94ebeb8487e94edb18c2c53d7b798cb6889 SHA512 0dffb7d01def05f5088208b0d5223816ff86a3e6a906ab3222b18aa4a619c73d69552567716761ade292c98f8bcf072c703c7260cf6852a05c57880b57abe654
+AUX 0002-Fix-headers-meant-for-OpenBSD-but-snuck-in-for-FreeB.patch 832 BLAKE2B 07a4cc347b3e4f0e0fa4be059078c76d7638692e3450fe1569c8d5ac76effbf99700926063fc5786907e5a9e40e9253e853f2bd9bedd1ca58aa751e05befec7b SHA512 269c5bcec10f97f8480a33c5daa5f5e07afeab8283a7cb710ff841de0ce9db98097dd5c4b0b61c2bd703708ee41cc1734220bd8adb5fa2a4b1e4dd4063709a0f
+AUX 0003-conditionally-compile-pulse.c-only-when-using-pulsea.patch 1321 BLAKE2B 973221caa851de52afc2ebaa51ea58245ccf4c27b4fc674ffd1ac75913dc2657bfa72a88a2732a521771614058d11ee38867ae756974fdbb64b7485bc02678cc SHA512 f125377bd30dbd90fa489683f5cba963423f8f3e6a88db8f2a68b82c4d59edf0eb4d2b9604f5de46012cd503291bf14e22274d7cd524eb270b15adf9e269c6d5
+AUX 0004-battery-include-sys-sysctl.h-on-OpenBSD.patch 698 BLAKE2B 3fb43ae91f5d8819fc11d330a1e1434a69c5859d44c3d5712d3b7194605739758a05bb0e664648fa39f491d3a369ce3fa995ea9e042b39044b5b58213751023d SHA512 2bb49d2053bf5fe6901502b701f8ff047cf14b79bd632bafd19c48b27099d98825fd9457838e48c7fd82c33e45e36c88d9fbed3e8dac4546d855f8e7a73bd260
+AUX 0005-configure-disable-pulse-on-OpenBSD-and-DragonFlyBSD.patch 1463 BLAKE2B 552f3956d673b841b99a7ffa030d4c6aeb55c46f54b6933787834ce3b9664542eb475505150c807f1c616dd3fbaff523fa43230ed8fdbcd9273aaf1b26e79d98 SHA512 9d59317b178147e84515b5a5008276db5c693f98aa43b84d0abf1ff6c0a08efa576efea072bc99119e71a622e20a4bb64583bc923a225cf8a84928afc734d28a
+AUX 0006-On-NetBSD-include-sys-socket.h-for-AF_INET-6.patch 636 BLAKE2B 0aa1c55badb28a220e949a96227f0ab43e1508754187040853141e90fb2d946af5a74e586f993dd57305babb01cd1a9e474c860242bd61d78816e2ed952fdf40 SHA512 8c3a220c95fa4ef2d270e70fc922933d3ab0b8cf16f49746bb784b43033424f94937ebeea5c4162d52db1e990f3c2662ce23477ffb64597a31a17a13fc368019
+AUX 0007-make-pulseaudio-an-optional-dependency-follow-best-p.patch 3810 BLAKE2B b6e08d130fd4ba4ecd3c851edb01acfbf976f8a8134a5116115330b6ead2ae04c53fafba82ce2b006203221737a494276f82dde5140113fabec70cd0aee6b4a1 SHA512 c89341483ae97d43e58ea66324b0f8691bfe3cf849ebb3dfa4c76d4456c3bc1f2239692f2a3fa3b0cef5980ffa807e9c0c9809b16af2755b7cb71c39869a8e83
DIST i3status-2.13.tar.bz2 201409 BLAKE2B e087d69e2df3ae9348cb55739023b2164dfa3543551d173b138c72e574714069d8397716b95e92c4315aa538ea31b33aa73532d6d0f75bbc38d7db54e1f665bc SHA512 6dadff19e53499d169ba4f491e1f821014b4f92fc3c93d7947c85cbbbdeaba538d02bd8ab98fe266a8f80756a287fd5803ec77a8cd874d50082b5cad309875c2
+EBUILD i3status-2.13-r1.ebuild 1591 BLAKE2B 1a0d3ee2139387cefa4fc3e63ca77e440c4b3ea2fbf1d7aeaff90f82f2f7697da047261ede6b61936867f0e4da00ff585c28796e8223c50357ad2068bfae0225 SHA512 1037bd5785a7e9353bbe8fab6a177e5cb6d062e5a9a4e8533d72582ba2792ba95a395cdadae25881fc3d4549d636c738123794edcac5dbf5cf63c2e0b0571b5b
EBUILD i3status-2.13.ebuild 920 BLAKE2B d8259edb35966d55a19871a8727b744c3a353d76edf243ac25049fa8992477eb599ffafc68e94138f48e82bea036e43efb997729205b55aa77fa10eb8c4a51a4 SHA512 27845022d890ff5fa2feee8978082944dab85043160b1330215458e77366469e36a056fcdd33aa5bb235ae9781b5bbbc6f3cbcc5318831b173e1bd9e53f404bf
MISC metadata.xml 1035 BLAKE2B 0ab04f4037e04d28ccf2e2305775eb7dd15583e3fa6af85f7ad31d442bdf06db20820855297eedd9630b374fdf4a096e8c15ecf994e516a27a28b29fc132ff14 SHA512 7ad11f6cc4e572f43f6cfb6812b04886888f9b71bba7e6c38523713ee6856f36fd82eb525b5d36d97f77e1f96c93d0b6887865fc867531ba5a884f614e577ab5
diff --git a/x11-misc/i3status/files/0001-Extend-battery-handling-on-OpenBSD-351.patch b/x11-misc/i3status/files/0001-Extend-battery-handling-on-OpenBSD-351.patch
new file mode 100644
index 000000000000..32a0358b4211
--- /dev/null
+++ b/x11-misc/i3status/files/0001-Extend-battery-handling-on-OpenBSD-351.patch
@@ -0,0 +1,98 @@
+From 3a51673c05142b99f8db6a0bd9b8e4b806efeb72 Mon Sep 17 00:00:00 2001
+From: Jasper Lievisse Adriaanse <jasper@humppa.nl>
+Date: Mon, 8 Jul 2019 17:53:25 +0200
+Subject: [PATCH 1/7] Extend battery handling on OpenBSD (#351)
+
+If acpibat watts value is not available, try current (for batteries
+that report in amps), then convert to watts.
+
+originally submitted by @jcs
+---
+ src/print_battery_info.c | 47 ++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 45 insertions(+), 2 deletions(-)
+
+diff --git a/src/print_battery_info.c b/src/print_battery_info.c
+index 1c51624..e2a790c 100644
+--- a/src/print_battery_info.c
++++ b/src/print_battery_info.c
+@@ -20,6 +20,8 @@
+ #include <dev/acpica/acpiio.h>
+ #include <sys/sysctl.h>
+ #include <sys/types.h>
++#include <sys/sysctl.h>
++#include <sys/sensors.h>
+ #endif
+
+ #if defined(__DragonFly__)
+@@ -31,6 +33,7 @@
+ #include <sys/fcntl.h>
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
++#include <sys/sensors.h>
+ #endif
+
+ #if defined(__NetBSD__)
+@@ -269,11 +272,16 @@ static bool slurp_battery_info(struct battery_info *batt_info, yajl_gen json_gen
+ #elif defined(__OpenBSD__)
+ /*
+ * We're using apm(4) here, which is the interface to acpi(4) on amd64/i386 and
+- * the generic interface on macppc/sparc64/zaurus, instead of using sysctl(3) and
+- * probing acpi(4) devices.
++ * the generic interface on macppc/sparc64/zaurus. Machines that have ACPI
++ * battery sensors gain some extra information.
+ */
+ struct apm_power_info apm_info;
++ struct sensordev sensordev;
++ struct sensor sensor;
++ size_t sdlen, slen;
+ int apm_fd;
++ int dev, mib[5] = {CTL_HW, HW_SENSORS, 0, 0, 0};
++ int volts = 0;
+
+ apm_fd = open("/dev/apm", O_RDONLY);
+ if (apm_fd < 0) {
+@@ -311,6 +319,41 @@ static bool slurp_battery_info(struct battery_info *batt_info, yajl_gen json_gen
+ if (batt_info->status != CS_CHARGING) {
+ batt_info->seconds_remaining = apm_info.minutes_left * 60;
+ }
++
++ /* If acpibat* are present, check sensors for data not present via APM. */
++ batt_info->present_rate = 0;
++ sdlen = sizeof(sensordev);
++ slen = sizeof(sensor);
++
++ for (dev = 0;; dev++) {
++ mib[2] = dev;
++ if (sysctl(mib, 3, &sensordev, &sdlen, NULL, 0) == -1) {
++ break;
++ }
++ /* 'path' is the node within the full path */
++ if (BEGINS_WITH(sensordev.xname, "acpibat")) {
++ /* power0 */
++ mib[3] = SENSOR_WATTS;
++ mib[4] = 0;
++ if (sysctl(mib, 5, &sensor, &slen, NULL, 0) == -1) {
++ /* try current0 */
++ mib[3] = SENSOR_AMPS;
++ if (sysctl(mib, 5, &sensor, &slen, NULL, 0) == -1)
++ continue;
++ volts = sensor.value;
++
++ /* we also need current voltage to convert amps to watts */
++ mib[3] = SENSOR_VOLTS_DC;
++ mib[4] = 1;
++ if (sysctl(mib, 5, &sensor, &slen, NULL, 0) == -1)
++ continue;
++
++ batt_info->present_rate += (((float)volts / 1000.0) * ((float)sensor.value / 1000.0));
++ } else {
++ batt_info->present_rate += sensor.value;
++ }
++ }
++ }
+ #elif defined(__NetBSD__)
+ /*
+ * Using envsys(4) via sysmon(4).
+--
+2.26.2
+
diff --git a/x11-misc/i3status/files/0002-Fix-headers-meant-for-OpenBSD-but-snuck-in-for-FreeB.patch b/x11-misc/i3status/files/0002-Fix-headers-meant-for-OpenBSD-but-snuck-in-for-FreeB.patch
new file mode 100644
index 000000000000..be9a08e32cc0
--- /dev/null
+++ b/x11-misc/i3status/files/0002-Fix-headers-meant-for-OpenBSD-but-snuck-in-for-FreeB.patch
@@ -0,0 +1,33 @@
+From 70b954b122c1dae1d21593d6a5239d38fde1fd55 Mon Sep 17 00:00:00 2001
+From: Jasper Lievisse Adriaanse <jasper@humppa.nl>
+Date: Mon, 8 Jul 2019 20:14:59 +0200
+Subject: [PATCH 2/7] Fix headers meant for OpenBSD, but snuck in for FreeBSD
+
+---
+ src/print_battery_info.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/print_battery_info.c b/src/print_battery_info.c
+index e2a790c..1768bc5 100644
+--- a/src/print_battery_info.c
++++ b/src/print_battery_info.c
+@@ -20,8 +20,6 @@
+ #include <dev/acpica/acpiio.h>
+ #include <sys/sysctl.h>
+ #include <sys/types.h>
+-#include <sys/sysctl.h>
+-#include <sys/sensors.h>
+ #endif
+
+ #if defined(__DragonFly__)
+@@ -33,6 +31,7 @@
+ #include <sys/fcntl.h>
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
++#include <sys/sysctl.h>
+ #include <sys/sensors.h>
+ #endif
+
+--
+2.26.2
+
diff --git a/x11-misc/i3status/files/0003-conditionally-compile-pulse.c-only-when-using-pulsea.patch b/x11-misc/i3status/files/0003-conditionally-compile-pulse.c-only-when-using-pulsea.patch
new file mode 100644
index 000000000000..a1ac91ff8f21
--- /dev/null
+++ b/x11-misc/i3status/files/0003-conditionally-compile-pulse.c-only-when-using-pulsea.patch
@@ -0,0 +1,56 @@
+From 1999d5cf555c6f373549840d40f8565dcabad93b Mon Sep 17 00:00:00 2001
+From: Michael Stapelberg <michael@stapelberg.de>
+Date: Thu, 11 Jul 2019 15:23:08 +0200
+Subject: [PATCH 3/7] conditionally compile pulse.c only when using pulseaudio
+
+fixes #352
+---
+ Makefile.am | 7 +++++--
+ configure.ac | 3 +++
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index bb251f0..c2c1c0a 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -68,8 +68,11 @@ i3status_SOURCES = \
+ src/print_volume.c \
+ src/print_wireless_info.c \
+ src/print_file_contents.c \
+- src/process_runs.c \
+- src/pulse.c
++ src/process_runs.c
++
++if PULSE
++i3status_SOURCES += src/pulse.c
++endif
+
+ dist_sysconf_DATA = \
+ i3status.conf
+diff --git a/configure.ac b/configure.ac
+index cf9e430..95009ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -80,16 +80,19 @@ AC_CANONICAL_HOST
+ PKG_CHECK_MODULES([CONFUSE], [libconfuse])
+ PKG_CHECK_MODULES([YAJL], [yajl])
+
++pulse=false
+ case $host_os in
+ linux*)
+ PKG_CHECK_MODULES([NLGENL], [libnl-genl-3.0])
+ PKG_CHECK_MODULES([ALSA], [alsa])
+ PKG_CHECK_MODULES([PULSE], [libpulse])
++ pulse=true
+ ;;
+ netbsd*)
+ AC_SEARCH_LIBS([prop_string_create], [prop])
+ ;;
+ esac
++AM_CONDITIONAL([PULSE], [test x$pulse = xtrue])
+
+ dnl TODO: check for libbsd for GNU/kFreeBSD
+
+--
+2.26.2
+
diff --git a/x11-misc/i3status/files/0004-battery-include-sys-sysctl.h-on-OpenBSD.patch b/x11-misc/i3status/files/0004-battery-include-sys-sysctl.h-on-OpenBSD.patch
new file mode 100644
index 000000000000..579c74e7e09c
--- /dev/null
+++ b/x11-misc/i3status/files/0004-battery-include-sys-sysctl.h-on-OpenBSD.patch
@@ -0,0 +1,26 @@
+From 02a47cd19641a04f6cf8d486cbb8882a1819c661 Mon Sep 17 00:00:00 2001
+From: Michael Stapelberg <michael@stapelberg.de>
+Date: Fri, 12 Jul 2019 14:38:43 +0200
+Subject: [PATCH 4/7] battery: include sys/sysctl.h on OpenBSD
+
+This is required so that CTL_HW and others are defined (ran into this on OpenBSD
+6.5).
+---
+ src/print_battery_info.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/print_battery_info.c b/src/print_battery_info.c
+index e2a790c..a36b05f 100644
+--- a/src/print_battery_info.c
++++ b/src/print_battery_info.c
+@@ -34,6 +34,7 @@
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
+ #include <sys/sensors.h>
++#include <sys/sysctl.h>
+ #endif
+
+ #if defined(__NetBSD__)
+--
+2.26.2
+
diff --git a/x11-misc/i3status/files/0005-configure-disable-pulse-on-OpenBSD-and-DragonFlyBSD.patch b/x11-misc/i3status/files/0005-configure-disable-pulse-on-OpenBSD-and-DragonFlyBSD.patch
new file mode 100644
index 000000000000..8ebb296f7ed0
--- /dev/null
+++ b/x11-misc/i3status/files/0005-configure-disable-pulse-on-OpenBSD-and-DragonFlyBSD.patch
@@ -0,0 +1,56 @@
+From 54e798e3a6dcf5747c3e943b376ae441ee0534a4 Mon Sep 17 00:00:00 2001
+From: Michael Stapelberg <michael@stapelberg.de>
+Date: Fri, 12 Jul 2019 14:45:34 +0200
+Subject: [PATCH 5/7] configure: disable pulse on OpenBSD and DragonFlyBSD
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This matches the conditional compilation in the code and is more correct than
+distinguishing linux vs. non-linux (which breaks on Debian’s kFreeBSD and hurd
+variants).
+
+Thanks to sdk for providing an OpenBSD 6.5 environment for verification. This
+has not been tested on DragonFlyBSD.
+
+related to #352
+---
+ configure.ac | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 95009ac..a6c31d7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -80,19 +80,25 @@ AC_CANONICAL_HOST
+ PKG_CHECK_MODULES([CONFUSE], [libconfuse])
+ PKG_CHECK_MODULES([YAJL], [yajl])
+
+-pulse=false
++pulse=true
+ case $host_os in
+ linux*)
+ PKG_CHECK_MODULES([NLGENL], [libnl-genl-3.0])
+ PKG_CHECK_MODULES([ALSA], [alsa])
+- PKG_CHECK_MODULES([PULSE], [libpulse])
+- pulse=true
++ ;;
++ openbsd*)
++ pulse=false
++ ;;
++ dragonfly*)
++ pulse=false
+ ;;
+ netbsd*)
+ AC_SEARCH_LIBS([prop_string_create], [prop])
+ ;;
+ esac
+ AM_CONDITIONAL([PULSE], [test x$pulse = xtrue])
++AS_IF([test x"$pulse" = x"true"],
++ [PKG_CHECK_MODULES([PULSE], [libpulse])])
+
+ dnl TODO: check for libbsd for GNU/kFreeBSD
+
+--
+2.26.2
+
diff --git a/x11-misc/i3status/files/0006-On-NetBSD-include-sys-socket.h-for-AF_INET-6.patch b/x11-misc/i3status/files/0006-On-NetBSD-include-sys-socket.h-for-AF_INET-6.patch
new file mode 100644
index 000000000000..171a1c39cfd2
--- /dev/null
+++ b/x11-misc/i3status/files/0006-On-NetBSD-include-sys-socket.h-for-AF_INET-6.patch
@@ -0,0 +1,24 @@
+From 667e38ababb69b68ddcd3c453bd78f022198559a Mon Sep 17 00:00:00 2001
+From: Thomas Klausner <tk@giga.or.at>
+Date: Sun, 21 Jul 2019 21:17:59 +0200
+Subject: [PATCH 6/7] On NetBSD, include sys/socket.h for AF_INET{,6}.
+
+---
+ src/print_wireless_info.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/print_wireless_info.c b/src/print_wireless_info.c
+index 8b2d210..6215704 100644
+--- a/src/print_wireless_info.c
++++ b/src/print_wireless_info.c
+@@ -61,6 +61,7 @@
+
+ #ifdef __NetBSD__
+ #include <sys/types.h>
++#include <sys/socket.h>
+ #include <net80211/ieee80211.h>
+ #define IW_ESSID_MAX_SIZE IEEE80211_NWID_LEN
+ #endif
+--
+2.26.2
+
diff --git a/x11-misc/i3status/files/0007-make-pulseaudio-an-optional-dependency-follow-best-p.patch b/x11-misc/i3status/files/0007-make-pulseaudio-an-optional-dependency-follow-best-p.patch
new file mode 100644
index 000000000000..e60a1375fec1
--- /dev/null
+++ b/x11-misc/i3status/files/0007-make-pulseaudio-an-optional-dependency-follow-best-p.patch
@@ -0,0 +1,119 @@
+From 23da59920c4c911ee08498eb283b69bdef80fd65 Mon Sep 17 00:00:00 2001
+From: Michael Stapelberg <michael@stapelberg.de>
+Date: Mon, 29 Jul 2019 20:57:48 +0200
+Subject: [PATCH 7/7] make pulseaudio an optional dependency, follow best
+ practices
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+For my thoughts about optional dependencies, see
+https://michael.stapelberg.ch/posts/2019-05-23-optional-dependencies/
+
+This commit follows the best practices outlined in that article:
+
+1. The travis config was modified to verify both code paths build and link/don’t
+ link against pulseaudio.
+
+2. If pulseaudio is missing, the build fails until packagers explicitly pass a
+ --disable flag. In practice, I think the only situation when this flag should
+ be set is in source-based linux distributions where users can express
+ package-level compilation preferences (e.g. Gentoo USE flags).
+
+3. The --version output now reflects the status of the optional dependency.
+
+fixes #359
+---
+ .travis.yml | 5 +++--
+ configure.ac | 25 +++++++++++++++----------
+ i3status.c | 8 +++++++-
+ src/print_volume.c | 2 +-
+ 4 files changed, 26 insertions(+), 14 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index a6c31d7..11caa33 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -80,25 +80,29 @@ AC_CANONICAL_HOST
+ PKG_CHECK_MODULES([CONFUSE], [libconfuse])
+ PKG_CHECK_MODULES([YAJL], [yajl])
+
+-pulse=true
++AC_ARG_ENABLE(pulseaudio,
++ AS_HELP_STRING(
++ [--disable-pulseaudio],
++ [build without pulseaudio support]),
++ [ax_pulse=$enableval],
++ [ax_pulse=yes])
++AM_CONDITIONAL([PULSE], [test x$ax_pulse = xyes])
++AS_IF([test x"$ax_pulse" = x"yes"],
++ [PKG_CHECK_MODULES([PULSE], [libpulse])])
++pulse_def=0
++AS_IF([test x"$ax_pulse" = x"yes"],
++ [pulse_def=1])
++AC_DEFINE_UNQUOTED([HAS_PULSEAUDIO], [$pulse_def], [Build with pulseaudio])
++
+ case $host_os in
+ linux*)
+ PKG_CHECK_MODULES([NLGENL], [libnl-genl-3.0])
+ PKG_CHECK_MODULES([ALSA], [alsa])
+ ;;
+- openbsd*)
+- pulse=false
+- ;;
+- dragonfly*)
+- pulse=false
+- ;;
+ netbsd*)
+ AC_SEARCH_LIBS([prop_string_create], [prop])
+ ;;
+ esac
+-AM_CONDITIONAL([PULSE], [test x$pulse = xtrue])
+-AS_IF([test x"$pulse" = x"true"],
+- [PKG_CHECK_MODULES([PULSE], [libpulse])])
+
+ dnl TODO: check for libbsd for GNU/kFreeBSD
+
+@@ -160,6 +164,7 @@ AS_HELP_STRING([is release version:], [${is_release}])
+ AS_HELP_STRING([enable debug flags:], [${ax_enable_debug}])
+ AS_HELP_STRING([code coverage:], [${CODE_COVERAGE_ENABLED}])
+ AS_HELP_STRING([enabled sanitizers:], [${ax_enabled_sanitizers}])
++AS_HELP_STRING([pulseaudio support:], [${ax_pulse}])
+
+ To compile, run:
+
+diff --git a/i3status.c b/i3status.c
+index 0898da3..1ab8400 100644
+--- a/i3status.c
++++ b/i3status.c
+@@ -565,7 +565,13 @@ int main(int argc, char *argv[]) {
+ return 0;
+ break;
+ case 'v':
+- printf("i3status " VERSION " © 2008 Michael Stapelberg and contributors\n");
++ printf("i3status " VERSION " © 2008 Michael Stapelberg and contributors\n"
++#if HAS_PULSEAUDIO
++ "Built with pulseaudio support\n"
++#else
++ "Built without pulseaudio support\n"
++#endif
++ );
+ return 0;
+ break;
+ case 0:
+diff --git a/src/print_volume.c b/src/print_volume.c
+index 91e8ce2..7364d47 100644
+--- a/src/print_volume.c
++++ b/src/print_volume.c
+@@ -86,7 +86,7 @@ void print_volume(yajl_gen json_gen, char *buffer, const char *fmt, const char *
+ free(instance);
+ }
+
+-#if !defined(__DragonFly__) && !defined(__OpenBSD__)
++#if HAS_PULSEAUDIO
+ /* Try PulseAudio first */
+
+ /* If the device name has the format "pulse[:N]" where N is the
+--
+2.26.2
+
diff --git a/x11-misc/i3status/i3status-2.13-r1.ebuild b/x11-misc/i3status/i3status-2.13-r1.ebuild
new file mode 100644
index 000000000000..9107ec983b70
--- /dev/null
+++ b/x11-misc/i3status/i3status-2.13-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit fcaps autotools
+
+DESCRIPTION="generates a status bar for dzen2, xmobar or similar"
+HOMEPAGE="https://i3wm.org/i3status/"
+SRC_URI="https://i3wm.org/${PN}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="pulseaudio"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+ >=dev-libs/yajl-2.0.2
+ dev-libs/confuse:=
+ dev-libs/libnl:3
+ media-libs/alsa-lib
+ pulseaudio? ( || ( media-sound/pulseaudio media-sound/apulse[sdk] ) )
+"
+
+DEPEND="
+ ${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto
+"
+
+PATCHES=(
+ "${FILESDIR}/0001-Extend-battery-handling-on-OpenBSD-351.patch"
+ "${FILESDIR}/0002-Fix-headers-meant-for-OpenBSD-but-snuck-in-for-FreeB.patch"
+ "${FILESDIR}/0003-conditionally-compile-pulse.c-only-when-using-pulsea.patch"
+ "${FILESDIR}/0004-battery-include-sys-sysctl.h-on-OpenBSD.patch"
+ "${FILESDIR}/0005-configure-disable-pulse-on-OpenBSD-and-DragonFlyBSD.patch"
+ "${FILESDIR}/0006-On-NetBSD-include-sys-socket.h-for-AF_INET-6.patch"
+ "${FILESDIR}/0007-make-pulseaudio-an-optional-dependency-follow-best-p.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable pulseaudio)
+}
+
+src_compile() {
+ pushd "${S}/${CHOST}" || die
+ default
+}
+
+src_install() {
+ pushd "${S}/${CHOST}" || die
+ default
+}
+
+pkg_postinst() {
+ fcaps cap_net_admin usr/bin/${PN}
+
+ elog "${PN} can be used with any of the following programs:"
+ elog " i3bar (x11-wm/i3)"
+ elog " x11-misc/xmobar"
+ elog " x11-misc/dzen"
+ elog "Please refer to manual: man ${PN}"
+}