mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
x11-misc/xmobar: tweak for alsa-mixer-0.3
Reported-by: Toralf Förster Closes: https://bugs.gentoo.org/727232 Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
This commit is contained in:
26
x11-misc/xmobar/files/xmobar-0.24.3-alsa-mixer-0.3.patch
Normal file
26
x11-misc/xmobar/files/xmobar-0.24.3-alsa-mixer-0.3.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
--- a/src/Plugins/Monitors/Volume.hs
|
||||
+++ b/src/Plugins/Monitors/Volume.hs
|
||||
@@ -122,7 +122,8 @@ formatDb opts dbi = do
|
||||
runVolume :: String -> String -> [String] -> Monitor String
|
||||
runVolume mixerName controlName argv = do
|
||||
opts <- io $ parseOpts argv
|
||||
- (lo, hi, val, db, sw) <- io readMixer
|
||||
+ (lo', hi', val', db, sw) <- io readMixer
|
||||
+ let (lo, hi, val) = (toInteger <$> lo', toInteger <$> hi', toInteger <$> val')
|
||||
p <- liftMonitor $ liftM3 formatVol lo hi val
|
||||
b <- liftMonitor $ liftM3 formatVolBar lo hi val
|
||||
v <- liftMonitor $ liftM3 formatVolVBar lo hi val
|
||||
@@ -164,11 +165,11 @@ runVolume mixerName controlName argv = do
|
||||
|
||||
getDB :: Maybe Volume -> IO (Maybe Integer)
|
||||
getDB Nothing = return Nothing
|
||||
- getDB (Just v) = channel (dB v) 0
|
||||
+ getDB (Just v) = fmap toInteger <$> channel (dB v) 0
|
||||
|
||||
getVal :: Maybe Volume -> IO (Maybe Integer)
|
||||
getVal Nothing = return Nothing
|
||||
- getVal (Just v) = channel (value v) 0
|
||||
+ getVal (Just v) = fmap toInteger <$> channel (value v) 0
|
||||
|
||||
getSw :: Maybe Switch -> IO (Maybe Bool)
|
||||
getSw Nothing = return Nothing
|
||||
100
x11-misc/xmobar/xmobar-0.24.3-r1.ebuild
Normal file
100
x11-misc/xmobar/xmobar-0.24.3-r1.ebuild
Normal file
@@ -0,0 +1,100 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# ebuild generated by hackport 0.5.9999
|
||||
#hackport: flags: -all_extensions,+with_threaded,+with_utf8,with_iwlib:wifi,with_alsa:alsa,with_xft:xft,with_datezone:timezone,with_dbus:dbus,with_mpd:mpd,with_inotify:inotify,with_mpris:mpris,with_xpm:xpm
|
||||
|
||||
CABAL_FEATURES="bin"
|
||||
inherit haskell-cabal
|
||||
|
||||
DESCRIPTION="A Minimalistic Text Based Status Bar"
|
||||
HOMEPAGE="https://xmobar.org"
|
||||
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="alsa dbus inotify mpd mpris timezone wifi conduit uvmeter xft xpm"
|
||||
|
||||
RDEPEND=">=dev-haskell/http-4000.2.4:=
|
||||
>=dev-haskell/mtl-2.1:= <dev-haskell/mtl-2.3:=
|
||||
dev-haskell/old-locale:=
|
||||
>=dev-haskell/parsec-3.1:= <dev-haskell/parsec-3.2:=
|
||||
dev-haskell/regex-compat:=
|
||||
>=dev-haskell/stm-2.3:= <dev-haskell/stm-2.5:=
|
||||
>=dev-haskell/utf8-string-0.3:= <dev-haskell/utf8-string-1.1:=
|
||||
>=dev-haskell/x11-1.6.1:=
|
||||
>=dev-lang/ghc-7.8.2:=
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
alsa? ( >=dev-haskell/alsa-core-0.5:= <dev-haskell/alsa-core-0.6:=
|
||||
>=dev-haskell/alsa-mixer-0.3:= )
|
||||
dbus? ( >=dev-haskell/dbus-0.10:= )
|
||||
inotify? ( >=dev-haskell/hinotify-0.3:= <dev-haskell/hinotify-0.4:= )
|
||||
mpd? ( >=dev-haskell/libmpd-0.9:= <dev-haskell/libmpd-0.10:= )
|
||||
mpris? ( >=dev-haskell/dbus-0.10:= )
|
||||
timezone? ( >=dev-haskell/timezone-olson-0.1:= <dev-haskell/timezone-olson-0.2:=
|
||||
>=dev-haskell/timezone-series-0.1:= <dev-haskell/timezone-series-0.2:= )
|
||||
wifi? ( net-wireless/wireless-tools )
|
||||
conduit? ( dev-haskell/http-conduit:=
|
||||
dev-haskell/http-types:= )
|
||||
xft? ( >=dev-haskell/x11-xft-0.2:= <dev-haskell/x11-xft-0.4:= )
|
||||
xpm? ( x11-libs/libXpm )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-haskell/cabal-1.18.1.3
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-noxpm.patch
|
||||
"${FILESDIR}"/${P}-alsa-mixer-0.3.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
# xmobar is an idle multithreaded program
|
||||
# which sits in 'while { sleep(1); }'
|
||||
# loops in multiple threads.
|
||||
# It has a pathological behaviour in GHC:
|
||||
# everything program does is thread context switch
|
||||
# 100 times per second. It's easily seen with
|
||||
#
|
||||
# $ strace -f -p `pidof xmobar`
|
||||
#
|
||||
# where rt_sigreturn() manages to enter/exit
|
||||
# kernel 32 times in each second to do nothing
|
||||
# This workaround allows shrinkng wakeups/thread
|
||||
# switches down to one per second (internal xmobar's
|
||||
# cycle).
|
||||
# Be careful when remove it :]
|
||||
HCFLAGS+=" -with-rtsopts=-V0"
|
||||
|
||||
cabal_chdeps \
|
||||
'stm >= 2.3 && < 2.5' 'stm >= 2.3'
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
haskell-cabal_src_configure \
|
||||
--flag=-all_extensions \
|
||||
$(cabal_flag alsa with_alsa) \
|
||||
$(cabal_flag conduit with_conduit) \
|
||||
$(cabal_flag timezone with_datezone) \
|
||||
$(cabal_flag dbus with_dbus) \
|
||||
$(cabal_flag inotify with_inotify) \
|
||||
$(cabal_flag wifi with_iwlib) \
|
||||
$(cabal_flag mpd with_mpd) \
|
||||
$(cabal_flag mpris with_mpris) \
|
||||
--flag=with_threaded \
|
||||
--flag=with_utf8 \
|
||||
$(cabal_flag uvmeter with_uvmeter) \
|
||||
$(cabal_flag xft with_xft) \
|
||||
$(cabal_flag xpm with_xpm)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cabal_src_install
|
||||
|
||||
dodoc samples/xmobar.config readme.md news.md
|
||||
}
|
||||
Reference in New Issue
Block a user