From 6ce86f867eedba5d9d8e1d24a52778b1f64e5fc3 Mon Sep 17 00:00:00 2001 From: Quinn Unger Date: Wed, 27 May 2026 21:09:04 +0100 Subject: [PATCH] use latest brow6el version --- hosts/yuhata/home/home.nix | 2 +- hosts/yuhata/packages/brow6el.nix | 88 ++++++++++++++++++++----------- 2 files changed, 58 insertions(+), 32 deletions(-) diff --git a/hosts/yuhata/home/home.nix b/hosts/yuhata/home/home.nix index 677de43..ca398c5 100644 --- a/hosts/yuhata/home/home.nix +++ b/hosts/yuhata/home/home.nix @@ -14,7 +14,7 @@ qmk (limo.override { withUnrar = true; }) veadotube - # (pkgs.callPackage ../packages/brow6el.nix { }) + (pkgs.callPackage ../packages/brow6el.nix { }) wl-clipboard ]; programs = { diff --git a/hosts/yuhata/packages/brow6el.nix b/hosts/yuhata/packages/brow6el.nix index 110e56d..1d56703 100644 --- a/hosts/yuhata/packages/brow6el.nix +++ b/hosts/yuhata/packages/brow6el.nix @@ -2,74 +2,100 @@ lib, stdenv, symlinkJoin, + patchelf, fetchgit, cef-binary, libx11, + glibc, + bash, cmake, pkg-config, - auto-patchelf, libsixel, - cairo, - nss, - alsa-lib, - pango, + libz, + zlib, }: stdenv.mkDerivation ( final: let - version = "0.3.4"; + version = "0.3.5"; # "0.3.4"; brow6el = fetchgit { url = "https://codeberg.org/janantos/brow6el"; - rev = "refs/tags/v${version}"; - hash = "sha256-58NlPdTegk+ZXXbNRwN5JdtjmepJoPb0QeZxHz7WNkI="; + rev = "771c650"; # "refs/tags/v${version}"; + hash = "sha256-nJXVtffLZ3UhgmC/1QTO3kMoOZ7/j8gx99c2nKpDOms="; # "sha256-58NlPdTegk+ZXXbNRwN5JdtjmepJoPb0QeZxHz7WNkI="; }; - libcef_dll_wrapper = stdenv.mkDerivation { - version = cef-binary.version; + cef = cef-binary.override { + version = "148.0.9"; + gitRevision = "0d9d52a"; + chromiumVersion = "148.0.7778.180"; + srcHashes = { + aarch64-linux = ""; + x86_64-linux = "sha256-k8TnU9qgVP97WBi/3WvQ/5UKJEH5WktzpEHNJdYY8kw="; + }; + }; + libcef_dll_wrapper = stdenv.mkDerivation (cefFinal: { + version = cefFinal.src.version; pname = "libcef_dll_wrapper"; - src = cef-binary; + src = cef; nativeBuildInputs = [ cmake ]; buildPhase = '' make libcef_dll_wrapper ''; installPhase = '' mkdir -p $out/cef_binary - cp -r ${cef-binary}/. $out/cef_binary + cp -r ${cefFinal.src}/. $out/cef_binary mkdir -p $out/cef_binary/build cp -r ./ $out/cef_binary/build/ ''; - }; + }); + + rpath = "${cef}/Release:${ + lib.makeLibraryPath [ + libx11 + libz + libsixel + glibc + stdenv.cc.cc.lib + ] + }"; + + in + { + pname = "brow6el"; + inherit version; src = symlinkJoin { - name = "brow6el_with_cef"; + name = "brow6el-src-with-libcef"; paths = [ brow6el libcef_dll_wrapper ]; }; - - in - { - pname = "brow6el"; - inherit version src; nativeBuildInputs = [ + patchelf + bash cmake pkg-config + zlib libx11 libsixel ]; - buildInputs = [ - libsixel - cairo - nss - alsa-lib - pango - ]; - cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=ON" ]; - buildPhase = '' - ./build_appimage.sh + postPatch = '' + sed -i 's/^set(CMAKE_CXX_STANDARD 17)$/set(CMAKE_CXX_STANDARD 20)/g' ./CMakeLists.txt ''; installPhase = '' - mkdir -p $out - cp -r ./ $out/ + ls .. + mkdir -p $out/usr/lib/brow6el + cp brow6el $out/usr/lib/brow6el + patchelf --set-rpath "${rpath}" $out/usr/lib/brow6el/brow6el + + cp -r locales $out/usr/lib/brow6el + cp -r scripts $out/usr/lib/brow6el + cp *.pak $out/usr/lib/brow6el 2>/dev/null || true + cp *.bin $out/usr/lib/brow6el 2>/dev/null || true + cp *.dat $out/usr/lib/brow6el 2>/dev/null || true + cp *.js $out/usr/lib/brow6el 2>/dev/null || true + + mkdir -p $out/bin + ln -s $out/usr/lib/brow6el/brow6el $out/bin/brow6el ''; } ) -- 2.54.0