sway, fix screensharing (again)

This commit is contained in:
Tristan 2023-04-28 16:18:39 +01:00
parent 6aa649eb01
commit ec8358fe55
5 changed files with 98 additions and 29 deletions

View file

@ -86,14 +86,15 @@ let
# The feature disable is needed for VAAPI to work correctly: https://github.com/brave/brave-browser/issues/20935
disableFeatures = optional enableVideoAcceleration "UseChromeOSDirectVideoDecoder";
braveChannel = "nightly";
in
stdenv.mkDerivation rec {
pname = "brave-nightly";
pname = "brave-${braveChannel}";
version = "1.52.54";
src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser-nightly_${version}_amd64.deb";
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser-${braveChannel}_${version}_amd64.deb";
sha256 = "sha256-k9Vxk9e9514II78pe0FPRNNXwSHKRqLigqefSOmNVjg=";
};
@ -125,28 +126,28 @@ stdenv.mkDerivation rec {
cp -R usr/share $out
cp -R opt/ $out/opt
export BINARYWRAPPER=$out/opt/brave.com/brave-nightly/brave-browser-nightly
export BINARYWRAPPER=$out/opt/brave.com/brave-${braveChannel}/brave-browser-${braveChannel}
# Fix path to bash in $BINARYWRAPPER
substituteInPlace $BINARYWRAPPER \
--replace /bin/bash ${stdenv.shell}
ln -sf $BINARYWRAPPER $out/bin/brave-nightly
ln -sf $BINARYWRAPPER $out/bin/brave-${braveChannel}
for exe in $out/opt/brave.com/brave-nightly/{brave,chrome_crashpad_handler}; do
for exe in $out/opt/brave.com/brave-${braveChannel}/{brave,chrome_crashpad_handler}; do
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${rpath}" $exe
done
# Fix paths
substituteInPlace $out/share/applications/brave-browser-nightly.desktop \
--replace /usr/bin/brave-browser-nightly $out/bin/brave-nightly
substituteInPlace $out/share/gnome-control-center/default-apps/brave-browser-nightly.xml \
substituteInPlace $out/share/applications/brave-browser-${braveChannel}.desktop \
--replace /usr/bin/brave-browser-${braveChannel} $out/bin/brave-${braveChannel}
substituteInPlace $out/share/gnome-control-center/default-apps/brave-browser-${braveChannel}.xml \
--replace /opt/brave.com $out/opt/brave.com
substituteInPlace $out/share/menu/brave-browser-nightly.menu \
substituteInPlace $out/share/menu/brave-browser-${braveChannel}.menu \
--replace /opt/brave.com $out/opt/brave.com
substituteInPlace $out/opt/brave.com/brave-nightly/default-app-block \
substituteInPlace $out/opt/brave.com/brave-${braveChannel}/default-app-block \
--replace /opt/brave.com $out/opt/brave.com
# Correct icons location
@ -155,12 +156,12 @@ stdenv.mkDerivation rec {
for icon in ''${icon_sizes[*]}
do
mkdir -p $out/share/icons/hicolor/$icon\x$icon/apps
ln -s $out/opt/brave.com/brave-nightly/product_logo_$icon.png $out/share/icons/hicolor/$icon\x$icon/apps/brave-browser-nightly.png
ln -s $out/opt/brave.com/brave-${braveChannel}/product_logo_$icon.png $out/share/icons/hicolor/$icon\x$icon/apps/brave-browser-${braveChannel}.png
done
# Replace xdg-settings and xdg-mime
ln -sf ${xdg-utils}/bin/xdg-settings $out/opt/brave.com/brave-nightly/xdg-settings
ln -sf ${xdg-utils}/bin/xdg-mime $out/opt/brave.com/brave-nightly/xdg-mime
ln -sf ${xdg-utils}/bin/xdg-settings $out/opt/brave.com/brave-${braveChannel}/xdg-settings
ln -sf ${xdg-utils}/bin/xdg-mime $out/opt/brave.com/brave-${braveChannel}/xdg-mime
runHook postInstall
'';
@ -187,7 +188,7 @@ stdenv.mkDerivation rec {
installCheckPhase = ''
# Bypass upstream wrapper which suppresses errors
$out/opt/brave.com/brave-nightly/brave-browser-nightly --version
$out/opt/brave.com/brave-${braveChannel}/brave-browser-${braveChannel} --version
'';
passthru.updateScript = ./update.sh;