Change:
Describe the bug This is not really a bug, but neither it's a new package request. AFAIU, we currently have a version of whose source code is not available Recently, the source code has been made available at Although I have not tried to build it with Qt, I managed to get it built with CLI support (which is enough for my needs because I use it as a systemd user service anyway), you can see my take on this here maybe this can be integrated into nixpkgs so other people may benefit from the latest version of the bridge? I'd be happy to help. Thanks! Notify maintainers <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Cc Metadata system: host os: multi-user?: sandbox: version: channels(root): channels(user): nixpkgs: Maintainer information:
That's a great idea but I don't know what's the best strategy for this. Should we wait for protonmail-bridge to upgrade qt to a version we have? Should we do two packages, one cli-only and one with gui? Should we remove the old version of protonmail-bridge and update it to a cli-only version?
Hi! Thanks for your reply. My thoughts are below: I'm afraid that this might take too long: IIRC they are using a version that is too recent and patching and using Qt with NixOS is not trivial. I would definitely need the help of some NixOS Qt expert to get it to build. Others are interested in improving the situation though (). It may be possible to eventually use our own Qt () but it feels like a lot of work. If we were able to build with Qt, that wouldn't be a bad idea, but even giving the option to build cli-only version and then let users do so in, say, an overlay wouldn't be bad (the cli-only build is pretty simple and does not take long), see e.g. the optional Gtk support for the Awesome WM () Considering the above, I would say yes. My view on this is that it would be better to have a working recent version of the bridge, even though limited to CLI only, rather than an outdated one. Another advantage to building it from source is that we can disable the Sentry reports and increase privacy

Discussion:
<del> { stdenv, fetchurl, lib, qtbase, qtmultimedia, qtsvg, qtdeclarative, qttools, qtgraphicaleffects, qtquickcontrols2, full , libsecret, libGL, libpulseaudio, glib, wrapQtAppsHook, mkDerivation }: </del> <ins> { lib, buildGoModule, fetchFromGitHub, pkg-config, libsecret }: </ins> <del> let version = "1.2.3-1"; description = '' An application that runs on your computer in the background and seamlessly encrypts and decrypts your mail as it enters and leaves your computer. To work, gnome-keyring service must be enabled. ''; in mkDerivation { </del> <ins> buildGoModule rec { </ins> pname = "protonmail-bridge"; <del> inherit version; </del> <ins> version = "1.5.0"; </ins> <del> src = fetchurl { url = "https://protonmail.com/download/protonmail-bridge_${version}_amd64.deb"; sha256 = "032ggk9fvd19fbsqkzwzwh0hpyg8gpkrin71di7zsx6ias5innw1"; </del> <ins> src = fetchFromGitHub { owner = "ProtonMail"; repo = "proton-bridge"; rev = "br-${version}"; sha256 = "lHqwKlFwz9iO7LJMGFTGCauw12z/BKnQte2sVoVkOaY="; </ins> }; <del> sourceRoot = "."; </del> <ins> vendorSha256 = "eP+7fqBctX9XLCoHVJDI/qaa5tocgg3F5nfUM6dzNRg="; </ins> <del> unpackCmd = '' ar p "$src" data.tar.xz | tar xJ ''; </del> <ins> nativeBuildInputs = [ pkg-config ]; </ins> <del> installPhase = '' mkdir -p $out/{bin,lib,share} </del> <ins> buildInputs = [ libsecret ]; </ins> <del> cp -r usr/lib/protonmail/bridge/protonmail-bridge $out/lib cp -r usr/share $out ln -s $out/lib/protonmail-bridge $out/bin/protonmail-bridge </del> <ins> buildPhase = '' make BUILD_TIME= build-nogui </ins> ''; <del> postFixup = let rpath = lib.makeLibraryPath [ stdenv.cc.cc.lib qtbase qtquickcontrols2 qtgraphicaleffects qtmultimedia qtsvg qtdeclarative qttools libGL libsecret libpulseaudio glib ]; in '' patchelf  --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)"  --set-rpath "${rpath}"  $out/lib/protonmail-bridge substituteInPlace $out/share/applications/ProtonMail_Bridge.desktop  --replace "/usr/" "$out/"  --replace "Exec=protonmail-bridge" "Exec=$out/bin/protonmail-bridge" </del> <ins> installPhase = '' install -Dm555 Desktop-Bridge $out/bin/protonmail-bridge </ins> ''; <del> buildInputs = [ qtbase qtquickcontrols2 qtmultimedia qtgraphicaleffects qtdeclarative ]; meta = with stdenv.lib; { homepage = "https://www.protonmail.com/bridge"; license = licenses.mit; platforms = [ "x86_64-linux" ]; </del> <ins> meta = with lib; { homepage = "https://github.com/ProtonMail/proton-bridge"; changelog = "https://github.com/ProtonMail/proton-bridge/blob/master/Changelog.md"; downloadPage = "https://github.com/ProtonMail/proton-bridge/releases"; license = licenses.gpl3; </ins> maintainers = with maintainers; [ lightdiscord ]; <ins> description = "Use your ProtonMail account with your local e-mail client"; longDescription = '' An application that runs on your computer in the background and seamlessly encrypts and decrypts your mail as it enters and leaves your computer. </ins> <del> inherit description; </del> <ins> To work, gnome-keyring service must be enabled. ''; </ins> }; }

properties-cpp = callPackage ../development/libraries/properties-cpp { }; <del> protonmail-bridge = libsForQt5.callPackage ../applications/networking/protonmail-bridge { }; </del> <ins> protonmail-bridge = callPackage ../applications/networking/protonmail-bridge { }; </ins> protonvpn-cli = callPackage ../applications/networking/protonvpn-cli { };