# Template file for 'polybar'
pkgname=polybar
version=3.2.1
revision=3
_i3ipcpp_version=0.7.1
_xpp_version=1.4.0
build_style=cmake
configure_args="
 -DENABLE_ALSA=$(vopt_if alsa ON OFF)
 -DENABLE_CURL=$(vopt_if curl ON OFF)
 -DENABLE_I3=$(vopt_if i3 ON OFF)
 -DENABLE_MPD=$(vopt_if mpd ON OFF)
 -DENABLE_NETWORK=$(vopt_if network ON OFF)
 -DENABLE_PULSEAUDIO=$(vopt_if pulseaudio ON OFF)
 -DWITH_XRENDER=ON -DWITH_XDAMAGE=ON -DWITH_XSYNC=ON
 -DWITH_XCOMPOSITE=ON"
hostmakedepends="pkg-config xcb-proto"
makedepends="cairo-devel xcb-util-image-devel xcb-util-wm-devel xcb-util-xrm-devel
 zlib-devel xcb-util-renderutil-devel xcb-util-cursor-devel libxcb-devel
 $(vopt_if alsa "alsa-lib-devel")
 $(vopt_if curl "libcurl-devel")
 $(vopt_if i3 "i3-devel jsoncpp-devel")
 $(vopt_if mpd "libmpdclient-devel")
 $(vopt_if network "wireless_tools-devel")
 $(vopt_if pulseaudio "pulseaudio-devel")"
short_desc="A fast and easy-to-use status bar"
maintainer="Michael Carlberg <c@rlberg.se>"
license="MIT"
homepage="https://github.com/jaagr/polybar"
distfiles="
 https://github.com/jaagr/polybar/archive/${version}.tar.gz
 https://github.com/jaagr/xpp/archive/${_xpp_version}.tar.gz
 $(vopt_if i3 https://github.com/jaagr/i3ipcpp/archive/v${_i3ipcpp_version}.tar.gz)"
checksum="604e3e8b4fd8c211df94cdd193f8c760c7c027e6822e5b2f598132decdf3edaf
 b689d1d66a39a79b9db89e620061e910f9e2a49b9b1c06c58323b926ac61a658
 $(vopt_if i3 644d82d0e73b7c653e344ac8852e4d7435d9fb7ea54a160ab81662ab4b3652cf)"

replaces="lemonbuddy>=0"
build_options="alsa curl i3 mpd network pulseaudio"
build_options_default="$build_options"

desc_option_alsa="Enable support for ALSA"
desc_option_curl="Enable support for cURL"
desc_option_i3="Enable support for i3"
desc_option_mpd="Enable support for MPD"
desc_option_network="Enable support for network"
desc_option_pulseaudio="Enable support for PulseAudio"

CXXFLAGS="-Wno-error=deprecated-declarations"

if [ "$build_option_network" ]; then
	case "$XBPS_TARGET_MACHINE" in
		*-musl) CXXFLAGS+=" -D_LINUX_IF_ETHER_H" ;;
	esac
fi

post_extract() {
	if [ -d ../i3ipcpp-${_i3ipcpp_version} ]; then
		mv -f -T ../i3ipcpp-${_i3ipcpp_version} lib/i3ipcpp
	fi
	if [ -d ../xpp-${_xpp_version} ]; then
		mv -f -T ../xpp-${_xpp_version} lib/xpp
	fi

	# Fixes compilation with musl
	sed -i 's|strncpy(header->magic, g_i3_ipc_magic.c_str(),|memcpy(header->magic, g_i3_ipc_magic.c_str(),|g' lib/i3ipcpp/src/ipc-util.cpp
}

post_install() {
	vlicense LICENSE
}
