1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 pkg-config,
7 gtk3,
8 gtkmm3,
9 curl,
10 gumbo, # litehtml dependency
11}:
12
13stdenv.mkDerivation {
14 pname = "litebrowser";
15 version = "0-unstable-2024-02-25";
16
17 src = fetchFromGitHub {
18 owner = "litehtml";
19 repo = "litebrowser-linux";
20 rev = "8130cf50af90e07d201d43b934b5a57f7ed4e68d";
21 hash = "sha256-L/pd4VypDfjLKfh+HLpc4um+POWGzGa4OOttudwJxyk=";
22 fetchSubmodules = true; # litehtml submodule
23 };
24
25 nativeBuildInputs = [
26 cmake
27 pkg-config
28 ];
29
30 buildInputs = [
31 gtk3
32 gtkmm3
33 curl
34 gumbo
35 ];
36
37 cmakeFlags = [
38 "-DEXTERNAL_GUMBO=ON"
39 ];
40
41 installPhase = ''
42 runHook preInstall
43 install -Dm755 litebrowser $out/bin/litebrowser
44 runHook postInstall
45 '';
46
47 meta = with lib; {
48 broken = stdenv.cc.isClang; # https://github.com/litehtml/litebrowser-linux/issues/19
49 description = "Simple browser based on the litehtml engine";
50 mainProgram = "litebrowser";
51 homepage = "https://github.com/litehtml/litebrowser-linux";
52 license = licenses.bsd3;
53 platforms = platforms.unix;
54 maintainers = with maintainers; [ fgaz ];
55 };
56}