summaryrefslogtreecommitdiff
path: root/pkgs/mercury-browser/default.nix
blob: 7502c58d082b871d7ce3bfc3faa58bc18068fa18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
{ lib
, stdenv
, fetchurl
, autoPatchelfHook
, dpkg
, wrapGAppsHook
, alsa-lib
, browserpass
, bukubrow
, cairo
, cups
, dbus
, dbus-glib
, ffmpeg
, fontconfig
, freetype
, fx_cast_bridge
, glib
, glibc
, gnome-browser-connector
, gtk3
, harfbuzz
, libcanberra
, libdbusmenu
, libdbusmenu-gtk3
, libglvnd
, libjack2
, libkrb5
, libnotify
, libpulseaudio
, libva
, lyx
, mesa
, nspr
, nss
, opensc
, pango
, pciutils
, pipewire
, plasma5Packages
, sndio
, speechd
, tridactyl-native
, udev
, uget-integrator
, vulkan-loader
, xdg-utils
, xorg
}:

stdenv.mkDerivation rec {
  pname = "mercury-browser";
  version = "115.4.0";

  src = fetchurl {
    url =
      "https://github.com/Alex313031/Mercury/releases/download/v.${version}/mercury-browser_${version}_amd64.deb";
    hash = "sha256-78b2QEgf312TDBIy4lXzYUBtTfdNui3VJBbyDfXqOtc=";
  };

  nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook ];

  buildInputs = [
    stdenv.cc.cc.lib
    alsa-lib
    browserpass
    bukubrow
    cairo
    cups
    dbus
    dbus-glib
    ffmpeg
    fontconfig
    freetype
    fx_cast_bridge
    glib
    glibc
    gnome-browser-connector
    gtk3
    harfbuzz
    libcanberra
    libdbusmenu
    libdbusmenu-gtk3
    libglvnd
    libjack2
    libkrb5
    libnotify
    libpulseaudio
    libva
    lyx
    mesa
    nspr
    nss
    opensc
    pango
    pciutils
    pipewire
    plasma5Packages.plasma-browser-integration
    sndio
    speechd
    tridactyl-native
    udev
    uget-integrator
    vulkan-loader
    xdg-utils
    xorg.libxcb
    xorg.libX11
    xorg.libXcursor
    xorg.libXcomposite
    xorg.libXdamage
    xorg.libXext
    xorg.libXfixes
    xorg.libXi
    xorg.libXrandr
    xorg.libXrender
    xorg.libXtst
    xorg.libXxf86vm
  ];

  installPhase = ''
    runHook preInstall

    mkdir -p $out
    cp -r usr/* $out

    substituteInPlace $out/share/applications/mercury-browser.desktop \
      --replace Exec=mercury-browser Exec=$out/bin/mercury-browser \
      --replace StartupWMClass=mercury StartupWMClass=mercury-default \
      --replace Icon=mercury Icon=$out/share/icons/hicolor/512x512/apps/mercury.png
    addAutoPatchelfSearchPath $out/lib/mercury
    substituteInPlace $out/bin/mercury-browser \
      --replace 'export LD_LIBRARY_PATH' "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${
        lib.makeLibraryPath buildInputs
      }:$out/lib/mercury" \
      --replace /usr $out

    runHook postInstall
  '';

  meta = with lib; {
    description = "Compiler-optimized private Firefox fork";
    homepage = "https://thorium.rocks/mercury";
    maintainers = with lib.maintainers; [ redxtech ];
    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
    license = licenses.mpl20;
    platforms = [ "x86_64-linux" ];
    mainProgram = "mercury-browser";
  };
}
Software created with 💖