Enhance flow-browser-bin package: add mesa dependency, improve libvips symlink handling, and stabilize launcher name in desktop entry.
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-25.05.tar.gz, chiasson) (push) Successful in 1m54s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz, chiasson) (push) Successful in 1m49s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, chiasson) (push) Successful in 1m46s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-25.05.tar.gz, chiasson) (push) Successful in 1m54s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz, chiasson) (push) Successful in 1m49s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, chiasson) (push) Successful in 1m46s
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
, fetchurl
|
, fetchurl
|
||||||
, runCommand
|
, runCommand
|
||||||
, stdenv
|
, stdenv
|
||||||
|
, mesa
|
||||||
, vips
|
, vips
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -18,8 +19,17 @@ let
|
|||||||
mkdir -p $out/lib
|
mkdir -p $out/lib
|
||||||
# Link to the SONAME symlinks provided by nixpkgs, so we don't hardcode the
|
# Link to the SONAME symlinks provided by nixpkgs, so we don't hardcode the
|
||||||
# 42.x.y patchlevel.
|
# 42.x.y patchlevel.
|
||||||
ln -s ${vips.out}/lib/libvips-cpp.so.42 $out/lib/libvips-cpp.so.${vips.version}
|
ln -sf ${vips.out}/lib/libvips-cpp.so.42 $out/lib/libvips-cpp.so.8
|
||||||
ln -s ${vips.out}/lib/libvips.so.42 $out/lib/libvips.so.${vips.version}
|
ln -sf ${vips.out}/lib/libvips.so.42 $out/lib/libvips.so.8
|
||||||
|
|
||||||
|
# `sharp` wants an exact libvips filename including patchlevel (observed in
|
||||||
|
# Flow 0.8.6: libvips-cpp.so.8.17.3). Provide a small compatibility set:
|
||||||
|
# - the version bundled with Flow (`8.17.3`)
|
||||||
|
# - the current nixpkgs vips.version (helps when they match)
|
||||||
|
for v in 8.17.3 ${vips.version}; do
|
||||||
|
ln -sf ${vips.out}/lib/libvips-cpp.so.42 $out/lib/libvips-cpp.so.$v
|
||||||
|
ln -sf ${vips.out}/lib/libvips.so.42 $out/lib/libvips.so.$v
|
||||||
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
src =
|
src =
|
||||||
@@ -43,12 +53,19 @@ in
|
|||||||
appimageTools.wrapType2 {
|
appimageTools.wrapType2 {
|
||||||
inherit pname version src;
|
inherit pname version src;
|
||||||
|
|
||||||
extraPkgs = pkgs: [ vipsSharpCompat ];
|
extraPkgs = _pkgs: [
|
||||||
|
vipsSharpCompat
|
||||||
|
mesa
|
||||||
|
];
|
||||||
|
|
||||||
# Ensure `sharp` can find libvips in the bubblewrapped FHS env.
|
# Ensure `sharp` can find libvips in the bubblewrapped FHS env.
|
||||||
# (Relying on /usr/lib64 + ld.so cache can be flaky depending on the env.)
|
# (Relying on /usr/lib64 + ld.so cache can be flaky depending on the env.)
|
||||||
profile = ''
|
profile = ''
|
||||||
export LD_LIBRARY_PATH="${vipsSharpCompat}/lib''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
|
export LD_LIBRARY_PATH="${vipsSharpCompat}/lib''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
|
||||||
|
|
||||||
|
# Help Electron/ANGLE find GL/EGL drivers inside the FHS env.
|
||||||
|
export LIBGL_DRIVERS_PATH="${mesa}/lib/dri"
|
||||||
|
export __EGL_VENDOR_LIBRARY_DIRS="${mesa}/share/glvnd/egl_vendor.d''${__EGL_VENDOR_LIBRARY_DIRS:+:}$__EGL_VENDOR_LIBRARY_DIRS"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
extraInstallCommands = ''
|
extraInstallCommands = ''
|
||||||
@@ -59,6 +76,13 @@ appimageTools.wrapType2 {
|
|||||||
substituteInPlace $out/share/applications/flow-browser.desktop \
|
substituteInPlace $out/share/applications/flow-browser.desktop \
|
||||||
--replace-fail 'Exec=AppRun' 'Exec=${pname}'
|
--replace-fail 'Exec=AppRun' 'Exec=${pname}'
|
||||||
|
|
||||||
|
# Keep the launcher name stable (avoid showing version suffixes in menus).
|
||||||
|
if grep -q '^Name=' $out/share/applications/flow-browser.desktop; then
|
||||||
|
sed -i 's/^Name=.*/Name=Flow/' $out/share/applications/flow-browser.desktop
|
||||||
|
else
|
||||||
|
echo 'Name=Flow' >> $out/share/applications/flow-browser.desktop
|
||||||
|
fi
|
||||||
|
|
||||||
# Icon
|
# Icon
|
||||||
install -D -m 444 ${appimageContents}/usr/share/icons/hicolor/512x512/apps/Flow.png \
|
install -D -m 444 ${appimageContents}/usr/share/icons/hicolor/512x512/apps/Flow.png \
|
||||||
$out/share/icons/hicolor/512x512/apps/flow-browser.png
|
$out/share/icons/hicolor/512x512/apps/flow-browser.png
|
||||||
|
|||||||
Reference in New Issue
Block a user