linux-wallpaperengine: 0-unstable-2024-11-08 -> 0-unstable-2025-05-17

This commit is contained in:
emaryn 2025-07-12 06:14:50 +08:00
parent db3df9f919
commit 0e1c45ba20

View File

@ -2,102 +2,119 @@
lib, lib,
stdenv, stdenv,
fetchFromGitHub, fetchFromGitHub,
autoPatchelfHook,
cmake, cmake,
file,
pkg-config,
python3,
SDL2,
SDL2_mixer,
cef-binary,
egl-wayland,
ffmpeg, ffmpeg,
libglut, fftw,
glew, glew,
glfw, glfw,
glm, glm,
libpulseaudio, kissfftFloat,
libXau, libXau,
libXdmcp, libXdmcp,
libXpm, libXpm,
libXrandr, libXrandr,
libXxf86vm, libXxf86vm,
libdecor,
libffi,
libglut,
libpng,
libpulseaudio,
lz4, lz4,
mpv, mpv,
pkg-config,
SDL2,
SDL2_mixer,
zlib,
wayland, wayland,
wayland-protocols, wayland-protocols,
egl-wayland,
libffi,
wayland-scanner, wayland-scanner,
cef-binary, zlib,
libdecor,
autoPatchelfHook,
}: }:
let let
cef = cef-binary.overrideAttrs (oldAttrs: { cef = cef-binary.overrideAttrs (oldAttrs: {
version = "120.1.10"; version = "135.0.17"; # follow upstream. https://github.com/Almamu/linux-wallpaperengine/blob/be0fc25e72203310f268221a132c5d765874b02c/CMakeLists.txt#L47
__intentionallyOverridingVersion = true; # `cef-binary` uses the overridden `srcHash` values in its source FOD __intentionallyOverridingVersion = true; # `cef-binary` uses the overridden `srcHash` values in its source FOD
gitRevision = "3ce3184"; gitRevision = "cbc1c5b";
chromiumVersion = "120.0.6099.129"; chromiumVersion = "135.0.7049.52";
srcHash = srcHash =
{ {
aarch64-linux = "sha256-l0PSW4ZeLhfEauf1bez1GoLfu9cwXZzEocDlGI9yFsQ="; aarch64-linux = "sha256-LK5JvtcmuwCavK7LnWmMF2UDpM5iIZOmsuZS/t9koDs=";
x86_64-linux = "sha256-OdIVEy77tiYRfDWXgyceSstFqCNeZHswzkpw06LSnP0="; x86_64-linux = "sha256-JKwZgOYr57GuosM31r1Lx3DczYs35HxtuUs5fxPsTcY=";
} }
.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"); .${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
}); });
in in
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "linux-wallpaperengine"; pname = "linux-wallpaperengine";
version = "0-unstable-2024-11-08"; version = "0-unstable-2025-05-17";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Almamu"; owner = "Almamu";
repo = "linux-wallpaperengine"; repo = "linux-wallpaperengine";
rev = "4a063d0b84d331a0086b3f4605358ee177328d41"; rev = "be0fc25e72203310f268221a132c5d765874b02c";
hash = "sha256-IRTGFxHPRRRSg0J07pq8fpo1XbMT4aZC+wMVimZlH/Y="; fetchSubmodules = true;
hash = "sha256-Wkxt6c5aSMJnQPx/n8MeNKLQ8YmdFilzhJ1wQooKprI=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
cmake
pkg-config
autoPatchelfHook autoPatchelfHook
cmake
file
pkg-config
python3
]; ];
buildInputs = [ buildInputs = [
libdecor SDL2
SDL2_mixer
egl-wayland
ffmpeg ffmpeg
libglut fftw
glew glew
glfw glfw
glm glm
libpulseaudio kissfftFloat
libXau libXau
SDL2_mixer
libXdmcp libXdmcp
libXpm libXpm
libXrandr
libXxf86vm libXxf86vm
mpv libdecor
libffi
libglut
libpng
libpulseaudio
lz4 lz4
SDL2 mpv
zlib
wayland wayland
wayland-protocols wayland-protocols
egl-wayland
libffi
wayland-scanner wayland-scanner
libXrandr zlib
]; ];
cmakeFlags = [ cmakeFlags = [
"-DCMAKE_BUILD_TYPE=${cef.buildType}" "-DCMAKE_BUILD_TYPE=${cef.buildType}"
"-DCEF_ROOT=${cef}" "-DCEF_ROOT=${cef}"
"-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/app/linux-wallpaperengine" "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/share/linux-wallpaperengine"
]; ];
preFixup = '' postInstall = ''
patchelf --set-rpath "${lib.makeLibraryPath buildInputs}:${cef}" $out/app/linux-wallpaperengine/linux-wallpaperengine rm -rf $out/bin $out/lib $out/include
chmod 755 $out/app/linux-wallpaperengine/linux-wallpaperengine chmod 755 $out/share/linux-wallpaperengine/linux-wallpaperengine
mkdir $out/bin mkdir $out/bin
ln -s $out/app/linux-wallpaperengine/linux-wallpaperengine $out/bin/linux-wallpaperengine ln -s $out/share/linux-wallpaperengine/linux-wallpaperengine $out/bin/linux-wallpaperengine
'';
preFixup = ''
find $out/share/linux-wallpaperengine -type f -exec file {} \; | grep 'ELF' | cut -d: -f1 | while read -r elf_file; do
patchelf --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" "$elf_file"
done
''; '';
meta = { meta = {
@ -112,4 +129,4 @@ stdenv.mkDerivation rec {
]; ];
hydraPlatforms = [ "x86_64-linux" ]; # Hydra "aarch64-linux" fails with "Output limit exceeded" hydraPlatforms = [ "x86_64-linux" ]; # Hydra "aarch64-linux" fails with "Output limit exceeded"
}; };
} })